Шаг 207.
Унифицированный язык моделирования UML.
Структура кооперации

    На этом шаге рассмотрим структуру кооперации.

    Кооперации имеют две составляющие: структурную, которая описывает классы, интерфейсы и другие совместно работающие элементы, и поведенческую, которая описывает динамику взаимодействия этих элементов.

    Структурная составляющая кооперации – это внутренняя (составная) структура, которая может включать любую комбинацию классификаторов, таких как классы, интерфейсы, компоненты, узлы. Внутри кооперации эти классификаторы могут быть организованы с использованием всех обычных связей UML, включая ассоциации, обобщения и зависимости. Фактически структурные аспекты коопераций могут использовать полный диапазон средств структурного моделирования UML.

    Однако в отличие от структурированных классов кооперация не владеет своими структурными элементами. Вместо этого она просто ссылается на классы, интерфейсы, компоненты, узлы и прочие структурные элементы, объявленные в другом месте, или использует их. Вот почему кооперация именует концептуальный, а не физический фрагмент системной архитектуры. Кооперация может распространяться на многие уровни системы. Более того, один и тот же элемент может принимать участие в нескольких кооперациях (а некоторые элементы не будут являться частью ни одной из них).

    Например, система розничной торговли через Internet описывается примерно дюжиной вариантов использования. Среди них, в частности, будут такие, как Purchase Items (Покупка товара), Return Items (Возврат товара), Query Order (Просмотр заказа) и т.п., и каждый из них может быть реализован отдельной кооперацией. Вдобавок эти кооперации будут разделять некоторые общие структурные элементы – такие как классы Customer (Клиент) и Order (Заказ), – но организованные по-разному. На более глубоких уровнях системы также обнаружатся кооперации, представляющие архитектурно значимые механизмы. Скажем, в системе розничной торговли может присутствовать кооперация Internode messaging (Межузловые сообщения), которая описывает детали защищенной передачи сообщений между узлами.

    Если имеется кооперация, именующая концептуальный фрагмент системы, то вы можете погрузиться в нее, чтобы рассмотреть скрытые внутри структурные детали. Например, на рис. 1 показано, какой набор классов, изображенный на диаграмме классов, обнаружится при раскрытии кооперации Internode messaging.


Рис.1. Структурные аспекты кооперации

    На следующем шаге рассмотрим поведенческие аспекты кооперации.




Предыдущий шаг Содержание Следующий шаг