《软件工程实用教程》第9章软件质量与质量保证

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第9章软件质量与质量保证本章学习内容:1.掌握软件质量的概念2.掌握软件度量的内容3.明确软件质量保证的策略4.了解软件配置管理任务5.了解软件过程能力成熟度模型第9章软件质量与质量保证9.1软件质量的概念9.1.1软件质量定义与软件产品满足规定的和隐含的需要的能力有关的特征或特性的组合。软件质量的特性:与明确确定的功能和性能需求的一致性。即软件需求是质量度量的基础,缺少与需求的一致性就无质量可言;与明确成文的开发标准的一致性。不遵循专门的开发标准将导致软件质量低劣;与所有专业开发的软件所期望的隐含的特性的一致性。忽视软件隐含的需求,软件质量将不可信。第9章软件质量与质量保证9.1.2影响软件质量的因素正确性:系统满足规格说明和用户的程度,即在预定环境下能正确地完成预期功能的程度。健壮性:在硬件发生故障、输入的数据无效或操作等意外环境下,系统能做出适当响应的程度。效率:为了完成预定的功能,系统需要的计算资源的多少。完整性:对未经授权的人使用软件或数据的企图,系统能够控制的程度。可用性:系统在完成预定应该完成的功能时令人满意的概率。风险性:按预定的成本和进度把系统开发出来,并且使用户感到满意。可理解性:理解和使用该系统的容易程度。第9章软件质量与质量保证可维修性:诊断和改正在运行现场发生的错误所需要的概率。灵活性:修改或改正在运行的系统需要的工作量的多少。可测试性:软件容易测试的程度。可移植性:把程序从一种硬件配置和(或)软件环境转移到另一种配置和环境时,需要的工作量多少。有一种定量度量的方法是:用原来程度设计和调试的成本除移植时需要的费用。可再用性:在其他应用中该程序可以被再次使用的程度(或范围)。可运行性:把该系统和另外一个系统结合起来的工作量的多少。第9章软件质量与质量保证软件质量评价应遵循的原则:应强调软件总体质量(低成本高质量),而不应片面强调软件正确性,忽略其可维护性与可靠性、可用性与效率等;软件生产的整个周期的各个阶段都注意软件的质量,而不能只在软件最终产品验收时注意质量;应制定软件质量标准,定量地评价软件质量,使软件产品评价走上评测结合,以测为主的科学轨道。第9章软件质量与质量保证9.2软件质量的度量9.2.1软件度量软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。软件开发主体及其度量内容角色度量内容经营者开发组织(1)顾客满意度;(2)收益;(3)风险;(4)绩效;(5)发布的缺陷的级别;(6)产品开发周期;(7)日程与作业量估算精度;(8)复用有效性;(9)计划与实际的成本第9章软件质量与质量保证角色度量内容管理者项目组(1)不同阶段的成本;(2)不同开发小组成员的生产率;(3)产品规模;(4)工作量分配;(5)需求状况;(6)测试用例合格率;(7)主要里程碑之间的估算期间与实际期间;(8)估算与实际的员工水平;(9)结合测试和系统测试检出的缺陷数目;(10)审查发现的缺陷数目;(11)缺陷状况;(12)需求稳定性;(13)计划和完成的任务数目作业者软件开发人员(1)工作量分配;(2)估算与实际的任务期间与工作量;(3)单体测试覆盖代码;(4)单体测试检出缺陷数目;(5)代码和设计的复杂性第9章软件质量与质量保证9.2.2软件度量的分类度量维度侧重点具体内容项目度量理解和控制当前项目的情况和状态;项目度量具有战术性意义,针对具体的项目进行。规模、成本、工作量、进度、生产力、风险、顾客满意度等产品度量侧重理解和控制当前产品的质量状况,用于对产品质量的预测和控制。以质量度量为中心,包括功能性、可靠性、易用性、效率性、可维护性、可移植性等过程度量理解和控制当前情况和状态,还包含了对过程的改善和未来过程的能力预测;过程度量具有战略性意义,在整个组织范围内进行。如成熟度、管理、生命周期、生产率、缺陷植入率等第9章软件质量与质量保证9.2.3软件度量过程1.过程计划的制定(1)确认范围(2)定义程序步骤2.过程的实施(1)数据的采集(2)数据的分析3.过程的改善(1)确认目标(2)对当前能力的理解及评价第9章软件质量与质量保证(3)设计度量过程(4)过程原型(5)过程文档(6)过程实施(7)程序扩展第9章软件质量与质量保证9.3软件质量保证功能:质量方针的制定和开展;质量保证方针和质量保证标准的制定;质量保证体系的建立和管理;明确各个阶段的质量保证工作;各个阶段的质量评审;确保设计质量;重要质量问题的提出与分析;总结实现阶段的质量保证活动;整理面向用户的文档、说明书等;产品质量鉴定、质量保证系统鉴定;质量信息的收集、分析和使用。第9章软件质量与质量保证9.3.1质量保证策略1.以检测为重:产品制成之后进行检测,只能判断产品质量,不能提高产品质量。2.以过程管理为重:把质量的保证工作重点放在过程管理上,对制造过程中的每一道工序都要进行质量控制。3.以新产品开发为重:在新产品的开发设计阶段,采取强有力的措施来消灭由于设计原因而产生的质量隐患。第9章软件质量与质量保证9.3.2质量保证的内容(1)与SQA计划直接相关的工作(2)参与项目的阶段性评审和审计(3)对项目日常活动与规程的符合性进行检查(4)对配置管理工作的检查和审计(5)跟踪问题的解决情况(6)收集新方法,提供过程改进的依据第9章软件质量与质量保证9.3.3软件质量保证措施1.基于非执行的测试(也称为复审或评审):用来保证在编码之前各个阶段产生的文档的质量;2.基于执行的测试(即前面讲过的软件测试):需要在程序编写出来之后进行,它是保证软件质量的最后一道防线;3.程序正确性证明:使用数学方法严格验证程序是否对它的说明完全一致。第9章软件质量与质量保证9.3.4软件质量控制质量控制是为了保证每个软件产品能够满足对它的质量需求,同时确定消除不符合的原因和方法,及时纠正缺陷的过程。1.常见的软件质量问题违背IT项目规律技术方案本身的缺陷基本部件不合格实施中的管理问题第9章软件质量与质量保证2.软件质量控制的一般性方法目标问题度量法:通过确认软件质量目标,并且持续观察这些目标是否达到软件质量控制的一种方法。风险管理法:识别和控制软件开发中对成果达到质量目标危害最大的哪些因素的新通行方法。PDCA质量控制法:指计划、执行、检查和行动。第9章软件质量与质量保证3.软件项目质量控制技术基本原则。控制项目所有过程的质量。过程控制的出发点是预防不合格。质量管理的中心任务是建立并实施文档管理的质量体系。持续的质量改进。定期评价质量体系。第9章软件质量与质量保证(1)技术评审召开评审会议:一般应有3~5个相关领域的人员参加,会前每个参加者做好准备,评审会每次一般不超过2小时。在评审会上,由开发小组对提交的评审对象进行讲解。评审组可以对开发小组进行提问,提出建议和要求,也可以与开发小组展开讨论。会议结束时必须做出以下决策之一:接受该产品,不需要做修改;由于错误严重,拒绝接受;暂时接受该产品,但需要对某一部分进行修改。评审报告与记录。第9章软件质量与质量保证(2)代码走查:就是由审查人员“读”代码,然后对照“标准”进行检查。(3)代码会审:是由一组人通过阅读、讨论和争议对程序进行静态分析的过程。(4)软件测试:软件测试所处的阶段不同,测试的目的和方法也不同。包括单元测试、集成测试、系统测试、验收测试等(5)缺陷跟踪第9章软件质量与质量保证9.4软件配置管理9.4.1软件配置项基线是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。因此基线可以作为一个检查点,在开发过程中,当采用的基线发生错误时,我们可以知道处于的位置,返回到最近和最恰当的基线上。软件配置项(SCI)是软件工程中产生的信息项(文档、报告、程序、表格数据),是配置管理的单位。不直接执行的材料:如书写的文档、程序清单、测试数据、测试结果等。可直接执行的材料:如目标代码、数据库信息等。它们可由计算机处理,存于某种存储介质上。第9章软件质量与质量保证9.4.2软件配置管理过程1.配置标识:(名字、描述、一组“资源”,“实现”)2.版本控制3.变更控制4.配置状态报告5.配置审核正式技术评审:着重检查已完成修改的软件配置对象的技术正确性,它应对所有的变更进行,除了那些最无价值的变更之外。软件配置审核:它是正式技术评审的补充,评价在评审期间通常没有被考虑的SCI的特性。软件配置审核提出并解答以下问题。第9章软件质量与质量保证9.5软件过程能力成熟度模型简介9.5.1基本概念1.软件过程指人们开发和维护软件及其相关产品所采取的一系列活动。2.软件过程能力与性能软件过程能力是软件过程本身具有的按预定计划生产产品的固有能力。软件过程性能是软件过程执行的实际结果。第9章软件质量与质量保证3.软件过程成熟度软件过程成熟度是指一个软件过程被明确定义、管理、度量和控制的有效程度。CMM模型包括的内容:第9章软件质量与质量保证成熟度等级:一个成熟度等级是在朝着实现成熟软件过程进化途中的一个妥善定义的平台。过程能力:软件过程能力描述通过遵循软件过程能实现预期结果的程度。关键过程域:每个成熟度等级由若干关键过程域组成。关键过程域分别定义在各个成熟度等级之中,并与之联系在一起。目标:目标概括了关键过程域中的关键实践,并可用于确定一个组织或项目是否已有效地实施了该关键过程域。目标表示每个关键过程域的范围、边界和意图。第9章软件质量与质量保证公共特性:CMM把关键实践分别归入下列5个公共特性之中:执行约定、执行能力、执行活动、测量和分析以及验证实施。公共特性是一种属性,它能指示一个关键过程域的实施和规范化是否是有效的、可重复的和持久的。关键实践:每个关键过程域都用若干关键实践描述,实施关键实践有助于实现相应的关键过程域的目标。关键实践描述对关键过程域的有效实施和规范化贡献最大的基础设施和活动。第9章软件质量与质量保证9.5.2软件过程能力成熟度等级1.初始级:在初始级,企业一般不具备稳定的软件开发与维护环境。项目成功与否在很大程度上取决于是否有杰出的项目经理和经验丰富的开发团队。组织的软件过程能力不可预测。2.可重复级:在可重复级,组织建立了管理软件项目的方针以及为贯彻执行这些方针的措施。组织基于在类似项目上的经验对新项目进行策划和管理。组织的软件过程能力可描述为有纪律的,并且项目过程处于项目管理系统的有效控制之下。3.已定义级:在已定义级,组织形成了管理软件开发和维护活动的组织标准软件过程,包括软件工程过程和软件管理过程。项目依据标准定义自己的软件过程进行管理和控制。组织的软件过程能力可描述为标准的和一致的,过程是稳定的和可重复的并且高度可视。第9章软件质量与质量保证4.已管理级:在已管理级,组织对软件产品和过程都设置定量的质量目标。项目通过把过程性能的变化限制在可接受的范围内,实现对产品和过程的控制。组织的软件过程能力可描述为可预测的,软件产品具有可预测的高质量。5.优化级:在优化级,组织通过预防缺陷、技术创新和更改过程等多种方式,不断提高项目的过程性能以持续改善组织软件过程能力。组织的软件过程能力可描述为持续改善的。第9章软件质量与质量保证9.5.3关键过程域管理组织工程初始级可重复级需求管理,软件项目计划,软件项目追踪和监督,软件分包管理,软件质量保证,软件配置管理定义级集成式软件管理,组间协调组织过程关注,组织过程定义,培训软件产品工程,对等审查定量管理级软件项目追踪和监督软件质量管理优化级技术变更管理、过程变更管理缺陷预防第9章软件质量与质量保证9.5.4关键实践1.执行约定:企业为了保证过程建立和继续起作用必须采取的行动,一般包括建立组织方针和高级管理者的支持。2.执行能力:组织和项目实施软件过程的先决条件。执行能力一般指提供资源、分派职责和人员培训。3.执行的活动

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功