Подробное описание операций с помощью броузера
• Найдите в броузере класс OrderItem.
• Чтобы раскрыть этот класс, щелкните на значке "+" рядом с ним. В броузере появятся его атрибуты и операции.
• Дважды щелкните на операции GetIInfo(), чтобы открыть окно ее спецификации.
• В раскрывающемся списке Return class (возвращаемый класс) укажите String.
• Щелкните на кнопке ОК, закрыв окно спецификации операции.
• Дважды щелкните в броузере на операции SetInfo класса OrderItem, чтобы открыть окно ее спецификации.
• В раскрывающемся списке Return class укажите Boolean.
• Перейдите на вкладку Detail (Подробно).
• Щелкните правой кнопкой мыши на белом поле в области аргументов, чтобы добавить туда новый параметр.
• В открывшемся меню выберите пункт Insert. Rose добавит туда аргумент под названием argname.
• Щелкните один раз на этом слове, чтобы выделить его, и измените имя аргумента на ID.
• Щелкните на колонке Type, открыв раскрывающийся список типов. В нем выберите тип Integer.
• Щелкните на колонке Default, чтобы добавить значение аргумента по умолчанию. Введите туда число 0.
• Нажмите на кнопку ОК, закрыв окно спецификации операции.
• Дважды щелкните на операции Create() класса OrderItem, чтобы открыть окно ее спецификации.
• В раскрывающемся списке Return class укажите Boolean.
• Нажмите на кнопку ОК, закрыв окно спецификации операции.
Подробное описание операций с помощью любого из описанных методов
• Используя броузер или диаграмму Классов, введите следующую сигнатуру операций класса OrderDetail:
Open() : Boolean
SubmitInfo() : Boolean
Save() : Boolean
• Используя броузер или диаграмму Классов, введите следующую сигнатуру операций класса OrderOptions:
Create() : Boolean
• Используя броузер или диаграмму Классов, введите следующую сигнатуру операций класса OrderMgr:
SaveOrder(OrderID : Integer) : Boolean
• Используя броузер или диаграмму Классов, введите следующую сигнатуру операций класса TransactionMgr:
SaveOrder(OrderID : Integer) : Boolean
Commit() : Integer
Упражнение 5 . Создание диаграмм классов (добавление связей между классами)
В этом упражнении будут определены связи между классами, участвующими в варианте использования "Ввести новый заказ".
Добавление связей
Добавим связи к классам, принимающим участие в варианте использования "Ввести новый заказ".
Этапы выполнения упражнения
Настройка
• Найдите в броузере диаграмму Классов "Ввод нового заказа"
• Дважды щелкните на ней, чтобы открыть ее.
• Проверьте, имеется ли на панели инструментов диаграммы кнопка Unidirectional Association. Если ее нет, продолжайте настройку, выполнив этапы 4 и 5. Если есть, приступайте к выполнению самого упражнения.
• Щелкните правой кнопкой мыши на панели инструментов диаграммы и в открывшемся меню выберите пункт Customize.
• Добавьте на панель кнопку , называющуюся Create A Unidirectional Association.
Добавление ассоциаций
• Нажмите кнопку панели инструментов Unidirectional Association.
• Нарисуйте ассоциацию от класса ВыборЗаказа (OrderOptions) к классу ДеталиЗаказа (OrderDetail).
• Повторите этапы 1 и 2, создав еще ассоциации:
# От класса OrderDetail к классу МенеджерЗаказов (OrderMgr)
# От класса OrderMgr к классу Заказ (Order)
# От класса OrderMgr к классу МенеджерТранзакций (TransactionMgr)
# От класса TransactionMgr к классу Order
# От класса TransactionMgr к классу ПозицияЗаказа (OrderItem)
# От класса Order к классу OrderItem
• Щелкните правой кнопкой мыши на однонаправленной ассоциации между классами OrderOptions и OrderDetail, со стороны класса OrderOptions.
• В открывшемся меню выберите пункт Multiplicity > Zero or One.
• Щелкните правой кнопкой мыши на другом конце однонаправленной ассоциации.
• В открывшемся меню выберите пункт Multiplicity > Zero or One.
• Повторите этапы 4 - 7, добавив на диаграмму значения множественности для остальных ассоциаций, как показано на рисунке 11.
Рис. 11. Ассоциации сценария "Ввести новый заказ".