基于CMMI的软件项目管理平台研究与设计
2017-09-23韩占港
韩占港
引言
随着国内软件产业的发展和软件企业规模的扩大,各企业软件管理的成熟度等级也越来越高,而目前国内外各类软件项目管理软件仍停留在针对项目的范围、进度、风险、测试和版本进行管理,无法满足企业的管理需要;基于CMMI的软件工程化管理平台的建设目的就是通过组织资产库、测量库和测量分析等功能,为项目管理过程提供管理标准和管理目标,实现对产品质量的预测和控制,从而推动项目产品质量的持续提高和改进。
CMMI全称是Capability Maturity Model Inte-gration,即软件能力成熟度集成模型,其目的是帮助软件企业对软件项目管理过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。基于CMMI的软件工程化管理平台的建设目标就是依据CMMI软件过程的过程管理活动、项目管理活动、软件工程活动和软件支持活动,设计和实现一套软件项目管理平台,平台围绕软件组织的基本盈利单位一软件项目进行管理,确保软件项目依据软件开发组织定义的开发流程的要求制定项目计划、调配资源、实施项目监督,通过对开发过程的量化度量与控制,尽早发现和解决项目中存在的问题,规避项目风险,有效提高了软件开发的”可视性”、”可控性”、项目成功率和软件产品的质量。
1系统架构
系统的主要架构如图所示,系统主要围绕软件项目的过程管理、项目管理、工程管理、支持过程进行管理,在此基础上建设项目概览、日常工作、工作流管理等功能。架构图如图1系统总体架构所示。
2业务功能设计
2.1过程管理
过程中产生的资产是单位宝贵的知识财富。软件过程管理旨在为企业建立和维护其过程资产提供支撑工具,以支持企业积累和重用有价值的过程产品、数据和经验等,辅助企业建立软件过程管理体系,过程管理主要对包括标准过程管理、过程资产管理、可重用库管理、基线库管理、测试用例库管理、组织风险库管理、组织测量库管理等功能。
系统对企业级、部门基线进行维护,包括历史及现有基线,内容包括过程名称、基线编号、基线名称、计量单位、均值、参考上限、参考下限、标准差、适用范围、发布时间、失效时间、备注等信息,项目在策划时能够调用基线内容,作为项目选用的基线。
2.2项目管理
软件项目管理模块依据CMMI的相关要求,针对软件企业,设计和实现了一个辅助项目经理进行计划、跟踪和管理的工具。其目标是帮助软件企业提高项目管理水平,规范软件开发过程,并减轻项目日常管理的负担提高软件的质量和开发效率,主要功能包括项目策划、项目监控、风险管理等功能,项目管理的流程如图2项目管理流程所示:
2.3工程管理
工程管理提供了与项目管理活动及其产品相关的需求管理、评审管理和测试管理等功能。
2.3.1需求管理
需求管理主要包括产品需求项录入、需求项导入导出、版本控制、文档管理、需求关系及影响预警等功能,支持需求项之间链接一对一、一对多的影响关系。需求项以树形进行管理,用户能够定义各个需求项之间的需求关系并进行跟踪。需求确认需要进行审批,审批流程用户自定义。
2.3.2评审管理
评审管理主要功能包括评审申请、评审策划、预审管理、预审汇总、预审跟踪、评审管理、跟踪验证,由评审申请人在系统中发起评审申请,由评审主管部门进行评审策划,并把评审材料分发给评审专家,评审专家可在线进行预审,系统自动把预审问题从文档中提取出来,并把问题对应的文档章节和页数进行标识。主要流程如图3评审管理流程所示:
2.3.3测试管理
软件测试管理业务流程一般按照测试需求分析与策划、测试设计与实现、测试执行、测试总结四个阶段来组织,其中测试策划作为一项活动与测试需求分析阶段合并为测试需求分析与策划。
测试需求分析与策划阶段,实现被测软件及配置项软件需求录入、测试需求管理、测试项管理等功能。同时,支持测试大纲文档中各类表单数据的维护和测试大纲文档版本的管理。
测试设计与实现阶段,基于测试项实现测试用例的设计。支持测试说明文档中各类表单数据的维护和测试说明文档版本的管理。
测试执行阶段,支持测试用例执行、测试问题管理,提供风险管理功能。支持测试记录文档中各类表单数据的维护和测试记录文档版本的管理。
测试总结阶段,实现测评报告中各类表单数据的维护和测评报告文档版本的管理功能。实现测评会议及会签确认信息的管理。
2.4支持过程
支持过程主要包括与组织过程管理、项目管理、工程管理过程活动及其产品相关的测量分析、质量保证、配置管理等支持过程的功能,对软件研制管理过程进行定期检查,保证所有过程根据单位体系得到有效管理,同时对软件开发过程中的输出物进行版本管理,形成项目的受控库和产品库。
2.4.1测量分析
测量分析功能包括测量与分析计划、数据采集分析、测量与分析报告管理、测量数据存储与管理;系统的统计测量数据都严格按照系统产生真实数据进行统计分析,并且系统提供对分析统计结果进行审核验证的功能,数据测量分析主要包含项目数据测量分析和组织数据测量分析两个部分。
项目数据测量的统计和分析,支持多种指标图的查看方式,饼图、直方图、曲线图等;统计的信息包括进度、工作量、规模、评审、测试和质量测量值、项目挣值、进度绩效指标、缺陷密度、同行评审覆盖范围、测试或验证覆盖范围、可靠性测量项、质量测量项等;
组织数据测量的统计和分析;支持组织级的测量与分析,通过选择合适的数据分析方法以及对样本数据进行筛选,生成过程性能基线报告;支持根据组织性能基线对项目进行量化测量与分析;支持查看不同时期的过程性能基线演化趋势图。
2.4.2质量保证
质量保证通过各种质量活动,如检查、评审等来制定计划,质量保证人员根据计划和企业质量检查单来定期检查,记录检查和评审结果,对检查数据进行分析和跟踪,及时处理发现的问题。
通过质量活动进行监控和质量数据的汇总和统计,包括过程问题数、产品问题数、不符合项数以及未关闭的不符合项数和上报的不符合项数等数据来分析产品质量,生成产品质量曲线和质量报告。
2.4.3配置管理
配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。
配置管理的主要功能包括开发库、受控库、产品库三库的独立管理、入库管理、出库管理、变更管理、配置信息发布、配置审核、配置管理审核、配置状态记录、配置项查询等,支持配置管理签署流程和表单自定义,各个出入库、变更流程用户可以在工作流中进行自定义,可自动生成各类配置报告。
入库管理、配置审核、出库管理和变更管理是配置管理的主要工作,系统的入库管理包括初次入库、变更入库和其它入库几个类别,根据不同的入库类别启动不同的流程,入库申请的配置项经过配置管理员物理审核和项目负责人功能审核后提交给工作流进入审批流程,审批通过后申请入库的配置项自动流转到对应的库中,当受控库或产品库里的配置项需要修改的时候,修改申请人可在系统中发起变更流程,变更申请通过后系统把变更信息自动转入出库申请流程,修改后的配置项可通过变更入库流程重新入库。
2.5项目概览
项目概览提供了对软件项目进行检索统计的功能,用户能按照部门进行检索、排序,展示组织或者部门项目的整体运行情况,对项目运行的进度、工作量、规模等运行数据和人员情况等进行展示,以便提早發现项目问题,识别相关风险。
3小结
通过构建基于CMMI的软件项目管理平台,对组织的资产和软件项目的策划、监控、质量保证等过程进行管理,有效的提高了软件的质量和开发效率,对软件企业技术资产的积累和技术的复用起了极大的推进作用。endprint