统一建模语言(Unified Modeling Language,UML)是由OMG组织(Object Management Group对象管理组织)于1997年发布的,旨在为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号,使得这些人员能够阅读和交流系统架构和设计规划,就像建筑工人多年来所使用的建筑设计图一样。
2003年,UML已经获得了业界的认同。UML的主要创始人是Jim Rumbaugh、Ivar Jacobson和Grady Booch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞争。最终,他们联合起来创造了一种开放的标准。UML成为“标准”建模语言的原因之一在于,它与程序设计语言无关,而且UML符号集只是一种语言而不是一种方法学。因为语言与方法学不同,它可以在不做任何更改的情况下很容易地适应任何公司的业务运作方式。
UML不是一种方法学,不需要任何正式的工作产品。而且它还提供了多种类型的模型描述图(diagram),当在某种给定的方法学中使用这些图时,它使得开发中的应用程序更容易理解。最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。
UML语言开发始于1994年8月,当时Rational软件公司的Booch和Rumbaugh着手进行统一的Booch方法和OMT方法,以便以后得到一种统一的建模语言。1995年10月,他们发布了统一方法(UM)的初级版本。同年秋天,Jacobson加盟联合开发小组,并力图把OOSE方法也统一进来。
UML是一种面向对象的建模语言,它的3位创始人开始与来自其他公司的软件工程方法专家和开发人员一道,制定了一套OMG感兴趣的方法,并设计了一种被软件开发工具提供者、软件开发方法学家和开发人员这些最终用户接受的建模语言。1996年,OMG(对象管理组)发布了向外界征集关于面向对象建模标准方法的消息。UML的3位创始人开始与来自其他公司的软件工程方法专家和开发人员一道,制定了一套OMG感兴趣的方法,并设计了一种被软件开发工具提供者、软件开发方法学家和开发人员这些最终用户接受的建模语言。与此同时,其他一些相关人员也在做这项富有竞争性的工作。1997年9月1日产生了UML1.1,并提交到OMG进行讨论。OMG于1997年11月正式接纳了UML1.1,然后成立任务组不断的修订,并产生了UML1.2、1.3和1.4版本,其中UML1.3是较为重要的修订版本。
公认的面向对象建模语言出现于20世纪70年代中期。从1989年到1994年,其数量从不到十种增加到了五十多种。在众多的建模语言中,语言的创造者努力推崇自己的产品,并在实践中不断完善。但是,OO方法(Object-Oriented Method,面向对象的方法)的用户并不了解不同建模语言的优缺点及相互之间的差异,因而很难根据应用特点选择合适的建模语言,于是爆发了一场“方法大战”。
20世纪90年代中,一批新方法出现了,其中最引人注目的是Booch 1993、OOSE和OMT-2等。Grady Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。1991年,他将以前面向Ada的工作扩展到整个面向对象设计领域。Booch 1993比较适合于系统的设计和构造。James Rumbaugh等人提出了面向对象的建模技术(OMT),采用了面向对象的概念,并引入各种独立于语言的表示符。这种方法用对象模型、动态模型、功能模型和用例模型共同完成对整个系统的建模,所定义的概念和符号可用于软件开发的分析、设计和实现全过程中,软件开发人员不必在开发过程的不同阶段进行概念和符号转换。OMT-2特别适用于分析和描述以数据为中心的信息系统。
UML(Unified Modeling Language)统一建模语言是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML的历史和发展可以追溯到20世纪60年代,当时美国国防部开始研究软件工程,并提出了一种名为“统一过程”的概念,以便于软件开发人员之间的交流。UML的发展经历了多个版本,其中最著名的是UML 1.0和UML 2.0。UML 1.0于1997年发布,它包含了许多基本元素,如类、接口、继承、多态等,同时还引入了一些新的元素,如注释、约束等。UML 2.0于2001年发布,它增加了一些新的特征,如状态图、活动图等。
UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
在1996年10月,UML获得了工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。1996年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。1997年11月17日,OMG采纳UML 1.1作为基于面向对象技术的标准建模语言。