对于任何一个企业来说,质量是其生存的根本,好的企业,必然需要好的产品才能立足市场,使得企业处于不败之地。对于软件生产企业来说也同样如此,软件质量的好坏直接影响到企业的生存。因此有必要建立一套行之有效的质量管理体系来保证软件产品的质量。
质量保证环境
基于软件过程质量控制的群体协同工作模型,项目组要建立了两个质量保证环境,一个是用于需求和设计阶段质量的管理和控制,另外一个就是编码和测试阶段的控制。
大家知道,在软件的需求和设计阶段,其主要成果是各种文档,如需求分析文档、设计(概要和详细)文档、测试计划等,这些文档的质量直接决定了软件的质量。在软件开发过程中,如同软件一样,一个文档有一个周期,如文档一般都经过编写、校对、评审、批准等阶段。以软件需求说明为例,它从一份草稿到正式通过,依次经历了以下各个方面的审核才能通过:校对、评审组评审、标检以及主管部门的批准和用户签署的意见。而在一个文档周期中,又涉及许多角色,如文档编写者、文档校对者、文档评审者及文档批准者等。因此,有必要建立一个质量保证环境来对需求和设计阶段中的各种文档、各种角色以及活动进行管理和控制。
在软件编码和测试阶段,软件的质量主要依靠测试活动来保证。在此阶段,主要焦点是软件问题报告,因此,建立一个以软件问题报告为中心,对相关文档(如测试计划、测试大纲和测试结果报告)和参与角色(如开发人员和测试人员)进行管理和控制的环境对最终保证软件质量是非常重要的。
这两个质量保证环境共同构成了一个完整的软件质量控制的群体协同工作支持平台。
协作流程模型
在软件过程质量控制的群体协作模型中,项目负责人需要定义多个角色:质量保证组、项目负责人、开发组、测试组以及项目验收小组,其中较为重要的有开发组、测试组和质量保证组等。另外,对于一些比较大型的项目,通常都有第三方的软件生产商参与开发,所以在该模型中也增加了第三方这个角色。和传统的软件开发过程的瀑布模型一样,在该模型中有软件开发计划、软件需求分析、软件设计、软件测试分析、软件验收等几个阶段。对应不同的软件开发阶段,有不同角色的人员参与开发,而对于质量保证组,它的活动则贯穿于整个软件生命周期,它的活动对整个软件项目将起到至关重要的作用。
借助工具,负责人要把项目开发人员、测试人员、验收人员、第三方厂家以及质量保证组相关工作之间的并行性和约束关系标明。在整个开发过程中开发人员和测试人员的联系比较密切,当软件的测试版完成后,软件测试组对该测试版进行测试,测试组把在测试过程中所发现的问题进行反馈,经过确认后在由软件开发组进行纠正。而且在开发过程中,质量保证组和开发组也对软件本身的质量进行监督和自查,从而进一步保证软件在投入使用之前能最大限度地减少错误。在测试过程中,如果发现错误是来自第三方的厂家,那么就把该错误及时地反馈到第三方厂家,让第三方对其进行纠正。
在软件过程质量控制的群体协同工作模型中,可以清晰地看到人员之间的协同工作,在软件开发的每一个阶段,项目小组中的不同人员之间所发生的联系是十分密切的,开发组所完成的每一项工作,都有质量保证组的成员对其进行监督和指导。正是在群体协同工作的模式下,才可以使开发人员的潜力发挥到最大的限度。