Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №5.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
298.47 Кб
Скачать

Создание новой диаграммы состояний

Для того чтобы создать новую диаграмму состояний в ArgoUML, необходимо кликнуть по кнопке панели инструментов, либо в окне браузера проекта кликнуть правой кнопкой по необходимой модели, раскрыть меню CreateDiagram и выбрать пункт Диаграмма состояний.

Рис.1. Создание диаграммы состояний.

Далее следует выделить только что созданную диаграмму и задать ей имя в окне свойств, которое расположено под окном диаграммы.

Рис.2. Свойства диаграммы состояний.

Добавление нового состояния

Для создания нового состояния нужно щелкнуть по кнопке Простое состояние на панели инструментов и затем по свободному месту диаграммы. При выделении любого элемента с помощью инструмента Select (при создании элемента он выделяется автоматически) под окном диаграммы открывается окно редактирования свойств элемента.

Рис.3. Свойства простого состояния.

Д ля каждого состояния можно определять действия (как в автомате Мура). В ArgoUML можно задать 3 действия для каждого состояния: действие при входе в состояние, действие при выходе из состояния и деятельность выполнения. Для того чтобы задать действие, нужно раскрыть выпадающее меню и выбрать тип действия. Всего в ArgoUML определены 8 типов действий:

  • действие вызова;

  • действие создания;

  • действие уничтожения;

  • действие возврата;

  • действие отправки;

  • действие конечного состояния;

  • не интерпретируемое действие;

  • последовательность действий.

Для выбора типа действия следует кликнуть по одному из пунктов. В результате откроется окно редактирования действия:

Рис.4. Свойства действия входа (тип: создание объекта).

В этом окне можно задать имя действия и, собственно, содержание действия (группа script). Именно содержание многострочного поля script (в примере – «Создать объект») отобразится на диаграмме. В однострочном поле этой группы (первом по порядку) можно указать язык скрипта.

В качестве действия можно выбрать последовательность. Редактирование последовательности действий выглядит следующим образом:

Рис.5. Свойства деятельности выполнения (тип: последовательность действий)

С помощью меню слева, аналогичного меню создания действий, можно добавлять действия к последовательности. Для редактирования отдельных действий нужно кликнуть по произвольному действию 2 раза. Редактирование каждого отдельного действия аналогично редактированию единичных действий.

Псевдосостояния

Псевдосостояния – начальное и конечное состояния объекта или процесса. Каждая диаграмма состояний должна начинаться начальным состоянием и заканчиваться конечным. Для добавления на диаграмму начального и конечного состояний используются кнопки и соответственно.

Рассмотрим следующий пример. Составим  диаграмму состояний для класса Order (Заказ), поскольку в нашей модели он наиболее часто будет менять свое состояние. Заказ может находиться в нескольких состояниях:

  • при создании заказа он переходит в состояние Инициализация, в котором выполняются некоторые предварительные действия;

  • после завершения инициализации заказ переходит в состояние Открыт, в котором к заказу добавляются новые пункты. Выход из этого состояния возможен или в случае отмены заказа, или в случае заполнения всех необходимых пунктов заказа;

  • если заполнены все необходимые пункты заказа, то он переходит в состояние Закрыт, в котором происходит выписка счета. Выход из этого состояния произойдет только после того, как счет будет выписан;

  • если заказ отменен, то из состояния Открыт он переходит в состояние Отменен. При выходе из этого состояния происходит удаление всех пунктов заказа.

Разместим все состояния объекта на диаграмме, в том числе начальное и конечное. Определим некоторые действия, которые выполняются в данных состояниях.

  • на входе в состояние Инициализация – действие «Сохранить дату заказа»;

  • деятельность состояния Инициализация – действие «Внести информацию о клиенте»;

  • на выходе из состояния Открыт – действие создания пункта заказа;

  • на выходе из состояния Отменен – действие «Сохранить дату отмены»;

  • деятельность состояния Закрыт – действие «Выписать счет».

Действие добавления пунктов заказа, а также удаления отмененного заказа, пока опустим. С помощью инструмента Broom можно выровнять элементы относительно друг друга.

Рис.6. Состояния объекта Entry.