第1章软件工程概述 11软件的概念、特点和分类 软件的概念 软件是计算机系统中与硬件相互依存的另一部 分,它是包括程序、数据及其相关文档的完整集合。 其中,程序是按事先设计的功能和性能要求编 写的指令序列;数据是使程序能正常操纵信息的数 据结构;文档是与程序开发、维护和使用有关的图 文材料。 注:程序并不是软件,程序只是软件的组成部分
第1章 软件工程概述 1.1 软件的概念、特点和分类 一、 软件的概念 软件是计算机系统中与硬件相互依存的另一部 分,它是包括程序、数据及其相关文档的完整集合。 其中,程序是按事先设计的功能和性能要求编 写的指令序列;数据是使程序能正常操纵信息的数 据结构;文档是与程序开发、维护和使用有关的图 文材料。 注:程序并不是软件,程序只是软件的组成部分
第1章教件工程概述 软件的特点 (1)软件是一种逻辑实体。 (2)软件的开发,是人的智力的高度发挥,而不是 传统意义上的硬件制造 (3)软件维护与硬件的维修有着本质的差别 (4)软件的开发和运行常常受到计算机系统的限制, 对计算机系统有着不同程度的依赖性。 (5)软件的开发至今尚未完全摆脱手工艺的开发方 式,使软件的开发效率受到很大限制。 (6)软件的开发是一个复杂的过程。 (7)软件的成本非常高昂
第1章 软件工程概述 二、软件的特点 (1)软件是一种逻辑实体。 (2)软件的开发,是人的智力的高度发挥,而不是 传统意义上的硬件制造。 (3)软件维护与硬件的维修有着本质的差别。 (4)软件的开发和运行常常受到计算机系统的限制, 对计算机系统有着不同程度的依赖性。 (5)软件的开发至今尚未完全摆脱手工艺的开发方 式,使软件的开发效率受到很大限制。 (6)软件的开发是一个复杂的过程。 (7)软件的成本非常高昂
第1章教件工程概述 、软件的分类 基于软件功能的划分 系统软件 应用软件 支撑软件 2基于软件工作方式的划分实时处理软件 分时软件 交互式软件 批处理软件
第1章 软件工程概述 三、软件的分类 1.基于软件功能的划分 系统软件 应用软件 支撑软件 2.基于软件工作方式的划分 实时处理软件 分时软件 交互式软件 批处理软件
第1章教件工程概述 12软件的发展和软件危机 计算机系统的发展历程 第一代(20世纪60年代中期以前):程序设计阶段。 第二代(从20世纪60年代中期到70年代中期):程 序系统阶段“软件工程”学科诞生。 第三代(从20世纪70年代中期到80年代中期):软 件工程阶段 第四代(从20世纪80年代中期至今):软件产业在 世界经济中已经占有举足轻重的地位
第1章 软件工程概述 1.2 软件的发展和软件危机 一、计算机系统的发展历程 第一代(20世纪60年代中期以前):程序设计阶段。 第二代(从20世纪60年代中期到70年代中期):程 序系统阶段——“软件工程”学科诞生。 第三代(从20世纪70年代中期到80年代中期):软 件工程阶段。 第四代(从20世纪80年代中期至今):软件产业在 世界经济中已经占有举足轻重的地位
第1章教件工程概述 软件危机 20世纪60年代末70年代初,西方工业发达国 家经历了一场“软件危机”。这场软件危机表现 在:一方面软件十分复杂,价格昂贵,供需差日 益增大,另一方面软件开发时又常常受挫,质量 差,指定的进度表和完成日期很少能按时实现, 研制过程很难管理,即软件的研制往往失去控制 我们称软件开发和维护过程中所中遇到的这一系 列严重问题为软件危机 软件危机包含下述两方面的问题:如何开发软 件,以满足对软件日益增长的需求;如何维护数 量不断膨胀的已有软件
第1章 软件工程概述 二、软件危机 20世纪60年代末70年代初,西方工业发达国 家经历了一场“软件危机” 。这场软件危机表现 在:一方面软件十分复杂,价格昂贵,供需差日 益增大,另一方面软件开发时又常常受挫,质量 差,指定的进度表和完成日期很少能按时实现, 研制过程很难管理,即软件的研制往往失去控制。 我们称软件开发和维护过程中所中遇到的这一系 列严重问题为软件危机。 软件危机包含下述两方面的问题:如何开发软 件,以满足对软件日益增长的需求;如何维护数 量不断膨胀的已有软件