15. Отредактируйте операцию Create() таким образом, чтобы она выглядела Create () : Boolean. Это можно сделать во вкладке Operations окна OpenSpecifications, либо нажатием на изображение операции под классом «Заказ».
Отредактируйтеоперацию SetInfo () так, чтобыонавыгляделакак SetInfo(OrderNumber : Integer, CustomerName : String, OrderDate : Date, OrderFillDate : Date) : Boolean.
Отредактируйте операцию GetInfo () так, чтобы она выглядела как GetInfo () : String.
16. Остальным классам добавьте операции в соответствии с рисунком 9.
Рис. 9 - Конечный вид диаграммы классов
17. Так же в соответствии с рисунком добавьте связи, используя кнопку Unidirectional Association
Каждый объект системы, обладающий определенным поведением, может находиться в определенных состояниях, переходить из состояния в состояние, совершая определенные действия в процессе реализации сценария поведения объекта. Поведение большинства объектов реальных систем можно представить с точки зрения теории конечных автоматов, то есть поведение объекта отражается в его состояниях, и данный тип диаграмм позволяет отразить это графически. Для этого используется два вида диаграмм: Statechart diagram (дмаграмма состояний) и Activity diagram (диаграмма активности)
Диаграмма состояний (Statechart) предназначена для отображения состояний объектов системы, имеющих сложную модель поведения. Это одна из двух диаграмм State Machine, доступ к которой осуществляется из одного пункта меню.Особенности разработки диаграммы состояний в среде IBM Rational Rose 2003.
Переходя к рассмотрению диаграммы состояний, следует отметить, что в среде IBM Rational Rose 2003 этот тип диаграмм может относиться к отдельному классу, операции класса, варианту использования, пакету или представлению. Для того чтобы построить диаграмму состояний, ее вначале необходимо создать и активизировать.
Начать построение диаграммы состояний для выбранного элемента модели или моделируемой системы в целом можно одним из следующих способов:
· Щелкнуть на кнопке с изображением диаграммы состояний на стандартной панели инструментов, после чего следует выбрать представление и тип разрабатываемой диаграммы - новая диаграмма состояний.
· Выделить логическое представление (Logical View) или представление вариантов использования (Use Case View) в браузере проекта и выполнить операцию контекстного меню: New
Statechart Diagram (Новая Диаграмма состояний).· Раскрыть логическое представление (Logical View) в браузере проекта и выделить рассматриваемый класс, операцию класса, пакет, или раскрыть представление вариантов использования (Use Case View) и выбрать вариант использования, после чего выполнить операцию контекстного меню: New
Statechart Diagram (Новая Диаграмма состояний).· Выполнить операцию главного меню: Browse
State Machine Diagram (Обзор Диаграмма состояний), после чего следует выбрать представление и тип разрабатываемой диаграммы.В результате выполнения этих действий появляется новое окно с чистым рабочим листом диаграммы состояний и специальная панель инструментов, содержащая кнопки с изображением графических элементов модели, необходимых для разработки диаграммы состояний (табл. 11). Назначение отдельных кнопок панели можно узнать из всплывающих подсказок.
Таблица 11 - Назначение кнопок специальной панели инструментов диаграммы состояний
1. Найдите в браузере класс Order.Щелкнув по нему правой кнопкой мыши, выберите New -> StatechartDiagramm.
2. Назовите новую диаграмму StateDiag.
3. Поместите на диаграмму состояния Start State
и End State 4. Так же поместите на диаграмму состояние State
, оно будет составным состоянием.Составное состояние (composite state) - сложное состояние, которое состоит из других вложенных в него состояний.Составное состояние называют также состоянием-композитом. Вложенные состояния выступают по отношению к составному состоянию как подсостояния (substate). И хотя между ними имеет место отношение композиции, графически все вершины диаграммы, которые соответствуют вложенным состояниям, изображаются внутри символа составного состояния. В этом случае размеры графического символа составного состояния увеличиваются, так чтобы вместить в себя все подсостояния.
5. Поместите на диаграмму еще два состояния State, назовите из «Отменен» и «Выполнен»
6. Добавьте два состояния State внутрь созданного ранее составного состояния, назовите их «Инициализация» и «Выполнение заказа приостановлено»
7. Дважды щелкните на состоянии «Инициализация» и перейдите во вкладку Actions. В открывшемся окне щелкните правой кнопкой мыши и выберите пункт Insert
8. Дважды щелкните на новом действии, назовите его «Сохранить дату заказа». В окне When выберите пункт OnEntry. Входное действие (entry action) - действие, которое выполняется в момент перехода в данное состояние.
Обозначается с помощью ключевого слова - метки действия entry, которое указывает на то, что следующее за ней выражение действия должно быть выполнено в момент входа в данное состояние.
9. Так же добавьте действия «Собрать клиентскую информацию» и «Добавить к заказу новые позиции», в окне When укажите Do. Внутренняя деятельность (do activity) - выполнение объектом операций или процедур, которые требуют определенного времени.
Обозначается с помощью ключевого слова - метки деятельности do, которое специфицирует так называемую "ду-деятельность", выполняемую в течение всего времени, пока объект находится в данном состоянии, или до тех пор, пока не будет прервано внешним событием. При нормальном завершении внутренней деятельности генерируется соответствующее событие.