UML替换上下文关系图

时间:2014-05-20 13:42:44

标签: uml diagram software-design

根据UML context diagram 背景图并不存在 所以我的问题是哪一个 UML图很好地显示这样的东西以及如何绘制它? diagram

6 个答案:

答案 0 :(得分:8)

我刚刚找到以下定义:http://en.wikipedia.org/wiki/System_context_diagram 这可能就是你所需要的。 :)

  

上下文关系图定义系统或系统的一部分与其之间的边界   环境,显示与其交互的实体。

UML中没有单一的图表可以映射到这个定义,但我有一些好消息 - 有几个图表(总共14个)可以从不同的角度展示系统与周围世界之间的边界。这比仅上下文图更灵活。

首先,我要提一个特殊的UML元素 - 边界。它可以在任何图表类型中使用,以显示某种划界。您可能希望选择使用它来直观地界定系统及其环境,尤其是在不明确的情况下。

以下图表可以显示系统与其环境之间的界限:

  • 用例图(您的示例)在功能级别上明确支持上下文。用例是正在开发的系统的元素,而参与者是外部实体(系统或人类用户)。之前提到的边界通常用于在视觉上界定系统及其环境。
  • 组件图用于建模某种软件模块(应用程序,数据库,外部系统,库等)。您可以使用它来显示内部和外部组件以及它们的交互方式。可以使用边界清楚地绘制分隔线。
  • 活动图可以显示您的系统/业务/使用流程。有些活动可以在内部进行,有些则可以在外部在这里你不需要边界,但所谓的 swimlanes 来描绘谁做了什么。
  • 序列/协作图是另一种选择。它们显示了几个对象之间的通信序列。如果将这些对象拆分为内部和外部对象并用边界包装它们,则还有另一个上下文关系图。 :)

UML很灵活,可能还有其他选择,但我认为这足以让我们明白这一点。

答案 1 :(得分:3)

您的关联名称是服务。图中心的用例是服务定义的上下文。参见用例图:

enter image description here

答案 2 :(得分:1)

可以使用用例

完成

http://en.wikipedia.org/wiki/Use_case

修改

重新考虑它,一旦定义了操作,用例图应该是下一步,所以首先你应该制作一个系统序列图。

http://en.wikipedia.org/wiki/System_sequence_diagram

答案 3 :(得分:0)

我倾向于使用协作图。因此,对于每个用例的每个主要场景,绘制一个显示参与者的协作图,将应用程序作为中间的单个实体,以及周围传递的消息显示应用程序如何与actor交互以实现该场景。 / p>

(我没有在消息中添加太多细节 - 我只想表明存在责任委托和某种交互,但我不关心实际消息,视图,数据的细节等)

答案 4 :(得分:0)

我发现上下文图确实具有特殊吸引力。它适合商业用户,向他们展示范围和范围。系统的各方以一种非常简单的方式。所以,我倾向于创建一个上下文图,即使在UML普遍存在的上下文中也是如此。

答案 5 :(得分:0)

如果您对进入不完整的UML超集SysML感到满意,那么您可以在那里找到适当的上下文图。

然而,SysML中的上下文图只是显示系统上下文的Block Diagrams ...而Block Diagrams恰好与UML2类图相同,其中类是构造型«SysML :: Block»。

因此,您可以根据UML2类图的相关构造型,根据块与系统的聚合来定义上下文关系图。