




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件质量的概念,软件质量的定义软件质量模型,软件质量的定义,1.软件质量的定义1)ANSI/IEEEStd729-1983定义软件质量为:“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。2)M.J.Fisher将软件质量定义为:“所有描述计算机软件优秀程度的特性的组合。”3)GB/T6583ISO8402(1994)定义软件质量为:“反映实体满足明确和隐含需要的能力和特性总和”也就是说,为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中的重要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。,软件质量的定义,软件质量反映了以下三方面的问题:软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。规范化的标准定义了一组开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。往往会有一些隐含的需求没有显式地提出来。如软件应具备良好的可维护性。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。,软件质量的定义,2.软件质量特性软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。而定义一个软件的质量,就等价于为该软件定义一系列质量特性。,软件质量的定义,通常,软件质量可由以下主要特性来定义:(1)功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度;(2)效率:在规定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度;(3)可靠性:在满足一定条件的应用环境中,软件能够正常维持其工作的能力;(4)安全性:为了防止意外或人为的破坏,软件应具备的自身保护能力能力;,软件质量的定义,(6)可维护性:当环境改变或软件运行发生故障时,为了使其恢复正常运行所做努力的程度;(7)可扩充性:在功能改变和扩充情况下,软件能够正常运行的能力;(8)可移植性:为使一个软件从现有运行平台向另一个运行平台过度所做努力的程度(9)重用性:整个软件或其中一部分能作为软件包而被再利用的程度。,软件质量的定义,3.软件生存期与质量特性从用户的角度看,软件的生存期可分为如下三个阶段:1)初期运用:运行新开发的软件产品。2)维护与扩充:在运行过程中修改缺欠的内容;而且,为了进一步的使用,需根据运行环境(主要指应用环境和技术环境)的变化做功能上和性能上的扩充。3)移植和连接:把在原有平台上运行的软件向其它新的运行环境转移、或者组成软件包以便重用、或与其它软件进行连接。,软件质量的定义,对于软件所需求的质量特性,在软件生存期的不同阶段中情况各有不同,要求也不一样,这可由下图说明。,Back,软件质量模型,所谓质量模型是指提供声明质量需求和评价质量基础的特性以及特性之间关系的集合。换句话说质量模型是用来描述质量需求以及对质量进行评价的理论基础。早在1976年,由Boehm等提出软件质量模型的分层方案。1979年McCall等人改进Boehm质量模型又提出了一种软件质量模型。模型包括质量要素(factor)、准则(criteria)和度量(metric)三层次。如图所示。特性是软件质量的反映,软件属性可用做评价准则,定量化地度量软件属性可知软件质量的优劣。,软件质量模型,McCall质量度量模型框,面向管理观点的产品质量,决定产品质量的软件属性,定量化地度量软件属性,软件质量模型,软件质量要素直接影响软件开发过程各个阶段的产品质量。由于对软件质量理解的不断深化,软件质量要素不是一成不变的。McCall等人给出的软件质量要素共11个,分为三类,分别面向软件产品的运行、修正、转移。它们与特性的关系如图所示。,软件质量模型,McCall软件质量模型,软件质量模型,正确性:在预定环境下,软件满足设计规格说明及用户预期目标的程度。它要求软件没有错误。可靠性:软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度。效率:为了完成预定功能,软件系统所需的计算机资源的多少。完整性:为了某一目的而保护数据,避免它受到偶然的,或有意的破坏、改动或遗失的能力。可使用性:对于一个软件系统,用户学习、使用软件及为程序准备输入和解释输出所需工作量的大小。,软件质量模型,可维护性:为满足用户新的要求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。可测试性:测试软件以确保其能够执行预定功能所需工作量的大小。灵活性:修改或改进一个已投入运行的软件所需工作量的大小。,软件质量模型,可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需工作量的大小。复用性:一个软件(或软件的部件)能再次用于其它应用(该应用的功能与此软件或软件部件的所完成的功能有联系)的程度。互连性:连接一个软件和其他系统所需工作量的大小。如果这个软件要联网,或与其他系统通信,或要把其他系统纳入到自己的控制之下,必须有系统间的接口,使之可以联结。互连性很重要。它又称相互操作性。,软件质量模型,通常,对以上各个质量特性直接进行度量是很困难的,在有些情况下甚至是不可能的。因此,McCall定义了一组比较容易度量的软件质量要素评价准则,使用它们对反映质量特性的软件属性分级,以此来估计软件质量特性的值。定义评价准则的关键是确定影响软件质量要素的属性。这些属性必须满足比较完整、准确的描述软件质量要素;比较容易量化和测量,能够反映软件质量的优劣。McCall定义的软件质量要素评价准则共21种,它们是:,McCall软件质量要素评价准则,1.可审查性(Auditability):检查软件需求、规格说明、标准、过程、指令、代码及合同是否一致的难易程度。2.准确性(Accuracy):计算和控制的精度,最好表示成相对误差的函数,值越大表示精度越高。3.通信通用性(CommunicationCommonality):使用标准接口、协议和频带的程度。4.完全性(Completeness):所需功能完全实现的程度。5.简明性(Conciseness):程序源代码的紧凑性。6.一致性(Consistency):设计文档与系统实现的一致性。7.数据通用性(DataCommonality):在程序中使用标准的数据结构和类型。8.容错性(Errortolerance):系统在各种异常条件下提供继续操作的能力,McCall软件质量要素评价准则,9.执行效率(ExecutionEfficiency):程序运行效率。10.可扩充性(Expandability):能够对结构设计、数据设计和过程设计进行扩充的程度11.通用性(Generality):程序部件潜在的应用范围的广泛性12.硬件独立性(HardwareIndependence):软件同支持它运行的硬件系统不相关的程度。13.检测性(Instrumentation):监视程序的运行,一旦发生错误时,标识错误的程度。14.模块化(Modularity):程序部件的功能独立性。,McCall软件质量要素评价准则,15.可操作性(Operability):操作一个软件的难易程度。16.安全性(Security):控制或保护程序和数据不受破坏的机制,以防止程序和数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。17.自文档化(Self-documentation):源代码提供有意义文档的程度。18.简单性(Simplicity):理解程序的难易程度。19.软件系统独立性(SoftwareSystemIndependence):程序与非标准的程序设计语言特征、操作系统特征、以及其他环境约束无关的程度。20.可追踪性(Tracebility):对软件进行正向和反向追踪的能力。21.易培训性(Training):软件支持新用户使用该系统的能力。,计算软件质量要素,软件质量要素Fj的值可用下式计算LFjCjkMkj=1,2,.,11.k=1其中Mk是软件质量要素Fj对第k种评价准则的测量值Cjk是相应的加权系数McCall定义的评价准则多数都没有客观的测量方法,只能凭主观印象为评价准则定值。McCall将评价准则分为0-10级。0级最低,10级最高。Mk的取值是0,0.1,0.2,1.0,计算软件质量要素,软件质量要素Fj的值可用下式计算LFjCjkMkj=1,2,.,11.k=1其中Mk是软件质量要素Fj对第k种评价准则的测量值Cjk是相应的加权系数McCall定义的评价准则多数都没有客观的测量方法,只能凭主观印象为评价准则定值。McCall将评价准则分为0-10级。0级最低,10级最高。Mk的取值是0,0.1,0.2,1.0,质量要素与评价准则(1/2),质量要素与评价准则(2/2),McCall软件质量要素评价准则,McCall软件质量度量模型为软件质量管理奠定了基础模型由软件质量要素和评价准则组成加权系数Cjk满足Cjk1其中Cjk0当质量要素Fj与k项评价准则无关时,Cjk=0McCall评价准则项数L=21,2019/12/13,25,可编辑,软件质量模型,ISO软件质量度量模型1985年国际标准化组织(ISO)建议,软件质量度量模型由三层组成。高层称软件质量需求评价准则(SQRC);中层称软件质量设计评价准则(SQDC);低层称软件质量度量评价准则(SQMC)。分别对应McCall等人的要素、评价准则和度量。ISO认为应对高层和中层建立国际标准,以便在国际范围内推广软件质量管理,而低层可由各单位自行制定。ISO高层由8个要素组成、中层由23个评价准则组成。它们之间的关系如表所示。,ISO的质量要素与评价准则(1/2),ISO的质量要素与评价准则(2/2),软件质量模型,1991年,ISO发布了ISO/IEC9126质量特性的国际标准,将质量特性降为6个,即功能性、可靠性、可维护性、效率、可使用性、可移植性,并定义了21个子特性。1991年发布的ISO/IEC9126标准现在被分为了两部,ISO/IEC9126(软件产品质量)和ISO/IEC14598(软件产品评价)。,软件质量模型,软件质量特性之间的竞争,在软件的质量特性与质量特性之间、质量特性与质量子特性之间存在着有利的影响和不利的影响。例如,由于效率的要求,应尽可能采用汇编语言。但是用汇编语言编制出的程序,可靠性、可移植性以及可维护性都很差。因此在系统设计过程中应根据具体情况对各种要素的要求进行折衷,以便得到在总体上用户和系统开发人员都满意的质量标准。质量要素之间的关系表,软件质量特性之间的竞争,软件质量的度量和评价,软件质量的度量是软件属性的量化,是经验关系系统到数值关系系统的一种映射。软件质量特性度量有两类:预测型和验收型。预测度量是利用定量的或定性的方法,对软件质量的评价值进行估计,以得到软件质量的比较精确的估算值。它是用在软件开发过程中的。尺度度量:这是一种定量度量。它适用于一些能够直接度量的特性,一般它作为相对量进行度量。如可靠性度量、复杂度度量、缺陷度量和规模度量等。二元度量:这是一种定性度量。它适用于一些只能间接度量的特性。验收度量是在软件开发各阶段的检查点,对软件的要求质量进行确认性检查的具体评价值,它可以看成是对预测度量的一种确认,是对开发过程中的预测进行评价。,软件质量的度量和评价,软件质量度量的实施在确定要对一个软件(系统)进行度量之后,一般,采取以下几个步骤,来实施对该软件的度量:(1)确定软件质量需求;在用户需求中,除功能需求外,还有非功能需求,包括:质量需求、环境需求、设计约束、开发策略等。质量需求是用户比较关心的内容。但是,我们已经知道,软件的功能需求的确定,存在一定的难度。而非功能需求的确定,则难度更大。这些困难包括:需求如何获取,需求冲突如何协调、需求的确认和变更的授权等。过程:需求获取:首先,你要理解用户的需求,区分哪些是质量需求,把这些需求记录下来,获得用户的确认。需求分析:拿到用户确认的需求后,你可以开始把用户的质量需求与我们设定的质量特性联系起来,一直区分到子特性。这种联系,就是把用户语言描述的需求,转变为计算机工程师语言的需求。建立了这种关联后,可以根据分类,分级,确定直接度量。,软件质量度量的实施,(2)确定直接度量直接度量就是实际的软件质量测量活动,它的输入是软件或软件过程,输出是一个测量值。它通过执行一系列的任务,获得一个质量值。例如:对一个没有经过培训的用户,让他使用软件系统的某一功能,在界面提示、联机帮助、使用手册的帮助下,他学会掌握该功能所花的时间。而用户需求对此项指标的要求(目标)和现实系统所达到的实际值(比如:10个人次测量后统计意义上的)的比较,就是将提交质量评审的质量值。在进行直接度量前,你应该有以下准备:(1)工具:有助于计算度量值的硬件/软件工具,如:缺陷跟踪工具;(2)应用:描述度量结果的希望值、度量值的意义、作用和对度量结果数据的使用方法;(3)数据:获得度量结果所需的数据、程序、过程等度量对象;(4)计算:度量程序、步骤和方法。(5)费用:测试是要花钱(人力、物力、时间等)的。,软件质量度量的实施,(3)分析度量结果对度量过程进行跟踪和分析,需要时,可能会对度量程序、度量工具、度量方法,甚至原始数据,做出补充和调整。(4)确认质量度量在度量过程中,进行度量结果的确认非常重要。首先,要确认度量过程是否与事实相符,脱离现实真实的度量,与目标再相符的结果也是没有意义的。其次,是确认方法的有效性,例如:在度量中,我们用到很多统计学方法,在这些方法中,我们有一些概率分布假设(例如:某些错误的发生,我们假设符合随机概率分布),当这些假设并不成立时,度量的结果是不真实的。,软件质量的度量和评价,软件质量评价定量地评价软件的质量,目前还不能精确地做到。一般采取由若干(610)位软件专家进行打分来评价。这些软件专家应是富有实际经验的项目带头人。软件质量评价分两步走。(1)评分对每一阶段要达到的质量指标(质量特性目标值或标准)详细开列/建立度量工作表,在表中,以提问题方式,列出在某一阶段为实现某一质量指标,应达到什么标准。所以它也可称为检查表。特别地,有些检查表是针对子系统或模块的。为了回答度量工作表上的问题,必须积累原始资料。最重要的原始资料是在软件定义与开发的各个阶段提供的文档。其次是在开发过程中积累的各种数据,特别是对出错数据的记录。评分主要是依据软件实际成果进行的、由于软件使用环境不同,使用目的不同,各人打分会有一定差别。(2)分析结果根据评分的结果,对照评价指标,检查某个质量特性是否达到了要求的质量标准。如果某个质量特性不符合规定的标准,就应当分析这个质量特性,找出为什么达不到标准的原因。分析原因应该自顶向下进行。按系统级、子系统级、模块级逐步分析。,四层模型,四层模型软件质量的度量关键是要定出评定质量的指标和评定优劣的标准。有一种四层模型,第一层是软件产品质量(质量需求),第二层是质量特性,第三层是质量子特性,第四层是度量指标。软件产品质量层(质量需求):是产品必须满足的质量需求。它是用用户术语描述的,主要有四点:(1)产品将在用户所在组织当前使用的平台和操作系统上运行。(2)产品将是可靠的并能防止数据丢失的机制。(3)产品将提供完成某些任务所必需的功能。(4)产品将易于使用。,四层模型,质量特性:表示与整个质量需求有关的特殊质量特性,它代表了用户的质量需求。它采用从用户角度考虑的立场,把软件质量分解成四类质量特性,这四个质量特性是软件的基本特征。IEEE的四个质量特性是:可移植性、可靠性、功能性、可使用性。可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度。可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度,且反映了在故障发生时能继续运行的程度。功能性:软件所实现的功能满足用户需求的程度功能性反映了所开发的软件满足用户指明的或隐含的需求的程度,即用户要求的功能是否全部实现了。可移植性:从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。易使用性:对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度。易使用性反映了与用户的友善性,即用户在使用本软件时是否方便。,四层模型,四层模型,Back,软件质量管理,基本概念软件质量管理的主要活动软件质量管理的内容软件质量标准简介软件文件标准与规范,软件质量管理的基本概念,质量管理体系为实施质量管理所需的组织结构,程序、过程和资源。组织结构:组织为行使其职能按某种方式建立的职责、权限及其相互关系。程序:为进行某项活动所规定的途径。1在很多情况下,程序可形成文件如质量体系程序。2程序形成文件时,通常称之为“书面程序”或“文件化程序”。3书面或文件化程序中通常包括活动的目的和范围;做什么和谁来做,何时、何地和如何做;应使用什么材料、设备和文件;如何对活动进行控制和记录。过程:将输入转化为输出的一组彼此相关的资源和活动。资源:可包括人员、资金、设施、设备、技术和方法。对于质量管理体系:1质量体系的内容应以满足质量目标的需要为准。2一个组织的质量体系主要是为满足该组织内部管理的需要而设计的。它比特定顾客的要求要广泛。顾客仅仅评价质量体系中的有关部分。3为了合同或强制性质量评价的目的,可要求对已确定的质量体系要求的实施进行证实。,软件质量管理的基本概念,质量方针由组织的最高管理者正式发布的该组织总的质量宗旨和质量方向。质量策划确定质量以及采用质量体系要素的目标和要求的活动。质量策划包括:a)产品策划:对质量特性进行识别、分类和比较,并建立其目标、质量要求和约束条件。b)管理和作业策划:为实施质量体系进行准备,包括组织和安排。c)编制质量计划和作出质量改进的规定。,软件质量管理的基本概念,质量控制为达到质量要求所采取的作业技术和活动。1质量控制包括作业技术和活动,其目的在于监视过程并排除质量环中所有阶段中导致不满意的原因,以取得经济效益。2质量控制和质量保证的某些活动是互相关联的。质量保证为了提供足够的信任表明实体能够满足质量要求,而在质量体系中实施并根据需要进行证实的全部有计划和有系统的活动。1质量保证有内部和外部两种目的。a)内部质量保证:在组织内部,质量保证
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古乌兰察布职业学院招聘考试真题2024
- 2024年金华兰溪市消防救援大队招聘真题
- 蜡疗考试题及答案
- 四级育婴员考试模拟题(含答案)
- 抗高血压药考试试题(有答案)
- 新进人员岗前培训考核试题(附答案)
- 华为公司运维工程师英语试题及参考答案
- 高血压危象的急救、诊疗及护理考核试题与答案
- 节能建筑评估体系-洞察及研究
- 2025年光伏发电项目土地租赁合同规范
- 推广服务合同范例
- 《分红保险的魅力》课件
- 住建局条文解读新规JGJT46-2024《施工现场临时用电安全技术标准》
- 叉车装卸货合同范例
- 电力设备运行与维护管理手册
- 工程审计课程设计
- 附件2:慢病管理中心评审实施细则2024年修订版
- 食品安全制度管理目录
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 医院科研诚信课件
- 小学校园安全知识
评论
0/150
提交评论