CMMI在智慧校园人事系统开发中的应用 

2016-11-07 21:58李娜
软件导刊 2016年9期

摘要:软件过程是软件质量的决定因素之一。从CMMI概念体系出发,结合CMMI过程改进特征分析,对过程改进的内容和步骤进行了梳理与归纳。结合信息系统项目实例,具体描述了过程域实施的内容和步骤,研究了CMMI在需求工程中的应用。

关键词:CMMI;过程改进;需求工程

DOIDOI:10.11907/rjdk.161539

中图分类号:TP319

文献标识码:A文章编号文章编号:16727800(2016)009012203

基金项目基金项目:

作者简介作者简介:李娜(1978-),女,安徽寿县人,硕士,江苏省行政学院信息管理处工程师,研究方向为信息技术。

0引言

随着信息化建设的推进,软件项目越来越多,规模越来越大,仅依靠人力投入和技术创新已无法从根本上解决软件质量面临的问题,开发过程管理水平的提高对保证软件质量起到重要作用。软件过程改进是软件质量管理的重要组成部分,国内外专家学者对软件质量管理和过程改进进行了深入的研究,取得了大量的学术成果,其中受到IT行业广泛重视的CMMI模型能够有效控制开发进度和成本、规范开发过程、促进开发过程管理水平的提高。本文结合某单位智慧校园管理信息系统开发项目中人事管理子系统(以下简称“人事系统”)实例,研究了CMMI在需求工程中的应用。

1CMMI模型分析

1.1软件开发过程改进

软件是计算机运行时所需的各种程序、数据、文档的集合,软件产品是智力密集型产品,软件质量包括软件产品的质量和开发过程的质量,由相互作用的人、技术、过程三方面因素共同决定。产品质量受过程质量的影响,软件质量很大程度取决于项目的开发过程。软件过程是软件生命周期的相关过程,是将客户需求转化为可执行软件的软件工程活动,成熟的软件过程是可定义、可测量、可预测、开发过程可视、开发结果可控的。软件过程改进是指提高软件过程能力的实践,现有的软件过程改进方法有PDCA循环、ISO9000系列标准、Cleanroom、CMMI(能力成熟度模型集成)理论等,这几种方法各有特色和优势,其中具有“循序渐进、持续改进”这一核心思想的CMMI过程改进和评估体系已经引起IT行业的充分重视,其成熟度等级是衡量软件企业开发能力和质量保证能力的重要标准。

1.2CMMI概念体系

CMU-SEI于20世纪80年代最先提出CMM(能力成熟度模型)理论,这一研究成果得到软件行业的广泛应用,成为软件过程改进的工业标准。CMMI在CMM的基础上发展而来,集成了多个学科和各种过程改进工作,提炼了多学科之间的公共过程域。在软件开发生命周期各阶段,不同的成熟度等级有与之相对应的诸多过程域,开发项目按照过程域的目标和实践要求实施过程改进,软件企业也因此规范开发过程、提高管理水平、增强竞争优势。

过程域(PA)是CMMI模型的最基本概念,是最佳实践的集合。要达到某个PA要求,就要实现该PA包含的所有目标(Goal)要求,要满足某个Goal的要求,就要实现该Goal包含的所有实践(Practice)要求,PA、Goal、Practice三者的层次关系如图1所示。

CMMI有阶段式和连续式两种表达法,两者所包含的过程域、目标、实践基本一致,但在描述对象、改进方式、等级划分、PA分类方式等方面存在区别。就改进方式而言,选择阶段式表达法,如要进行某一等级的改进,就要满足这个等级及其以下所有等级的所有PA要求;选择连续式表达法,可选择需要改进的PA进行针对性改进,分别得到各PA的能力等级。就等级划分和PA分类方式而言,阶段式表达法分为5个成熟度等级,而PA分布在CMMI2~CMMI5这4个等级中;连续式表达法中PA按过程管理、项目管理、工程、支持4大模块分类,每个PA实施不同能力等级的改进。6个能力等级分为未执行级、已执行级、已管理级、已定量级、定量管理级、优化级。这两种表达法各有鲜明的优缺点,应结合项目实际情况和改进目标,在两种表达法中选择。例如:如希望通过项目改进提高软件产品和开发过程的整体质量,建立更为完备的过程体系文件,通过对相关过程域实施全面改进得到相应的成熟度等级,应选择阶段式表达法;如项目开发的大多数过程处于良好程度,只希望提高某个或多个过程域能力,在过程域选择方面提高灵活性,而又需要避免改进工作量大、成本高的问题,应选择连续式表达法。

1.3CMMI过程改进特征

软件过程改进是制度化管理思想在软件开发项目中的运用,用一系列规则支持工作方式的制定和组织文化的建立,通过对改进方法的严格执行推动软件工程的工业化发展,例如CMMI过程域的目标和实践归纳了每个PA要达到的要求,这是过程改进制度化体现。CMMI实施要选择和遵循一定的实施流程,SEI开发的IDEAL模型定义了初始化、诊断、简历、行动和推进5个阶段,CMMI吸收了IDEAL循环改进概念,是过程改进流程化特征的体现。过程改进是一个反复循环的过程,实施改进后的CMMI过程域将经过再次评估,以期达到最优的实践方法,这体现了过程改进的持续性特征。实施过程注重文档规范和完备,过程改进的文档化有利于改进过程中的数据分析,更容易获得清晰的改进流程和改进效果。

2CMMI在人事系统需求工程中的应用

2.1人事系统过程改进目标

人事系统能否有效地辅助管理和决策,取决因素之一是系统本身是否符合本单位业务流程和工作规范。一般来说,人事管理涉及的业务范围相对有限,管理系统所需业务模块也相对统一,需要实现基本的功能包括基础数据存储、规范工作流程、信息互动、支持决策管理等,人事系统的产品质量主要表现在代码文档规范、系统功能完善、系统运行稳定等方面。人事系统过程改进需要实现的目标包括:对过程体系文件提高开发过程的可视程度,对过程域的执行提高开发过程的规范程度,对过程域实施流程设定提高开发过程的生产效率。

基于CMMI模型,应在过程改进之初,结合信息系统规模大小、技术难度、开发周期制定《过程改进计划》,改进计划规定了项目实施过程改进的顺序,即改进阶段涉及的所有PA的实施顺序。根据人事系统过程改进计划,需求开发(RD)和需求管理(RM)是优先级较高的两个PA,也是该系统改进阶段首先实施的改进过程。

2.2人事系统需求工程过程改进

2.2.1过程域分析

RD和RM这两个PA均属于工程类过程域,CMMI定义的特定目标和特定实践如表1所示。

2.2.2过程域实施

根据CMMI需求工程两个PA定义的目标和实践,人事系统《过程改进计划》规定了改进过程的工作产出(见表2)和过程域实施流程(见图2),改进工作应做到以过程体系文件作为实施改进依据,严格执行实施流程,遵循“循序渐进”思想,按照优先级顺序选择过程域,遵循“持续改进”思想分步骤不断执行。

该子系统的需求信息获取对象不仅是人事处,还应兼顾其它部门以及需要以人事信息进行管理决策的高层管理人员,全体人员都应是需求调研的对象,他们对系统功能的期望都应写入《用户需求说明书》。《用户需求说明书》采用自然语言和业务术语来描述用户需求,需系统化、架构化,采用机器语言和图形符号对需求进行刻画,经过定义最终生成《需求规格说明书》,形成系统设计的依据。需求经开发人员评审来明确其是否清晰、是否可实现,项目成员和主要业务部门对需求达成共识后,后续的开发将依据《需求规格说明书》进行。

需求管理的重要内容是需求变更控制。用户对需求的修改在所难免,需求的修改可能导致稳定的系统出现异常,通过引入需求变更控制,使需求文档成为双方一致的承诺和共同遵守的开发依据,避免因需求变化带来的进度拖延、资源浪费、系统功能失败等。需求跟踪的主要任务是对《需求规格说明书》进行双向跟踪,一方面检查需求是否在开发过程中找到相应成果,另一方面检查开发过程中的工作产出,包括设计文档、代码、测试用例等,《需求跟踪矩阵》用来对需求跟踪进行记录。

2.2.3过程域检查

利用人事系统《过程改进计划》制定过程域检查表,对过程域的实施状况进行跟踪和评估,如表3所示。过程域检查表的检查项是对过程域目标具体要求的提炼和落实,记录和跟进控制项目进度、规范开发过程、优化改进实践,是CMMI过程改进持续性的具体实现。

2.3改进成效

系统需求分为功能需求和非功能需求,需求开发应做到尽量挖掘更多的需求,并通过完善需求开发使软件开发起点更明确、维护成本更低。软件需求变更管理至关重要,要避免因变更处理不充分导致的部门间不协调现象。通过对人事系统需求工程的两个PA实施改进,用户需求可定义、可跟踪,提高了项目需求调研的规范性,项目进度和成本得到了有效控制,满足了信息系统质量目标。

3结语

人事系统项目团队在过程改进中,应选择符合实际需要的CMMI表达法、遵循既定的实施步骤和过程体系文件,实现开发过程可视化、流程化和制度化,以全面提高项目质量。

参考文献参考文献:

[1]黎连业,张晓冬,吕小刚.软件能力成熟度模型与模型集成基础[M].北京:机械工业出版社,2011.

[2]韩万江,姜立新.软件项目管理案例教程[M].北京:机械工业出版社,2012.

[3]李华北,刘小茵,郑丹丹,等.过程改进基本原理及CMMI实施[M].北京:中国标准出版社,2009.

[4]马慧,杨一平.质量评价与软件质量工程知识体系的研究[M].北京:人民邮电出版社,2009.

[5]杨一平.几种软件过程改进方法的比较[J].计算机工程与应用,2002(15):219221.

[6]白岚,蒲元远.软件过程改进方法研究与实施[J].计算机与数字工程,2012(12):124128.

[7]刘斌.基于CMM的中小软件企业过程改进实施方案研究[J].自动化仪表,2010(8):2831.

[8]何丹.探索基于CMMI的过程改进之道[J].信息技术与标准化,2006(8):1719.

[9]彭纯军.我国中小软件企业基于CMM/CMMI的软件过程管理研究[D].广州:暨南大学,2005.

[10]张秀娟.基于CMMI的软件过程改进实施模型研究[D].济南:山东大学,2006.

[11]李娜.基于CMMI的软件过程改进研究[J].计算机与现代化,2012(2):155159.

责任编辑(责任编辑:杜能钢)