
第一章软件工程概述 ·1、软件和软件危机 ·2、软件工程的定义和目标 ·3、软件工程的七条基本原理 ·4、软件过程模型 ·5、软件开发方法简述
1 第一章 软件工程概述 ⚫ 1、软件和软件危机 ⚫ 2、软件工程的定义和目标 ⚫ 3、软件工程的七条基本原理 ⚫ 4、软件过程模型 ⚫ 5、软件开发方法简述

第一章软件工程的概念 ·1什么是软件?(与代码、程序相区别) ·软件是计算机系统中与硬件相互依存的另一部 分,它包括程序、相关数据及其说明文档- IEEE1983 2
2 第一章 软件工程的概念 ⚫ 1.什么是软件?(与代码、程序相区别) ⚫ 软件是计算机系统中与硬件相互依存的另一部 分,它包括程序、相关数据及其说明文档 – IEEE1983

2.软件的特点 ● 软件是一种逻辑实体,具有抽象性。 ·软件一旦研究开发成功,其生产过程就变成复制过程。 ● 软件对硬件和环境有着不同程度的依赖性,这导致了软件 升级和移植的问题。 ·软件生产至今尚未摆脱手工方式。 ·软件涉及人类社会的各行各业,常常涉及其它领域专门知 识,这对软件工程师提出了很高的要求。 ·软件生产过程的不可见性。 3
3 2.软件的特点 ⚫ 软件是一种逻辑实体,具有抽象性。 ⚫ 软件一旦研究开发成功,其生产过程就变成复制过程。 ⚫ 软件对硬件和环境有着不同程度的依赖性,这导致了软件 升级和移植的问题。 ⚫ 软件生产至今尚未摆脱手工方式。 ⚫ 软件涉及人类社会的各行各业,常常涉及其它领域专门知 识,这对软件工程师提出了很高的要求。 ⚫ 软件生产过程的不可见性

3.软件危机 导致软件危机的原因: -软件本身的特点 -软件开发人员的弱点 ●软件危机的表现: -开发成本超出预算。 -开发进度不能保障,交付时间一再拖延。 “已完成”的软件不满足用户的需求。 -软件产品的质量没有保证
4 3.软件危机 ⚫ 导致软件危机的原因: – 软件本身的特点 – 软件开发人员的弱点 ⚫ 软件危机的表现: – 开发成本超出预算。 – 开发进度不能保障,交付时间一再拖延。 – “已完成”的软件不满足用户的需求。 – 软件产品的质量没有保证

4.软件工程定义 19931EEE: 软件工程是①将系统化的、规范的、可度量 的方法应用于软件的开发、运行和维护过程, 即将工程化应用于软件开发和管理之中,②对 ①中所选方法的研究。 ● 注意:软件工程研究所依据的基础理论:数学、计算机科学、经济 学、工程学、管理学和心理学等学科。其中数学和计算机科学用于 构造模型、分析算法;工程学用于评估成本、制定规范和标准;管 理学和心理学用于进度、资源、环境、质量、成本等的分析和管理。 5
5 4.软件工程定义 1993IEEE: 软件工程是①将系统化的、规范的、可度量 的方法应用于软件的开发、运行和维护过程, 即将工程化应用于软件开发和管理之中,②对 ①中所选方法的研究。 ⚫ 注意:软件工程研究所依据的基础理论:数学、计算机科学、经济 学、工程学、管理学和心理学等学科。其中数学和计算机科学用于 构造模型、分析算法;工程学用于评估成本、制定规范和标准;管 理学和心理学用于进度、资源、环境、质量、成本等的分析和管理

5.软件工程的层次化 工具层 方法层 过程层 质量保证层 6
6 5.软件工程的层次化 质量保证层 工具层 方法层 过程层

6.软件工程的目标 1. 合理预算开发成本,付出较低的开发费用。 2. 实现预期的软件功能,达到较好的软件性能, 满足用户的需求。 3. 提高软件的可维护性,降低维护费用。 4. 提高软件开发生产率,及时交付使用
7 6.软件工程的目标 1. 合理预算开发成本,付出较低的开发费用。 2. 实现预期的软件功能,达到较好的软件性能, 满足用户的需求。 3. 提高软件的可维护性,降低维护费用。 4. 提高软件开发生产率,及时交付使用

7.软件工程的七条基本原理 原理1、用分阶段的生命周期计划严格管理 - 项目概要计划 - 里程碑计划 - 项目控制计划 - 产品控制计划 - 测试验收计划 运行维护计划 8
8 7.软件工程的七条基本原理 原理1、用分阶段的生命周期计划严格管理 – 项目概要计划 – 里程碑计划 – 项目控制计划 – 产品控制计划 – 测试验收计划 – 运行维护计划

原理2、坚持进行阶段评审。 软件的质量保证工作不能等到编码阶段结束之后再进 行。经过大量的统计数据表明,大部分错误是在编码 之前诰成的, 其,设计错误约G软任错诶的63%, 编码错误仅占37%。在前期改正错误所需要的可能只 是橡皮和铅笔,而在交付后改正错误需要的工作就太 多了:查找出错的代码、重新组织程序结构和数据结 构、测试、修改文档。,也就是说,错误发现与改正的 越晚,所需付出的代价也越高。因此,在每个阶段都 应该进行严格的评审,以便尽早爱现在软件开发过程 中所犯的错误,是一 条必须遵循的重要原则。 9
9 原理2、坚持进行阶段评审。 软件的质量保证工作不能等到编码阶段结束之后再进 行。经过大量的统计数据表明,大部分错误是在编码 之前造成的,其中,设计错误约占软件错误的63%, 编码错误仅占37%。在前期改正错误所需要的可能只 是橡皮和铅笔,而在交付后改正错误需要的工作就太 多了:查找出错的代码、重新组织程序结构和数据结 构、测试、修改文档。也就是说,错误发现与改正的 越晚,所需付出的代价也越高。因此,在每个阶段都 应该进行严格的评审,以便尽早发现在软件开发过程 中所犯的错误,是一条必须遵循的重要原则

原理3、实行严格的产品控制 基准配置又称基线配置,它们是经过阶段评审 后的软件配置成份。基准配置管理的思想是: 一切有关修改软件的建议,特别是涉及到对基 准配置的修改建议,都必须按照严格的规程进 行评审和控制,获得批准以后才能实施修改。 目的是当需求变动时,其它各阶段的文档或代 码随之相应变动,以保证软件的一致性。 10
10 原理3、实行严格的产品控制 基准配置又称基线配置,它们是经过阶段评审 后的软件配置成份。基准配置管理的思想是: 一切有关修改软件的建议,特别是涉及到对基 准配置的修改建议,都必须按照严格的规程进 行评审和控制,获得批准以后才能实施修改。 目的是当需求变动时,其它各阶段的文档或代 码随之相应变动,以保证软件的一致性