一、UML语言具有以下功能:
1.可视化功能
2.说明功能
3.建造功能
4.建文档功能
二、UML包括什么
1.案例图
2.类图
3.序列图
4.合作图
5.状态图
6.活动图
7.构建图
8.部署图
结构型图如下:
- 静态图:类图,对象图,包图
①类图:描述类、包的静态结构和关系。
②对象图:给出系统中对象的快照。 - 实现图:组件图,部署图
①构建图:描述可以部署的软件构件之间的关系。
②部署图:描述一个系统的拓扑结构。 - 剖面图
- 复合结构图
行为型图如下:
Ⅰ.用例图:描述一系列角色与使用案例以及他们之间的关系。
Ⅱ.活动图:描述不同过程之间的动态接触。
Ⅲ.状态图:描述一系列对象的内部状态以及状态的变化和转移。
交互式图形:
- 时序图:描述不同对象之间信息传递的时序。
- 通信图:
- 时间图
- 交互概述图
三、类图
+:public权限
-:private权限
.#:protected权限
~/或什么都不加:包权限,default
下划线:static 属性
斜体方法:抽象方法,对应的类名应该是斜体
类图中看出,类图分多层:
- 类名
- 属性清单
- 方法清单
- 性质清单
如果有内部成员类,其类图可以有五层。
1.类名是正体子,则表明是可实例化,如果是斜体字,则为抽象的。
2.属性层中,+表示public,-表示private,#表示protected。
3.方法层同属性层。方法下面画线表示静态方法。
4.性质层由一个属性,一个赋值函数和一个取值函数构成。
5.描述接口的类图,接口名有“interface”字样。接口没有性质,可以有方法声明、public、final静态内部成员类。
类图中的关系
1.一般化关系:表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。
2.关联关系:类与类之间连接,使一个类知道另一个类的属性与方法。可以是双向的,也可以是单向的。关联的端点可以有基数,表明这一端类有几个实例。
3.聚合关系:关联关系的一种,强关联关系。聚合是整体和个人的关系。
4.合成关系:关联关系一种,比聚合关系强的关系。要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。合成关系不能共享。
5.依赖关系:依赖是单向的。表示一个类依赖于另一个类的定义。一般依赖关系在Java中体现为局部变量、方法变量、静态方法的调用。
子类指向父类,子类知道父类信息;空心三角箭头是继承或实现,实线对应继承,is a关系;虚线对应实现(implements)
虚线-依赖关系,指向被依赖对象,表示使用关系,一个类需要借助另一个类实现功能,一般是一个类使用另一个类做为参数使用或者返回值
实线-关联关系,表示一个类对象和另一个类对象有关联,通常是一个类有另一个类对象作为属性。
空心菱形-聚合,整体和局部关系,两者有独立生命周期,has a关系。
实心菱形-组合,有相同的生命周期,contains a关系。数字标记表达含义是实例个数,可以是0..1/0../1..1/1/1..等**
四、时序图
显示对象间的交互的图,按时间顺序排列。建模元素主要有“对象、生命线、控制焦点、消息等。
五、状态图
状态图基本想法是定义一个具有有限个内部状态的机器。