Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка к ср по системному анализу ПО ИС.doc
Скачиваний:
11
Добавлен:
29.04.2019
Размер:
708.1 Кб
Скачать

Диаграмма состояний (statechart diagram)

Объекты характеризуются поведением и состоянием, в котором находятся. Например, человек может быть новорожденным, младенцем, ребенком, подростком или взрослым. Другими словами, объекты что-то делают и что-то "знают". Диаграммы состояний применяются для того, чтобы объяснить, каким образом работают сложные объекты.

Состояние (state) - ситуация в жизненном цикле объекта, во время которой он удовлетворяет некоторому условию, выполняет определенную деятельность или ожидает какого-то события. Состояние объекта определяется значениями некоторых его атрибутов и присутствием или отсутствием связей с другими объектами.

Диаграмма состояний показывает, как объект переходит из одного состояния в другое. Очевидно, что диаграммы состояний служат для моделирования динамических аспектов системы. Диаграмма состояний полезна при моделировании жизненного цикла объекта. От других диаграмм диаграмма состояний отличается тем, что описывает процесс изменения состояний только одного экземпляра определенного класса - одного объекта, причем объекта реактивного, то есть объекта, поведение которого характеризуется его реакцией на внешние события. Понятие жизненного цикла применимо как раз к реактивным объектам, настоящее состояние (и поведение) которых обусловлено их прошлым состоянием. Но диаграммы состояний важны не только для описания динамики отдельного объекта. Они могут использоваться для конструирования исполняемых систем путем прямого и обратного проектирования. И они действительно с успехом применяются в таком качестве, вспомним существующие варианты "исполняемого UML", такие как UNIMOD, FLORA и др.

Скругленные прямоугольники представляют состояния, через которые проходит объект в течение своего жизненного цикла. Стрелками показываются переходы между состояниями, которые вызваны выполнением методов описываемого диаграммой объекта. Существует также два вида псевдосостояний: начальное, в котором находится объект сразу после его создания (обозначается сплошным кружком), и конечное, которое объект не может покинуть, если перешел в него (обозначается кружком, обведенным окружностью). При переходах указывается условие, при котором переход выполняется и, возможно, через символ / может указываться выполняемое при переходе действие. Кроме того, деятельность может указываться и в самом состоянии. Эта деятельность может позразделяться на деятельность при входе (entry/), текущая деятельность (do/) и деятельность при выходе(exit/). На рисунке 3.9 приведена диаграмма состояний для таймера.

Рис. 3.9 – Диаграмма состояний для таймера

Диаграмма активности (деятельности, activity diagram)

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

Обозначения на диаграмме активности напоминают обозначения блок-схем и диаграмм активности, хотя есть, как мы увидим далее, и некоторые существенные отличия. Пример диаграммы деятельности приведен на рис. 3.10.

Рис. 3.10 – Пример диаграммы деятельности

Ромбом изображено ветвление (условный оператор), прямоугольник со скругленными углами – действие. Широкой полосой изображено распараллеливание и потом соединение воедино процесса (человек поет, купаясь в душе).

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

  1. Какие основные формальные модели систем Вы знаете?

  2. Что такое морфологическая модель и как она строится?

  3. Что такое гиперкомплексная матрица?

  4. Опишите основные виды структур систем.

  5. Что такое функциональная модель?

  6. Расскажите основы методики IDEF построения функциональных моделей.

  7. Как выглядят основные компоненты информационной модели?

  8. Методика создания информационных моделей?

  9. Сформулируйте основные понятия объектно-ориентированного анализа.

  10. Перечислите основные диаграммы UML и укажите особенности их построения.