UML软件工程组织

 

 

UML2.0实战:项目开发指南-2.5 UML的历史:方法和符号
 
来源:csdn
 


2.5  UML的历史:方法和符号

在不长的历史中,信息技术已经制造出了过量的方法和符号,对于信息的设计、结构化、处理和存储都有相应的方法和符号,同时对于系统,还有规划、建模、实现、集成、测试、文档化、调优等一系列方法,有些使用的概念具有相关的基础,因此有时将发现它们会超出信息技术的范畴。其中继承就是一个例子,它是自然界的本性,也是面向对象编程的基石。

大约在1970年之前,软件开发人员都将软件开发工作看作一次艺术探险。但由于系统变得越来越复杂,使用这种“个人英雄”主义的方法已无法胜任软件开发和维护的工作。实际上,就是这种方法导致了软件危机的出现。

该危机引出了工程化方法(软件工程)和结构化编程方法,同时也催生了系统结构化以及针对设计、开发和维护过程的方法。诸如层次输入处理输出(HIPO)等面向过程方法,强调的是系统的功能,基于这些方法,整个系统将根据功能分解成将其划分成更小的构件。

图2.10中对“发票”系统的子功能给出了一个可视化的概述(层次图)。对于每个功能元素都使用了“输入-处理-输出”模式进行描述。

图2.10  HIPO图

与此同时,还出现了面向结构化数据的方法,诸如Jackson方法,该方法是通过数据结构来生成程序结构的。在图2.11中,左半边是库存数据集的结构,右半边则是从数据结构中派生的程序结构。

图2.11  Jackson图

在所有的这些方法和符号中,都将系统分成两个部分:数据部件和程序部件,这对于诸如COBOL的早期编程语言而言是很匹配的。数据流程图、结构图、HIPO图和Jackson图可以用来表示功能的范围。从本质而言,这些早期方法强调的都是新系统的开发。

在1980年,传统的结构化分析得以进一步发展。开发者将用实体关系图来进行数据建模,用Petri网进行过程建模。

随着系统越来越复杂,并非每个系统都能够“从零开始”进行设计,诸如可维护性、可用性等属性变得越来越重要。在1970~1980年间,随着面向对象编程语言的出现,第一个面向对象建模语言应运而生。在1990年,关于面向对象分析和面向对象设计的书籍首次公诸于众。在20世纪90年代中期时,已经有超过50种的面向对象方法,同时也存在多种设计格式。对一个统一的建模语言的需求已经迫在眉睫。

在20世纪90年代初期,Grady Booch和James Rumbaugh所提出的面向对象方法已获得广泛应用。1994年10月,Rational软件公司(从2003年2月起已成为IBM公司的一部分)开始创建统一建模语言。最初,他们在一套符号标准(语言)上达成共识,因为这比在方法上实现标准所需的描述更简单。最终,它们集成了Grady Booch的Booch方法、James Rumbaugh的对象建模技术(OMT)和Ivar Jacobson的面向对象软件工程(OOSE)及其他一些方法的元素,并将这个新的符号标准命名为UML 0.9版本。其目标并非提出一个全新的符号,而是对几种面向对象方法中一些已被接受的图表进行改编、扩展和简化,诸如类图、Jacobson的用例图以及Harel的状态图。一些在结构化方法中的表示法也被应用于UML中。因此,例如UML的活动图就受到了数据流程图和Petri网图的影响。

UML最突出和最有新意的地方并非在其内容上,而是在于它是一个定义规范的、统一的语言标准。

一些知名的公司,诸如IBM、Oracle、Microsoft、Digital、HP和Unisys都加入了UML的后续开发工作。在1997年,UML 1.1版本被提交,并被OMG所采纳。此后还陆续发布了修订版本,1998年发布了UML 1.2版本,一年后发布了1.3版,2003年3月发布了UML 1.5版本。从2000年起,就已经开始着手开发UML 2.0版本了,在2003年6月被OMG采纳为最终采纳规范。当本书在2005年6月印刷时,OMG最后采纳的“可用规范”(Available Specification)还没有完成。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号