【问题标题】:code path on UML class diagramsUML 类图上的代码路径
【发布时间】:2015-02-09 08:44:07
【问题描述】:

我通常用传统的 UML 类图记录系统架构,然后用箭头进一步记录最重要/最复杂的代码路径,从一种方法到另一种方法,以及它更新的属性等。通常很少记录使用的参数和设置值。

类似(可怕的 ascii 艺术警告)

              --------------            
CASE X        | main class |            -----------------
              --------------            | util          |
              | count      |<-+1        -----------------
              --------------   |        -----------------
user ---x=A-->| doStuff(x) | ---y=Z---<>| someMath(x,y) |
              | other()    |            -----------------
              --------------            

这样的东西有名字吗?请注意我是如何指向单个方法/属性的,而不是像传统 UML 图那样指向整个类。

我对所有其他图表都使用 graphviz/dot。但我可以轻松地转移到其他允许我这样做的东西......我只是宁愿它是像 graphviz 这样的程序化工具,而不是像 visio 这样的绘图工具(如果可能的话)。

如果您认为其他图形引擎可能提供此功能,请随时编辑以添加标签。

【问题讨论】:

    标签: uml graphviz


    【解决方案1】:
    1. ,在 UML 世界中没有这种东西的名字。虽然在UML中你几乎可以随意组合各种绘图元素来绘制图表,从而产生新的发明,但你的绘图并不属于UML standard

      使用标准的一个非常大的优势是其他人可以理解您的意思,而无需向他们提供一些阅读说明。

    2. 在 UML 中有一整套“traditional UML diagrams”归类为“行为图”。您可能需要查看 Kirill Fakhroutdinov 的在线书籍http://www.uml-diagrams.org/index-examples.html中的示例@

      UML 序列图(在您的情况下)似乎是第一个要玩的东西。

    3. 在 UML 中使用绘图工具制作一些图片可能是穷人的选择,但你必须努力学习以确保你把图片放对了。

      我们不使用图片绘图工具,而是使用支持绘图权限的UML Modeling tools,它们有点“知道”图片显示的内容,并且可以从 UML 模型(例如分层状态机)生成代码,或者可以将源代码逆向工程为 UML 模型。

      此外,UML 模型格式被标准化为 XML Metadata Interchange (*.XMI),一旦您拥有这种格式的模型,您就可以使用各种工具来往返并生成您需要的工件(生成的文档、生成的代码……)

    【讨论】:

      【解决方案2】:

      正如 xmojmr 所说,您应该查看序列图。 UML 将自身分解为结构图和行为图。您可能不应该将行为元素添加到结构图中(这就是您正在做的事情)。您对为什么要做您正在做的事情的解释正是人们对使用序列图的解释:它们是一种记录代码路径的方式。

      您还会发现它们用于记录用例的路径(“用例场景”是通过用例的路径),因此请记住,类图表示用例的结构。换句话说,它们都在一起,但是您可能会看到很多从用例而不是类图中得出的序列图。我想指出这一点,以免您对序列图和用例图的明显方向感到困惑。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多