软件工程概论 第一章
教材:软件工程——原理、方法与应用(第3版)
第1章 绪论
1.1 软件和软件危机
1.1.1 软件的定义
软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档
软件 = 程序 + 数据 + 文档
程序是按事先设计的功能和性能要求执行的指令序列
数据是使程序能正常操纵信息的数据结构
文档是与程序开发,维护和使用有关的图文材料
1.1.2 软件的特征
软件是逻辑的而不是物理的,是一种逻辑实体
-
软件开发不同于硬件设计
软件开发的成本很难估计,通常占整个生产成本的大部分
-
软件生产不同于硬件制造
在它的开发过程中没有明显的制造过程
-
软件维护不同于软件维修
软件没有硬件那样的机械磨损,老化问题,但在使用过程中的维护却比硬件复杂的多。如果软件内部的逻辑关系比较复杂或规模比较大,在维护过程中很可能产生新的错误
1.1.3 软件危机
定义:在软件开发和维护过程中所存在一系列严重问题(开发费用超出预算、完成时间拖期、软件可靠性往往随着规模的增长而下降,质量差)<