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

Характеристика процесса мотивации “Движение библиотечного фонда”

Содержание:

Введение

Цель курсовой работы является закрепление теоретического материала дисциплины «Проектирование информационных систем», а также приобретение навыков практического объектно-ориентированного проектирования информационных систем в среде Rational Rose.

Rational Rose – популярное средство визуального моделирования объектно-ориентированных информационных систем компании Rational Software Corp. Работа продукта основана на универсальном языке моделирования UML (Universal Modeling Language). Благодаря уникальному языку моделирования, Rational Rose способен решать практически любые задачи в проектировании информационных систем: от анализа бизнес процессов до кодогенерации на определенном языке программирования. Только Rational Rose позволяет разрабатывать как высокоуровневые, так и низкоуровневые модели, осуществляя тем самым либо абстрактное проектирование, либо логическое. Rational Rose имеет весь необходимый набор визуальных средств проектирования и помогает решать проблемы с кодогенерацией на определенном языке программирования. Rational Rose осуществляет такие подходы, как прямое и обратное проектирование, а так же Round Trip Engineering [1].

Результатом выполнения комплекса научных, проектных, технических работ и организационных мероприятий по внедрению во все виды библиотечной деятельности современных информационных технологий, основанных на использовании средств вычислительной техники и связи является создание автоматизированной библиотечно-информационной системы (АБИС), библиографического банка данных или электронной библиотеки (ЭБ). На рабочие места сотрудников библиотеки устанавливаются компьютеры, т.е. создаются автоматизированные рабочие места библиотекарей (АРМ библиотекаря).

Основные цели автоматизации библиотеки:

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

Автоматизация технологических процессов в библиотеке призвана обеспечить следующие возможности:

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

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

1. Краткая характеристика предметной области

1.1 Общая характеристика учебной библиотеки как объекта хозяйственной деятельности

Библиотечный фонд – это совокупность имеющихся в библиотеке произведений печати и других материалов, которые предоставляются на тех или иных условиях в пользование читателей.

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

Учет библиотечного фонда – это прием поступивших в библиотеку изданий, запись прибывших и исключение по тем или иным причинам непригодных для читателей изданий в документах библиотеки, которые дают точные сведения о наличном составе фонда и помогают обеспечить его сохранность.

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

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

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

Каждой книге, подлежащей индивидуальному учету, присваивается один инвентарный номер. Если книга выбывает из библиотеки, данный инвентарный номер никогда никакому другому изданию не дается.

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

Причин, вызывающих исключение литературы из библиотеки, несколько: часть книг, прослуживший определенный срок, изнашивается, и их исключают по ветхости; иногда читатели не возвращают взятые в библиотеке книги; так же книга может быть утеряна читателем; некоторые книги устаревают по своему содержанию; по причине не соответствия профилю; или выбывают из библиотеке по «неизвестным» причинам [2].

В конце каждого месяца библиотекарь составляет «Статистический отчет» (приложение А), в котором указывается поступившая за месяц литература, а также списанная, состояние книжного фонда на прошедший месяц и на следующий.

По запросу заместителя директора по учебно-воспитательной работе библиотекарь так же составляет «Отчет о книгообеспеченности по предметам» (приложение Б). Отчет должен содержать сведения о количестве литературы по предметам на одного студента.

Для удобства работы читателя с библиотечным фондом библиотекарь 11 лицея составляет каталожные карточки (приложение В).

Так же в библиотеку обращаются классные руководители для получении информации о задолжниках. Для этого библиотекарь составляет «Список задолжников по группам» (приложение Г). Для преподавателей библиотекарь составляет «Список литературы по предмету» (приложение Д). Если читатель знает, какую книгу ему необходимо, то библиотекарь по предоставленному названию книги и автору осуществляет поиск. При выдаче и возврате книги библиотекарь заполняет формуляр читателя (приложение Е).

1.2 Обоснование актуальности разработки объектно-ориентированной модели информационной подсистемы для учебной библиотеки

Тенденции развития современных информационных технологий приводят к постоянному возрастанию сложности информационных систем (ИС), создаваемых в различных областях деятельности человека. Под термином информационные системы мы будем понимать cреду, составляющими элементами которой являются компьютеры, компьютерные сети, программные продукты, базы данных, люди, различного рода технические и программные средства связи и т.д. Основная цель информационной системы - организация хранения, обработки и передачи информации. Информационная система представляет собой человеко-компьютерную систему обработки информации.

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

  1. сложность описания (достаточно большое количество функций, процессов, элементов данных и сложные взаимосвязи между ними), требующая тщательного моделирования и анализа данных и процессов;
  2. отсутствие прямых аналогов, и поэтому ограниченные возможности использования типовых проектных решений;
  3. временная протяженность проекта, обусловленная, с одной стороны, ограниченными возможностями коллектива разработчиков, и, с другой стороны, масштабами организации-заказчика и различной степенью готовности отдельных ее подразделений к внедрению ИС [3].

Для успешной реализации проекта объект проектирования – информационная система, должен быть прежде всего адекватно описан: должны быть построены полные и непротиворечивые функциональные модели ИС. Накопленный к настоящему времени опыт показывает, что проектирование ИС - это логически сложная, трудоемкая и длительная по времени работа, требующая высокой квалификации участвующих в ней специалистов. Однако, до недавнего времени проектирование ИС выполнялось в основном на интуитивном уровне с применением неформализованных методов, основанных на искусстве, практическом опыте, экспертных оценках и дорогостоящих экспериментальных проверках качества функционирования ИС. В процессе создания и функционирования ИС потребности пользователей могут изменяться и/или уточняться, что еще более усложняет процесс проектирования таких систем.

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

  1. способность поставить задачи и подготовить техническое задание;
  2. сложность обнаружить ошибки в проектных решениях;
  3. затяжной цикл проектирования и проблема тестирования [3].

1.3 Формулировка задач проектирования

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

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

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

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

Добавить детали к описаниям операций и определить атрибуты классов. Добавить связи между классами.

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

Построить диаграммы размещения.

Привести и описать порядок генерации программного кода на языке С++ для информационной системы учебной библиотеки.

Вывод: Разработка объектно-ориентированной модели информационной подсистемы для учебной библиотеки позволит смоделировать в стандартных формах предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС.

2. Создание диаграммы вариантов использования

Этапы выполнения создания диаграммы вариантов использования и действующих лиц

  1. Дважды щелкнул на Главной диаграмме Вариантов Использования (Main) в браузере, чтобы открыть ее.
  2. С помощью кнопки Use Case (Вариант Использования) панели инструментов поместил на диаграмму новый вариант использования.
  3. Назвал этот новый вариант использования "ввод новой книги".
  4. Повторите этапы 2 и 3, чтобы поместить на диаграмму остальные варианты использования: напечатать каталожную карточку, ввод акта о списании, напечатать отчет о книгообеспеченности, напечатать статистический отчет, напечатать формуляр читателя, выдача книги, возврат книги, напечатать задолжников по группам, напечатать список литературы по предмету.
  5. С помощью кнопки Actor (Действующее лицо) панели инструментов поместил на диаграмму новое действующее лицо.
  6. Назвал его "Библиотекарь".
  7. Повторил шаги 5 и 6, поместив на диаграмму остальных действующих лиц: Читатели, зам.директора по УВР, преподаватели.

Добавление ассоциаций

  1. С помощью кнопки Unidirectional Association (Однонаправленная ассоциация) панели инструментов нарисовал ассоциацию между действующим лицом Библиотекарь и вариантом использования "Ввод новой книги".
  2. Повторил этот этап, чтобы поместить на диаграмму остальные ассоциации.

Добавление описания к вариантам использования:

  1. Выделил в браузере вариант использования "Ввод новой книги".
  2. В окне документации ввела следующее описание к этому варианту использования: Библиотекарь осуществляет прием новой литературы, заносит сведения о книгах в базу данных (производит ввод поступившей книги).Предоставляет данные накладной (дату поступления книг, цена одного экземпляра, на чьи средства, в каком количестве), а так же сведения о книги (из книги: автор, название, издательство, год издания, количество страниц, шифр книги, по какой дисциплине).
  3. С помощью окна документации ввел описания ко всем остальным вариантам использования:

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

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

Напечатать отчет о книгообеспеченности: По запросу заместителя директора по учебно-воспитательной работе библиотекарь так же составляет "Отчет о книгообеспеченности по предметам". Отчет должен содержать сведения о количестве литературы по предметам на одного студента.

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

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

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

Возврат книги: При возврате книги библиотекарь ставит расписку о возврате.

Напечатать список задолжников по группам: В библиотеку перед каждой сессией обращаются классные руководители групп для получении информации о задолжниках. Для этого библиотекарь составляет "Список задолжников по группам".

Напечатать список литературы по предмету: Чтобы знать преподавателям и учащимся, какая литература имеется по тому или иному предмету библиотекарь составляет "Список литературы по предмету".

Добавление описания к действующему лицу:

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

Читатель: является абонентом библиотеки. Получает литературу на руки, которая ему необходима и которая имеется в наличии в библиотеки.

Зам.директора по УВР: Заместитель директора по учебно-воспитательной работе. Отчета о книгобеспеченности влияет на планирование работы библиотеки.

Преподаватели: Работники учебного заведения, среди них классные руководители.

Прикрепление файла к варианту использования:

  1. Для описания главного потока событий варианта использования "ввод новой книги" создал файл OrderFlow.doc, содержащий следующий текст:
  2. Библиотекарь выбирает пункт «Ввод новой книги» из имеющегося меню.
  3. Система выводит форму «Сведения о книге».
  4. Библиотекарь вводит дату поступления книг, цена одного экземпляра, на чьи средства приобретены, в каком количестве, автор, название, издательство, год издания, количество страниц, шифр книги, по какой дисциплине.
  5. Номер инвентарный формируется автоматически, путем нахождения в базе данных максимального и увеличения его на 1.
  6. Номер издания формируется автоматически, путем нахождения в базе данных максимального и увеличения его на 1.
  7. В цикле от одного до введенного количества поступивших изданий, сохраняются инвентарные номера в базе данных, увеличиваясь на 1.
  8. Библиотекарь сохраняет сведения о новой книге.
  9. Система создает новый экземпляр и сохраняет его в базе данных.
  10. Щелкнул правой кнопкой мыши на варианте использования "ввод новой книги".
  11. В открывшемся меню выбрала пункт Open Specification (Открыть спецификацию).
  12. Перешел на вкладку файлов.
  13. Щелкнул правой кнопкой мыши на белом поле и из открывшегося меню выбрала пункт Insert File (Ввести файл).
  14. Указал файл OrderFlow.doc и нажала на кнопку Open (Открыть), чтобы прикрепить файл к варианту использования.

В результате выполнения этапов создания диаграммы вариантов использования и действующих лиц.

Вывод: Поведение разрабатываемой системы (то есть функциональность, обеспечиваемая системой) описывается с помощью функциональной модели, которая отображает системные прецеденты (use case), системное окружение (действующих лиц или актеров - actors) и связи между прецедентами и актерами (диаграммы прецедентов – use case diagrams). Основная задача модели прецедентов - представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы.

3. Создание диаграммы последовательности

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

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

Этапы выполнения создания диаграммы последовательности:

Настройка:

  1. В меню модели выбрал пункт Tools > Options (Инструменты > Параметры).
  2. Перешел на вкладку диаграмм.
  3. Контрольные переключатели Sequence Numbering, Collaboration Numbering и Focus of Control должны быть помечены.
  4. Нажал ОК, чтобы выйти из окна параметров.

Создание диаграммы Последовательности:

  1. Щелкнул правой кнопкой мыши на Логическом представлении броузера.
  2. В открывшемся меню выбрал пункт New > Sequence Diagram.
  3. Назвал новую диаграмму "Ввод новой книги".
  4. Дважды щелкнул на ней, чтобы открыть ее.

Добавление на диаграмму действующего лица и объектов:

  1. Перетащил действующее лицо Библиотекарь с броузера на диаграмму.
  2. На панели инструментов нажал кнопку Object (Объект).
  3. Щелкнул мышью в верхней части диаграммы, чтобы поместить туда новый объект.
  4. Назвал объект "Форма ввода новой книги".
  5. Повторил этапы 3 и 4, чтобы поместить на диаграмму все остальные объекты: номер издания.

Добавление сообщений на диаграмму

  1. На панели инструментов нажал кнопку Object Message (Сообщение объекта).
  2. Провел мышью от линии жизни актера Библиотекарь к линии жизни объекта Форма ввода новой книги.
  3. Выделив сообщение, ввел его имя Открыть форму.
  4. Повторил этапы 2 и 3, чтобы поместить на диаграмму дополнительные сообщения:

Ввести сведения из накладной и из книги (между библиотекарем и объектом форма новой книги).

Сохранить заказ (между библиотекарем и объектом форма новой книги).

Создать пустой номер издания (между объектом форма новой книги и объектом номер издания).

Задать сведения из накладной и из книги (между объектом форма новой книги и объектом номер издания).

Сохранить заказ (между объектом форма новой книги и объектом номер издания).

Соотнесение объектов с классами:

  1. Щелкнул правой кнопкой мыши на объекте форма ввода новой книги.
  2. В открывшемся меню выбрал пункт Open Specification (Открыть спецификацию).
  3. В раскрывающемся списке классов выбрал пункт <New> (Создать). Появилось окно спецификации классов.
  4. В поле имени ввел имя Ввод.
  5. Щелкнул на кнопке ОК. Вернулась к окну спецификации объекта.
  6. В списке классов выбрал теперь класс Ввод.
  7. Щелкнул на кнопке ОК, чтобы вернуться к диаграмме. Теперь объект называется Форма ввода новой книги: ввод.
  8. Для соотнесения остальных объектов с классами повторил этапы с 1 по 7:

Класс Номер издание соотнесла с объектом Номер издания.

Соотнесение сообщений с операциями:

  1. Щелкнул правой кнопкой на сообщении 1, открыть форму ввода
  2. В открывшемся меню выбрал пункт <new operation> (создать операцию). Появилось окно спецификации операции.
  3. В поле имени ввел имя операции – Open (Открыть).
  4. Нажал на кнопку ОК, чтобы закрыть окно спецификации операции и вернуться на диаграмму.
  5. Повторил пункты с 1 по 6, пока не соотнесла с операциями все остальные сообщения:

Сообщение 2: Ввести сведения из накладной и из книги – с операцией SubmitInfo().

Сообщение 3: Сохранить сведения из накладной и из книги – с операцией Save().

Сообщение 4: Создать пустой номер издания – с операцией Create().

Сообщение 5: Задать номер издания – с операцией SetInfo().

Сообщение 6: Сохранить номер издания – с операцией SaveOrder().

Сообщение 7: Сохранить информацию об издании в базе данных - с операцией Commit().

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

4. Создание Кооперативной диаграммы

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

Для создания Кооперативной диаграммы нажал клавишу F5.

Рисунок 3 Диаграмма Сотрудничества

Вывод: Как видно из рисунка 3, здесь представлена вся та информация, которая была и на диаграмме последовательности, но кооперативная диаграмма по-другому описывает поток событий. Из нее легче понять связи между объектами, однако труднее уяснить последовательность событий.

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

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

5. Создание диаграммы классов

Этапы выполнения:

Настройка:

  1. В меню модели выбрал пункт Tools > Options (Инструменты > Параметры).
  2. Перешел на вкладку диаграмм.
  3. Убедился, что помечен контрольный переключатель Show Stereotypes (Показать стереотипы).
  4. Убедился, что помечены контрольные переключатели Show All Attributes (Показать все атрибуты) и Show All Operations (Показать все операции).
  5. Убедился, что не помечены переключатели Suppress Attributes (Подавить вывод атрибутов) и Suppress Operations (Подавить вывод операций).

Создание пакетов:

  1. Щелкнул правой кнопкой мыши на Логическом представлении браузера.
  2. В открывшемся меню выбрал пункт New > Package (Создать > пакет).
  3. Назвал новый пакет Entities (Сущности).
  4. Повторил этапы с первого по третий, создав пакет Boundaries (границы).

Создание Главной диаграммы Классов:

  1. Дважды щелкнул на Главной диаграмме Классов прямо под Логическим представлением браузера, чтобы открыть ее.
  2. Перетащил пакет Entities из браузера на диаграмму.
  3. Перетащил пакет Boundaries из браузера на диаграмму.

Главная диаграмма Классов представлена на рисунке 4.

Рисунок 4. Главная диаграмма Классов системы учебной библиотеки.

Создание диаграммы Классов для сценария "ввод новой книги" со всеми классами.

  1. Щелкнул правой кнопкой мыши на Логическом представлении броузера.
  2. В открывшемся меню выбрал пункт New > Class Diagram (Создать > Диаграмму Классов).
  3. Назвал новую диаграмму Классов add New book (Введение новой книги).
  4. Щелкнул в браузере на этой диаграмме дважды, чтобы открыть ее.
  5. Перетащил из браузера все классы (ins_book, number_izd).

Диаграмма Классов представлена на рисунке 5.

Рисунок 5 Диаграмма Классов add New book.

Добавление стереотипов к классам:

  1. Щелкнул правой кнопкой мыши на классе ins_book диаграммы.
  2. В открывшемся меню выбрал пункт Open Specification (Открыть спецификацию).
  3. В поле стереотипа выбрал слово Boundary. Нажала на кнопку ОК.
  4. Щелкнул правой кнопкой мыши на классе number_izd диаграммы.
  5. В открывшемся меню выбрал пункт Open Specification (Открыть спецификацию).
  6. В раскрывающемся списке в поле стереотипов указал Entity. Нажала на кнопку ОК.

Измененная диаграмма Классов представлена на рисунке 6.

Рисунок 6 Стереотипы классов для варианта использования ввод новой книги.

Объединение классов в пакеты:

  1. Перетащил в браузере класс ins_book на пакет Boundaries.
  2. Перетащил класс number_izd на пакет Entities.

Добавление диаграмм Классов к каждому пакету:

  1. Щелкнул правой кнопкой на пакете Boundaries браузера.
  2. В открывшемся меню выберите пункт New > Class Diagram (Создать > Диаграмму Классов).
  3. Ввел имя новой диаграммы - Main (Главная).
  4. Дважды щелкнул мышью на этой диаграмме, чтобы открыть ее.
  5. Перетащил на нее из браузера класс ins_book.

Повторила пункты 1-4 для пакета Entities.

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

6. Добавление деталей к описаниям операций и определение атрибутов классов. Добавление связей между классами

Этапы выполнения:

Настройка:

  1. В меню модели выбрал пункт Tools > Options.
  2. Перешел на вкладку Diagram.
  3. Убедился, что переключатель Show Visibility помечен.
  4. Убедился, что переключатель Show Stereotypes помечен.
  5. Убедился, что переключатель Show Operation Signatures помечен.
  6. Убедился, что переключатели Show All Attributes и Show All Operations помечены.
  7. Убедился, что переключатели Suppress Attributes и Suppress Operations не помечены.
  8. Перешел на вкладку Notation.17
  9. Убедился, что переключатель Visibility as Icons не помечен.

Добавление нового класса:

  1. Нашел в браузере диаграмму Классов варианта использования "ввод новой книги".
  2. Щелкнул на ней дважды, чтобы ее открыть.
  3. Нажал кнопку Class панели инструментов.
  4. Щелкнул мышью внутри диаграммы, чтобы поместить там новый класс.
  5. Назвал его Ekzemplar (Экземпляр).
  6. Назначил этому классу стереотип Entity.
  7. В браузере перетащил класс в пакет Entities.

Добавление атрибутов:

  1. Щелкнул правой кнопкой мыши на классе n_izd (номер издания).
  2. В открывшемся меню выбрал пункт New Attribute (Создать атрибут).
  3. Ввел новый атрибут n_izd: Integer (номер издания). Нажала клавишу Enter.
  4. Ввел следующий атрибут kol_ekz: integer (количество экземпляров).
  5. Повторил этапы 3 и 5, добавив атрибуты Avtor_naz (автор и название книги), Izdat (издательство), God_izd (год издания), Data_postup (дата поступлния), Kol_str (количество страниц), Otdel (отдел), Znak_avtora (знак автора), Cena (цена), Ot_kogo (на чьи средства приобретена книга).
  6. Щелкнул правой кнопкой мыши на классе ekzemplar (экземпляр).
  7. В открывшемся меню выбрал пункт New Attribute (Создать атрибут).
  8. Ввел новый атрибут n_inventar: Integer (инвентарный номер). Нажала клавишу Enter.
  9. Ввел следующий атрибут data_spis: date (дата списания).
  10. Повторил этапы 9 и 11, добавив атрибуты N_izd (номер издания), Prichina (причина списания), N_ab (номер абонента), Data_vydachi (дата выдачи), N_akta (номер акта списания).

Добавление операций к классу ekzemplar:

  1. Щелкнул правой кнопкой мыши на классе ekzemplar.
  2. В открывшемся меню выбрал пункт New Operation (Создать операцию).
  3. Ввел новую операцию Create. Нажала клавишу Enter.
  4. Ввел следующую операцию SetInfo. Нажала клавишу Enter.
  5. Ввел следующую операцию GetInfo. Нажала клавишу Enter.

Подробное описание операций с помощью диаграммы Классов:

  1. Щелкнул мышью на классе number_izd, выделив его таким способом.
  2. Щелкнул на этом классе еще один раз, чтобы переместить курсор внутрь.
  3. Отредактировал операцию Create(), чтобы она выглядела следующим образом: Create() : Boolean
  4. Отредактировал операцию SetInfo(), чтобы она выглядела следующим образом: SetInfo(n_izd :Integer, Avtor_naz: string, Izdat: string, God_izd: string, Data_postup: date, Kol_ekz: integer, Kol_str: string, Otdel: string, Znak_avtora: string, Cena: byte, Ot_kogo: string) : Boolean
  5. Отредактировал операцию GetInfo(), чтобы она выглядела следующим образом: GetInfo() : String.
  6. Повторил соответствующие действия с остальными операциями.

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

Этапы выполнения:

Настройка:

  1. Нашел в браузере диаграмму Классов "Ввод новой книги"
  2. Дважды щелкнул на ней, чтобы открыть ее.
  3. Проверил, имеется ли на панели инструментов диаграммы кнопка Unidirectional Association.

Добавление ассоциаций:

  1. Нажал кнопку панели инструментов Unidirectional Association.
  2. Нарисовал ассоциацию от класса воод книги (ins_book) к классу номер издания (n_izd).
  3. Повторил этапы 1 и 2, создав еще ассоциации: от класса n_izd к классу экземпляр (ekzemplar)
  4. Щелкнул правой кнопкой мыши на однонаправленной ассоциации между классами ins_book и number_izd, со стороны класса ins_book.
    1. В открывшемся меню выбрал пункт Multiplicity > Zero or One.
    2. Щелкнул правой кнопкой мыши на другом конце однонаправленной ассоциации.
    3. В открывшемся меню выбрал пункт Multiplicity > Zero or One.

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

Вывод: Система состоит из большого количества классов и объектов. Ее поведение обеспечивается взаимодействием объектов. Два типа отношений, которые можно выделить на этапе анализа, - это ассоциация и агрегация.

В результате выполнения этапов были добавлены атрибуты и операции к классам диаграммы Классов "ввод новой книги". Для атрибутов и операций использованы специфические для языка особенности.

7. Создание диаграммы состояний и диаграммы компонентов

7.1 Создание диаграммы состояний

Диаграммы состояний определяют все возможные состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате наступления некоторых событий.

На диаграмме имеются два специальных состояния - начальное (start) и конечное (stop). Начальное состояние выделено черной точкой, оно соответствует состоянию объекта, когда он только что был создан. Конечное состояние обозначается черной точкой в белом кружке, оно соответствует состоянию объекта непосредственно перед его уничтожением. На диаграмме состояний может быть одно и только одно начальное состояние.

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

Создание диаграммы состояний: нашла в браузере класс ekzemplar. Щелкнула на классе правой кнопкой мыши и в открывшемся меню указала пункт New > Statechart Diagram.

Добавление начального и конечного состояний:

  1. На панели инструментов нажал кнопку Start State (Начальное состояние). Поместила это состояние на диаграмму.
  2. На панели инструментов нажал кнопку End State (Конечное состояние). Поместила это состояние на диаграмму.

Добавление суперсостояния: на панели инструментов нажал кнопку State (Состояние). Поместила это состояние на диаграмму, назвала его Initialization (Инициализация). Поместила еще одно суперсостояние и назвал его Filled (Выполнен).

Подробное описание состояний:

  1. Дважды щелкнул на состоянии Initialization (Инициализация).
  2. Щелкнул правой кнопкой мыши на окне Actions (Действия).
  3. В открывшемся меню выбрал пункт Insert (Вставить).
  4. Дважды щелкнул мышью на новом действии.
  5. Назвал его Store Come Date (Сохранить дату поступления).
  6. Убедился, что в окне When (Когда) указан пункт On Entry (На входе).
  7. Повторил этапы 3-6, добавив следующие действия: Collect Info (Собрать информацию из накладной и из книги), в окне When указала пункт Do. Add Items (Добавить к екземпляру новые графы), в окне When указала Do.
  8. Нажал на кнопки ОК два раза, чтобы закрыть спецификацию.
  9. Дважды щелкнул на состоянии Filled (Выполнен).
  10. Повторил этапы 2 - 7, добавив действие Print kat kart (напечатать каталожную карточку), указала пункт Do.

Добавление переходов:

  1. На панели инструментов нажал кнопку Transition (Переход). Щелкнула мышью на начальном состоянии. Провел линию перехода к состоянию Initialization (Инициализация).
    1. Повторил те же действия, создав следующие переходы: от состояния Initialization (Инициализация) к состоянию Filled (Выполнен).
    2. От состояния Filled (Выполнен) к конечному состоянию.

Подробное описание переходов:

  1. Дважды щелкнул на переходе от состояния Initialization (Инициализация) к состоянию Filled (Выполнен), открыв окно его спецификации.
  2. В поле Event (Событие) ввел фразу Add Item (Добавить к заказу новую позицию).
  3. Перешел на вкладку Detail (Подробно). В поле Condition (Условие) ввела No unfilled items remaining (Не осталось незаполненных позиций).

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

Рисунок 8. Диаграмма состояний

7.2 Создание диаграммы компонентов

Диаграммы компонентов показывают, как выглядит модель на физическом уровне. На них изображены компоненты программного обеспечения и связи между ними.

Этапы выполнения создания диаграммы компонентов:

  1. Создание пакетов компонентов: щелкнула правой кнопкой мыши на представлении компонентов в браузере. В открывшемся меню выбрал пункт New > Package (Создать > пакет). Назвал этот пакет Entities (Сущности). Так же создала пакет Boundaries (Границы).
  2. Добавление пакетов на Главную диаграмму Компонентов: открыла Главную диаграмму Компонентов, дважды щелкнув на ней. Перетащил пакеты Entities и Boundary из браузера на Главную диаграмму.
  3. Рисование зависимостей между пакетами: на панели инструментов нажала кнопку Dependency (Зависимость). Щелкнул мышью на упаковке Boundaries Главной диаграммы Компонентов. Провела линию зависимости до упаковки Entities. Результат добавления пакетов и рисования зависимостей между пакетами на главной диаграмме пакетов представлен на рисунке 9.

Рисунок 9. Главная диаграмма компонентов системы

  1. Добавление компонентов к пакетам и рисование зависимостей: дважды щелкнула мышью на пакете Entities Главной диаграммы Компонентов, открыв Главную диаграмму Компонентов этого пакета. На панели инструментов нажал кнопку Package Specification (Спецификация пакета). Поместил спецификацию пакета на диаграмму. Ввел имя спецификации пакета number_izd. Так же добавил спецификацию пакета ekzemplar. На панели инструментов нажал кнопку Package Body (Тело пакета). Поместил его на диаграмму. Ввел имя тела пакета number_izd. Так же добавила тело пакета ekzemplar. На панели инструментов нажал кнопку Dependency (Зависимость). Щелкнул мышью на теле пакета number_izd. Провел линию зависимости от него к спецификации пакета number_izd. Так же добавил линию зависимости между телом пакета ekzemplar и спецификацией пакета ekzemplar. Результат добавления компонентов к пакету Entities представлен на рисунке 10.

Рисунок 10. Диаграмма Компонентов пакета Entities

С помощью описанного метода создала следующие компоненты и зависимости для пакета Boundaries: Спецификацию пакета ins_book тело пакета ins_book. Результат добавления компонентов к пакету Boundaries представлен на рисунке 11.

Рисунок 11. Диаграмма Компонентов пакета Boundaries

  1. Создание диаграммы Компонентов системы: щелкнул правой кнопкой мыши на представлении Компонентов в браузере. В открывшемся меню выбрал пункт New > Component Diagram. Назвал новую диаграмму System. Дважды щелкните на этой диаграмме.
  2. Размещение компонентов на диаграмме Компонентов системы: Развернул в браузере пакет компонентов Entities, чтобы открыть его. Щелкнул мышью на спецификации пакета number_izd в пакете компонентов Entities. Перетащил эту спецификацию на диаграмму. Так же поместил на диаграмму спецификацию пакета ekzemplar. С помощью этого метода поместил на диаграмму из пакета компонентов Boundaries спецификацию пакета ins_book. На панели инструментов нажал кнопку Task Specification (Спецификация задачи). Поместил спецификацию задачи на диаграмму и назовите ее ins_Exe.
  3. Добавление оставшихся зависимостей на диаграмму Компонентов системы: уже существующие зависимости автоматически показаны на диаграмме Компонентов системы после добавления туда соответствующих компонентов. Затем добавила остальные зависимости: на панели инструментов нажал кнопку Dependency (Зависимость). Щелкнул на спецификации пакета ins_book и провел линию зависимости к спецификации пакета number_izd. От спецификации задачи ins_exe к спецификации пакета ins_book.
  4. Соотнесение классов с компонентами: в Логическом представлении браузера нашла класс number_izd пакета Entities. Перетащил этот класс на спецификацию пакета компонента number_izd в представлении Компонентов браузера. В результате класс number_izd будет соотнесен со спецификацией пакета компонента number_izd. Перетащила класс number_izd на тело пакета компонента number_izd в представлении Компонентов браузера. В результате класс number_izd будет соотнесен с телом пакета компонента number_izd. Так же соотнесла с классами следующие компоненты: класс ekzemplar со спецификацией пакета ekzemplar; класс ekzemplar с телом пакета ekzemplar; класс ins_book со спецификацией пакета ins_book; класс ins_book с телом пакета ins_book.

Результат создания диаграммы компонентов системы представлен на рисунке 12.

Рисунок 12. Диаграмма Компонентов системы

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

8. Генерация программного кода С++

В предыдущих разделах была создана модель для системы учебной библиотеки (library).Теперь сгенерируем программный код C++ для этой системы. При этом воспользуемся диаграммой Компонентов системы, представленной на рисунке 12.

Этапы выполнения:

  1. Ввод тел пакетов на диаграмму Компонентов системы: открыл диаграмму Компонентов системы. Выбрал в браузере Entities: тело пакета number_izd. «Перетащил» тело пакета number_izd на диаграмму Компонентов системы.
  2. Повторил теже действия для следующих компонентов: Entities: тело пакета ekzemplar. Boundaries: тело пакета ins_book.

Результат выполнения этапов 1,2 представлен на рисунке 13.

Рисунок 13. Диаграмма компонентов после ввода тел пакетов на диаграмму

Установка языка C++:

  1. Открыл спецификацию компонента number_izd (спецификацию пакета) в пакете компонентов Entities.
  2. Выбрал в качестве языка C++.
  3. Повторил этапы. 1 и 2 для следующих компонентов: Entities: тело пакета ekzemplar. Boundaries: спецификация пакета ins_book.

Генерация программного кода C++

  1. Открыл диаграмму Компонентов системы.
  2. Выбрал все объекты на диаграмме Компонентов системы.
  3. Выбрал Tools > C++ > Code Generation в меню.

ЗАКЛЮЧЕНИЕ

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

В процессе проектирования модели ИС были исследованы требования, предъявляемые к конечному продукту; взаимодействие с внешней средой учебной библиотеки, такие как: преподаватели, читатели, бухгалтерия, а так же входные и выходные параметры: накладные, сведения из книги, а так же различные отчеты.

Для решения данной задачи было использовано CASE – средство RationalRose.

При проектировании модели ИС учебной библиотеки были созданы:

  1. Диаграмма вариантов использования
  2. Диаграмма последовательности
  3. Кооперативная диаграмма
  4. Диаграмма классов
  5. Диаграмма состояний

В результате проектирования информационной системы был сгенерирован код на языке программирования С++.

Библиографический список

1 Воронько К.Л. Организация библиотечных фондов и каталогов. Учебник для библ. техникумов и библ. отд-ний культ.-просвет. училищ. М., «Книга», 1972. – 397 с.: ил.

2 А.М. Вендров “CASE-технологии. Современные методы и средства проектирования информационных систем.

3 Маклаков С.В. Bpwin и Erwin. CASE-средства разработки информационных систем. М.: ДИАЛОГ-МИФИ, 2000 – 256 с.

4 Уэнди Боггс, Майкл Боггс. UML и Rational Rose. Лори, 2004 – 510 с.

Приложение А

Пример статистического отчета

Статистический отчет по библиотеке

Январь 2008г.

Наименование

Остаток I – 2008

Приход

Расход

Остаток II – 2008

Кол-во, шт.

Сумма, руб.

Кол-во, шт.

Сумма, руб.

Кол-во, шт.

Сумма, руб.

Кол-во, шт.

Сумма, руб.

Книжный фонд

Отчет сдал: ________

Отчет принял: ________

Приложение Б

Пример отчета о книгообеспеченности по предметам

Отчет о книгообеспеченности по предметам

Предмет

Количество, шт.

Количество учеников

Книгообеспеченность

Математика

800

650

1,23 (800/650)

Русский язык

750

650

1,15 (750/650)

Приложение В

Пример каталожная карточка

Д27

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

ISBN 5-279-00063-9

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

ББК 32.973

Приложение Г

Пример списка задолжников по группам

Список задолжников на _________группы ______

Фамилия И.О.

Книги, имеющиеся на руках

Приложение Д

Пример списка литературы по предмету

Список литературы по ____________

Название

Автор

Количество, шт.

Приложение Е

Пример формуляр читателя

Формуляр читателя

Дата рождения_________________Адрес_______________

Группа_______________

Дата выдачи

Инв.номер

Отдел

Автор и заглавие книги

Расписка читателя в получении

Расписка библиотекаря о возврате