Page 19 - 计算机应用软件开发技术研究
P. 19

第一章  软件工程



             方法必须改变,他们决定把工程技术的思想引入软件开发领域,使软件开发走上
             工程学科的途径,以摆脱日益严重的软件危机。于是,美国和西欧的一些科学家
             在 1968 年的 NATO(北大西洋公约组织)会议上第一次提出了“软件工程”这

             个名词,从此软件工程作为一门学科正式诞生,人们开始了软件工程的研究。
                 (一)软件工程的成型与发展历程
                 软件工程的初步成型首先是从软件工程过程开始的。为获得高质量的软件产
             品,软件工程过程必须科学、合理。这就涉及软件生命周期的描述采用何种模型

             的问题。
                 1970 年,Royce 提出了瀑布模型,一直到 20 世纪 80 年代末,瀑布模型都是
             被广泛采用的生命周期模型。后来,又相继推出快速原型模型、快速应用开发模
             型、渐增模型、螺旋模型、喷泉模型和智能模型等。概括地说,软件生命周期由

             软件定义、软件开发和运行维护等 3 个时期组成,每个时期又进一步划分成若干
             个阶段。生命周期模型规定了把生命周期划分成的阶段及各个阶段的执行顺序。
             但各种模型均有不同的长处和局限性。
                 20 世纪 60 年代末,K·W.Dijkstra 提出了结构化程序设计的概念,为程序设

             计方法学奠定了基础;20 世纪 70 年代末,美国的 E.Youdon 提出结构化分析方
             法,指出分析和设计比编码更重要。随后,结构化方法学开始形成并逐步规范。
             这一技术当时曾被软件界看成克服“软件危机”的灵丹妙药。而人们在实践中发
             现,面对大型软件系统,用结构化方法,系统的重用性、稳定性、扩充性都难

             以实现。20 世纪 70 年代,面向对象方法应运而生,给软件工程增添了活力。这
             时,软件开发的两种基本思路和方法已经形成,即一种是面向过程(Procedure-
             oriented,简称 PO),另一种是面向对象(Object-oriented,简称 OO)。PO 趋
             向于计算机世界的物理实现,OO 则更接近于人们的认识习惯。虽然面向对象技

             术被普遍认为是一种好的开发工具,但是在它诞生之后的相当长一段时间里却停
             留在实验室内,很少有人采用此技术来开发大型软件,直到 20 世纪 80 年代中后
             期,一些学者和工程人士才注意到像 Smalltalk 和 C++这样的语言。以后出现了
             许多应用面向对象技术的成功案例,但也不乏失败者。
                 软件项目的分析设计需要建立模型,建模需要一定的工具或语言支撑。从

             1989 年到 1994 年间,面向对象建模语言的数量从不到 10 种增加到 50 余种。虽
             然每种建模语言的创造者都在努力推广自己的方法,并在实践中不断完善,但



                                                                                   ·7·
   14   15   16   17   18   19   20   21   22   23   24