【教学课件】第8章软件质量保证.ppt
《【教学课件】第8章软件质量保证.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第8章软件质量保证.ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8 8章章 软件质量保证软件质量保证n n8.18.1软件质量软件质量软件质量软件质量n n8.28.2质量运动质量运动质量运动质量运动n n8.38.3软件质量保证软件质量保证软件质量保证软件质量保证n n8.48.4软件评审软件评审软件评审软件评审n n8.58.5正式技术评审正式技术评审正式技术评审正式技术评审n n8.6SQA8.6SQA的形式化方法的形式化方法的形式化方法的形式化方法n n8.78.7统计软件质量保证统计软件质量保证统计软件质量保证统计软件质量保证n n8.88.8软件可靠性软件可靠性软件可靠性软件可靠性n n8.98.9软件的错误防范软件的错误防范软件的错误防范
2、软件的错误防范n n8.10ISO90008.10ISO9000质量标准质量标准质量标准质量标准n n8.11SQA8.11SQA计划计划计划计划n“软件质量保证软件质量保证”(SQA)是一种应用于整个软件过)是一种应用于整个软件过程的庇护性活动。程的庇护性活动。SQA包含:包含:(1)一种质量管理方法;)一种质量管理方法;(2)有效的软件工程技术(方法和工具);)有效的软件工程技术(方法和工具);(3)在整个软件过程中采用的正式技术复审;)在整个软件过程中采用的正式技术复审;(4)一种多层次的测试策略)一种多层次的测试策略;(5)对软件文档及其修改的控制;)对软件文档及其修改的控制;(6)保
3、证软件遵从软件开发标准的规程(在适用时);)保证软件遵从软件开发标准的规程(在适用时);(7)测量和报告机制)测量和报告机制。n本章将集中讨论为支持软件组织本章将集中讨论为支持软件组织“在正确的时间、在正确的时间、以正确的方式、做正确的事情以正确的方式、做正确的事情”的相关管理问题的相关管理问题和特定过程活动。和特定过程活动。8.1质量概念质量概念 Quality Conceptsn美国传统字典(美国传统字典(AmericanHeritageDictionary)中对质量的定义是:)中对质量的定义是:“某一事物某一事物的特征或属性的特征或属性”。n作为一个事物的属性,质量指的是可以度量的作为一
4、个事物的属性,质量指的是可以度量的特征特征那些可以与已知标准进行比较的东西,那些可以与已知标准进行比较的东西,如长度、颜色、电的性质、可延展性等等。如长度、颜色、电的性质、可延展性等等。n但是软件,很大程度上是一种但是软件,很大程度上是一种知识实体知识实体,其特,其特征的定义远比物理对象要困难得多。征的定义远比物理对象要困难得多。n nANSI/IEEE Std 729-1983定义软件定义软件质量为质量为“与软件产品满足规定的和与软件产品满足规定的和隐含的需求的能力有关的特征或特隐含的需求的能力有关的特征或特性的全体性的全体”。n nM.J.Fisher 定义软件质量为定义软件质量为“所有所
5、有描述计算机软件优秀程度的特性的描述计算机软件优秀程度的特性的组合组合”。n程序特征的度量的确存在程序特征的度量的确存在。这样的属性包括。这样的属性包括循环循环复杂度、内聚、功能点、代码行数复杂度、内聚、功能点、代码行数和其他许多属和其他许多属性。在根据对象的可度量特征考察一个对象时,性。在根据对象的可度量特征考察一个对象时,可以有以下两种不同的质量:可以有以下两种不同的质量:设计质量和符合质设计质量和符合质量。量。n设计质量设计质量:是指设计者为一件产品规定的特征。:是指设计者为一件产品规定的特征。材料等级、耐久性、及性能的规约都属于设计质材料等级、耐久性、及性能的规约都属于设计质量。量。n
6、当规定使用更高级别的材料、要求达到更强的耐当规定使用更高级别的材料、要求达到更强的耐久性和更高层次的性能时,如果产品能够依照规久性和更高层次的性能时,如果产品能够依照规约进行制造,则产品的设计质量便会提高。约进行制造,则产品的设计质量便会提高。n符合质量符合质量:是指在制造过程中符合设计规格的:是指在制造过程中符合设计规格的程度。同样,符合程度越高,符合质量也就越程度。同样,符合程度越高,符合质量也就越高。高。n在软件开发时,在软件开发时,设计质量设计质量包括系统的需求、规包括系统的需求、规约和设计。约和设计。符合质量符合质量则主要关注实现问题。如则主要关注实现问题。如果实现符合设计、得到的系
7、统满足系统需求和果实现符合设计、得到的系统满足系统需求和性能目标,则符合质量较高。性能目标,则符合质量较高。软件质量特性软件质量特性n n软件质量特性,反映了软件的本质软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要讨论一个软件的质量,问题最终要归结到定义软件的质量特性。归结到定义软件的质量特性。n n定义一个软件的质量,就等价于为定义一个软件的质量,就等价于为该软件定义一系列质量特性。该软件定义一系列质量特性。n n人们通常把影响软件质量的特性用人们通常把影响软件质量的特性用软件质量模型来描述软件质量模型来描述。软件质量模型软件质量模型n n软件质量特性定义成软件质量特性定义成
8、分层模型。分层模型。n n最基本的叫做最基本的叫做基本质量特性基本质量特性,它可,它可以由一些子质量特性定义和度量。以由一些子质量特性定义和度量。n n二次特性二次特性在必要时又可由它的一些在必要时又可由它的一些子质量特性定义和度量。子质量特性定义和度量。Boehm质量模型质量模型ISO的软件质量评价模型的软件质量评价模型n n按照按照按照按照ISO/TC97/SC7/WG3/1985-1-30/N382ISO/TC97/SC7/WG3/1985-1-30/N382,软件质量度量模型由三层组成:软件质量度量模型由三层组成:软件质量度量模型由三层组成:软件质量度量模型由三层组成:软件质量需求评价
9、准则软件质量需求评价准则软件质量需求评价准则软件质量需求评价准则(SQRCSQRC)软件质量设计评价准则软件质量设计评价准则软件质量设计评价准则软件质量设计评价准则(SQDCSQDC)软件质量度量评价准则软件质量度量评价准则软件质量度量评价准则软件质量度量评价准则(SQMCSQMC)n n高层和中层建立国际标准,低层可由各使用高层和中层建立国际标准,低层可由各使用高层和中层建立国际标准,低层可由各使用高层和中层建立国际标准,低层可由各使用单位视实际情况制定单位视实际情况制定单位视实际情况制定单位视实际情况制定1991年年 ISO质质量量特特性性国国际际标标准准(ISO/IEC9126)n n质
10、量特性:质量特性:质量特性:质量特性:功能性功能性功能性功能性、可靠性可靠性可靠性可靠性、可维护性可维护性可维护性可维护性、效效效效率率率率、可使用性可使用性可使用性可使用性、可移植性可移植性可移植性可移植性n n推荐推荐推荐推荐2121个子特性:适合性个子特性:适合性个子特性:适合性个子特性:适合性 准确性准确性准确性准确性 互用性互用性互用性互用性 依依依依从性从性从性从性 安全性安全性安全性安全性 成熟性成熟性成熟性成熟性 容错性容错性容错性容错性 可恢复性可恢复性可恢复性可恢复性 可可可可理解性理解性理解性理解性 易学习性易学习性易学习性易学习性 操作性操作性操作性操作性 时间特性时间
11、特性时间特性时间特性 资源资源资源资源特性特性特性特性 可分析性可分析性可分析性可分析性 稳定性稳定性稳定性稳定性 可变更性可变更性可变更性可变更性 可测试可测试可测试可测试性性性性 可安装性可安装性可安装性可安装性 可替换性可替换性可替换性可替换性 适应性适应性适应性适应性 一致性一致性一致性一致性 质量控制质量控制 Quality Controln差异控制可以等同于质量控制差异控制可以等同于质量控制。n“质量控制质量控制”是为了保证每一件工作产品都满是为了保证每一件工作产品都满足对它的需求而应用于整个开发周期中的一系足对它的需求而应用于整个开发周期中的一系列审查、复审和测试。列审查、复审和
12、测试。n质量控制在创建工作产品的过程中包含一个反质量控制在创建工作产品的过程中包含一个反馈循环。度量和反馈相结合,使得我们能够在馈循环。度量和反馈相结合,使得我们能够在得到的工作产品不能满足其规约时调整开发过得到的工作产品不能满足其规约时调整开发过程。这种方法将质量控制视为整个制造过程的程。这种方法将质量控制视为整个制造过程的一部分。一部分。n质量控制活动可以是全自动的、全人工的,也可质量控制活动可以是全自动的、全人工的,也可以是自动工具与人员交互的结合。质量控制中的以是自动工具与人员交互的结合。质量控制中的关键概念之一是所有工作产品都具有定义好的和关键概念之一是所有工作产品都具有定义好的和可
13、度量的规约,我们可以将每个过程的产品与这可度量的规约,我们可以将每个过程的产品与这一规约进行比较。反馈循环的引入对于最小化产一规约进行比较。反馈循环的引入对于最小化产生的缺陷至关重要。生的缺陷至关重要。n“质量保证质量保证”由管理层的审计和报告功能构成。由管理层的审计和报告功能构成。质量保证的目标是为管理层提供为获知产品质量质量保证的目标是为管理层提供为获知产品质量信息所需的数据,从而获得产品质量是否符合预信息所需的数据,从而获得产品质量是否符合预定目标的认识和信心。当然如果质量保证所提供定目标的认识和信心。当然如果质量保证所提供的数据发现了问题,则管理层负责解决这一问题的数据发现了问题,则管
14、理层负责解决这一问题并为解决质量问题分配所需的资源。并为解决质量问题分配所需的资源。质量的成本质量的成本 Cost of Qualityn质量成本包括所有由质量工作或者进行与质量有关质量成本包括所有由质量工作或者进行与质量有关的活动所导致的成本。质量成本研究的开展能够为的活动所导致的成本。质量成本研究的开展能够为当前质量成本设定基线,标识降低质量成本的机会,当前质量成本设定基线,标识降低质量成本的机会,并提供一种规范化的比较基础。规范化的基础几乎并提供一种规范化的比较基础。规范化的基础几乎全都以全都以“元元”(钱)计算。一旦我们将质量成本以(钱)计算。一旦我们将质量成本以“元元”为单位进行了规
15、范化,我们就拥有了必要的为单位进行了规范化,我们就拥有了必要的数据以评估能够在何处改进现有过程。而且,还可数据以评估能够在何处改进现有过程。而且,还可以进一步评估那些基于以进一步评估那些基于“元元”的项在改变时所产生的项在改变时所产生的影响。的影响。n质量成本可以被划分为与预防、鉴定及失败相质量成本可以被划分为与预防、鉴定及失败相关的成本。关的成本。“预防成本预防成本”包括:包括:*质量计划质量计划*正式技术复审正式技术复审*测试设备测试设备*培训培训 n“鉴定成本鉴定成本”包括为深入了解包括为深入了解“首次通过首次通过”各个过程时产品的状态而开展的那些活动。各个过程时产品的状态而开展的那些活
16、动。鉴定成本的例子如下:鉴定成本的例子如下:*过程内和过程间审查过程内和过程间审查*设备校准和维护设备校准和维护*测试测试 n“失败成本失败成本”是指如果在将产品交付给客户之是指如果在将产品交付给客户之前已经消除了缺陷时就不会存在的成本。失败前已经消除了缺陷时就不会存在的成本。失败成本可以进一步划分为内部失败成本和外部失成本可以进一步划分为内部失败成本和外部失败成本。败成本。“内部失败成本内部失败成本”是指在产品交付之是指在产品交付之前发现错误而引发的成本。内部失败成本包括:前发现错误而引发的成本。内部失败成本包括:*返工返工*修复修复*失败模式分析失败模式分析 n“外部失败成本外部失败成本”
17、是指与产品交付给客是指与产品交付给客户之后所发现的缺陷相关的成本。外部户之后所发现的缺陷相关的成本。外部失败成本的例子如下:失败成本的例子如下:*解决客户的抱怨解决客户的抱怨*退换产品退换产品*求助电话支持求助电话支持*保修工作保修工作 n正如我们所预料的,发现和修改一个缺陷的相正如我们所预料的,发现和修改一个缺陷的相对成本将随着我们从预防到检测、到从内部失对成本将随着我们从预防到检测、到从内部失败及到外部失败的成本而急剧增加。根据败及到外部失败的成本而急剧增加。根据Boehm所收集的数据,阐述了这一现象。所收集的数据,阐述了这一现象。nADVICE:测试是必要的,但是,它也是一种测试是必要的
18、,但是,它也是一种非常昂贵的发现错误的方式非常昂贵的发现错误的方式。在过程的早期花。在过程的早期花时间发现错误,你可能能够大量地减少测试和时间发现错误,你可能能够大量地减少测试和调试成本。调试成本。8.2 质量运动质量运动 The Quality Movementn质量运动始于本世纪质量运动始于本世纪40年代年代W.EdwardsDeming的开创性工作,第一次真正的实验则是在日本进的开创性工作,第一次真正的实验则是在日本进行的。以行的。以Deming的想法为基础,日本人开发了一的想法为基础,日本人开发了一种系统化的方法来从根本上消除造成产品缺陷的种系统化的方法来从根本上消除造成产品缺陷的原因
19、。从原因。从70年代到年代到80代,他们的工作被移植到西代,他们的工作被移植到西方,有时被称作方,有时被称作“全面质量管理(全面质量管理(TQM)”。n尽管不同公司和不同作者那里的术语略有不同,尽管不同公司和不同作者那里的术语略有不同,但通常采用的都是但通常采用的都是4个步骤的过程个步骤的过程,该过程构成了,该过程构成了任何一个好的任何一个好的TQM项目的基础。项目的基础。n第一步第一步是指是指一个连续的过程改进系统一个连续的过程改进系统。目标是开。目标是开发一个可见的、可重复的和可度量的过程(在这发一个可见的、可重复的和可度量的过程(在这里是指软件过程)。里是指软件过程)。n第二步第二步将将
20、检查影响过程的无形因素,并对这些因检查影响过程的无形因素,并对这些因素对过程的影响进行优化素对过程的影响进行优化。例如例如,软件过程可能受到高层职员流动的影响,软件过程可能受到高层职员流动的影响,而这本身又是由公司内部不断重组而引起的。因而这本身又是由公司内部不断重组而引起的。因此一个稳定的公司组织可能会对软件质量的提高此一个稳定的公司组织可能会对软件质量的提高有很大的帮助。可以帮助管理者对公司重组方式有很大的帮助。可以帮助管理者对公司重组方式提出建议。提出建议。n第三步第三步:关注:关注产品的用户产品的用户(这里的产品是指软件)(这里的产品是指软件)。通过检查用户使用产品的方式,对产品本身及
21、。通过检查用户使用产品的方式,对产品本身及产品的生产过程进行改进。产品的生产过程进行改进。n最后一个步骤最后一个步骤将管理者的注意力从当前的产品上将管理者的注意力从当前的产品上拓宽。通过观察产品在市场上的用途,寻找产品拓宽。通过观察产品在市场上的用途,寻找产品在相关领域中的发展机会。在相关领域中的发展机会。8.3 软件质量保证软件质量保证 Software Quality Assurancen软件质量软件质量的定义:的定义:对显式声明的功能和性能需求、显式文档化对显式声明的功能和性能需求、显式文档化的开发标准、以及专业人员开发的软件所应具的开发标准、以及专业人员开发的软件所应具有的所有隐含特征
22、的符合有的所有隐含特征的符合。上述定义强调了以下三个重要方面:上述定义强调了以下三个重要方面:1.软件需求是进行软件需求是进行“质量质量”测量的基础。与需求测量的基础。与需求不符就是质量不高。不符就是质量不高。2.指定的标准定义了一组指导软件开发的准则。指定的标准定义了一组指导软件开发的准则。如果不能遵照这些准则,就极有可能导致质量如果不能遵照这些准则,就极有可能导致质量不高。不高。3.通常有一组通常有一组“隐含需求隐含需求”是不被提及的(如对是不被提及的(如对易维护性的需求)。如果软件符合了显式的需易维护性的需求)。如果软件符合了显式的需求却没有满足隐含需求,软件质量仍然值得怀求却没有满足隐
23、含需求,软件质量仍然值得怀疑疑。SQA活动活动 n软件质量保证由各种任务构成,这些任务分别与软件质量保证由各种任务构成,这些任务分别与两种不同的参与者相关两种不同的参与者相关做技术工作的软件工做技术工作的软件工程师和负责质量保证的计划、监督、记录、分析程师和负责质量保证的计划、监督、记录、分析及报告工作的及报告工作的SQA小组。小组。n软件工程师通过采用可靠的技术方法和措施、进软件工程师通过采用可靠的技术方法和措施、进行正式的技术复审、执行计划周密的软件测试来行正式的技术复审、执行计划周密的软件测试来考虑质量问题(并完成软件质量保证和质量控制考虑质量问题(并完成软件质量保证和质量控制活动)。活
24、动)。nSQASQA小组的职责是辅助软件工程小组得到高质量小组的职责是辅助软件工程小组得到高质量的最终产品。软件工程研究所的最终产品。软件工程研究所SEISEI推荐了一组有推荐了一组有关质量保证中的计划、监督、记录、分析及报关质量保证中的计划、监督、记录、分析及报告的告的SQASQA活动。这些活动将由一个独立的活动。这些活动将由一个独立的SQASQA小小组执行(或协助)。组执行(或协助)。n为项目准备为项目准备SQASQA计划计划:该计划在制定项目计划时:该计划在制定项目计划时制定,由所有感兴趣的相关部门复审。该计划制定,由所有感兴趣的相关部门复审。该计划将控制由软件工程小组和将控制由软件工程
25、小组和SQASQA小组执行的质量保小组执行的质量保证活动。证活动。在计划中要标识以下几点在计划中要标识以下几点:*需要进行的评价需要进行的评价*需要进行的审计和复审需要进行的审计和复审*项目可采用的标准项目可采用的标准*错误报告和跟踪的规程错误报告和跟踪的规程*由由SQA小组产生的文档小组产生的文档*为软件项目组提供的反馈数量为软件项目组提供的反馈数量 n参与开发该项目的软件过程描述参与开发该项目的软件过程描述软件工程小软件工程小组为要进行的工作选择一个过程。组为要进行的工作选择一个过程。SQA小组将描小组将描述复审过程以保证该过程与组织政策、内部软件述复审过程以保证该过程与组织政策、内部软件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 软件 质量保证
限制150内