软件评测 如何完善质量管理体系
过程控制信息化工程特别是应用软件开发,真正按进度、质量要求完成且用户(业主)满意的,只占极少数,绝大多数工程都不同程度地存在问题,不少工程验收不了,或者验收完了就弃之不用,存在大量浪费资金的现象。这种现象存在的主要原因就是软件系统建设过程的可视性差,而且在度量和检查方面难度较高。这一部分内容的监理也是信息工程监理的主要难点,它涉及到对应用软件产品设计、开发过程的监理。 应用软件开发项目质量控制的要点之一,是在软件开发全过程的关键点采用质量度量技术对项目的质量进行评估,以便有效地进行项目的质量控制。对于信息工程监理来说,没有项目的质量度量,等于没有质量标准。在项目质量度量中,我们常用的质量度量有软件可靠性度量、复杂度度量、缺陷度量、规模度量等。 制定工程标准标准化工作极为重要,它是支撑信息化工程建设和目标实现的重要手段。满足系统建设、运行维护和管理工作的实际需要的工程建设管理标准,是项目成功建设和顺利运行的基本保障。 本项目工程建设标准的关键质量控制点,是要确保建立起联系紧密、相互协调、层次分明、构成合理、相互支持、满足需要的标准体系并贯彻实施,以支持整体工程建设和运营维护。为了实现这个目标,在质量控制监理工作中要注重以下几个方面: 1.判断本项目工程标准质量好坏的唯一准则是该标准是否能够正确地指导项目建设和运营维护,达到项目的建设目标。因此要把数据能否正确地进行共享与交换,业务处理是否正常,管理标准是否能够确实指导、约束参见单位的行为,运营维护标准的实用性等方面作为质量标准,结合使用标准的参建单位和专家评审意见,最终确认工程标准的质量是否达到合同要求。 2.由于标准化工作的承建单位是由多个单位组成的联合体,监理要由联合体各单位组成的项目组中,选择一位技术精湛、协调能力强的人员对标准编制进行总体把控,以避免标准的各部分出现结构松散、层次不清、内容粗细和深浅不同、指标项缺失、要求过高,甚至互相抵触等问题出现。 3.在技术标准的制定工作中,提出的指标项应当合理、可行,要有全局性考虑。例如,总体技术要求“表的设计要达到第三范式,又要求部分关键表应当单独进行备份”,这将造成表的设计受到很大的约束,或者造成备份出来的表难以恢复至数据库中。 4.对于工程管理的编制要脚踏实地,不能高高在上,过于宏观。对于这样一个有众多参建单位的项目,管理标准的细度应该达到如“文档编制要用Office 2003,UML工具用Rational Rose”等。编制出的工程管理标准草案应立即在一定范围内试用,以验证其可行性。要充分征求各方面的意见。 注重软件测试及度量应用软件建设是系统建设真正的灵魂所在,承建单位的测试是开发过程中一个不可缺少的环节,它对信息系统的质量、进度都将具有重大的影响。一般来说,承建单位需要完成从单元测试、集成测试、确认测试到系统测试的全部测试工作。测试的规划、实施是贯穿在整个开发过程的,监理方质量控制的一个重要工作就是对承建单位的测试过程进行监督和管理,以达到促使承建单位提高工程质量、控制承建单位的开发质量的目的。 监理对承建单位的测试的监理工作可分为测试过程的监理和测试问题的监理。掌握了软件测评能力的监理能够根据项目开发的方式与实际情况,对软件开发的工作量、进度、需求分析、设计、编码、测试直至验收的全过程任意点进行检测、度量和评估,使软件开发过程透明化。这样,监理就能够在第一时间发现问题,督促承建单位进行整改,从而达到控制开发质量,保证项目工期和投资的目的。 例如,监理可以通过掌握的测评手段,通过代码标准校验,来提高代码的可靠性,还可以检查以DbC(Design by Contract)规范开发的代码的正确性,同样可以对设计是否符合规范等进行检查和评估。通过这样的检查,就能预防类似于未处理异常、函数错误、内存泄漏、性能问题、安全隐患这样的代码问题,以及违反开闭原则、替换原则、依赖性原则等等设计问题,使预防设计和代码错误成为可能,从而大大节约成本,提高软件质量、开发效率和监理工作的有效性。 如果监理不具备评测能力,不仅仅是无法使整个开发过程处于透明状态,就是最基本的监理工作也无法做到位。试想一下,如果监理不懂得测试技术,没有掌握相关的检测、度量和评估技能,如何能够对开发方的测试过程进行有效的监理?对于开发方的测试计划、测试用例、测试过程、测试结构报告、测试分析、覆盖率分析等的正确性、合理性和有效性如何能够做出正确判断呢? 因此在应用软件建设项目,特别是电子政务建设项目中,软件测评能力已是有效实施监理的重要手段之一。这一点有可能成为未来监理商是否得到青睐的制胜法宝,也是监理应具备的关键能力之一。这一点也得到越来越多的用户的认可。