UML 统一建模语言Unified Modeling Language 是一种建模语言是第三代用来为面向对象开发系统的产品进行说明可视化和编制文档的方法它是由信息系统ISInformation System 和面向对象领域的三位著名的方法学家Grady Booch James Rumbaugh和Ivar Jacobson 称为三个好朋友the Three Amigos 提出的这种建模语言得到了UML 伙伴联盟的应用与反馈并得到工业界的广泛支持由OMG 组织ObjectManagement Group 采纳作为业界标准UML 取代目前软件业众多的分析和设计方法Booch Coad Jacobson Odell Rumbaugh Wirfs-Brock 等成为一种标准这是软件界的第一次有了一个统一的建模语言目前OMG 已经把UML 作为公共可得到的规格说明Publicly Available Specification PAS 提交给国际标准化组织ISO 进行国际标准化预计PAS 进程将在今年完成使UML 最终正式成为信息技术的国际标准
1.1 UML 的产生和成长
从二十世纪八十年代初期开始众多的方法学家都在尝试用不同的方法进行面向对象的分析与设计有少数几种方法开始在一些关键性的项目中发挥作用包括Booch OMTShlaer/Mellor Odell/Martin RDD OBA 和Objectory 到了二十世纪九十年代中期出现了第二代面向对象方法著名的有Booch'94 OMT 的沿续以及Fusion 等此时面向对象方法已经成为软件分析和设计方法的主流这些方法所做的最重要的尝试是在程序设计艺术与计算机科学之间寻求合理的平衡来进行复杂软件的开发由于Booch 和OMT 方法都已经独自成功地发展成为世界上主要的面向对象方法因此Jim Rumbaugh 和Grady Booch 在1994 年10 月共同合作把他们的工作统一起来到1995 年成为统一方法Unified Method 版本0.8 随后Ivar Jacobson 加入并采用他的用例use case 思想到1996 年成为统一建模语言版本0.9 1997 年1 月UML 版本1.0 被提交给OMG 组织作为软件建模语言标准化的候选其后的半年多时间里一些重要的软件开发商和系统集成商都成为UML 伙伴如Mircrosoft IBM HP等它们积极地使用UML 并提出反馈意见最后于1997 年9 月再次提交给OMG 组织于1997 年11 月7 日正式被OMG 采纳作为业界标准UML 的形成过程见图1-1 所示现在OMG 已经把UML 作为公共可得到的规格说明Publicly Available Specification PAS提交给国际标准化组织ISO 进行国际标准化UML 是Booch Objectory 和OMT 方法的结合并且是这三者直接的向上兼容的后继另外它还吸收了其它大量方法学家的思想包括Wirfs-Brock Ward CunninghamRubin Harel Gamma Vlissides Helm Johnson Meyer Odell Embley ColemanCoad Yourdon Shlaer 和Mellor 通过把这些先进的面向对象思想统一起来UML 为公共的稳定的表达能力很强的面向对象开发方法提供了基础
1.2 什么是UML
UML 是一种标准的图形化建模语言它是面向对象分析与设计的一种标准表示它
不是一种可视化的程序设计语言而是一种可视化的建模语言
不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准
不是过程也不是方法但允许任何一种过程和方法使用它
UML 的目标是
易于使用表达能力强进行可视化建模
与具体的实现无关可应用于任何语言平台和工具平台
与具体的过程无关可应用于任何软件开发的过程
简单并且可扩展具有扩展和专有化机制便于扩展无需对核心概念进行修改
为面向对象的设计与开发中涌现出的高级概念例如协作框架模式和组件提供支持强调在软件开发中对架构框架模式和组件的重用
与最好的软件工程实践经验集成
可升级具有广阔的适用性和可用性