论文部分内容阅读
CMM(Capability Maturity Model,能力成熟度模型)作为一种软件过程管理模型,提出了一种软件过程控制和评估框架。从1986年最初提出发展至今,CMM已成为国际软件业事实上的软件过程工业标准。在国家和地方政府的大力支持下,国内近几年也掀起一股CMM实施和评估的热潮。然而,CMM仅仅是一套框架,它只规定了“做什么”、“做到何种程度”,却未涉及细节上具体该“如何做”。因此,软件企业要实施CMM,首先要根据自身实际需要对CMM进行裁减,然后在裁减后的框架基础上制定具体的实施方法和步骤。这一系列过程加上CMM咨询和培训,对国内许多企业来说,成本较高且耗时耗力。针对上述问题,本文首先对CMM规范要求和评估关键点进行了分析;针对分析结论,提炼出实施CMM时应满足的各种要求和具体、可操作的实施步骤,从而导出进行基于CMM的软件过程管理应满足的功能需求;在此基础上,提出了一种基于CMM的软件过程管理支持系统SPMS,设计了其结构和界面;最后设计并实现了用于支持CMM规程的工作流引擎。与同类研究相比,SPMS具有三大特色:一是以工作流支持CMM规程,通过工作流过程中软件过程管理活动及相关文档的自动流转,实现软件过程管理的半自动化;二是文档模板管理,提供符合CMM要求的文档模板,并支持自定义模板;三是便捷的实施帮助功能,SPMS为软件过程管理相关活动提供各种帮助信息,通过这些帮助信息,相关人员能按预期要求高效率地完成活动。CMM规程对工作流引擎提出了一些特殊的功能需求,如任务多实例、手工指定后续分支、手工指定后续任务执行人和任务返工等功能,而且引擎应尽量简单、灵活、轻量级。为达到这些要求,我们设计了符合CMM规程的引擎工作过程,并对灵活、可扩展性强的开源工作流jBPM进行了大量的扩展,实现了所需的工作流引擎,提高了SPMS中规程支持的自动化程度和灵活性。