CMM的每个成熟级别由关键过程区域(KPA)组成,每个KPA确定一组相关活动。为了有效地进行这些活动,需要在整个软件开发过程中引入相关工具,帮助软件企业或开发 团队实施CMM。一般来说,实施CMM需要以下主要工具:软件开发过程框架、需求管理工具、面向对象的分析设计工具、 配置管理工具、变更管理工具和软件 测试工具。
软件开发过程框架
CMM是一种软件过程控制和评估框架,它列出了每个级别需要完成的目标以及判定条件,但并没有叙述如何实现这些目标。软件开发过程框架工具的目标就是为开发团队建立一个清晰的、可重复执行的流程,以帮助团队成员按时完成项目各阶段的工作。
Rational公司的RUP(Rational Unified Process)就是这样一个完整的软件开发过程框架,它包括3000个 HTML文档、近一百万字的流程指南,其中文版本RUP-C已经在中国市场正式发布。
RUP对CMM实施的主要帮助体现在以下方面:
● 凝结了全球软件行业的最佳开发经验,以指南、模板和示例的形式为开发团队提供流程指导。
● 建立统一的软件开发 标准,改善团队成员之间的 沟通。
● 降低软件开发 风险,增加软件开发的可预测性。
● 赋予 项目经理对进度和交付期限的控制能力。
可以说,RUP-C是每一个计划实施CMM项目组的最佳起点,它对CMM涉及的每个KPA都有帮助。
需求管理
需求是软件客户的要求,它决定了软件系统的工作内容,是整个开发活动的基本出发点和最终目标。在整个项目生命周期内,要想有效地协作,就需要对重要的需求信息提供访问权限,使跨功能团队的所有成员都能掌握必要的详细信息。需求管理的目的是在客户和相应的软件项目之间建立共同的理解,并最终形成估计、 策划和跟踪整个软件生命周期内软件项目活动的基础。
需求管理是CMM2级(可重复级)的关键过程领域之一,其主要工作包括两点:其一,通过与涉众(Stakeholder)的交流来获取需求,并进行有效的组织和记录;其二,使客户和项目团队在系统变更需求上达成一致。
一个优秀的需求管理工具可以在保证有效管理需求的前提下提高需求管理工作流程的自动化程度,使需求管理可以真正在项目实施中得到有效的推行。Rational公司为需求管理提供了AnalystStudio需求工作包,它具有以下主要特点:
● 结合业界认可的RUP方法,提供完整的需求分析及管理流程。
● 以Web方式获取反馈,加强团队之间的有效沟通。
● 用追踪图直观展现需求变化带来的影响。
AnalystStudio除了可用于CMM2级的“需求管理”外,还可以对以下KPA提供帮助:“软件项目规划”、“软件项目跟踪与监督”、“软件子 合同管理”、“软件产品工程”、“组间协作” 、“同级复审”和“定量过程管理”。
面向对象的分析设计工具
在CMM3级的“软件产品工程”(Software Product Engineering)KPA中,对软件设计提出了明确的要求,要求软件设计遵循一定的设计语言、采用面向对象的方法、使设计结果可复用等。