Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.раб.8 ПОСТРОЕНИЕ И ОБСУЖДЕНИЕ UML-ДИАГРАММ.doc
Скачиваний:
5
Добавлен:
04.05.2019
Размер:
23.83 Mб
Скачать

2 Состояния

Состояние (state) - это некое положение в жизни объекта, при котором он удовлетворяет определенному условию, выполняет некоторое действие или ожидает события. Состояние объекта можно описать с помощью значений одного или нескольких атрибутов класса. Например, объект учебный курс может быть открыт (доступен для записи студентов) или закрыт (максимальное число студентов уже записано на курс) Состояние зависит от числа студентов, прикрепленных к объекту учебный курс Кроме этого, оно может определяться наличием связи с другим объектом Актер преподаватель может читать лекции или находиться в отпуске Это зависит от наличия связи с объектом учебный курс При анализе состояния объекта можно проверить мощность, выбранную для отношения с другим объектом То есть, если нахождение в определенном состоянии зависит от наличия связи с другим объектом, значит, мощность отношения, относящаяся к связанному классу, должна включать нулевое значение (другими словами, отношение необязательно) Таким образом, состояния объекта определяются при изучении атрибутов и связей, указанных для него.

В языке UML состояние изображается в виде прямоугольника с закругленными углами.

Диаграмма состояний включает все сообщения, которые объект получает и отправляет Сценарий - это одиночный проход по диаграмме состояний Интервал между двумя сообщениями, отправляемыми объектом, обычно представляет состояние Таким образом, для определения состояний объекта нужно изучить диаграмму последовательности действий (взгляните на интервалы между линиями сообщений, получаемых объектом) Если для каждой функции в системе регистрации учебных курсов были созданы диаграммы последовательности действий, то с помощью них можно обнаружить, что объекты класса учебный курс (CourseOffering) могут находиться в одном из следующих состояний инициализация (создан до регистрации, но студенты не прикреплены), открыт (доступен для записи студентов), закрыт (на курс записано максимальное число студентов), отменен (больше не читается).

Последовательность создания состояний в программе Rational Rose:

  1. Щелкните по кнопке State (Состояние) на панели инструментов.

  2. Щелкните по диаграмме, чтобы поместить на нее новое состояние.

  3. Введите его название

Состояния класса учебный курс показаны на рис. 7.1.

Рис.7.1

3 Переходы между состояниями

Переходы между состояниями (state transitions) представляют собой смену исходного состояния последующим (которое может быть тем же, что и исходное) Переход может сопровождаться определенным действием

Есть два способа выхода из состояния - автоматический и условный. Автоматическая смена состояния происходит, когда действие исходного со стояния будет завершено - с переходом не связано каких-либо событий. Условный переход между состояниями вызывается определенным событием (от другого объекта или из внешней среды). Считается, что оба типа переходов выполняются за нулевое время и не могут быть прерваны. Переход между состояниями изображается в виде стрелки, направленной от исходного состояния к последующему

Для создания переходов между состояниями в программе Rational Rose:

  1. Щелкните по кнопке State Transition (Переход) на панели инструментов.

  2. Щелкните по исходному состоянию диаграммы.

  3. Проведите линию перехода к последующему состоянию.

  4. Если требуется, введите название нового перехода.

Переходы между состояниями показаны на рис. 7.2.

Рис.7.2