Подробное описание операций с помощью броузера

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

2. Чтобы раскрыть этот класс, щелкните на значке "+" рядом с ним. В броузере появятся его атрибуты и операции.

3. Дважды щелкните на операции GetIInfo(), чтобы открыть окно ее спецификации.

4. В раскрывающемся списке Return class (возвращаемый класс) укажите String.

5. Щелкните на кнопке ОК, закрыв окно спецификации операции.

6. Дважды щелкните в броузере на операции SetInfo класса OrderItem, чтобы открыть окно ее спецификации.

7. В раскрывающемся списке Return class укажите Boolean.

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

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

10. В открывшемся меню выберите пункт Insert. Rose добавит туда аргумент под названием argname.

11. Щелкните один раз на этом слове, чтобы выделить его, и измените имя аргумента на ID.

12. Щелкните на колонке Type, открыв раскрывающийся список типов. В нем выберите тип Integer.

13. Щелкните на колонке Default, чтобы добавить значение аргумента по умолчанию. Введите туда число 0.

14. Нажмите на кнопку ОК, закрыв окно спецификации операции.

15. Дважды щелкните на операции Create() класса OrderItem, чтобы открыть окно ее спецификации.

16. В раскрывающемся списке Return class укажите Boolean.

17. Нажмите на кнопку ОК, закрыв окно спецификации операции.

Подробное описание операций с помощью любого из описанных методов

1. Используя броузер или диаграмму Классов, введите следующую сигнатуру операций класса OrderDetail:

Open() : Boolean

SubmitInfo() : Boolean

Save() : Boolean

2. Используя броузер или диаграмму Классов, введите следующую сигнатуру операций класса OrderOptions:

Create() : Boolean

3. Используя броузер или диаграмму Классов, введите следующую сигнатуру операций класса OrderMgr:

SaveOrder(OrderID : Integer) : Boolean

4. Используя броузер или диаграмму Классов, введите следующую сигнатуру операций класса TransactionMgr:

SaveOrder(OrderID : Integer) : Boolean

Commit() : Integer

 


Упражнение 5. Создание диаграмм классов (добавление связей между классами)

 

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

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

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

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

 

Добавление связей

Добавим связи к классам, принимающим участие в варианте использования "Ввести новый заказ".

Этапы выполнения упражнения

Настройка

1. Найдите в броузере диаграмму Классов "Ввод нового заказа"

2. Дважды щелкните на ней, чтобы открыть ее.

3. Проверьте, имеется ли на панели инструментов диаграммы кнопка Unidirectional Association. Если ее нет, продолжайте настройку, выполнив этапы 4 и 5. Если есть, приступайте к выполнению самого упражнения.

4. Щелкните правой кнопкой мыши на панели инструментов диаграммы и в открывшемся меню выберите пункт Customize.

5. Добавьте на панель кнопку, называющуюся Create A Unidirectional Association.

Добавление ассоциаций

1. Нажмите кнопку панели инструментов Unidirectional Association.

2. Нарисуйте ассоциацию от класса ВыборЗаказа (OrderOptions) к классу ДеталиЗаказа (OrderDetail).

3. Повторите этапы 1 и 2, создав еще ассоциации:

# От класса OrderDetail к классу МенеджерЗаказов (OrderMgr)

# От класса OrderMgr к классу Заказ (Order)

# От класса OrderMgr к классу МенеджерТранзакций (TransactionMgr)

# От класса TransactionMgr к классу Order

# От класса TransactionMgr к классу ПозицияЗаказа (OrderItem)

# От класса Order к классу OrderItem

4. Щелкните правой кнопкой мыши на однонаправленной ассоциации между классами OrderOptions и OrderDetail, со стороны класса OrderOptions.

5. В открывшемся меню выберите пункт Multiplicity > Zero or One.

6. Щелкните правой кнопкой мыши на другом конце однонаправленной ассоциации.

7. В открывшемся меню выберите пункт Multiplicity > Zero or One.

8. Повторите этапы 4 - 7, добавив на диаграмму значения множественности для остальных ассоциаций, как показано на рисунке 11.

 

 

Рис. 11. Ассоциации сценария "Ввести новый заказ".