Search code examples
umlcomponent-diagram

understanding dependency relationship in UML component diagram


I'm struggling at understanding UML component diagram.

I've just been through the "assembly connectors" and here's what I (think I) understood:

  • the circle represents an interface, which I understand as a set of functions that a component can offer to the others.
  • the half-circle... well, don't know how to call it, but it says something like "there's some functions I need in order to operate correctly". In the image, I guess that an order must have access to functions that return details of the Customer (e.g: methods GetName(), GetAddress(), etc.), that's why it has the assembly connection with the Customer Details interface, provided by Customer.

My question is: why is there a dependency relationship arrow from the interface which Account provides (AccountDetails) and the interface which Order requires (Payment)?

The link of this image doesn't explain it.

enter image description here


Solution

  • The assembly connector (two shown on top) is a kind of provisional concept. You know that there should be an interface used instead, but have not yet made up the details. This is a connector which looks like socket/lollipop. But it's a connector.

    The separate lollipop/socket are concrete interface uses. These are real elements. The interface itself is not actually shown (you will have a separate diagram showing the details). But to make clear that the depending interface is related to the providing one you draw a dependency.

    Simply spoken, the above is something in the middle of a design phase. Finally all assemblies should be replaced by provided/required interfaces.