为什么要采用面向对象的分析设计方法?主要原因有3点:
● 通过分析和设计,使开发者可以先关注问题的领域,再关心具体的设计和编程问题,从而有利于降低整个过程的复杂性,提高分析模型和设计模型的质量。
● 生成的分析模型和设计模型形成文档的主体,从根本上解决“先写代码、再补文档”的老问题,并能帮助 团队规避因人员流动带来的不良影响。
● 分析模型和设计模型将成为团队内部以及团队之间有效 沟通的桥梁,消除误解,进一步解决“系统集成难”的顽症,同时也可以促进团队之间的软件复用。
Rational Rose是Rational公司开发的可视化建模工具,它采用“统一建模语言(UML)”的表示方法,在同一个模型中实现业务建模、对象建模和数据建模,使所有参与项目的成员都可以在统一的语言环境中工作于同一个模型之上,有利于改善成员之间的沟通;其次,它支持多种语言的代码生成及双向工程,可实现代码和模型的互相转换,并且可以将遗留代码引入模型中;第三,它带有对设计元素进行测试的模块工具(Quality Architect),可以尽早发现设计中的问题,真正实现“质量从头抓起”。
Rational Rose除了可帮助实施 CMM3级的“软件产品工程”外,还可以对“组间协作”和“同级复审”KPA提供帮助。
配置管理和变更管理
软件配置管理( SCM)是CMM2级中一个非常重要的KPA,它的目的是在软件项目的生命周期内建立并维护软件项目产品的完整性。在CMM 标准中,明确规定了软件配置管理(SCM)以及变更请求管理( CRM)的相关工作,它包括以下两方面:
● 配置管理的主要工作包括通过创建软件配置管理库、定义配置项(包括需求、分析设计模型、代码、文档、测试用例、测试数据等)以及建立和维护软件的基线。
● 变更请求管理的主要工作包括控制和记录配置项内容的变更,建立和维护一个系统并使其追踪和管理变更请求及问题报告。
Rational 的ClearCase和ClearQuest是相当成熟的配置管理和变更管理工具,它们已经连续四年被IDC评为业界最佳的配置管理工具,并在众多的国内外企业中得到了应用,国内的 华为、中兴、大唐、东信等企业都选用了这两个工具。ClearCase的主要作用体现在三个方面:其一,帮助项目组利用版本对象库(VOB)完整地保存整个项目的开发历史,实现对软件资产的有效管理;其二,利用版本对象库(VOB)的安全机制,灵活地控制不同人员对不同配置项的检出和读取的权利,有效地保护企业的核心机密;第三,帮助团队实现并行开发,避免合并版本等工作阻碍其他开发工作,保证项目进度。
ClearQuest的主要作用是加强开发团队与外界的沟通,用户、测试人员与市场销售人员可以直接通过Web提交变更请求,包括“缺陷”或“功能扩充请求”。
可以毫不夸张地说,配置管理和变更管理是 软件工程的基础。ClearCase和ClearQuest除了对CMM2级的“软件配置管理”KPA有帮助外,还可以对以下KPA提供帮助:“需求管理”、“软件项目跟踪与监督”、“软件质量保证”、“软件产品工程”以及“定量过程管理” 。
测试工具
“软件质量保证”是CMM2级中另一个重要的KPA, 软件测试水平的高低直接影响软件产品质量的好坏与开发周期的长短。综观现阶段诸多软件开发组织在软件测试方面的状况,我们不难发现,多数组织存在以下问题:
● 没有进行单元测试,或单元测试不彻底。
● 由于需求不准确,导致测试缺乏计划。
● 测试工作大多依赖手工进行,没有有效的自动化测试工具,致使软件测试效率低下,测试周期较长,不能在软件开发的各个周期进行完整的测试。
● 缺乏有效的跟踪机制跟踪解决软件测试中发现的缺陷,致使有的问题得不到及时、恰当的解决。