Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Моделирование предметной области «Движение библиотечного фонда» с помощью UML

Содержание:

ВВЕДЕНИЕ

Библиотека является естественных продуктом развития общества, определяемым социально-экономическими условиями и научно-техническим уровнем. Анализ развития от традиционных библиотек к новейшим современным библиотекам показывает, что существование и развитие библиотек зависят от: потребностей уровня развития общества, уровня развития производительных сил, развития науки и техники, изменения формы носителей знания, обновления содержания знаний, а также средств и скорости передачи знаний. Развитие современных библиотек в большой степени зависит от научно-технического прогресса. Новая техническая революция обязательно придает библиотеке новую реформу. Поэтому основными признаками современных библиотек являются: наличие информационных функций, использование современных средств автоматизации, научное управление и квалификация работников. В Данной работе мы будем использовать современных средств для автоматизации в библиотеке.

Целью данной работы является моделирование предметной области «движение библиотечного фонда»

Структура работы состоит из введения, основной части, заключения и списка литературы.

Теоретической и методологической базой данной работы послужили труды российских и зарубежных авторов в области информационных технологий, материалы периодических изданий и сети Интернет.

ГЛАВА 1 АНАЛИЗ ПОСТАВЛЕННОЙ ЗАДАЧИ

1.1 Определение основного направления

При планировании работ по автоматизации модернизация традиционных методов и повышения качества работы с документами и информацией ставится на первое место. Нужно реализовать следующие принципы:

а. Работа должна иметь прикладной характер. При создании системы автоматизации библиотеки на основе системного анализа, составления стандартов и согласования нормы работ традиционные методы работы усовершенствуются при помощи ЭВМ. Поэтому при составлении планов подчеркивается интеграция системы, обращается внимание на объединение всех подсистем, подчеркивается необходимость подготовки документов в системе таким образом, чтобы она имела прикладной характер.

б. Использовать современный опыт, чтобы расширить возможности системы, как, например, использовать формат МАРС, использовать систему штрихового кода, световой карандаш и т.д., чтобы система была максимально приспособлена к существующей обстановке.

в. Учитывая дальнейшее развитие системы со стороны нашей библиотеки, при выборе оборудования необходимо учитывать дальнейшее обновление и расширение. Этому наиболее соответствует машина "HP". Интегрированность системы нашей библиотеки является локальной, нужно учитывать необходимость связи ее с другими районами и государственными системами, чтобы работать в сетях ЭВМ, и максимально использовать возможности этих систем. Поэтому программы и формы данных должны использовать государственный стандарт, чтобы достигать этой цели.

1.2 Порядок создания автоматизированной библиотечной системы

Задачи автоматизации:

Автоматизация является задачей системотехники. На основе тщательного анализа и исследования необходимо составить наиболее реализуемый вариант. Конкретный порядок работ таков:

а. Анализ возможностей

По конкретным условиям надо провести анализ возможностей, для чего сначала нужно учесть наличие необходимых условий и обстановки для создания системы автоматизации работы библиотеки на основе ЭВМ. Работники группы анализа обобщают успешные и неудачные иностранные опыты, учитывая практические условия библиотеки. Они рассчитывают наличие необходимых условий и обстановки для создания системы автоматизации. При этом ЭВМ является необходимым материальным средством. Выбор типа ЭВМ является одним из важных условий для дальнейшего успешного развития работ. Если выбор типа машин неправилен, это будет влиять на работу и принесет большой расход. Был такой пример. После анализа и исследований, а также после соответствующих повторных измерений и расчетов, мы решили покупать ЭВМ типа HP 3000/925 L X. Практика показывает, что эта машина соответствует поставленным задачам.

б. Определение цели, масштаба и функций системы автоматизации,т.е. какую систему надо создать. Необходимо изучать саму систему и оценить настоящую традиционную систему, уяснить имеющиеся возможности, чтобы поставить оптимальные условия для использования ЭВМ; затем составить вариант. Интегрированная система в целом состоит из четырех подсистем: комплектования фонда, каталогизации, абонемента и работы с сериальными изданиями. На основе анализа и доказательства возможности для создания всех подсистем, анализа необходимых условий и процессов и на основе обсуждения и утверждения ученого совета библиотеки проводится проектирование системы. Директор библиотеки по общему варианту, по функциям всех подсистем разрабатывает техническое задание (ТЗ).

в. Претворение мероприятия в жизнь, создание автоматизированной системы:

Работу следует начать с создания подсистемы каталогизации.

Создание базы данных для каталога имеет следующие преимущества:

  • эта база данных обладает функцией главного запоминающего устройства, т.к. библиографические данные являются достаточно
  • полными, база данных может использоваться многоаспектно, в т.ч.
  • и как система поиска информации для читателей;
  • реализуется принцип одноразового ввода при многоразовом использовании. Директор библиотеки дает отделу библиографов задание на создание базы данных каталога. Директор библиотеки и заведующий отделом библиографов подписывают соглашения. Одна сторона (директор библиотеки) и другая сторона (ответственные за задание) совместно по возможным показателям составляют соглашение. Ответственные за задание должны своевременно выполнить задачу по качеству и по количеству.

г. Процессы создания подсистемы каталога: данная система включает базы данных для книг на иностранных языках. Вначале создается база данных для книг на иностранных языках: - содержание базы данных: все иностранные книги, изданные после 1970 года. Такое положение в основном может удовлетворить потребности читателей; база данных создается своими силами, но не исключается использование данных извне. Это является предпосылкой для работ в сети и совместного использования документов; для ввода данных нужно снабжать работников каталогизации иностранными книгами.

МЕТОД РЕШЕНИЯ

Решения постановленной задачи.

Для решения постановленной задачи мы будем сначала проектировать базу данных которые будет хранить информации о читателей и о книге о также о зале. После этого проектирование с помощью унифицированного языка моделирования Unified Modeling Language UML[1]., его реализации

ГЛАВА 2 Практические аспекты модернизации предметной области

2.1 Проектирование базы данных

База данных предназначена для хранения данных о приобретенных библиотекой изданиях (монографиях, справочниках, сборниках статей и т.п.), информации о местонахождении отдельных экземпляров (переплетов) каждого издания и сведений о читателях.

Д27

Дейт К. Руководство по реляционной СУБД DB2 / Пер. с англ. и предисл. М.Р.Когаловского. – М.: Финансы и статистика, 1988. – 320 с.: ил.

ISBN 5-279-00063-9

Книга американского специалиста в области реляционных баз данных К.Дейта, автора популярной в СССР монографии "Введение в системы баз данных" (М.: Наука, 1981), представляет собой руководство по перспективной СУБД фирмы ИБМ DB2, сочетающей возможности широко известной системы IMS/VS и реляционной СУБД.
Для специалистов по программному обеспечению информационных систем и студентов вузов.

ББК 32.973

Рис. .1. Макет аннотированной каталожной карточки

Для ведения библиотечных каталогов, организации поиска требуемых изданий и библиотечной статистики в базе должны храниться сведения, большая часть которых размещаются в аннотированных каталожных карточках (рис. 1). Анализ запросов на литературу (как читателями, так и сотрудниками библиотек) показывает, что для поиска подходящих изданий (по тематике, автору, художнику, издательству и т.п.) и отбора нужного (например, по аннотации) следует выделить следующие атрибуты каталожной карточки:

1. Автор (фамилия и имена (инициалы) или псевдоним каждого автора издания).

2. Название (заглавие) издания.

3. Номер тома (части, книги, выпуска).

4. Вид издания (сборник, справочник, монография, ...).

5. Составитель (фамилия и имена (инициалы) каждого из составителе издания).

6. Язык, с которого выполнен перевод издания.

7. Переводчик (фамилия и инициалы каждого переводчика).

8. Под чей редакцией (фамилия и имена (инициалы) каждого из титульных редакторов).

9. Художник (фамилия и имена (инициалы) каждого художника-иллюстратора) - для художественных изданий, иллюстрируемых оригинальными рисунками.

10. Повторность издания (второе, одиннадцатое и т.п.).

11. Характер переиздания (исправленное, дополненное, переработанное, стереотипное и т.п.).

12. Место издания (город).

13. Издательство (название издательства).

14. Год выпуска издания.

15. Издательская аннотация или реферат.

16. Библиотечный шифр (например, ББК 32.973).

17. Авторский знак (например, Д27).

Библиотечный шифр и авторский знак используются при составлении каталогов и организации расстановки изданий на полках: по содержанию (в соответствии с библиотечным шифром) и алфавиту (в соответствии с авторским знаком).

Библиотечно-библиографическая классификация (ББК) распределяет издания по отраслям знания в соответствии с их содержанием. В ней используется цифро-буквенные индексы ступенчатой структуры.

Каждый из девяти классов (1. Марксизм-ленинизм; 2. Естественные науки; 3. Техника. Технические науки; 4. Сельское и лесное хозяйство; 5. Здравоохранение; 6/8. Общественные и гуманитарные науки; 9. Библиографические пособия. Справочные издания. Журналы.) делится на подклассы и следующие ступени деления:

3. Техника. Технические науки.
   32 Радиоэлектроника.
      32.97 Вычислительная техника.
         32.973 Электронные вычислительные машины и устройства.
            32.973.2 Электронно вычислительные машины и устройства дискретного действия.

Шифр ББК используется при выделении хранимым изданиям определенных комнат, стеллажей и полок, а также для составления каталогов и статистических отчетов.

Авторский знак, состоящий из первой буквы фамилии (псевдонима) автора или названия издания (для изданий без автора) и числа, соответствующего слогу, наиболее приближающегося по написанию к первым буквам фамилии (названия), упрощает расстановку книг на полках в алфавитном порядке.

К объектам и атрибутам, позволяющим охарактеризовать отдельные экземпляры изданий (переплеты), места их хранения и читателей, можно отнести:

18. Номер комнаты (помещения для хранения переплетов).

19. Номер стеллажа в комнате.

20. Номер полки на стеллаже.

21. Номер (инвентарный номер) переплета.

22. Дата приобретения конкретного переплета.

23. Цена конкретного переплета.

24. Дата размещения конкретного переплета на конкретном месте.

25. Дата изъятия переплета с установленного места.

26. Номер читательского билета (формуляра).

27. Фамилия читателя.

28. Имя читателя.

29. Отчество читателя.

30. Адрес читателя.

31. Телефон читателя.

32. Дата выдачи читателю конкретного переплета.

33. Срок, на который конкретный переплет выдан читателю.

34. Дата возврата переплета.

2.2 Построение инфологической модели

Анализ определенных выше объектов и атрибутов позволяет выделить сущности проектируемой базы данных и, приняв решение о создании реляционной базы данных, построить ее инфологическую модель на языке "Таблицы-связи".

К стержневым сущностям можно отнести:

  1. Создатели(Код_создателя,Создатель).

    Эта сущность отводится для хранения сведений об основных людях, принимавших участие в подготовке рукописи издания (авторах, составителях, титульных редакторах, переводчиках и художниках). Такое объединение допустимо, так как данные о разных создателях выбираются из одного домена (фамилия и имена) и исключает дублирование данных (один и тот же человек может играть разные роли в подготовке разных изданий). Например, С.Я.Маршак писал стихи (Сказка о глупом мышонке) и пьесы (Двенадцать месяцев), переводил Дж.Байрона, Р.Бернса, Г.Гейне и составлял сборники стихов.

Так как фамилия и имена (инициалы) создателя могут быть достаточно громоздкими (М.Е. Салтыков-Щедрин, Франсуа Рене де Шатобриан, Остен Жюль Жан-Батист Ипполит и т.п.) и будут многократно встречаться в разных изданиях, то их целесообразно нумеровать и ссылаться на эти номера. Для этого вводится целочисленный атрибут "Код_создателя", который будет автоматически наращиваться на единицу при вводе в базу данных нового автора, переводчика или другого создателя.

Аналогично создаются: Код_издательства, Код_заглавия, Вид_ издания, Код_характера, Код_языка, Номер_билета, Номер_пере- плета, Код_места и Код_издания, замещающие от одного до девяти атрибутов.

  1. Издательства (Код_издательства, Название, Город).
  2. Заглавия(Код_заглавия,Заглавие).

Выделение этой сущности позволит сократить объем данных и снизить вероятность возникновения противоречивости (исключается необходимость ввода длинных текстовых названий для различных томов собраний сочинений, повторных изданий, учебников и т.п.).

  1. Вид_издания (Вид_издания, Название_вида).
  2. Характеры (Код_характера, Характер_переиздания).
  3. Языки (Код_языка, Язык, Сокращение).

    Кроме названия языка хранится его общепринятое сокращение (англ., исп., нем., фр.), если оно существует.
  4. Места (Код_места, Номер_комнаты, Номер_стеллажа, Номер_ полки).

    Один из кодов этой сущности (например, "-1") отведен для описания обобщенного места, находящегося за стенами хранилища книг (издание выдано читателю, временно передано другой библиотеке или организации).
  5. Читатели (Номер_билета, Фамилия, Имя, Отчество, Адрес, Телефон).

Две ключевые сущности, описывающие издание и его конкретные экземпляры, оказываются зависимыми от других сущностей и попадают в класс обозначений:

  1. Издание (Код_издания, Код_заглавия, Вид_издания, Номер_тома, Авторский_знак, Библиотечн_шифр, Повторность, Код_издательства, Год_издания, Аннотация) [Заглавия, Вид_издания, Издательства];
  2. Переплеты (Номер_переплета, Код_издания, Цена, Дата_приобретения)[Издания];

Стержневые сущности и обозначения связаны между собой ассоциациями:

  1. Авторы [Создатели M, Издание N] (Код_создателя, Код_издания).
  2. Составители [Создатели M, Издания N] (Код_создателя, Код_издания).
  3. Редакторы [Создатели M, Издания N] (Код_создателя, Код_издания).
  4. Художники [Создатели M, Издания N] (Код_создателя, Код_издания).
  5. Переводчики [Создатели M, Издания N] (Код_создателя, Код_издания, Язык).
  6. Переиздания [Характеры M, Издания N] (Код_характера, Код_издания).
  7. Размещение [Места M, Переплеты N] (Код_места, Номер_переплета, Дата_размещения, Дата_изъятия).
  8. Выдача [Читатели M, Переплеты N] (Номер_билета, Номер_переплета, Дата_выдачи, Срок, Дата_возврата).

И, наконец, для уменьшения объема часто используемого обозначения "Издания" из него выделена характеристика:

  1. Аннотации (Код_издания, Аннотация) {Издание}.

pic5-2

Рис. 2. Инфологическая модель базы данных "Библиотека", построенная с помощью языка "Таблицы-связи"

В соответствие с процедурой проектирования (п. 4.4) каждая из полученных сущностей должна быть представлена базовой таблицей. Первый вариант этих таблиц описывается так:

СОЗДАТЬ ТАБЛИЦУ Создатели *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_создат )

ПОЛЯ ( Код_создат Целое, Фам_ИО Текст 30 );

СОЗДАТЬ ТАБЛИЦУ Издательства *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_издательства )

ПОЛЯ ( Код_издательства Целое, Название

Текст 40, Город Текст 25 );

СОЗДАТЬ ТАБЛИЦУ Заглавия *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_заглавия )

ПОЛЯ ( Код_заглавия Целое, Заглавие Запись );

СОЗДАТЬ ТАБЛИЦУ Вид_издания *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( Вид_издания )

ПОЛЯ ( Вид_издания Целое, Название_вида Текст 16);

СОЗДАТЬ ТАБЛИЦУ Характеры *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_характера )

ПОЛЯ ( Код_характера Целое, Характер_переиздания Текст 16 );

СОЗДАТЬ ТАБЛИЦУ Языки *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_языка )

ПОЛЯ ( Код_языка Целое, Язык Текст 16, Сокращение Текст 6 );

СОЗДАТЬ ТАБЛИЦУ Места *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_места )

ПОЛЯ ( Код_места Целое, Номер_комнаты Целое,

Номер_стеллажа Целое, Номер_полки Целое );

СОЗДАТЬ ТАБЛИЦУ Читатели *( Стержневая сущность )

ПЕРВИЧНЫЙ КЛЮЧ ( Ном_билета )

ПОЛЯ ( Ном_билета Целое, Фамилия Текст 20, Имя Текст 16,

Отчество Текст 20, Адрес Текст 60, Телефон Текст 9 );

СОЗДАТЬ ТАБЛИЦУ Издание *( Обозначение )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_издания )

ВНЕШНИЙ КЛЮЧ ( Код_заглавия ИЗ Заглавия

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Заглавия ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Заглавия.Код_заглавия ОГРАНИЧИВАЕТСЯ)

ВНЕШНИЙ КЛЮЧ ( Вид_издания ИЗ Вид_издания

NULL-значения ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Вид_издания ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Вид_издания.Вид_издания КАСКАДИРУЕТСЯ)

ВНЕШНИЙ КЛЮЧ ( Код_издательства ИЗ Издательства

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Издательства ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Издательства.Код_издательства КАСКАДИРУЕТСЯ)

ПОЛЯ ( Код_издания Целое, Код_заглавия Целое,

Вид_издания Текст 16, Номер_тома Целое,

Авторский_знак Текст 3, Библиотечн_шифр Текст 12,

Повторность Целое, Код_издательст- ва Целое,

Год_издания Целое )

ОГРАНИЧЕНИЯ ( 1. Значения полей Код_заглавия, Вид_издания

и Код_издательства должны принадлежать набору значений

соответствующих полей таблиц Заглавия, Вид_издания

и Издательства; при нарушении вывод сообщения "Такого

заглавия нет", "Такого вида издания нет" или "Такого

издательства нет". );

СОЗДАТЬ ТАБЛИЦУ Переплеты *( Обозначение )

ПЕРВИЧНЫЙ КЛЮЧ ( Номер_переплета )

ВНЕШНИЙ КЛЮЧ ( Код_издания ИЗ Издания

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Издания ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Издания.Код_издания КАСКАДИРУЕТСЯ)

ПОЛЯ ( Номер_переплета Целое, Код_издания Целое, Цена Деньги,

Дата_приобретения Дата )

ОГРАНИЧЕНИЯ ( Значения поля Код_издания должны принадлежать набору

значений соответствующего поля таблицы Издания;

при нарушении вывод сообщения "Такого издания нет" );

СОЗДАТЬ ТАБЛИЦУ Аннотации *( Характеризует Издания )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_издания )

ВНЕШНИЙ КЛЮЧ ( Код_издания ИЗ Издания

NULL-значения ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Издания ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Издания.Код_издания КАСКАДИРУЕТСЯ)

ПОЛЯ ( Код_издания Целое, Аннотация Запись )

ОГРАНИЧЕНИЯ ( Значения поля Код_издания должны принадлежать набору

значений соответствующего поля таблицы Издания;

при нарушении вывод сообщения "Такого издания нет" );

СОЗДАТЬ ТАБЛИЦУ Авторы *( Связывает Создатели и Издания )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_создателя, Код_издания )

ВНЕШНИЙ КЛЮЧ ( Код_создателя ИЗ Создатели

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Создатели ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Создатели.Код_создателя КАСКАДИРУЕТСЯ)

ВНЕШНИЙ КЛЮЧ ( Код_издания ИЗ Издания

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Издания ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Издания.Код_издания КАСКАДИРУЕТСЯ)

ПОЛЯ ( Код_создателя Целое, Код_издания Целое )

ОГРАНИЧЕНИЯ ( Значения полей Код_создателя и Код_издания должны

принадлежать набору значений соответствующих полей

таблиц Создатели и Издание; при нарушении вывод

сообщения "Такого автора нет" или "Такого издания нет" );

Аналогичное содержание имеют описания таблиц Составители, Редакторы, Художники и Переиздания. Остальные же таблицы проектируемой базы данных описываются так:

СОЗДАТЬ ТАБЛИЦУ Переводчики *( Связывает Создатели, Издания и Языки)

ПЕРВИЧНЫЙ КЛЮЧ ( Код_создателя, Код_издания )

ВНЕШНИЙ КЛЮЧ ( Код_создателя ИЗ Создатели

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Создатели ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Создатели.Код_создателя КАСКАДИРУЕТСЯ)

ВНЕШНИЙ КЛЮЧ ( Код_издания ИЗ Издания

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Издания ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Издания.Код_издания КАСКАДИРУЕТСЯ)

ВНЕШНИЙ КЛЮЧ ( Код_языка ИЗ Языки

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Языки ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Языки.Код_языка КАСКАДИРУЕТСЯ)

ПОЛЯ ( Код_создателя Целое, Код_издания Целое )

ОГРАНИЧЕНИЯ ( Значения полей Код_создателя, Код_издания и

Код_языка должны принадлежать набору значений

соответствующих полей таблиц Создатели, Издание

и Языки; при нарушении вывод сообщения "Такого

автора нет" или "Такого издания нет" или "Такого

языка нет");

СОЗДАТЬ ТАБЛИЦУ Размещение *( Связывает Места и Переплеты )

ПЕРВИЧНЫЙ КЛЮЧ ( Код_места, Номер_переплета )

ВНЕШНИЙ КЛЮЧ ( Код_места ИЗ Места

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Места ОГРАНИЧИВАЕТСЯ

ОБНОВЛЕНИЕ Места.Код_места КАСКАДИРУЕТСЯ)

ВНЕШНИЙ КЛЮЧ ( Номер_переплета ИЗ Переплеты

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Переплеты КАСКАДИРУЕТСЯ

ОБНОВЛЕНИЕ Переплеты.Ном_переплета КАСКАДИРУЕТСЯ)

ПОЛЯ ( Код_места Целое, Номер_переплета Целое,

Дата_размещения Дата, Дата_изъятия Дата )

ОГРАНИЧЕНИЯ ( Значения полей Код_места и Номер_переплета

должны принадлежать набору значений соответствующих

полей таблиц Переплеты и Места; при нарушении вывод

сообщения "Такого переплета нет" или "Такого места нет" );

СОЗДАТЬ ТАБЛИЦУ Выдача *( Связывает Читатели и Переплеты )

ПЕРВИЧНЫЙ КЛЮЧ ( Ном_билета, Ном_переплета )

ВНЕШНИЙ КЛЮЧ ( Ном_билета ИЗ Читатели

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Читатели КАСКАДИРУЕТСЯ

ОБНОВЛЕНИЕ Читатели.Ном_билета КАСКАДИРУЕТСЯ)

ВНЕШНИЙ КЛЮЧ ( Ном_переплета ИЗ Переплеты

NULL-значения НЕ ДОПУСТИМЫ

УДАЛЕНИЕ ИЗ Переплеты КАСКАДИРУЕТСЯ

ОБНОВЛЕНИЕ Переплеты.Ном_переплета КАСКАДИРУЕТСЯ)

ПОЛЯ ( Ном_билета Целое, Ном_переплета Целое, Дата_выдачи Дата,

Срок Целое, Дата_возврата Дата )

ОГРАНИЧЕНИЯ ( Значения полей Ном_билета и Ном_переплета должны

принадлежать набору значений соответствующих полей таблиц

Читатели и Переплеты; при нарушении вывод сообщения

"Такого читателя нет" или "Такого переплета нет" );

Теперь следует проверить, не нарушены ли в данном прокете какие-либо принципы нормализации, т.е. что любое неключевое поле каждой таблицы:

  • функционально зависит от полного первичного ключа, а не от его части (если ключ составной);
  • не имеет функциональной зависимости от другого неключевого поля.
  • Сущности Авторы, Составители, Редакторы, Художники и Переиздания, не имеющие неключевых полей, безусловно нормализованы. Нормализованы и сущности Создатели, Характеры, Заглавия, Вид_издания и Аннотации, состоящие из несоставного ключа и единственного неключевого поля.

Анализ сущностей Переводчики, Размещение и Выдача, состоящих из составного ключа и неключевых полей, показал, что в них нет функциональных связей между неключевыми полями. Последние же не зависят функционально от какой-либо части составного ключа.

Наконец, анализ сущностей Издания, Переплеты, Места, Читатели и Языки, показал, что единственной "подозрительной" сущностью является стержень Языки, имеющий два функционально связанных неключевых поля: Язык и Сокращение.

Поле Язык стало неключевым из-за ввода цифрового первичного ключа Код_языка, заменяющего текстовый возможный ключ Язык. Это позволило уменьшить объем хранимых данных в таблице Переводчики, затраты труда на ввод множества текстовых значений и возможной противоречивости, которая часто возникает из-за ввода в разные поля ошибочных дубликатов (например, "Английский", "Англиский", "Анлийский", "Англйский" и т.п.). Если мы вспомним рекомендации о замене на время нормализации цифровыз заменителей первичных ключей (Код_языка) на исходный ключ (Язык) или воспользуемся формулировкой НФБК, то окажется, что таблица Языки – нормализована.

2.3 Проектирование с помощью UML

В процессе проектирования, рассматриваются все требования пользователей и в результате, поучим логическое решение задачи. На этом этапе, используем следующие диаграммы:

- Диаграмма вариантов использования ( use case diagram)

- Диаграмма последовательности (sequence diagram)

- Диаграмма классов (class diagram)

-Диаграммы активности (Activity diagram )

Данный вариант использования представлен на общей диаграмме, реализуется в компонентах «Работа с программой» и

состоит из:

• Создание новый читателей и добавление в Б.Д;

• Создание новую книгу и добавление в Б.Д;

• Создание новой зал и добавление в Б.Д;

• Смотреть список читатели.

• Смотреть список залов.

• Смотреть список книг.

• Изменение информации о читатели.

• Изменение информации о зале.

• Изменение информации о книге.

• Изменение информации о читатели.

• Поиск книг в каталоге на основании введенного шифра.

• Поиск книг в каталоге на основании названия книги.

• Регистрация взятых читателем книг.

• Получить информации, какие книги были выданы за данный промежуток времени.

• Получить информации, какие книги были возвращены за данный промежуток времени.

• Получить информации, какие книги находятся у данного читателя.

• Получить информации, имеется ли в наличии некоторая книг.

• Осуществлять регистрация взятых читателем книг.

• Осуществлять регистрация возвращенных читателем книг.

• Сортировка книг по имени .

• Сортировка книг по автору.

• Сортировка книг по году издания.

• Сортировка читателей.

• Сохранить данных в виде файла.

•Удаление книги.

•Удаление читатель

Рисунок 3. Диаграмма вариантов использования

Для создание новый читателей и добавить в Б.Д нужно ввести следующие информации; К объектам и атрибутам, позволяющим охарактеризовать отдельные экземпляры изданий (переплеты), места их хранения и читателей, можно отнести:

1. Номер комнаты (помещения для хранения переплетов).

2. Номер стеллажа в комнате.

3. Номер полки на стеллаже.

4. Номер (инвентарный номер) переплета.

5. Дата приобретения конкретного переплета.

6. Цена конкретного переплета.

7. Дата размещения конкретного переплета на конкретном месте.

8. Дата изъятия переплета с установленного места.

9. Номер читательского билета (формуляра).

10. Фамилия читателя.

11. Имя читателя.

12. Отчество читателя.

13. Адрес читателя.

14. Телефон читателя.

15. Дата выдачи читателю конкретного переплета.

16. Срок, на который конкретный переплет выдан читателю.

17. Дата возврата переплета.

Взаимодействие объектов в системе происходит посредством приема и передачи сообщений объектами-клиентами и обработки этих сообщений объектами-серверами. При этом в разных ситуациях одни и те же объекты могут выступать и в качестве клиентов, и в качестве серверов.

Мы рассмотрим 2 Диаграммы последовательностей при cоединении и отсоединении библиотечной системы.

Рисунок 4. соединение к библиотечной системы

Практически говоря, запрос к соединение библиотечной системы может быть

например, двойным щелчком по иконке нашей программы, находящийся в рабочем столе нашего компьютера.

Эта система сразу же создает объект класса ConnectionUI,

и выполняется операция, и вызывает функцию showForm () (показать форм).

Создание объекта по одному образцу объекта, отправив сообщение «создать» на новый объект. После создания в ConnectionUI объект появляется пользовательского интерфейса с полями о запросе ввода логин и пароля.

После ввода логин и пароль мы проверяем если данные введены с помощью функции (CheckUser), правильно если да тогда у вас открывает главное окно приложения (MainUI) и вызывает функцию (showForm()), чтобы отобразить форму.

Рисунок 5.Отмена соединения к библиотечной системы.

На рисунки Отмена соединения к библиотечной системы.

Рисунок 5 показывает диаграмма последовательности для использования ConnectToSystem в случае, когда пользователь нажил на кнопку "Отмена".

Когда пользователь нажимает на кнопку “CANCEL” он вызывает метод sendCancellation() из ConnectionUI объект, которая прерывает взаимодействия пользователя с системой библиотеки дальше происходит разрушение объекта ConnectionUI и закрывается приложение.

 Этот тип диаграмм позволяет создавать логическое представление системы, на основе которого создается исходный код описанных классов.

Рисунок 6. Диаграмма классов.

Класс Reader:

Описание: Этот класс содержит информацию о читателях, которые есть в библиотеке.

Функции:

+ getName()– Эта публичная (+) функция, которая позволяет получить Фамилию читателей.

+ setName(): Эта Публичная (+) функция, которая меняет Фамилию читателей.

+getcardreaderNumber Эта Публичная (+) функция, которая позволяет получить номер читальского билета читателя.

+GetdateGivenReaderCard()const:CTime Эта Публичная (+) функция, которая позволяет увидеть когда читатель был записан в библиотеке.

+ GetSurname() const:CString Эта Публичная (+) функция, которая позволяет получить отчества.

+ GetpatroNyme() const:CString Эта Публичная (+) функция, которая позволяет получить отчества.

Класс Room:

Описание: этот класс управляет залы в библиотеки.

Функции:

+setRoomName - Эта публичная (+) функция, которая позволяет менять название зала.

+getRoomName - Эта публичная (+) функция, которая позволяет получить название зала

+getRoomNumber - Эта публичная (+) функция, которая позволяет получить номер зала.

+setRoomNumber Эта публичная (+) функция, которая позволяет менять номер зала.

Класс Person:

Этот класс используется для авторизация в системе т.е ввод имя пользователи и пароля.

+ getUserName- Эта публичная (+) функция, которая позволяет

Получит имя пользователей для авторизации.

+ getPassword- Эта публичная (+) функция, которая позволяет

получить пароль в неявной виде.

+ setUserName- Эта публичная (+) функция, которая позволяет

менять имя пользователей для авторизации.

+ setPassword- Эта публичная (+) функция, которая позволяет

менять пароль .

Класс StockItem:

Этот класс используется для управления количество экземпляров доступны для определенной книг .

+getStatus- Эта публичная (+) функция, которая позволяет узнать, если есть книг в наличие или нет.

+setStatus- Эта публичная (+) функция, которая позволяет менять состояние книги делать её доступно или нет.

+getCode- Эта публичная (+) функция, которая позволяет получить код книги из библиотеке.

+setCode- Эта публичная (+) функция, которая позволяет менять код книги в библиотеке.

Класс Loan:

Этот класс используется для управления операции получение и возвращение книг для определенной книг .

+getDueDate- Эта публичная (+) функция, которая позволяет узнать дату, когда читателей должен возвращать книгу.

+setDueDate- Эта публичная (+) функция, которая позволяет менять дату, когда читателей должен возвращать книгу..

+getDateofTakenBook- Эта публичная (+) функция, которая позволяет узнать дату, когда читателей получил книгу .

+ getDateofTakenBook - Эта публичная (+) функция, которая позволяет менять дату когда читателей получил книгу.

+getLibraryNumber - Эта публичная (+) функция, которая позволяет получить переклепан в книге когда читателей взял её.

Класс Book:

Описание: Этот класс содержит информацию о книгах, которые есть в библиотеки.

Функции:

+ getListOfAuthor – Эта публичная (+) функция, получить Автор (фамилия и имена (инициалы) или псевдоним каждого автора издания).

+ getBookName() Эта публичная (+) функция, получить Название (заглавие) издания.

+getYearPublication()–- Эта публичная (+) функция, получить Название (заглавие) издания.

+getPlaceofPublication :in*t - Эта публичная (+) функция, получить Номер тома (части, книги, выпуска).

Класс Operation:Это главное диалоговое окно, которое отображает пользовательский интерфейс.

Функции:

#OnAddroom( ):void - Эта защищенная (#) функция, добавить зал через пользовательский интерфейс.

#OnViewroom( ):void -Эта защищенная (#) функция, смотреть список залов через пользовательский интерфейс.

#OnAddbook( ):void- Эта защищенная (#) функция, добавить книгу через пользовательский интерфейс.

#OnViewbook( ):Void -Эта защищенная (#) функция, смотреть список книг через пользовательский интерфейс.

#OnUpdatebook( ):void -Эта защищенная (#) функция, изменить информацию о книгах, через пользовательский интерфейс.

#OnRemovebook( ):void -Эта защищенная (#) функция, удалить книгу через пользовательский интерфейс.

#OnStudent( ):void -Эта защищенная (#) функция, добавить нового студента через пользовательский интерфейс

#OnStudentView( ):void- Эта защищенная (#) функция, смотреть список студентов через пользовательский интерфейс.

#OnstudenUpdatet( ):void - Эта защищенная (#) функция, изменить информацию о студенте через пользовательский интерфейс

#OnStudentRemove( ):void - Эта защищенная (#) функция, удалить студента через пользовательский интерфейс.

#OnStudentReader( ):void- Эта защищенная (#) функция, удалить студента через пользовательский интерфейс.

#OnStudentbookTaken( ):void- Эта защищенная (#) функции, студент взял книгу и стал читателем книги через пользовательский интерфейс.

#OnSearchbookhavebeenreaden-Эта защищенная (#) функции, поиска книги, которые были прочитаны через пользовательский.

#OnfileOpen():void- Эта защищенная (#) функции, открыть файл, где сохранена все информация.

OnfileSave( ):void- Эта защищенная (#) функции, сохранить данные в файл и.

#Onsearchnameofbook():void-Эта защищенная (#) функции, поиск книги по название через пользовательский.

#OnsearchNomerfixed( ):void -Эта защищенная (#) функции, поиск о наличии некоторой книги.

#Onsearchdatereadenofbook( ) -Эта защищенная (#) функции, какие книги были выданы за данный промежуток времени, через пользовательский;

#OnSearchLibrarycard():void - Эта защищенная (#) функции, поиск читателей по номеру читательского билета, через пользовательский.

#OnsortBookbyAuthorName():void- Эта защищенная (#) функции, сортировки книг по Названию (заглавие) издания.

#OnsortBookbynamebook( ):void- Эта защищенная (#) функции, сортировка книг по Номеру тома (части, книги, выпуска).

#OnsortStudent ( ):void - Эта защищенная (#) функции, сортировка студентов по имени.

Это дальнейшее развитие диаграммы состояний. Фактически данный тип диаграмм используется и для отражения состояний моделируемого объекта, однако, основное назначение Activity diagram в том, чтобы отражать бизнес-процессы объекта. Этот тип диаграмм позволяет показать не только последовательность процессов, но и ветвление и даже синхронизацию процессов.

Рисунок 7. Диаграмма активности.

ЗАКЛЮЧЕНИЕ

В нашей работе мы проектировали библиотеку, наша библиотека выполняет определенные работы в области автоматизации. С какой подсистемы следует начать автоматизацию библиотеки? Хотя нет единой формы, как заграницей, так и в стране, на основе обобщения успешных иностранных опытов и практики наша библиотека начала с подсистемы каталогизации. Это наиболее удобно с прикладной точки зрения. Создание автоматизированной библиотечной системы отвечает целям научно-исследовательской работы и хозяйственного строительства с высокой эффективностью, высоким темпом и высоким качеством. В зависимости от условий библиотеки решение принимается на основе анализа. Нельзя ждать, но и нельзя создать систему мгновенно, не следует осуществлять автоматизацию лишь только для автоматизации, а не для использования, иначе результаты будут только экспонатом и образцом; будут напрасно расходоваться людские силы и имущество. Таких примеров немало библиотечных систем.

СПИСОК ЛИТЕРАТУРЫ

  1. Антон Бакулев, лаборатория информационных систем МФТИ (Московский физико-технический институт). «Чертова дюжина систем электронного документооборота» с сайта http://www.bishelp.ru/
  2. Александр Глинских (к.т.н.) Мировой рынок систем электронного документооборота
  3. Верников Г. Основные методологии обследования организаций. Стандарт IDEF0 // Директору информационной службы. №5. 2015.
  4. Дёмин Ю.М. Делопроизводство. Подготовка служебных документов. 2-е изд., доп. и перераб. - СПб.: Питер, 2016. - 224 с: ил.

 // http://www.iteam.ru/publications/it/section_64/article_2582

  1. Информационные технологии. №1–12, 2015, 2016.
  2. Калянов Г. Н. Консалтинг при автоматизации предприятий: подходы, методы, средства // Директору информационной службы. №11. 2015.
  3. Маклаков С. В. CASE-средства разработки информационных систем. BPwin и Erwin. – М.: ДиалогМифи, 2016.
  4. Сахаров П. Rational Rose, BPwin и другие – аспект анализа бизнес-процессов // Директору информационной службы. №11. 2015.
  1. Хубаев Г.Н., Щербаков С.М., Шибаев А.Л. Конструктор имитационных моделей деловых процессов // Свидетельство об официальной регистрации программы для ЭВМ.– № 2005612262.– М.: РОСПАТЕНТ, 2005.