第四章软件项目质量管理_第1页
第四章软件项目质量管理_第2页
第四章软件项目质量管理_第3页
第四章软件项目质量管理_第4页
第四章软件项目质量管理_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件项目管理l软件质量管理的基本概念软件质量管理的基本概念l软件质量控制软件质量控制l缺陷跟踪缺陷跟踪l缺陷预防缺陷预防l软件质量的常用度量软件质量的常用度量l软件项目质量管理计划软件项目质量管理计划l软件质量软件质量是指软件满足明确说明或者隐含的需是指软件满足明确说明或者隐含的需求的程度。求的程度。w 用户需求是衡量软件质量的基础。用户需求是衡量软件质量的基础。w 除满足明确定义的需求外,还要满足隐含的除满足明确定义的需求外,还要满足隐含的需求。需求。l软件项目的三大目标:软件项目的三大目标:质量进度费用l软件质量问题可能导致经济损失甚至灾难性的软件质量问题可能导致经济损失甚至灾难性的后果。

2、后果。l质量是软件产品和软件组织的生命线。质量是软件产品和软件组织的生命线。l质量问题会增加开发和维护软件产品的成本。质量问题会增加开发和维护软件产品的成本。可靠性可靠性可用性可用性安全性安全性可维护性可维护性保密性保密性软件质量软件质量功能功能性能性能易用性易用性可信性可信性l软件的质量形成于产品或者服务的开发过程中,软件的质量形成于产品或者服务的开发过程中,而不是事后的检查(如测试)。而不是事后的检查(如测试)。l20世纪世纪80年代起,质量管理逐步从单一的关注年代起,质量管理逐步从单一的关注产品,转移到关注生产好产品的过程上,并且产品,转移到关注生产好产品的过程上,并且将过程的作用扩大到

3、了组织运行的所有领域。将过程的作用扩大到了组织运行的所有领域。l当过程不断被重复,其性能会趋于稳定当过程不断被重复,其性能会趋于稳定w 结果可预测结果可预测w 对现行执行可监测对现行执行可监测质量得到保证质量得到保证实施的过程性能实施的过程性能稳定过程的上下控制界稳定过程的上下控制界l特殊原因造成过程性能不稳定。特殊原因造成过程性能不稳定。 根除特殊原因,使过程性能稳定,防止质量问根除特殊原因,使过程性能稳定,防止质量问题的出现。题的出现。造成不稳定的特殊原因造成不稳定的特殊原因l质量成本质量成本是为了达到产品或服务的质量而付出是为了达到产品或服务的质量而付出的所有努力的总成本,包括三部分:的

4、所有努力的总成本,包括三部分:w 预防成本:为防止将缺陷引入软件而进行的预防成本:为防止将缺陷引入软件而进行的预防工作所消耗的费用。预防工作所消耗的费用。w 评价成本:检查软件是否包含缺陷的工作所评价成本:检查软件是否包含缺陷的工作所消耗的费用。消耗的费用。w 失效成本:修复缺陷工作所消耗的成本。失效成本:修复缺陷工作所消耗的成本。 PAF(Prevention / Appraisal / Failure)成)成本模型本模型预防预防评估评估失效失效培训审查废品计划测试返工过程研究和改进审计修复供应商调查监控Regression Test咨询度量缺陷分析获得资格验证服务分析退货确认投诉处理和解决

5、When Defect is DetectedTypical Cost of CorrectionUser Requirements$100-$1,000Coding/Unit Testing$1,000 or moreSystem Testing$7,000 - $8,000Acceptance Testing$1,000 - $100,000After ImplementationUp to millions of dollars在项目早期预防和检测缺陷比在项目晚期在项目早期预防和检测缺陷比在项目晚期检测和排除缺陷更有效、更节省成本。检测和排除缺陷更有效、更节省成本。l软件质量管理的基本概

6、念软件质量管理的基本概念l软件质量控制软件质量控制l缺陷跟踪缺陷跟踪l缺陷预防缺陷预防l软件质量的常用度量软件质量的常用度量l软件项目质量管理计划软件项目质量管理计划l质量控制质量控制(Quality Control, QC)是确定项目结果是确定项目结果与质量标准是否相符,并及时纠正产品缺陷的过与质量标准是否相符,并及时纠正产品缺陷的过程。程。l质量控制的主要手段是质量控制的主要手段是验证与确认验证与确认( V&V )w 验证(验证(Verification):是否正确地构造了产品?是否正确地构造了产品?以开发者的视角进行。以开发者的视角进行。w 确认(确认(Validation):是否构造了

7、正确的产品?是否构造了正确的产品?以用户的视角进行。以用户的视角进行。需求分析需求分析需求评审需求评审设计设计设计评审设计评审编码编码代码审查代码审查系统测试系统测试界面原型界面原型需求确认需求确认需求确认需求确认确认测试确认测试测试开发测试开发质量控质量控制方法制方法静态方法:评审静态方法:评审技术评审技术评审代码评审代码评审动态方法:测试动态方法:测试单元测试单元测试集成测试集成测试确认测试确认测试l技术评审是指在完成一项工作后,把工作产品技术评审是指在完成一项工作后,把工作产品分发给合作者,让合作者检查其中的缺陷。然分发给合作者,让合作者检查其中的缺陷。然后开会讨论工作产品并产生需要返工

8、的缺陷列后开会讨论工作产品并产生需要返工的缺陷列表。表。l技术评审的主要对象:需求和设计规格说明、技术评审的主要对象:需求和设计规格说明、测试计划、用户手册等。测试计划、用户手册等。l组织召开评审会议:一般应有组织召开评审会议:一般应有35个相关人员个相关人员参加,会前每个参加者做好准备,评审会议一参加,会前每个参加者做好准备,评审会议一般不超过两个小时。般不超过两个小时。l在评审会议上,由开发小组对提交的评审对象在评审会议上,由开发小组对提交的评审对象进行讲解。进行讲解。l评审组可对开发小组提问,提出建议和要求,评审组可对开发小组提问,提出建议和要求,展开讨论。展开讨论。l会议结束时必须做出

9、以下三个决策之一:会议结束时必须做出以下三个决策之一:w 接受该产品,不需要做修改。接受该产品,不需要做修改。w 由于错误严重,拒绝接受。由于错误严重,拒绝接受。w 暂时接受该产品,但需要对某一部分进行修改。暂时接受该产品,但需要对某一部分进行修改。l评审报告与记录:对所提出的问题要进行记录,并评审报告与记录:对所提出的问题要进行记录,并产生一个评审报告。产生一个评审报告。l同行评审是一种特殊类型的技术评审。同行评审是一种特殊类型的技术评审。l由与工作产品开发人员具有同等背景和能力的由与工作产品开发人员具有同等背景和能力的人员对工作产品进行技术评审,因此非常有利人员对工作产品进行技术评审,因此

10、非常有利于发现工作产品中的问题。于发现工作产品中的问题。l编码阶段的一种技术评审,由一组人员对程序编码阶段的一种技术评审,由一组人员对程序进行阅读和静态分析,可以很有效地检查程序进行阅读和静态分析,可以很有效地检查程序代码中的缺陷。代码中的缺陷。l评审内容:程序是否符合编码规范,程序结构评审内容:程序是否符合编码规范,程序结构是否合理,算法和程序逻辑是否正确,程序性是否合理,算法和程序逻辑是否正确,程序性能怎样等。能怎样等。l很多程序逻辑错误很难通过测试发现。很多程序逻辑错误很难通过测试发现。l软件质量管理的基本概念软件质量管理的基本概念l软件质量控制软件质量控制l缺陷跟踪缺陷跟踪l缺陷预防缺

11、陷预防l软件质量的常用度量软件质量的常用度量l软件项目质量管理计划软件项目质量管理计划l缺陷跟踪是指从缺陷被发现开始到被改正为止缺陷跟踪是指从缺陷被发现开始到被改正为止的整个跟踪流程。的整个跟踪流程。l缺陷跟踪一般需要软件工具支持。常用的工具缺陷跟踪一般需要软件工具支持。常用的工具有有Bugzilla、ClearQuest、Jira、TrackRecord 等。等。lBugzilla是是Mozilla公司提供的一个开源的缺陷公司提供的一个开源的缺陷跟踪工具,在全世界拥有大量用户。跟踪工具,在全世界拥有大量用户。l它能够为软件组织建立一个完善的缺陷跟踪体它能够为软件组织建立一个完善的缺陷跟踪体系

12、,包括报告缺陷、查询缺陷记录并产生报表、系,包括报告缺陷、查询缺陷记录并产生报表、处理解决缺陷、管理员系统初始化和设置等。处理解决缺陷、管理员系统初始化和设置等。l基于基于Web方式运行,易于掌握。方式运行,易于掌握。l缺陷从最初的报告到最后的关闭,都有详细的缺陷从最初的报告到最后的关闭,都有详细的操作记录,确保了缺陷不会被忽略,并允许用操作记录,确保了缺陷不会被忽略,并允许用户在检查缺陷状态时获取历史记录。户在检查缺陷状态时获取历史记录。l提供强大的查询匹配能力,能根据各种条件组提供强大的查询匹配能力,能根据各种条件组合进行缺陷查询,并能够记忆搜索条件。合进行缺陷查询,并能够记忆搜索条件。l

13、当缺陷状态发生改变时,会自动发送邮件通知当缺陷状态发生改变时,会自动发送邮件通知相关责任人。相关责任人。l自带基于数据库的报表生成功能,主要生成两自带基于数据库的报表生成功能,主要生成两类图表:基于表格的视图和图形视图(条形图、类图表:基于表格的视图和图形视图(条形图、线图、饼状图)。线图、饼状图)。l报告缺陷报告缺陷l分配缺陷分配缺陷l处理缺陷处理缺陷l验证已解决的缺陷验证已解决的缺陷l软件质量管理的基本概念软件质量管理的基本概念l软件质量控制软件质量控制l缺陷跟踪缺陷跟踪l缺陷预防缺陷预防l软件质量的常用度量软件质量的常用度量l软件项目质量管理计划软件项目质量管理计划l优点优点:主动:主动

14、 改进软件过程,降低出错几率改进软件过程,降低出错几率 降低质量成本,实现项目效益降低质量成本,实现项目效益找到根本原因找到根本原因消除根本原因消除根本原因lStep1:选择缺陷数据。:选择缺陷数据。 对小项目,可选择某一时期内发现的所有缺陷。对小项目,可选择某一时期内发现的所有缺陷。 对大项目,可选择一个缺陷样本集合。对大项目,可选择一个缺陷样本集合。lStep2:分析缺陷的根本原因:分析缺陷的根本原因 对缺陷逐个进行分析,常以会议的方式进行。对缺陷逐个进行分析,常以会议的方式进行。 可对分析出的根本原因进行分类,例如:可对分析出的根本原因进行分类,例如: IBM:疏忽、培训、通信失效、书写

15、错误:疏忽、培训、通信失效、书写错误 Motorola:开发阶段相关、人员相关、项目相:开发阶段相关、人员相关、项目相关、复审相关关、复审相关缺陷原因分析工具缺陷原因分析工具因果图(鱼骨图)因果图(鱼骨图)lStep3:识别公共原因,制定改进措施。识别公共原因,制定改进措施。 在逐个分析了缺陷之后,还要对分析得到的根在逐个分析了缺陷之后,还要对分析得到的根本原因进行综合和归纳,识别导致缺陷产生的本原因进行综合和归纳,识别导致缺陷产生的公共原因,并制定有关过程、技术和人员管理公共原因,并制定有关过程、技术和人员管理方面的改进措施。方面的改进措施。l软件质量管理的基本概念软件质量管理的基本概念l软

16、件质量控制软件质量控制l缺陷跟踪缺陷跟踪l缺陷预防缺陷预防l软件质量的常用度量软件质量的常用度量l软件项目质量管理计划软件项目质量管理计划l初期故障率初期故障率:指软件在初期故障期(一般以软:指软件在初期故障期(一般以软件交付给用户后的三个月内为初期故障期)内件交付给用户后的三个月内为初期故障期)内单位时间的故障数。单位时间的故障数。 用来评价交付使用的软件的质量,预测什么时用来评价交付使用的软件的质量,预测什么时候软件运行达到基本稳定。候软件运行达到基本稳定。 一般以每一般以每100小时的故障数为单位。小时的故障数为单位。l偶然故障率偶然故障率:指软件在偶然故障期(一般以软:指软件在偶然故障

17、期(一般以软件交付给用户后的件交付给用户后的4个月以后为偶然故障期)个月以后为偶然故障期)内单位时间的故障数。内单位时间的故障数。 它用来度量软件处于稳定状态下的质量。它用来度量软件处于稳定状态下的质量。 一般以每一般以每1000小时的故障数为单位。小时的故障数为单位。l平均失效前时间平均失效前时间(Mean Time to Failure,MTTF):指软件在失效前正常工作的平均统):指软件在失效前正常工作的平均统计时间。计时间。 用来度量软件的可靠性。用来度量软件的可靠性。l平均修复时间平均修复时间(Mean Time to Repairation,MTTR):指软件失效后,使其恢复正常工

18、作):指软件失效后,使其恢复正常工作所需要的平均统计时间。所需要的平均统计时间。 用来度量软件的可维护性。用来度量软件的可维护性。l缺陷密度缺陷密度:指软件单位数量的源代码中隐藏的:指软件单位数量的源代码中隐藏的缺陷数量。缺陷数量。 通常以每千行无注解源代码为一个单位。通常以每千行无注解源代码为一个单位。l软件质量管理的基本概念软件质量管理的基本概念l软件质量控制软件质量控制l缺陷跟踪缺陷跟踪l缺陷预防缺陷预防l软件质量的常用度量软件质量的常用度量l软件项目质量管理计划软件项目质量管理计划l软件项目质量管理计划一般应满足以下要求:软件项目质量管理计划一般应满足以下要求:w 确定项目应达到的质量目标和所有特性的要求;确定项目应达到的质量目标和所有特性的要求;w 确定项目中的质量活动和质量控制程序;确定项目中的质量活动和质量控制程序;w 确定项目采用的控制手段及合适的验证手段和确定项目采用的控制手段及合适的验证手段和方法;方法;w 确定和准备质量记录。确定和准备质量记录。l制订软件项目质量管理计划的依据是企业的质量制订软件项目质量管理计划的依据是企业的质量体系和项目的特点。体系和项目的特点。l软件质量活动必须经过规划并明文规定软件质量活动必须经过规

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论