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中,关联关系是使用实例变量来实现的。

棒棒糖表示法:用一个圈表示实现了一个接口





posted @ 2019-04-08 09:15  秋叶白  阅读(179)  评论(0)    收藏  举报