您好,欢迎访问三七文档
9.1软件质量的概念9.1.1软件质量的定义GO9.1.2软件质量模型GO9.1.3软件质量特性之间的竞争GO1、软件质量1)参照ANSI/IEEEStd729-1983,软件质量定义为:“与软件产品满足规定的和隐含的需求能力有关的特征和特性的全体”。或者:•软件产品中能满足给定需求的性质和特性的总体,例如,符合规定说明;•软件具有所期望的各种属性组合的程度;•顾客或用户觉得软件满足其综合期望的程度;•软件的合成特性,它确定软件在使用中将满足顾客预期要求的程度。2)M.J.Fisher将软件质量定义为:“所有描述计算机软件优秀程度的特性的组合。”所以计算机软件质量是软件的一些内部特性的组合。9.1.1软件质量的定义9.1.1软件质量的定义2.软件质量特性通常,软件质量可由以下主要特性来定义:(1)功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度;(2)效率:在规定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度;(3)可靠性:在满足一定条件的应用环境中,软件能够正常维持其工作的能力;(4)安全性:为了防止意外或人为的破坏,软件应具备的自身保护能力能力;(5)易使用性:对于一个软件,用户在学习、操作和理解过程中所做努力的程度;2.软件质量特性(6)可维护性:当环境改变或软件运行发生故障时,为了使其恢复正常运行所做努力的程度;(7)可扩充性:在功能改变和扩充情况下,软件能够正常运行的能力;(8)可移植性:为使一个软件从现有运行平台向另一个运行平台过度所做努力的程度(9)重用性:整个软件或其中一部分能作为软件包而被再利用的程度。9.1.1软件质量的定义3.软件生存期与质量特性从用户的角度看,软件的生存期可分为如下三个阶段:1)初期运用:运行新开发的软件产品。2)维护与扩充:在运行过程中修改缺欠的内容;而且,为了进一步的使用,需根据运行环境(主要指应用环境和技术环境)的变化做功能上和性能上的扩充。3)移植和连接:把在原有平台上运行的软件向其它新的运行环境转移、或者组成软件包以便重用、或与其它软件进行连接。9.1.1软件质量的定义对于软件所需求的质量特性,在软件生存期的不同阶段中情况各有不同,要求也不一样,这可由下图说明。9.1.1软件质量的定义1、McCall质量模型:McCall等人在1979年提出的软件质量模型。其质量概念基于11个特性之上。9.1.2软件质量模型产品修正产品转移产品运行可维护性测试性灵活性互联性可移植性复用性正确性可靠性可使用性效率完整性McCall软件质量模型9.1.2软件质量模型McCall质量度量模型框9.1.2软件质量模型特性评价准则评价准则评价准则度量度量度量面向管理观点的产品质量决定产品质量的软件属性(共有27个,见教材347页)定量化地度量软件属性9.1.2软件质量模型2、ISO软件质量评价模型ISO软件质量模型由三层组成,参见教材349页的图9-5。其中高层和中层应建立国际标准,低层由各事业单位自行制定。1991年,ISO发布了ISO/IEC9126质量特性的国际标准,将质量特性降为6个,即功能性、可靠性、可维护性、效率、可使用性、可移植性,并定义了21个子特性。3、上海软件中心(SSC)软件质量度量模型SSC模型采用了与ISO/IEC9126相同的6个质量特性,即功能性、可靠性、可维护性、效率、可使用性、可移植性,同时参照McCall模型,设置了22个质量子特性。质量特性和质量子特性的关系参见教材350页表9-2。9.2软件质量管理9.2.1软件质量管理的主要活动GO9.2.2软件质量管理的内容GO9.2.3软件开发标准与规范GO9.2.4软件文件标准与规范GO9.2软件质量管理1、软件:通过承载媒体表达的信息所组成的一种知识产物。2、软件质量管理:软件组织在软件生产活动中的质量策划、质量控制、质量保证和质量改进等与软件质量有关的相互协调的活动。9.2.1软件质量管理的主要活动1、软件质量策划1)内容包括:•确定软件组织,适应其生产特点的组织结构,以及人员的安排和职责的分配。•确定组织的质量管理体系目标,根据组织的商业需要和产品市场,确定选择ISO9000或CMM作为其质量管理体系的符合性标准或模型。•标识和定义组织的质量过程,即对组织的质量过程进行策划,确定过程的资源、主要影响因素、作用程序和规程、过程启动条件和过程执行结果规范等。•识别产品的质量特性,进行分类和比较,建立其目标、质量要求和约束条件。•策划质量改进的计划、方法和途径。9.2.1软件质量管理的主要活动1、软件质量策划2)软件组织的质量过程通常包含两种类型:软件工程过程和组织支持过程①软件工程过程:就是通常所说的软件生命周期中的活动,一般包括软件需求分析、软件设计、编码、测试、交付、安装和维护。一个组织的软件过程策划一般包括两个阶段:组织标准生产过程的策划和项目产品策划。CMM中定义了三个关键过程域来实现这两级的过程策划:•组织过程定义:主要任务是识别和确定组织的质量过程,将组织必须和比较成熟的软件过程、过程资源要求、过程程序、过程产品要求等通过文件形成制度,并通过培训等机制贯彻到整个组织中,以改进所有项目的过程性能。•软件项目策划:目的是为具体软件项目的开发、检查活动制定合理的计划。主要内容包括确定项目开发的主要活动及活动时间的关系、制定项目的开发进度、配备合适的资源、设定合适的检查点和检查方式等。•软件产品工程:目的是协调一致地执行良好定义的工程过程,将软件工程活动组成一个有机的整体以生产更好、更符合要求的软件产品。9.2.1软件质量管理的主要活动1、软件质量策划2)软件组织的质量过程通常包含两种类型:软件工程过程和组织支持过程②组织支持过程:是软件组织为了保证软件工程过程的实施和检查而建立的一组公共支持过程。主要包括:•管理过程:包括评审、检查、文档管理、不合格品管理、配置管理、内部质量审核和管理评审。•支持过程:包括合同评审、子合同评审、采购、培训、进货检验、设备检验、度量和服务。在CMM中,有一些对应的关键过程区域:需求管理、软件子合同管理、软件质量保证、软件配置管理、培训程序、同行评审9.2.1软件质量管理的主要活动2、软件质量控制与保证软件质量控制的主要目标就是按照质量策划的要求,对质量过程进行监督和控制。质量控制的主要内容有:1)组织中与质量活动有关的所有人员,按照职责分工进行质量活动。2)所有质量活动按照已经策划的方法、途径、相互关系和时间,有序地进行。3)对关键过程和特殊过程,实施适当的过程控制技术以保证过程的稳定性,并在受控的情况下,提高过程的能力。4)所有质量活动的记录都被完整、真实地保存下来,以供统计分析使用。9.2.1软件质量管理的主要活动2、软件质量控制与保证实施软件质量控制通常涉及的技术:⑴软件配置管理软件配置管理的目的是,对软件生产过程中的所有有意义的中间产品形成文档,并以一种便于存取和检索、必要时可以逆向回溯的方式保存。同时配置管理还要保证文档的安全性、保密性和及时性。⑵软件过程流管理现代质量理论认为:“质量形成于过程”。软件过程流管理是软件质量控制中非常重要的环节。过程流管理的基本原则是:①按计划和设定条件启动和结束过程流中的质量活动②按照计划对中间产品进行验证,防止不合格的产品转入下道工序。③记录和保持必要的过程活动的质量情况。⑶软件质量保证软件质量保证的目的是向组织的内部或外部提供信任依据。对内向组织的管理者表明组织的质量管理处于良好的状态,所有质量活动有效地运行;对外向顾客表明,组织有能力满足顾客的质量要求,并提供符合质量要求的产品和服务。3.软件质量的度量和验证⑴软件质量度量①产品质量度量通常产品质量度量依赖于具体的产品标准,通过测量获得产品质量特性的有关数据,辅以合适的统计技术以确定产品或同批产品是否满足了规定的质量要求。②过程质量度量通过对软件产品设计、开发、检查、评审等过程的度量技术的使用,来度量软件过程的进度、成本是否按计划保证,质量计划的变化频率,变化的诱因以及风险的管理等等。9.2.1软件质量管理的主要活动⑵软件质量验证ISO9000:2000中对验证(Verification)的定义是:“通过提供客观证据对规定要求已得到满足的认定”。CMM在关键过程域(KPA)的公共特征(CommonFeature)-验证实现(VerifyingImplementation)中这样描述:“验证实现是保证活动按照已经建立的过程执行的一系列步骤,典型的验证有管理部门的评审、审核和软件质量保证”。在软件质量管理中,对软件产品的验证通常包括:对各级设计的评审、检查,各个阶段的测试等。对软件过程的验证,则是对过程数据的评审和审核。9.2.1软件质量管理的主要活动4.软件质量改进质量改进是现代质量管理的必然要求,ISO9000要求组织定期进行内审和管理评审,采取积极有效的纠正预防措施,保持组织的质量方针和目标持续适合组织的发展和受益者的期望。具体进行软件过程改进的活动包括:⑴度量与审核⑵纠正和预防措施⑶管理评审9.2.1软件质量管理的主要活动9.2.2软件质量管理的内容软件质量管理活动大致可以分为质量控制和质量设计,这两类活动内容在功能上是互补的。质量控制主要包括计划,规程评价和产品评价。质量设计主要是指质量准则的运用。1.质量控制⑴计划进行质量控制,必须首先制定一个软件质量管理计划,这个计划确定质量目标、确定在每个阶段为实现总目标所应达到的要求、对进度进行安排、确定所需人力、资源和成本等等,这个计划贯穿于整个软件的生存期中,并指导软件开发每个阶段的具体活动。⑵规程评价规程就是在软件生存期中应当遵循的一些政策、规则和标准的具体实施的描述,软件质量管理就是通过软件管理人员来监督和执行这些规程。在规格中也包括实行软件质量保证功能的描述,它们可以包括如下内容:①指示在何时、何地进行规程审计、文件审计和代理审计;②指示应当采集哪数据以及如何对其进行分析处理,例如,在每次评审和测试中发现的错误如何进行修正;③描述希望得到的质量度量;④规定在项目的什么阶段进行评审以及进行什么形式的评审;⑤规定在项目的什么阶段应当产生什么报告和计划;⑥规定产品各方面测试应达到的水平。9.2.2软件质量管理的内容⑶产品评价软件产品评价的主要目的是确保产品和它的需求相符合,类似于硬件的产品检验,这种评价所用的方法可以是设计的走查(walk-through)、代码的审计、测试结果的分析以及软件的质量度量和评估等。2.质量设计在质量设计中应当确定该软件应该达到什么水平,并考虑高质量的软件如何设计以及如何通过测试来确定质量等问题。为些,在质量设计中,首先要指定期望软件产品具有的主要质量要素或属性,并尽量使它们的指标定量化。质量管理活动的工具包括老七种与新七种,老七种工具是因果图法、排列图法、查表法、直方图法、散布图法、分层法及对策表法,新七种工具是关联图法、KJ法、系图法、矩阵图法、距阵数据分析法、过程决策程序图法(PDPC)、箭头图法。9.2.2软件质量管理的内容9.2.3软件开发标准与规范在软件开发的军用标准方面比较著名的是美国国防部的标准DOD-STD-1679A和DOD-STD-2167。IEEE(美国电气和电子工程师学会)和ISO(国际标准化组织)的软件工程标准化工作方面的标准:ANSI/IEEEStd729-1983软件工程术语标准词汇ANSI/IEEEStd730-1984软件质量保证计划标准IEEEStd828-1983软件配置管理计划标准ANSI/IEEEStd829-1983软件测试文档标准IEEEStd830–1984软件需求规范说明指南IEEEStd983-1985软件质量保证计划指南ISODP8631程序的构造及其使用约定其中,IEEE标准730是IEEE组织制定的一个软件质量工业标准。我国的计算机与信息处理标准化技术委员会软件工程分技术委员会已开始进行这项工作,并且已制定了一些软件方面的标准(草案)。下图列举了软件工程标准体系的大致情况。9.2.3软件开发标准与规范
本文标题:软件质量管理
链接地址:https://www.777doc.com/doc-3679818 .html