1、让软件过程更简洁、实用让软件过程更简洁、实用CMMI 实践解析第七部分 软件验证和确认让软件过程更简洁、实用让软件过程更简洁、实用课程概述软件验证和确认概述软件验证和确认概述验证(验证(VER)确认(确认(VAL)123软件验证和确认总结软件验证和确认总结4让软件过程更简洁、实用让软件过程更简洁、实用软件需求和验证活动的V模型让软件过程更简洁、实用让软件过程更简洁、实用评审的分类审查(Inspection)团队评审(Team Review/Technical Review)走读(Walk Though)成对编程(Pair Programming)同行检查(Peer Desk Check)特别检
2、查(Ad hoc Review)让软件过程更简洁、实用让软件过程更简洁、实用评审的正式程度让软件过程更简洁、实用让软件过程更简洁、实用课程概述软件验证和确认概述软件验证和确认概述验证(验证(VER)确认(确认(VAL)123软件验证和确认总结软件验证和确认总结4让软件过程更简洁、实用让软件过程更简洁、实用Verification(验证)The purpose of Verification(VER)is to ensure that selected work products meet their specified requirements.验证的目的是确保选择的工作产品满足指定的需求。相
3、关PA:VAL 产品和产品组件在计划的环境中实现使用。RD 产生和开发客户、产品和产品组件需求。REQM 管理需求。让软件过程更简洁、实用让软件过程更简洁、实用Verification(验证)让软件过程更简洁、实用让软件过程更简洁、实用目标之间关系解析 SG1Prepare for Verification(准备验证)Corrective Actions(纠正行动)Verify SelectedWork Products(验证工作产品)PerformPeer Reviews(执行同行评审)SG1SG2SG3需求开发需求开发确认确认让软件过程更简洁、实用让软件过程更简洁、实用SG1 准备验证Pr
4、epare for Verification(SG1 准备验证)验证环境验证环境验证流程和准则验证流程和准则工作产品清单工作产品清单验证选择验证选择SP1.1 选择选择待验证待验证的工作产品的工作产品SP1.2 建立建立验证的环境验证的环境SP1.3 建立建立验证规程验证规程和准则和准则SG1让软件过程更简洁、实用让软件过程更简洁、实用目标之间关系解析 SG2Prepare for Verification(准备验证)Corrective Actions(纠正行动)Verify SelectedWork Products(验证工作产品)PerformPeer Reviews(执行同行评审)SG
5、1SG2SG3需求开发需求开发确认确认让软件过程更简洁、实用让软件过程更简洁、实用SG2 执行同行评审数据收集需求数据收集需求入口和出口准则入口和出口准则同行评审计划同行评审计划评审结果评审结果评审问题评审问题评审数据评审数据行动项行动项Perform Peer Reviews(SG2 执行同行评审)SP2.1 准备准备同行评审同行评审SP2.2 执行执行同行评审同行评审SP2.3 同行同行评审评审数据分析数据分析SG2让软件过程更简洁、实用让软件过程更简洁、实用SP2.1 准备同行评审有效的评审会议的检查标准和检查单你的检查表是否着重将检查员的注意力引向过去常发生错误的地方?是否侧重于缺陷检
6、查而不是纠错?在检查会议之前检查员是否有足够的准备时间?每一位检查员都作好了准备吗?每一位参与者是否都扮演不同的角色?会议是否开得富有成果?会议是否限制在2小时之内?协调者在指导检查方面接受过特殊的训练吗?在每次检查中,错误类型数据是否都作了收集,以便于你今后制作检查表?每次检查所指定的条款是否都落实了?是由协调员本人还是重新作了检查?让软件过程更简洁、实用让软件过程更简洁、实用SP2.2 执行同行评审Infosys公司关于评审的经验教训:评审应该包括外部专家,以增加项目团队的才干。采用一个良好定义和结构化的评审过程。评审只关注故障和问题,而不讨论解决(要考虑解决思路,具体实现不考虑)。有效利
7、用各种评审形式。监督每次评审的有效性。需要对评审绩效进行监控,并采取纠正和预防措施。首先通过实验改变观念(但很多时候是态度问题,已经不是简单的观念问题)让软件过程更简洁、实用让软件过程更简洁、实用SP2.3 分析同行评审数据评审缺陷数小于预计缺陷数评审的工件业务逻辑较简单评审人员没有充分的按检查单预审(规范,态度)评审人员没有经过评审的培训(技能)工作产品的质量非常好(技能)评审和预审时间是否完全应用,是否充足(计划)评审缺陷数大于预计缺陷数工作产品的质量较低(技能,规范,职责,态度)工作产品本身业务逻辑非常复杂(技能)次要缺陷多而主要缺陷少(规范,态度)被评审模块是项目第一个模块 (培训)让
8、软件过程更简洁、实用让软件过程更简洁、实用目标之间关系解析 SG3Prepare for Verification(准备验证)Corrective Actions(纠正行动)Verify SelectedWork Products(验证工作产品)PerformPeer Reviews(执行同行评审)SG1SG2SG3需求开发需求开发确认确认让软件过程更简洁、实用让软件过程更简洁、实用SG3 验证选择的工作产品验证结果验证结果不足不足验证数据验证数据纠正行动纠正行动Verify Selected Work Products(SG3 验证选择的工作产品)SP3.1 执行执行验证验证SP3.2 分析
9、分析验证结果验证结果SG3让软件过程更简洁、实用让软件过程更简洁、实用如何达到能力等级2级让软件过程更简洁、实用让软件过程更简洁、实用如何达到能力等级3级让软件过程更简洁、实用让软件过程更简洁、实用课程概述软件验证和确认概述软件验证和确认概述验证(验证(VER)确认(确认(VAL)123软件验证和确认总结软件验证和确认总结4让软件过程更简洁、实用让软件过程更简洁、实用Validation(确认)The purpose of Validation(VAL)is to demonstrate that a product or product component fulfills its inte
10、nded use when placed in its intended environment.确认的目的是证明产品或产品组件在计划的环境中是满足使用的。相关PA:RD 需求确认。TS 转换需求成为产品规格,并且在确认已识别的问题影响产品和产品组件设计时采取纠正措施。VER 产品和产品组件满足需求。让软件过程更简洁、实用让软件过程更简洁、实用Validation(确认)让软件过程更简洁、实用让软件过程更简洁、实用目标之间关系解析 SG1一致性一致性不足之处不足之处Prepare for Validation(准备确认)Validate Product orProduct Components
11、(确认产品和产品组件)需求开发需求开发SG1SG2让软件过程更简洁、实用让软件过程更简洁、实用SG1 准备确认Prepare for Validation(SG1 确认准备)确认环境确认环境 确认流程和准则确认流程和准则产品清单和产品产品清单和产品选择确认的组成选择确认的组成SP1.1 选择选择待确认的待确认的工作产品工作产品SP1.2 建立建立确认环境确认环境SP1.3 建立建立确认过程确认过程和准则和准则SG1让软件过程更简洁、实用让软件过程更简洁、实用目标之间关系解析 SG2一致性一致性不足之处不足之处Prepare for Validation(准备确认)Validate Produc
12、t orProduct Components(确认产品和产品组件)需求开发需求开发SG1SG2让软件过程更简洁、实用让软件过程更简洁、实用SG2 确认产品和产品组件Validate Product or Product Components(SG2 确认产品或产品组件)确认报告确认报告确认结果确认结果对照矩阵对照矩阵运行流程日志运行流程日志操作实例操作实例确认缺陷报告确认缺陷报告确认问题确认问题流程变更请求流程变更请求SP2.1 执行执行确认确认SP2.2 分析分析确认结果确认结果SG2让软件过程更简洁、实用让软件过程更简洁、实用如何达到能力等级2级让软件过程更简洁、实用让软件过程更简洁、实用
13、如何达到能力等级3级让软件过程更简洁、实用让软件过程更简洁、实用课程概述软件验证和确认概述软件验证和确认概述验证(验证(VER)确认(确认(VAL)123软件验证和确认总结软件验证和确认总结4让软件过程更简洁、实用让软件过程更简洁、实用验证和确认验证:确保工作产品符合其指定的需求。确认:确保工作产品满足于使用。换句话说,验证确保“你做对了(you built it right)”,确认确保“你做了正确的事(you built the right thing)”让软件过程更简洁、实用让软件过程更简洁、实用典型的验证活动单元测试子系统/系统测试集成测试评审代码走查让软件过程更简洁、实用让软件过程更简洁、实用典型的确认活动用户联合测试(UAT)验收测试试运行