Search code examples
architecturecomponentsumlaggregation

UML aggregation of user access to multiple components


Got the following diagram of a building block view level 1 (no technical unit allowed here). Each component shown has an interaction with users. The UML port (baz) at the top should visualize the user access. Do I really need to draw a dependency from the UML port "baz" to each component, or can I aggregate user access to all components in some way?

enter image description here

I've tried drawing dependency lines from each component to the top UML port - but this looks messy.


Solution

  • Yes, you need to draw dependency lines to each component. If that looks messy, maybe your design is messy. Or maybe, it's just necessary. Remember, if your design is complicated, the diagram will - and should - reflect it. By visualizing the complicated structure, it is at least easier to reason about it.

    Now the question is, whether the interface is really the same for all components? If not, you need to have separate ports anyway. And then it is important to know which component talks to which port.