Основная проблема c (к сожалению) является ограничением метамодели UML 2.5 (которой не было в 2.1.1). Это позволяет соединителям сборки только между метаклассами Property (являющимися Port и ExtensionEnd). Поэтому, когда вы выполняете описанное выше с порта на другой порт, вы увидите сборку в быстром компоновщике.
Если вы хотите сборку между компонентами, вы должны явно использовать их из панели инструментов. Я использую их во время раннего проектирования, так как знаю, что заменю их позже, когда получу реальные интерфейсы. Однако нужно знать, что такая модель не соответствует стандарту UML. Но кого волнуют стандарты, если вы можете сделать свой собственный? ;-) , Используйте это для первого эскиза, когда у вас нет деталей об интерфейсах.
Средний является предпочтительным в дизайне. Вы рисуете отношение зависимости от требуемого к предоставленному IF (указывая слева направо).
Нижняя не в порядке. Вы используете сборку в сочетании с реальным IF, если сборка ориентирована неправильно. Я предлагаю использовать эту сборку только на ранней стадии проектирования, и как только вы получите право IF (сокеты и леденцы на палочке), связать их с зависимостью.
Поскольку EA ведет себя непоследовательно: для создания сборка вы не можете использовать быстрый компоновщик. Перетаскивание из одного компонента в другой просто предлагает
Вместо фокусировки на диаграмме компонентов нажмите пробел, и вы получите набор инструментов
Выберите разъем для сборки (вы также можете открыть окно панели инструментов и выбрать там разъем, но я предпочитаю этот способ). Теперь вы можете перетаскивать из исходного в целевой компонент.