МОДЕЛИРОВАНИЕ НА UML Политехнический университет 2012.

Презентация:



Advertisements
Похожие презентации
Моделирование и проектирование программного обеспечения Лекция 8. Реализация вариантов использования.
Advertisements

Теория вычислительных процессов Сети Петри для моделирования Преподаватель: Веретельникова Евгения Леонидовна 1.
Моделирование и проектирование программного обеспечения Лекция 8. Реализация вариантов использования Диаграммы коммуникаций.
Унифицированный язык визуального моделирования Unified Modeling Language (UML). Стандарт, принятый консорциумом Object Managing Group (OMG), 1997г 1. Статические.
WORK WITH UML Универсальный язык моделирования (UML) Studybook for students Author Dudnik Oxana.
Диаграмма состояний. Основные вопросы Сущность и назначение диаграммы состояний Основные компоненты Пример.
Structure Analysis and Design Technique (SADT) Методология: графическое представление блочного моделирования графическое представление блочного моделирования.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Диаграмма деятельности. Основные вопросы Определение и назначение диаграммы деятельности Понятие действия Основные компоненты диаграммы деятельности Пример.
Унифицированный язык моделирования UML является графическим языком для визуализации, конструирования и документирования систем, в которых большая роль.
9. Моделирование поведения системы на логическом уровне.
Диаграммы взаимодействия (диаграммы последовательности, диаграммы кооперации)
ПРАКТИКУМ по предмету: Информатика Алгоритмический язык Турбо-Паскаль.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
СИСТЕМА SLS-УПРАВЛЕНИЕ БИЗНЕС-ПРОЦЕССАМИ Июль, igr.net.
Диаграммы UML Диаграмма вариантов использования. Основные вопросы Назначение диаграммы вариантов использования Компоненты диаграммы вариантов использования.
Одномерный массив. Цель урока: познакомить учащихся с понятием одномерный массив Задачи: дать определение массива дать представление: об описании массива.
8. Моделирование логической структуры системы Диаграмма классов Диаграмма классов служит для моделирования классов и отношений между ними.
«Обработка массивов данных» Delphi. Тема 4:4: «Обработка массивов данных» План темы: l1l1. Понятие массива данных. l2l2. Описание массива в программе.
Диаграммы UML Диаграмма классов (Class Diagram). Основные вопросы Что такое диаграмма классов Компоненты диаграммы классов и их назначение Пример диаграммы.
Транксрипт:

МОДЕЛИРОВАНИЕ НА UML Политехнический университет 2012

Оглавление слайдов Об этом курсе Введение в UML Моделирование использования Моделирование структуры Моделирование поведения (2/2) (3 – 79 )

МОДЕЛИРОВАНИЕ НА UML Моделирование поведения

Содержание Диаграммы автомата Диаграммы деятельности Диаграммы взаимодействия Моделирование параллелизма Выводы

Диаграммы взаимодействия Моделируют поведение, описывая взаимодействия объектов : экземпляров классов, действующих лиц, вариантов использования, подсистем, компонентов, узлов на уровне ролей, а не на уровне конкретных экземпляров Моделируют поведение « по индукции », от частного к общему Взаимодействие происходит путем обмена сообщениями « Ближе » к реальному выполнению программы

Виды диаграмм взаимодействия Д иаграммы последовательности и диаграммы коммуникации семантически эквиваленты Сущности : экземпляры классификаторов Отношения : экземпляры ассоциаций, по которым передаются сообщения Обзорные диаграммы взаимодействия – смесь диаграмм деятельности и последовательности Диаграммы синхронизации – смена состояний объекта во времени

Сообщения предшественники / повторность номер : атрибуты = ИМЯ ( аргументы ) : переменные Сообщение (message) передача управления и данных от отправителя к получателю Отправка сообщения действие Получение сообщения событие Широковещательное сообщение (broadcast), т.е. имеется несколько получателей указывается с помощью повторителей Условное сообщение : со сторожевым условием

Действия отправки сообщения В UML 1: вызов метода (call) создание объекта (create) уничтожение объекта (destroy) возврат значения (return) посылка сигнала (send) UML 1 переменные := ИМЯ ( аргументы ) UML 2 атрибуты = ИМЯ ( аргументы ) : переменные

Вид стрелкиТип передачи сообщения Вложенный поток управления Сообщение отправляется, и отправитель ожидает завершения всех инициированных действий Асинхронный поток управления Сообщение асинхронно передается, при этом у отправителя сохраняется свой поток управления Возврат управления Возврат управления после выполнения всех действий, инициированных передачей сообщения с вложенным потоком управления Не определяется Допускается использование при моделировании других типов передачи управления Передача управления

Порядок сообщений На диаграмме последовательности : Определяется временем отправки Время считается текущим на диаграмме сверху вниз На диаграмме коммуникации : Определяется номером сообщения Обычная порядковая или иерархическая нумерация На диаграмме синхронизации : Определяется временем отправки Время считается текущим на диаграмме слева направо На обзорной диаграмме взаимодействия : Определяется потоком управления

Диаграммы последовательности Моделируют поведение в форме описания протокола сеанса обмена сообщениями между взаимодействующими экземплярами классификаторов во время выполнения сценария На диаграмме : только те экземпляры, связи и сообщения, которые участвуют во взаимодействии

Связь Связь (link) это экземпляр отношения = набор ссылок на экземпляры классификаторов, связанных этим отношением Постоянные связи экземпляры ассоциаций Временные связи могут ими не быть …

Линия жизни Линия жизни (lifeline): по оси времени Представляет объект во взаимодействии : отправляет сообщение получает сообщение начинает существование заканчивает существование

Описание взаимодействия (1/4) Для создания подразделения менеджер штатного расписания должен использовать специальную форму, гарантирующую выполнение проверок корректности выполнения операции по созданию подразделения

Диаграмма последовательности (2/4)

Основные классы компонента StaffManagerGui (3/4)

Диаграмма последовательности для StaffManagerGui (4/4)

Управление временем (1/3) Все подразделения, в том числе удаленные филиалы, должны быть оповещены о создании нового подразделения в течение 24 часов. Время выполнения необходимых проверок и операций при создании нового подразделения не должно превышать 3 секунды

Задержанная доставка сообщения (2/3)

Продолжительность выполнения метода (3/3)

Поток управления Спецификация выполнения (execution specification): Показывает, что некоторый объект в определенный период взаимодействия имеет фокус управления = активизирован В UML 1 называется активация (activation) Начало прием сообщения вызова метода Конец завершение выполнения метода и возврат управления Глубина стеков вызова не ограничена

Активации и возвраты

Составные шаги взаимодействия (1/2) Составные шаги взаимодействия (combined fragment) позволяют отражать ветвления, циклы Рамка, в углу которой указывается тип составного шага Ключевое слово название #ФорматОписание alt альтернатива (alternative) 2..*Сторожевое условие в каждом шаге Выбор и выполнение одной альтернативы. Можно использовать предикат else break останов 1Сторожевое условие в шаге Прекращение шага более высокого уровня

Ключевое слово название #ФорматОписание loop цикл 1Верхняя и нижняя границы числа повторений Циклическое повторение составляющего шага, пока выполнено сторожевое условие opt необязательный (optional) 1Сторожевое условие в шаге Условное выполнение шага par параллельный (parallel) 2.. * Параллельное выполнение шагов Составные шаги взаимодействия (2/2) В таблице перечислены 5 типов шагов из 12 типов, определенных в UML 2

Составной шаг взаимодействия

Составные вложенные шаги взаимодействия При запуске приложения ИС ОК необходимо : Идентифицировать и проверить пользователя ; Идентифицировать и проверить лицензию.

Использование взаимодействия Использование взаимодействия (interaction use) ссылка на взаимодействие определенное в другом месте

Состояния экземпляра класса Position

Состояния объекта на диаграмме последова - тельности

Обзорные диаграммы взаимодействия (1/2) = Interaction overview diagram Появились в UML 2 Заимствованы из MSC Поток управления и узлы управления как в диаграмме деятельности Вместо узлов действий ссылки на диаграммы последовательности

Обзорная диаграмма взаимодействия (2/2)

Диаграммы коммуникации (1/2) Сущность : объект конкретный индивидуальный объект конкретное взаимодействие слот во фрейме взаимодействия множество взаимодействий = роль ( классификатора ) Отношения : связи связывает роли классификаторов сама является слотом = роль ассоциации

Диаграммы коммуникации (2/2) Контекст взаимодействия : диаграмма коммуникации, в которой не указаны сообщения Номер сообщения : Только простые или асинхронные сообщения нумеруются подряд x x.1, х.1.1, х.1.2, … x.2, …...

Время жизни объекта Ключевое слово Способ использования Описание Create стереотип операции в сообщении Операция создает объект Destroy стереотип операции в сообщении Операция уничтожает объект Destroyed ограничение роли классификатора Объект уничтожается в процессе описываемого взаимодействия New ограничение роли классификатора Объект создается в процессе описываемого взаимодействия Transient ограничение роли классификатора Объект создается и уничтожается в процессе описываемого взаимодействия Такой объект называется временным

Диаграмма коммуникации

Диаграммы синхронизации Диаграммы синхронизации (timing diagram) описание поведения системы объектов с указанием изменения их состояний во времени Состояния могут быть : дискретные непрерывные

Диаграмма синхронизации для одного объекта

Упрощенное представление диаграммы синхронизации

Диаграмма синхрониза ции для нескольких объектов

Моделирование параллелизма Параллельность « одновременное » выполнение нескольких деятельностей Разделение времени Параллельные процессы не упорядочены во времени последовательные процессы линейно упорядочены во времени UML: параллельные потоки управления и способы взаимодействия между ними

Взаимодействие последовательных процессов Взаимодействие в UML: сообщения синхронные ( вызовы операций ) асинхронные ( посылка сигналов ) Типичный вариант : взаимодействие машин состояний разных классов с помощью действий, выполняемых на переходах

Пример : перевод сотрудника Требуется первести с одной должности на другую с сохранением ссылочной целостности leave

Исходное и целевое состояния assignP2P(person : Person, position : Position)

Изоморфные машины состояний dismiss ()

Первый сценарий выполнения

Второй сценарий выполнения

Бесконечная взаимная рекурсия leave()

Взаимная блокировка

Параллельная обработка данных Параллельная обработка данных : Начисление зарплаты, рассылка писем, создание заказа из нескольких позиций и т. д. Решение задачи : найти сумму 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;

Динамическая параллельность Динамическая параллельность (dynamic concurrency) на диаграммах деятельности в UML 1

Область разложения в UML 2 Область разложения (expansion region) структурированный узел деятельности получает коллекцию на вход разлагает коллекцию на составляющие элементы производит указанные действия индивидуально с каждым элементом коллекции помещает элементы в выходную коллекцию, если нужно

Действия над элементами коллекции Ключевое слово ОписаниеПримечания «iterative» в порядке, который задает коллекция N маркеров данных и N экземпляров тела области Выполнение экземпляров строго по очереди «parallel» параллельно, т. е. в произвольном порядке N маркеров данных и N экземпляров тела области Выполнение экземпляров в произвольном порядке «stream» конвейерным потоком N маркеров данных и 1 экземпляр тела области Маркеры данных поступают в тело по очереди, но следующий не дожидается, когда будет завершена обработка предыдущего

Последовательная область разложения 1. Рамка области разложения 2. Узел разложения 3. Ключевое слово Суммирование массива Суммировать можно в любом порядке, но переменная S одна !

Параллельная область разложения Начисление зарплаты Начислять зарплату можно в любом порядке и независимо для каждого работника ! 1.Действие по вызову деятельности 2.Ключевое слово

Параллельная область разложения (2/2) Начисление зарплаты : оклад, надбавки, налоги Начислять зарплату можно независимо для каждого работника, но налоги вычитаются после начисления оклада и надбавок !

Сокращенная нотация Если внутри области разложения содержится всего одно действие Применяется только для параллельного разложения Напоминает динамическую параллельность UML 1 1.Узел разложения 2.Маркер параллельности

Конвейерная область разложения

Параллельность на диаграммах состояний Ортогональные ( параллельные ) составные состояния и составные переходы Активное состояние (active state) в котором находится машина состояний в данный момент простое состояние все составные состояния, объемлющие данное простое состояние конфигурация активных состояний

Ортогональное составное состояние

Диаграмма автомата сотрудника ( напоминание )

Переходы, не пересекающие границу составного ортогонального состояния Аналогично последовательным составным состояниям Переход в состояние переход в начальные состояния всех областей данного состояния Переход по событию и / или со сторожевым условием из состояния распространение данного перехода на все вложенные состояния всех областей Переход по завершении из состояния синхронное завершение всех вложенных машин состояний

Ортогональные области в состоянии Employed

Составные переходы

Синхронизирующие состояния (1/2) Используется в UML 1 Синхронизирующие состояние (synch state): ставит срабатывание перехода в целевой машине в зависимость от срабатывания перехода в исходной машине Входные сегменты переходов : начинаются в развилках исходной машины состояний Выходные сегменты переходов : заканчиваются в соединениях целевой машины состояний

Синхронизирующие состояния (2/2)

Писатель и Читатель

Развилки и слияния Составной переход по завершении = развилка, слияние, линейка синхронизации UML 1 Сначала завершаются все деятельности, инцидентные входящим сегментам параллельно запускаются все деятельности, инцидентные исходящим сегментам UML 2 Развилка создает копии пришедшего маркера на каждую исходящую дугу Слияние получает маркер по всем входящим дугам отправляет маркер по исходящей дуге

Баланс развилок и слияний баланс Нарушение баланса

Диаграмма деятельности операции перевода сотрудника

Выражение обусловленного потока управления через ветвление

Обусловленный поток управления

Параллелизм на диаграммах взаимодействия На диаграммах коммуникации Номера сообщений : цифры и буквы На диаграммах последовательности Составные шаги взаимодействия

Параллельное взаимодействие

Активные классы Активный класс это класс, экземплярами которого являются активные объекты. это объект, имеющий собственный поток управления = это и есть поток управления Пассивный объект это объект класса, который не является активным

Диаграмма коммуникации с активным классом

Выводы (1/2) Диаграммы взаимодействия – последовательность сообщений при взаимодействии объектов Диаграммы взаимодействия – наиболее детальный способ описания поведения ( протокол ) Диаграммы коммуникации и последовательности семантически эквивалентны Диаграммы синхронизации показывают изменение состояния во времени Обхорные диаграммы взаимодействия являются комбинацией диаграмм деятельности и диаграмм взаимодействия

Выводы (2/2) Параллелизм на диаграммах автомата задается ортогональными составными состояниями Параллелизм на диаграммах деятельности задается развилками и слияниями потоков управления и данных Параллелизм на диаграммах последовательности задается специальными составными шагами взаимодействия Объект активного класса задает поток управления