文档介绍:UML的历史
UML是为了简化和强化现有的大量面向对象开发方法这一目的而开发的。
一、面向对象的开发方法
利用传统程序设计语言(如Cobol和 Fortran语言)的软件开发方法出现于20世纪70年代,在80年代被广泛采用,其中最重要的是结构化分析和结构化设计方法[Yourdon-79] 和它的变体,如实时结构化设计方法[Ward-85]等。这些方法最初由Constantine、Demarco、Mellor、Ward、 Yourdon和其他一些人发明和推广,在一些大型系统,特别是和政府签约的航空和国防领域的系统中取得了一定突破,在这些系统中,主持项目的政府官员强调开发过程的有组织性和开发设计文档的完备和充分。结果不总是像预料的那么好—许多计算机辅助软件工程系统(CASE)只是摘录一些已实现的系统设计的报表生成器—尽管如此,这些方法中仍包含一些好的思想,有时在一些大系统中是很有效的。商业应用软件更不愿采用大型的CASE系统和开发方法。大部分商业企业都独立开发本企业内部使用的软件,客户和缔约人之间没有对立关系,而这种关系正是大型政府工程的特征。一般都认为商用系统比较简单,不论这种看法是否正确,反正它不需要经过外界组织的检查。
普遍认为,诞生于1967年的Simula-67是第一个面向对象的语言。尽管这个语言对后来的许多面向对象语言的设计产生了很大的影响,但是它没有后继版本。80年代初Smalltalk,语言的广泛使用掀起了一场“面向对象运动”,随之诞生了面向对象的C、C++、Eiffel和CLOS等语言。起初,尽管面向对象编程语言在实际使用中有一定的局限性,但它仍然吸引了广泛的注意力。在smalltalk语言成名约5 年后,第一批介绍面向对象软件开发方法的书籍出现了。包括Shlaer/Mellor [Shlaer-88]和Coad/Yourdon [Coad-91],紧接着又有Booch的[Booch-91]、Rumbaugh/Blaha/Premerlani/Eddy/Lorensen的[Rumbaugh-91]和Wirfs-Brock/Wilkerson/Wiener [Wirfs-Brock-90](注意:图书版权年代往往包括了上一年度7月份以后出版的书)。这些著作再加上 Goldberg/Robson[Goldberg-83] Cox[Cox-86]和Meyer[Meyer-88] 等有关程序语言设计的著作,开创了面向对象方法的先河。第一阶段在1990年末完成。稍晚[Jacobson-92]出版了,它建立在以前的成果的基础上,介绍了一种稍微不同的方法,即以用例和开发过程为中心。
在以后的5年中,大批关于面向对象方法的书籍问世,各有自己的一套概念、定义、表示法、术语和适用的开发过程。有些书提出了一些新概念,但总的来说各个作者所使用的概念大同小异。许多后继出版的书都照搬前人,自己再做一些小的扩充或修改。最早的著作者也没闲着,他们大部分人都更新了自己前期的著作, 采纳了其他人一些好的思想。总之,出现了一些被广泛使用的核心概念,另外还有一大批被个别人采纳的概念。即使在被广泛接受的核心概念里,在各个面向对象方法中也有一些小的差异。这些面向对象方法之间的细微比较常使人觉得这些概念不知依据哪个为好,特别是非专业的读者。
二、统一工作
在UML之前