关于UML的几个问题: 我在UML图中包含主类吗? 如果我确实包含它,并实例化对象,我是否从我的主类中绘制一个空箭头(例如 - >)到它实例化的类? 我何时使用钻石与箭头?
我只是对这三件事感到好奇......虽然一篇文章也会非常有用,但有人可以解决这三个问题吗?
非常感谢你。
答案 0 :(得分:2)
我是否在UML图中包含了主要类?
有许多类型的UML图,但我怀疑你的意思是一个类图。你的问题的答案字面意思是:如果你想要。 UML的优点在于您可以制作许多不同细节的图表。有些图表只显示几个类,有些类。我们的想法是,您可以在不同的视图中为不同的受众绘制系统的不同部分。图表尽可能多或多或少。如果您只使用几个类创建一个非常小的应用程序,那么显示主类可能将有意义。给它一个刻板印象或使用注释将其标识为“主要应用程序类”。
如果我确实包含它,并实例化对象,我是否从我的主类中绘制一个空箭头(例如 - >)到它实例化的类?
你当然可以再次“如果你愿意”,这里会有一种依赖:主要的“依赖于”其他类,因为它以某种方式使用它们。也就是说,如果主类A实例化类B的对象,那么类A需要编译B类,因此如果您愿意,可以将其显示为依赖项。
我何时使用钻石与箭头?
菱形显示聚合或组合,用法如下:如果A类有B类字段,那么箭头从A到B有钻石要求A方。 “普通箭头”只显示了相对不明确的依赖关系。当A类使用时,你可以使用它从A类到B类,某种方式是B类。也许A类的方法使用B类的实例作为局部变量。 A中的B的包含(组合或聚合)与普通依赖关系不一致。
答案 1 :(得分:1)
您似乎不是UML专家,但这不是问题。我建议的是简单地将代码反向工程为类图,然后在黄色矩形内添加自己的注释,其中连接符链接到您认为重要的内容。 您将获得代码的图形表示,并且能够在没有真正的UML知识的情况下添加值注释。
UML类图非常简单,可以满足项目的所有需求。如果您不了解UML,那么只需通过反转代码来完成类图并享受: - )