Унифицированный язык моделирования UML (United Modeling Language)
UML представляет собой язык для определения, представления, проектирования и документирования программных систем, организационно-экономических систем, технических систем и других систем различной природы.
UML содержит стандартный набор диаграмм и нотаций самых разнообразных видов.
Главными в разработке UML были следующие цели:
1. Предоставить пользователям готовый к использованию выразительный язык визуального моделирования.
2. Предусмотреть механизм расширяемости и специализации для расширения базовых концепций.
3. Обеспечить независимость от конкретных языков программирования и процессов разработки.
4. Обеспечить формальную основу для понимания этого языка моделирования.
5. Стимулировать рост рынка объективно-ориентированных инструментальных средств.
6. Интегрировать лучший практический опыт.
Стандарт UML v1.1 (1997) предлагает следующий набор диаграмм:
1. Структурные модели. К ним относятся:
o Диаграммы классов, используются для моделирования статистической структуры классов системы и связей между ними.
o Диаграммы компонентов, используются для моделирования иерархии компонентов системы.
o Диаграммы размещения, используются для моделирования физической архитектуры системы.
2. Модели поведения. К ним относятся:
o Диаграммы вариантов использования (USE CASE), используются для моделирования бизнес-процессов и функциональных требований к создаваемой системе.
o Диаграмма взаимодействия. Служит для моделирования процесса обмена сообщениями между объектами.
o Диаграммы состояний. Служат для моделирования поведения объектов системы при переходе из одного состояния в другое.
o Диаграммы деятельности, используются для поведения системы в рамках различных вариантов использования или потоков управления.
Диаграммы вариантов использования (USE CASE)
Вариант использования представляет собой последовательность действий (транзакций) выполненных системой в ответ на события, инициируемые действующим лицом. Вариант использования описывает типичное взаимодействие между пользователем и системой и отражает представления о поведении системы с точки зрения пользователя.
Действующее лицо - это роль, которую пользователь играет по отношению к системе. Действующие лица представляют собой роли, а не конкретных людей или наименование работы. Действующие лица делятся на 3 основных типа:
- пользователи системы
- другие системы, взаимодействующие с данными
- время (если от него зависит запуск каких-либо событий в системе).
Рисунок 18. Диаграмма вариантов процесса оформления претензии
Цель построения диаграммы - это документирование функциональных требований к системе в самом общем виде, поэтому они должны быть предельно просты. Некоторые правила при построении диаграмм:
1. Не моделировать связи между действующими лицами, по определению действующие лица находятся вне сферы деятельности.
2. Не соединять стрелкой два варианта использования непосредственно. USE CASE не описывает порядок их выполнения.
3. Каждый вариант использования должен вариант использования должен быть инициирован действующим лицом.
Моделирование вариантов использования не сводится только к рисованию диаграммы. Для последующего проектирования системы требуются более конкретные детали, они описываются в документе называемом "сценарий вариантов использования" (поток событий). Цель - описать, что будет делать система, а не она будет делать это.
Обычно описание потока событий включает следующие разделы:
1. Краткое описание.
2. Предусловие.
3. Основной поток событий.
4. Альтернативные потоки событий.
5. Постусловие.
6. Расширения.
Основной и альтернативный потоки событий:
Постусловия - это такие условия, которые всегда должны быть выполнены после завершения варианта использования. Например, если после 1-го из вариантов использования должен всегда выполняться другой это можно описать как постусловие.
Расширение - это пункт, присутствует, если в основном потоке событий имеют место относительно редко встречающиеся ситуации.
Типы связей:
Связи коммуникаций, включения, расширения и обобщения.
Связь коммуникаций - это связь между вариантами использования и действующим лицом.
Включение - применяется в тех случаях, когда имеется какой-либо фрагмент поведения системы, которая повторяется более чем в одном варианте использования.
Связь с расширением - применяется при наличии изменений в нормальном поведении системы, которые также вносятся в отдельный вариант использования.
Рисунок 19. Использование связей с расширением для модели ПО АСОУП
Рисунок 20. Коммуникационная связь между облучателем (ПСЧ) и датчиком (КБД)
Достоинства моделей USE CASE:
1. Определяют пользователей и границы системы.
2. Определяют системный интерфейс.
3. Удобное общение пользователя с разработчиком.
4. Используются для написания тестов.
5. Является основой для написания пользовательской документации и хорошо вписывается в любые методы проектирования.