- •Классический жизненный цикл
- •2 Макетирование
- •3.Стратегии конструирования по
- •Инкрементная модель
- •4.Спиральная модель
- •6 Модели качества процессов конструирования
- •7 Процесс руководства проектом
- •9.Методика тестирования программных систем.Охарактеризовать тестирование спиральной модели.
- •11 Нисходящее тестирование интеграции
- •12Восходящее тестирование интеграции
- •13 Тестирование правильности
- •14 Искусство отладки
- •15 Принципы объектно-ориентированного представления программных систем
- •16 Инкапсуляция
- •Модульность
- •17 Объекты
- •18 Связи
- •19 Общая хар-ка классов. Виды отношении
- •20 Унифицированный язык моделирования
- •Предметы в uml
- •21 Отношения в uml
- •22 Диаграммы в uml
- •23 Моделирование поведения программной системы
- •Диаграммы схем состояний
- •24Условные переходы
- •Вложенные состояния
- •25 Диаграммы деятельности
- •26 Диаграммы последовательности
- •27 Отношения в диаграммах Use Case
23 Моделирование поведения программной системы
Для моделирования поведения системы используют:
-
автоматы;
-
взаимодействия.
Автомат (State machine) описывает поведение в терминах последовательности состояний, через которые проходит объект в течение своей жизни. Взаимодействие (Interaction) описывает поведение в терминах обмена сообщениями между объектами.
Таким образом, автомат задает поведение системы как цельной, единой сущности; моделирует жизненный цикл единого объекта. В силу этого автоматный подход удобно применять для формализации динамики отдельного трудного для понимания блока системы.
Взаимодействия определяют поведение системы в виде коммуникаций между его частями (объектами), представляя систему как сообщество совместно работающих объектов. Именно поэтому взаимодействия считают основным аппаратом для фиксации полной динамики системы.
Автоматы отображают с помощью:
-
диаграмм схем состояний;
-
диаграмм деятельности.
Взаимодействия отображают с помощью:
-
диаграмм сотрудничества (кооперации);
-
диаграмм последовательности.
Диаграммы схем состояний
Диаграмма схем состояний — одна из пяти диаграмм UML, моделирующих динамику систем. Диаграмма схем состояний отображает конечный автомат, выделяя поток управления, следующий от состояния к состоянию. Конечный автомат — поведение, которое определяет последовательность состояний в ходе существования объекта. Эта последовательность рассматривается как ответ на события и включает реакции на эти события.
Диаграмма схем состояний показывает:
1) набор состояний системы;
2) события, которые вызывают переход из одного состояния в другое;
3) действия, которые происходят в результате изменения состояния.
В языке UML состоянием называют период в жизни объекта, на протяжении которого он удовлетворяет какому-то условию, выполняет определенную деятельность или ожидает некоторого события. Как показано на рис. 12.1, состояние изображается как закругленный прямоугольник, обычно включающий его имя и подсостоя-ния (если они есть).
Рис. 12.1. Обозначение состояния
Переходы между состояниями отображаются помеченными стрелками (рис. 12.2).
Рис. 12.2. Переходы между состояниями
На рис. 12.2 обозначено: Событие — происшествие, вызывающее изменение состояния, Действие — набор операций, запускаемых событием.
Иначе говоря, события вызывают переходы, а действия являются реакциями на переходы.
Для отображения перехода в начальное состояние принято обозначение, показанное на рис. 12.3.
Рис. 12.3. Переход в начальное состояние
Соответственно, обозначение перехода в конечное состояние имеет вид, представленный на рис. 12.4.
Рис. 12.4. Переход в конечное состояние
24Условные переходы
Между состояниями возможны различные типы переходов. Обычно переход инициируется событием. Допускаются переходы и без событий. Наконец, разрешены условные или охраняемые переходы.
Правила пометки стрелок условных переходов иллюстрирует рис. 12.7.
Рис. 12.7. Обозначение условного перехода
Порядок выполнения условного перехода:
-
происходит событие;
-
вычисляется условие УсловиеПерехода;
-
при УсловиеПерехода=true запускается переход и активизируется действие, в противном случае переход не выполняется.
Пример условного перехода между состояниями Инициализация и Ожидание приведен на рис. 12.8. Он происходит по событию ПитаниеПодано, но только в том случае, если достигнут боевой режим лазера.
Рис. 12.8. Условный переход между состояниями