系统架构设计笔记(55)—— 评审方法

根据 IEEE1028 的定义,评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。

  • 狭义的 “ 软件评审 ” 通常指软件文档和源程序的评审。
  • 广义的 “ 软件评审 ” 还包括与软件测试相结合的评审及管理评审。

软件评审包括软件需求评审 、 概要设计评审 、 详细设计评审 、 软件验证和确认评审 、 功能检查 、 物理检查 、 综合检查和管理评审。

(1)软件需求评审。在软件需求分析结束后必须进行软件需求评审( software requirements review ),以确保在软件需求说明书中所规定的各项需求的合适性。

(2)概要设计评审。在软件概要设计结束后必须进行概要设计评审( preliminary design review ),以评价软件设计说明书中所描述的软件概要设计在总体结构 、 外部接口 、 主要部件功能分配 、 全局数据结构以各主要部件之间的接口等方面的合适性。

(3)详细设计评审。在软件详细设计结束后必须进行详细设计评审( detailed design review ),以评价软件设计说明书中所描述的软件详细设计在每一个基本部件的功能 、 算法和过程描述等方面的合适性。

(4)软件验证和确认评审。在软件验证与确认计划完成后必须进行软件验证与确认评审( software verification and validation review ),以评价软件验证与确认计划中所规定的验证与确认方法的合适性与完整性。

(5)功能检查。在软件释放前,要对软件进行功能检查( functional audit ),以验证所开发的软件已经满足在软件需求说明书中规定的所有需求。

(6)物理检查。在软件验收前,要对软件进行物理检查( physical audit ),以验证程序和文档已经一致并已做好了交付的准备。

(7)综合检查。在软件验收时,要允许用户或用户所委托的专家对所要验收的软件进行设计抽样的综合检查( comprehensive audit ),以验证代码和设计文档的一致性 、 接口规格说明的一致性(硬件和软件) 、 设计实现和功能需求的一致性 、 功能需求和测试描述的一致性。

(8)管理评审。要对计划的执行情况定期(或按阶段)进行管理评审( management reviews ),这些评审必须由独立于被评审单位的机构或授权的第三方主持进行。

在评审过程中,以下几点值得注意:

扫描二维码关注公众号,回复: 11452621 查看本文章

(1)不应以测试代替评审。许多缺陷是在早期阶段引入的,缺陷发现得越晚,纠正费用越高。而且每个进入下一步骤的缺陷都可能引起下一步骤中的多个缺陷,导致消除成本的剧增。早期阶段可以进行评审,但是无法进行测试,评审的目的就是减少泄漏到测试阶段的缺陷。评审可能会花很多时间,但在测试中节省了时间。而且,测试也不能发现某些特定类型的缺陷(例如违犯编程规范)。

(2)评审人员应关注产品而不应评论开发人员。评审的主要目的是发现产品中的问题,而不是根据产品来评价开发人员的水平。但是往往会出现把产品质量和开发人员水平联系起来的事情,于是评审变了味,变成了 “ 批斗大会 ” ,极大地打击了开发人员的自尊心,以至于严重地影响了评审的效果。

(3)评审人员应关注于实质性问题。评审中经常会出现这样的现象,评审人员过多地关注于一些非实质性的问题,例如,文档的格式 、 措词,而不是产品的设计。出现这种情况,可能的原因有:没有选择合适的人参加评审,评审人员对评审对象没有足够的了解,无法发现深层次的问题。

(4)评审会议不应变为问题解决方案讨论会。评审会议主要的目的是发现问题,而不是解决问题,问题的解决是评审会议之后需要做的事情。但是,由于开发人员对技术的追求,评审会议往往变成了问题研讨会,大量地占用了评审会议的时间,导致大量评审内容被忽略,留下无数的隐患。

(5)评审应被安排进入项目计划。参与评审需要投入大量的时间和精力,应该被安排进入项目计划中。但在现实中,评审往往变成了临时安排的工作。如此一来,出现评审人员对评审对象不了解的情况也就不足为奇了。

(6)评审参与者应了解整个评审过程。如果评审参与者不了解整个的评审过程,就会有一种自然的抗拒情绪,因为大家看不到做这件事情的效果,感觉很迷茫,这样会严重地影响大家参与评审的积极性。

(7)评审人员事先应对评审材料充分了解。任何一份评审材料都是他人智慧和心血的结晶,需要花足够的时间去了解 、 熟悉和思考。只有这样,才能在评审会议上发现有价值的深层次问题。在很多的评审中,评审人员因为各种的原因,在评审会议之前对评审材料没有足够的了解,于是出现了评审会议变成了技术报告的怪现象。

(8)应重视评审的组织工作。在组织评审的过程中,很多人不太注意细节。例如,会议时间的设定,会议的通知,会议场所的选择,会场环境的布置,会议设施的提供,会议上气氛的调节和控制等,而实际上这样的细节会大大影响评审会议的效果。


猜你喜欢

转载自blog.csdn.net/deniro_li/article/details/107576325