我们把影响软件质量的因素分成三组,分别反映用户在使用软件产品时的三种不同倾向或观点。这三种倾向是:产品运行、产品修改和产品转移。信息系统作为一个产品,也可以参照这三种倾向来定义。
我们可以采取以下步骤实施全面质量控制:
1.实行工程化开发
“信息系统开发方法”一词的广义理解是“探索复杂系统开发过程的秩序”;狭义理解是“一组为信息系统开发起工具作用的规程”,按这些规程工作,可以较合理地达到目标。规程由一系列活动组成,形成方法体系。信息系统是一项系统工程,必须建立严格的工程控制方法,要求开发组的每一个人都要遵守工程规范。
2.实行阶段性冻结与改动控制
信息系统具有生命周期,这就为我们划分项目阶段提供了参考。一个大项目可分成若干阶段,每个阶段有自已的任务和成果。这样一方面便于管理和控制工程进度,另一方面可以增强开发人员和用户的信心。
在每个阶段末要“冻结”部分成果,作为下一阶段开发的基础。冻结之后不是不能修改,而是其修改要经过一定的审批程序,并且涉及到项目计划的调整。
3.实行里程碑式的审查与版本控制
里程碑式审查就是在信息系统生命周期每个阶段结束之前,都正式使用结束标准对该阶段的冻结成果进行严格的技术审查,如果发现问题,就可以及时在阶段内解决。版本控制是保证项目小组顺利工作的重要技术。版本控制的含义是通过给文档和程序文件编上版本号,记录每次的修改信息,使项目组的所有成员都了解文档和程序的修改过程。广义的版本控制技术称为软件配制管理,并已有功能完善的软件工具支持,如PVCS和Microsoft Visual SourceSafe。
4.实行面向用户参与的原型演化
在每个阶段的后期,快速建立反映该阶段成果的原型系统,通过原型系统与用户交互,及时得到反馈信息,验证该阶段的成果并及时纠正错误,这一技术被称为“原型演化”。原型演化技术需要先进的CASE工具的支持。
5. 尽量采用面向对象和基于构件的方法
面向对象的方法强调类、封装和继承,能提高软件的可重用性,将错误和缺憾局部化,同时还有利于用户的参与,这些对提高信息系统的质量都大有好处。
基于构件的开发又被称为“即插即用编程”方法,是从计算机硬件设计中吸收过来的优秀方法。这种编程方法是将编制好的“构件”插入已做好的框架中,从而形成一个大型软件。构件是可重用的软件部分,构件既可以自己开发,也可以使用其他项目的开发成果,或者直接向软件供应商购买。当我们发现某个构件不符合要求时,可对其进行修改而不会影响其他构件,也不会影响系统功能的实现和测试,就好像整修一座大楼中的某个房间,不会影响其他房间的使用。
6.全面测试
要采用适当的手段,对系统调查、系统分析、系统设计、实现和文档进行全面测试。
7.引入外部监理与审计
要重视信息系统的项目管理,特别是项目人力资源的管理,因为项目成员的素质和能力以及积极性是项目成败的关键。同时还要重视第三方的监理和审计的引入,通过第三方的审查和监督来确保项目质量。