Динамические модели объектно-ориентированных программных систем
Динамические модели обеспечивают представление поведения систем, в них отражается изменение состояний в процессе работы системы (в зависимости от времени).
Для моделирования поведения системы используют:
● автоматы;
● взаимодействия.
Автомат (State machine) описывает поведение в терминах последовательности состояний, через которые проходит объект в течение своей жизни. Взаимодействие описывает поведение в терминах обмена сообщениями между объектами.
Таким образом, автомат задает поведение системы как цельной, единой сущности; моделирует жизненный цикл единого объекта. Поэтому автоматный подход удобно применять для формализации динамики отдельного трудного для понимания блока системы. Автоматы отображают с помощью:
● диаграмм схем состояний;
● диаграмм деятельности.
Взаимодействия определяют поведение системы в виде коммуникаций между его частями (объектами), представляя систему как набор совместно работающих объектов. Именно поэтому взаимодействия считают основным аппаратом для фиксации полной динамики системы. Взаимодействия отображают с помощью:
● диаграмм сотрудничества (кооперации);
● диаграмм последовательности.
Диаграммы деятельности
Диаграмма деятельности представляет особую форму конечного автомата, в которой показываются процесс вычислений и потоки работ. В ней выделяются не состояния объекта, а действия. Т.е. диаграммы деятельности очень похожи на блок-схемы алгоритмов.
Основной вершиной в диаграмме деятельности является состояние действия (действие), изображение действия приведено на рис. 3.18. Действие нельзя прервать, его нельзя подвергнуть декомпозиции, оно выполняется за один квант времени. Каждое действие имеет наборы входных и выходных параметров. Среди элементарных действий нет привычных действий по управлению ходом выполнения программы (ветвления, циклы, переходы и т. д.) — управление не считается примитивом и вынесено на следующий уровень, уровень деятельности.
Рисунок 3.18. Изображение действия
Деятельность в UML моделирует то же, что и действие, т. е. какую-то содержательную активность во время работы системы; это описание поведения в форме графа деятельности. Различие между действием и деятельностью представлено в табл. 3.1. Если для нас не имеет значение различие между действием и деятельностью и нужно употребить более общее понятие, то применяется термин активность.
Таблица 3.1. Различие между действием и деятельностью
Характеристика | Действие | Деятельность |
Внешнее событие | Не прерывает выполнения | Может прерваться и за- вершить выполнение |
Завершаемость | Всегда завершается | Может продолжаться неограниченно долго |
Внутренняя структура | Нельзя подвергнуть декомпозиции | Может быть раскрыта на отдельной диаграмме |
Время выполнения | Очень мало | Продолжительное |
На диаграмме деятельности также применяются узлы управления (табл. 3.2.). Вершина «решение» позволяет отобразить разветвление вычислительного процесса, исходящие из него стрелки помечаются сторожевыми условиями ветвления.
Вершина «объединение» отмечает точку слияния альтернативных потоков действий.
Линейки синхронизации позволяют показать параллельные потоки действий, отмечая точки их синхронизации при запуске (момент разделения) и при завершении (момент слияния).
Дорожка (swim lane) — это графический комментарий, позволяющее классифицировать объекты по некоторому признаку. Обычно используется на диаграмме классов или на диаграмме деятельности. Графически дорожки изображаются в виде прямоугольников с названиями.
Таблица 3.2. Узлы управления
Название | Изображение | Что обозначает |
Начальное состояние | Начало деятельности | |
Конечное состояние | Завершение деятельности | |
Разветвление управления (decision node) / Объединение управления (merge node) | Начало альтернативных ветвей деятельности / Конец альтернативных ветвей деятельности | |
Развилка управления (fork node) / Объединение управления (join node) | Начало параллельных ветвей деятельности / Конец параллельных ветвей деятельности | |
Посылка сигнала (send) | Действие посылки сигнала | |
Прием сигнала (accept) | Ожидание события прихода сигнала |
Пример диаграммы деятельности представлен на рис. 3.19.
Рисунок 3.19. Диаграмма деятельности (активности) для Интернет-магазина
Дата добавления: 2021-05-28; просмотров: 549;