Теория
Введение
В современной практике проектирования сложных систем и, в частности программного обеспечения, в настоящее время стали широко применяться визуальные модели, которые представляют собой средства для описания, проектирования и документирования архитектуры системы. Таким образом, модели строятся для того, чтобы понять и осмыслить структуру и поведение будущей системы, облегчить управление процессом ее создания и уменьшить возможный риск, а также документировать принимаемые проектные решения.
Одним из факторов, от которых зависит успех проекта, является наличие строгого стандартного языка моделирования. Таким языком является универсальный язык моделирования UML (U nified M odeling L anguage). Построение моделей и диаграмм UML выполняется с помощью различных программных систем автоматизации проектирования, так называемых CASE –средств (C omputer A ided S oftware E ngineering). В качестве такого средства все часто используется Rational Rose.
Средства UML
Универсальный язык моделирования UML содержит стандартный набор диаграмм и нотаций самых разнообразных видов. Стандарт UML версии 1.1, принятый OMG в 1997 году, предлагает следующий набор диаграмм для моделирования:
· диаграммы вариантов использования или диаграммы прецедентов (use case diagrams), используемые для моделирования бизнес-процессов организации и требований к создаваемой системе;
· диаграммы классов (class diagrams) – для моделирования статической структуры классов системы и связей между ними;
· диаграммы поведения системы (behavior diagrams):
o диаграммы взаимодействия (interaction diagrams);
- диаграммы последовательности (sequence diagrams);
- кооперативные диаграммы (collaboration diagrams) – для моделирования процесса обмена сообщениями между объектами;
o диаграммы состояний (statechart diagrams) – для моделирования поведения объектов системы при переходе из одного состояния в другое;
o диаграммы деятельности (activity diagrams) - для моделирования поведения системы в рамках различных вариантов использования, или моделирования деятельности;
· диаграммы реализации (implementation diagrams);
o диаграммы компонентов (component diagrams) – для моделирования иерархии компонентов (подсистем) системы;
o диаграммы размещения (deployment diagrams) – для моделирования физической архитектуры системы.
Запуск Rational Rose(StarUML):
Откроется диалоговое окно для создания новой модели с тремя вкладками:
- New (Approaches) –новая модель (подходы);
- Existing(Open Files) – существующая модель с последующим выбором файла модели из папки на диске;
- Recent – последние используемые модели с последующим выбором из списка нужной модели.
Для создания новой модели нажать клавишу Cancel. Откроется окно экрана интерфейса Rational Rose (StarUML) со следующими элементами:
- браузер (browser) объектов модели используется для быстрой навигации по модели;
- окно документации (documentation window) используется для работы с текстовым описанием элементов модели;
- панели инструментов (toolbars) и строка меню – в верхней части экрана;
- окно диаграммы (diagram window) с панелью элементов, которые можно наносить на диаграмму – для просмотра и редактирования одной или нескольких диаграмм UML.
Браузер – это иерархическая структура, позволяющая осуществлять навигацию по модели. С помощью браузера можно:
- добавлять к модели элементы;
- просматривать существующие элементы модели;
- просматривать существующие связи между элементами модели;
- перемещать элементы модели;
- переименовывать элементы модели;
- добавлять элементы модели на диаграмму;
- связывать элемент с файлом или адресом Интернета;
- группировать элементы в пакеты;
- работать с детализированной спецификацией элемента;
- открывать диаграмму.
Браузер поддерживает четыре представления (view):
- вариантов использования – прецедентов (папка, или пакет Use Case View);
- компонентов (папка, или пакет Component View);
- размещения (папка, или пакет Deployment View);
- логическое представление (папка, или пакет Logical View).
Представление вариантов использования содержит всех актеров, все прецеденты и диаграммы для конкретной системы.
Логическое представление концентрируется на том, как система будет реализовывать поведение, описанное в вариантах использования. Оно дает подробную картину составных частей системы и описывает взаимодействие этих частей. Логическое представление включает, помимо прочего, конкретные требуемые классы, диаграммы классов и диаграммы состояний. С их помощью конструируется детальный проект создаваемой системы. Логическое представление содержит:
- Классы;
- Диаграммы классов. Как правило, для описания системы используется несколько диаграмм классов, каждая из которых отображает некоторое подмножество всех классов системы.
- Диаграммы взаимодействия, применяемые для отображения объектов, участвующих в одном потоке событий прецедента.
- Диаграммы состояний.
- Пакеты, являющиеся группами взаимосвязанных классов.
Представление компонентов содержит:
- Компоненты, являющиеся физическими модулями системы;
- Диаграммы компонентов;
- Пакеты, являющиеся группами связанных компонентов.
Представление размещения соответствует физическому размещению системы, которое может отличаться от ее логической архитектуры. Представление размещения может содержать:
- Процессы, являющиеся потоками, исполняемыми в отведенной для них области памяти.
- Процессоры, включающие любые компьютеры, способные обрабатывать данные. Любой процесс выполняется на одном или нескольких процессорах.
- Устройства, т.е. любая аппаратура, не способная обрабатывать данные (терминалы ввода-вывода, принтеры и пр.).
- Диаграмма размещения.
Диаграммы вариантов использования
(диаграммы прецедентов – Use Case)
Прецедент (вариант использования) – это последовательность действий, выполняемых системой в ответ на событие, инициируемое некоторым внешним воздействием (действующим лицом – актером). Прецедент описывает типичное взаимодействие между пользователем и системой.
Актер (действующее лицо) – это роль, которую пользователь играет по отношению к системе. Несмотря на то, что актер изображается на диаграмме в виде стилизованной человеческой фигурки, актером может быть внешняя система (подсистема), которой необходима информация от данной системы, или которая сообщает некоторую информацию данной системе. Таким образом, актерами могут быть:
- пользователи системы;
- другие системы, взаимодействующие с данной;
- время, если от него зависит запуск каких-либо событий в системе.
Таким образом, прецеденты (варианты использования) – это функции, выполняемые системой, а актеры (действующие лица) – это заинтересованные лица по отношению к создаваемой системе.
В языке UML для прецедентов и актеров поддерживается несколько типов связей. Это - связи коммуникации (communication), включения (include), расширения (extend) и обобщения (generalization).
Связь коммуникации (communication) –однонаправленная обычная связь. Направление стрелки указывает, кто инициирует коммуникацию.
Связь включения (include)– применяется тогда, когда имеется какой-либо фрагмент поведения системы, который повторяется более чем в одном прецеденте (например, прецедент аутентифицировать пользователя). Направление связи в этом случае указывается от базового прецедента к используемому.
Связь расширения (extend) – применяется при описании
- изменений в нормальном поведении системы;
- дополнительных режимах;
- режимов, которые запускаются только при определенных условиях, например, сигнал тревоги;
- альтернативных потоков, которые запускаются по выбору актера.
Связь обобщения – показывает, что у нескольких актеров имеются общие черты. Например, клиенты могут быть корпоративные и индивидуальные.
Практическая работа 1. Диаграммы прецедентов.
Создание диаграммы прецедентов