Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемИнга Шиндякова
1 МОДЕЛИРОВАНИЕ НА UML Политехнический университет 2012
2 Оглавление слайдов Об этом курсе Введение в UML Моделирование использования Моделирование структуры Моделирование поведения (2/2) (3 – 79 )
3 МОДЕЛИРОВАНИЕ НА UML Моделирование поведения
4 Содержание Диаграммы автомата Диаграммы деятельности Диаграммы взаимодействия Моделирование параллелизма Выводы
5 Диаграммы взаимодействия Моделируют поведение, описывая взаимодействия объектов : экземпляров классов, действующих лиц, вариантов использования, подсистем, компонентов, узлов на уровне ролей, а не на уровне конкретных экземпляров Моделируют поведение « по индукции », от частного к общему Взаимодействие происходит путем обмена сообщениями « Ближе » к реальному выполнению программы
6 Виды диаграмм взаимодействия Д иаграммы последовательности и диаграммы коммуникации семантически эквиваленты Сущности : экземпляры классификаторов Отношения : экземпляры ассоциаций, по которым передаются сообщения Обзорные диаграммы взаимодействия – смесь диаграмм деятельности и последовательности Диаграммы синхронизации – смена состояний объекта во времени
7 Сообщения предшественники / повторность номер : атрибуты = ИМЯ ( аргументы ) : переменные Сообщение (message) передача управления и данных от отправителя к получателю Отправка сообщения действие Получение сообщения событие Широковещательное сообщение (broadcast), т.е. имеется несколько получателей указывается с помощью повторителей Условное сообщение : со сторожевым условием
8 Действия отправки сообщения В UML 1: вызов метода (call) создание объекта (create) уничтожение объекта (destroy) возврат значения (return) посылка сигнала (send) UML 1 переменные := ИМЯ ( аргументы ) UML 2 атрибуты = ИМЯ ( аргументы ) : переменные
9 Вид стрелкиТип передачи сообщения Вложенный поток управления Сообщение отправляется, и отправитель ожидает завершения всех инициированных действий Асинхронный поток управления Сообщение асинхронно передается, при этом у отправителя сохраняется свой поток управления Возврат управления Возврат управления после выполнения всех действий, инициированных передачей сообщения с вложенным потоком управления Не определяется Допускается использование при моделировании других типов передачи управления Передача управления
10 Порядок сообщений На диаграмме последовательности : Определяется временем отправки Время считается текущим на диаграмме сверху вниз На диаграмме коммуникации : Определяется номером сообщения Обычная порядковая или иерархическая нумерация На диаграмме синхронизации : Определяется временем отправки Время считается текущим на диаграмме слева направо На обзорной диаграмме взаимодействия : Определяется потоком управления
11 Диаграммы последовательности Моделируют поведение в форме описания протокола сеанса обмена сообщениями между взаимодействующими экземплярами классификаторов во время выполнения сценария На диаграмме : только те экземпляры, связи и сообщения, которые участвуют во взаимодействии
12 Связь Связь (link) это экземпляр отношения = набор ссылок на экземпляры классификаторов, связанных этим отношением Постоянные связи экземпляры ассоциаций Временные связи могут ими не быть …
13 Линия жизни Линия жизни (lifeline): по оси времени Представляет объект во взаимодействии : отправляет сообщение получает сообщение начинает существование заканчивает существование
14 Описание взаимодействия (1/4) Для создания подразделения менеджер штатного расписания должен использовать специальную форму, гарантирующую выполнение проверок корректности выполнения операции по созданию подразделения
15 Диаграмма последовательности (2/4)
16 Основные классы компонента StaffManagerGui (3/4)
17 Диаграмма последовательности для StaffManagerGui (4/4)
18 Управление временем (1/3) Все подразделения, в том числе удаленные филиалы, должны быть оповещены о создании нового подразделения в течение 24 часов. Время выполнения необходимых проверок и операций при создании нового подразделения не должно превышать 3 секунды
19 Задержанная доставка сообщения (2/3)
20 Продолжительность выполнения метода (3/3)
21 Поток управления Спецификация выполнения (execution specification): Показывает, что некоторый объект в определенный период взаимодействия имеет фокус управления = активизирован В UML 1 называется активация (activation) Начало прием сообщения вызова метода Конец завершение выполнения метода и возврат управления Глубина стеков вызова не ограничена
22 Активации и возвраты
23 Составные шаги взаимодействия (1/2) Составные шаги взаимодействия (combined fragment) позволяют отражать ветвления, циклы Рамка, в углу которой указывается тип составного шага Ключевое слово название #ФорматОписание alt альтернатива (alternative) 2..*Сторожевое условие в каждом шаге Выбор и выполнение одной альтернативы. Можно использовать предикат else break останов 1Сторожевое условие в шаге Прекращение шага более высокого уровня
24 Ключевое слово название #ФорматОписание loop цикл 1Верхняя и нижняя границы числа повторений Циклическое повторение составляющего шага, пока выполнено сторожевое условие opt необязательный (optional) 1Сторожевое условие в шаге Условное выполнение шага par параллельный (parallel) 2.. * Параллельное выполнение шагов Составные шаги взаимодействия (2/2) В таблице перечислены 5 типов шагов из 12 типов, определенных в UML 2
25 Составной шаг взаимодействия
26 Составные вложенные шаги взаимодействия При запуске приложения ИС ОК необходимо : Идентифицировать и проверить пользователя ; Идентифицировать и проверить лицензию.
27 Использование взаимодействия Использование взаимодействия (interaction use) ссылка на взаимодействие определенное в другом месте
28 Состояния экземпляра класса Position
29 Состояния объекта на диаграмме последова - тельности
30 Обзорные диаграммы взаимодействия (1/2) = Interaction overview diagram Появились в UML 2 Заимствованы из MSC Поток управления и узлы управления как в диаграмме деятельности Вместо узлов действий ссылки на диаграммы последовательности
31 Обзорная диаграмма взаимодействия (2/2)
32 Диаграммы коммуникации (1/2) Сущность : объект конкретный индивидуальный объект конкретное взаимодействие слот во фрейме взаимодействия множество взаимодействий = роль ( классификатора ) Отношения : связи связывает роли классификаторов сама является слотом = роль ассоциации
33 Диаграммы коммуникации (2/2) Контекст взаимодействия : диаграмма коммуникации, в которой не указаны сообщения Номер сообщения : Только простые или асинхронные сообщения нумеруются подряд x x.1, х.1.1, х.1.2, … x.2, …...
34 Время жизни объекта Ключевое слово Способ использования Описание Create стереотип операции в сообщении Операция создает объект Destroy стереотип операции в сообщении Операция уничтожает объект Destroyed ограничение роли классификатора Объект уничтожается в процессе описываемого взаимодействия New ограничение роли классификатора Объект создается в процессе описываемого взаимодействия Transient ограничение роли классификатора Объект создается и уничтожается в процессе описываемого взаимодействия Такой объект называется временным
35 Диаграмма коммуникации
36 Диаграммы синхронизации Диаграммы синхронизации (timing diagram) описание поведения системы объектов с указанием изменения их состояний во времени Состояния могут быть : дискретные непрерывные
37 Диаграмма синхронизации для одного объекта
38 Упрощенное представление диаграммы синхронизации
39 Диаграмма синхрониза ции для нескольких объектов
40 Моделирование параллелизма Параллельность « одновременное » выполнение нескольких деятельностей Разделение времени Параллельные процессы не упорядочены во времени последовательные процессы линейно упорядочены во времени UML: параллельные потоки управления и способы взаимодействия между ними
41 Взаимодействие последовательных процессов Взаимодействие в UML: сообщения синхронные ( вызовы операций ) асинхронные ( посылка сигналов ) Типичный вариант : взаимодействие машин состояний разных классов с помощью действий, выполняемых на переходах
42 Пример : перевод сотрудника Требуется первести с одной должности на другую с сохранением ссылочной целостности leave
43 Исходное и целевое состояния assignP2P(person : Person, position : Position)
44 Изоморфные машины состояний dismiss ()
45 Первый сценарий выполнения
46 Второй сценарий выполнения
47 Бесконечная взаимная рекурсия leave()
48 Взаимная блокировка
49 Параллельная обработка данных Параллельная обработка данных : Начисление зарплаты, рассылка писем, создание заказа из нескольких позиций и т. д. Решение задачи : найти сумму S заданных чисел ai, i = 1, …, n var A : array [1..n] of real; S : real; i : integer; S := 0; for i:=1 to n do S := S + A[i]; ИЛИ var A : bag [n] of real; S : real; S := 0; for each a A do S := S + a;
50 Динамическая параллельность Динамическая параллельность (dynamic concurrency) на диаграммах деятельности в UML 1
51 Область разложения в UML 2 Область разложения (expansion region) структурированный узел деятельности получает коллекцию на вход разлагает коллекцию на составляющие элементы производит указанные действия индивидуально с каждым элементом коллекции помещает элементы в выходную коллекцию, если нужно
52 Действия над элементами коллекции Ключевое слово ОписаниеПримечания «iterative» в порядке, который задает коллекция N маркеров данных и N экземпляров тела области Выполнение экземпляров строго по очереди «parallel» параллельно, т. е. в произвольном порядке N маркеров данных и N экземпляров тела области Выполнение экземпляров в произвольном порядке «stream» конвейерным потоком N маркеров данных и 1 экземпляр тела области Маркеры данных поступают в тело по очереди, но следующий не дожидается, когда будет завершена обработка предыдущего
53 Последовательная область разложения 1. Рамка области разложения 2. Узел разложения 3. Ключевое слово Суммирование массива Суммировать можно в любом порядке, но переменная S одна !
54 Параллельная область разложения Начисление зарплаты Начислять зарплату можно в любом порядке и независимо для каждого работника ! 1.Действие по вызову деятельности 2.Ключевое слово
55 Параллельная область разложения (2/2) Начисление зарплаты : оклад, надбавки, налоги Начислять зарплату можно независимо для каждого работника, но налоги вычитаются после начисления оклада и надбавок !
56 Сокращенная нотация Если внутри области разложения содержится всего одно действие Применяется только для параллельного разложения Напоминает динамическую параллельность UML 1 1.Узел разложения 2.Маркер параллельности
57 Конвейерная область разложения
59 Параллельность на диаграммах состояний Ортогональные ( параллельные ) составные состояния и составные переходы Активное состояние (active state) в котором находится машина состояний в данный момент простое состояние все составные состояния, объемлющие данное простое состояние конфигурация активных состояний
60 Ортогональное составное состояние
61 Диаграмма автомата сотрудника ( напоминание )
62 Переходы, не пересекающие границу составного ортогонального состояния Аналогично последовательным составным состояниям Переход в состояние переход в начальные состояния всех областей данного состояния Переход по событию и / или со сторожевым условием из состояния распространение данного перехода на все вложенные состояния всех областей Переход по завершении из состояния синхронное завершение всех вложенных машин состояний
63 Ортогональные области в состоянии Employed
64 Составные переходы
65 Синхронизирующие состояния (1/2) Используется в UML 1 Синхронизирующие состояние (synch state): ставит срабатывание перехода в целевой машине в зависимость от срабатывания перехода в исходной машине Входные сегменты переходов : начинаются в развилках исходной машины состояний Выходные сегменты переходов : заканчиваются в соединениях целевой машины состояний
66 Синхронизирующие состояния (2/2)
67 Писатель и Читатель
68 Развилки и слияния Составной переход по завершении = развилка, слияние, линейка синхронизации UML 1 Сначала завершаются все деятельности, инцидентные входящим сегментам параллельно запускаются все деятельности, инцидентные исходящим сегментам UML 2 Развилка создает копии пришедшего маркера на каждую исходящую дугу Слияние получает маркер по всем входящим дугам отправляет маркер по исходящей дуге
69 Баланс развилок и слияний баланс Нарушение баланса
70 Диаграмма деятельности операции перевода сотрудника
71 Выражение обусловленного потока управления через ветвление
72 Обусловленный поток управления
73 Параллелизм на диаграммах взаимодействия На диаграммах коммуникации Номера сообщений : цифры и буквы На диаграммах последовательности Составные шаги взаимодействия
74 Параллельное взаимодействие
76 Активные классы Активный класс это класс, экземплярами которого являются активные объекты. это объект, имеющий собственный поток управления = это и есть поток управления Пассивный объект это объект класса, который не является активным
77 Диаграмма коммуникации с активным классом
78 Выводы (1/2) Диаграммы взаимодействия – последовательность сообщений при взаимодействии объектов Диаграммы взаимодействия – наиболее детальный способ описания поведения ( протокол ) Диаграммы коммуникации и последовательности семантически эквивалентны Диаграммы синхронизации показывают изменение состояния во времени Обхорные диаграммы взаимодействия являются комбинацией диаграмм деятельности и диаграмм взаимодействия
79 Выводы (2/2) Параллелизм на диаграммах автомата задается ортогональными составными состояниями Параллелизм на диаграммах деятельности задается развилками и слияниями потоков управления и данных Параллелизм на диаграммах последовательности задается специальными составными шагами взаимодействия Объект активного класса задает поток управления
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.