20 ПРОЕКТИРОВАНИЕ ОПЕРАЦИЙ КЛАССОВ
На этом этапе проектируются скрывающие информацию классы, из
которых создаются экземпляры пассивных объектов. Первоначально классы
определяются на этапе построения аналитической модели в ходе разбиения
системы на объекты и классы. Класс применяет сокрытие информации для
решения различных вопросов, связанных со статической структурой, например
сокрытия информации об устройстве или абстрагирования данных. Операции
класса можно вывести как из статической, так и из динамической модели.
Хотя для отражения операций классов предназначена статическая модель,
их проще выявить на основе анализа динамической модели, прежде всего из
диаграммы кооперации. Это обусловлено тем, что в динамической модели
отражен обмен сообщениями между объектами, а следовательно, и операции
объекта-получателя. Передача сообщений между пассивными объектами – не
что иное, как вызов операции одного объекта из операции другого объекта.
Проектирование операций классов на основе модели взаимодействия.
Воспользуемся моделью взаимодействия объектов для выявления операций
классов. Для этой цели годится как диаграмма кооперации, так и диаграмма
последовательности. Операции классов определяются путем рассмотрения того,
как объект данного класса взаимодействует с другими объектами, поскольку
взаимодействие двух объектов состоит в том, что один из них вызывает
операцию другого. При проектировании операций классов мы будем применять
в основном диаграммы кооперации.
Рассматривая два взаимодействующих объекта, необходимо понять, чьи
операции вызываются. Обычно для этого недостаточно диаграммы классов из
статической модели, так как на ней показаны только статические отношения
между классами. С другой с тороны, из динамической модели видно
направление передачи сообщений от одного объекта к другому. Если
спроецировать объекты на последовательную программу, то окажется, что
объект-отправитель вызывает операцию объекта-получателя. Следовательно,
сообщению ставится в соотве тствие вызов операци и. Имя сообщен ия
37