第1章 软件工程概述
软件工程是20世纪60年代末,为了克服“软件危机”而出现的一门研究软件开发与维护的工程学科。随着计算机技术的飞速发展,对软件开发和维护提出了更高的要求,软件工程和软件产业面临更大的挑战。本章主要介绍软件工程的基本知识,包括软件的概念、软件危机、软件工程的内容、基本原理以及软件开发的方法和模型。
1.1 软件与软件危机
1.1.1 计算机软件概念
计算机系统是由硬件和软件组成。计算机硬件是计算机系统的物理部件,如**处理机、存储器、键盘、显示器和打印机。计算机软件是计算机系统中的逻辑部件。计算机硬件和软件有明显的不同,具体表现如下:
(1)硬件是物理实体,能够看得见,而软件是逻辑实体。
(2)硬件会“磨损”或“老化”,但软件存在“退化”问题,必须要多次修改和维护软件。
(3)硬件与软件的制造过程不同。硬件需要相应的设计、工艺和制造过程,软件是通过分析、设计和编写程序完成的。
(4)硬件与软件的质量控制过程不同。由于制造过程不同,所以它们的质量控制也在各个阶段完成。
计算机硬件和软件又是相互联系、相互依赖的,二者缺一不可。硬件如果没有相应软件的支持,只能称为“裸机”,它是不能正常工作的。计算机系统只有配备了硬件以及控制和管理硬件的软件,才能发挥作用。
计算机系统的发展离不开软件的发展。计算机软件通常定义如下:软件是程序、数据和相关文档的完整集合。其中程序是按照设计文档的功能和性能要求所编写的指令序列。
数据是能使程序正常操纵信息的数据结构。文档是与程序开发、管理、维护和使用有关的图文材料。软件又与程序不同,它的规模比较庞大。
……