ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Ставропольский технологический институт сервиса
(филиал)
Южно – Российского государственного университета экономики и сервисаКафедраРабота допущена к защите
_________________________
(подпись,дата)
КУРСОВАЯ РАБОТА
тема______________________________________________________________
подисциплине_____________________________________________________
Разработал_____________________________________________________
(подпись) (инициалы, фамилия)
группа___________________
ОЦЕНКАРуководитель_____________________________________________________
(подпись, ученая степень, звание) (инициалы, фамилия)Члены комиссии______________________________________________________________
(подпись, ученая степень, звание) (инициалы, фамилия)
______________________________________________
(подпись, ученая степень, звание) (инициалы,фамилия)
Ставрополь_____
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Ставропольский технологический институт сервиса (филиал)
Южно – Российского государственного университета экономики и сервисаФакультетКафедра
ЗАДАНИЕ
накурсовую работупо дисциплине
длястудента (ки) «____» курса_____________группы
_____________________________________________________________
(фамилия, имя, отчество)
Тема__________________________________________________________________________________________________________________________________________________________________________________________________
Сроквыполнения
Исходныеданные и основные эксплуатационные требования______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________/>
ОГЛАВЛЕНИЕ
Введение
1 Краткаяхарактеристика предметной области
1.1 Общаяхарактеристика учебной библиотеки как объекта хозяйственной деятельности
1.2Обоснование актуальности разработки объектно-ориентированной моделиинформационной системы для учебной библиотеки
1.3Формулировка задач проектирования
2 Созданиедиаграммы вариантов использования
3 Созданиедиаграммы последовательности
4 Созданиекооперативной диаграммы
5 Созданиедиаграммы классов
6 Добавлениедеталей к описаниям операций и определение атрибутов классов. Добавление связеймежду классами
7 Созданиедиаграммы состояний и диаграммы компонентов
7.1 Созданиедиаграммы состояний
7.2 Созданиедиаграммы компонентов
8 Генерацияпрограммного кода С
Заключение
Библиографическийсписок
Приложение А
Приложение Б
Приложение В
Приложение Г
Приложение Д
Приложение Е
/>Введение
Цель курсовой работы является закрепление теоретического материаладисциплины «Проектирование информационных систем», а также приобретение навыковпрактического объектно-ориентированного проектирования информационных систем всреде Rational Rose.
Rational Rose – популярное средство визуального моделированияобъектно-ориентированных информационных систем компании Rational Software Corp.Работа продукта основана на универсальном языке моделирования UML (UniversalModeling 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, содержащий следующий текст:
а) Библиотекарьвыбирает пункт «Ввод новой книги» из имеющегося меню.
б) Система выводитформу «Сведения о книге».
в) Библиотекарьвводит дату поступления книг, цена одного экземпляра,на чьи средства приобретены, в каком количестве, автор, название, издательство,год издания, количество страниц, шифр книги, по какой дисциплине.
г) Номеринвентарный формируется автоматически, путем нахождения в базе данныхмаксимального и увеличения его на 1.
д) Номериздания формируется автоматически, путем нахождения в базе данных максимальногои увеличения его на 1.
е) Вцикле от одного до введенного количества поступивших изданий, сохраняютсяинвентарные номера в базе данных, увеличиваясь на 1.
ж)Библиотекарь сохраняет сведения о новой книге.
з) Системасоздает новый экземпляр и сохраняет его в базе данных.
2) Щелкнула правойкнопкой мыши на варианте использования «ввод новой книги».
3) В открывшемсяменю выбрала пункт Open Specification (Открыть спецификацию).
4) Перешла навкладку файлов.
5) Щелкнула правой кнопкоймыши на белом поле и из открывшегося меню выбрала пункт Insert File (Ввестифайл).
6) Указала файл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) В раскрывающемся спискеклассов выбрала пункт (Создать). Появилось окно спецификацииклассов.
4) В поле имениввела имя Ввод.
5) Щелкнула накнопке ОК. Вернулась к окну спецификации объекта.
6) В списке классоввыбрала теперь класс Ввод.
7) Щелкнула накнопке ОК, чтобы вернуться к диаграмме. Теперь объект называется Форма вводановой книги: ввод.
8) Для соотнесенияостальных объектов с классами повторила этапы с 1 по 7:
Класс Номер издание соотнесла собъектом Номер издания.
Соотнесение сообщений с операциями:
1) Щелкнула правойкнопкой на сообщении 1, открыть форму ввода
2) В открывшемся менювыбрала пункт (создать операцию). Появилось окноспецификации операции.
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 и ShowAll 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.
4) В открывшемсяменю выбрала пункт Multiplicity > Zero or One.
5) Щелкнула правойкнопкой мыши на другом конце однонаправленной ассоциации.
6) В открывшемсяменю выбрала пункт 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) Назвала его StoreCome 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 (Инициализация).
2) Повторила те жедействия, создав следующие переходы: от состояния Initialization(Инициализация) к состоянию Filled (Выполнен).
3) От состоянияFilled (Выполнен) к конечному состоянию.
Подробное описание переходов:
1) Дважды щелкнула напереходе от состояния Initialization (Инициализация) к состоянию Filled(Выполнен), открыв окно его спецификации.
2) В поле Event(Событие) ввела фразу Add Item (Добавить к заказу новую позицию).
3) Перешла навкладку Detail (Подробно). В поле Condition (Условие) ввела No unfilled itemsremaining (Не осталось незаполненных позиций).
Результат выполнения этапов посозданию диаграммы состояний представлен на рисунке 8.
/>
Рисунок 8. Диаграмма состояний
7.2 Создание диаграммы компонентов
Диаграммы компонентовпоказывают,как выглядит модель на физическом уровне. На них изображены компоненты программногообеспечения и связи между ними.
Этапы выполнения созданиядиаграммы компонентов:
1) Создание пакетовкомпонентов: щелкнула правой кнопкой мыши на представлении компонентов вбраузере. В открывшемся меню выбрала пункт New > Package (Создать >пакет). Назвала этот пакет Entities (Сущности). Так же создала пакет Boundaries(Границы).
2) Добавлениепакетов на Главную диаграмму Компонентов: открыла Главную диаграммуКомпонентов, дважды щелкнув на ней. Перетащила пакеты Entities и Boundary избраузера на Главную диаграмму.
3) Рисованиезависимостей между пакетами: на панели инструментов нажала кнопку Dependency(Зависимость). Щелкнула мышью на упаковке Boundaries Главной диаграммыКомпонентов. Провела линию зависимости до упаковки Entities. Результатдобавления пакетов и рисования зависимостей между пакетами на главной диаграммепакетов представлен на рисунке 9.
/>
Рисунок 9. Главная диаграммакомпонентов системы
4) Добавлениекомпонентов к пакетам и рисование зависимостей: дважды щелкнула мышью на пакете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
5) Созданиедиаграммы Компонентов системы: щелкнула правой кнопкой мыши на представленииКомпонентов в браузере. В открывшемся меню выбрала пункт New > ComponentDiagram. Назвала новую диаграмму System. Дважды щелкните на этой диаграмме.
6) Размещениекомпонентов на диаграмме Компонентов системы: Развернула в браузере пакеткомпонентов Entities, чтобы открыть его. Щелкнула мышью на спецификации пакета number_izd в пакете компонентов Entities. Перетащила этуспецификацию на диаграмму. Так же поместила на диаграмму спецификацию пакета ekzemplar. С помощью этого метода поместила надиаграмму из пакета компонентов Boundaries спецификацию пакета ins_book. На панели инструментов нажала кнопку TaskSpecification (Спецификация задачи). Поместила спецификацию задачи на диаграммуи назовите ее ins_Exe.
7) Добавлениеоставшихся зависимостей на диаграмму Компонентов системы: уже существующиезависимости автоматически показаны на диаграмме Компонентов системы последобавления туда соответствующих компонентов. Затем добавила остальныезависимости: на панели инструментов нажала кнопку Dependency (Зависимость).Щелкнула на спецификации пакета ins_book и провела линию зависимости кспецификации пакета number_izd. От спецификации задачи ins_exe к спецификации пакета ins_book.
8) Соотнесениеклассов с компонентами: в Логическом представлении браузера нашла класс 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++ > CodeGeneration в меню.
ЗАКЛЮЧЕНИЕ
Одной из главных целей данной курсовой работы является проектированиемодели информационной системы учебной библиотеки.
В процессе проектирования модели ИС были исследованы требования, предъявляемыек конечному продукту; взаимодействие с внешней средой учебной библиотеки, такиекак: преподаватели, читатели, бухгалтерия, а так же входные и выходныепараметры: накладные, сведения из книги, а так же различные отчеты.
Для решения данной задачи было использовано CASE – средство RationalRose.
При проектировании модели ИС учебной библиотеки были созданы:
1) Диаграмма вариантов использования
2) Диаграмма последовательности
3) Кооперативная диаграмма
4) Диаграмма классов
5) Диаграмма состояний
В результате проектирования информационной системы был сгенерирован кодна языке программирования С++.
Библиографический список
1 www.interface.ru/rational/rosemain.htm
2 ВоронькоК.Л. Организация библиотечных фондов и каталогов. Учебник для библ. техникумови библ. отд-ний культ.-просвет. училищ. М., «Книга», 1972. – 397 с.: ил.
3 А.М.Вендров “CASE-технологии. Современные методы и средства проектированияинформационных систем”, cтатьяc сайта www.citforum.ru
4 МаклаковС.В. Bpwin и Erwin. CASE-средстваразработки информационных систем. М.: ДИАЛОГ-МИФИ, 2000 – 256 с.
5 УэндиБоггс, Майкл Боггс. 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
/>Приложение Г
Пример списка задолжников по группам
Список задолжников на _________группы ______Фамилия И.О. Книги, имеющиеся на руках
/>Приложение Д
Пример списка литературы по предмету
Список литературы по ____________Название Автор Количество, шт.
/>Приложение Е
Пример формуляр читателя
Формуляр читателя/>
Датарождения_________________Адрес_______________
Группа_______________Дата выдачи Инв.номер Отдел Автор и заглавие книги Расписка читателя в получении Расписка библиотекаря о возврате /> /> /> /> /> /> /> />