Моделирование динамических отношений на UML
Отношения между объектами
Диаграммы поведения на UML
Применение диаграммы прецедентов (Use case diagram)
Актор
Прецедент
Пример диаграммы прецедентов
Отношение обобщения между акторами
Связь «включение» между прецедентами
Пример включения прецедентов
Связь «расширение» между прецедентами
Пример применения расширения прецедентов
Применение связей между прецедентами
Документирование прецедентов
Формы сценариев
Упражнение
Диаграммы взаимодействий
Диаграмма последовательностей (Sequence diagram)
Пример диаграммы последовательностей (1)
Пример диаграммы последовательностей (2)
Пример диаграммы последовательностей (3)
Диаграмма кооперации (Interaction diagram)
Пример диаграммы взаимодействия
Диаграмма деятельности (Activity diagram)
Пример диаграммы деятельности
Диаграмма состояний (Statechart diagram)
Пример диаграммы состояний
Резюме: рассмотренные вопросы
0.96M
Категория: ПрограммированиеПрограммирование

Моделирование динамических отношений на 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. Применение связей между прецедентами

13

14. Документирование прецедентов

Текст
Выделить
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)

19

20. Пример диаграммы последовательностей (2)

20

21. Пример диаграммы последовательностей (3)

21

22. Диаграмма кооперации (Interaction diagram)

• акцентирует внимание на
структурной организации
объектов, принимающих участие
во взаимодействии
• описывает пути взаимодействия
объектов и очередность передачи
сообщений
• Семантически эквивалентна
диаграмме последовательностей
22

23. Пример диаграммы взаимодействия

23

24. Диаграмма деятельности (Activity diagram)

• Диаграмма деятельности
показывает
поток переходов от одной
деятельности к другой.
• Такие диаграммы
детализируют особенности
алгоритмической и
логической реализации
операций, выполняемых
системой
• Напоминают блок-схемы
алгоритма
24

25. Пример диаграммы деятельности

25

26. Диаграмма состояний (Statechart diagram)

• Объекты имеют как поведение, так и состояние
• В каждый момент времени объект находится в некотором
определенном состоянии
• Диаграмма состояний показывает, как объект переходит из
одного состояния в другое
• Пример:
26

27. Пример диаграммы состояний

27

28. Резюме: рассмотренные вопросы

• Какие существуют UML-диаграммы для моделирование
динамических аспектов системы?
• Как описать функциональность системы с помощью
диаграммы прецедентов?
• Как смоделировать взаимодействие объектов во времени с
помощью диаграмм взаимодействия?
• Как описать алгоритмическую последовательность действий в
системе с помощью диаграммы деятельности?
• Как описать состояния объектов и переходы между ними с
помощью диаграммы состояний?
28
English     Русский Правила