软考UML大题知识点总结(7)
发布时间:2021-06-06
发布时间:2021-06-06
中级软件设计师关于UML大题方面的知识总结
导航方向A——>B,说明从类A的实例导航到类B的实例,因此类
A中必然包含一个对类B的实例的引用。图C表示的是关联一端的
角色名称。
4)、例如客户和订单,每个客户对应一个特定订单;再例如公司和员工,
每个公司对应一些特定的员工,每个员工对应一特定公司;例如自行车和主人。
Person类与Bicycle类之间存在关联关系,这意味着在Person类中需要
定义一个Bicycle类型的成员变量。以下是Person类的定义:
public class Person{
private Bicycle bicycle; //主人的自行车
public Bicycle getBicycle(){ return bicycle; }
public void setBicycle(Bicycle bicycle){ this.bicycle=bicycle; }
/** 骑自行车去上班 */
public void goToWork(){ bicycle.run(); }
}
5)、关联关系是类与类之间的联接,它使一个类知道另一个类的属性和
方法。关联 关系包括单向关联、双向关联、聚合关联、合成关联、反射关联关系。
6)、多重度。
UML中关联的多重度是指一个类的实例能够与另一个类的多少个实例
相关联。
关联表示了对象间的结构关系,在很多建模问题中,说明一个关联的
实例中有多少个互相连接的对象是很重要的。这个“多少”被称为关
联角色的多重度。
指定关联一端的多重度,就是说明:在关联另一端的类的每个对象要
中级软件设计师关于UML大题方面的知识总结
3、 聚集
1)、——<>是聚集。
2)、是一种特殊类型的关联,它描述了整体和部分间的结构关系。某个
类是另外某个类的一部分。在一个聚合关系中,子类实例可以比父
类存在更长的时间
3)、车和轮胎间的聚合关系的例子
4)、当系统A被加入到系统B中,成为系统B的组成部分时,系统B和
系统A之间为聚集关系。例如自行车和它的响铃、龙头、轮胎、钢
圈以及刹车装置就是聚集关系,因为响铃是自行车的组成部分。而
人和自行车不是聚集关系,因为人不是由自行车组成的,如果一定
要研究人的组成,那么他应该由头、躯干和四肢等组成。由此可见,
可以根据语义来区分关联关系和聚集关系。
5)、聚集关系和关联关系的区别还表现在以下方面:
A、对于具有关联关系的两个对象,多数情况下,两者有独立的生
命周期。比如自行车和他的主人,当自行车不存在了,它的主
人依然存在;反之亦然。
B、 对于具有聚集关系(尤其是强聚集关系)的两个对象,整体对
象会制约它的组成对象的生命周期。部分类的对象不能单独存
在,它的生命周期依赖于整体类的对象的生命周期,当整体消
失,部分也就随之消失。比如小王的自行车被偷了,那么自行
车的所有组件也不存在了。
6)、不过,在用程序代码来表示关联关系和聚集关系时,两者比较相例
如自行车Bicycle与响铃Bell的聚集关系。
public class Bicycle{
private Bell bell;
public Bell getBell(){return bell;}
public void setBell(Bell bell){this.bell=bell;}
/** 发出铃声 */
public void alert(){bell.ring();}
}
在Bicycle类中定义了Bell类型的成员变量,Bicycle类利用自身的bell成员变量来发出铃声,这和在Person类中定义了Bicycle类型的成员变量,Person类利用自身的bicycle成员变量去上班很相似。
4、 组合