Методические указания

Вид материалаМетодические указания

Содержание


6Лабораторная работа №5. диаграммы поведения
Подобный материал:
1   2   3   4   5   6   7   8

5.3Содержание отчета


1. Наименование и цель работы, номер варианта.

2. Разработанные диаграммы последовательности.

3. Спецификация диаграмм последовательности.

4. Разработанные диаграммы кооперации уровня примеров.

5. Выводы.

5.4Контрольные вопросы


1. Назначение диаграммы последовательности.

2. Особенности диаграммы последовательности.

3. Элементы диаграммы последовательности. Объекты.

4. Элементы диаграммы последовательности. Сообщения.

5. Диаграмма кооперации уровня спецификации.

6. Диаграмма кооперации уровня примеров.

6ЛАБОРАТОРНАЯ РАБОТА №5. ДИАГРАММЫ ПОВЕДЕНИЯ

6.1Цель работы


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

6.2Теоретические сведения

6.2.1Диаграмма состояний


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

Главное предназначение этой диаграммы — описать возможные последовательности состояний и переходов, которые в совокупности характеризуют поведение элемента модели в течение его жизненного цикла. Диаграмма состояний представляет динамическое поведение сущностей, на основе спецификации их реакции на восприятие некоторых конкретных событий. Системы, которые реагируют на внешние действия от других систем или от пользователей, иногда называют реактивными. Если такие действия инициируются в произвольные случайные моменты времени, то говорят об асинхронном поведении модели.

Состояние


Понятие состояния (state) является фундаментальным не только в метамодели языка UML, но и в прикладном системном анализе.

В языке UML под состоянием понимается абстрактный метакласс, используемый для моделирования отдельной ситуации, в течение которой имеет место выполнение некоторого условия. Состояние может быть задано в виде набора конкретных значений атрибутов класса или объекта, при этом изменение их отдельных значений будет отражать изменение состояния моделируемого класса или объекта.

Переход


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

Переход осуществляется при наступлении некоторого события: окончания выполнения деятельности (do activity), получении объектом сообщения или приемом сигнала. На переходе указывается имя события. Кроме того, на переходе могут указываться действия, производимые объектом в ответ на внешние события при переходе из одного состояния в другое. Срабатывание перехода может зависеть не только от наступления некоторого события, но и от выполнения определенного условия, называемого сторожевым условием. Объект перейдет из одного состояния в другое в том случае, если произошло указанное событие и сторожевое условие приняло значение "истина".

6.2.2Диаграмма деятельности


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

Для моделирования процесса выполнения операций в языке UML используются диаграммы деятельности. Применяемая в них графическая нотация во многом похожа на нотацию диаграммы состояний, поскольку на диаграммах деятельности также присутствуют обозначения состояний и переходов. Отличие заключается в семантике состояний, которые используются для представления не деятельностей, а действий, и в отсутствии на переходах сигнатуры событий. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в следующее состояние срабатывает только при завершении этой, операции в предыдущем состоянии. Фактически, диаграммы деятельности можно считать частным случаем диаграмм состояний.

6.2.3Рекомендации по построению диаграмм поведения

Диаграмма состояний


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

Диаграмма деятельности


Диаграммы деятельности играют важную роль в понимании процессов реализующих алгоритмы выполнения операций классов и потоков управления в моделируемой системе.

Содержание диаграммы деятельности во многом напоминает диаграмму состояний, хотя и не тождественно ей. В частности, эта диаграмма строится для отдельного класса, варианта использования, отдельной операции класса или целой подсистемы.

В случае типового проекта большинство деталей реализации действий могут быть известны заранее на основе анализа существующих систем или предшествующего опыта разработки систем-прототипов. Использование типовых решений может существенно сократить время разработки и избежать возможных ошибок при реализации проекта.

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