UML
UML定义:
统一建模语言(Unified Modeling Language)
用于说明、可视化、构建和编写一个正在开发的面向对象的、软件密集系统的制品的开放方法。
特点:
UML展现了一系列最佳工程实践。这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
分类:
结构式图形:强调系统式建模
行为式图形:强调系统模型中触发的事件
交互式图形:属于行为式图形子集合,强调系统模型中资料流程
结构式图形:
静态图(类图,对象图,包图)
实现图(组件图,部署图)
剖面图
复合结构图
行为式图形:
活动图
状态图
用例图
交互式图形:
通信图
交互概述图
时序图
时间图
UML类图:
Class Diagram:用于表示类、接口、实例等之间相互的静态关系
虽然名字叫类图,但类图中并不只有类
UML箭头方向:从子类指向父类(子类一定知道父类定义,但是父类并不知道子类定义)
实线:继承,is a 关系
虚线:实现
空心三角箭头:继承或者实现

空心菱形:聚合,整体和局部的关系,两者有独立的生命周期。弱关系。has-a
实心菱形:组合,组合是一种强关联关系,它们具有相同的生命周期。contains-a


一个鸟有两个翅膀实例
针对组合有常见数字表达及其含义:
假设有A类和B类,数字标记在A类侧:
0..1: 0或1个实例
0..*:0或多个实例
1..1:1个实例
1 只能有1个实例
1..*:至少有1个实例
UML时序图
Sequence Diagram:显示对象之间交互的图,这些对象是按时间顺序排列的。从上到下代表时间的顺序。
时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等

UML类图讲解

上图的类名应该是斜体的,因为只有抽象类才具有抽象方法。
第一行:类的名字,如果是抽象类,用斜体表示。如果是接口,用前缀
第二行:类的属性:+ public,- private,# protected,~default。下划线代表static属性。斜体代表抽象方法。
第三行;类的行为:权限同上。冒号后面是返回值。
依赖关系:虚线+箭头
依赖关系表示一个类依赖于另外一个类的定义,是单向的。依赖具有偶然性和临时性,是非常弱的关系,在活动结束后依赖关系就会解除。在java中依赖表现为局部变量,方法中的参数和对静态方法的调用。

关联关系:实线+箭头
关联关系是指一个类使用另外一个类作为属性。关联是强依赖关系。在JAVA中,关联关系是使用实例变量来实现的。
棒棒糖表示法:用一个圈表示实现了一个接口

浙公网安备 33010602011771号