目录
1.UML
1.1定义
Unified Model Language(UML),统一建模语言
1.2特点
用于说明、可视化、构建和编写一个正在开发的、面向开发的、软件密集系统的制品方法
1.3分类
UML2.2中定义了14种图示,分为
-结构式图形:强调系统式的建模
——静态图(类图,对象图,包图)
——实现图(组件图,部署图)
——剖面图
——复合结构图
-行为式图形:强调系统模型种触发的事件
——活动图
——状态图
——用例图
-交互式图形:属于行为式图形的子集合,强调系统模型中的资料流程
——通信图
——交互概述图
——时序图
——时间图
4)时序图
是显示对象之间交互的图,这些对象按照时间顺序排列。
建模元素:对象(Actor)、生命线(Lifeline)、控制焦点(focus of control)、消息(Message)等
矩形表示活动框,同步调用是实心箭头,异步调用是实线普通箭头,返回是虚线箭头
2.类图定义
分为三层
1)类名,如果是抽象的接口或者类,需要使用斜体
2)类属性,格式是 修饰符+属性名+:数据类型
3)类方法,格式是 修饰符+方法名(参数)+:数据类型
其中修饰符表示: +是public,-是private,#是protected,~是default,下划线是static
3.类图关系
3.1定义
依赖关系:虚线+箭头,箭头方向表示A类依赖B类,则A类方法中引用了B类作参数
继承或者泛化关系:实线+三角形,箭头方向表示子类extends父类
组合关系:实心菱形(n)+实线+箭头(m),箭头方向表示n个A类的某个属性由m个B类组合。contains-a,两个类具有相同的生命周期,不可分离。鸟的羽毛由两个翅膀组成
0..1:0个或者1个实例
0..*:0个或者多个实例
1..1:一个实例
1:只能有一个实例
1..*:1个或者多个实例
关联关系:实线+箭头,表示A类中有B类的成员属性,企鹅有气候的关联
聚合关系:空心菱形+实线+箭头,表示has-a,大雁群有大雁,家庭有小孩。
实现方式:虚线+三角形或者棒棒糖法,接口实现
3.2 对比
1)依赖关系(虚线箭头)和关联关系(实线箭头)
虚线表示虚无缥缈,关系不太明显,因此作为方法参数,只有用到方法才需要依赖领个类。
关联关系:实现是实打实的关系,A类中有B类的属性
2)聚合关系(空心菱形箭头)和组合关系(实心菱形箭头)
菱形看作是容器、盘子,空心表示关系没有那么紧密
聚合关系:两者间的生命周期是独立的,has-a的关系,大雁群由大雁聚合成
组合关系:两者间的生命周期是一致的,contains-a的关系,一个鸟是由两个翅膀组成
3)继承(实线三角形)和实现(虚线三角形)