Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UML.doc
Скачиваний:
8
Добавлен:
16.11.2019
Размер:
8 Мб
Скачать
☆

2.5.1.7.1. Выявление операций

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

Следует рассмотреть четыре различных типа операций:

1) Операции реализации (implementor operations) реализуют некоторую бизнес-функциональность. Такие операции можно найти, исследуя диаграммы Взаимодействия. Диаграммы этого типа фокусируются на бизнес-функциональности, и каждое сообщение диаграммы скорее всего можно соотнести с опера­цией реализации.

Необходимо, чтобы каждую операцию реализации можно было проследить до соответствующего требования. Это достигается на различных этапах моделирования. Операция выводится из сообще­ния на диаграмме Взаимодействия, сообщения выделяются из подробного описания потока событий, который создается на основе варианта использования, а последний — на основе требований. Возмож­ность проследить всю эту цепочку гарантирует, что каждое требование будет воплощено в коде, а каждый фрагмент кода реализует какое-то требование.

2) Операции управления (manager operations) управляют созданием и разрушением объектов. В эту катего­рию попадают конструкторы и деструкторы классов.

В среде Rose не требуется вручную создавать конструкторы и деструкторы классов. При генера­ции кода вам предоставляется возможность сделать это автоматически.

3) Операции доступа. Атрибуты обычно бывают закрытыми или защищенными. Тем не менее другие классы иногда должны просматривать или изменять их значения. Для этого предназначены операции доступа (access operati­ons).

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

Создание операций Get и Set (получения и изменения значения) для каждого атрибута класса явля­ется промышленным стандартом.

Как и в случае операций управления, операции доступа не нужно вводить вручную. При генерации кода Rose автоматически создаст операции Get и Set для каждого атрибута класса.

4) Вспомогательными (helper operations) называются такие операции класса, которые необходимы ему для выполнения его ответственностей, но о которых другие классы не должны ничего знать. Это за­крытые и защищенные операции класса.

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

Для идентификации операций выполните следующие действия:

- Изучите диаграммы Последовательности и Кооперативные диаграммы. Большая часть сообще­ний на этих диаграммах является операциями реализации. Рефлексивные сообщения будут вспомогательными операциями.

- Рассмотрите управляющие операции. Возможно, требуется добавить конструкторы и деструкто­ры, хотя Rose может сделать это за вас при генерации кода.

- Рассмотрите операции доступа. Для каждого атрибута класса, с которым будут работать другие классы, необходимо создать операции Get и Set. Как и в случае управляющих операций, Rose может создать указанные операции автоматически.