《软件测试大学教程18软件质量保证》由会员分享,可在线阅读,更多相关《软件测试大学教程18软件质量保证(39页珍藏版)》请在金锄头文库上搜索。
1、1 1/39/39第第1818讲讲 软件质量保证软件质量保证2 2/39/39软件质量管理软件质量管理质量管理历史质量管理历史质量就是产品、过程、系统符合标准要求的能力质量就是产品、过程、系统符合标准要求的能力质量是生产出来的,不是检测出来的质量是生产出来的,不是检测出来的质量存在于全部直接质量存在于全部直接/ /间接相关的环节中间接相关的环节中质量具有弹性质量具有弹性质量管理的灵魂在于持续改进质量管理的灵魂在于持续改进软件质量管理软件质量管理建立对项目软件产品质量的定量了解和实现特定质量目标建立对项目软件产品质量的定量了解和实现特定质量目标软件质量管理涉及确定软件产品的质量目标软件质量管理涉
2、及确定软件产品的质量目标制定实现这些目标的计划制定实现这些目标的计划监控及调整软件计划、软件工作产品、活动和质量目标,以满足客监控及调整软件计划、软件工作产品、活动和质量目标,以满足客户和最终用户对高质量产品的需求和期望户和最终用户对高质量产品的需求和期望3 3/39/39软件质量检验软件质量检验是软件质量保证活动的一个重要组成部分是软件质量保证活动的一个重要组成部分通过检查软件开发各阶段的质量保证活动开通过检查软件开发各阶段的质量保证活动开展的情况展的情况督促搞好软件开发各阶段的管理督促搞好软件开发各阶段的管理预先防止软件差错给用户造成的损失预先防止软件差错给用户造成的损失4 4/39/39
3、软件质量管理相关标准和技术软件质量管理相关标准和技术标准标准ISO9000ISO9000族标准族标准国际标准,国际标准,ISO/TC176ISO/TC176制订,适用于所有行业,其中制订,适用于所有行业,其中9000-39000-3针对软件针对软件开发行业开发行业SW-CMMSW-CMM标准标准行业标准,行业标准,CMU-SEICMU-SEI制订和管理,针对软件开发行业制订和管理,针对软件开发行业TickITTickIT标准标准行业标准,英国软件行业协会制定,针对软件开发行业行业标准,英国软件行业协会制定,针对软件开发行业ISO15504ISO15504标准标准国际标准,试图结合国际标准,试图
4、结合ISO9000ISO9000、CMMCMM与软件工程概念与软件工程概念Best PracticesBest PracticesIBM Rational RUPIBM Rational RUP项目管理技术项目管理技术项目:目标、起止时间、相关活动项目:目标、起止时间、相关活动定义、计划、实施定义、计划、实施5 5/39/39ISO 9000标准标准ISO 9000ISO 9000标准标准( (质量保证模型质量保证模型) )以一种能够适用于以一种能够适用于任任何行业何行业( (不论提供的是何种产不论提供的是何种产品或服务品或服务) )的一般术语描述了质量保证的要素的一般术语描述了质量保证的要素
5、这些要素包括用于实现质量计划、质量控制、质这些要素包括用于实现质量计划、质量控制、质量保证和质量改进所需的组织结构、规程、过程量保证和质量改进所需的组织结构、规程、过程和资源和资源ISO 9000ISO 9000并不描述一个组织应该如何实现这些质并不描述一个组织应该如何实现这些质量系统要素量系统要素从从ISO 9000ISO 9000到一个能够满足标准并适用于公司产到一个能够满足标准并适用于公司产品、服务和文化的质量保证系统还有一个设计和品、服务和文化的质量保证系统还有一个设计和实现的过程实现的过程6 6/39/39ISO 9001标准标准ISO 9001ISO 9001标准标准是应用于软件工
6、程的质量保证标准是应用于软件工程的质量保证标准这一标准包含了高效的质量保证系统必须体现的这一标准包含了高效的质量保证系统必须体现的2020条需求条需求ISO 9001ISO 9001标准适用于所有的工程行业标准适用于所有的工程行业为了在软件过程的使用中帮助解释该标准,而专门为了在软件过程的使用中帮助解释该标准,而专门开发了一个开发了一个ISOISO指南的子集指南的子集( (即即ISO 9000-3)ISO 9000-3)软件组织为了通过软件组织为了通过ISO 9001ISO 9001,就必须针对,就必须针对2020条需求条需求中的每一条需求建立相关政策和过程,并能显示组中的每一条需求建立相关政
7、策和过程,并能显示组织活动的确是按照这些政策和过程进行的织活动的确是按照这些政策和过程进行的7 7/39/39ISO9001ISO9001标准(续)标准(续)原则原则1.1.以顾客为中心以顾客为中心组织依存于顾客。因此,组织应理解顾客当前和未组织依存于顾客。因此,组织应理解顾客当前和未来的需求,满足顾客要求并争取超越顾客期望来的需求,满足顾客要求并争取超越顾客期望2.2.领导作用领导作用领导将本组织的宗旨、方向和内部环境统一起来,并创领导将本组织的宗旨、方向和内部环境统一起来,并创造使员工能够充分参与实现组织目标的环境造使员工能够充分参与实现组织目标的环境3.全员参与全员参与各级人员是组织之本
8、。只有他们的充分参与,才能使他各级人员是组织之本。只有他们的充分参与,才能使他们的才干为组织带来最大的收益们的才干为组织带来最大的收益4.过程方法过程方法将相关的资源和活动作为过程进行管理,重视输入和输将相关的资源和活动作为过程进行管理,重视输入和输出,可以更高效地得到期望的结果出,可以更高效地得到期望的结果5.管理的系统方法管理的系统方法针对设定的目标,识别、理解并管理一个由相互针对设定的目标,识别、理解并管理一个由相互关联的过程所组成的系统,有助于提高组织的有效性和效率关联的过程所组成的系统,有助于提高组织的有效性和效率6.持续改进持续改进持续改进是组织的一个永恒目标持续改进是组织的一个永
9、恒目标7.基于事实的决策方法基于事实的决策方法对数据和信息的逻辑分析或直觉判断是有效对数据和信息的逻辑分析或直觉判断是有效决策的基础决策的基础8.互利的供方关系互利的供方关系通过互利的关系,增强组织及其供方创造价值的通过互利的关系,增强组织及其供方创造价值的能力能力8 8/39/39ISO9001ISO9001标准在软件企业的实施案例标准在软件企业的实施案例原则:原则:运用项目管理技术运用项目管理技术重视质量策划重视质量策划重视培训和工具支持重视培训和工具支持框架:框架:质量手册、规程文件、作业指导书质量手册、规程文件、作业指导书开发管理、体系支持开发管理、体系支持http:/ 9/39/39
10、ISO9001ISO9001标准标准在软件企业的实施案例(续)在软件企业的实施案例(续)角色分工角色分工1010/39/39ISO9001ISO9001标准标准在软件企业的实施案例(续)在软件企业的实施案例(续)体系支持规程体系支持规程1.1.管理评审规程管理评审规程 2.2.质量体系文件控制规程质量体系文件控制规程 3.3.内部质量体系审核规程内部质量体系审核规程 4.4.纠正措施规程纠正措施规程 5.5.预防措施规程预防措施规程6.6.配置管理规程配置管理规程 7.7.更改控制规程更改控制规程8.8.产品开发文档控制规程产品开发文档控制规程9.9.质量记录控制规程质量记录控制规程10.10
11、.产品度量规程产品度量规程11.11.过程度量规程过程度量规程12.12.规则、惯例和约定控制规程规则、惯例和约定控制规程13.13.工具和技术控制规程工具和技术控制规程14.14.采购规程采购规程15.15.配套软件产品控制规程配套软件产品控制规程 16.16.病毒防治规程病毒防治规程17.17.产品加密规程产品加密规程18.18.培训规程培训规程1111/39/39ISO9001ISO9001标准标准在软件企业的实施案例(续)在软件企业的实施案例(续)结论:结论:ISO9001ISO9001是品质保证标准,对过程管理提出最低要求是品质保证标准,对过程管理提出最低要求质量保证体系根据软件工程
12、原理自行设计和维持,满足质量保证体系根据软件工程原理自行设计和维持,满足ISO9001ISO9001要求要求质量策划根据项目自身特点,对质量体系进行剪裁和补充质量策划根据项目自身特点,对质量体系进行剪裁和补充1212/39/39软件过程软件过程人们用以开发和维护软件及其相关产品的一人们用以开发和维护软件及其相关产品的一系列活动系列活动例如:项目计划、设计文档、代码、测试用例等例如:项目计划、设计文档、代码、测试用例等等,在模型中往往称这些为软件工作产品等,在模型中往往称这些为软件工作产品包括软件工程活动和软件管理活动包括软件工程活动和软件管理活动还会涉及有关的各种方法和技术等还会涉及有关的各种
13、方法和技术等1313/39/39软件过程能力软件过程能力描述描述( (开发组织或项目组开发组织或项目组) )通过执行其软件过通过执行其软件过程能够实现预期结果的程度程能够实现预期结果的程度一个开发组织或项目组的软件过程能力一个开发组织或项目组的软件过程能力提供一种预测该组织或项目组承担下一个软件项提供一种预测该组织或项目组承担下一个软件项目时最可能的预期结果的方法目时最可能的预期结果的方法1414/39/39软件过程成熟度软件过程成熟度一个特定软件过程被明确和有效地定义、管一个特定软件过程被明确和有效地定义、管理、测量和控制的程度理、测量和控制的程度成熟度可指明一个软件开发组织软件过程能力的成
14、熟度可指明一个软件开发组织软件过程能力的增长潜力和可改进的方面增长潜力和可改进的方面也可表明一个组织的软件过程的丰富多样性,及也可表明一个组织的软件过程的丰富多样性,及其各个开发项目所遵循的软件过程的一致性其各个开发项目所遵循的软件过程的一致性1515/39/39软件能力成熟度等级软件能力成熟度等级软件开发组织在走向成熟的途中几个具有明确软件开发组织在走向成熟的途中几个具有明确定义的、表征软件过程能力成熟的平台定义的、表征软件过程能力成熟的平台每一个成熟度等级为其软件过程继续改进达到下一每一个成熟度等级为其软件过程继续改进达到下一更高的等级提供基础更高的等级提供基础每一等级包含一组过程目标,当
15、其中一个目标被达每一等级包含一组过程目标,当其中一个目标被达到时,就表明软件过程的一个到时,就表明软件过程的一个( (或几个或几个) )重要成分或重要成分或方面得到了实现,从而导致软件开发组织的软件过方面得到了实现,从而导致软件开发组织的软件过程能力的进一步增长程能力的进一步增长1616/39/39软件过程改进软件过程改进通通过过对对软软件件过过程程的的特特定定属属性性的的数数据据收收集集和和过过程程度度量量( (基基于于这这些些属属性性开开发发一一组组有有意意义义的的度度量量) ),获获得得引引导导改改进进和和完善软件过程的数据及指标完善软件过程的数据及指标对对于于包包含含若若干干个个子子系
16、系统统的的大大型型项项目目,需需由由几几个个开开发发组组承承担担开开发工作,这时产品质量可能主要取决于软件过程发工作,这时产品质量可能主要取决于软件过程因因为为项项目目规规模模大大了了,项项目目管管理理、集集成成以以及及各各部部分分间间的的沟沟通通变变得得更更为为重要,可能出现的问题也会突显出来重要,可能出现的问题也会突显出来另另一一方方面面,项项目目大大参参与与开开发发的的人人员员多多,而而他他们们的的工工作作能能力力和和实践经验总是参差不齐的;开发过程又要经历较长的时间实践经验总是参差不齐的;开发过程又要经历较长的时间开开发发组组成成员员难难于于绝绝对对稳稳定定的的工工作作,一一些些技技术
17、术水水平平高高且且有有才才能能的的人人员员在整个开发期中难于充分地发挥应有的作用在整个开发期中难于充分地发挥应有的作用1717/39/39CMMCMM软件能力成熟度模型软件能力成熟度模型SW-CMMSW-CMM称称 为为 软软 件件 能能 力力 成成 熟熟 度度 模模 型型 , 是是Capability Capability Maturity Maturity Model Model for for SoftwareSoftware的的缩写形式缩写形式, ,针对软件企业,目前是针对软件企业,目前是CMMI目目前前国国际际上上最最流流行行最最实实用用的的软软件件生生产产过过程程标标准准和和软软件
18、企业成熟度等级认证标准。件企业成熟度等级认证标准。用于评价软件承包能力并帮助其改善软件质量的方法用于评价软件承包能力并帮助其改善软件质量的方法美美国国卡卡内内基基- -梅梅隆隆大大学学的的软软件件工工程程研研究究所所( (SEI)SEI)在在19871987年研制成功年研制成功卡卡内内基基- -梅梅隆隆大大学学的的软软件件工工程程研研究究所所是是美美国国国国防防部部的的软软件件开发基地之一,开发基地之一,CMMCMM就是受美国国防部委托而研制的就是受美国国防部委托而研制的1818/39/39CMMCMM软件能力成熟度模型软件能力成熟度模型( (续续) )SEISEI给给CMMCMM下的定义:下
19、的定义:对于软件组织在定义、实现、度量、控制和改善其软件过对于软件组织在定义、实现、度量、控制和改善其软件过程的各个阶段的描述程的各个阶段的描述这个模型便于确定软件组织的现有过程能力和查找出软件这个模型便于确定软件组织的现有过程能力和查找出软件质量及过程改进方面的最关键的问题,从而为选择过程改质量及过程改进方面的最关键的问题,从而为选择过程改进战略提供指南进战略提供指南CMMCMM是一个描述有效软件流程元素的框架是一个描述有效软件流程元素的框架CMM CMM 描述了一条从临时的、未成熟的流程向成熟的、规范描述了一条从临时的、未成熟的流程向成熟的、规范化的流程演进的途径化的流程演进的途径如今的行
20、情是:软件企业如果不能通过相应等级的如今的行情是:软件企业如果不能通过相应等级的CMMCMM评估,其产品就少了一张进入国际市场的通行证评估,其产品就少了一张进入国际市场的通行证1919/39/39CMMCMM的基本思想的基本思想1.1.过程决定论过程决定论lWatts HumphreyWatts Humphrey认为认为: : “软件系统的质量取决于开发和改进它的过程软件系统的质量取决于开发和改进它的过程质量质量”开发过程和维护过程定义得不好就不可能有高质量的软件开发过程和维护过程定义得不好就不可能有高质量的软件 l统计过程控制是模型中分级的基本考虑统计过程控制是模型中分级的基本考虑2.2.进
21、化论进化论l过程的改进是一个进化的过程,模型要给出一条过程的改进是一个进化的过程,模型要给出一条( (包括工程过程和管包括工程过程和管理过程理过程) )进化途径进化途径l进化途径分阶段和不断进化论进化途径分阶段和不断进化论3.3.抓主要矛盾的思想抓主要矛盾的思想4.4.十分重视领导作用和软件管理的观念十分重视领导作用和软件管理的观念5.5.以人为本以人为本, ,全员参与:注重培训全员参与:注重培训/ /群众观点群众观点/ /职责分明职责分明6.6.重视测量重视测量, ,以量化事实为决策依据以量化事实为决策依据7.7.重视不断改革创新的观念重视不断改革创新的观念8.8.总结当前最佳实践总结当前最
22、佳实践2020/39/39CMM的作用SEI CMMSEI CMM的主要用途如下:的主要用途如下:1.1.软件过程评估;软件过程评估;( (镜子镜子) )2.2.软件过程改进;软件过程改进;( (梯子梯子) )3.3.软件能力评价。软件能力评价。( (尺子尺子) )不同人员可从不同侧面加以运用,例如:不同人员可从不同侧面加以运用,例如:1.1.评估组用来识别组织中的强处和弱点评估组用来识别组织中的强处和弱点2.2.评价组用来识别选择不同承包商的风险和监督合同评价组用来识别选择不同承包商的风险和监督合同3.3.评评估估方方法法开开发发者者用用来来开开发发其其他他基基于于CMMCMM的的评评估估方
23、方法法,以以针针对对一些特定需要一些特定需要4.4.管理者用来了解制定过程改进计划所必要的活动管理者用来了解制定过程改进计划所必要的活动5.5.技术人员和过程改进组用来指导他们定义和改进软件过程技术人员和过程改进组用来指导他们定义和改进软件过程2121/39/39CMMCMM模型模型不可预测且控制不良1. 1. 初始初始2 2. . 可重复可重复能重复以前掌握的作业标准一致的过程有纪律的过程持续改进过程可预测过程集成工程过程变更管理过程控制3. 3. 已定义已定义过程已刻画,得到相当好的理解4. 4. 定量管理定量管理过程被测量和控制5. 5. 优化优化关注过程改进项目管理项目管理2222/3
24、9/39CMMCMM在软件企业的实施案例在软件企业的实施案例历史历史1997-19981997-1998:iso9001iso9001证书证书1999-20001999-2000:关注:关注CMMCMM、RUPRUP1999-20011999-2001:用:用CMMCMM检查检查/ /补充补充iso9001iso90012000-20012000-2001:CMMCMM观点观点CMMCMM与与iso9001iso9001不矛盾、并且可以互补不矛盾、并且可以互补不拘泥于形式,利用思想、关注目标和效益不拘泥于形式,利用思想、关注目标和效益2323/39/39CMMCMM在软件企业的实施案例在软件企
25、业的实施案例( (续续) )实施原则实施原则1.1.改进的原则改进的原则不要完全打破旧有体制和流程不要完全打破旧有体制和流程体系和流程需要持续的改进和优化,不可松懈体系和流程需要持续的改进和优化,不可松懈2.2.控制点原则控制点原则注重特殊过程和关键过程,找出控制点注重特殊过程和关键过程,找出控制点3.3.角色分工的原则角色分工的原则注重接口,责任落实注重接口,责任落实2424/39/39CMMCMM在软件企业的实施案例在软件企业的实施案例( (续续) )实施重点实施重点1.1.风险分析和管理风险分析和管理预防胜于补救预防胜于补救SQASQA的目标是规避风险的目标是规避风险测试的策略也是消除风
26、险测试的策略也是消除风险2.2.质量计划质量计划项目环境多变,不要试图千篇一律,针对每一个项目做出一个质项目环境多变,不要试图千篇一律,针对每一个项目做出一个质量计划量计划3.3.需求管理需求管理需求管理是软件开发中的第一大风险需求管理是软件开发中的第一大风险需求是软件开发的内在的核心驱动和最活跃因素需求是软件开发的内在的核心驱动和最活跃因素需求的表达和传递需求的表达和传递-UML-UML管理需求管理需求-与用户一同工作与用户一同工作需求管理需求管理-好的配置管理支持好的配置管理支持2525/39/39CMMCMM在软件企业的实施案例在软件企业的实施案例( (续续) )实施重点实施重点( (续
27、续) )4.4.配置管理配置管理配置管理是项目中最易见效的要素配置管理是项目中最易见效的要素要有好的工具支持要有好的工具支持(Clearcase/SourceSafe)(Clearcase/SourceSafe)要有配置管理员的角色要有配置管理员的角色5.5.项目组内部工具和编码规范统一项目组内部工具和编码规范统一一致比效率和个性更重要一致比效率和个性更重要68%68%的编码错误是因为没有遵从编码规范的编码错误是因为没有遵从编码规范避免误解和返工,避免工具间接口和版本不同带来的麻烦避免误解和返工,避免工具间接口和版本不同带来的麻烦6.6.独立的独立的QAQA和测试和测试人性使然人性使然自己发现
28、不了自己的错误自己发现不了自己的错误自己不愿意发现自己的错误自己不愿意发现自己的错误不愿意报告利益相关人的错误不愿意报告利益相关人的错误找错是手段、度量和降低风险才是目的找错是手段、度量和降低风险才是目的本身也是管理的手段本身也是管理的手段2626/39/39CMMCMM在软件企业的实施案例在软件企业的实施案例( (续续) )实施重点实施重点( (续续) )7.7.重视评审和落实重视评审和落实事先找出关键点和特殊点,注重评审的计划性和强制事先找出关键点和特殊点,注重评审的计划性和强制性,使用性,使用ChecklistChecklist规程和计划要不折不扣地执行规程和计划要不折不扣地执行逐步实施
29、逐步实施PilotPilot方法方法8.8.强制与培训并重强制与培训并重强制与培训是互补的强制与培训是互补的行为行为-习惯习惯-性格性格-结果结果/ /命运命运工具的作用工具的作用提高执行效率和管理效率提高执行效率和管理效率提供强制执行手段提供强制执行手段2727/39/39CMMCMM在软件企业的实施案例在软件企业的实施案例( (续续) )实施难点实施难点1.度量与预算度量与预算产品质量度量产品质量度量质量体系有效性度量质量体系有效性度量项目进度度量项目进度度量员工工作量度量员工工作量度量2.2.管理和技术创新的矛盾管理和技术创新的矛盾A.A.按部就班与反应速度按部就班与反应速度3.3.人员
30、激励与规范的矛盾人员激励与规范的矛盾2828/39/39ISO 9001ISO 9001与与CMMCMMlCMM与与ISO9000采用与采用与ISO9000一致的管理思想,针对知识密集型一致的管理思想,针对知识密集型/系统复杂型过程,尤其是软件开发过程系统复杂型过程,尤其是软件开发过程CMM与与ISO9000ISOISO标准系列相比,标准系列相比,CMMCMM更为软件更为软件产业所看好产业所看好原因是它专门针对软件工程控制而设置的原因是它专门针对软件工程控制而设置的不仅进行软件企业工程能力的评估,更致力于软件开发不仅进行软件企业工程能力的评估,更致力于软件开发过程的管理过程的管理强调强调“对软
31、件开发过程进行持续改进对软件开发过程进行持续改进”,引导软件开发,引导软件开发过程走向成熟过程走向成熟2929/39/39ISO 9001ISO 9001与与CMMCMM异同异同相同点相同点CMMCMM和和ISO 9001ISO 9001标准系列都着眼于质量和过程管理,二者都标准系列都着眼于质量和过程管理,二者都为了解决同样的问题为了解决同样的问题 不同点不同点CMMCMM是动态的、开放的和持续改进的,强调没有最好只有更是动态的、开放的和持续改进的,强调没有最好只有更好,强调不断改进,强调人在软件开发方面的思想认识和好,强调不断改进,强调人在软件开发方面的思想认识和主动性,适用于软件过程的改进
32、主动性,适用于软件过程的改进CMMCMM只关注软件,它能解决只关注软件,它能解决“软件危机软件危机”这个世界性的问题这个世界性的问题ISO 9001ISO 9001是静态的质量控制,只要达到几个关键指标就能是静态的质量控制,只要达到几个关键指标就能完成质量控制,更适用于硬件制造生产线的质量控制完成质量控制,更适用于硬件制造生产线的质量控制ISO 9001ISO 9001的适应范围更广,包括硬件、软件和服务的适应范围更广,包括硬件、软件和服务3030/39/39软件技术评审软件技术评审从某种意义上说,软件中的多数错误是人为的从某种意义上说,软件中的多数错误是人为的软件评审是软件生产过程中过滤软件
33、错误的一个软件评审是软件生产过程中过滤软件错误的一个“滤波器滤波器”,它涉及评审的组织机构、管理、准则、类别、内容、文件,它涉及评审的组织机构、管理、准则、类别、内容、文件和要求等和要求等一般要求在软件研制阶段的里程碑点进行软件评审一般要求在软件研制阶段的里程碑点进行软件评审评审的主要类别有评审的主要类别有软件定义评审、软件需求评审、概要设计评审、详细设计评审、软件软件定义评审、软件需求评审、概要设计评审、详细设计评审、软件实现评审和软件验收评审等实现评审和软件验收评审等软件评审是一种由软件专家进行的软件质量保证活动软件评审是一种由软件专家进行的软件质量保证活动目的是为能较早和有效地发现软件产
34、品中存在的错误并改正它们目的是为能较早和有效地发现软件产品中存在的错误并改正它们软件技术评审一般都是以会议的形式进行软件技术评审一般都是以会议的形式进行它包括文档审查、结构化走查、评审会、以及其它评审方法它包括文档审查、结构化走查、评审会、以及其它评审方法3131/39/39软件技术评审(续)软件技术评审(续)软件技术评审软件技术评审要达到的目标是:要达到的目标是:1.1.在软件的任何一种表现形式中发现功能、逻辑或实在软件的任何一种表现形式中发现功能、逻辑或实现错误现错误2.2.证实经过评审的软件的确满足需求证实经过评审的软件的确满足需求3.3.保证软件的表示符合预定义的标准保证软件的表示符合
35、预定义的标准4.4.得到以一种一致的方式开发的软件得到以一种一致的方式开发的软件5.5.使项目更易于管理使项目更易于管理6.6.提高项目连续性和培训后备人员提高项目连续性和培训后备人员3232/39/39软件技术评审(续)软件技术评审(续)评审的原则:评审的原则:未通过阶段评审不得进入下一个软件研制阶段未通过阶段评审不得进入下一个软件研制阶段评审对事不对人,评审的是产品,而不是生产者评审对事不对人,评审的是产品,而不是生产者评审就要挑刺,找问题、缺陷和隐患评审就要挑刺,找问题、缺陷和隐患评审组的人员面越广越好评审组的人员面越广越好评审组不作无休止的争论和辩驳,将争论点记录下评审组不作无休止的争
36、论和辩驳,将争论点记录下来,供以后甄别来,供以后甄别评审只是提出问题,没有解决问题的任务评审只是提出问题,没有解决问题的任务使用使用“评审检查单评审检查单”以提高评审的效果以提高评审的效果3333/39/39软件技术评审(续)软件技术评审(续)评审的作用:评审的作用:技术把关,避免软件人员的想当然技术把关,避免软件人员的想当然概念沟通,吸收用户和总体人员参加,审查软件人概念沟通,吸收用户和总体人员参加,审查软件人员理解的正确性员理解的正确性集思广益,吸收有关的分系统人员参加,从不同侧集思广益,吸收有关的分系统人员参加,从不同侧面确认软件的协调性面确认软件的协调性总结汇报,使软件系统总指挥、总设
37、计师了解软件总结汇报,使软件系统总指挥、总设计师了解软件生产的进度、问题和要求,作出新的部署生产的进度、问题和要求,作出新的部署3434/39/39软件技术评审(续)软件技术评审(续)评审很容易走过场、走形式评审很容易走过场、走形式评审效果的好坏,与当事人评审效果的好坏,与当事人( (软件人员软件人员) )密切相关密切相关基于有问题才需要评审,不能轻信自己的软件,导基于有问题才需要评审,不能轻信自己的软件,导致对评审产生对立情绪致对评审产生对立情绪对评审出的问题进行整理、分类和汇总,不忽视任对评审出的问题进行整理、分类和汇总,不忽视任何一个细小的疑点何一个细小的疑点3535/39/39软件验证
38、软件验证(Verification)(Verification)和确认和确认(Validation)(Validation)软件验证和确认,简称为软件验证和确认,简称为V VV V或或V2V2它们的区别在于:它们的区别在于:验证关心的是确保软件模块或功能内在的正确性验证关心的是确保软件模块或功能内在的正确性确认则表明要与需求进行比较是否满足要求,它所关心的是该软件产确认则表明要与需求进行比较是否满足要求,它所关心的是该软件产品的价值品的价值V&VV&V是贯穿于软件开发过程中十分细致的软件检验活动是贯穿于软件开发过程中十分细致的软件检验活动每个开发阶段的结果是下一开发阶段的一个规格文件,但要每个
39、开发阶段的结果是下一开发阶段的一个规格文件,但要进入下一阶段之前必须对该结果作出确认进入下一阶段之前必须对该结果作出确认V&VV&V一般用一般用代码走查、审查、测试和正确性证明等代码走查、审查、测试和正确性证明等方法方法3636/39/39软件验证和确认软件验证和确认( (续续) )代码走查就对软件文档进行书面检查代码走查就对软件文档进行书面检查它通过人工模拟执行源程序的过程,检查软件设它通过人工模拟执行源程序的过程,检查软件设计的正确性计的正确性人工模拟也像计算机执行那样,可以仔细推敲、校验和人工模拟也像计算机执行那样,可以仔细推敲、校验和核实每一步的执行结果,进而确定其执行逻辑、控制模核实
40、每一步的执行结果,进而确定其执行逻辑、控制模型、算法和使用参数与数据的正确性型、算法和使用参数与数据的正确性3737/39/39软件验证和确认软件验证和确认( (续续) )审查是软件验证和确认中的一个主要方法,可审查是软件验证和确认中的一个主要方法,可弥补其他方法的不足弥补其他方法的不足它是一种用形式的、有效的和经济的方法查找设它是一种用形式的、有效的和经济的方法查找设计和编程中的错误计和编程中的错误审查的主要目的是审查的主要目的是1)1)找出软件中的缺陷找出软件中的缺陷2)2)核实是否符合需求核实是否符合需求3)3)早期生产评价早期生产评价4)4)过程评价等过程评价等3838/39/39软件
41、验证和确认软件验证和确认( (续续) )由第三方进行软件评测工作是十分重要的由第三方进行软件评测工作是十分重要的用评测工具对软件进行静态的和动态的评测,能发用评测工具对软件进行静态的和动态的评测,能发现软件设计的缺陷、瓶颈和多余物等现软件设计的缺陷、瓶颈和多余物等用于软件测试的各种方法、技术、工具和措施等对用于软件测试的各种方法、技术、工具和措施等对软件进行评测软件进行评测,对提高软件的可靠性都是必要的,对提高软件的可靠性都是必要的,但不是充分的但不是充分的即其中任何一个手段,均不能绝对保障软件的可靠性,即其中任何一个手段,均不能绝对保障软件的可靠性,但只要能发现软件中任何一个微小的错误,就起到了它但只要能发现软件中任何一个微小的错误,就起到了它的作用的作用3939/39/39作业作业 如果软件研发企业安排你负责本企业的如果软件研发企业安排你负责本企业的CMM 2CMM 2认证,你如何进行认证所必须的基础建设,如何认证,你如何进行认证所必须的基础建设,如何开展认证准备工作?开展认证准备工作?