UML基本概念:构造块、公共机制与规则
本篇来介绍UML的一些基础概念。
1 UML的结构
2 构造块
UML构造块是构成UML模型的基础元素,它们共同构成了UML的核心。
UML 的三种基本构造块是:
- 事物:对模型中重要元素的抽象,如类、对象等等
- 关系:用来连接事物的,如关联关系、依赖关系
- 图:把这些事物和关系可视化的方式,通过不同的图能展示系统的不同方面,如类图、用例图等
2.1 事物
2.1.1 结构事物
系统的静态部分,如类、接口等等
类
类是具有相同属性、方法、关系和语义的对象的集合。
接口
接口是指类或构件提供特定服务的一组操作的集合。
协作
定义了交互的操作。
用例
描述一系列的动作。
活动类
活动类它的对象有一个或多个线程或进程。
构件
是物理上或可替换的系统部分。
结点
结点是一个物理元素,代表一个可计算的资源。
2.1.2 行为事物
关注动态行为,代表时间和空间上的动作,行为事物包括:
- 交互(内部活动):由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作
- 状态机:由一系列对象的状态组成
2.1.3 分组事物
用来组织模型元素,包就是典型的分组事物
2.1.4 注释事物
给模型元素加说明,即注释
2.2 关系
2.2.1 继承
继承,也叫泛化,如父类和子类的关系,子类会继承父类的特性
2.2.2 实现
接口和实现接口的类之间,类要实现接口定义的方法
2.2.3 依赖
一个元素的变化会影响另一个元素,比如一个类使用了另一个类
2.2.4 关联
两个或多个元素之间有某种联系,比如学生和课程之间的关系。关系又可细分为:
- 一般关联:最常见的连接关系,如老师和学生,只是有教学上的联系。
- 聚合关联:整体与部分的关系,拆分后可独立运行,如班级和学生,学生离开了班级还是独立的个体。
- 组合关联:整体与部分的关系,拆分后不可独立运行,如人体和器官,器官离开了人体就无法正常发挥作用。
2.3 图
UML 2.0 定义了 14 种图呢,大体上可以分为三类:
- 结构图
- 行为图
- 交互图
注:如果按照静态图和动态图的大类划分,结构图属于静态图,行为图和交互图都属于动态图。
2.3.1 结构图
类图
描述一组类、接口、协作之间的关系。在面向对象中,最常见的就是类图。
对象图
对象图是类图的实例,体现具体对象的静态关系。
包图
描述由模型本身分解而成的组织单元,用来组织模型元素,让结构更清晰;
组件图/构件图
组件图展示软件系统的组件和依赖关系。
部署图
部署图描述系统硬件和软件的部署情况。
制品图
描述计算机中一个系统的物理结构,像源代码文件、可执行文件、数据库表这些。制品图通常与部署图一起使用。
复合结构图/组合结构图
描述结构化类的内部结构,复合结构图能展示系统的组成部分及它们的层级关系
2.3.2 行为图
用例图
像用例图,能展示系统功能和用户交互
活动图
活动图,用来描述业务流程或者算法步骤
状态图
状态机图,能表现对象在不同状态间的转换。
2.3.3 交互图
顺序图
顺序图按时间顺序展示对象间的交互
通信图
通信图侧重展示对象间的连接关系
交互概览图
交互概览图是顺序图和活动图的结合,能宏观展示交互过程;定时图主要关注消息的时间顺序和时间约束。
3 公共机制
标准建模元素之上或之外的细化、扩展。
UML 公共机制有四种:规则说明、可修饰通用划分、扩展机制
3.1 规则说明/可详述
对模型元素的详细描述,比如素的含义和用途
3.2 可修饰
类似于给元素加一些注释或者标签
3.3 通用划分
对元素进行分类整理,比如:
- 类与对象的划分
- 接口与实现的划分
3.4 扩展机制
通过扩展机制来自己定义一些新的规则和元素,包括:
- 构造型:定义新的事物
- 标记值:添加新的特殊信息来扩展事物的规格说明
- 约束:添加新的规则来扩展事物的语义
4 规则
命名:为事物、关系和图起名字
范围:使名字具有特定含义的语境
可见性:这些名字如何让其它成分看见和使用
完整性:事物如何正确、一致的相互联系
执行:运行或模拟动态模型的含义是什么
UML 的五个系统视图分别是:
- 逻辑视图:主要关注系统的功能,用类和接口这些元素来表示
- 进程视图:侧重于系统的并发和分布情况,能看到系统各个部分是怎么协作的
- 实现视图:对组成基于系统的物理代码的文件和构建进行建模
- 部署视图:系统在硬件环境中的部署方案
- 用例视图:从用户的角度出发,描述系统能提供哪些功能
5 总结
本篇介绍了UML的基础概念:构造块、公共机制和规则。构造块是构成UML模型的基础元素,包括事物、关系和图,它们共同构成了UML的核心。