138.软件工程_软件工程学概述
1.1 软件危机 迄今为止,计算机系统已经经历了4个不同的发展阶段,但是,我们仍然没有彻底摆脱“软件危机”的困扰,软件已经成为限制计算机系统发展的瓶颈。 为了更有效地开发与维护软件, 在20世纪60年代后期软件工作者开始认真研究消除软件危机的途径,从而形成了一门新兴的工程学科——计算机软件工程学(通常简称为软件工程)。 在20世纪60年代中期以前,是计算机系统发展的早期时代,通用硬件相当普遍,软件却是为每个具体应用而专门编写的。 这时的软件通常是规模较小的程序,编写者和使用者往往是同一个(或同一组)人。这种个体化的软件环境,使得软件设计通常是在人们头脑中进行的一个隐含的过程,除了程序清单之外,没有其他文档资料保存下来。 从20世纪60年代中期到70年代中期,是计算机系统发展的第二代时期,这个时期的一个重要特征是出现了“软件作坊”,广泛使用产品软件。 “软件作坊”基本上仍然沿用早期形成的个体化软件开发方法。 随着计算机应用的日益普及,软件数量急剧膨胀。要求软件: 在程序运行时发现的错误必须设法改正; 用户有了新的需求时必须相应地修改程序; 硬件或操作系统更新时,通常需要修改程序以适应新的环境。 上述种种软件维护工作,以令人吃惊的比例耗费资源。更严重的是,许多程序的个体化特性使得它们最终成为不可维护的。 “软件危机