UML(统一建模语言,Unified Modeling Language)是一种标准化的建模语言,用于描述软件系统的结构、行为和交互。它提供了一套图表来帮助开发人员、架构师和业务分析师对系统进行建模。UML图表分为两大类:结构图和行为图。
一、UML 结构图(Structural Diagrams)
结构图主要用于表示系统的静态结构,包括类、对象和组件等。以下是常见的UML结构图类型:
-
类图(Class Diagram)
- 用于描述系统中的类及其属性、方法、类之间的关系(如继承、关联、依赖、聚合等)。
- 是最常用的UML图表之一,展示系统的静态结构。
-
对象图(Object Diagram)
- 是类图的实例化版本,用于展示系统在某个时刻对象的状态。
- 主要展示对象及其属性值、对象之间的关系。
-
组件图(Component Diagram)
- 用于描述系统的物理组成部分(组件)及其相互关系。
- 通常用于描述软件的模块化结构,展示软件的可部署组件。
-
部署图(Deployment Diagram)
- 展示系统的硬件和软件部署架构,展示组件在物理节点(如服务器)上的分布情况。
- 主要用于描述应用程序在物理环境中的部署结构。
-
包图(Package Diagram)
- 用于展示系统中的包及其依赖关系。
- 包图将类或组件组织成模块,方便系统的管理和结构分析。
-
组合结构图(Composite Structure Diagram)
- 用于描述类或组件的内部结构,显示它们如何与其他部分协作来完成任务。
- 侧重于展示复杂对象或组件的内部细节。
-
类图的子集(Profile Diagram)
- 用于扩展UML,允许用户自定义UML模型的元素和构造。
二、UML 行为图(Behavioral Diagrams)
行为图用于描述系统的动态行为,包括对象、角色或组件的活动、交互等。以下是常见的UML行为图类型:
-
用例图(Use Case Diagram)
- 用于展示系统中的功能需求,以及系统与外部用户(参与者)的交互。
- 通过“用例”和“参与者”来描述系统行为,常用于需求分析阶段。
-
活动图(Activity Diagram)
- 类似于流程图,用于描述系统的工作流或活动流程。
- 展示不同活动之间的顺序以及条件分支,常用于业务流程建模。
-
时序图(Sequence Diagram)
- 展示对象或组件之间的消息传递顺序,重点是时间维度。
- 用于描述系统中不同对象之间的交互过程。
-
通信图(Communication Diagram)
- 以前称为“协作图”,展示对象或组件之间的消息流。
- 与时序图类似,但侧重于展示对象之间的静态结构和交互。
-
状态图(State Diagram)
- 描述对象或系统的不同状态以及状态之间的转换。
- 常用于描述状态机或系统的生命周期。
-
交互概览图(Interaction Overview Diagram)
- 是时序图和活动图的结合,展示交互和活动的概览。
- 用于展示更高层次的流程,通常包含多个交互或活动。
-
时序图(Timing Diagram)
- 主要用于展示对象或组件在不同时间点的状态变化。
- 常用于嵌入式系统或实时系统中。
-
流程图(Flowchart Diagram)
- UML也可以用于创建流程图,虽然流程图是更通用的图表类型。
总结:
UML中包含的图表种类广泛,主要分为结构图和行为图。它们共同提供了对系统静态结构和动态行为的完整视图,帮助系统分析、设计和开发人员全面理解系统的运作方式。