Для названия операции следует использовать только термины класса, выполняющего операцию, а не класса, запрашивающего выполнение операции. Например, операция добавления студента к учебному курсу называется добавить студента (addStudent). Кроме того, имена операций не должны отражать способ их выполнения, потому что он может измениться. К примеру, объект учебный курс может иметь не более десяти прикрепленных студентов.
Вам, вероятно, потребуется выяснить, сколько студентов прикреплено к объекту учебный курс в данный момент. Это значение вычисляется при подсчете связей между объектами учебный курс и студент. Если операция называется посчитать число студентов (calculateNumberOfStudent), следовательно, нужно использовать метод подсчета. Однако через год реализация может измениться и информация о количестве студентов будет храниться, например, в файле. Поэтому лучше назвать операцию получить число студентов (getNumberOfStudent). Это название не указывает на способ реализации операции.
Для отображения сообщений на операции в программе Rational Rose:
1. Присвойте объекты соответствующим классам, если вы не сделали этого ранее.
2. Щелкните правой кнопкой мыши по стрелке, отображающей сообщение.
3. В появившемся контекстно-зависимом меню выберите команду New Operation(Новая операция) — увидите диалоговое окно Operation Specification(Параметры операции).
4. Введите в нем имя операции.
5. Щелкните по кнопке ОК,чтобы закрыть диалоговое окно.
Если необходимая операция для данного класса уже существует, ее не нужно создавать заново — просто выберите в списке операций класса.
Диаграмма последовательности действий с операциями показана на рис. 7.1.Операции создаются независимо от диаграмм взаимодействий, так как не все сценарии изображаются в виде диаграмм. Это справедливо для операций, являющихся вспомогательными для других операций. Например, класс предмет, перед тем как зарегистрировать преподавателя, должен проверить, имеет ли тот право читать указанный курс. Для этой цели как нельзя лучше подойдет вспомогательная операция проверить преподавателя (validateProfessor).

Рис. 7.1. Диаграмма последовательности действий с операциями
Чтобы создать операции в программе Rational Rose:
1. Щелкните правой кнопкой мыши по классу в окне браузера.
2. В появившемся контекстно-зависимом меню выберите команду New => Operation (Создать => Операция).
3. Введите имя новой операции.
Операции для класса предмет (Course) показаны на рис. 7.2.
Документирование операций
Каждая операция должна быть описана в документации, чтобы человек, изучающий модель, мог легко понять ее назначение. Описание должно отражать функциональность операции, а также содержать комментарии о входных параметрах и возвращаемом результате, если они имеются. Входные и возвращаемые параметры составляют сигнатуру операции (operation signature). Эта информация может отсутствовать на начальном этапе и добавляться на последующих стадиях жизненного цикла, когда будут собраны достаточные сведения о классе.
Рис. 7.2. Операции в списке браузера
Для описания операций в программе Rational Rose:
1. Щелкните в окне браузера по значку «+» слева от имени класса, чтобы раскрыть список его свойств.
2. Выберите нужную операцию, щелкнув по ней мышью.
3. Установите курсор в окне описания и введите описание операции.
Описание операции выбрать преподавателя (SetProfessor) класса предмет (Course) показано на рис. 7.3.

Рис. 7.3. Описание операции выбрать преподавателя
Отношения и сигнатуры операций
Сигнатура операции может обозначать отношение. Если класс, передаваемый как аргумент или возвращаемый операцией, является фундаментальным (fundamental) классом, как, например, строка (String), отношения обычно не выносятся на диаграмму. Для нефундаментальных классов отношения отражаются на одной или нескольких диаграммах. Например, входными параметрами для операции зарегистрировать преподавателя (setProfessor) в классе предмет (Course) являются классы преподаватель (Professor) и учебный курс (CourseOffering). Это значит, что существуют отношения:
Читать дальше
Конец ознакомительного отрывка
Купить книгу