UML建模之 - 类图&时序图

Posted 默默9518

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML建模之 - 类图&时序图相关的知识,希望对你有一定的参考价值。

简介

  • 简介
UML是面向对象开发中一种通用的图形化建模语言

UML建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等
  • UML建模工具
Rational Rose : 是直接从UML发展而诞生的设计工具,常用建模工具

Power Designer : 是对数据库建模而发展起来的一种数据库建模工具

Microsoft Visio :是一种画图工具,Visio 2010才开始引入UML建模,不是很专业

Star UML : 开源轻量级建模工具,v6.0后支持linux

UMLet : 是一个开放源代码轻量级UML建模工具(免费)

类图

类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据

类图显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等,是最常用的UML图
  • 类的UML图示
在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示
技术分享

类与类之间的关系

1.关联关系

2.依赖关系

3.泛化关系

4.实现关系

关联关系

  • 关联关系
用于表示一类对象与另一类对象之间有联系

在UML类图中,用实线连接有关联关系的对象所对应的类

实现关联关系时,通常将一个类的对象作为另一个类的成员变量
  • 关联关系分类
技术分享
  • 关联关系– 双向关联
技术分享
  • 关联关系– 单向关联
类的关联关系是单向的

一般以成员变量来实现

单向关联用带箭头的实线表示
技术分享
  • 关联关系– 自关联
在系统中可能会存在一些类的属性对象类型为该类本身
技术分享
  • 关联关系– 多重性关联
多重性关联关系又称为重数性关联关系,表示两个关联对象在数量上的对应关系
技术分享
  • 关联关系– 聚合关系(孙悟空和金箍棒)
聚合(Aggregation)关系表示整体与部分的关系

在聚合关系中,成员对象是整体对象的一部分,但是可以脱离整体对象独立存在

是一种强关联关系

实现聚合关系时,成员对象通常作为构造方法、Setter等方法参数注入到整体对象中
技术分享
  • 关联关系– 组合关系(人和身体)
组合(Composition)关系也表示类之间整体和部分的关系

组合关系中整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系

是一种比聚合强的关联关系

实现组合关系时,通常在整体类的构造方法中直接实例化成员类
技术分享

依赖关系

  • 依赖关系
依赖(Dependency)关系是一种使用关系

比关联关系更弱

大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数

依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方 
技术分享

泛化关系 - 继承

  • 泛化关系-继承
泛化(Generalization)关系也就是继承关系

用于描述父类与子类之间的关系

泛化关系用带空心三角形的直线来表示
技术分享

实现关系

  • 实现关系
接口和类之间的(Realization)关系

类与接口之间的实现关系用带空心三角形的虚线来表示

技术分享
技术分享

时序图

时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的,图中显示的是参与交互的对象及其对象之间消息交互的顺序
  • 简介
时序图是显示对象之间交互的图,这些对象是按时间顺序排列的

图中显示的是参与交互的对象及其对象之间消息交互的顺序
  • 元素
时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等
  • 元素—对象
对象包括三种命名方式:

第一种方式包括对象名和类名
第二中方式只显示类名不显示对象名,即表示他是一个匿名对象
第三种方式只显示对象名不显示类名
技术分享
  • 元素—生命线
生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间
技术分享
  • 元素—控制焦点
控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作
用小矩形表示
技术分享
  • 元素—消息
同步消息:消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制

异步消息:消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制

返回消息:返回消息表示从过程调用返回

自关联消息:表示方法的自身调用以及一个对象内的一个方法调用另外一个方法
技术分享

实例

技术分享
  • Android - Settings启动流程
技术分享

以上是关于UML建模之 - 类图&时序图的主要内容,如果未能解决你的问题,请参考以下文章

使用Astah制作UML时序图

UML建模之时序图(Sequence Diagram)

收藏系列-UML建模之时序图(Sequence Diagram)

UML时序图

UML中的类图及类图之间的关系

UML用例图