【发布时间】:2011-10-04 16:04:50
【问题描述】:
关于 UML 的几个问题: 我是否在我的 UML 图中包含主类? 如果我确实包含它,并且它实例化了对象,我是否会从我的主类到它实例化的类绘制一个空箭头(例如 ->)? 我什么时候使用菱形与箭头?
我只是对这三件事感到好奇......虽然一篇文章也会很有帮助,但有人可以解决这三个问题吗?
非常感谢。
【问题讨论】:
标签: uml
关于 UML 的几个问题: 我是否在我的 UML 图中包含主类? 如果我确实包含它,并且它实例化了对象,我是否会从我的主类到它实例化的类绘制一个空箭头(例如 ->)? 我什么时候使用菱形与箭头?
我只是对这三件事感到好奇......虽然一篇文章也会很有帮助,但有人可以解决这三个问题吗?
非常感谢。
【问题讨论】:
标签: uml
我是否在我的 UML 图中包含主类?
UML 图有很多种类型,但我怀疑您的意思是类图。你的问题的答案是字面意思:如果你愿意。 UML 的美妙之处在于您可以制作许多图表,这些图表的细节各不相同。有些图表将只显示几个类,有些则很多。这个想法是你为不同的受众以不同的视图绘制系统的不同部分。尽可能多或尽可能少地绘制图表。如果您正在制作一个只有几个类的非常小的应用程序,那么显示主类可能将有意义。给它一个刻板印象或使用一个将它标识为“主应用程序类”的注释。
如果我确实包含它,并且它实例化了对象,我是否会从我的主类到它实例化的类绘制一个空箭头(例如 ->)?
你当然可以,再次“如果你愿意”,这里会有某种依赖:主类“依赖”其他类,因为它以某种方式使用它们。也就是说,如果主类 A 实例化了 B 类的对象,那么 A 类需要 B 类来编译,所以如果你愿意,可以将其显示为依赖项。
我什么时候使用菱形与箭头?
菱形表示aggregation或composition,用法如下:如果A类有B类的字段,那么从A到B的箭头上面有一个菱形需要 A 面。 “纯箭头”只是显示了一个相对未指定的依赖关系。当A类使用B类时,您可以从A类到B类使用它。也许A类的方法使用B类的实例作为局部变量。 A 中的 B 的包含(组合或聚合)不包含在普通依赖项中。
【讨论】:
您似乎不是 UML 专家,但这不是问题。我建议将您的代码简单地逆向工程为类图,然后在黄色矩形内添加您自己的注释,该矩形具有与您认为重要的连接器链接的连接器。 您将获得代码的图形表示,并且能够在没有真正的 UML 知识的情况下添加价值 cmets。
UML 类图非常简单,可以涵盖项目的所有需求。如果您不了解 UML,那么只需通过反转代码来做类图并享受 :-)
【讨论】: