- 用例图 (Use Case Diagram)
定义:描述系统功能与外部用户(参与者)之间的交互关系
主要元素:
参与者 (Actor):系统外部与系统交互的角色
用例 (Use Case):系统提供的功能单元
系统边界:定义系统范围
用途:
需求分析和收集
定义系统功能范围
与用户沟通系统需求
特点:
从用户角度描述系统功能
不涉及系统内部实现细节
易于非技术人员理解
- 类图 (Class Diagram)
定义:展示系统中类的静态结构及其相互关系
主要元素:
类:包含属性(字段)和方法(操作)
关系:关联、聚合、组合、继承、依赖等
用途:
系统静态结构设计
数据库设计基础
代码生成的依据
特点:
反映系统核心数据结构
是面向对象设计的核心
直接映射到编程语言
- 对象图 (Object Diagram)
定义:类图的实例化,展示在特定时刻对象的状态和关系
主要元素:
对象:类的实例,包含具体属性值
链接:对象之间的连接
用途:
验证类图的正确性
展示系统在特定时刻的状态
调试和理解复杂关系
特点:
是类图的"快照"
显示运行时的具体状态
帮助理解复杂对象关系
- 序列图 (Sequence Diagram)
定义:强调时间顺序的对象交互图,显示消息传递的时间序
主要元素:
生命线:对象的生存周期
激活条:方法执行时间段
消息:对象间的通信
用途:
详细描述用例的执行流程
分析对象间的协作关系
识别方法调用顺序
特点:
强调时间顺序
清晰展示方法调用链
适合分析复杂业务流程
- 协作图 (Communication Diagram)
定义:强调对象结构关系的交互图,显示对象间的链接和消息
主要元素:
对象和链接
带序号的消息
用途:
分析对象间的结构关系
展示对象协作模式
验证对象关系的完整性
特点:
强调对象组织结构
消息用序号表示顺序
与序列图信息等价但视角不同
- 状态图 (State Diagram)
定义:描述对象在其生命周期内状态变化的图
主要元素:
状态:对象在生命周期中的状况
转移:状态之间的转换
事件:触发状态转移的条件
用途:
描述对象生命周期行为
复杂对象的状态管理
实时系统和状态机设计
特点:
关注单个对象的状态变化
适合有明确状态转换的对象
常用于GUI控件、工作流等
- 活动图 (Activity Diagram)
定义:描述系统活动流程和工作流的图,类似流程图
主要元素:
活动:执行的任务或操作
决策点:分支判断
并行处理:同步条
泳道:区分不同责任区域
用途:
业务流程建模
工作流设计
并行处理分析
特点:
强调控制流和数据流
支持并行活动描述
适合业务流程分析
- 组件图 (Component Diagram)
定义:描述系统物理组件结构及依赖关系的图
主要元素:
组件:可替换的系统部件
接口:组件提供的服务
依赖关系:组件间的使用关系
用途:
系统物理结构设计
模块化开发指导
系统集成规划
特点:
关注系统物理组成
体现模块化设计思想
指导系统部署和维护
- 部署图 (Deployment Diagram)
定义:描述系统硬件配置和软件组件部署的图
主要元素:
节点:硬件设备或执行环境
组件:部署在节点上的软件
连接:节点间的通信路径
用途:
系统硬件架构规划
软件部署方案设计
网络拓扑结构设计
特点:
描述系统运行环境
涉及硬件和网络配置
对系统性能分析很重要
数据流图 (Data Flow Diagram - DFD)
定义:描述数据在系统中流动、处理和存储的图形化工具
主要元素:
外部实体 (External Entity):系统外部数据源或目标
处理过程 (Process):对数据进行变换或处理
数据存储 (Data Store):数据的存储位置
数据流 (Data Flow):数据流动的路径
层次结构:
顶层图 (Context Diagram):系统整体上下文
0层图 (Level-0 DFD):主要功能分解
详细图 (Level-1, Level-2 DFD):逐层细化
用途:
系统功能分解
数据流程分析
需求规格说明
系统设计基础
特点:
强调数据流动和处理
层次化分解复杂系统
不涉及控制流和时间顺序
易于理解系统数据变换