Книга: Технологии программирования
8.9.3. Динамическая модель системы
8.9.3. Динамическая модель системы
Объектная модель представляет статическую структуру проектируемой системы (подсистемы). Однако знания статической структуры недостаточно, чтобы понять и оценить работу подсистемы. Схема, изображенная на рис. 8.8, не годится для описания динамического взаимодействия во время выполнения программы.
Динамическая модель подсистемы строится после того, как объектная модель подсистемы построена и предварительно согласована и отлажена.
Динамическая модель системы представляется диаграммой последовательности и диаграммой состояний объектов.
На рис. 8.9 показана часть диаграммы последовательности для РКП. Время изменяется сверху вниз. Каждый объект представлен вертикальной линией. Сообщение от одного объекта к другому изображается горизонтальной стрелкой между вертикальными линиями. Возврат управления (и, возможно, результата) в объект представлен стрелкой в обратном направлении. Некоторые авторы используют для этих целей пунктирную стрелку. Комментарий справа от рисунка более подробно объясняет взаимодействие.
Благодаря наличию оси времени диаграмма последовательности лучше описывает последовательность событий в процессе работы программы. Поэтому диаграммы последовательности являются полезным средством документирования для сложных программных систем.
Состояние определяется совокупностью текущих значений атрибутов. Например, банк может иметь состояния — платежеспособный и неплатежеспособный (когда большая часть банков одновременно оказывается во втором состоянии, наступает банковский кризис). Состояние определяет реакцию объекта на поступающее в него событие (в том, что реакция различна, нетрудно убедиться с помощью банковской карточки: в зависимости от состояния банка обслуживание или реакция банка на предъявление карточки будет разным). Реакция объекта на событие может включать некоторое действие и/или перевод объекта в новое состояние.
При определении состояний мы не рассматриваем те атрибуты, которые не влияют на поведение объекта, и объединяем в одно состояние все комбинации значений атрибутов и связей, которые дают одинаковые реакции на события.
Рис. 8.9. Пример диаграммы последовательности
Рис. 8.10. Пример диаграммы состояний
Диаграмма состояний связывает события и состояния. При приеме события следующее состояние системы зависит как от ее текущего состояния, так и от события (рис. 8.10). Смена состояния называется переходом. Диаграмма состояний — это граф, узлы которого представляют состояния, а направленные дуги, помеченные именами соответствующих событий, — переходы. Диаграмма состояний позволяет получить последовательность состояний по заданной последовательности событий.
Являясь описанием поведения объекта, диаграмма состояний должна описывать, что делает объект в ответ на переход в некоторое состояние или на возникновение некоторого события. Для этого в диаграмму состояний включаются описания активностей и действий.
Активностью называется операция, связанная с каким-либо состоянием объекта (она выполняется, когда объект попадает в указанное состояние); выполнение активности требует определенного времени. Примеры активностей: выдача картинки на экран телевизора, телефонный звонок, считывание порции файла в буфер и т. п.; иногда активностью бывает просто приостановка выполнения программы (пауза), чтобы обеспечить необходимое время пребывания в соответствующем состоянии (это бывает особенно важно для параллельной асинхронной программы).
- 8.9.1. RDD-технология проектирования на основе обязанностей
- 8.9.2. Начинаем с анализа функционирования. Учебный пример объектно-ориентированного проекта средней сложности
- 8.9.3. Динамическая модель системы
- 8.9.4. Уточнение классов с точным определением их зависимостей от других классов. Продолжение учебного примера
- 8.9.5. Совместное рассмотрение трех моделей
- Модель МП
- 8.3. Модель трассировки
- Динамическая компоновка и С++
- Модель локализации
- Особенности системы защиты данных в InterBase
- Установка системы на уже подготовленный жесткий диск
- 1.3. Системы счисления
- 7.4. Модель системы автоматизированного проектирования защиты информации
- 1. Системы управления базами данных
- 4. Полнота системы правил Армстронга
- 5. Продукционная модель знаний
- Наик Дайлип Системы хранения данных в Windows