随着20世纪90年代面向对象技术的广泛应用,人们发现仅仅在代码阶段使用面向对象的概念是不够的,需要在分析和设计阶段就使用面向对象技术,于是面向对象分析和面向对象设计技术迅速发展起来,并得到了工业界和研究学者们的一致认可。
UML在1997年被国际对象管理组织OMG采纳为面向对象建模语言的国际标准,这为UML在实践中的推广奠定了坚实的基础。北京航空航天大学进行UML教学和科研实践最早,并且在硕士研究生学位课“软件工程?中用了很大篇幅对UML作了系统的介绍,同时北京航空航天大学软件工程研究所开发了UML开发支撑环境的教学版UML_Designer。本书作者不仅参与了北京航空航天大学的UML教学和对外的UML培训活动,还亲自在多个项目中使用UML进行面向对象分析和设计,这些都为图书的编写和出版积累了大量宝贵的实践经验。
目前国内有关UML的出版物主要集中于介绍UML建模语言本身和UML建模环境的使用两方面,基本上没有回答(或很少触及)如何使用UML这个关键问题。本书正是基于这种现状从实践的角度来试图回答这个问题。限于笔者的经验和本书的篇幅,本书主要集中于讨论如何使用UML进行面向对象分析,包括如何使用UML的静态建模机制和动态建模机制在系统分析阶段建立系统分析模型。UML的静态建模机制主要包括用例图、类图和包图,而包主要用来实现模型的规模管理;UML的动态建模机制主要包括活动图、状态图和交互图。然而面向对象分析本身既涉及到系统的静态组成层面,又要关注系统的动态行为,因此本书在UML静态建模机制和动态建模机制的基础上通过两个大型的实例研究,就一个系统如何使用UML进行面向对象分析展开讨论。本书在保持与UML1.1描述一致的基础上,尽量不去介绍UML各个模型层次复杂的语义和UML复杂的形式化描述,而是专注于对UML重要概念的把握和理解,包括用例、类、关联和状态等,并通过大量的例子阐述如何在实践中运用UML,这在本书的几乎各个章节都可以看到,因此具有很强的实践针对性,这是本书的重要特点之一。
本书采用循序渐进、由浅入深、从整体到局部再回到整体的方式(读完本书读者会发现这正好就是一种在实践中非常有效的UML建模方式)介绍如何在实践中使用UML。在前三章通过对软件、软件开发过程、需求分析、面向对象等重要概念的介绍为读者对后续章节的阅读进行概念的准备和温习;从第四章到第六章依次介绍UML的形成过程、基本概念和静态、动态建模机制,在第五章和第六章读者可以发现有大量的面向对象分析实例;第七章介绍面向对象分析模型的测试,期望通过本章使分析人员建立明确的软件质量概念;第八章则完全从实践的角度介绍Rose和UML_Designer,相信一定会对初次使用这些工具的读者有所帮助;最后本书用两章介绍两个完整的面向对象分析实例,包括建立用例模型、类模型、活动模型和交互模型等。所选的两个实例在实践中都具有较强的代表性,其中一个有关信息管理,另一个则有关嵌入式系统开发。