Книга: Rational Rose 2000 и UML Визуальное моделирование
Состояния
Состояния
Состояние (state) — это некое положение в жизни объекта, при котором он удовлетворяет определенному условию, выполняет некоторое действие или ожидает события. Состояние объекта можно описать с помощью значений одного или нескольких атрибутов класса. Например, объект учебный курс может быть открыт (доступен для записи студентов) или закрыт (максимальное число студентов уже записано на курс). Состояние зависит от числа студентов, прикрепленных к объекту учебный курс. Кроме этого, оно может определяться наличием связи с другим объектом. Актер преподаватель может читать лекции или находиться в отпуске. Это зависит от наличия связи с объектом учебный курс. При анализе состояния объекта можно проверить мощность, выбранную для отношения с другим объектом. То есть, если нахождение в определенном состоянии зависит от наличия связи с другим объектом, значит, мощность отношения, относящаяся к связанному классу, должна включать нулевое значение (другими словами, отношение необязательно). Таким образом, состояния объекта определяются при изучении атрибутов и связен, указанных для него.
В языке UML состояние изображается в виде прямоугольника с закругленными углами — см. рис. 9.2.
Диаграмма состояний включает все сообщения, которые объект получает и отправляет. Сценарий — это одиночный проход по диаграмме состояний. Интервал между двумя сообщениями, отправляемыми объектом, обычно представляет состояние. Таким образом, для определения состояний
объекта нужно изучить диаграмму последовательности действий (взгляните на интервалы между линиями сообщений, получаемых объектом). Если для каждой функции в системе регистрации учебных курсов были созданы диаграммы последовательности действий, то с помощью них можно обнаружить, что объекты класса учебный курс (CourseOffering) могут находиться в одном из следующих состояний: инициализация (создан до регистрации, но студенты не прикреплены), открыт (доступен для записи студентов), закрыт (на курс записано максимальное число студентов), отменен (больше не читается).
Последовательность создания состояний в программе Rational Rose:
1. Щелкните по кнопке State (Состояние) на панели инструментов.
2. Щелкните по диаграмме, чтобы поместить на нее новое состояние.
3. Введите его название.
Состояния класса учебный курс показаны на рис. 9.3.
Рис. 9.3. Состояния