Язык UML
Рис. 1. Интегрированная модель сложной системы в нотации языка UML
Стандарт UML предлагает следующий набор диаграмм для моделирования:
· диаграммы вариантов использования (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) – для моделирования физической архитектуры системы.
Диаграммы вариантов использования
Понятие варианта использования (use case) впервые ввел Ивар Якобсон и придал ему такую значимость, что в настоящее время вариант использования превратился в основной элемент разработки и планирования проекта.
Вариант использования представляет собой последовательность действий (транзакций), выполняемых системой в ответ на событие, инициируемое некоторым внешним объектом (действующим лицом). Вариант использования описывает типичное взаимодействие между пользователем и системой. В простейшем случае вариант использования определяется в процессе обсуждения с пользователем тех функций, которые он хотел бы реализовать. На языке UML вариант использования изображают следующим образом:
Рис.2. Вариант использования
Действующее лицо (actor) – это роль, которую пользователь играет по отношению к системе. Действующие лица представляют собой роли, а не конкретных людей или наименования работ. Несмотря на то, что на диаграммах вариантов использования они изображаются в виде стилизованных человеческих фигурок, действующее лицо может также быть внешней системой, которой необходима некоторая информация от данной системы. Показывать на диаграмме действующих лиц следует только в том случае, когда им действительно необходимы некоторые варианты использования. На языке UML действующие лица представляют в виде фигур:
Рис.3. Действующее лицо (актер)
Действующие лица делятся на три основных типа:
· пользователи;
· системы;
· другие системы, взаимодействующие с данной;
· время.
Время становится действующим лицом, если от него зависит запуск каких-либо событий в системе.
Связи между вариантами использования и действующими лицами
В языке UML на диаграммах вариантов использования поддерживается несколько типов связей между элементами диаграммы. Это связи коммуникации (communication), включения (include), расширения (extend) и обобщения (generalization).
Связь коммуникации – это связь между вариантом использования и действующим лицом. На языке UML связи коммуникации показывают с помощью однонаправленной ассоциации (сплошной линии).
Рис.4. Пример связи коммуникации
Связь включения применяется в тех ситуациях, когда имеется какой-либо фрагмент поведения системы, который повторяется более чем в одном варианте использования. С помощью таких связей обычно моделируют многократно используемую функциональность.
Связь расширения применяется при описании изменений в нормальном поведении системы. Она позволяет варианту использования только при необходимости использовать функциональные возможности другого.
Рис.5. Пример связи включения и расширения
С помощью связи обобщения показывают, что у нескольких действующих лиц имеются общие черты.
Рис.6. Пример связи обобщения