




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章软件质量模型整体概述THEFIRSTPARTOFTHEOVERALLOVERVIEW,PLEASESUMMARIZETHECONTENT第一部分3.1概述软件是一种产品;软件是一种特殊产品;软件是一种以人的智力为基础、团队生产出来的特殊复杂产品;软件是一种特殊的复杂产品;产品就要涉及质量;质量问题对软件这个特殊产品同样很重要;软件的特点带来质量管理的困难:规模大、内部复杂、难度量;
软件产品特殊+质量保证困难:使得软件质量成为一个关注的重要课题!3.1概述软件神话:
软件具有一些特征使得它们很有欺骗性,就像神话一样:如,它们表面上看很有道理(有时含有一定真实的成分);它们符合人的直觉;它们常常是有经验的实践者发布出来的。
管理者的神话
管理者有巨大的压力,要维持预算、保持进度及提高质量。就像溺水者抓住一根救命稻草,软件管理者常常抓住软件神话不放。【神话1】我们已经有了关于建造软件的标准和规程的书籍,难道它们不能给人们提供所有其需要知道的信息吗?【事实】不错关于标准的书籍已经存在,但真正用到了它们吗?软件实践者知道它们的存在吗?它们是否反映了现代软件开发的过程?它们完整吗?很多情况下,对于这些问题的答案均是“不”。3.1概述3.1.2软件质量工程体系的建立建立和实施质量管理体系的方法:
确定顾客和其他相关方的需求和期望;
建立组织的质量方针和质量目标;
确定实现质量目标必需的过程和职责;
确定和提供实现质量目标必需的资源;
规定测量每个过程的有效性和效率的方法;
应用这些测量方法确定每个过程的有效性和效率;
确定防止不合格并消除产生原因的措施;
建立和应用持续改进质量管理体系的过程;3.1概述3.1.3软件质量工程体系的构成5个层次3.1概述3.1.4软件质量工程体系和管理体系的关系软件质量工程体系传统质量管理体系系统工程软件质量质量目标软件质量管理体系软件工程3.2软件质量指标和因素(☆)3.2.1软件质量的属性指标
软件质量指标是衡量可识别软件质量特性的项目,即软件的质量可用一组有关的属性来表示。第二章已经介绍过,有多种不同的刻画方式。ISO/给出了软件质量归纳为6个基本要素,功能性、可靠性、易用性、效率、可维护性、可移植性。每个又划分为多个质量属性指标:■功能性:实现的功能达到设计规范,并满足用户需求的程度
功能的正确性(correction):和需求、已定义规范一致,正常运行;
功能的准确性(accuracy):结果在精度误差范围内;
功能的完整性(completeness):功能及定义清楚、可用,功能完备;3.2软件质量指标和因素(☆)3.2.1软件质量的属性指标■
可用性:用户掌握软件操作所要付出的时间及努力程度;
可操作性(operability):容易使用和操作;
通用性(commonality):遵守已有软件标准,采用统一数据标准和通信接口;
一致性(consistency):在整个开发周期使用相同标准;■可靠性:规定的时间和条件下,仍能维持其性能水准的程度;
系统自我恢复能力(autonomy):
健壮性(robustness):
系统的分布性(distributivity):3.2软件质量指标和因素(☆)3.2.1软件质量的属性指标■效率:软件执行某项功能所需电脑资源(含时间)的有效程度;
有效性(efficiency):
安全管理/完整性(safetymanagement):
易存取性(accessibility):■可维护性:当环境改变或软件发生错误时,执行修改或恢复所做努力的程度;模块化(Modularity)增强能力/灵活性(Augmentability)可测试性(Testability)可追溯性(Traceability)简单性(Simplicity)自我描述性(SelfDescriptiveness)系统兼容性(SystemCompatibility)文档质量(DocumentQuality)3.2软件质量指标和因素(☆)3.2.1软件质量的属性指标■可移植性:从一个系统/环境移到另一系统/环境的容易程度;
独立性(independence):
可重用性(reusability):
互操作性(interoperability):
虚拟性(virtuality):
一般性(generality):3.2软件质量指标和因素(☆)3.2.2软件质量的影响因素第二章我们学习了软件产品质量包括三个方面的内容:软件产品质量软件生产过程质量软件在商业环境中的质量因此,分析软件质量的影响因素时,也可以从这三个方面进行分析:从软件产品分析,什么因素对产品运行、修改、移植有较大影响?从软件生产过程分析,什么因素对计划、设计、实施和维护过程中的质量有较大影响?从软件商业环境分析,什么因素对客户、市场和销售等质量有较大影响?3.2软件质量指标和因素(☆)3.2.2软件质量的影响因素1.软件产品的质量因素:3.2软件质量指标和因素(☆)3.2.2软件质量的影响因素2.软件过程的质量因素:
项目计划过程:
●和客户的沟通能力
●软件产品特性定义的方法
●项目计划策略
●评审的流程、范围、方式和程度
●协同工作流程
●合同和用户管理流程和方法
●文档编写、管理等的规范和流程3.2软件质量指标和因素(☆)3.2.2软件质量的影响因素2.软件过程的质量因素:项目设计过程:
●软件产品指标的定义和解释;
●设计流程包括知识交换、结果评审等流程;
●设计标准改进流程;●协同工作流程;
●文档编写、管理等的规范和流程3.2软件质量指标和因素(☆)3.2.2软件质量的影响因素2.软件过程的质量因素:项目实施过程:
●变更控制流程;
●执行过程跟踪方法、流程和相适应的系统;
●缺陷处理流程;
●文档编写、管理等的规范和流程项目维护过程:
●变更控制流程;
●用户反馈、相应处理机制;
●回归测试流程;3.2软件质量指标和因素(☆)3.2.2软件质量的影响因素3.软件商业环境的质量因素:软件改进的策略产品开发模式市场定位产品标准文档形式和内容软件的后续服务模式3.3软件质量模型(☆)3.3.1软件质量模型
软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。
定义一个软件的质量,就等价于为该软件定义一系列质量特性。
人们通常把影响软件质量的特性用软件质量模型来描述。通过模型刻画特性之间的关系,深入研究质量,寻求质量保证解决方案,达到软件质量指标。
从20世纪80年代开始,人们软件质量模型的研究,提出了一些有效的软件质量模型。3.3软件质量模型(☆)3.3.1软件质量模型
层次软件质量模型的共同特点就是将软件质量特性定义成分层模型;
最基本的叫做基本质量特性,它可以由一些子质量特性定义和度量——二次特性。
二次特性在必要时又可由它的一些子质量特性定义和度量。1976年Boehm质量模型1979年McCall质量模型1985年
ISO质量模型
目前,主流的软件质量模型分为两类:层次模型和关系模型。比较著名的层次模型包括McCall模型、Boehm模型和ISO9126质量模型;比较著名的关系模型包括Perry模型和Gillies模型。3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型1976年,BarryW.Boehm等人提出了定量评估软件质量的概念,并给出了60个质量度量公式。并最早提出了软件质量模型的分层方案。后经完善,1978年Boehm质量模型正式发布。巴利·玻姆(BarryW.Boehm)BarryW.Boehm,1935,美国国家工程院院士,AIAA、IEEE、ACM会士(Fellow),他从1955年开始就尝试在软件开发的敏捷和纪律之间寻找平衡点,他是TRW软件工程教授和南加州大学软件工程中心主任。美国国防部高级研究计划署(DARPA)技术办公室的主任,并担任TRW(世界著名的军工系统承包商)的首席科学家,美国空军科学顾问委员会主席。国际软件工程领域的先驱者和领导者。3.3软件质量模型(☆)3.3.1软件质量模型巴利·玻姆的贡献
他在软件工程领域做出了非常杰出的贡献,主要包括:提出了著名的软件开发的螺旋模型(SpiralModel)以及增量式承诺模型(IncrementalCommitmentModel),用于系统与软件工程成本估算的COCOMO系列模型(ConstructiveCostModel),软件质量度量模型,适用于软件管理与需求决策的W理论(TheoryW)等。发表了上百篇学术论文,指导过数十名博士研究生。提出了两种先进的软件工程环境:TRW软件生产率系统和QuantumLeap环境。出版了经典书籍《软件工程经济学》。巴利·玻姆的荣誉J.D.Warnier奖NSIAGraceMurrayHopper奖ACM杰出研究奖(TheACMDistinguishedResearchAward)3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型三个层次:软件质量要素、软件质量评价准则、软件质量度量。Boehm第一层:6个软件质量要素功能性:软件所实现的功能满足用户需求的程度.功能性反映了所开发的软件满足用户陈述或隐含的需求的程度,即用户要求的功能是否全部实现了。可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度。可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度外,还反映了在故障发生时能继续运行的程度。3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型易使用性:对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度。易使用性反映了与用户的友善性,即用户在使用本软件时是否方便。效率:在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度。效率反映了在完成功能要求时,有没有浪费资源,此外“资源”这个术语有比较广泛的含义,它包括了内存、外存的使用,通道能力及处理时间。3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型可维护性:在一个可运行软件中,为了满足用户需求、环境改变或软件错误发生时,进行相应修改所做的努力程度。可维护性反映了在用户需求改变或软件环境发生变更时,对软件系统进行相应修改的容易程度。
一个易于维护的软件系统也是一个易理解、易测试和易修改的软件,以便纠正或增加新的功能,或允许在不同软件环境上进行操作。可移植性:从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型Boehm第二层:22个软件质量评价准则精确性:在计算和输出时所需精度的软件属性;健壮性:在发生意外时,能继续执行和恢复系统的软件属性;安全性:防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性;以及:通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、产品文件完备性。3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型Boehm第二层:22个软件质量评价准则精确性:在计算和输出时所需精度的软件属性;健壮性:在发生意外时,能继续执行和恢复系统的软件属性;安全性:防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性;以及:通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、产品文件完备性。3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型软件质量评价准则的一定组合将反映某一软件质量要素,部分软件质量要素与评价准则间的关系如下图:3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型Boehm第三层:软件质量度量根据软件的需求分析、概要设计、详细设计、实现、组装测试、确认测试和维护与使用七个阶段,制定了针对每一个阶段的问卷表,以此实现软件开发过程的质量控制。对于企业来说,不管是定制,还是外购软件后的二次开发,了解和监控软件开发过程每一个环节的进展情况、产品水平都是至关重要的,因为软件质量的高低,很大程度上取决于用户的参与程度。3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型最早的Boehm质量模型改进的Boehm软件质量模型阐述性互用性数据公开性正确性可靠性效率完整性可用性可维护性可测试性灵活性可移植性重复性连贯性容错性执行效率/储存效率存取控制/存取检查可训练沟通良好简单性易操作的工具自我操作性扩展性一般性模块性软件系统独立性机器独立性通讯公开性正确性可操作性3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型应用Boehm模型进行软件质量评价要注意:对于不同类型的软件,系统软件、控制软件、管理软件、CAD软件、教育软件、网络软件及不同规模的软件,对于质量要求、评价准则、度量问题的侧重点有所不同应加以区别。3.3软件质量模型(☆)3.3.1软件质量模型1.Boehm软件质量模型在需求分析、概要设计、详细设计及其实现阶段,主要评价软件需求是否完备,设计是否完全反映了需求以及编码是否简洁、清晰。而且,每一个阶段都存在一份特定的度量工作表,它由特定的度量元素组成,根据度量元素的得分就可逐步得到度量准则及质量要素的得分,并在此基础上做出评价。对软件各阶段都进行质量度量的根本目的是以此控制软件成本、开发进度,改善软件开发的效率和质量。3.3软件质量模型(☆)3.3.1软件质量模型2.McCall软件质量模型1977年由McCall和他的同事建立。将质量因素集中在软件产品的3个重要方面的11个属性上。McCall质量模型也是三层次模型:FCM三层次模型(Factor,Criteria,Metrics)。面向软件产品运行、修正、转移的反映软件质量的特性;——11个软件外部质量特性用作评价规则的软件属性;——23软件的内部质量特征观察软件质量的软件属性度量。3.3软件质量模型(☆)3.3.1软件质量模型2.McCall软件质量模型McCall质量模型的三层次框架特性评价准则评价准则评价准则度量度量度量面向管理观点的产品质量决定产品质量的软件属性定量化地度量软件属性3.3软件质量模型(☆)3.3.1软件质量模型2.McCall软件质量模型3.3软件质量模型(☆)3.3.1软件质量模型2.McCall软件质量模型层
级名
称内
容F质量要素:描述和评价软件质量的一组属性功能性、可靠性、易用性、效率性、可维护性、可移植性等质量特性以及将质量特性细化产生的子特性C衡量标准:
衡量标准的组合反映某一软件质量要素精确性、稳健性、安全性、通信/处理/设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件/软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、文件完备性等M量度标准:可由各使用单位自定义根据软件的需求分析、概要设计、详细设计、编码、测试、确认、维护与使用等阶段,针对每一个阶段制定问卷表,以此实现软件开发过程的质量度量3.3软件质量模型(☆)3.3.1软件质量模型2.McCall软件质量模型正确性在预定环境下,软件满足设计规格说明及用户预期目标的程度。它要求软件没有错误。可靠性软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度。效率为了完成预定功能,软件系统所需的计算机资源的多少。完整性为了某一目的而保护数据,避免它受到偶然的、或有意的破坏、改动或遗失的能力。可使用性对于一个软件系统,用户学习、使用软件及为程序准备输入和解释输出所需工作量的大小。可维护性为满足用户新的要求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。可测试性测试软件已确保其能够执行预定功能所需工作量的大小。灵活性修改或改进一个已投入运行的软件所需工作量的大小。可移植性将一个软件系统从一个计算机或环境移植到另一个计算机系统或环境中运行时所需工作量的大小。复用性一个软件(或软件的部件)能再次用于其他应用(该应用的功能与此软件或软件部件的所完成的功能有联系)的程度。互连性连接一个软件和其他系统所需工作量的大小。又称为互操作性。11个软件外部质量特性3.3软件质量模型(☆)3.3.1软件质量模型2.McCall软件质量模型完备性一致性准确性容错性简单性模块性通用性可扩充性工具性自描述性执行效率存储效率存取控制存取审查可操作性培训性通信性软件系统独立性机器独立性通信通用性数据通用性简明性23个软件的内部质量特征:3.3软件质量模型(☆)3.3.1软件质量模型3.ISO软件质量模型1991年,国际标准化组织和国际电工委员会共同成立的联合技术委员会颁布了ISO/IEC9126质量模型。该模型描述了一个由两部分组成的软件产品质量模型:一部分指定了内在质量和外在质量的六个特征,它们还可以再继续分成更多的子特征。这些子特征在软件作为计算机系统的一部分时会明显地表现出来,并且会成为内在的软件属性的结果。另一部分则指定了使用中的质量属性,它们是与针对六个软件产品质量属性的用户效果联合在一起的。3.3软件质量模型(☆)3.3.1软件质量模型3.ISO软件质量模型横向上该质量模型分6个特性来描述内在和外在质量:(1)功能性(Functionality):与一组功能及其指定的性质有关的一组属性。(2)可靠性(Reliability):与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性。(3)易用性(Usability):与一组规定或潜在的用户为使用软件所需做的努力和对这样的使用所做的评价有关的一组属性。3.3软件质量模型(☆)3.3.1软件质量模型3.ISO软件质量模型(4)效率(Efficiency):与在规定的条件下,软件的性能水平与所使用资源量之间关系有关的一组属性。(5)可维护性(Maintainability):与进行指定的修改所需的努力有关的一组属性。(6)可移植性(Portability):与软件可从某一环境转移到另一环境的能力有关的一组属性。3.3软件质量模型(☆)3.3.1软件质量模型3.ISO软件质量模型纵向上该质量模型又分为3个:(1)内部质量模型:基于内部视角,比如开发者关注的软件产品本身具有的质量特性的总体。(2)外部质量模型:基于外部视角,比如运行软件的系统所体验到的软件产品质量特性的总体。(3)使用中质量模型:基于用户视角,软件产品用于指定的环境和使用周境时的软件质量特性的总体。3.3软件质量模型(☆)3.3.1软件质量模型3.ISO软件质量模型外部和内部质量模型功能性可靠性易用性效率性可维护性可移植性适合性准确性互操作性安全机密性成熟性容错性易恢复性易理解性易学性易操作性时间特性资源利用性易分析性易改变性稳定性易测试性适应性易安装性共存性易替换性3.3软件质量模型(☆)3.3.1软件质量模型3.ISO软件质量模型使用质量模型有效性生产效率安全性满意度任务有效性任务完成量出错频率任务时间任务效率经济生产率生产比率相对用户效率任务完成量出错频率用户健康与安全对人身安全的影响经济损失软件损坏满意度标度满意度问卷选用度3.3软件质量模型(☆)3.3.1软件质量模型3.ISO软件质量模型通常使用ISO简化质量模型,它也是由三层模型组成:高层:软件质量需求评价准则(SQRC)6个要素中层:软件质量设计评价准则(SQDC)20个准则底层:软件质量度量评价准则(SQMC)高层和中层建立国际标准,低层可由各使用单位视实际情况制定。3.3软件质量模型(☆)3.3.1软件质量模型3.ISO软件质量模型用户自定义软件产品度量标准SQRCSQDCSQMC
需要注意,无论那个质量模型,软件质量特性之间存在竞争!3.3软件质量模型(☆)3.3.1软件质量模型3.3软件质量模型(☆)3.3.2软件质量模型对比区别:Boehm模型基于更为广泛的一系列质量特征,它包含了硬件性能的特征;McCall模型对于本质上并不相同的一些问题有可能会被当成同样的问题来对待,导致通过模型获得的反馈也基本相同。这就使得指标的制定及其定量的结果变得难以评价。ISO9126模型采用了纵横划分方式,更完善;共同点:
层次模型
模型研究的对象是软件产品
着重分析了软件质量属性的影响因素
在软件过程质量方面显得不足
3.3软件质量模型(☆)3.3.2软件质量模型对比序号质量要素/特性McCallBoehmISO91261正确性(Correctness)X功能性2可靠性(Reliability)XXX3完整性(Integrity)X可靠性4可用性(Usability)X人体工程学X5效率(Efficiency)XXX6可维护性(Maintainability)XXX7可测试性(Testability)X可维护性可维护性8互操作性(Interoperability)X易用性9灵活性(Flexibility)X10可重用性(Reusability)X可移植性可维护性三种软件质量模型刻画的高层特性比较3.3软件质量模型(☆)3.3.2软件质量模型对比
层次模型由一些质量属性、标准及准则等构成,它们只表达了质量属性之间一些正面的影响关系,对于那些更复杂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 饭堂的合同(标准版)
- 浙江中烟工业有限责任公司笔试试题2025
- 2025年高考新课标一卷英语试卷附答案(新课标卷)
- 2025年延边注册环保工程师考试(大气污染防治专业案例)全真模拟题库及答案
- 考点攻克人教版八年级物理上册第5章透镜及其应用章节训练试卷(含答案详解版)
- 2025年金属冶炼单位安全生产管理人员考试(金属冶炼铜冶炼)仿真试题及答案四
- 2025年江苏省建筑施工企业安管人员考试(专职安全生产管理人员C2类)仿真试题及答案
- 综合解析苏科版八年级物理下册《从粒子到宇宙》重点解析试卷(附答案详解)
- 2025年煤矿企业主要负责人安全生产知识和管理能力考试全真模拟试题及答案
- 考点解析-人教版八年级上册物理光现象《光的直线传播》必考点解析试题(含答案解析)
- 铝合金熔铸安全培训课件
- 家具制造业2025年原材料价格波动对行业市场发展趋势影响报告
- 食品安全风险监测试题案例分析及参考答案
- 2024-2025学年广东省深圳市南山区五年级(下)期末数学试卷
- 布达拉宫课件
- 人教版高中生物必修2《遗传与进化》必背知识考点提纲
- 资产抵押项目资产评估操作流程详解
- 2025-2026学年冀教版(2024)小学数学一年级上册(全册)教学设计(附目录P339)
- 2024译林版八年级英语上册期末复习:Unit1~Unit8全册各单元语法知识点 讲义(含练习题及答案)
- 房屋安全性鉴定方案
- 工作责任感的衡量与评价标准
评论
0/150
提交评论