UML各种图的含义及使用场景。

UML(统一建模语言)是一种用于软件系统分析和设计的标准化建模语言,它通过不同类型的图形化表示来描述系统的结构和行为。以下是每种图的含义和用途的简明解释:

 

一、结构图(Structural Diagrams)

描述系统的静态结构,即系统的组成部分及其关系。

 

1. 类图(Class Diagram)

   用途:描述系统中的类(Class)、类的属性、方法以及类之间的关系(如继承、关联、依赖、组合等)。  

   核心:面向对象设计的核心工具,常用于系统架构设计阶段。

 

2. 对象图(Object Diagram)

   用途:展示系统在某一时刻的具体对象实例及其关系,是类图的运行时快照。  

   特点:用于调试或验证类图的正确性。

 

3. 构件图(Component Diagram)

   用途:描述系统的物理组件(如代码模块、库、可执行文件)及其依赖关系。  

   应用:适用于模块化设计和系统部署规划。

 

4. 部署图(Deployment Diagram)

   用途:展示系统的物理部署结构,如服务器、设备、软件组件在硬件上的分布。  

   场景:常用于分布式系统或云计算环境的设计。

 

5. 包图(Package Diagram)

   用途:将系统划分为逻辑上的包(Package),表示模块或子系统的分组关系。  

   作用:用于管理大型系统的复杂性和依赖关系。

 

6. 组合结构图(Composite Structure Diagram)

   用途:描述复杂对象(如组件、类)的内部结构,展示其组成部分如何协作。  

   适用:适用于组件间交互复杂的系统设计。

7.制品图(Artifact Diagram)

   用途:描述系统的物理文件(如源代码、配置文件、数据库脚本)及其关系。  

   应用:辅助代码管理和部署。

 

 二、行为图(Behavioral Diagrams)

描述系统的动态行为,即系统如何响应事件或随时间变化。

 

1. 用例图(Use Case Diagram)

   用途:从用户视角描述系统功能(用例)及其参与者(Actor),用于需求分析。  

   核心:强调“用户希望系统做什么”。

 

2. 活动图(Activity Diagram)

   用途:描述业务流程或算法的执行流程,类似流程图,但支持并行、分支等复杂逻辑。  

   场景:适用于业务流程建模或复杂操作步骤的规划。

   如:请假的审批流程图。

 

3. 状态图(State Machine Diagram)

   用途:展示对象在其生命周期内状态的变化(如事件触发状态转移)。  

   典型应用:适用于具有明确状态切换的系统(如订单状态、设备控制)。

 

4. 顺序图(Sequence Diagram)

   用途:按时间顺序描述对象之间的消息传递,强调交互的时序性。  

   特点:直观展示“谁在何时调用谁”。

 

5. 通信图(Communication Diagram)

   用途:与顺序图类似,但更侧重对象之间的结构关系(如关联)而非严格时序。  

   旧称:协作图(Collaboration Diagram)。

 

6. 时间图(Timing Diagram)

   用途:强调对象状态变化的时间约束,常用于实时系统设计。  

   特点:以时间轴为基准展示状态变化。

 

7. 交互概览图(Interaction Overview Diagram)  

   用途:将多个交互图(如顺序图、活动图)组合成一个高层概览,展示整体流程。  

   作用:用于简化复杂交互的描述。

 

 

 

三、总结:如何选择UML图?

- **设计静态结构**:类图、构件图、部署图。  

- **分析用户需求**:用例图。  

- **描述业务流程**:活动图、状态图。  

- **展示对象交互**:顺序图、通信图。  

- **规划系统部署**:部署图、组件图。  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值