简介
UML是面向对象开发中一种通用的图形化建模语言
UML建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等
Rational Rose : 是直接从UML发展而诞生的设计工具,常用建模工具
Power Designer : 是对数据库建模而发展起来的一种数据库建模工具
Microsoft Visio :是一种画图工具,Visio 2010才开始引入UML建模,不是很专业
Star UML : 开源轻量级建模工具,v6.0后支持linux
UMLet : 是一个开放源代码轻量级UML建模工具(免费)
类图
类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据
类图显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等,是最常用的UML图
在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示
类与类之间的关系
1.关联关系
2.依赖关系
3.泛化关系
4.实现关系
关联关系
用于表示一类对象与另一类对象之间有联系
在UML类图中,用实线连接有关联关系的对象所对应的类
实现关联关系时,通常将一个类的对象作为另一个类的成员变量
类的关联关系是单向的
一般以成员变量来实现
单向关联用带箭头的实线表示
在系统中可能会存在一些类的属性对象类型为该类本身
多重性关联关系又称为重数性关联关系,表示两个关联对象在数量上的对应关系
聚合(Aggregation)关系表示整体与部分的关系
在聚合关系中,成员对象是整体对象的一部分,但是可以脱离整体对象独立存在
是一种强关联关系
实现聚合关系时,成员对象通常作为构造方法、Setter等方法参数注入到整体对象中
组合(Composition)关系也表示类之间整体和部分的关系
组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系
是一种比聚合强的关联关系
实现组合关系时,通常在整体类的构造方法中直接实例化成员类
依赖关系
依赖(Dependency)关系是一种使用关系
比关联关系更弱
大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数
依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方
泛化关系 - 继承
泛化(Generalization)关系也就是继承关系
用于描述父类与子类之间的关系
泛化关系用带空心三角形的直线来表示
实现关系
接口和类之间的(Realization)关系
类与接口之间的实现关系用带空心三角形的虚线来表示
时序图
时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的,图中显示的是参与交互的对象及其对象之间消息交互的顺序
时序图是显示对象之间交互的图,这些对象是按时间顺序排列的
图中显示的是参与交互的对象及其对象之间消息交互的顺序
时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等
对象包括三种命名方式:
第一种方式包括对象名和类名
第二中方式只显示类名不显示对象名,即表示他是一个匿名对象
第三种方式只显示对象名不显示类名
生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间
控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作
用小矩形表示
同步消息:消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制
异步消息:消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制
返回消息:返回消息表示从过程调用返回
自关联消息:表示方法的自身调用以及一个对象内的一个方法调用另外一个方法
实例