软件工程-UML-基础概念
本文
classDiagram
class 类A
class 类B
class 父类
class 子类
class 接口
class 实现类
class 整体
class 部分
class 班级
class 学生
class 人
class 器官
%% 1. 关联关系(长期持有)
类A --> 类B : 单向关联
%% 2. 依赖关系(临时使用)
类A ..> 类B : 依赖
%% 3. 泛化 / 继承
父类 <|-- 子类 : 继承
%% 4. 实现 / 接口
接口 <|.. 实现类 : 实现
%% 5. 聚合关系(可分离)
整体 o-- 部分 : 聚合
%% 6. 组合关系(不可分离)
整体 *-- 部分 : 组合
%% 真实案例
班级 o-- 学生 : 聚合(可分离)
人 *-- 器官 : 组合(不可分离)
一、UML 概述
UML 又称统一建模语言或标准建模语言,是支持模型化和软件系统开发的图形化语言。其作用域覆盖面向对象的分析与设计,并延伸至从需求分析开始的软件开发生命全过程。
二、建模的意义
- 模型是对现实的简化,核心目的是更好地理解复杂系统。
- 支持按实际场景或需求对系统可视化,解决“文字难以描述,画图替代表达”的沟通难题。
- 可详细说明系统的结构与行为,为系统构建提供标准化的构造模板。
- 对开发决策进行文档化留存,遵循“先有文档,后有代码”的开发逻辑。
三、UML 的核心特点⭐️
- 标准统一:被 OMG 组织采纳为行业标准建模语言,通用性极强。
- 面向对象:专门适配面向对象开发模式,贴合主流软件设计思想。
- 可视化强:以图形化形式呈现表达逻辑,直观清晰,降低理解门槛。
- 独立于开发过程:不绑定特定开发模型,可适配瀑布、敏捷、螺旋等所有软件研发流程。⭐️
- 简洁易掌握:概念明确、表达简洁、结构清晰,学习与应用成本低。
四、UML 概念模型核心构成
UML 概念模型由基本构造块⭐️ + 规则 + 公共机制三部分组成,核心是对软件系统的抽象表达:
1. 事物(元素)
模型中最具代表性成分的抽象,是 UML 的核心单元,包含四类核心事物:
- 结构事物:类、接口、用例、构件、节点等(系统的静态骨架)。
- 行为事物:交互、状态机等(系统的动态行为逻辑)。
- 分组事物:包(Package),用于组织和划分模型结构。
- 注释事物:约束、说明等,用于补充解释模型细节。
2. 关系
事物之间的联系,是 UML 的“动态纽带”,核心包含四类关系:
- 关联:基础结构化关系,描述事物间的静态连接(如“人与手机”的关联)。
- 聚合:关联的特殊形式,表达弱整体-部分关系(部分可独立脱离整体存在,如“轮胎与汽车”)。
- 组合:关联的强化形式,表达强整体-部分关系(部分无法脱离整体独立存在,如“心脏与人体”)。
- 泛化:事物间的继承关系(如“子类继承父类”)。
- 依赖:事物间的使用关系(一个事物的变化会影响另一个事物的功能)。
classDiagram
人 -- 手机 : 关联
汽车 *-- 轮胎 : 组合
汽车 o-- 车门 : 聚合
3. 图
相关事物与关系的集合,是 UML 模型的可视化呈现形式,分为三大类:
- 结构图:包含类图、对象图、构件图、部署图,用于描述系统静态结构。
- 行为图:包含状态机图、活动图,用于描述系统动态行为。
- 交互图:包含时序图、通信图,用于描述对象间的消息交互流程。