Similar presentations:
Моделирование динамических отношений на UML
1. Моделирование динамических отношений на UML
1.2.
3.
4.
5.
6.
Диаграммы поведения на UML
Диаграмма прецедентов (Use Case diagram)
Диаграмма последовательностей (Sequence diagram)
Диаграммы взаимодействий (Interaction diagram)
Диаграмма деятельности (Activity diagram)
Диаграмма состояний (Statechart diagram)
Преподаватель:
Ботов Дмитрий Сергеевич
2. Отношения между объектами
СтруктурныеОтношения
между
объектами
Динамические
2
3. Диаграммы поведения на UML
Диаграммапрецедентов
• описывает функциональность, организацию
поведения системы
• описывает взаимодействие объектов в
Диаграмма
взаимодействий системе
Диаграмма
состояний
Диаграмма
деятельности
• описывает изменение состояний в системе
в ответ на события
• демонстрирует передачу управления от
одной деятельности к другой
3
4. Применение диаграммы прецедентов (Use case diagram)
• Прецеденты служат UML-представлением функций системы• Прецеденты описывают взаимодействия между системой и
пользователями, уделяя основное внимание тому, что система
«делает» для пользователя
• Модель прецедентов описывает функциональное поведение
системы в целом или ее отдельных подсистем
• Модель прецедентов НЕ специфицирует,
КАК функции будут реализованы в системе
4
5. Актор
Актор – это находящийся вне описываемойсистемы пользователь или другая система,
взаимодействующие с ней
Имя актора
Акторами на диаграмме прецедентов могут быть:
• Роли пользователей в системе
• Внешние системы и устройства,
взаимодействующие с моделируемой системой
(интегрированные с ней)
5
6. Прецедент
Имя прецедентаПрецедент - описание множества последовательностей
действий (включая варианты), выполняемых
системой для того, чтобы актор мог получить определенный
результат.
• Отражает типичное взаимодействие пользователя
и компьютерной системы
• Охватывает некоторую очевидную для
пользователя функцию
• Может быть как небольшим, так и достаточно
крупным
• Решает некоторую дискретную задачу
пользователя
6
7. Пример диаграммы прецедентов
Описаниепрецедента
Описание
прецедента
Офисный
персонал
Контроль
работ
Печать
отчетов
Система управления таксопарком
Водители
Механики
Получение
заказов
Регистрация
7
8. Отношение обобщения между акторами
• Применяется для того, чтобыперенять от родительского
актора базовые
характеристики и
прецеденты, а затем
добавить к ним
особенности.
• Обобщение специализирует
актора или создаёт его
разновидность.
Learning Management System
студент
Авторизация на
сайте
Работа со списком
пользователей
преподаватель
8
9. Связь «включение» между прецедентами
• Обозначается <<include>>• Применяется, когда имеется какой-либо фрагмент
поведения системы, который повторяется более, чем
в одном варианте использования
• Отпадает необходимость дублировать одинаковые
варианты поведения системы
Еще один
включающий
прецедент
Включающий
прецедент
<<include>>
Включаемый
прецедент
9
10. Пример включения прецедентов
Отправкаэлектронной почты
<<include>>
Пользователь
Сервер SMTP
Проверка на malware
<<include>>
Сервер POP3
Получение
электронной почты
10
11. Связь «расширение» между прецедентами
• Обозначается <<extend>>• Применяется в тех случаях, когда один вариант
использования подобен другому, но несет несколько
большую нагрузку
• Следует применять, когда вы описываете альтернативные
варианты в типичном поведении системы
расширяемый
прецедент
<<extend>>
Расширяющий
прецедент
11
12. Пример применения расширения прецедентов
БанкоматПолучение
наличных
<<extend>>
пользователь
Отмена транзакции
12
13. Применение связей между прецедентами
1314. Документирование прецедентов
ТекстВыделить
1
1..*
Уточнить
Прецедент
Что делать?
1
Описание
поведения
прецедента
1
Выделить
Требования
к системе
Текст
1
1..*
Текст
Сценарий - конкретная
последовательность действий,
иллюстрирующая поведение.
Сценарии
Как делать?
14
15. Формы сценариев
• Простая текстовая форма:Пользователь вставляет карточку.
Система запрашивает PIN.
Пользователь вводит PIN.
Система проверяет PIN.
• Таблица из двух столбцов:
Действия пользователя
Вставка карточки
Ввод PIN
Реакция системы
Считывание номера карточки
Запрос PIN
Проверка PIN
15
16. Упражнение
Опишите сценарииработы автомата
по приготовлению кофе
16
17. Диаграммы взаимодействий
Диаграмма взаимодействийописывает взаимодействия,
состоящие из множества объектов
и отношений между ними,
включая сообщения, которыми они
обмениваются.
Диаграммы
взаимодействий
(Interaction diagram)
Диаграммы
последовательностей
(Sequence diagram)
Диаграммы
кооперации
(Collaboration
diagram)
17
18. Диаграмма последовательностей (Sequence diagram)
• Отображаетвзаимодействие объектов
в динамике
• Акцентирует внимание на
временной
упорядоченности
сообщений
• Иллюстрирует логику
развития сценария
использования (use case)
18
19. Пример диаграммы последовательностей (1)
1920. Пример диаграммы последовательностей (2)
2021. Пример диаграммы последовательностей (3)
2122. Диаграмма кооперации (Interaction diagram)
• акцентирует внимание наструктурной организации
объектов, принимающих участие
во взаимодействии
• описывает пути взаимодействия
объектов и очередность передачи
сообщений
• Семантически эквивалентна
диаграмме последовательностей
22
23. Пример диаграммы взаимодействия
2324. Диаграмма деятельности (Activity diagram)
• Диаграмма деятельностипоказывает
поток переходов от одной
деятельности к другой.
• Такие диаграммы
детализируют особенности
алгоритмической и
логической реализации
операций, выполняемых
системой
• Напоминают блок-схемы
алгоритма
24
25. Пример диаграммы деятельности
2526. Диаграмма состояний (Statechart diagram)
• Объекты имеют как поведение, так и состояние• В каждый момент времени объект находится в некотором
определенном состоянии
• Диаграмма состояний показывает, как объект переходит из
одного состояния в другое
• Пример:
26
27. Пример диаграммы состояний
2728. Резюме: рассмотренные вопросы
• Какие существуют UML-диаграммы для моделированиединамических аспектов системы?
• Как описать функциональность системы с помощью
диаграммы прецедентов?
• Как смоделировать взаимодействие объектов во времени с
помощью диаграмм взаимодействия?
• Как описать алгоритмическую последовательность действий в
системе с помощью диаграммы деятельности?
• Как описать состояния объектов и переходы между ними с
помощью диаграммы состояний?
28