软件过程管理和质量PPT参考课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 组织过程类:一个组织用来建立、实施一种基础结构、 并不断改进该基础结构的过程,包括管理、基础、改 进、培训等过程。
12
软件过程模型
软件过程模型是软件开发的指导思 想和全局性框架,软件过程模型的提出 和发展反映了人们对软件过程的某种认 识观,体现了人们对软件过程认识的提 高和飞跃。
13
软件过程模型
软件过程
• 软件工程的基层是过程层
软件工程过程是将技术层结合在一起的凝 聚力,使得软件能够被合理地和及时地开发出 来。过程定义了一组关键过程区域的框架,这 对于软件工程技术的有效应用是必须的。关键 过程区域构成了软件项目管理控制的基础,并 且确定了上下各区域之间的关系,规定了技术 方法的采用、工程产品(模型、文档、数据、 报告、表格等)的产生、里程碑的建立、质量 的保证及变化的适当管理。
6
软件过程
• 软件工程的方法层
提供了为开发软件在技术上需要“如何 做”。方法涵盖了一系列的任务:需求分析、 设计、编程、测试和维护。软件工程方法依赖 于一组原则,这些原则控制了每一个技术区域, 且包含建模活动和其他描述技术。
7
软件过程
• 软件工程的工具层
对过程和方法提供了自动的或半自动的支 持。当这些工具被集成起来使得一个工具产生 的信息可以被另外一个工具使用时,一个支持 软件开发的系统就建立了,称为计算机辅助软 件工程(CASE)。CASE集成了软件、硬件和 一个软件工程数据库(包含了关于分析、设计、 编程和测试的重要信息),从而形成了一个软 件工程环境。
3
软件过程
软件工程层次图
工具 方法 过程 质量焦点
4
软件过程
• 软件工程是一种层次化的技术
任何工程方法(包括软件工程)必须以有 组织的质量保证为基础。全面的质量管理和类 似的理念刺激了不断的过程改进,正是这种改 进导致了更加成熟的软件工程方法的不断出现。 支持软件工程的根基就在于对质量的关注。
5
• 若干框架活动适用于所有软件项目,而不在乎其规模 和复杂性。
• 若干不同任务的集合----每一个集合都由任务、里程碑、 交付物以及质量保证点组成----使得框架活动适应于不 同软件项目的特征和项目组的需求。
• 若干保护性活动----如软件质量保证、软件配置管理、 测试与度量----它们贯穿于整个过程模型之中。保护性 活动独立于任何一个框架活动,且贯穿于整个过程之 中。
的经验结合到不断求精的产品中; • 可改善测试效果和降低软件开发总成本。
22
软件过程模型
需求定义
螺旋模型
风险分析
评审
工程实现
23
软件过程模型
螺旋模型的特点: • 把软件开过程组成为一个逐步细化的定
义周期(螺旋周期)序列,每经历一个 周期,系统就得到进一步的细化和完善; • 本质上,具有上述特征的螺旋是一直运 转的直到软件退役。有时这个过程处于 睡眠状态,但任何时候出现了改变,过 程都会从合适的入口点开始;
有复杂系统一样要经过一段时间的演化。 业务和产品需求随着开发的发展常常发 生改变,想找到最终产品的一条直线路 径是不可能的。
18
软件过程模型
演化软件过程模型 紧迫的市场期限使得难以完成一个
完善的软件产品,但可以先提交一个有 限的版本以对付竞争或商业的压力;只 要核心产品或系统需求能够很好地理解, 而产品或系统的细节部分可以进一步定 义。
瀑布模型
定义
分析
设计
强调阶段的划分
编码 测试
及其顺序性、各阶段工作
维护
及其文档的完备性,是一种严格线性的、
按阶段顺序的、逐步细化的开发模式。 14
软件过程模型
瀑布模型的特点: • 结构简单明了;历史较长、应用面广泛、
为广大软件工作者所熟悉;已有与之配 套的一组十分成熟的开发方法和丰富的 支撑工具。 • 确定了需求分析的绝对重要性,但是在 实践中要想获得完善的需求说明是非常 困难的;反馈信息慢。
24
软件过程模型
螺旋模型的特点: • 紧密围绕开发中的风险问题,用风险分
析推动软件设计向深一层扩展、求精; • 强调持续地判断、确定和修改用户任务
目标,并按成本、效益来分析候选的软 件产品性质对任务目标的贡献; • 可结合采用多种软件开发方法,但究竟 结合哪一种方法仍由风险分析来决定。
10
软件过程
公共过程框架
框架活动
任务集合
工作任务
里程碑、交付物
SQA点
保护性活动
11
软件过程
软件过程可分为三大类:
• 基本过程类:是构成软件生存周期主要部分的那些过 程,包括获取、供ห้องสมุดไป่ตู้、开发、操作、维护等过程。
• 支持过程类:可穿插到基本过程中提供支持的一系列 过程,包括文档开发、配置管理、质量保证、验证、 确认、联合评审、审计、问题解决等过程。
软件过程、管理和质量
李宣东 南京大学计算机科学与技术系
1
概要
• 软件过程 • 软件质量保证 • 软件配置管理 • 软件项目管理概念
2
软件过程
软件过程是近十年来人们关注的焦 点。软件过程是为开发高质量软件所需 要完成的任务的框架。软件工程是有创 造力、有知识的人在定义好的、成熟的 软件过程框架中进行的。
15
软件过程模型
原型模型
听取用户意见
建造/修改 原型
用户测试 运行原型
16
软件过程模型
原型模型的特点: • 原型作为标识软件需求的一种机制,原
型被建造仅是为了定义需求,之后就该 被抛弃(或至少部分抛弃); • 实际的软件在充分考虑了质量和可维护 性之后才被开发。
17
软件过程模型
演化软件过程模型 人们已经越来越认识到软件就象所
19
软件过程模型
演化软件过程模型 演化模型是利用一种迭代的思想方
法,它的特征是使软件工程师渐进地开 发逐步完善的软件版本。 • 增量模型 • 螺旋模型
20
软件过程模型
增量模型 分析 设计
编码
测试 增量1
分析 设计 编码 测试 增量2
分析 设计
编码
测试 增量3
21
软件过程模型
增量模型的特点: • 以功能递增的方式进行软件开发 • 能较快地产生可操作的系统; • 在每一步递增中,都可以把用户/开发者
8
软件过程
• 过程:为实现一个给定目标而进行的一 系列运作步骤。
• 过程具有一系列的性质:时间性、并发 性、嵌套性和度量性等。
• 软件过程:开发和维护软件及其相关产 品所设及的一系列活动。过程是活动的 集合;活动是任务的集合;任务是把输 入转换为输出的操作。
9
软件过程
软件过程提供了一个框架,在该框架下可以 建立一个软件开发的综合计划:
12
软件过程模型
软件过程模型是软件开发的指导思 想和全局性框架,软件过程模型的提出 和发展反映了人们对软件过程的某种认 识观,体现了人们对软件过程认识的提 高和飞跃。
13
软件过程模型
软件过程
• 软件工程的基层是过程层
软件工程过程是将技术层结合在一起的凝 聚力,使得软件能够被合理地和及时地开发出 来。过程定义了一组关键过程区域的框架,这 对于软件工程技术的有效应用是必须的。关键 过程区域构成了软件项目管理控制的基础,并 且确定了上下各区域之间的关系,规定了技术 方法的采用、工程产品(模型、文档、数据、 报告、表格等)的产生、里程碑的建立、质量 的保证及变化的适当管理。
6
软件过程
• 软件工程的方法层
提供了为开发软件在技术上需要“如何 做”。方法涵盖了一系列的任务:需求分析、 设计、编程、测试和维护。软件工程方法依赖 于一组原则,这些原则控制了每一个技术区域, 且包含建模活动和其他描述技术。
7
软件过程
• 软件工程的工具层
对过程和方法提供了自动的或半自动的支 持。当这些工具被集成起来使得一个工具产生 的信息可以被另外一个工具使用时,一个支持 软件开发的系统就建立了,称为计算机辅助软 件工程(CASE)。CASE集成了软件、硬件和 一个软件工程数据库(包含了关于分析、设计、 编程和测试的重要信息),从而形成了一个软 件工程环境。
3
软件过程
软件工程层次图
工具 方法 过程 质量焦点
4
软件过程
• 软件工程是一种层次化的技术
任何工程方法(包括软件工程)必须以有 组织的质量保证为基础。全面的质量管理和类 似的理念刺激了不断的过程改进,正是这种改 进导致了更加成熟的软件工程方法的不断出现。 支持软件工程的根基就在于对质量的关注。
5
• 若干框架活动适用于所有软件项目,而不在乎其规模 和复杂性。
• 若干不同任务的集合----每一个集合都由任务、里程碑、 交付物以及质量保证点组成----使得框架活动适应于不 同软件项目的特征和项目组的需求。
• 若干保护性活动----如软件质量保证、软件配置管理、 测试与度量----它们贯穿于整个过程模型之中。保护性 活动独立于任何一个框架活动,且贯穿于整个过程之 中。
的经验结合到不断求精的产品中; • 可改善测试效果和降低软件开发总成本。
22
软件过程模型
需求定义
螺旋模型
风险分析
评审
工程实现
23
软件过程模型
螺旋模型的特点: • 把软件开过程组成为一个逐步细化的定
义周期(螺旋周期)序列,每经历一个 周期,系统就得到进一步的细化和完善; • 本质上,具有上述特征的螺旋是一直运 转的直到软件退役。有时这个过程处于 睡眠状态,但任何时候出现了改变,过 程都会从合适的入口点开始;
有复杂系统一样要经过一段时间的演化。 业务和产品需求随着开发的发展常常发 生改变,想找到最终产品的一条直线路 径是不可能的。
18
软件过程模型
演化软件过程模型 紧迫的市场期限使得难以完成一个
完善的软件产品,但可以先提交一个有 限的版本以对付竞争或商业的压力;只 要核心产品或系统需求能够很好地理解, 而产品或系统的细节部分可以进一步定 义。
瀑布模型
定义
分析
设计
强调阶段的划分
编码 测试
及其顺序性、各阶段工作
维护
及其文档的完备性,是一种严格线性的、
按阶段顺序的、逐步细化的开发模式。 14
软件过程模型
瀑布模型的特点: • 结构简单明了;历史较长、应用面广泛、
为广大软件工作者所熟悉;已有与之配 套的一组十分成熟的开发方法和丰富的 支撑工具。 • 确定了需求分析的绝对重要性,但是在 实践中要想获得完善的需求说明是非常 困难的;反馈信息慢。
24
软件过程模型
螺旋模型的特点: • 紧密围绕开发中的风险问题,用风险分
析推动软件设计向深一层扩展、求精; • 强调持续地判断、确定和修改用户任务
目标,并按成本、效益来分析候选的软 件产品性质对任务目标的贡献; • 可结合采用多种软件开发方法,但究竟 结合哪一种方法仍由风险分析来决定。
10
软件过程
公共过程框架
框架活动
任务集合
工作任务
里程碑、交付物
SQA点
保护性活动
11
软件过程
软件过程可分为三大类:
• 基本过程类:是构成软件生存周期主要部分的那些过 程,包括获取、供ห้องสมุดไป่ตู้、开发、操作、维护等过程。
• 支持过程类:可穿插到基本过程中提供支持的一系列 过程,包括文档开发、配置管理、质量保证、验证、 确认、联合评审、审计、问题解决等过程。
软件过程、管理和质量
李宣东 南京大学计算机科学与技术系
1
概要
• 软件过程 • 软件质量保证 • 软件配置管理 • 软件项目管理概念
2
软件过程
软件过程是近十年来人们关注的焦 点。软件过程是为开发高质量软件所需 要完成的任务的框架。软件工程是有创 造力、有知识的人在定义好的、成熟的 软件过程框架中进行的。
15
软件过程模型
原型模型
听取用户意见
建造/修改 原型
用户测试 运行原型
16
软件过程模型
原型模型的特点: • 原型作为标识软件需求的一种机制,原
型被建造仅是为了定义需求,之后就该 被抛弃(或至少部分抛弃); • 实际的软件在充分考虑了质量和可维护 性之后才被开发。
17
软件过程模型
演化软件过程模型 人们已经越来越认识到软件就象所
19
软件过程模型
演化软件过程模型 演化模型是利用一种迭代的思想方
法,它的特征是使软件工程师渐进地开 发逐步完善的软件版本。 • 增量模型 • 螺旋模型
20
软件过程模型
增量模型 分析 设计
编码
测试 增量1
分析 设计 编码 测试 增量2
分析 设计
编码
测试 增量3
21
软件过程模型
增量模型的特点: • 以功能递增的方式进行软件开发 • 能较快地产生可操作的系统; • 在每一步递增中,都可以把用户/开发者
8
软件过程
• 过程:为实现一个给定目标而进行的一 系列运作步骤。
• 过程具有一系列的性质:时间性、并发 性、嵌套性和度量性等。
• 软件过程:开发和维护软件及其相关产 品所设及的一系列活动。过程是活动的 集合;活动是任务的集合;任务是把输 入转换为输出的操作。
9
软件过程
软件过程提供了一个框架,在该框架下可以 建立一个软件开发的综合计划: