软件工程(1)——对书本的温习
我们首先定义了软件工程的范畴。有两种可选的定义:
系统收集的几十年来的编程经验,以及研究者为了以更低的成本开发高质量的软件进行的创新。
开发软件的工程方法。
新手一般遵循程序开发的探索式风格,其特点在于快速开发程序代码,然后持续修改直到程序工作。然而,在开发大型程序时探索风格就不再适用了。
软件危机:60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长。高级语言开始出现;操作系统的发展引起了计算机应用方式的变化;大量数据处理导致第一代数据库管理系统的诞生。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原来的个人设计、个人使用的方式不再能满足要求,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发 。
其主要表现:
1、软件开发进度难以预测。
2、软件开发成本难以控制。
3、用户对产品功能难以满足。
4、软件产品质量无法保证。
5、软件产品难以维护。
6、软件缺少适当的文档资料。
软件工程的出现:
早期计算机编程——高级语言编程——基于流程控制的设计——面向数据结构的设计——面向数据流的设计——面向对象的设计