UML(Unified Modeling Language)类图概览

UML统一建模语言,面向对象设计。

类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。

推荐使用processon作图。

UML 基本元素

三个基本模块:

事务,关系,图。

四种事务   

  1. 结构事务:类,接口,协作,用例,活动类,组件,节点。
  2. 行为事务:交互,状态机。
  3. 分组事务:包
  4. 注释事务:注释。

六种关系

  1. 依赖
  2. 泛化
  3. 实现
  4. 关联
  5. 聚合
  6. 组合

十种图

  1. 用例图
  2. 类图
  3. 对象图
  4. 包图
  5. 部署图
  6. 活动图
  7. 状态图
  8. 序列图
  9. 协作图
  10. 组件图

类图画法

2.jpg

接口

3.jpg

关系

泛化(Generalization):

【箭头指向】:带三角箭头的实线,箭头指向父类(非抽象类)

实现(Realization):

【箭头指向】:带三角箭头的虚线,箭头指向接口等抽象类

关联(Association):

【关联关系】:是一种拥有的关系

【代码体现】:成员变量

【箭头及指向】:带普通箭头的实心线,指向被拥有者

依赖(Dependency) :

【依赖关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。

【代码表现】:局部变量、方法的参数或者对静态方法的调用。

【箭头及指向】:带箭头的虚线,指向被使用者

聚合(Aggregation):

【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

【箭头及指向】:带空心菱形的实心线,菱形指向整体

组合(Composition):

【组合关系】:是整体与部分的关系,但部分不能离开整体而单独存在。

【代码体现】:成员变量

【箭头及指向】:带实心菱形的实线,菱形指向整体。

领域UML类图 vs 设计UML类图

  • 领域UML类图表示系统的静态领域结构,其中的类不与最终程序中的类对应。
  • 设计UML类图表示系统的技术架构,是程序员的编码依据,其中的类与系统中的类对应。分析阶段由分析师绘制领域UML类图,设计阶段由设计师绘制实现UML类图。

在系统分析与设计阶段,类通常可以分为三种,分别是实体类(Entity Class)、控制类(Control Class)和边界类(Boundary Class),下面对这三种类加以简要说明:
(1) 实体类:实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,一般使用数据库表或文件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。实体类来源于需求说明中的名词,如学生、商品等。
(2) 控制类:控制类用于体现应用程序的执行逻辑,提供相应的业务操作,将控制类抽象出来可以降低界面和数据库之间的耦合度。控制类一般是由动宾结构的短语(动词+名词)转化来的名词,如增加商品对应有一个商品增加类,注册对应有一个用户注册类等
(3) 边界类:边界类用于对外部用户与系统之间的交互对象进行抽象,主要包括界面类,如对话框、窗口、菜单等。

在面向对象分析和设计的初级阶段,通常首先识别出实体类,绘制初始类图,此时的类图也可称为领域模型,包括实体类及其它们之间的相互关系。领域UML类图中类的属性与操作仅关注与业务相关的部分,实现UML类图中的属性与操作要包括最终需要实现的全部方法与操作。

此链接有实例