我应该在UML类图中包含私有方法吗?

时间:2016-07-21 08:50:59

标签: uml

所以问题很简单。我只是在互联网上找不到答案。我认为私有方法在图表中是无用的,而不是很多。但也许我认为错了。

4 个答案:

答案 0 :(得分:4)

私有方法是类的实现细节,而不是其公共API。

如果您使用图表来显示该类的外部接口,或该类所属的某个子系统,则没有理由包含它们。它们只会增加视觉噪音并使读者感到困惑。

是/可能

另一方面,如果您正在尝试传达类本身的内部设计,或者它与另一个类紧密耦合的协作(在C ++中考虑friend),那么它可能是合适的。

答案 1 :(得分:1)

<强>意见:

UML不是一种4GL编程语言。你用它来传达一个想法,设计,架构。您只添加用于此目的的信息。它没有“完整”的概念。与书中的文字一样,您只能使用必要的词语来传达信息。

如果它被用作系统文档的一部分,并且需要显示所有成员,那么我们之后就会生成它。

UML不是目标,它只是一种与人沟通的建模语言

因此,如果它是为了你的目的而添加它,否则你就把它留下来。

*)已经做了一些尝试,但并没有非常成功(一起想起来)

答案 2 :(得分:1)

这取决于你的建模。

通常,UML提供了一种显示操作(和属性相似)可见性的机制。由于私有功能可以在图表中显示,很明显您可以在图表上显示它。但是,如果你显示或不显示取决于你的建模。 如果你正在对类的内部行为进行建模,那么是的。 如果你只是建模它的外观你不必(但你仍然可以)。

答案 3 :(得分:0)

是的,你应该包括它们。它提供了关于类如何工作的更多细节。 IBM实际上有一个关于私有方法的特殊符号 - https://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/