На этом шаге рассмотрим типичные приемы моделирования систем связи в UML.
При моделировании словаря сложной системы вы можете столкнуться с дюжинами, если не с сотнями и тысячами классов, интерфейсов, компонентов, узлов и вариантов использования. Трудно установить четкие границы между всеми этими абстракциями. Еще сложнее описать мириады связей между ними. Это потребует от вас сбалансированного распределения обязанностей в системе в целом, с применением индивидуальных абстракций, которые обладают высокой согласованностью, выразительностью и слабой связностью.
Когда вы моделируете эти системы связей, пользуйтесь следующими рекомендациями:
Ключ к успешному моделированию сложных систем связей лежит в пошаговом подходе. Занимайтесь построением связей по мере того, как усложняете структуру системной архитектуры. Упрощайте эти отношения, исследуя альтернативы общепринятым механизмам. В процессе разработки оценивайте связи между ключевыми абстракциями вашей системы в каждой версии.
На практике (особенно если вы следуете правилам пошагового и итерационного процесса разработки) связи в ваших моделях будут зависеть от решений, принятых разработчиком моделей, а также от обратного проектирования вашей реализации.
На следующем шаге рассмотрим понятие интерфейса в UML.