文档介绍:[ 1 ]Part1Chapter3 同行评审[ 2 ]同行评审本章重点:软件缺陷与软件评审同行评审及其在CMM中的地位同行评审的方法试一试同行评审的基础设施同行评审的组织管理小测验同行评审概述(Overview to Peer Reviews)[ 4 ]今日要点软件缺陷与软件评审同行评审及其在CMM中的地位同行评审的方法试一试同行评审的基础设施同行评审的组织管理小测验[ 5 ]软件的缺陷交付后的缺陷分布需求15%设计40%编码30%文档5%改错10% 许多缺陷是在早期阶段引入的资料来源: Applied Software Measurement, Capers Jones[ 6 ]尽早消除软件缺陷的价值来自上个步骤的缺陷放大了的缺陷,1:X本步骤新产生的缺陷缺陷检测有效性百分比传给下个步骤的缺陷来自上个步骤的缺陷缺陷数量的放大每个进入下个步骤的缺陷都可能引起下个步骤中的多个缺陷,导致消缺成本的剧增。缺陷发现越晚,纠正费用越高资料来源:Boehm, IBM,1981 1000100 10消除一个缺陷的相对成本需求分析实际运行40~1000倍系统测试30~70倍设计3~6倍编码10倍开发测试15~40倍1 1倍[ 7 ]测试是昂贵的传统的测试只能在生存周期的后半部分进行在需求、设计等阶段进行测试是不可能的测试消耗大量的时间测试计划、测试数据、测试脚本、测试执行和报告、调试、修正、重新测试通常测试不能发现一些特定类型的缺陷(例如违背编码标准)[ 8 ]因此——评审!评审是检查某些软件工作产品的唯一方式!评审的正式程度、着眼点和过程都有所不同。越早消除缺陷就越经济[ 9 ]评审的理想效果在保证一定质量目标的前提下,加快研发进度:减少修改/返工工作量发现测试工作不能发现的缺陷内部培训与沟通新技术、标准、管理手段……促进开发过程的持续改进无评审有评审需求设计编码测试R R R[ 10 ]某公司软件评审主要形式外部评审内部评审讨论设计评审代码走查