【发布时间】:2014-06-11 07:10:37
【问题描述】:
哪个 UML 图最适合显示我们的 IT 系统与其他外部 IT 系统之间的依赖关系?
例如我想在图表上显示:
- 系统 A 从系统 B 获取数据
- 系统 B 可以调用系统 A 的某些功能
我想知道组件图和序列图之间的关系。
你怎么看?
【问题讨论】:
标签: uml modeling enterprise-architect sequence-diagram component-diagram
哪个 UML 图最适合显示我们的 IT 系统与其他外部 IT 系统之间的依赖关系?
例如我想在图表上显示:
我想知道组件图和序列图之间的关系。
你怎么看?
【问题讨论】:
标签: uml modeling enterprise-architect sequence-diagram component-diagram
您的问题不是很具体,因为所有 UML 图都显示了某种依赖关系或路径如何获取数据或拨打电话,所以我不确定您的问题是否正确
您通常正在建模一个系统(+ 周围环境中的一些黑盒子)和一个 UML 模型。您使用的工具充其量应该支持Model Driven Architecture (MDA),甚至可能支持Executable UML,以便您的建模结果可以超过一组“图片”。它可以成为构成应用程序主干的源代码骨架,甚至可以是模型点击运行产品。
为了提供完整或充分的系统描述,您通常需要更多 UML 图,每个图代表不同的观点,重点关注具有不同细节级别的不同方面(但它们都是一个模型的一部分)。
(这个↑是我最难理解的部分)
在开始使用工具以美观的可共享形式绘制图表之前,确保哪个图表符合您的需求非常重要。即使是在 Enterprise Architect 中绘图也需要一些时间来适应并正确使用。
很好地指导如何制作纸和铅笔图,其中哪些用于什么以及如何只花费所需的时间:
甚至有可以将序列图转换为代码的工具或可以将源代码转换为序列图的工具。
清晰易懂的表达语言ARIS Event-Driven Process Chain (EPC)(自 1999 年第一次见到它以来我最喜欢的语言)
制作一些纸和铅笔草图,然后自己决定哪些图表最适合您的需求
【讨论】:
根据你的想法和 Aleks 所说的,人们通常使用两者的组合来表达系统间的关系
EA 允许您在组件图和序列图中重用组件,这允许您从一个图表更新模型并将更改反映在另一个图表中。 下面的快照显示了模型中的两个组件如何在组件图(用于结构关系)和序列图(用于行为流)中使用
【讨论】:
当然是组件和依赖项。依赖并不指向数据流的方向,而是来自“了解”其他组件(从中调用某些内容、创建对象等)的组件。
下图显示了这个想法。
通过接口使用组件之间的接口和通道依赖项是一种常见(并且强烈推荐)的做法。这允许更清晰的规范和更好的设计(当然,如果可能的话)。
序列图可以进一步用于指定具体的使用场景,也是值得推荐的。因此,用于结构、静态依赖的组件和用于动态行为的序列。
【讨论】: