用例图
用例图的结构主要分为三个部分:参与者、用例、参与者与用例之间的关系。
参与者:不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。
用例:是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。
关系:参与者与用例之间的关系主要包括关联、归纳(泛化)、包含、拓展和依赖。
接下来将重点讲第三part:参与者与用例之间的关系
1)关联关系
关系说明:表示参与者与用例之间的关系
表示方法:带箭头的实线,箭头指向用例。
举例说明:用户登录系统
2)归纳(泛化)关系
关系说明:表示参与者与参与者之间、用例与用例之间的关系。一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。
表示方法:带空心箭头的实线,箭头指向被泛化(被继承)的用例,即基础用例/父用例。(注意:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。)
举例说明:账号登录与微信登录,也可归纳为登录系统。
3)包含关系
关系说明:表示用例与用例之间的关系,其中一个用例(基础用例)的行为包含了另一个用例(包含用例)的行为。
表示方法:虚线箭头+<>字样,箭头指向被包含的用例
举例说明:用户在账号登录过程中,包括输入账号、输入密码、确认登录等操作
4)拓展关系
关系说明:表示用例与用例之间的关系;用于拓展用例对基础用例的增强;拓展用例是在特定条件出现时,才会被执行的用例。
表示方法:虚线箭头+<>字样,箭头指向被扩展的用例(即基础用例)
举例说明:用户在登录过程中忘记了密码
类图
UML类图,UML中的一种重要图形,是在面向对象语言用中用来表示一个类。
如下图所示(它由两部分组成,类,类之间的关系):
动物UML类图
01 类
类是具有相似结构、行为和关系的一组对象的描述符,是面向对象系统中最重要的构造块。
如下图所示,就表示一个类:
三个格子从上至下分别表示:
类名称(如果是接口,就使用斜体表示)类的特性(一般是类的字段和属性,可以没有)类的操作(一般是类的方法或行为)它们前边的符号有以下几类:
“+”表示public
“-”表示private
“#”表示protected
02 类的关系
除了类,类图中还有一个重要元素,即类之间的关系。
根据类的关系的不同,具体可分为6种:
(1)依赖关系(用虚箭线表示)
所谓依赖关系,就是构造这个类的时候,需要依赖其他的类,比如:动物依赖水和氧气。如下图所以:
(2)继承、泛化关系(用带空心三角形的实线表示)
继承(泛化)关系,它指定了子类如何特化父类的所有特征和行为。例如:鸟是动物的一种,企鹅、鸭、大雁是鸟的一种。
(3)实线关系(用带空心三角形的虚线表示)
一种类与接口的关系,表示类是接口所有特征和行为的实现。它有两种表示方法:
第一种,矩形表示法,
顶端有<>第一行:接口名称第二行:接口方法
第二种,棒棒糖表示法
圆圈旁为接口名称接口方法在实现类中出现
(4)关联关系(用实箭线表示)
所谓关联关系,就是这个类有一个属性是其他类。
关联关系
(5)聚合关系(用带空心菱形的实线表示)
聚合关系是关联关系的一种,是强的关联关系 ;
特点: 部分对象的生命周期并不由整体对象来管理。也就是说,当整体对象已经不存在的时候,部分的对象还是可能继续存在的。比如:一只大雁脱离了雁群,依然是可以继续存活的。
聚合关系
(6)组合关系(用带实心菱形的实线表示)
组合关系同样是关联关系的一种,是比聚合关系还要强的关系。
特点:在组合中,部分与整体生命期一致,部分与组合同时创建并同时消亡 。比如:鸟与翅膀的关系。
组合关系