Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Проектный практикум

.pdf
Скачиваний:
399
Добавлен:
13.03.2015
Размер:
1.99 Mб
Скачать

3.Введите уточнения в поле Qualification.

В поле Size можно указать предполагаемый объем памяти, требуемой операции во время ее выполнения. Эта информация войдет в качестве ком-

ментария в генерируемый код.

Время операции — это предполагаемое время, требуемое для выполне-

ния операции. Указываемая информация войдет в сгенерированный код в ка-

честве комментария.

Задание параллелизма операции

Значение переключателя Concurrency (Параллелизм) определяет пове-

дение операции при наличии нескольких потоков управления. Возможны три значения этого параметра:

Sequential (Последовательная). Предполагается, что операция будет выполняться правильно при наличии только одного потока управления. Вы-

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

Guarded (Охраняемая). Предполагается, что операция будет выпол-

няться правильно в нескольких потоках управления, но только если взаимо-

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

Synchronous (Синхронная). Предполагается, что операция будет пра-

вильно выполняться при наличии нескольких потоков. После обращения операция будет выполняться в одном потоке управления вплоть до своего за-

вершения.

Другие операции могут в то же самое время выполняться в других по-

токах. Класс должен сам позаботиться о решении проблем взаимных исклю-

чений, так что взаимодействие с другими классами не требуется.

Сведения о параллелизме операции появятся в сгенерированном коде в качестве комментариев. Для задания параллелизма операции:

1.Откройте окно спецификации операции (или стандартное окно

спецификации в Rose).

61

2.Перейдите на вкладку Detail (Подробно) (рис. 28).

3.Установите переключатель Concurrency (Параллелизм) в требуе-

мое значение.

Задание предусловий, постусловий и семантики операции

Предусловия — это такие условия, которые должны быть выполнены перед запуском операции. Любые предусловия операции можно ввести на вкладке Preconditions (Предусловия) окна спецификации операции.

Предусловия не влияют на генерируемый код, но появляются в нем в качестве комментариев. Если какая-либо диаграмма Взаимодействия иллю-

стрирует эти условия, можно ввести ее имя в нижней части вкладки преду-

словий.

Для задания предусловий операции:

1.Откройте окно спецификации операции (или стандартное окно спецификации в Rose).

2.Перейдите на вкладку Preconditions.

3.Введите предусловия в поле Preconditions.

Постусловиями называются такие условия, которые должны всегда вы-

полняться после завершения работы операции. Постусловия задаются на вкладке Postconditions (Постусловия) окна спецификации операции.

В поле Semantics (Семантика) окна спецификации операции можно описать, что будет делать операция. Для передачи логики можно использо-

вать псевдокод или обыкновенное описание. Все, что введено в этом поле,

появится в готовом коде в виде комментария. Если какая-либо диаграмма Взаимодействия иллюстрирует семантику операции, можно ввести имя диа-

граммы в нижней части вкладки.

Для описания семантики операции:

1.Откройте окно спецификации операции (или стандартное окно спецификации в Rose).

2.Перейдите на вкладку Semantics (Семантика).

62

3.В поле Semantics введите семантику операции.

Связывание файлов и ссылок с операцией

Некоторая информация, касающаяся данной операции, может содер-

жаться во внешнем файле или на Web-странице. Rose позволяет связать файл или ссылку с операцией. Прикрепленный таким образом файл или ссылку можно открыть непосредственно в браузере.

Прикрепить к операции файл можно следующим образом:

1.Откройте окно спецификации операции (или стандартное окно спецификации в Rose).

2.Щелкните правой кнопкой мыши где-нибудь внутри белого поля вкладки Files (Файлы).

3.В открывшемся меню выберите пункт Insert File (Вставить файл).

4.В диалоговом окне открытия файла укажите нужный вам файл.

5.Для завершения процедуры нажмите на кнопку' Open (Открыть).

ИЛИ

1.Щелкните правой кнопкой мыши на операции в браузере.

2.В открывшемся меню выберите пункт New > File (Создать >

Файл).

3.В диалоговом окне открытия файла укажите нужный вам файл.

4.Для завершения процедуры нажмите на кнопку Open (Открыть).

Для прикрепления к операции ссылки Интернета:

1.Откройте окно спецификации операции (или стандартное окно спецификации в Rose).

2.Щелкните правой кнопкой мыши где-нибудь внутри белого поля вкладки Files (Файлы).

3.В открывшемся меню выберите пункт Insert URL (Вставить

ссылку).

4.Введите адрес вашей ссылки.

ИЛИ

63

1.Щелкните правой кнопкой мыши на операции в браузере.

2.В открывшемся меню выберите пункт New URL (Создать >

Ссылка).

3.Введите адрес ссылки.

Если нужно открыть прикрепленный файл:

1. Откройте окно спецификации операции (или стандартное окно спе-

цификации в Rose).

2. Дважды щелкните мышью на имени файла во вкладке Files (Файлы).

ИЛИ

1.Найдите в браузере файл (он находится под именем соответст-

вующей операции).

2.Дважды щелкните мышью на имени файла. ИЛИ

1.Откройте окно спецификации операции (или стандартное окно спецификации в Rose).

2.Щелкните правой кнопкой мыши на файле во вкладке Files (Фай-

лы).

3. В открывшемся меню выберите пункт Open File/URL (Открыть

файл/ссылку).

ИЛИ

1.Найдите в браузере файл (он находится под именем соответст-

вующей операции).

2.Щелкните правой кнопкой мыши на имени файла.

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

Открыть прикрепленную ссылку на Web-страницу можно следующим

образом:

1.Откройте окно спецификации операции (или стандартное окно спецификации в Rose).

2.Дважды щелкните мышью на ссылке во вкладке Files (Файлы).

ИЛИ

64

1.Найдите ссылку в браузере. Она располагается под именем соот-

ветствующей операции.

2.Дважды щелкните мышью на имени ссылки.

ИЛИ

1.Откройте окно спецификации операции (или стандартное окно спецификации в Rose).

2.Щелкните правой кнопкой мыши на ссылке во вкладке Files

(Файлы).

3.В открывшемся меню выберите пункт Open File/URL (Открыть файл/ссылку).

ИЛИ

1.Найдите ссылку в браузере. Она располагается под именем соот-

ветствующей операции.

2.Щелкните правой кнопкой мыши на ссылке.

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

1.5.5.Изображение атрибутов и операций на диаграммах Классов

Язык UML позволяет изображать на диаграммах Классов как все дета-

ли, так и только те, которые нужны. В Rose можно настроить диаграммы Классов так, чтобы:

Показать все атрибуты и операции;

Скрыть операции;

Скрыть атрибуты;

Показать некоторые атрибуты или операции;

Показать операции вместе с их полными сигнатурами или только их имена;

Показать или скрыть видимость атрибутов и операций;

Показать или скрыть стереотипы атрибутов и операций.

65

В типичном проекте создается большое количество диаграмм Классов.

На одних основное внимание уделяется связям, а детали атрибутов и опера-

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

чего не сообщают об операциях и атрибутах. На третьих могут быть пред-

ставлены все атрибуты и операции с наиболее подробной информацией о них. В среде Rose один и тот же класс можно располагать на любом необхо-

димом вам количестве диаграмм Классов. А с помощью параметров можно задать отображение деталей описания атрибутов и операций.

Значения параметров по умолчанию задаются в окне, открываемом при выборе пункта меню Tools > Options (Инструменты > Параметры).

Изображение атрибутов

Для класса на диаграмме можно:

Показать все атрибуты;

Скрыть все атрибуты;

Показать только выбранные вами атрибуты;

Подавить вывод атрибутов;

Подавление вывода атрибутов приведет не только к исчезновению ат-

рибутов с диаграммы, но и к удалению линии, показывающей место распо-

ложения атрибутов в классе. Проиллюстрируем различия между подавлени-

ем и сокрытием атрибутов. На рис. 29 показан класс OrderItem, все атрибуты которого были скрыты:

атрибуты скрыты

атрибуты подавлены

Рис. 29. Скрытие и подавление атрибутов класса

66

Существует два способа изменения параметров представления атрибу-

тов на диаграмме. Можно установить нужные вам значения для каждого класса индивидуально либо изменить значения требуемых параметров по умолчанию до начала создания диаграммы Классов. Внесенные таким обра-

зом изменения влияют только на вновь создаваемые диаграммы.

Для вывода всех атрибутов класса:

1.Выделите класс на диаграмме.

2.Щелкните правой кнопкой мыши. Откроется контекстнозависи-

мое меню.

3.Выберите пункт Options >- Show All Attributes (Параметры > По-

казать все атрибуты).

ИЛИ

1.Выделите класс на диаграмме.

2.В меню модели выберите пункт Edit > Diagram Object Properties > Show All Attributes (Правка > Свойства объектов диаграммы > Показать все атрибуты).

Если нужно показать только избранные атрибуты класса:

1.Выделите класс на диаграмме.

2.Щелкните правой кнопкой мыши на классе. Откроется контекст-

нозависимое меню.

3.Выберите пункт Options Select Compartment Item.

4.В окне Edit Compartment укажите нужные вам атрибуты.

ИЛИ

1.Выделите класс на диаграмме.

2.R меню модели выберите пункт Edit Compartment.

3.В окне Edit Compartment укажите нужные вам атрибуты.

Для подавления вывода всех атрибутов класса диаграммы:

1.Выделите класс на диаграмме.

2.Щелкните правой кнопкой мыши на классе.

67

3. В контекстно-зависимом меню выберите пункт Options > Suppress

Attributes (Параметры > Подавить атрибуты).

ИЛИ

1.Выделите класс на диаграмме.

2.В меню модели выберите пункт Edit > Diagram Object Properties > Suppress Attributes (Правка > Свойства объектов диаграммы > Подавить ат-

рибуты).

Для изменения принятого по умолчанию вида атрибута:

1.В меню модели выберите пункт Tools >> Options (Инструменты >

Параметры).

2.Перейдите на вкладку Diagram (Диаграмма).

3.Для установки значений параметров отображения атрибутов по умолчанию воспользуйтесь флажками Suppress attributes (Подавить атрибу-

ты) и Show all attributes (Показать все атрибуты).

Упражнение 5. Определение атрибутов классов

В предыдущих упражнениях мы создали несколько операций для клас-

сов и нанесли классы на диаграмму. В этом упражнении к описаниям опера-

ций будут добавлены детали, включая параметры и типы возвращаемых зна-

чений, и определены атрибуты классов.

Постановка задачи

Заполнить созданную ранее Диаграмму Классов для варианта исполь-

зования "Ввести новый заказ‖. В качестве языка программирования необхо-

димо выбрать C++, что позволит добавить к классам параметры операций,

типы данных и типы возвращаемых значений.

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

классу Order диаграммы Классов нужно добавить атрибуты Order Number

(Номер заказа) и Customer Name (Имя клиента). Так как в одном заказе мож-

но указать большое количество товаров и у каждого из них имеются свои

68

собственные данные и поведение, целесообразно моделировать товары как самостоятельные классы, а не как атрибуты класса Order.

Добавление атрибутов и операций

Добавим атрибуты и операции к классам диаграммы Классов "Ввод но-

вого заказа". При этом используем специфические для языка особенности.

Установим параметры так, чтобы показывать все атрибуты, все операции и их сигнатуры. Применим нотацию UML.

Последовательность выполнения упражнения

Настройка

1.В меню модели выберите пункт Tools > Options (Инструменты >

Параметры).

2.Перейдите на вкладку Diagram.

3.Убедитесь, что флажок Show visibility (Показать видимость) ус-

тановлен.

4.Убедитесь, что флажок Show stereotypes (Показать стереотипы)

установлен.

5.Убедитесь, что флажок Show operation signatures (Показать сигна-

туры операций) установлен.

6.Убедитесь, что флажки Show all attributes (Показать все атрибу-

ты) и Show all operations (Показать все операции) установлены.

7.Убедитесь, что флажки Suppress attributes (Подавить атрибуты) и

Suppress operations (Подавить операции) сброшены.

8.Перейдите на вкладку Notation (Нотация).

9.Убедитесь, что флажок Visibility as icons (Отображать пикто-

граммы) сброшен.

Добавление нового класса

1.Найдите в браузере диаграмму Классов варианта использования

"Ввести новый заказ" (Add New Order).

69

2.Дважды щелкнув мышью на диаграмме, откройте ее.

3.Нажмите кнопку Class панели инструментов.

4.Щелкните мышью внутри диаграммы, чтобы поместить туда но-

вый класс.

5.Назовите его OrderItem.

6.Назначьте этому классу стереотип Entity.

7.В браузере перетащите класс в пакет Entities.

Добавление атрибутов

1.Щелкните правой кнопкой мыши на классе Order.

2.В открывшемся меню выберите пункт New Attribute (Создать ат-

рибут).

3.Введите новый атрибут: OrderNumber : Integer

4.Нажмите клавишу Enter.

5.Введите следующий атрибут: CustomerName : String.

6.Повторив шаги 4 и 5, добавьте атрибуты:

OrderDate : Date

OrderFillDate : Date

7.Щелкните правой кнопкой мыши на классе OrderItem.

8.В открывшемся меню выберите пункт New Attribute (Создать ат-

рибут).

9.Введите новый атрибут: ItemID : Integer.

10.Нажмите клавишу Enter.

11.Введите следующий атрибут: ItemDescription : String.

Добавление операций к классу OrderItem

1.Щелкните правой кнопкой мыши на классе OrderItem.

2.В открывшемся меню выберите пункт New Operation (Создать

операцию).

3.Введите новую операцию: Create.

4.Нажмите клавишу Enter.

70