人的速度增长,并且不能及时满足用户的需求,质量也得不到保证。所谓的“软件危机”由此开始。人们逐渐重视软件的“可维护性”问题,软件开发开始采用结构化程序设计技术,并规定软件开发时必须书写各种规格书、说明书、用户手册等文档。1968年北大西洋公约组织(NATO)的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,正式提出了“软件工程”(softwaree
gi
eeri
g)的术语。从此一门新的工程学科诞生了。3.软件工程阶段
f20世纪70年代中期到20世纪90年代,大规模集成电路计算机的功能和质量不断提高,个人计算机已经成为大众化商品,计算机应用不断地扩大。软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的速度,软件产品供不应求,软件危机日益严重。为了维护软件需要耗费大量的成本。美国当时的统计数据表明,对计算机软件的投资占计算机软件、硬件总投资的70,到1985年时软件成本大约占总成本的90。为了对付不断增长的软件危机,软件工程学把软件作为一种产品进行批量生产,运用工程学的基本原理和方法来组织和管理软件生产,以保证软件产品的质量,提高软件产品的生产率。软件生产使用数据库、软件开发工具、开发环境等,软件开发技术有了很大的进步,开始采用工程化开发方法、标准和规范,以及面向对象技术等。
4.第四代技术阶段计算机系统发展的第四阶段不再是单台的计算机和计算机程序,而是面向计算机和软件的综合影响。复杂的操作系统控制的强大的桌面系统,以及连接局域网和因特网、高带宽的数字通信与先进的应用软件相互配合,产生了综合的效果。计算机体系结构从主机环境转变为分布式的客户机服务器环境。软件开发的第四代技术有了新的发展:计算机辅助软件工程(ComputerAidedSoftwareE
gi
eeri
g,CASE)将工具和代码生成器结合起来,为许多软件系统提供了可靠的解决方案;面向对象技术已在许多领域迅速取代了传统的软件开发方法;专家系统和人工智能软件有了实际应用;人工神经网络软件展示了信息处理的美好前景;并行计算技术、网络计算机、虚拟现实技术、多媒体技术和现代通信技术使人们开始采用和原来完全不同的方法进行工作。此外,光计算机、化学计算机、生物计算机和量子计算机等新一代计算机的研制发展,必将给软件工程技术带来一场革命。
112软件危机
软件危机是指在计算机软件开发和维护时所遇到的一系列问题。软件危机主要包含两方面的问题:一是如何开发软件以满足社会对软件日益增长的需求,r