20世纪40年代中期世界上出现了第一台计算机,自此就有了程序的概念。其后软件经过几十年的发展,经历了3个发展阶段:
(1)程序设计阶段,20世纪40年代至60年代。
(2)程序系统阶段,20世纪60年代至70年代。
(3)软件工程阶段,20世纪70年代以后。
表1.1对3个软件发展阶段的特点进行了比较。
表1.1 软件发展阶段的特点比较
续表
从表 1.1 中可以看到,几十年来软件的根本变化主要体现在以下几个方面:
(1)人们改变了对软件的看法。20世纪50年代到60年代时,程序设计曾经被看成一种任意发挥、创造才能的技术领域。当时人们认为,写出的程序只要能在计算机上得出正确的结果,程序的写法可以不受任何约束。随着计算机的广泛使用,人们要求这些程序容易看懂、容易使用,并且容易修改和扩充。于是,程序便从按个人意图创造的“艺术品”转变为能被广大用户接受的工程化产品。
(2)软件的需求是软件发展的动力。早期的程序开发者只是为了满足自己的需要,这种自给自足的生产方式仍然是其低级阶段的表现。进入软件工程阶段以后,软件开发的成果具有社会属性,它要在市场中流通以满足广大用户的需要。
(3)软件工作的范围发生变化。软件开发从只考虑程序的编写扩展到涉及整个软件生存周期,包括软件的需求分析、设计编码、测试验证、维护等技术工作,以及人员、规模、进度、质量、风险等项目管理内容。