工具对CMM实施的帮助
CMM的每个成熟级别由关键过程区域(KPA)组成,每个KPA确定一组相关活动。为了有效地进行这些活动,需要在整个软件 开发 过程中引入相关工具,帮助软件企业或开发团队实施CMM。一般来说,实施CMM需要以下主要工具:软件开发过程框架、需求管理工具、面向对象
CMM的每个成熟级别由关键过程区域(KPA)组成,每个KPA确定一组相关活动。为了有效地进行这些活动, 需要在整个软件
开发过程中引入相关工具,帮助软件企业或开发团队实施CMM。一般来说,实施CMM需要以下主要工具:软件开发过程框架、需求管理工具、面向对象的分析设计工具、
配置管理工具、变更管理工具和
软件测试工具。
1.软件开发过程框架
CMM是一种软件过程控制和评估框架,它列出了每个级别需要完成的目标以及判定条件,但并没有叙述如何实现这些目标。软件开发过程框架工具的目标就是为开发团队建立一个清晰的、可重复执行的流程,以帮助团队成员按时完成项目各阶段的工作。
Rational公司的RUP(Rational Unified Process)就是这样一个完整的软件开发过程框架,它包括3000个HTML文档、近一百万字的流程指南,其中文版本RUP-C已经在中国市场正式发布。
RUP对CMM实施的主要帮助体现在以下方面:
凝结了全球软件行业的最佳开发经验,以指南、模板和示例的形式为开发团队提供流程指导。
1 建立统一的软件开发标准,改善团队成员之间的沟通。
2 降低软件开发风险,增加软件开发的可预测性。
3 赋予项目经理对进度和交付期限的控制能力。
可以说,RUP-C是每一个计划实施CMM项目组的最佳起点,它对CMM涉及的每个KPA都有帮助。
2.需求管理
需求是软件客户的要求,它决定了软件系统的工作内容,是整个开发活动的基本出发点和最终目标。在整个项目生命周期内,要想有效地协作,就需要对重要的需求信息提供访问权限,使跨功能团队的所有成员都能掌握必要的详细信息。需求管理的目的是在客户和相应的软件项目之间建立共同的理解,并最终形成估计、 策划和跟踪整个软件生命周期内软件项目活动的基础。
需求管理是CMM2级(可重复级)的关键过程领域之一,其主要工作包括两点:其一,通过与涉众(Stakeholder)的交流来获取需求,并进行有效的组织和记录;其二,使客户和项目团队在系统变更需求上达成一致。
一个优秀的需求管理工具可以在保证有效管理需求的前提下提高需求管理工作流程的自动化程度,使需求管理可以真正在项目实施中得到有效的推行。Rational公司为需求管理提供了AnalystStudio需求工作包,它具有以下主要特点:
1 结合业界认可的RUP方法,提供完整的
需求分析及管理流程。
2 以Web方式获取反馈,加强团队之间的有效沟通。
3 用追踪图直观展现需求变化带来的影响。
AnalystStudio除了可用于CMM2级的“需求管理”外,还可以对以下KPA提供帮助:“软件项目规划”、“软件项目跟踪与监督”、“软件子合同管理”、“软件产品工程”、“组间协作” 、“同级复审”和“定量过程管理”。
3.面向对象的分析设计工具
在CMM3级的“软件产品工程”(Software Product Engineering)KPA中,对软件设计提出了明确的要求,要求软件设计遵循一定的设计语言、采用面向对象的方法、使设计结果可复用等。
为什么要采用面向对象的分析设计方法?主要原因有3点:
1 通过分析和设计,使开发者可以先关注问题的领域,再关心具体的设计和编程问题,从而有利于降低整个过程的复杂性,提高分析模型和设计模型的
质量。
2 生成的分析模型和设计模型形成文档的主体,从根本上解决“先写代码、再补文档”的老问题,并能帮助团队规避因人员流动带来的不良影响。
3 分析模型和设计模型将成为团队内部以及团队之间有效沟通的桥梁,消除误解,进一步解决“系统集成难”的顽症,同时也可以促进团队之间的软件复用。
Rational Rose是Rational公司开发的可视化建模工具,它采用“统一建模语言(
UML)”的表示方法,在同一个模型中实现业务建模、对象建模和数据建模,使所有参与项目的成员都可以在统一的语言环境中工作于同一个模型之上,有利于改善成员之间的沟通;其次,它支持多种语言的代码生成及双向工程,可实现代码和模型的互相转换,并且可以将遗留代码引入模型中;第三,它带有对设计元素进行测试的模块工具(Quality Architect),可以尽早发现设计中的问题,真正实现“质量从头抓起”。
Rational Rose除了可帮助实施CMM3级的“软件产品工程”外,还可以对“组间协作”和“同级复审”KPA提供帮助。
4.配置管理和变更管理
软件配置管理(SCM)是CMM2级中一个非常重要的KPA,它的目的是在软件项目的生命周期内建立并维护软件项目产品的完整性。在CMM标准中,明确规定了软件配置管理(SCM)以及变更请求管理(CRM)的相关工作,它包括以下两方面:
1 配置管理的主要工作包括通过创建软件配置管理库、定义配置项(包括需求、分析设计模型、代码、文档、
测试用例、测试数据等)以及建立和维护软件的基线。
原文转自:http://www.ltesting.net