UML diagram for dependency between systems

泪湿孤枕 提交于 2019-11-27 02:03:17

Components definitelly, and dependencies. Dependency does not go in direction of the data-flow, but from the component that "knows" other component (invokes something from it, creates an object, etc).

The following diagram shows the idea.

It is common (and highly recommendable) practice, to use interfaces between the components and channel dependencies through interface. This permits clearer specification and better design (if possible of course).

Sequence diagram can further be used to specify concrete usage scenario and is also recommendable. So, components for structural, static dependencies and sequence for dynamic behavior.

Further to your thoughts and what Aleks has said, people usually use a combination of both to articulate the inter-system relationships

EA allows you to reuse components in component diagram & Sequence diagram, which allows you to update model from one diagram and have the changes reflected in the other. Below snapshots show how two components in the model are used in a component diagram (for structural relationships) and sequence diagram(for behavioral flow)

your question is not very specific as all UML diagrams display some kind of dependency or pathway how to get data or make a call, so I'm not sure if I got substance of your question right

1. there is no such thing as one best UML diagram to show it all

There is usually one system that you are modeling (+ some black boxes in its surrounding environment) and one UML model. At best the tool you use should support Model Driven Architecture (MDA) and perhaps even Executable UML so that the result of your modeling can be more then set of "pictures". It can become skeleton of source code forming the backbone of the application or it can be even model-click-and-run product.

In order to provide full or sufficient description of the system you'll usually need more UML diagrams each representing different point of view with focus on different aspects with different level of detail (yet all of them being parts of one model).

(This ↑ was the hard part for me to understand)

2. before deciding which diagrams to use make some paper & pencil prototypes

It is quite importtant to make sure which diagram fits your needs before you start drawing it in a good looking sharable form using a tool. Even drawing in Enterprise Architect takes some time to get used to and to get it right.

Very good guide how to do a paper & pencil diagrams and which of them is used for what and how to spend only as much time as is needed:

3. sequence diagrams are expressive simple and useful for programmers

There are even tools that can turn sequence diagrams into code or tools that can turn source code into a sequence diagram.

4. activity diagrams are expressive and useful for programmers

5. high level overview diagrams useful for programmers and others (not UML)

6. = 1 + 2 + you

make some paper & pencil sketches and decide yourself which diagrams best suit your needs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!