- 软件工程方法与金融领域实践
- 许蕾编著
- 1214字
- 2025-02-21 06:53:03
1.3 软件工程的发展历史
1.3.1 软件开发历程
软件是由计算机程序和程序设计的概念发展演化而来的,是在程序和程序设计发展到一定规模并且逐步商品化的过程中形成的。伴随着计算机技术的发展,软件开发经历了程序设计阶段、软件设计阶段和软件工程阶段。
程序设计阶段出现在1946—1955年。世界上第一台通用计算机ENIAC于1946年在美国宾夕法尼亚大学诞生。它是一个庞然大物,用了18000个电子管,占地170平方米,重达30吨,耗电功率约150千瓦,每秒钟可进行5000次运算。ENIAC是研究用大型机,以电子管作为元器件,体积很大,耗电量大,易发热,工作的时间不能太长。在此第1代计算机(电子管)阶段尚无软件的概念,程序设计主要围绕硬件进行开发,追求节省空间和编程技巧,规模很小,工具简单,无明确分工(开发者和用户),无文档资料(除程序清单外),主要用于科学计算。
软件设计阶段出现在1956—1970年。这是第2代计算机(晶体管数字机)和第3代计算机(集成电路数字机)阶段,逐渐出现了商业大型机和商业微型机。其特点是:硬件环境相对稳定,出现了软件作坊式的开发组织形式;开始广泛使用产品软件(可购买),从而建立了软件的概念,出现了BIOS、操作系统、数据库管理系统等系统软件,并出现了瀑布模型。随着计算机技术的发展和计算机应用的日益普及,软件系统的规模越来越庞大,从科学计算转向业务应用,高级编程语言层出不穷,应用领域不断拓宽,开发者和用户有了明确的分工,社会对软件的需求量剧增,逐渐形成了结构化编程和结构化分析设计的软件开发技术,但软件产品的质量不高,生产效率低下,从而导致了软件危机的产生,即落后的软件生产方式无法满足迅速增长的计算机软件需求,导致软件开发与维护过程中出现了一系列的严重问题。
软件工程阶段出现在1970年后至今。这是第4代计算机(大规模集成电路机)及其后的阶段,个人计算机开始流行,也有了图形化操作系统。软件危机迫使人们不得不研究、改变软件开发的技术手段和管理方法,形成了现代结构化方法、面向对象编程和软件复用,开始使用增量演化的开发模型,从此软件生产进入了软件工程时代。此阶段的特点是:硬件已向巨型化、微型化、网络化和智能化四个方向发展,数据库技术已成熟并被广泛应用,第三代、第四代编程语言出现;第一代软件技术(结构化程序设计)在数值计算领域取得优异成绩;第二代软件技术(软件测试技术、方法、原理)用于软件生产过程;第三代软件技术(处理需求定义技术)用于软件需求分析和描述。
随着Intranet和Internet技术的蓬勃发展,网络操作系统、中间件平台、面向Web的中间件平台等也促进了软件开发技术的发展和成熟,敏捷开发日益流行。未来将在Internet平台上进一步整合资源,形成巨型的、高效的、可信的虚拟环境,使所有资源能够高效、可信地为所有用户服务,这成为软件技术的研究热点之一。软件复用和软件构件技术被视为解决软件危机的一条现实可行的途径,是软件工业化生产的必由之路。软件工程会朝着开放性计算的方向发展,朝着可以确定行业基础框架、指导行业发展和技术融合的开放计算前进。