【问题标题】:What is the counterpart of the pseudocode annotation in UML class diagramUML类图中伪代码注释的对应物是什么
【发布时间】:2018-05-30 17:03:36
【问题描述】:

在GOF23一书[Design Patterns Elements of Reusable Object-Oriented Software]中,类图中有伪代码注释。这是一个非常有用的工具。

但是我在UML类图中找不到对应的,所以想知道UML类图中是否有伪代码注释的对应

【问题讨论】:

  • 我不太清楚你在问什么。您的示例正是 UML 类图中使用的伪代码的一个例子。当然,这里的箭头形状很差(在大多数情况下,头部应该是敞开的,并且为了概括,头部应该在箭头的末端,而不是在中间),但除了你的例子是你对这个问题的回答之外。
  • 那其实不是UML,而是OMT类图,UML的前身。我曾经也以为是UML
  • 天哪,是@Rui,把我带回来了。
  • @muszeo 这是什么? :) OMT 类图?但严格来说它不是UML
  • 是的 OMT,我记得那些...

标签: design-patterns uml class-diagram


【解决方案1】:

可以声称上面的 UML 是非法的(因为注释连接器是错误的)。但是,您可以将注释附加到类并增加注释(以显示所指的操作)。

Enterprise Architect 显示如下行为:

blabla 是行为)。

注意:我必须检查 UML 规范这是否是合法的 UML。虽然 EA 非常合规,但它也有一些缺陷。

编辑:我检查了 UML 2.5 规范。伪代码并没有真正被提及,也没有地方告诉他们如何显示它。只有在动作/状态中,他们才谈论表现行为。例如。在第329:

可选的<behavior-expression> 是一个表达式,用于指定以某些供应商特定或标准文本表面语言编写的效果行为(参见子条款 16.1)

因此,您可以“发明”您的符号,在您的域中记录它,并适当地使用它。

【讨论】:

  • 非常感谢您的回答。有道理(Y)但我还是更喜欢等待更多的答案或意见:)
  • 嗯,行为表达可以是任何语言,正式的或非正式的。伪代码在那里完全有效。我不认为你会得到比这个更好的答案 ;-)
【解决方案2】:

在 UML 类图中显示的注释几乎与您的伪代码注释一模一样:

在本例中,它解释了toString() 方法是如何实现的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2012-08-17
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    相关资源
    最近更新 更多