第1章 软件危机与软件工程
引例
提到软件开发,很多人认为就是坐在计算机前面编写代码。其实,编写代码仅仅是软件开发过程中的一个很小的部分。举个例子来说,盖一座大楼时所涉及的工作不仅仅是砌砖和垒墙,还必须对建筑进行主体设计、绘制图纸、估算建筑成本、安排任务、验收建筑质量等。相同的道理,软件开发过程所涉及的环节和活动也不仅仅是编写代码这样简单。比如:在编码之前,要了解编写的程序是为了解决一个什么样的问题,即实现什么样的功能;对于规模较大的软件,应该对软件的系统架构进行整体的规划。编码完成之后,还要考虑采用什么样的方法和途径来减少软件系统中存在的错误。软件产品交付给用户后,要考虑怎样对软件系统进行维护,以及在这个过程中如何保证软件产品的质量等一系列的问题。
软件工程就是一门将所有与软件开发相关的活动归纳在一起,并形成系统的方法和理论的学科。
在第1章中,将学习什么是软件,什么是软件工程,以及如何运用软件工程的理论和方法来开发软件。
1.1 软件危机
软件危机产生于20世纪60年代,给当时的软件行业造成了极大的损失。但同时也促使人们对如何开发软件进行了更加深入的研究和探讨,与程序设计方法学密切相关的软件工程也应运而生。在学习软件工程之前,首先来了解软件危机的产生与发展,以及人们是如何通过各种途径来解决软件危机的。
……