Введение
Унифицированный язык моделирования (Unified Modeling Language (UML)) — это стандартный язык спецификации, визуализации, построения и документирования артефактов автоматизированной системы, применяется в бизнес-моделировании и других сферах, связанных с разработкой программного обеспечения.
Унифицированный язык моделирования (Unified Modeling Language (UML)) — это стандартный язык спецификации, визуализации, построения и документирования артефактов автоматизированной системы, применяется в бизнес-моделировании и других сферах, связанных с разработкой программного обеспечения. UML представляет собой ряд лучших инженерных нотаций, которые прошли успешную проверку в моделировании больших и комплексных систем. UML является одной из наиболее важных частей разработки объектно-ориентированных программ и процесса разработки программного обеспечения. UML использует по большей части графические нотации, выражающие дизайн проекта автоматизированной системы. Использование UML помогает взаимодействовать проектной команде, рассматривать потенциальные схемы и проверять архитектурный план программного продукта.
Унифицированный язык моделирования UML (Unified Modeling Languagе) был создан для того, чтобы участники процесса создания ПО могли строить модели для
1) визуализации системы;
2) определения ее структуры и поведения;
3) сборки системы;
4) документирования решений, принимаемых в процессе разработки.
Визуально представленная информация в виде моделей и определенных диаграмм и пояснений к ним, разработанных с помощью UML, обеспечивает связь между потребителями и разработчиками, внутри коллектива разработчиков, сводя к минимуму риск неправильного понимания.
Спецификации большого количества решений, созданных с помощью UML, помогают создать четкую, полную и однозначную модель. Модели, созданные на ранних стадиях для осмысления и исследования системы, в процессе работы и накопления информации деталями, проходят стадию промежуточных моделей. Эти модели, сконцентрированные на ключевых концепциях системы и на механизмах реализации этих концепций и дополненные с помощью языка UML множеством деталей, обычно служат в качестве достаточно полного описания важных особенностей результирующей системы.
Конструкции, создаваемые UML, имеют много общего с объектно-ориентированными языками программирования С++ или Java или языками программирования баз данных.
Хорошее оформление модели, объединение моделей с результатами разработки процесса позволяет создать хорошую качественную документацию.
Целью курсовой работы является разработка объектно-ориентированной модели информационной системы для учета предоставления номеров клиентам с использованием языка UML.
В качестве среды разработки модели системы использовался программный продукт Rational Rose7.0.0.0.
Объектом исследования в курсовой работе является деятельность гостиницы по предоставлению свободных номеров клиентам.
Деятельность гостиницы организована следующим образом: гостиница предоставляет номера клиентам на определенный срок. Каждый номер характеризуется вместимостью (количество человек), комфортностью (люкс, полулюкс, обычный) и ценой. Клиентами гостиницы являются различные лица, о которых менеджер собирает определенную информацию (фамилия, имя, отчество и паспортные данные). Сдача номера клиенту производится при наличии свободных мест в номерах, подходящих клиенту по указанным выше параметрам. При заселении фиксируется дата заселения. При выезде из гостиницы для каждого места запоминается дата освобождения.
Актуальность данной работы обусловлена использованием современного языка объектно-ориентированного моделирования UML.
Язык UML – это графический язык программирования, который предназначен для визуализации, спецификации, проектирования и документирования всех артефактов, создаваемых при разработке программных систем.
Задачей курсовой работы является разработка объектно-ориентированной модели информационной системы для учета предоставления номеров клиентам с использованием языка UML.
В результате проектирования должна быть получена объектно-ориентированная модель информационной системы для учета предоставления номеров клиентам. Модель будет включать в себя:
- диаграмму вариантов использования;
- диаграмму классов;
- диаграмму кооперации;
- диаграмму последовательностей;
- диаграмму состояний;
- диаграмму деятельности.
1. Статические модели предметной области
В статических моделях система представляется неизменной во времени. Такие
модели удобны, когда нужно описать структуру системы, то есть из каких объектов
она состоит, как эти объекты связаны с друг с другом и каковы свойства этих
объектов. Образно говоря, статическая модель представляет собой как бы
“фотографию” существенных свойств системы в некоторый момент времени.
1.1. Диаграмма вариантов использования (прецедентов)
Диаграммы вариантов использования описывают функциональное назначение системы или то, что система должна делать. Разработка диаграммы преследует следующие цели:
· определить общие границы и контекст моделируемой предметной области;
· сформулировать общие требования к функциональному поведению проектируемой системы;
· разработать исходную концептуальную модель системы для ее последующей детализации в форме логических и физических моделей;
· подготовить исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.
Суть диаграммы вариантов использования состоит в следующем. Проектируемая система представляется в виде множества сущностей или актеров, взаимодействующих с системой с помощью вариантов использования. При этом актером (actor) или действующим лицом называется любая сущность, взаимодействующая с системой извне. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик. Вариант использования служит для описания сервисов, которые система предоставляет актеру. Диаграмма вариантов использования может дополняться пояснительным текстом, который раскрывает смысл или семантику составляющих ее компонентов.
В качестве действующих лиц на диаграмме прецедентов используются объекты:
1. Менеджер;
2. Клиент.
Менеджер управляет вариантами использования:
1. Сбор информации о клиенте;
2. Прослеживание наличия свободных номеров в гостинице;
3. Оформление заказа на предоставление номера;
4. Отклонение заказа на предоставление номера.
Клиент управляет вариантами использования:
1. Предоставление сведений о себе.
При отклонение заказа используется связь расширение. Направление стрелки позволяет понять инициатора расширения.
Для построения диаграммы вариантов использования необходимо выполнить следующие действия:
1. Запускаем программу из меню Пуск – Программы – IBM Rational.
2. В браузере открывшегося окна открыть пункт Use Case View.
3. Выбрать пункт Main, щелкнув на него мышкой дважды.
4. На диаграмму добавить действующее лицо (актер) Менеджер: выбрав инструмент Actor и щелкнув в окне диаграммы.
5. На диаграмму добавить вариант использования Сбор информации о клиенте: выбрать инструмент Use Case и щелкнуть в окне диаграммы.
6. Аналогично добавить на диаграмму остальные варианты использования.
7. Указать абстрактные варианты использования Отклонение заказа на предоставление номера. Для этого щелкнуть правой кнопкой мыши на варианте использования. В открывшемся меню выбрать пункт Open Specification, а затем отметить переключатель Abstract.
8. Добавить ассоциации: выбрать инструмент Unidirectional Association и указать ассоциацию актером «Менеджер» и вариантом использования «Сбор информации о клиенте».
9. Добавить остальные ассоциации: «Прослеживание наличия свободных номеров», «Оформление заказа на предоставление номера», «Предоставление сведений о себе».
10. Добавить связь расширения для абстрактных вариантов использования. Для этого инструментом Generalization указываем связь между вариантами использования «Отклонить заказ на …» и «Оформить заказа на …». Затем щелкнуть правой кнопкой мыши на этой связи, выбрать пункт «Open Specification», в списке стереотипов ввести слово «расширении», нажать ОК.
11. Добавить описания к актеру и вариантам использования: выделить в браузере актера (или вариант использования), в окне документации ввести краткое описание.
12. Добавить описания главного потока событий для каждого варианта использований. Для этого необходимо создать текстовый документ с описанием, щелкнуть правой кнопкой мыши на вариант использования, в открывшемся меню выбрать пункт «Open Specification». Перейти на вкладку файлов, щелкнуть правой кнопкой мыши по белому полю, выбрать пункт Insert File и прикрепить нужный файл.
В приложении 1 представлена диаграмма вариантов использования, которая показывает, что в качестве действующего лица выступает Менеджер, который управляет вариантами использования – Сбор информации о клиенте, Прослеживание наличия свободных номеров в гостинице, Оформление заказа на предоставление номера.
Кроме того, варианты использования для ввода заказов расширены вариантами использования для отклонения заказа по любой причине.
1.2. Диаграмма классов
Классы - это строительные блоки любой объектно-ориентированной системы. Они представляют собой описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. При проектировании объектно-ориентированных систем диаграммы классов обязательны.
Классы используются в процессе анализа предметной области для составления словаря предметной области разрабатываемой системы. Это могут быть как абстрактные понятия предметной области, так и классы, на которые опирается разработка и которые описывают программные или аппаратные сущности.
Диаграмма классов - это набор статических, декларативных элементов модели. Диаграммы классов могут применяться и при прямом проектировании, то есть в процессе разработки новой системы, и при обратном проектировании - описании существующих и используемых систем. Информация с диаграммы классов напрямую отображается в исходный код приложения - в большинстве существующих инструментов UML-моделирования возможна кодогенерация для определенного языка программирования (обычно Java или C++). Таким образом, диаграмма классов - конечный результат проектирования и отправная точка процесса разработки.
Для построения диаграммы классов необходимо выполнить следующие действия:
1. В браузере на пункт Logical View нажать правой кнопкой мыши и поочередно выбрать пункты New и ClassDiagram.
2. В браузере на пункт Logical View нажать правой кнопкой мыши и поочередно выбрать пункты New и Class. Указать название классов.
3. В каждый класс добавить атрибуты. Для этого щелкнуть правой кнопкой по названию класса, выбрать пункты New и Attribute, перечислить атрибуты каждого класса.
4. Отобразить созданные классы на диаграмме классов: мышкой каждый класс перетащить на рабочую область диаграммы классов.
5. Отобразить связи между классами с помощью инструмента Unidirectional Association. Добавить имя связи и роли для каждого класса, щелкнув мышкой дважды по связи.
В приложении 2 представлена диаграмма классов для модели деятельности гостиницы. На диаграмме отображены следующие классы: Клиенты, Заселение, Номера. Показаны связи между классами Заселение и Клиенты, а также Заселение и Номера.
Видно, что менеджер может оформить один номер гостиницы (+1) для разных клиентов (+1..*). Но для выбора одного номера предоставлен номерной фонд из нескольких номеров (+1).
2. Динамические модели предметной области
Динамическая модель — теоретическая конструкция (модель), описывающая изменение (динамику) состояний объекта. Динамическая модель может включать в себя описание этапов или фаз или диаграмму состояний подсистем. Часто имеет математическое выражение и используется главным образом в общественных науках(например, в социологии), имеющих дело с динамическими системами, однако современная парадигма науки способствует тому, что данная модель также имеет широкое распространение во всех без исключения науках, в том числе в естественных и технических. Динамическая модель описывает систему с различными аккумуляторами энергии, представляемыми в форме математических операций суммирования, интегрирования и дифференцирования. Например, потенциальная и кинетическая энергия механического движения массивного объекта. Такие модели в теории автоматического управления строятся в виде передаточных функций.
Математическая модель, в которой в той или иной форме раскрываются причинно-следственные связи, определяющие процесс перехода системы из одного состояния в другое, называется динамической моделью.
2.1. Диаграммы кооперации
Главная особенность диаграммы кооперации заключается в возможности графически представить не только последовательность взаимодействия, но и все структурные отношения между объектами, участвующими в этом взаимодействии.
Прежде всего, на диаграмме кооперации в виде прямоугольников изображаются участвующие во взаимодействии объекты, содержащие имя объекта, его класс и, возможно, значения атрибутов. Далее, как и на диаграмме классов, указываются ассоциации между объектами в виде различных соединительных линий. При этом можно явно указать имена ассоциации и ролей, которые играют объекты в данной ассоциации. Дополнительно могут быть изображены динамические связи - потоки сообщений. Они представляются также в виде соединительных линий между объектами, над которыми располагается стрелка с указанием направления, имени сообщения и порядкового номера в общей последовательности инициализации сообщений.
Для создания диаграммы кооперации для варианта использования Сбор информации о клиенте необходимо активизировать соответствующую диаграмму последовательностей ДП-Сбор информации о клиенте. И нажать кнопку F5.
В приложении 3 представлена полученная диаграмма кооперации. Показано, что действующее лицо Менеджер выполняет последовательно операции Сбор информации о клиенте, Прослеживание наличия свободных номеров, Оформление заказа на предоставление номера Также он сохраняет заказ. Данные выбираются и/или сохраняются в объектах Сбор информации о клиенте, Прослеживание наличия свободных номеров, Оформление заказа на предоставление номера.
В приложении 4 представлена диаграмма кооперации для варианта использования Предоставление номера. Показано, что действующее лицо Менеджер выполняет последовательно операции Прослеживание наличия свободных номеров, Оформление заказа на предоставление номера Также он сохраняет заказ. Данные выбираются и/или сохраняются в объектах Прослеживание наличия свободных номеров, Оформление заказа на предоставление номера.
2.2. Диаграммы последовательностей
Диаграмма последовательности — диаграмма, на которой для некоторого набора объектов на единой временной оси показаны жизненный цикл (создание-деятельность-уничтожение) и взаимодействие (отправка запросов и получение ответов). Используется в языке UML.
Основными элементами диаграммы последовательности являются обозначения объектов (прямоугольники с названиями объектов), вертикальные «линии жизни» (англ. lifeline), отображающие течение времени, прямоугольники, отражающие деятельность объекта или исполнение им определенной функции (прямоугольники на пунктирной «линии жизни»), и стрелки, показывающие обмен сигналами или сообщениями между объектами.
Для построения диаграммы последовательностей необходимо выполнить следующие действия:
1. Щелкнуть в браузере правой кнопкой мыши на LogicalView и поочередно выбрать пункты New и SequenceDiagram. Назвать диаграмму Предоставление номера.
2. Перетащить действующее лицо Менеджер из браузера на диаграмму.
3. Для добавления на диаграмму объекта Сбор информации о клиенте использовать инструмент Object.
4. Повторить действия для добавления объектов Прослеживание наличия свободных номеров в гостинице и Оформление заказа на предоставление номера.
5. Для добавления сообщений на диаграмму на панели инструментов выбрать ObjectMessage и указать имя сообщения Сбор информации о клиенте.
6. Повторить действия для добавления сообщений выбрать Прослеживание наличия свободных номеров в гостинице, Оформление заказа на предоставление номера и Сохранить заказ.
7. Для того чтобы соотнести объект Сбор информации о клиенте с соответствующим классом необходимо щелкнуть правой кнопкой мыши на этом объекте и выбрать пункт OpenSpecification. В строке Class выбрать соответствующий объекту класс.
8. Аналогично соотнести остальные объекты с соответствующими классами.
9. Для того, чтобы соотнести сообщения с операциями необходимо щелкнуть правой кнопкой мыши на сообщение и выбрать пункт new operation. В поле имени операции ввести имя операции, нажать OK. Еще раз щелкнуть правой кнопкой мыши на сообщении и выбрать соответствующую операцию.
10. Для построения второй диаграммы последовательностей проделать то же самое.
В приложении 5 представлена диаграмма последовательностей (взаимодействия) для варианта использования Сбор информации о клиенте объектно-ориентированной модели деятельности гостиницы.
Показано, что для сбора информации о клиенте необходимо выполнить следующие операции Собрать информацию о клиенте, Проследить наличие свободных номеров, Оформить заказ на предоставление номера, Сохранить заказ.
Введенные данные сохраняются как объекты Сбор информации о клиенте, Прослеживание наличия свободных номеров, Оформление заказа на предоставление номера, Сохранение заказа.
Объекты соответствуют классам диаграммы классов Клиенты, Номера, Заселение.
В приложении 6 представлена диаграмма последовательности для (взаимодействия) для варианта использования Предоставление номера.
Показано, что для оформления номера необходимо выполнить следующие операции Проследить наличие свободных номеров, Оформить заказ на предоставление номера, Сохранить заказ.
Введенные данные сохраняются как объекты Прослеживание наличия свободных номеров, Оформление заказа на предоставление номера, Сохранение заказа.
Объекты соответствуют классам диаграммы классов Номера, Заселение.
2.3. Диаграммы состояний
Диаграмма состояний определяет все возможные состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате влияния некоторых событий. Диаграммы состояний строятся для единственного класса и описывают поведение единственного объекта.
Для построения диаграммы состояний необходимо выполнить следующие действия:
1. Выбрать класс Заселение, щелкнуть правой кнопкой мыши и выбрать пункты New – Statechart Diagramm. Назвать диаграмму – ДС-Заселение.
2. Поместить на диаграмму начальное и конечное состояние. Для этого использовать инструменты Start State и End State.
3. Добавить на диаграмму супер состояние. Для этого использовать инструмент State.
4. Аналогично добавить состояния Выполнения, Отмены, Инициализация, Ожидания.
5. Добавить описания состояний. Для этого дважды щелкнуть мышкой на состоянии Инициализация, выбрать вкладку Actions, нажать кнопку Insert, дважды щелкнуть мышью на новом действии. Убедиться, что выбран пункт On Entry, а затем назвать действия, указать фамилию. Аналогично добавить остальные действия, но использовать пункт Do.
6. Аналогично описать состояния Выполнения и Отмены.
7. Для добавления переходов использовать кнопку State Transition.
8. Для добавления описания переходов необходимо дважды щелкнуть мышкой на нем, открыть окно спецификации, в поле Event ввести фразу Выполнить заказ.
9. Аналогично добавить описания к остальным переходам.
В приложении 7 представлена диаграмма состояний для класса Заселение. Показано, что на входе вводится информация о клиенте и о номере. Затем выполняется заказ на предоставление номера или происходит отмена заказа.
2.4. Диаграммы деятельности
Диаграмма деятельности— UML-диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла ко входам другого.
Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.
Для построения диаграммы деятельности необходимо выполнить следующие действия:
1. Щелкнуть правой кнопкой мыши на Use Case View в браузере и выбрать пункт New, затем Activity Diagramm. Назвать диаграмму Диаграмма деятельности.
2. Поместить на диаграмму начальное и конечное состояние. Для этого использовать инструменты Start State и End State.
3. Добавить на диаграмму состояния отражающие последовательные действия с информационной системой. Для этого использовать инструмент State.
4. Для добавления переходов использовать кнопку State Transition.
5. Для добавления описания перехода необходимо дважды щелкнуть мышкой на нем, открыть окно спецификации, в поле Event ввести соответствующее описание.
В приложении 8 представлена диаграмма деятельности для модели информационной системы - гостиница. Показано, что на входе в гостиницу прослеживается наличие свободных номеров, если свободные номера имеются - клиент выбирает номер, если нет свободных номеров, то действие завершается. Далее, если есть номер удовлетворяющий требованиям клиента, номер оформляется и клиент заселяется. Если клиент не выбрал номер из имеющихся - действие завершается.
Заключение
В процессе выполнения курсовой работы - разработана объектно-ориентированная модель информационной системы гостиницы с использованием языка UML.
В ходе разработки модели были изучены основы языка моделирования UML и построены диаграммы:
1. диаграмма вариантов использования
2. диаграмма классов
3. диаграмма кооперации
4. диаграмма последовательностей
5. диаграмма состояний
6. диаграмма деятельности
Объектно-ориентированная модель системы составлена с использованием прикладного программного обеспечения Rational Rose 7. 0.0.0.
Разработанная модель показывает возможности автоматизации деятельности гостиницы и позволяет вести учет предоставления номеров клиентам.
Приложение 1
Приложение 2
Приложение 3
Приложение 4
Приложение 5
Приложение 6
Приложение 7
Приложение 8