本书是UML方面最权威的一本著作,三位作者是面向对象方法最早的倡导者,是UML的创始人。本版涵盖了UML 2.0。书中为具体的UML特征提供了参考,描述了一个使用UML进行开发的过程,旨在让读者掌握UML的术语、规则和语言特点,以及如何有效地使用这种语言,知道如何应用UML去解决一些常见的建模问题。本书由7个部分组成,而且每章都描述了一个特定UML特征的具体用法,其中大部分按入门、术语和概念、常见建模技术、提示和技巧的方式组织。本书还为高级开发人员提供了在高级建模问题中应用UML的一条非常实用的线索。\r\n 本书适合作为高等院校计算机及相关专业本科生或研究生“统一建模语言(UML)”课程的教材,也适用于进行软件生产、部署和维护的人员,特别适合于分析员、最终客户、架构师、开发人员、质量保证人员、构件库管理人员以及项目和程序管理者。
第一部分 入门\r\n 第1章 为什么要建模\r\n 第2章 UML介绍\r\n 第3章 Hello,World!\r\n第二部分 对基本结构建模\r\n 第4章 类\r\n 第5章 关系\r\n 第6章 公共机制\r\n 第7章 图\r\n 第8章 类图\r\n第三部分 对高级结构建模\r\n 第9章 高级类\r\n 第10章 高级关系\r\n 第11章 接口、类型和角色\r\n 第12章 包\r\n 第13章 实例\r\n 第14章 对象图\r\n 第15章 构件\r\n第四部分 对基本行为建模\r\n 第16章 交互\r\n 第17章 用况\r\n 第18章 用况图\r\n 第19章 交互图\r\n 第20章 活动图\r\n第五部分 对高级行为建模\r\n 第21章 事件和信号\r\n 第22章 状态机\r\n 第23章 进程和线程\r\n 第24章 时间和空间\r\n 第25章 状态图\r\n第六部分 对体系结构建模\r\n 第26章 制品\r\n 第27章 部署\r\n 第28章 协作\r\n 第29章 模式和框架\r\n 第30章 制品图\r\n 第31章 部署图\r\n 第32章 系统和模型\r\n第七部分 结束语\r\n 第33章 应用UML\r\n附录A UML表示法\r\n附录B Rational统一过程\r\n术语表\r\n索引
译者序
开发一个复杂的软件系统和编写一个简单的程序大不一样,其间的差别,借用Grady Booch的比喻,如同建造一座大厦和搭一个狗窝。大型的、复杂的软件系统开发是一项系统工程,必须按工程学的方法来组织软件生产,需要经过一系列的软件生命周期阶段。这是人们从软件危机中获得的最重要的教益。这一认识促使了软件工程学的诞生。虽然编程仍然是重要的,但是更具有决定意义的是系统建模。只有在分析和设计阶段建立了良好的系统模型,才有可能保证工程的正确实施。正是出于这一原因,在编程领域出现的许多新方法和新技术,总是很快地拓展到软件生命周期的分析与设计阶段。
面向对象方法正是经历了这样的发展过程,它首先在编程领域兴起,作为一种崭新的程序设计范型引起世人瞩目。继Smalltalk-80之后,20世纪80年代有一大批面向对象编程语言问世,标志着面向对象方法走向成熟和实用。此时,面向对象方法开始向系统设计阶段延伸,出现了一批早期的面向对象的设计(OOD)方法。到20世纪80年代末期,面向对象方法的研究重点转向面向对象的分析(OOA),并将OOA与OOD密切地联系在一起,出现了一批面向对象的分析与设计(OOA&D)方法。至1994年,公开发表并具有一定影响的OOA&D方法已达50余种。这种繁荣的局面表明面向对象方法已经深入到分析与设计领域。目前,大多数比较成熟的软件开发组织已经从分析、设计到编程、测试全面地采用面向对象方法,使面向对象毋庸置疑地成为当前软件领域的主流技术。
各种OOA&D方法都为面向对象理论与技术的发展做出了贡献。这些方法的主导思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少差异。这些差异所带来的问题是:不利于OO方法向一致的方向发展,妨碍了技术交流,也给用户的选择带来困惑。在这种形势下,统一建模语言(Unified Modeling Language,UML)应运而生。
UML是在多种面向对象分析与设计方法相互融合的基础上形成的,其发展历史可以大致概括为四个阶段。最初的阶段是面向对象方法学家的联合行动,由G. Booch、J. Rumbaugh和I. Jacobson将他们各自的方法结合起来,形成UML 0.9。第二阶段是公司的联合行动,由十多家公司组成UML伙伴组织,共同提出UML 1.0和1.1,于1997年被对象管理组织(OMG)正式采纳作为建模语言规范。第三阶段是在OMG控制下对UML规范进行修订和改进,产生了UML 1.2、1.3、1.4和1.5等版本。目前所处的阶段是本世纪开始以来的重大的修订,推出了全新的版本UML 2.0。
UML用于对软件密集型系统进行可视化、详述、构造和文档化,也可以用于业务建模以及其他非软件系统的建模。UML定义了系统建模所需的概念并给出其可视化表示法,但是它并不涉及如何进行系统建模。因此它只是一种建模语言,而不是一种建模方法。UML是独立于过程的,就是说,它可以适应不同的建模过程。UML的出现使面向对象建模概念和表示法趋于统一和标准化。目前,UML已成为被广泛公认的工业标准,拥有越来越多的用户。现今的大部分面向对象系统的建模均采用UML。
G. Booch、J. Rumbaugh和I. Jacobson是UML的三位主要奠基人,被称为“三友”(three amigos),他们为UML的形成和发展做出了卓越贡献。在广大读者的殷切期待中,“三友”联名撰写的三本介绍UML以及Rational统一软件开发过程的著作(The Unified Modeling Language User Guide、The Unified Modeling Language Reference Manual和The Unified Software Development Process)于1999年由Addison-Wesley出版,深受广大读者的欢迎,被视为UML方面的权威性著作。在此之后,UML经历了一次重大的版本修订,UML 2.0问世。与UML 1.x系列相比,UML 2.0从结构到内容都有许多重要的变化。在这种背景下,“三友”对他们的上述三本著作进行了再创作,以适应UML2.0的新内容,作为第2版,于2005年陆续出版。
现在我们翻译的《UML用户指南(第2版)》(The Unified Modeling Language User Guide,Second Edition)是“三友”的上述三本著作中的一本,是阅读另外两本著作的基础。书中为如何使用UML提供了指南,旨在让读者掌握UML的术语、规则和惯用法,学会如何有效地使用UML 进行开发,如何应用UML去解决常见的建模问题。实际上,这不仅仅是一部深入介绍UML的技术文献,而且处处闪烁着作者在方法学方面的真知灼见,凝结了作者在软件工程、面
Grady Booch、James Rumbaugh和Ivar Jacobson是UML的创始人,均为软件工程界的权威,除了著有多部软件工程方面的著作之外,在对对象技术发展上也有诸多杰出贡献,其中包括Booch方法、对象建模技术(OMT)和Objectory(OOSE)过程。目前Booch和Rumbaugh在IBM工作,Jacobson是独立咨询师。
无封面