3.1 软件开发过程成熟度(Process Matu rity,简称PM)软件开发过程成熟度(PM)的高低取决于软件开发者对开发过程的管理及工程能力的高低:依据CMMI评估的PM能反映其对提高软件开发过程能力的投资水平。对开发过程的控制能力和自我改善能力越强,在实际系统开发中软件开发错误与重复工作越少,软件开发质量越高。

  3.2 软件的大小与复杂性{Size and Complexity,简称SC)软件的大小主要取决于项目的大小及其业务的复杂程度,反映到程序中则可以通过系统模块的数量和可以执行程序语句的多少(主要是其行数)来测量。软件的复杂性主要包括技术专业、数据和决策三方面的复杂性。技术专业的复杂性体现在系统功能实现的困难,特别是系统中运算法则和计算统计的实现;数据的复杂性是指软件中数据结构和关系的复杂性;决策的复杂性是指软件中决策路径的复杂性和结构的复杂性。软件在这三方面越复杂,那么在软件开发过程中发现和未发现的错误越多,软件开发的质量越加难以得到保证。

  3.3 软件项目所需的资源(Development Resource,简称DR)软件项目所需的资源包括系统开发所需的人力、物力、财力,DR主要与SC,PM,SQ以及DT,PC有关系。其中SC越大,DR越大;增强PM,DR增加:DT,PC越大,DR越小。在模型中,对于系统所需资源DR而言,DR与SQ的关系是互补的,成反比关系,因为软件质量提高会减少错误。而这些错误很容易导致实质性的重复工作,由此造成的费用远比项目早期用于改善质量方面的投资大很多,从而既可以减少反复修改的时间,提高工作效率,还可以降低人力资本与资金。对于软件质量SQ而言,在遵循严格的系统步骤、使用质量工具、进行严格的系统测试以及代码审核来提高系统开发质量时,SQ与DR的关系是均衡一致的,成正比关系。

  3.4 使用的开发工具(Development Tools,简称Dn使用的开发工具(DT)主要是指在软件开发的各个阶段对软件开发工具的使用。在模型中,DT不仅会影响SQ,而且也影响DR,因为在软件开发中,对软件开发工具的使用越多(DT越大),软件一致性越差,系统协调性工作也越大,从而SQ越加难以保证,DR越大。

  3.5 开发人员的能力(Personal Capability,简称PC)开发人员的能力(PC)是指软件开发小组成员的技术能力和开发小组的整体开发畿力。PC一方面影响着SQ,另一方面也影响着DR。一般而言,PC越强,DR(主要是指时间)越少,SQ越有保证。根据CMMI,PM较差的软件开发往往主要依靠于系统开发人员个人经验的积累,在很大的程度上影响着系统开发质量。

  4、基于CMMI的软件项目质量管理框架

  如前所述,在项目开发质量概念模型的分析中,仅将软件开发质量取决于人员能力和技术层面是不够的,软件过程成熟度才是直接影响软件开发质量的主要因素。由于开发人员的能力主要体现于团队的力量和能力,技术则主要通过软件工具及开发方法的应用来集中体现,软件过程成熟度则主要体现十对软件开发过程的控制能力和自我改善能力。所以我们必须通过以建立有效、稳定的软件过程为核心来强化开发人员团队化管理以及软件开发工具的应用,从而达到对软件的质量控制。基于CMMI的层次结合软件项目管理的特点给出其软件过程的质量控制关键框架(如图3所示)。项目管理者联盟文章

  通过建立基于CMMI的软件项目质量管理框架,给中小软件企业的软件项目开发提供了一个参考,对于提高软件质量和软件项目成功率是有一定帮助的。