Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Соотнесение объектов с классами (если классы были созданы при разработке описанной выше диаграммы последовательности)

Поиск

1. Найдите в браузере класс Order Options.

2. Перетащите его на объект Order Options Form (Выбор варианта заказа) на диаграмме.

3. Повторите шаги 1 и 2, соотнеся остальные объекты и соответствующие им классы:

· Класс OrderDetail соотнесите с объектом Order Detail Form

· Класс OrderMgr - с объектом Order Manager

· Класс Order - с объектом Order N 1234

· Класс TransactionMg r - с объектом Transaction Manager

Соотнесение объектов с классами (если вы не создавали описанную выше диаграмму последовательности)

1. Щелкните правой кнопкой мыши на объекте Order Options Form.

2. В открывшемся меню выберите пункт Open Specification (Открыть спецификацию).

3. В раскрывающемся списке классов выберите пункт Create (Создать). Появится окно спецификации классов.

4. В поле имени введите OrderOptions (Выбор заказа).

5. Щелкните на кнопке ОК. Вы вернетесь в окно спецификации объекта.

6. В списке классов выберите класс OrderOptions.

7. Щелкните на кнопке OK, чтобы вернуться к диаграмме. Теперь объект называется Order Options Form: OrderOptions.

8. Для соотнесения остальных объектов с классами повторите шаги с 1 по 7:

· Класс OrderDetail соотнесите с объектом Order Detail Form

· Класс OrderMgr - с объектом Order Manager

· Класс Order - с объектом Order N 1234

· Класс TransactionMg r - с объектом Transaction Manager.

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

Рисунок 7.9 - Кооперативная диаграмма с именами классов

Соотнесение сообщений с операциями (если операции были созданы при разработке описанной выше диаграммы последовательности)

1. Щелкните правой кнопкой мыши на сообщении 1: Create new order (Создать новый заказ).

2. В открывшемся меню выберите пункт Open Specification (Открыть спецификацию).

3. В раскрывающемся списке имен укажите имя операции - Create() (Создать).

4. Нажмите на кнопку ОК.

5. Повторите шаги 1-4 для соотнесения с операциями остальных сообщений:

· Сообщение 2: Open form (Открыть форму) соотнесите с операцией Ореn()

· Сообщение 3: Enter order number, customer, order items (Ввести номер заказа, заказчика и число за­казываемых предметов) - с операцией Submitlnfo()

· Сообщение 4: Save the order (Сохранить заказ) - с операцией Save()

· Сообщение 5: Save the order (Сохранить заказ) - с операцией Save0rder()

· Сообщение 6: Create new, blank order (Создать пустой заказ) - с операцией Create()

· Сообщение 7: Set the order number, customer, order items (Ввести номер заказа, заказчика и число за­казываемых предметов) - с операцией Setlnfo()

· Сообщение 8: Save the order (Сохранить заказ) - с операцией SaveOrder()

· Сообщение 9: Collect order information (Информация о заказе) - с операцией Getlnfo()

· Сообщение 10: Save the order information to the database (Сохранить информацию о заказе в базе дан­ных) - с операцией Commit()

 

Соотнесение сообщений с операциями (если вы не создавали описанную выше диаграмму последовательности)

1. Щелкните правой кнопкой мыши на сообщении 1: Create new order (Создать новый заказ).

2. В открывшемся меню выберите пункт Create operation (создать операцию). Появится окно специфика­ции операции.

3. В поле имени введите имя операции - Create() (Создать).

4. Нажмите на кнопку ОК, чтобы закрыть окно спецификации операции и вернуться к диаграмме.

5. Еще раз щелкните правой кнопкой мыши на сообщении 1.

6. В открывшемся меню выберите пункт Open Specification (Открыть спецификацию).

7. В раскрывающемся списке Name <Имя> укажите имя новой операции.

8. Нажмите на кнопку ОК.

9. Повторите шаги 1-8, чтобы создать новые операции и соотнести с ними остальные сообщения:

· Сообщение 2: Open form (Открыть форму) соотнесите с операцией Ореn()

· Сообщение 3: Enter order number, customer, order items (Ввести номер заказа, заказчика и число за­казываемых предметов) - с операцией Submitlnfo()

· Сообщение 4: Save the order (Сохранить заказ) - с операцией Save()

· Сообщение 5: Save the order (Сохранить заказ) - с операцией SaveOrder()

· Сообщение 6: Create new, blank order (Создать пустой заказ) - с операцией Create()

· Сообщение 7: Set the order number, customer, order items (Ввести номер заказа, заказчика и число за­казываемых предметов) — с операцией Settnfo()

· Сообщение 8: Save the order (Сохранить заказ) — с операцией SaveOrder()

· Сообщение 9: Collect order information (Информация о заказе) - с операцией Getinfo()

· Сообщение 10: Save the order information to the database (Сохранить информацию о заказе в базе данных) — с операцией Commit()

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

 

 

Рисунок 7.10 - Кооперативная диаграмма с показанными на ней операциями

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ

В среде проектированияRational Rose создать диаграммы последовательностей и кооперации для заданного варианта использования (предметная область из лабораторной работы №5).

 

 

Лабораторная работа№ 8

 

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

 

Диаграммы состояний

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

Существует несколько форм диаграмм состояний. Пример диаграммы состояний, отражающей поведение объекта Заказ в Системе Обработки Заказов, приведен на рисунке 8.1. На этой диаграмме изображены различные состояния, в которых может находиться объект Заказ. Процесс начинается с Начальной точки, затем следует первый переход в состояние Проверка Позиции Заказа. Метка этого перехода /получить позицию Заказа. Синтаксис метки: <событие>[<условие>]/ <действие>.

Рисунок 8.1 - Диаграмма состояний

 

Каждая из этих трех частей является необязательной. В данном случае метка включает только действие. После выполнения этого действия объект попадает в состояние Проверка Позиции Заказа. С этим состоянием связана деятельность, которая обозначается меткой выполнить/ проверить позицию. Синтаксис этой метки: выполнить/<деятельность>. В данном случае деятельность называется проверить позицию.

Термин действие используется для перехода, термин деятельность – для состояния. Хотя и то и другое – это процессы, реализуемые некоторым методом класса Заказ, но они различаются между собой.

Действия связаны с переходами и рассматриваются как мгновенные и непрерываемые.

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

Если метка перехода не содержит никакого события, то переход происходит, как только завершается какая-то деятельность, связанная с данным состоянием (как только завершится Проверка Позиции Заказа).

Из состояния Проверка Позиции Заказа возможны 3 перехода. Метка каждого из них включает условие. Условие это логическое, оно может принимать 2 значения – «истина» и «ложь». Если условие принимает значение «истина», то выполняется условный переход.

Из конкретного состояния в данный момент времени может произойти только 1 переход, т.е. условия являются взаимно исключающими. В нашем примере 3 условия:

1. если проверены не все позиции, входящие в Заказ, то мы получаем следующую позицию и возвращаемся в состояние Проверка Позиции Заказа;

2. если проверены все позиции и все они имеются на складе, то переходим в состояние Выдача Заказа на Поставку;

3. если проверены все позиции, но не все имеются на складе, то переходим в состояние Ожидание.

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

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

В рассмотренном примере нет перехода под названием отмена. У нас должна быть возможность отменить любой Заказ в любой момент времени до завершения его выполнения. На рисунке 8.2 добавлено состояние Отмена Заказа. Чтобы отменить Заказ, нужно изобразить переходы из каждого состояния (Проверка Позиции Заказа, Выдача Заказа и Ожидание).

 

Рисунок 8.2 - Диаграмма состояний без суперсостояний

 

На рисунке 8.3 изображен другой вариант – для 3 вышеперечисленных состояний определено суперсостояние и единственный переход из него. Подсостояния наследуют любые переходы Суперсостояния.

 

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

Пример выполнения задания

В этом упражнении создается диаграмма Состояний для класса Order, показанная на рисунке 8.4.

 

 

Рисунок 8.3 - Диаграмма состояний с суперсостояниями

Рисунок 8.4 - Диаграмма Состояний для класса Order

 

Создание диаграммы

1. Найдите в браузере класс Order.

2. Щелкните на классе правой кнопкой мыши и в открывшемся меню укажите пункт Open State Diagram (Открыть диаграмму состояний).

 



Поделиться:


Последнее изменение этой страницы: 2016-06-29; просмотров: 227; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.58.68 (0.006 с.)