10. Дважды щелкните на состоянии «Отменен», повторив вышеописанные шаги, добавьте действие «Сохранить дату отмены», в окне When укажите OnExit. Действие выхода (exit action) - действие, производимое при выходе из данного состояния.
Обозначается с помощью ключевого слова - метки действия exit, которое указывает на то, что следующее за ней выражение действия должно быть выполнено в момент выхода из данного состояния.
11. Дважды щелкните на состоянии «Выполнен», повторив вышеописанные шаги, добавьте действие «Выписать счет», в окне When укажите Do.
12. При помощи кнопкиState Transition
панели инструментов, добавьте на диаграмму линии перехода. При помощи кнопки Transition to Self , добавьте рефлексивный переход на состояние «Выполнение заказа приостановлено».13. Дважды щелкните на переходе от состояния «Инициализация» к состоянию «Выполнение заказа приостановлено», в поле Event открывшегося окна спецификации перехода введите фразу «Выполнить заказ». Таким же образом добавьте событие «Отменить заказ» к переходу между составным состоянием и состоянием «Отменен».
14. Дважды щелкните на переходе от состояния «Выполнение заказа приостановлено» к состоянию «Выполнен», в поле Event введите фразу «Добавить к заказу новую позицию». Перейдите на вкладку Detail, в поле GuardCondition введите «Не осталось незаполненных позиций». Для рефлексивного перехода состояния «Выполнение заказа приостановлено» добавьте событие «Добавить к заказу новую позицию» и GuardCondition «Остаются незаполненные поля».
4.4 Лабораторная работа №4
4.4.1 Создание диаграммы компонентов
Этот тип диаграмм предназначен для распределения классов и объектов по компонентам при физическом проектировании системы. Часто данный тип диаграмм называют диаграммами модулей.
При проектировании больших систем может оказаться, что система должна быть разложена на несколько сотен или даже тысяч компонентов, и этот тип диаграмм позволяет не потеряться в обилии модулей и их связей.
Диаграмма компонентов служит частью физического представления модели, играет важную роль в процессе ООАП и является необходимой для генерации программного кода. Для разработки диаграмм компонентов в браузере проекта предназначено отдельное представление компонентов (Component View), в котором уже содержится диаграмма компонентов с пустым содержанием и именем по умолчанию Main (Главная).
Активизация диаграммы компонентов может быть выполнена одним из следующих способов:
· Щелкнуть на кнопке с изображением диаграммы компонентов на стандартной панели инструментов.
· Раскрыть представление компонентов в браузере (Component View) и дважды щелкнуть на пиктограмме Main (Главная).
· Через пункт меню Browse Component Diagram (Браузер
Диаграмма компонентов).В результате выполнения этих действий появляется новое окно с чистым рабочим листом диаграммы компонентов и специальная панель инструментов, содержащая кнопки с изображением графических примитивов, необходимых для разработки диаграммы компонентов (табл. 12).
Таблица 12 - Назначение кнопок специальной панели инструментов диаграммы компонентов
1. Откройте диаграмму, содержащую пакеты «Сущности», «Границы», «Контроль» (LogicalView).
Поместите классы из браузера в соответствующие их типам пакеты.
2. Перейдите в браузере в ComponentView. Нажмите на ComponentView правой кнопкой мыши, создайте пакеты New -> Packages. Назовите их «Сущности», «Границы», «Контроль».
3. При помощи кнопки Dependency
проведите линии зависимостей.4. Дважды щелкнув на пакете «Сущности», откройте главную диаграмму компонентов этогопакета.
5. Нажмите кнопкуPackage Specification (Содержит определение класса, его атрибутов и операций)
панели инструментов. Поместите спецификацию пакета на диаграмму. Введите имя спецификации пакета «ЗаказПредмета». Таким же образом добавьте спецификацию пакета «Заказ».6. Нажмите кнопку Package Body (Содержит код реализации операций класса.)
панели инструментов, поместите на диаграмму тело пакета и введите его имя, «Заказ предмета». Добавьте тело пакета «Заказ». При помощью кнопки Dependancy проведите линии зависимостей.7. Постройте диаграммы компонентов пакетов «Границы» и «Контроль», как показано на рисунках 10 и 11.
Рис. 10
Рис. 11
8. Щелкните правой кнопкой на представлении Компонентов в браузере (Componentview). В открывшемся меню выберите New -> ComponentDiagram. Назовите новую диаграмму System. Дважды щелкнув по диаграмме, откройте ее.
9. Разверните в браузере пакеты «Сущности», «Границы» и «Контроль». Переместите все спецификации пакетов на диаграмму классов.
10. Нажмите кнопку Task Specification (Может содержать определение класса, его атрибутов и операций, которые предполагается использовать в независимом потоке управления)
панели инструментов и поместите на диаграмму спецификации задач ЗаказКлиент и ЗаказСервер. Приведите диаграмму к виду, показанному на рисунке 12.
Рис. 12 - Диаграмма компонентов системы
4.4.2 Создание диаграммы размещений
Этот вид диаграмм предназначен для анализа аппаратной части системы, то есть «железа», а не программ. В прямом переводе с английского Deployment означает «развертывание», но термин «размещение» точнее отражает сущность этого типа диаграмм.
Для каждой модели создается только одна такая диаграмма, отображающая процессоры (Processor), устройства (Device) и их соединения.
Обычно этот тип диаграмм используется в самом начале проектирования системы для анализа аппаратных средств, на которых она будет эксплуатироваться.
Активизация диаграммы развертывания может быть выполнена одним из следующих способов: