UML

来自GSXAB的知识库
UML
术语名称 UML
英语名称 unified modeling language
别名 统一建模语言

UML,全称统一建模语言(unified modeling language)[1],是描述和可视化面向对象系统的一种标准、通用、图形化的建模语言。 UML 本身是一种语言,由于这种语言是图形化的,也经常被叫做 UML 图[2]

UML 最初有多个不同的类型和版本(严格地说,有些不称作 UML ,应该算前身)。 最初作为一种建模工具被试图应用于一切建模上, 2005 年得到标准化,即 ISO/IEC 19501 ,并同步迭代为 UML 2 。 最初设计目标是一种形式语言,定义严格的数学基础进行自动化处理和模型交换,对图例有严格语法语义规范; 根据这一指导思想,出现了将严格 UML 与其他编程语言进行互相转换(翻译)的工具,兴起了在使用一切标准 UML 建模一切事物的思潮。 但进一步发展过程中,人们发现严格定义难以保证通用性、图形化能力限制了形式化能力、以及实用性上需要开放性与灵活性而非自动化校验, UML 逐渐成为了一种半形式化语言,放弃了数学语法定义,允许一定程度上的自由表达,且不进行自动化验证处理。 现今 UML 通常以不一定完全符合标准的方式作为辅助描述,广泛使用在面向对象系统的建模和刻画中。

UML 中含有多种模型,且有不同分类方式。按主流方式,大概含有以下模型:

  1. 结构图形
    1. 静态模型
      1. 类图
      2. 对象图
      3. 组件图/构建图
      4. 组合结构图
    2. 包图
    3. 物理结构
      1. 制品图
      2. 部署图
  2. 行为图形
    1. 用例图
    2. 状态图/状态机图
    3. 活动图
    4. 交互图(动态模型
      1. 交互概览图
      2. 通信图
      3. 协作图
      4. 时序图/顺序图/序列图


UML / 统一建模语言
结构图表 静态模型 类图对象图组件图/构建图
源码结构 包图
物理结构 制品图、部署图
行为图表 场景建模 用例图活动图
状态建模 状态图/状态机图
动态模型 交互概览图、通信图协作图时序图/顺序图/序列图
  1. 除非解释词义,不会有人使用全称。
  2. 尽管 UML 是“……语言”,但是应当认为 UML 在中文中是一个独立不可拆分的词汇,不意味着存在“……语言图”这种表达。