OOAD - UML 基本符号
UML 为每个构建块定义了特定的符号。
类
类由具有三个部分的矩形表示 −
- 包含类名称的顶部部分
- 包含类属性的中间部分
- 底部部分代表类的操作
属性和操作的可见性可以用以下方式表示 −
Public − 公共成员在系统中的任何位置都是可见的。 在类图中,它以符号"+"为前缀。
Private − 私有成员仅在类内部可见。 无法从类外部访问它。 私有成员以符号"−"为前缀。
Protected − 受保护的成员在类内部和从该类继承的子类中可见,但在外部不可见。 它以符号"#"为前缀。
抽象类的类名以斜体书写。
示例 − 让我们考虑一下之前介绍的 Circle 类。 Circle 的属性是 x 坐标、y 坐标和半径。 这些操作是findArea()、findCircumference() 和scale()。 我们假设 x-coord 和 y-coord 是私有数据成员,radius 是受保护数据成员,并且成员函数是公共的。 下图给出了该类的图示。

对象
一个对象被表示为一个有两个部分的矩形 −
顶部部分包含对象的名称以及它所属的类或包的名称。 名称采用以下形式 −
object-name − class-name
object-name − class-name :: package-name
class-name − 对于匿名对象
底部部分表示属性的值。 它采用attribute-name = value的形式。
有时对象使用圆角矩形表示。
示例 − 让我们考虑一个名为 c1 的 Circle 类对象。 我们假设c1的中心位于(2, 3),c1的半径为5。下图描绘了该物体。

组件
组件是系统中物理的、可替换的部分,它符合并提供一组接口的实现。 它代表类和接口等元素的物理包装。
符号 − 在 UML 图中,组件由带有选项卡的矩形表示,如下图所示。

接口
接口是类或组件的方法的集合。 它指定了类或组件可能提供的一组服务。
符号 − 通常,接口与接口名称一起绘制为一个圆圈。 接口几乎总是附加到实现它的类或组件。 下图给出了接口的表示法。

包
包是一组有组织的元素。 包中可能包含结构性内容,例如类、组件和其他包。
符号 − 从图形上看,包由选项卡式文件夹表示。 包通常仅用其名称来绘制。 但是,它可能包含有关包装内容的其他详细信息。 参见下图。

关系
不同类型关系的表示法如下 −

通常,关系中的元素在关系中扮演特定的角色。 角色名称表示参与特定上下文的元素的行为。
示例 − 下图显示了类之间不同关系的示例。 第一张图显示了两个类(Department 和 Employee)之间的关联,其中一个部门可能有许多员工在其中工作。 Worker 是角色名称。 "部门"旁边的"1"和"员工"旁边的"*"表示基数比是一对多。 第二个图描绘了聚合关系,一所大学是许多系的"整体"。
