顶级功能的UML类图符号


13

用UML类图表示法,如何表示一个没有任何封装类或其他结构的顶级函数?

例如,我有一个用于从URL检索数据的功能。由于它是仅具有其参数和共享全局状态的函数(从数学意义上来说),因此该函数不会放在类中,而是留给顶级方法使用。

但是,现在,我需要使用它为程序创建一个UML图,而我找不到关于如何表示顶级函数的任何信息。我该怎么做呢?


您可以将其建模为static称为global
–xmojmr

1
下面的答案是好的。但是,与其说该类或构造型是“全局”,不如说我是“ StandaloneFunction”,因为它对您的意图非常明确。话虽如此,IMO最好将“顶层”功能放在一个命名良好的名称空间中,该名称空间允许组织功能,然后为您提供一个类以将其放入。因此,将功能放置在名为UrlUtilities远远优于仅使它成为“顶级”功能。但话又说回来,这时您最好将它作为最佳方法作为静态方法放入UrlUtilities类中。
Dunk 2015年

Answers:


10

UML语言不支持独立功能的概念。在UML中,所有功能必须是类的一部分。

解决方法是,您可以将独立函数建模为与其密切相关的类的静态成员。如果没有此类,则可以将这些函数建模为虚拟类的一部分,例如global@xmojmr在注释中提到的类。


7

创建可附加到“类”分类器的构造型,例如<<global function>>。然后,您可以为每个包含一个完全指定的静态操作的全局函数创建一个构造型“类” 。

我提出的构造型告诉阅读图表的人将分类器解释为一个函数。给定图上的矩形(具有构造型)将表示单个功能,而其依存关系表示该单个功能的依存关系。


我很难看到您的答案与Bart的答案有何不同?
Adam Zuckerman 2015年

3
@AdamZuckerman-Bart创建一个名为“ global”的类,该类聚合所有全局函数,因此很难知道在给定上下文中应用了哪些全局函数和依赖项。我建议的构造型是告诉阅读图表的人将类解释为函数。一个类矩形(具有构造型)将表示一个函数,而其依赖项表示该单个函数的依赖项。
Doug Knesek
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.