Скачать презентацию Цикл лекций Унифицированный язык моделирования Лекция 2 Диаграмма Скачать презентацию Цикл лекций Унифицированный язык моделирования Лекция 2 Диаграмма

Лекция 2 - Диаграммы состояний и деятельности.ppt

  • Количество слайдов: 22

Цикл лекций “Унифицированный язык моделирования”. Лекция 2. «Диаграмма состояний» . 1 Цикл лекций “Унифицированный язык моделирования”. Лекция 2. «Диаграмма состояний» . 1

Диаграмма состояний. Назначение. o o Любая информационная система характеризуется некоторым поведением и функциональностью. Для Диаграмма состояний. Назначение. o o Любая информационная система характеризуется некоторым поведением и функциональностью. Для того, чтобы выяснить, в процессе какого поведения система реализует эту функциональность в языке UML применяются сразу несколько канонических диаграмм, одной из которых является диаграмма состояний (statechart diagram). Главное предназначение диаграммы состояний - описать возможные последовательности состояний и переходов, которые в совокупности характеризуют поведение элемента модели в течение его жизненного цикла. Диаграмма состояний представляет динамическое поведение сущностей, на основе спецификации их реакции на восприятие некоторых конкретных событий. 2

Автоматы. Автомат (state machine в языке UML представляет собой ) формализм, предназначенный для моделирования Автоматы. Автомат (state machine в языке UML представляет собой ) формализм, предназначенный для моделирования поведения элементов системы или системы в целом. Автомат описывает поведение объекта в форме последовательности состояний, которые охватывают все этапы его жизненного цикла, начиная от создания объекта и заканчивая его уничтожением. Каждая диаграмма состояний представляет некоторый автомат. 3

Простейшая диаграмма состояний. 4 Простейшая диаграмма состояний. 4

Формализм обычного автомата. n n n Автомат не запоминает историю перемещения из состояния в Формализм обычного автомата. n n n Автомат не запоминает историю перемещения из состояния в состояние. В каждый момент времени автомат может находиться в одном и только в одном из своих состояний. Хотя процесс изменения состояний автомата происходит во времени, явно концепция времени не входит в формализм автомата. Количество состояний автомата должно быть обязательно конечным. Граф автомата не должен содержать изолированных состояний и переходов. Автомат не должен содержать конфликтующих переходов. 5

Состояние. В языке UML под состоянием (state понимается элемент модели, ) используемый для фиксации Состояние. В языке UML под состоянием (state понимается элемент модели, ) используемый для фиксации отдельной ситуации, в течение которой имеет место выполнение некоторого условия. 6

Секция списка внутренних действий. <метка действия> '/' <выражение действия> Метка действия указывает на обстоятельства Секция списка внутренних действий. <метка действия> '/' <выражение действия> Метка действия указывает на обстоятельства или условия, при которых будет выполняться действие, определенное выражением действия. В UML для метки действия имеются три предопределенные значения: 1. entry — метка указывает на действие, специфицированное следующим за ней выражением действия, которое выполняется в момент входа в данное состояние (входное действие); 2. exit — эта метка указывает на действие, специфицированное следующим за ней выражением действия, которое выполняется в момент выхода из данного состояния (выходное действие); 3. do — эта метка специфицирует деятельность ("do activity"), которая выполняется в течение всего времени, пока объект находится в данном состоянии. 7

Начальное и конечное состояния. Начальное состояние представляет собой частный случай состояния, которое не содержит Начальное и конечное состояния. Начальное состояние представляет собой частный случай состояния, которое не содержит никаких внутренних действий. В этом состоянии находится объект по умолчанию в начальный момент времени. Оно служит для указания на диаграмме состояний графической области, от которой начинается процесс изменения состояний. Переход из начального состояния может быть помечен событием создания (инициализации) объекта. В противном случае переход никак не помечается. Конечное (финальное) состояние представляет собой частный случай состояния, которое также не может содержать никаких внутренних действий. В этом состоянии будет находиться объект по умолчанию после завершения работы автомата в конечный момент времени. 8

Переход. Простой переход simple transitionпредставляет собой ( ) отношение между двумя последовательными состояниями, которое Переход. Простой переход simple transitionпредставляет собой ( ) отношение между двумя последовательными состояниями, которое указывает на факт смены одного состояния другим. <сигнатура события>'['<сторожевое условие>']' ‘/’<выражение действия>. В свою очередь сигнатура события описывает некоторое событие с необходимыми аргументами: <имя события>'('<список параметров>')'. Формально, событие ( vent представляет собой e ) спецификацию некоторого факта, имеющего место в пространстве и во времени. 9

Сторожевое условие. Сторожевое условиеguard condition, если оно есть, всегда ( ) записывается в прямых Сторожевое условие. Сторожевое условиеguard condition, если оно есть, всегда ( ) записывается в прямых скобках после события-триггера и представляет собой некоторое булевское выражение. Введение для перехода сторожевого условия позволяет явно специфицировать семантику его срабатывания. Если сторожевое условие принимает значение "истина", то соответствующий переход может сработать, в результате чего объект перейдет в целевое состояние. Если же сторожевое условие принимает значение "ложь", то переход не может сработать, и при отсутствии других переходов объект не может перейти в целевое состояние по этому переходу. 10

Диаграмма состояний почтовой программы. 11 Диаграмма состояний почтовой программы. 11

Выражение действия ( action expressionвыполняется в ) том и только в том случае, когда Выражение действия ( action expressionвыполняется в ) том и только в том случае, когда переход срабатывает. Выражение действия представляет собой атомарную операцию (достаточно простое вычисление), выполняемую сразу после срабатывания соответствующего перехода до начала каких бы то ни было действий в целевом состоянии. Атомарность действия означает, что оно не может быть прервано никаким другим действием до тех пор, пока не закончится его выполнение. 12

Составное состояние и подсостояние. Последовательные подсостояния (sequential substates) используются для моделирования такого поведения объекта, Составное состояние и подсостояние. Последовательные подсостояния (sequential substates) используются для моделирования такого поведения объекта, во время которого в каждый момент времени объект может находиться в одном и только одном подсостояний. 13

Пример составного состояния. 14 Пример составного состояния. 14

Параллельные подсостояния. 15 Параллельные подсостояния. 15

Составное состояние со скрытой внутренней структурой. 16 Составное состояние со скрытой внутренней структурой. 16

Рекомендации. По своему назначению диаграмма состояний не является обязательным представлением в модели и как Рекомендации. По своему назначению диаграмма состояний не является обязательным представлением в модели и как бы "присоединяется" к тому элементу, который, по замыслу разработчиков, имеет нетривиальное поведение в течение своего жизненного цикла. Наличие у системы нескольких состояний, отличающихся от простой дихотомии "исправен — неисправен", "активен — неактивен", "ожидание — реакция на внешние действия", может рассматриваться как признак необходимости построения диаграммы состояний. При выделении состояний и переходов следует помнить, что длительность срабатывания отдельных переходов должна быть существенно меньшей, чем нахождение моделируемого объекта в соответствующих состояниях. Из каждого состояния на диаграмме не может быть самопроизвольного перехода в какое бы то ни было другое состояние. Все переходы должны быть явно специфицированы, в противном случае построенная диаграмма состояний является либо неполной, либо ошибочной. При разработке диаграммы состояний нужно постоянно следить, чтобы объект в каждый момент мог находиться только в единственном состоянии. 17

Диаграммы деятельности. Рисунок 5. 1. Графическое изображение состояния действия Рисунок 5. 2. Графическое изображение Диаграммы деятельности. Рисунок 5. 1. Графическое изображение состояния действия Рисунок 5. 2. Графическое изображение состояния деятельности, содержащего вложенные действия 18

Переходы и ветвления. Рисунок 5. 3. Диаграмма деятельности для алгоритма нахождения корней квадратного уравнения Переходы и ветвления. Рисунок 5. 3. Диаграмма деятельности для алгоритма нахождения корней квадратного уравнения 19

Переходы и ветвления. Рисунок 5. 4. Пример использования ветвлений на диаграмме деятельности 20 Переходы и ветвления. Рисунок 5. 4. Пример использования ветвлений на диаграмме деятельности 20

Разделение и слияние. Рисунок 5. 5. Изображение разделения и слияния параллельных потоков Рисунок 5. Разделение и слияние. Рисунок 5. 5. Изображение разделения и слияния параллельных потоков Рисунок 5. 6. Пример использования разделения и слияния потоков 21

Дорожки. Рисунок 5. 7. Фрагмент диаграммы деятельности торговой компании 22 Дорожки. Рисунок 5. 7. Фрагмент диаграммы деятельности торговой компании 22