- •10. Статические модели объектно-ориентированных программных систем
- •Вершины в диаграммах классов
- •11. Свойства, операции, отношения классов и их отображение на диаграмме классов
- •Вершины в диаграммах классов
- •Свойства
- •Операции
- •Множественность
- •Отношения в диаграммах классов
- •Моделирование поведения программной системы
- •Диаграммы схем состояний
- •12. Динамические модели объектно-ориентированных программных систем
- •Условные переходы
- •Вложенные состояния
- •15. Диаграммы деятельности. Разветвление и слияние. Линии синхронизации
- •16. Диаграммы сотрудничества (кооперации). События и действия
- •17. Диаграммы последовательности. Линия жизни объекта. Фокус управления
- •13. Диаграммы прецедентов. Актеры. Стереотипы включения и расширения. (диаграммы use casEe)
- •Отношения в диаграммах Use Case
- •Пример диаграммы Use Case
- •18. Компонентная диаграмма. Виды компонент. Интерфейсы и их реализации
- •Разновидности компонентов
- •Использование компонентных диаграмм
- •4.Принципы построения информационных банковских систем. Виды архитектур информационных банковских систем.
- •5. Модульный принцип построения информационных банковских систем.
- •Декомпозиция подсистем на модули
- •6. Реализация модульной информационной банковской системы. Основные функции информационной банковской системы
- •7. Принцип единства информационного пространства при построении информационных банковских систем. Хранилища и витрины данных
- •8. Принцип безопасности при построении информационных банковских систем
- •9. Стандарты хранения и обработки xml документов. Объектная модель документа
- •1.Операционные информационные банковские технологии
- •2. Документарные информационные технологии
- •3. Объектные информационные банковские технологии.
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. Диаграмма схем состояний системы охранной сигнализации
