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

12. Динамические модели объектно-ориентированных программных систем

Динамические модели обеспечивают представление поведения систем. «Динамизм» этих моделей состоит в том, что в них отражается изменение состояний в процессе работы системы (в зависимости от времени). Средства языка UML для создания динамических моделей многочисленны и разнообразны [8], [23], [41], [53], [67]. Эти средства ориентированы не только на собственно программные системы, но и на отображение требований заказчика к поведению таких систем.

Моделирование поведения программной системы

Для моделирования поведения системы используют:

  • автоматы;

  • взаимодействия.

Автомат (State machine) описывает поведение в терминах последовательности состояний, через которые проходит объект в течение своей жизни. Взаимодействие (Interaction) описывает поведение в терминах обмена сообщениями между объектами.

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

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

  • диаграмм схем состояний;

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

Взаимодействия отображают с помощью:

  • диаграмм сотрудничества (кооперации);

  • диаграмм последовательности.

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

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

Диаграмма схем состояний показывает: 1) набор состояний системы;

2) события, которые вызывают переход из одного состояния в другое;

3) действия, которые происходят в результате изменения состояния.

Используется в системах реального времени.

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

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

Диаграммы сотрудничества(кооперации)

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

Диаграммы последовательности

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

14. Диаграммы схем-состояний. Конечные автоматы.

Диаграмма схем состояний отображает конечный автомат, выделяя поток управления, следующий от состояния к состоянию. Конечный автомат — поведение, которое определяет последовательность состояний в ходе существования объекта.

Диаграмма схем состояний показывает:

1) набор состояний системы;

2) события, которые вызывают переход из одного состояния в другое;

3) действия, которые происходят в результате изменения состояния.

Состоянием - период в жизни объекта, на протяжении которого он удовлетворяет какому-то условию.

Рис. 12.1. Обозначение состояния Рис. 12.2. Переходы между состояниями

Переходы между состояниями отображаются помеченными стрелками (рис. 12.2).

Событие — происшествие, вызывающее изменение состояния,

Действие — набор операций, запускаемых событием.

Иначе говоря, события вызывают переходы, а действия являются реакциями на переходы.

Примеры событий:

баланс < 0

помехи

уменьшить(Давление)

after (5 seconds)

when (time = 16:30)

Изменение в состоянии

Сигнал (объект с именем)

Вызов действия

Истечение периода времени

Наступление абсолютного момента времени

Примеры действий:

Кассир. прекратитьВыплаты( )

flt:= new(Фильтp); Ш.убратьПомехи( )

send Ник. привет

Вызов одной операции

Вызов двух операций

Посылка сигнала в объект Ник

Для отображения перехода в начальное состояние принято обозначение, на рис. 12.3.

Рис. 12.3. Переход в начальное состояние Рис. 12.4. Переход в конечное состояние

Соответственно, обозначение перехода в конечное состояние имеет вид, рис. 12.4.

В качестве примера на рис. 12.5 показана диаграмма схем состояний для системы охранной сигнализации.

Рис. 12.5. Диаграмма схем состояний системы охранной сигнализации

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]