|
|
Диаграммы состояний описывают поведение объекта во времени, то есть моделирует все возможные изменения в состоянии объекта, вызванные внешними воздействиями со стороны других объектов или извне. Диаграммы Состояний применяются для описания поведения объектов и для описания операций классов. В отличие от диаграмм взаимодействия данный тип диаграмм описывает изменение состояния только одного класса или объекта. Каждое состояние объекта представляется на Диаграмме Состояний в виде прямоугольника с закругленными углами, содержащего имя состояния, и, возможно, значение атрибутов объекта в данный момент времени. Переход осуществляется при наступлении некоторого события: получении объектом сообщения или приемом сигнала и изображается в виде стрелки, соединяющей два соседних состояния. Имя событие указывается на переходе. Кроме того, на переходе могут указываться действия, производимые объектом в ответ на внешние события (при переходе из одного состояния в другое или при нахождении в определенном состоянии).
Диаграммы Активности - частный случай Диаграмм Состояний. Каждое состояние - это суть выполнение некоторой операции, и переход в следующее состояние срабатывает только при завершении операции в исходном состоянии. Таким образом, реализуется принцип процедурного, синхронного управления, обусловленного завершением внутренних действий. Описываемое состояние не имеет внутренних переходов и переходов по внешним событиям. Основным направлением использования Диаграммы Активности является описание операций классов, когда необходимо представить алгоритм ее реализации, при этом каждый шаг является выполнением операции некоторого класса.
Диаграммы Активности - частный случай Диаграмм Состояний. Каждое состояние - это суть выполнение некоторой операции, и переход в следующее состояние срабатывает только при завершении операции в исходном состоянии. Таким образом, реализуется принцип процедурного, синхронного управления, обусловленного завершением внутренних действий. Описываемое состояние не имеет внутренних переходов и переходов по внешним событиям. Основным направлением использования Диаграммы Активности является описание операций классов, когда необходимо представить алгоритм ее реализации, при этом каждый шаг является выполнением операции некоторого класса.
Диаграммы Активности - частный случай Диаграмм Состояний. Каждое состояние - это суть выполнение некоторой операции, и переход в следующее состояние срабатывает только при завершении операции в исходном состоянии. Таким образом, реализуется принцип процедурного, синхронного управления, обусловленного завершением внутренних действий. Описываемое состояние не имеет внутренних переходов и переходов по внешним событиям. Основным направлением использования Диаграммы Активности является описание операций классов, когда необходимо представить алгоритм ее реализации, при этом каждый шаг является выполнением операции некоторого класса.
Для Диаграммы Кооперации главным является возможность отобразить не столько последовательность взаимодействия, сколько все окружение объектов, участвующих в нем. То есть показаны не только посылаемые и принимаемые сообщения, но и косвенные связи между ассоциированными объектами. Говорят, что Диаграммы Кооперации описывают полный контекст взаимодействия и представляют собой своеобразный временной "срез" конфигурации сети объектов, взаимодействующих для выполнения определенной бизнес-цели программной системы. Диаграмма кооперации изображает объекты, участвующие во взаимодействии в виде прямоугольников, содержащих имя объекта, его класс и, возможно, значение атрибутов. Ассоциации между объектами, как и на диаграммах классов, изображаются в виде соединительных линий. Возможно указание имени ассоциации и ролей, которые играют объекты в данной ассоциации. Динамические связи - потоки сообщений, представляются также в виде соединительных линий между объектами, сверху которых располагается стрелка с указанием направления и имени сообщения.
Для Диаграммы Кооперации главным является возможность отобразить не столько последовательность взаимодействия, сколько все окружение объектов, участвующих в нем. То есть показаны не только посылаемые и принимаемые сообщения, но и косвенные связи между ассоциированными объектами. Говорят, что Диаграммы Кооперации описывают полный контекст взаимодействия и представляют собой своеобразный временной "срез" конфигурации сети объектов, взаимодействующих для выполнения определенной бизнес-цели программной системы. Диаграмма кооперации изображает объекты, участвующие во взаимодействии в виде прямоугольников, содержащих имя объекта, его класс и, возможно, значение атрибутов. Ассоциации между объектами, как и на диаграммах классов, изображаются в виде соединительных линий. Возможно указание имени ассоциации и ролей, которые играют объекты в данной ассоциации. Динамические связи - потоки сообщений, представляются также в виде соединительных линий между объектами, сверху которых располагается стрелка с указанием направления и имени сообщения.
Диаграмма Следования делает упор на временную последовательность передаваемых сообщений, важен порядок, вид и имя сообщения, на диаграмме изображаются исключительно те объекты, которые непосредственно участвуют во взаимодействии и не показываются возможные статические ассоциации с другими объектами. Таким образом, для Диаграмм Следования ключевым моментом является динамика взаимодействия. Диаграмма Следования имеет два измерения. Одно - слева направо в виде вертикальных линий, изображающих объекты, участвующие во взаимодействии. Верхняя часть линий дополняется прямоугольником, содержащим имя класса объекта или имя экземпляра объекта. Второе измерение - вертикальная временная ось. Сообщения, посылаемые одним объектом другому, изображаются в виде стрелок с именем сообщения и упорядочены по времени возникновения.
Этот тип диаграмм предназначен для распределения классов и объектов по компонентам при физическом проектировании системы. Часто данный тип диаграмм называют диаграммами модулей. При проектировании больших систем может оказаться, что система должна быть разложена на несколько сотен или даже тысяч компонентов, и этот тип диаграмм позволяет не потеряться в обилии модулей и их связей.
Диаграммы размещения используются для представления конфигурации компонент, процессов и объектов, присутствующих в системе на этапе выполнения. Кроме того, Диаграммы размещения показывают физическую зависимость аппаратных устройств, задействованных в реализации системы, а также соединений между ними - маршрутов передачи информации.
УНИФИЦИРОВАННЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ UML Курс лекций. МарГТУ 2008. Рыбаков А.Е., Нехорошкова Л.Г.
Динамические модели объектно - ориентированных программных систем Диаграммы поведения Диаграммы состояний Диаграммы деятельности Диаграммы взаимодействия Диаграммы коммуникации Диаграммы последовательности
Диаграмма состояний Диаграмма состояний (statechart diagram) диаграмма, которая представляет конечный автомат. Диаграмма состояний показывает: набор состояний системы; события, которые вызывают переход из одного состояния в другое; действия, которые происходят в результате изменения состояния.
Состояние Состояние (state) - условие или ситуация в ходе жизненного цикла объекта, в течение которого он удовлетворяет логическому условию, выполняет определенную деятельность или ожидает события.
Простой переход СОБЫТИЕ Сигнал, Вызов, Таймер, Изменение состояния Если возникает событие, переход возбуждается [Сторожевое условие] Если True, то переход срабатывает Если False, то переход не срабатывает и событие теряется / Действие Выполняется, если переход срабатывает
Использование простых переходов
Использование предиката else
Действия внутри состояния
Историческое подсостояние
Таблица состояний сотрудника
Диаграмма состояний сотрудника
Светофор (составные состояния)
Светофор (простые состояния)
Видеотека
Диаграмма деятельности Особая форма конечного автомата, в которой показываются процесс вычислений и потоки работ.
Действие и деятельность в UML Действие (Action) Атомарно (не может быть прервано) Завершается (всегда и само) Мгновенно (время выполнения мало) Последовательность действий = действие * [ повторитель ] действие Деятельность (Activity) Может быть прервана событием Может продолжаться неограниченно долго Создать каталог Заполнить заказ
Типы действий в диаграммах деятельности присваивание значения := вызов операции call создание объекта new уничтожение объекта destroy возврат значения return посылка сигнала send останов terminate не интерпретируемое действие
Прием сотрудника
Прием сотрудника Дорожки swim lanes
Траектория объекта
Деятельность покупателя в интернет-магазине
Диаграммы взаимодействия Динамические аспекты системы Диаграммы коммуникации и диаграммы последовательности семантически эквиваленты Элементы диаграмм Объекты Связи Сообщения
Диаграмма сотрудничества Выделяет структурную организацию объектов, посылающих и принимающих сообщения
Сообщения Call – вызов операции Объект может вызвать свою операцию Операция должна быть определена Return – возврат значения Показывать отдельно не обязательно Send – посылка сигнала Взаимодействие автоматов Create – создание объекта Вызов конструктора Destroy – уничтожение объекта Объект может уничтожить себя
Нотация сообщений на диаграммах сотрудничества Стрелка поверх связи Тело сообщения предшественники / повторность номер : «стереотип» переменные := ИМЯ (аргументы) Предшественники Список номеров сообщений, предшествующих данному Повторность [ Сторожевое условие ] * [ Итерация сообщений ] = broadcasting
Нотация сообщений на диаграммах сотрудничества Стереотип «call» «create» и т.д. – не обязателен Номер сообщения Иерархическая десятичная нумерация – отражает вложенность потоков управления Если параллельные потоки, то буквы: A, B, … Переменные Для возвращаемых значений
Типы передачи сообщений
Потоки синхронных и асинхронных сообщений
Диаграмма сотрудничества СУП
Диаграмма последовательности
Параллельные линии жизни и условные переходы
Диаграмма последовательности СУП
Выводы Конечные автоматы — базовая алгоритмическая техника моделирования поведения Диаграмма состояний — вариант конечного автомата с различными дополнениями Диаграмма деятельности (= блок-схема) — частный случай диаграммы состояний с различными дополнениями Диаграммы сотрудничества и последовательности(диаграммы взаимодействия) семантически эквиваленты и являются протоколами выполнения (примерами)
Диаграммы компонентов Назначение Перечисление и взаимосвязи артефактов системы Сущности Компоненты Интерфейсы Классы Отношения Зависимость Ассоциация Реализация
Нотация
Стереотипы компонентов «library» «table» «file» «document» «executable» Библиотека (DLL) Таблица (БД) Файл (.h, .cpp) Документ (help) По умолчанию
Пример package diagram Компонент (component) — физически существующая часть системы, которая обеспечивает реализацию классов и отношений, а также функционального поведения моделируемой программной системы.
Видеотека
Типичные применения Монолитное приложение – диаграмма компонентов не нужна Управление конфигурацией Управление версиями Моделирование унаследованных баз данных Моделирование систем динамической архитектуры
4.3. Диаграммы размещения Назначение Описание топологии развернутой системы Oписание процесса установки программного продукта Сущности Узлы Отношения Зависимость Ассоциация
Нотация Узел — физический элемент, который существует в период работы системы и представляет ресурс, обычно имеющий память и возможности обработки. В узле размещается набор компонентов, который может перемещаться от узла к узлу
Пример deployment diagram
Видеотека
Конец Спасибо за внимание! Вопросы? Тест!!!
Summary: Лекции по курсу УМЛ часть 2
| URL: |
No comments posted yet
Comments