在软件Software开发过程中
![](/icons/59680dou.gif)
当某个模块详细设计文档(Detail Design)完成后
![](/icons/59680dou.gif)
软件Software开发人员会按照详设文档
![](/icons/59680de.gif)
设计要求进行代码开发
![](/icons/59680dou.gif)
而软件Software测试人员会按照详设文档
![](/icons/59680de.gif)
要求进行测试用例设计
![](/icons/59680dou2.gif)
因此
![](/icons/59680dou.gif)
详细设计
![](/icons/59680de.gif)
内容是否完善、有无重大缺陷;软件Software开发、测试人员是否正确深入
![](/icons/59680de.gif)
了解了详细设计
![](/icons/59680de.gif)
内容和设计思路
![](/icons/59680dou.gif)
都直接关系到该模块
![](/icons/59680de.gif)
开发进度和产品质量
![](/icons/59680dou2.gif)
那么怎样才能够完善模块
![](/icons/59680de.gif)
详细设计
![](/icons/59680dou.gif)
并让开发、测试人员正确
![](/icons/59680de.gif)
贯彻设计人员
![](/icons/59680de.gif)
设计思路呢?针对详设级别
![](/icons/59680de.gif)
同行评审可以有效地解决这个问题
![](/icons/59680dou2.gif)
针对详设
![](/icons/59680de.gif)
同行评审
![](/icons/59680dou.gif)
其主要目
![](/icons/59680de.gif)
是检查和确认详细设计中
![](/icons/59680de.gif)
缺陷
![](/icons/59680dou.gif)
以便在模块开发周期中
![](/icons/59680de.gif)
早期阶段清除设计方面
![](/icons/59680de.gif)
缺陷
![](/icons/59680dou2.gif)
就缺陷修复
![](/icons/59680de.gif)
成本而言
![](/icons/59680dou.gif)
在代码开发工作开始的前就清除设计方面
![](/icons/59680de.gif)
缺陷
![](/icons/59680dou.gif)
其所付出
![](/icons/59680de.gif)
成本是较低
![](/icons/59680de.gif)
![](/icons/59680dou2.gif)
而且这个检查和确认
![](/icons/59680de.gif)
过程
![](/icons/59680dou.gif)
对评审
![](/icons/59680de.gif)
参和人员而言
![](/icons/59680dou.gif)
也有助于他们了解参评
![](/icons/59680de.gif)
模块
![](/icons/59680dou2.gif)
那么
![](/icons/59680dou.gif)
当我们确定对详细设计进行同行评审时
![](/icons/59680dou.gif)
其主要参和者都应该是哪些角色呢?
试问
![](/icons/59680dou.gif)
在
![](/icons/59680yi.gif)
个软件Software项目团队(Team)中
![](/icons/59680dou.gif)
除了详计文档
![](/icons/59680de.gif)
设计人员的外
![](/icons/59680dou.gif)
还有谁对详细设计质量拥有发言权呢?有人可能会说是详细设计
![](/icons/59680de.gif)
Reviewer(检阅人员)
![](/icons/59680dou2.gif)
诚然
![](/icons/59680dou.gif)
详细设计
![](/icons/59680de.gif)
Reviewer往往是团队(Team)中比较有经验
![](/icons/59680de.gif)
“牛人”级角色
![](/icons/59680dou.gif)
也有可能是详设人员
![](/icons/59680de.gif)
直属Leader
![](/icons/59680dou2.gif)
从技术角度上讲
![](/icons/59680dou.gif)
他们对于模块
![](/icons/59680de.gif)
详细设计是有发言权
![](/icons/59680de.gif)
![](/icons/59680dou.gif)
能够对详细设计得框架进行把关
![](/icons/59680dou.gif)
但是由于角色、职责、精力等方面
![](/icons/59680de.gif)
限定
![](/icons/59680dou.gif)
他们往往不会对其审查
![](/icons/59680de.gif)
详设文档进行仔细
![](/icons/59680de.gif)
分析、走查
![](/icons/59680dou2.gif)
其审查往往只能做到走马观花式
![](/icons/59680de.gif)
宏观把握
![](/icons/59680dou.gif)
而对于细节问题往往予以忽略
![](/icons/59680dou2.gif)
在很多大型项目中
![](/icons/59680dou.gif)
模块
![](/icons/59680de.gif)
划分数量很多
![](/icons/59680dou.gif)
要进行评审
![](/icons/59680de.gif)
详设文档更如烟海
![](/icons/59680dou2.gif)
要同行评审中
![](/icons/59680dou.gif)
如果能有Reviewer级别
![](/icons/59680de.gif)
人物参加
![](/icons/59680dou.gif)
当然最好
![](/icons/59680dou2.gif)
但是基于时间和效率方面考虑
![](/icons/59680dou.gif)
让Reviewer参加每
![](/icons/59680yi.gif)
次详设评审
![](/icons/59680dou.gif)
是很难做到
![](/icons/59680de.gif)
![](/icons/59680dou2.gif)
他们往往只参加
![](/icons/59680yi.gif)
些重要级别模块详设
![](/icons/59680de.gif)
同行评审
![](/icons/59680dou2.gif)
其实
![](/icons/59680dou.gif)
对于
![](/icons/59680yi.gif)
份详细设计文档质量优劣
![](/icons/59680dou.gif)
感受最深
![](/icons/59680de.gif)
往往是工作在详细设计层下游
![](/icons/59680de.gif)
软件Software开发、测试人员
![](/icons/59680dou2.gif)
他们
![](/icons/59680de.gif)
工作
![](/icons/59680dou.gif)
直接依照详细设计进行
![](/icons/59680dou.gif)
详细设计文档
![](/icons/59680de.gif)
质量直接影响到他们实际
![](/icons/59680de.gif)
工作效率和产品质量
![](/icons/59680dou2.gif)
他们在日常工作中
![](/icons/59680dou.gif)
对于详设文档
![](/icons/59680dou.gif)
往往是逐字逐句
![](/icons/59680de.gif)
斟酌揣摩
![](/icons/59680dou.gif)
对于文档中
![](/icons/59680de.gif)
![](/icons/59680yi.gif)
些细节问题尤为敏感
![](/icons/59680dou2.gif)
因此
![](/icons/59680dou.gif)
各模块
![](/icons/59680de.gif)
开发、测试人员应该参和自己所负责模块
![](/icons/59680de.gif)
详设评审
![](/icons/59680dou.gif)
并根据自己
![](/icons/59680de.gif)
工作职责和需要
![](/icons/59680dou.gif)
对详细设计提出相应
![](/icons/59680de.gif)
修改意见
![](/icons/59680dou2.gif)
开发、测试人员
![](/icons/59680de.gif)
加入
![](/icons/59680dou.gif)
不但可以使模块
![](/icons/59680de.gif)
详细设计更加贴进于实际
![](/icons/59680de.gif)
开发工作
![](/icons/59680dou.gif)
同时也可以让参和同行评审
![](/icons/59680de.gif)
开发、测试人员明确是设计者
![](/icons/59680de.gif)
意图
![](/icons/59680dou.gif)
确定自己要开发
![](/icons/59680de.gif)
或要测试
![](/icons/59680de.gif)
是什么样
![](/icons/59680de.gif)
软件Software
![](/icons/59680dou2.gif)
但是由于专业知识得限制
![](/icons/59680dou.gif)
![](/icons/59680yi.gif)
些初级
![](/icons/59680de.gif)
开发和测试人员往往难以对能够对详细设计中
![](/icons/59680de.gif)
![](/icons/59680yi.gif)
些复杂
![](/icons/59680de.gif)
设计问题
![](/icons/59680dou.gif)
提出实质性
![](/icons/59680de.gif)
改进意见
![](/icons/59680dou2.gif)
因此如果条件允许
![](/icons/59680dou.gif)
还有必要邀请
![](/icons/59680yi.gif)
两位有经验
![](/icons/59680de.gif)
专家
![](/icons/59680dou.gif)
参和评审
![](/icons/59680dou2.gif)
除了保证详细设计质量外
![](/icons/59680dou.gif)
同行评审可以给设计、开发、测试人员提供
![](/icons/59680yi.gif)
个跨部门
![](/icons/59680de.gif)
横向交流机会;同时也可以从“设计”、“开发”、“测试”等区别
![](/icons/59680de.gif)
角度来对整个模块设计
![](/icons/59680de.gif)
合理性提供意见;相关人员汇聚到
![](/icons/59680yi.gif)
起进行同行评审
![](/icons/59680dou.gif)
通过相互沟通
![](/icons/59680dou.gif)
较好
![](/icons/59680de.gif)
了解模块
![](/icons/59680de.gif)
相关背景知识
![](/icons/59680dou.gif)
避免了日后繁琐
![](/icons/59680de.gif)
交流
![](/icons/59680dou.gif)
减少了“
![](/icons/59680yinwei.gif)
对项目设计思路
![](/icons/59680de.gif)
理解不
![](/icons/59680yi.gif)
致
![](/icons/59680dou.gif)
而产生
![](/icons/59680cuowu.gif)
”
![](/icons/59680de.gif)
可能性
![](/icons/59680dou2.gif)
在实际操作中
![](/icons/59680dou.gif)
由开发和测试人员参和
![](/icons/59680de.gif)
详细设计同行评审
![](/icons/59680dou.gif)
可以以“走读”为主;在技术实力较强
![](/icons/59680de.gif)
情况下
![](/icons/59680dou.gif)
也可以进行“技术评审”
![](/icons/59680dou2.gif)
所谓“走读”
![](/icons/59680dou.gif)
其主要是对文档进行检查
![](/icons/59680dou.gif)
通过走读发现文档中存在
![](/icons/59680de.gif)
缺陷(可能包括逻辑矛盾、描述模糊和文法
![](/icons/59680cuowu.gif)
等)
![](/icons/59680dou.gif)
同时参和人员也可以进行技术交流
![](/icons/59680dou.gif)
初级人员也可以学习
![](/icons/59680yi.gif)
些技术方面
![](/icons/59680de.gif)
知识
![](/icons/59680dou.gif)
了解设计者
![](/icons/59680de.gif)
思路
![](/icons/59680dou2.gif)
而“技术评审”是
![](/icons/59680yi.gif)
个相对正式
![](/icons/59680de.gif)
评审过程
![](/icons/59680dou.gif)
其在规格、标准等方面进行评审
![](/icons/59680dou.gif)
并在评审后给出相应得修改意见
![](/icons/59680dou2.gif)
理论上
![](/icons/59680dou.gif)
![](/icons/59680yi.gif)
些模块构架级别
![](/icons/59680de.gif)
东西
![](/icons/59680dou.gif)
应该在概要设计阶段就已经
![](/icons/59680de.gif)
得到了解决
![](/icons/59680dou2.gif)
我们在评审时
![](/icons/59680dou.gif)
不需要在框架问题上多花功夫
![](/icons/59680dou2.gif)
但是在实际操作中
![](/icons/59680dou.gif)
![](/icons/59680yi.gif)
些构架方面
![](/icons/59680de.gif)
东西往往到编码
![](/icons/59680de.gif)
后期还在不停
![](/icons/59680de.gif)
修改
![](/icons/59680dou2.gif)
因此
![](/icons/59680dou.gif)
在进行概要设计评审时
![](/icons/59680dou.gif)
设计者应该做好改变甚至推翻模块原有框架
![](/icons/59680de.gif)
心理准备
![](/icons/59680dou2.gif)
详细设计
![](/icons/59680de.gif)
评审
![](/icons/59680dou.gif)
应该提前制定相应得计划
![](/icons/59680dou.gif)
并做好充分
![](/icons/59680de.gif)
准备
![](/icons/59680dou.gif)
制定评审
![](/icons/59680de.gif)
入口准则和相关规程
![](/icons/59680dou.gif)
确定评审时间
![](/icons/59680dou.gif)
安排相关组织者和和会人员
![](/icons/59680dou.gif)
准备所需材料等
![](/icons/59680dou2.gif)
同行评审由专门
![](/icons/59680de.gif)
组织者主持
![](/icons/59680dou.gif)
并有作者和相关同行出席
![](/icons/59680dou2.gif)
其规模不宜过大
![](/icons/59680dou.gif)
大致可以控制在 7人以下
![](/icons/59680dou2.gif)
在会议过程中
![](/icons/59680dou.gif)
可以先由作者对其详细设计进行讲解
![](/icons/59680dou.gif)
引导大家进行走读
![](/icons/59680dou2.gif)
然后参和者们共同对详细设计进行评审
![](/icons/59680dou.gif)
确认问题
![](/icons/59680dou.gif)
并对其进行分类
![](/icons/59680yi.gif)
般情况下
![](/icons/59680dou.gif)
同行评审可以被控制在两个小时的内
![](/icons/59680dou2.gif)
![](/icons/59680yi.gif)
些简单
![](/icons/59680de.gif)
模块
![](/icons/59680dou.gif)
可以把同行评审压缩到
![](/icons/59680yi.gif)
个小时的内
![](/icons/59680dou2.gif)
在评审过程中
![](/icons/59680dou.gif)
如果遇到问题需要延时
![](/icons/59680dou.gif)
可以由作者决定是否召开“第 3小时会议”
![](/icons/59680dou2.gif)
评审结束后
![](/icons/59680dou.gif)
有必要对评审问题进行跟踪
![](/icons/59680dou.gif)
以便确认确陷
![](/icons/59680de.gif)
到了修改
![](/icons/59680dou.gif)
并且没有引入新
![](/icons/59680de.gif)
缺陷