Унифицированный язык моделирования. Статические модели
Статическое представление модели описывает концепции предметной области системы, а также внутренние концепции, необходимые для ее реализации. Статическим это представление называется потому, что не описывает динамику, то есть изменения, происходящие в системе с течением времени. Для описания поведения системы служат другие представления моделей.
Основой статического представления модели являются классы и их отношения: ассоциации, обобщения и различные виды зависимостей, например реализация и использование. Классом (class) называется описание некоторой концепции предметной области или элемента программного решения. Классы являются тем центром, вокруг которого строится представление классов. Все прочие элементы либо принадлежат классам, либо относятся к ним.
Статическое представление изображается на диаграммах классов, в которых основной акцент сделан именно на описании классов и их взаимоотношений.
Графически класс изображается в виде прямоугольника. Атрибуты и операции класса перечисляются в горизонтальных отделениях этого прямоугольника. Если на диаграмме не нужно представлять полное описание класса, то отделения можно просто скрыть. Один и тот же класс может присутствовать на различных диаграммах и отображаться с разной степенью детализации (полное описание класса часто присутствует только на одной диаграмме).
Отношения между классами выражаются при помощи различных линий и дополнительных обозначений, которые ставятся либо над самими линиями, либо у их концов.
Моделирование поведения программной системы
Для моделирования поведения системы используют:
q автоматы;
q взаимодействия.
Автомат (State machine) описывает поведение в терминах последовательности состояний, через которые проходит объект в течение своей жизни. Взаимодействие (Interaction) описывает поведение в терминах обмена сообщениями между объектами.
Таким образом, автомат задает поведение системы как цельной, единой сущности; моделирует жизненный цикл единого объекта. В силу этого автоматный подход удобно применять для формализации динамики отдельного трудного для понимания блока системы.
Взаимодействия определяют поведение системы в виде коммуникаций между его частями (объектами), представляя систему как сообщество совместно работающих объектов. Именно поэтому взаимодействия считают основным аппаратом для фиксации полной динамики системы.
Автоматы отображают с помощью:
q диаграмм схем состояний;
q диаграмм деятельности.
Взаимодействия отображают с помощью:
q диаграмм сотрудничества (кооперации);
q диаграмм последовательности.
Диаграммы схем состояний
Диаграмма схем состояний — одна из пяти диаграмм UML, моделирующих динамику систем. Диаграмма схем состояний отображает конечный автомат, выделяя поток управления, следующий от состояния к состоянию. Конечный автомат — поведение, которое определяет последовательность состояний в ходе существования объекта. Эта последовательность рассматривается как ответ на события и включает реакции на эти события.
Диаграмма схем состояний показывает:
1) набор состояний системы;
2) события, которые вызывают переход из одного состояния в другое;
3) действия, которые происходят в результате изменения состояния.
В языке UML состоянием называют период в жизни объекта, на протяжении которого он удовлетворяет какому-то условию, выполняет определенную деятельность или ожидает некоторого события.