一谈软件技术审查

虽然知道技术审查的好处,但我从来也没有敢提过技术审查。技术审查很容易和指责或问责联系在一起,总是个出力不讨好的活。并且,你有什么资格审查别人的工作呢?

其实,这可能是对技术审查的误解。

我们有正式的审查,如文档评审和项目验收等。文档评审,通常是在需求和设计阶段进行的,而项目验收则是在项目完成之前进行的。但在这两者之间,在软件实现阶段,缺乏中间过程的审查。因此项目管理着在软件项目管理时没有信心。如果到验收时才发现功能点没有完成,或者实现的功能和期望的不一致,那么是不是意味着项目失败呢?

在雷达系统配套软件中,即使没有软件实现阶段的技术审查,起副作用也不是很明显。因为雷达系统经常有一个漫长调试周期,并且在调试过程中,会用到软件部分,这也是对软件的一种审查:功能审查。软件开发人员可以利用这个间隙发现问题,并进行修改完善。但是代价往往是软件开发效率较低。

所以,如果只是对软件过程开始阶段和结束阶段进行审查,然后期望几个月后得到期望的软件产品,估计是不可能的。因此,软件技术审查就很有必要。

Weinberg认为技术审查有四点好处:审查提高进度表性能,审查消除多余的工作,审查补充测试,审查提供培训。

通过审查,可以掌握开发进度,发现可能延期的部分,及时分析原因,采取补救措施,微调计划,使实际进度向计划进度靠拢。

在编码前,对设计进行审查,就可以消除大部分设计错误,避免在开发中走弯路。在编码时,进行审查,就可能发现偏离之处,及时拉回到正确的轨道上。

测试一般是在软件开发基本完成之后才进行的,而审查几乎可以随时进行,因此可以更早地发现问题。可以把审查看作是早期的测试,是主动测试,主动找出设计、编码中的错误,避免后期错误引起的巨大损失。

技术审查是相互学习的过程。对审查者来说,可以了解被审查者的工作,一旦被审查者调离去做别的项目,审查者可以立刻接手他的工作,使项目顺利进行。被审查者可以通过审查,了解自己哪些方面做得好,而哪些方面还有待提高,从而知道自己应加强哪些方面的学习,改进工作,最终提供软件质量。

现在,我们已经接受了对文档的审查,改进了前期的设计部分。可以再进一步,对软件实现过程进行审查,加快开发进度,提高软件质量。

那么,对软件要审查哪些方面呢?整理了一下,有以下几个方面:

1. 代码整洁度:如果代码不整洁,如对齐、缩进,说明代码质量不高;如果过多的调试语句,说明算法的完成度不高,或稳定度不高。

2. 注释的质量:注释是多了还是少了,注释对阅读代码有没有帮助,注释与代码的一致程度等。

3. 模块化程度:可以审查对细节的封装度,以及模块间的耦合度等。

4. 架构的清晰度:可以审查软件模块间是如何协作,如何传递数据的,看有没有清晰的架构。

5. 构建的便捷度:比如有没有方便的构建方法、构建脚本等。

还有哪些可以审查的呢?

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年2月11日
下一篇 2019年2月11日

相关推荐