概述
UML-统一建模语言(Unified Modeling Language)
UML类图
- UML箭头方向:从子类指向父类(子类知道父类,父类不一定知道子类的存在,所以箭头从子类到父类)
- 空心三角箭头:继承或实现。实线-继承(实在的继承);虚线-实现
- 实线-关联(一个类需要借助另一个类实现功能,一般是一个类使用另一个类作为参数使用或作为返回值);虚线-依赖
- 空心菱形-聚合;实心菱形-组合。菱形就是一个盛东西的器皿(例如盘子)。聚合代表空器皿可以放很多相同的东西,聚在一起(箭头方向所指向的类,比如大雁聚合在一起成为大雁群)。聚合是整体和局部的关系,两者有者独立的生命周期,是has a的关系,弱关系,所以为空心;组合代表器皿里已经有实体结构的存在,生死与共(比如鸟和翅膀)。,比起聚合的关系更加强烈,是contains-a的关系,强关系,所以为实心。
类的表示
- ‘+’:public
- ;-’ :private
- '# ':protected
- ‘~/null’:default
- 横线:代表static修饰
- 斜体:代表抽象修饰
示例讲解
UML时序图
时序图中包含的建模元素主要有:
- 对象
- 生命线
- 控制焦点
- 消息
实线箭头指向谁,就是调用谁的方法;调用又分为异步调用(空心箭头)和同步调用(实心箭头);虚线为返回。
该时序图有三个类:Client,Server,Device
- Actor调用Client的work()方法
- Client调用Server的open()方法
- Server返回结果给Client
- Client调用Server的print()方法
- Server调用Device的write()方法
- Device返回结果给Server
- Server返回结果给Client
- Client调用Server的close()方法
- Server返回结果给Client
- Client返回结果给Actor