UML

UML-(Unified Modeling Language)统一建模语言

1.介绍

UML 能够帮助咱们作软件的需求分析和软件设计,它可以直观、形象、严谨地描述出业务概念、业务流程、客户需求。UML是一种基于面向对象的可视化的通用建模语言。它提供一组具备明肯定义的图形符号,能够创建清晰的模型便于交流,同时全部的开发人员均可以无歧义地理解这个模型。html

UML是一种富有表达力的语言,能够描述开发所须要的各类视图,并以此为基础组建系统。异步

2.分类

2.1UML定义了5类,10种模型图

五种图定义:ide

1.用例图:从用户角度描述系统功能,并指各功能的操做者。oop

2.静态图:包括类图,包图,对象图。ui

类图:描述系统中类的静态结构.net

包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构设计

对象图:是类图的实例3d

3.行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图htm

活动图:描述了业务实现用例的工做流程对象

状态图:是描述状态到状态控制流,经常使用于动态特性建模

4.交互图:描述对象之间的交互关系

顺序图:对象之间的动态合做关系,强调对象发送消息的顺序,同时显示对象之间的交互

合做图:描述对象之间的协助关系

5.实现图:

配置图:定义系统中软硬件的物理体系结构

2.2 UML 大体能够分为两类:结构型和行为型

UML.png

图片来自 火球UML大战

3.各类图

3.1用例图

用例图表达的是什么角色(Actor)可以作什么事情(use case).

简单例子:

注意:扩展箭头执行被扩展对象。

Untitled.png

图片来自:火球UML大战

3.2 类图

类图描述系统中类的静态结构。不只定义系统中的类,类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操做),帮助人们简化对系统的理解。

类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象。

UML支持的可见性标志:(+Public)(-private) (#protected) (~package)

Untitled.png

3.2.1 关联关系

关联关系(Association)关系式类与类之间最经常使用的一种关系,他是一种结构化关系,用于表示对象与另外一个类对象之间有联系。如班级和学生。用实线链接有关联关系的两个类。

3.2.2“ 包含”关系

有两种表示法,一种是空心菱形,一种是实心菱形。 实心菱形更强烈,关系更紧密。

空心菱形的中文术语标准说法是聚合(Aggregation),实心菱形组合(Composition)。

汽车和发动机是聚合。 杯子和杯柄是组合。

关系为“has a ”。 总体和部分之间的关系。

具备组合关系的两个类,他们的生命周期是一致的。

菱形指向顶端

3.2.3 泛化关系

在面向对象中通常称为继承关系,存在于父类于子类、父接口与子接口之间。

箭头指向父类

3.2.4 依赖关系(实现)

依赖关系体如今某个类的方法使用另外一个类的对象做为参数。 之间的关系为“使用”。

依赖关系使用一条带箭头的虚线表示,如A----->B(A依赖于B).


一个好的例子:

Untitled.png

图片来自: http://www.360doc.com/content/13/0304/13/10504424_269223190.shtml

3.3 活动图

活动图描述系统的动态行为。

每一个活动指的是一个执行步骤或者一个操做。

活动图描述的是系统内部的逻辑执行过程。

Untitled.png

Untitled.png

图片来自:火龙果软件

Untitled.png

图片来自:火龙果软件

3.4 顺序图

顺序图是用来表示用例中的行为顺序。

顺序图包含了四个元素:对象(Object)、声明线(Lifeline)、消息(Message)和激活(Activation)

对象带下划线, 传递消息是实线实体箭头,返回消息是虚线

消息体:实心箭头(同步调用操做) ; 棍型箭头(异步操做)

<1> 点餐

Untitled.png

图片来自:火球UML大战

顺序图的循环及分值结构:

loop:循环,在知足循环条件的前提下,不断地重复作某些事情。

alt : alternative的缩写,条件分分支,根据不一样的条件选择不一样的分支。

opt : optional 的缩写,可选分支,知足必定条件则执行该分支,不然就跳过。

Untitled.png

图片来自:火球UML大战

参考资料:

《火球UML大战》

https://blog.csdn.net/lovelion/article/details/7838679

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-class-diagram/

相关文章
相关标签/搜索