当前位置: 首页 > 知识库问答 >
问题:

UML类图关系

高承望
2023-03-14

我对我要在类图中使用哪些关系有些怀疑。我知道我可以使用一般关联(使用关联行)或更多特定的关联,如聚合或组合。我已经知道聚合和组合的定义,但我的问题是:

  1. 何时需要使用一般关联,何时需要使用更具体的关联
  2. 有什么规则吗

共有2个答案

柯昆杰
2023-03-14

在绘图时,请使用未指定的关系。当您开始使diag更具体时,在其endpoint上写下数字,指定箭头endpoint,命名endpoint,在endpoint上放置共享/复合菱形和点。

通知-聚合可以是:共享、组合或无。简单地将共享聚合命名为聚合是违反UML标准的糟糕做法。

伏默
2023-03-14

如果您唯一关心的是符合UML,您可以自由选择使用哪种类型的关联。然而,最佳实践是决定在项目中使用哪种类型的关联,并一致地使用它们。

我的建议是使用一般关联和复合聚合,而不是共享聚合。如果一个类对其关联类的存在负有责任(根据复合的定义),则始终使用组合。如果有一种较弱的聚合,就画一个一般的关联。

或者,您可以决定只使用一般关联。例如,如果您的受众不习惯UML,并且您不想向他们解释更具体的关联形式,则首选此选项。

 类似资料:
  • http://i.imgur.com/8fwhsai.jpg

  • 我目前正在研究UML类图,对一些事情有点困惑。所以我有我的类,继承和使用接口,但我把不继承或使用接口的类放在哪里?我是不是像下图那样把它们放在一边?

  • 我试图为我的项目管理软件画一个类图,描述如下。它包含以下类别: 项目 - 软件 - 管理项目的人/她 - 从事项目工作的人员 以及以下关系/关联: > < li> 一个项目经理可能要管理多个项目,而一个项目只能由一个项目经理管理 项目经理可以将员工分配给他/她管理的项目 对于上面的关联,我创建了这个类图: < li >如何对第一个关联(在< code>ProjectManager和< code>P

  • 图像显示了仓库的物流。非常非常简单。它的概念是什么:有单据:< code > receiving lubril ,< code > dispatchinglirl ,< code>ReplacementOrder。 它们与主要类交互:、和。 以及< code>Register类:< code > ItemRemainsInWarehouse 。原来,文件是操作、接收、发送等的确认。< code>R

  • 在UML图中,这些场景之间的关系是什么? <code>1.取2个类,类A和类B。类A中有一些方法,例如:public function(ArrayList <代码> 2。取两个类,A类和b类。A类中有一些方法,比如:公共函数(ArrayList

  • 这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,看后面章节的设计模式结构图就没有什么问题了; 本章所有图形使用Enterprise Architect 9.2来画,所有示例详见根目录下的design_patterns.EA