类图
类是面向对象技术的基础,是面向对象程序设计的基本单元。类图描述软件
系统的静态结构。类图不仅定义了系统中的类,表示了类与类之间的关系
(关联、依赖、继承),而且也描述了类的内部结构(类的属性和操作)。
类图描述的是系统的一种稳定的静态关系,在系统的整个生命期内都是有
效的。
类可以进一步划分为实体类、边界类和控制类。
实体类保存系统中的信息。一个实体类的对象对应关系数据库中
的一条记录。
边界类是系统与用户的接口。用户通过边界类与系统进行交互。
控制类协调和控制其他类的对象以实现用例规定的行为,它封装
了实现用例行为所需要的事件流。
在系统分析阶段,主要考虑的是实体类。在设计和实现阶段,除了对实体
类进一步细化之外,还要着重考虑边界类和控制类。
UML 中类的基本表示方法:
类的封装性及其表示
封装性表现为类成员的可见性。可见性分为公开的(
public
)、受保护的
(protected)和私有的(private)三种。
在 UML 中分别用“+”,“#”和“-”表示。“+”表示完全公开;“#”表示对同一个包
中的类公开,对不同包中的类隐藏; “-”表示对外完全隐藏,仅仅对定义该成
员的类的内部可见。
可见性也被分为:公开的,受保护的,默认的,私有的四类。其中 “受保
护的”对同一个包的其它类及不在同一个包的子类可见; “默认的”对同一个包
的其它类可见。
类之间的关系表示
类之间的关系可以分为继承和关联,关联可以进一步分为组合、聚集和依赖。
类之间关联关系的表示
关联用于泛指两个类之间概念上的联系。例如公司类和雇员类之间就存在联
系,雇员为公司工作,公司雇佣雇员。
在关联关系的两端,可以标注关联约束,还可以标注关联在数量上的对应
关系(关联的多重性)。上图说明 Employee 是因为工作而与 Company 关联,
任何一个雇员只为一个公司工作;Company 因为雇佣而与 Employee 关联,一
个公司可以雇佣一个以上(1..*)的雇员。
关联关系的细分
关联关系可以进一步划分为组合、聚集和依赖。