目 录
一、类图
①类图
常用于描述子系统或模块的内部结构。
在UML的类图中,常见的有以下几种关系:泛化, 实现, 关联, 聚合, 组合, 依赖。
②各种关系的强弱顺序
泛化=实现>组合>聚合>关联>依赖
③泛化
泛化(Generanization)简单的说就是继承关系,在java中就是extend。表示一般与特殊的关系。如鸭子是鸟的一种,即有鸭子的特性也有鸟的共性。
图形表示:用带空心的三角箭头的实线指向父类。
④实现
实现:这种关系其实就是java里面的implements,是类与接口的关系。
图形表示:
1.用带空心三角箭头的虚线,箭头指向接口。
2.直线连接圆圈,圆圈表示接口。
⑤依赖
依赖(Dependency):在java中用import表示,如这个类有依赖到哪个类。可以是方法参数或者方法里面的代码。用带箭头的虚线指向所要依赖的类。
图形表示:是一种使用的关系。即一个类的实现需要另一个类的协助。所以尽量不使用双向的互相依赖。
⑥关联
关联(association):是一种拥有关系。他使一个类知道另一个类的属性和方法。在java中体现就是成员变量。如老师和学生,学生和课程。关联可以是双向的,也可以是单向的。
图形表示:单向的用带箭头的实线指向被拥有者。双向的箭头去掉,用一条线连接。
⑦聚合
聚合(Aggregation):是整体与部分的关系。部分离开整体后仍然可以存在。如轮胎离开车后仍然可以存在。在java中的体现也是成员变量。
图形表示:用一个带空心菱形的实线,指向整体。
⑧组合
组合(Composition):是整体与部分的关系。但是部分离开整体不可以单独存在。如人和手是不可分离的。表现形式也是成员变量。
图形表示:用一个带实心菱形的实线,指向整体。
二、序列图
序列图适用场景:主要用于展示对象之间交互的顺序。
①生命线
②同步消息
发送人在它继续之前,将等待同步消息响应。
③异步消息
在发送方继续之前,无需等待响应的消息。
④注释
对某一元素进行解释。
⑤约束
约束的符号很简单;格式是: [Boolean Test]
⑥组合片段
过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。
常用的组合片段有:
a.抉择(Alt)
抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。
抉择在任何场合下只发生一个序列。可以在每个片段中设置一个临界来指示该片段可以运行的条件。else的临界指示其他任何临界都不为True时应运行的片段。如果所有临界都为False并且没有else,则不执行任何片段。
b.选项(Opt)
包含一个可能发生或不发生的序列。
c.循环(Loop)
片段重复一定次数。可以在临界中指示片段重复的条件。
d.并行(Par)