在20世纪90年代,面向对象的软件开发技术取得了巨大的发展,大量的软件开发实践中都采用了面向对象的程序设计语言,如C++,Java等,使得软件开发效率和软件产品质量有了显著的提高。到90年代中期,面向对象技术已逐步应用到软件生命周期的各个阶段,形成了一整套从分析、设计到测试和度量的面向对象技术。与此同时,一些软件公司也相继开发出基于面向对象技术的软件工程工具,其中,Rational公司的系列产品由于功能强大、使用方便而得到了广泛应用。Rational的系列产品包括面向对象分析和设计工具Rose、自动化文档生成工具SoDA、软件配置管理工具ClearCase、测试集成管理工具TeamTest等。本书结合Rational公司面向对象系列软件工程工具的具体应用,介绍如何使用面向对象技术来进行软件的需求分析、设计、配置管理以及测试和度量。本书共分7章,各章的主要内容如下:第1章主要介绍了面向对象技术的基础知识。以典型C++语言为例,介绍对象、类、消息等面向对象的基本概念,以及封装性、继承性、多态性等面向对象系统的特性。对面向对象技术不了解的初学者通过阅读本章,可以掌握面向对象基本的概念,为后面章节的阅读打下基础。第2章主要讨论了面向对象的分析与设计技术。从传统系统分析与设计方法入手,介绍数据流分析、E-R模型、结构化的设计、Jacobson方法,并分析了传统分析设计方法存在的不足;对典型的面向对象分析设计方法Booch方法、Coad/Yourdon方法、OMT方法和Jacobson方法进行了介绍,并详细描述了面向对象分析与设计的流程,包括业务过程需求分析、系统对象分析、系统对象设计等。第3章主要介绍了统一建模语言(UML)。包括用况视图、逻辑视图、组件视图、并发视图和部署视图这5种视图的概念及使用;描述了用况图、类图、对象图、顺序图、协作图、状态图、活动图、组件图和部署图的内容及表示;简要地介绍了UMI。的通用机制和扩展机制等。第4章描述了面向对象的分析和设计具体实践,介绍了如何使用Rose实现面向对象的分析和设计,包括如何创建各种视图和图,正向生成代码和从代码逆向生成模型图。本章还介绍了如何使用SoDA输出分析和设计的文档;如何使用文档生成命令建立SoDA模板,并生成符合用户需求格式的文档。第5章主要介绍了软件配置管理技术,包括软件配置管理的基本概念、配置管理过程及配置管理的最佳实践,并给出了利用ClearCase进行软件配置管理的具体操作方法。第6章描述了面向对象软件测试技术。首先介绍软件测试的基本概念,各种白盒测试和黑盒测试方法,单元测试、集成测试、系统测试、验证和确认测试、回归测试等不同类型的测试,描述了针对确认测试、系统测试和验收测试的软件测试过程,并给出了典型工具Puri/yPlus(白盒测试)、TestManager(测试过程管理)、Robot(黑盒测试)、SiteCheck(Web测试)的具体应用。第7章讨论了面向对象软件度量原理与方法,介绍软件规模度量和复杂性度量的基本概念和基本原理、面向对象软件度量的特点及方法、软件质量度量模型、质量特性及软件质量度量过程。通过对软件的规模度量和复杂性度量,软件工程人员可以了解当前开发的软件规模,估算软件开发进度、合理配置开发资源,控制软件开发过程。通过对软件的质量进行度量,软件工程人员可以了解产品质量特性,对产品做出正确的评价。本书第1章和第2章由郭燕慧编写,第3章和第4.1节由余安萍编写,第4.2节和第5章~第7章由王晖编写,全书由高振平负责审校。由于作者学识有限,加之该领域技术不断发展,书中难免存在不妥之处,敬请读者批评指正本书主要介绍了面向对象软件工程的理论和实践方法,包括面向对象的分析与设计技术、软件配置管理技术、面向对象的软件测试与度量技术,以及实践过程中典型工具的使用。本书描述了当前面向对象软件开发过程的基本理论和实用技术,适合作为大学计算机专业高年级学生和研究生学习软件工程的参考书;同时本书提供的面向对象的软件工程项目开发的方法和指南,对具有一定经验的系统分析员、面向对象程序设计人员、软件配置管理人员、软件测试人员和软件开发管理人员的实践活动也具有指导意义。