前言 本书以介绍面向对象的统一建模语言(UML)为主,使读者了解面向对象技术的基本概念,掌握面向对象的分析和设计方法,以及与面向对象技术相关的软件开发技术,并掌握在Rose环境下用UML进行分析和设计的技术。 UML是由著名的面向对象技术专家Grady Booch、James Rumbaugh 和Ivar Jacobson在各自方法的基础上,汲取其他面向对象方法的优点,广泛征求意见,几经修改完成的一种建模语言。UML是一种定义良好、易于表达、功能强大且适用于各种应用领域的建模语言,已被OMG采纳为标准,目前UML已成为面向对象技术领域内占主导地位的标准建模语言。掌握UML,不仅有助于理解面向对象的分析与设计方法,也有助于对软件开发全过程的理解。 本书共19章的内容及2个附录。第1章是面向对象技术概述,主要是对所涉及的软件工程中的一些知识点的回顾;第2章是UML概述,让读者对UML有一个总体的印象;第3章讲述用例和用例图,用例是UML中一个非常重要的概念,用例驱动的软件开发方法已得到广泛的认同;第4章讲述UML的动态建模机制中所用到的两个图,即顺序图和协作图;第5章讲述类图和对象图,UML中的类图具有很充分的表达能力和丰富的语义,是建模时非常重要的图;第6章讲述数据建模的概念,任何稍具规模的系统都会涉及数据库设计问题,数据建模可以看作类图的一个应用;第7章讲述UML中的包,包是一种很有用的建模机制,除了在OO分析设计中对建模元素进行分组外,在数据建模、Web建模、支持团队开发等方面有不可替代的作用;第8章讲述状态图和活动图,状态图和活动图都用于对系统的动态行为建模;第9章和第10章分别讲述UML中对OO系统的物理方面建模的两个图,即构件图和部署图;第11章讲述对象约束语言OCL,OCL已成为UML规范说明的一部分,它可以表示施加于模型元素本身或模型元素的属性、操作等的约束条件,用于表示一些用图形符号很难表示的细微的意义;第12章讲述业务建模,对一个机构的业务过程进行建模可以更好地理解、分析、改善和替换机构中的业务过程,同时也可以作为软件系统开发的基础,使得软件系统能更好地支持机构中的业务过程,可以把业务建模看作UML的一个具体应用;第13章讲述Web建模,主要介绍如何用UML中的扩展机制对Web应用系统建模;第14章讲述设计模式,在软件设计过程中,设计模式的作用非常大,介绍了3个设计模式,使读者对设计模式有一定的了解;第15章讲述面向对象的实现技术,主要介绍一些对OO技术影响比较大、或本身已在具体的软件开发过程中使用,RUP总结了一些好的开发经验,学习RUP有助于理解有特色的OO语言;第16章讲述RUP软件开发过程,UML是一个建模语言,它需要软件开发过程;第17章讲述与UML有关的一些开发工具及其使用;第18章是一个课程注册系统的例子,对这个例子的模型内部结构做了分析;第19章是综合练习。书末附录是两套模拟试题及答案,对于部分答案给出了解释,模拟试题中的一些题目可以作为UML应用的实例,完成这些题目可加深对UML的认识。 本书由曹德胜、黄江兰、王养廷任主编,张玮、刘春梅、刘明艳、沙嘉祥任副主编,参与本书编写工作的还有夏雪星、陈如意、赵鑫等,在此对他们表示衷心的感谢。 在本书的编写过程中,借鉴了许多现行教材的宝贵经验,在此,谨向相关作者表示诚挚的感谢。由于时间仓促,加之编者水平有限,书中难免有疏漏或不足之处,敬请广大读者批评指正。 编者 2020年5月