第二章软件工程基础
第二章 软件工程基础
21软件工程的概念 软件定义与软件特点 软件定义 软件( Software)是计算机系统中与硬件相互依存 的另一部分,它是包括程序、数据及其相关文 档的完整集合。 其中,程序是为实现设计的功能和性能要求而 编写的指令序列;数据是使指令能够正常操纵 信息的数据结构;文档是与程序开发、维护和 使用有关的图文资料。 第二章软件工程基础
第二章 软件工程基础 1.软件定义 ◼ 软件(Software)是计算机系统中与硬件相互依存 的另一部分,它是包括程序、数据及其相关文 档的完整集合。 ◼ 其中,程序是为实现设计的功能和性能要求而 编写的指令序列;数据是使指令能够正常操纵 信息的数据结构;文档是与程序开发、维护和 使用有关的图文资料。 2.1 软件工程的概念 一、软件定义与软件特点
21软件工程的概念 软件定义与软件特点 2.软件特点 (1)软件是一种逻辑实体,具有抽象性 (2)软件的生产与硬件不同,没有明显的制造过程。 (3)软件产品在使用过程中不会出现磨损、老化问 题。 (4)软件的开发、运行对计算机系统具有依赖性, 受计算机系统的限制,可能导致软件移植的问 题。 (5)软件复杂性高,成本昂贵。 (6)软件开发涉及诸多的社会因素。 第二章软件工程基础
第二章 软件工程基础 2.软件特点 (1) 软件是一种逻辑实体,具有抽象性。 (2) 软件的生产与硬件不同,没有明显的制造过程。 (3) 软件产品在使用过程中不会出现磨损、老化问 题。 (4) 软件的开发、运行对计算机系统具有依赖性, 受计算机系统的限制,可能导致软件移植的问 题。 (5) 软件复杂性高,成本昂贵。 (6) 软件开发涉及诸多的社会因素。 2.1 软件工程的概念 一、软件定义与软件特点
21软件工程的概念 软件工程与软件危机 软件危机主要表现在: ①软件需求的增长得不到满足。 ②软件开发成本和进度无法控制 ③软件质量难以保证。 ④软件不可维护或维护程度非常低。 ⑤软件的成本不断提高。 ⑥软件开发生产率的提高赶不上硬件的发展和 应用需求的增长 第二章软件工程基础
第二章 软件工程基础 ◼ 软件危机主要表现在: ① 软件需求的增长得不到满足。 ② 软件开发成本和进度无法控制。 ③ 软件质量难以保证。 ④ 软件不可维护或维护程度非常低。 ⑤ 软件的成本不断提高。 ⑥ 软件开发生产率的提高赶不上硬件的发展和 应用需求的增长 2.1 软件工程的概念 二、软件工程与软件危机
21软件工程的概念 软件工程与软件危机 ■所谓软件工程是应用于计算机软件的定义、开 发和维护的一整套方法、工具、文档、实践标 准和工序。 软件工程包括3个要素,即方法、工具和过程。 方法是完成软件工程项目的技术手段;工具支 持软件的开发、管理、文档生成;过程支持软 件开发的各个环节的控制、管理。 第二章软件工程基础
第二章 软件工程基础 ◼ 所谓软件工程是应用于计算机软件的定义、开 发和维护的一整套方法、工具、文档、实践标 准和工序。 ◼ 软件工程包括3个要素,即方法、工具和过程。 方法是完成软件工程项目的技术手段;工具支 持软件的开发、管理、文档生成;过程支持软 件开发的各个环节的控制、管理。 2.1 软件工程的概念 二、软件工程与软件危机
21软件工程的概念 软件工程过程与软件生命周期 1.软件工程过程 Software Engineering Process) S09000定义:软件工程过程是把输入转化为输出的 一组彼此相关的资源和活动。 两方面内涵: 其一,软件工程过程是指为获得软件产品,在软件 工具支持下由软件工程师完成的一系列软件工程活动, 包含软件规格说明、软件开发、软件确认、软件演进4 种基本活动。 其二,从软件开发的观点看,软件工程过程是使用 适当的资源(包括人员、硬软件工具、时间等),为开 发软件进行的一组开发活动,在过程结束时将输入(用 户要求)转化为输出(软件产品)。 第二章软件工程基础
第二章 软件工程基础 1.软件工程过程(Software Engineering Process) ◼ IS09000定义:软件工程过程是把输入转化为输出的 一组彼此相关的资源和活动。 ◼ 两方面内涵: 其一,软件工程过程是指为获得软件产品,在软件 工具支持下由软件工程师完成的一系列软件工程活动, 包含软件规格说明、软件开发、软件确认、软件演进4 种基本活动。 其二,从软件开发的观点看,软件工程过程是使用 适当的资源(包括人员、硬软件工具、时间等),为开 发软件进行的一组开发活动,在过程结束时将输入(用 户要求)转化为输出(软件产品)。 2.1 软件工程的概念 三、软件工程过程与软件生命周期
21软件工程的概念 软件工程过程与软件生命周期 2.软件生命周期( Software Life Cycle) ■将软件产品从提出、实现、使用维护到停止使 用退役的过程称为软件生命周期。即,软件生 存周期是指一个软件从提出开发要求开始到该 软件退役的整个时期。 般包括可行性研究与需求分析、设计、实现、 测试、交付使用以及维护等活动, 第二章软件工程基础
第二章 软件工程基础 2.软件生命周期(Software Life Cycle) ◼ 将软件产品从提出、实现、使用维护到停止使 用退役的过程称为软件生命周期。即,软件生 存周期是指一个软件从提出开发要求开始到该 软件退役的整个时期。 ◼ 一般包括可行性研究与需求分析、设计、实现、 测试、交付使用以及维护等活动, 2.1 软件工程的概念 三、软件工程过程与软件生命周期
21软件工程的概念 四、软件工程的目标与原则 1.软件工程的目标 在给定成本、进度的前提下,开发出具有有 效性、可靠性、可理解性、可维护性、可重用 性、可适应性、可移植性、可追踪性和可互操 作性且满足用户需求的产品。 软件工程的原则 在软件开发过程中,必须遵循软件工程的基 本原则。这些原则适用于所有的软件项目。这 些基本原则包括抽象、信息隐蔽、模块化、局 部化、确定性、一致性、完备性和可验证性。 第二章软件工程基础
第二章 软件工程基础 1.软件工程的目标 在给定成本、进度的前提下,开发出具有有 效性、可靠性、可理解性、可维护性、可重用 性、可适应性、可移植性、可追踪性和可互操 作性且满足用户需求的产品。 2.软件工程的原则 在软件开发过程中,必须遵循软件工程的基 本原则。这些原则适用于所有的软件项目。这 些基本原则包括抽象、信息隐蔽、模块化、局 部化、确定性、一致性、完备性和可验证性。 2.1 软件工程的概念 四、软件工程的目标与原则
2软件工程的概念 五、软件开发工具与软件开发环境 软件开发工具的完善和发展将促进软件开发方 法的进步和完善,促进软件开发的高速度和高 质量。 软件开发环境或称软件工程环境是全面支持软 件开发全过程的软件工具集合。这些软件工具 按照一定的方法或模式组合起来,支持软件生 命周期内的各个阶段和各项任务的完成。 第二章软件工程基础
第二章 软件工程基础 ◼ 软件开发工具的完善和发展将促进软件开发方 法的进步和完善,促进软件开发的高速度和高 质量。 ◼ 软件开发环境或称软件工程环境是全面支持软 件开发全过程的软件工具集合。这些软件工具 按照—定的方法或模式组合起来,支持软件生 命周期内的各个阶段和各项任务的完成。 2.1 软件工程的概念 五、软件开发工具与软件开发环境
22软件的需求分析方法 、需求分析方法 1.需求分析 ■任务是发现需求、求精、建模和定义需求的过 程 (1)需求分析的定义 ①用户解决问题或达到目标所需的条件或权能; ②系统或系统部件要满足合同、标准、规范或 其它正式规定文档所需具有的条件或权能; ③一种反映①或②所描述的条件或权能的文档 说明。 第二章软件工程基础
第二章 软件工程基础 1.需求分析 ◼ 任务是发现需求、求精、建模和定义需求的过 程。 (1)需求分析的定义 ① 用户解决问题或达到目标所需的条件或权能; ② 系统或系统部件要满足合同、标准、规范或 其它正式规定文档所需具有的条件或权能; ③ 一种反映①或②所描述的条件或权能的文档 说明。 2.2 软件的需求分析方法 一、需求分析方法