首页>参考读物>计算机科学与技术>综合

UML参考手册
作者 : James Rumbaugh, Ivar Jacobson, Grady Booch
译者 : 姚淑珍 唐发根
出版日期 : 2001-01-01
ISBN : 7-111-08220-6
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 440
开本 : 16开
原书名 : The Unified Modeling Language Reference Manual
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书首先简要介绍了UML 的历史、基本概念、目标及使用方法,然后按字母顺序列出了UML 的所有术语及标准元素,从语义、表示法和用途等方面详尽地介绍了UML 的构成和概念。
本书的三位作者是面向对象方法最早的倡导者,是UML 的原创人。本书的手册式特殊结构不仅有助于对UML 概念的规范化学习与理解,更为广大软件开发人员、系统用户和工程技术人员提供了方便快捷的查询。

图书特色

译者简介
姚淑珍(女),北京航空航天大学计算机系副教授。1989 年于北京航空航天大学计算机系获得硕士学位。主要研究方向为软件工程及软件开发环境、面向对象技术、基于Petri 网的并发软件方法学、Ada 软件开发测试分析方法、Multi_Agent 技术及分布式系统仿真技术等。已在国内外学术会议、核心刊物发表学术论文20余篇。获国家及部委级科技成果奖多项。
唐发根(男),北京航空航天大学计算机系副教授。主要研究方向为软件工程及软件开发环境、面向对象技术、Ada 软件开发测试分析方法等。已在国内外学术会议、核心刊物发表学术论文10余篇。获国家及部委级科技成果奖多项。

图书前言

目标

本书是关于统一建模语言(UML, Unified Modeling Language)的一本全面实用的参考书,可供软件开发人员,设计人员,项目管理员,系统工程师,程序设计人员,分析员,用户以及研究、设计、开发和理解复杂软件系统的技术人员参考。书中对UML的组成和概念做了详细介绍,包括其语义、语法、表示法和用途。对广大专业软件开发人员来说,这是一本使用方便、内容全面的参考读物。此外,本书还讨论了有关标准文献没有解释清楚的细节问题和UML标准中一些结论的基本原理。

本书不是一本关于UML语言标准文献和UML元模型内部细节的指导手册。对元模型的细节感兴趣的是UML工具的开发者和研究开发方法的专家,一般的软件开发人员无需了解对象管理组织(OMG, Object Management Group)制定的这些不易为人了解的细节。本书涵盖了能够满足绝大部分软件开发人员需要的细节内容,对于某些源于原始标准的细节,往往指明了其出处。 本书所附光盘收录了一些原始标准文献,供读者参考。

在阅读本书之前,读者应具备有关面向对象技术的基本知识。为方便初学者,书后的参考文献中列出了我们和其他作者早期的原作。虽然这些书中采用的某些表示法现在已有了变化,但是一些书中介绍的面向对象的概念仍然有用,如[Rumbaugh-91]、[Booch-94]、[Jacobson-92]和[Meyer-88]等书,所以这里没有必要重新讨论这些基本概念。如果某些读者要个别学习如何用UML对一般问题建立模型,可参考《UML 用户指南》(即将由机械工业出版社出版)一书。那些已经了解如OMT、Booch、Objectory、Coad-Yourdon、Fusion等面向对象方法的读者,完全能够读懂本书,并能够掌握UML及其表示法和语义。若要快速学习UML,阅读《UML 用户指南》很有帮助。

使用UML并不局限于某一种专门的开发过程,本书也不针对某一种开发过程进行讨论和介绍。尽管UML可用于许多开发过程,但它最适用于以一个健壮的构架为中心的迭代的、增量的、用例驱动的开发过程—我们认为这是开发现代复杂软件最适宜的开发过程。《统一软件开发过程》(即将由机械工业出版社出版)[Jacobson-99]就描述了这样一种开发过程,我们认为这是对UML的补充和对软件开发的最好支持。

本书概貌

本书分为三部分:对UML历史和有关建模知识的概述;UML基本概念的综述;UML术语和概念大全。

第一部分是UML综述—UML的历史、目标及使用—帮助理解UML的来源和它能满足的需求。

第二部分是UML视图的简要概述,以便读者能将概念与视图联系起来。该部分综述了UML所支持的各种视图,并说明各种构件如何协同工作。该部分首先介绍了一个用到了各种UML视图的例子,接着分章介绍每一种视图。概述的目的不是提供一个完整的教材或对各种概念进行全面叙述,而主要是总结性地阐述UML 的各种概念,它是进一步详细阅读本书中术语和概念大全的起点。

第三部分包括了各种参考信息,这些信息被组织成一个个相关主题以便于查找。本书的主体是一个按字母顺序排列的所有UML概念和组件的大全。所有UML术语,不论重要与否,在大全中都有对应条目,大全尽可能提供全面信息。因此,凡是第二部分提到的概念,在大全中都有更详细的进一步阐述。相同或相似的信息有时在大全中的许多条目中都予以列出,以便读者查阅。

参考信息部分还包括了一个按字母顺序排列的UML标准元素列表。标准元素是使用UML扩充机制预定义的一个特性。标准元素是UML的扩展部分,相信应该能得到广泛使用。

附录列出了UML的元模型、UML表示法小结和用于专门领域的标准扩展集。附录还给出了一个有关面向对象知识的主要的参考文献,但不包含UML或其他方法的来源。参考文献中所列的许多文献都提及了一些优秀的书籍和杂志文章,有兴趣的读者可据此进一步研究这些方法和概念的形成和发展。

大全部分的格式约定

本书的大全部分是一个按字母表顺序组织的条目表,每一条目都较为详细地描述了一个概念。条目下所有的解释性短文按照概念的不同层次组织。高层次概念通常包括其低层次概念的概括性说明,每一低层概念在一段单独的短文中有详细解释。各个短文中所阐述的概念彼此之间有复杂的相互参考关系。大全的这种组织形式使得每个概念在一致的层次中,避免了嵌套性的解释说明来回查找带来的麻烦。高度格式化的编排也有利于相关概念的引用。阅读本书时,不必根据索引查找书中内容,而可以直接到大全正文中查找有关概念和术语。但这种编排格式不适于学习UML语言。建议初学者首先阅读本书第二部分或其他UML的介绍性读物,如《UML 用户指南》。

大全条目包含以下部分,但并不是所有条目都包含所有部分。

简要定义

概念名用黑体表示,紧接在概念名之后的简要定义用一般字体印刷。概念的定义力求抓住该概念的主旨,以简洁的表达方式描述,因此,它只是一个简要定义。概念的精确涵义参考后面的主体解释短文。

语义

该部分详细解释概念的含义,包括该概念使用和执行顺序上的约束。尽管某些例子要用到表示法,但该部分不包括表示法。首先给出概念的概括语义。对于具有从属结构特性的概念,在概括性语义说明后面的“结构”子标题下有一系列特性名。在大多数情况下,特性按特性名的字母表顺序排列。如果某一特性还有更多的选择项,那么每一选择项均缩排。在更复杂的情况下,特性专门用一段短文叙述,以避免嵌套过多引起混乱。有时,对一个主要概念的说明分散在多个逻辑子项中而不是在一处。此时,附加说明段接在“结构”小节之后或替代了“结构”小节。尽管在结构编排上采取了多种方式,但该结构对读者来说仍然很清晰。

表示法

本节对概念的表示法进行详细的描述。通常,表示法段与其参考的语义描述段平行,并且通常与语义描述段有相同的划分。表示法段一般都有一个或多个图表,用来说明有关概念。为了帮助读者更好地理解表示法,许多图表中用楷体表示注释说明。所有用楷体表示的都是注释说明,不是实际表示法的一部分。

示例

本小节展示如何使用表示法以及有关概念的运用。这些例子一般都针对复杂的或容易产生混淆的情形来列举。

讨论

本节讨论难以理解和把握的问题,澄清疑惑和容易混淆的要点,并且包括一些其他方面的细节问题,这些细节问题有可能分散读者对语义说明段的注意力。只有一小部分的条目有讨论段。

本节还解释了在UML的开发过程中产生的设计结论,特别是有违直觉和容易引起激烈争论的设计结论。 只有一小部分条目有这一节。讨论一般不涉及风格上的简单不同点。

标准元素

本节列出了标准约束、标记、构造型和其他约定,这些是预先规定好的。这一节很少出现。

语法约定

语法表达式。语法表达式是用Sans Serif 字体印刷的经过修改的BNF范式。

标点符号也出现在目标字符串中。

文中的斜体表示能够被目标字符串中另一个字串或另一语法产生式替换的变量,可以包含字符和连字符。

在代码示例中,注释用楷体印刷在代码右侧。

下标或上划线为语法操作,举例如下:

expression opt 这个表达式是任选的。

expression list 用逗号来分隔一系列表达式。如果出现了零个或者一个重复符号,则不需要分隔符。每个重复符号都要用一个单独的替换符号。如果一个除逗号之外的标点符号出现在下标中,则它是分隔符。

=expression opt 用上划线来连接两个或多个属于同一单元的可选的或重复出现的项目。在这个例子中,等号和表达式构成一个可以使用或省略的单元。如果只有一个项目,可以不用上划线。

不允许出现两重嵌套。

字符串。在连续的文本中,关键字、模型元素名称和模型中的字符串例用 Sans Serif字体印刷。

图表。在图表中,楷体和箭头是注释,即,对图中表示法的解释不出现在实际图表中。其他所有文字和符号都是实际的图形表示法。

CD光盘

本书所附光盘以Adobe Reader(PDF)文件格式收录了本书全文,读者可以很容易地查到一个字或短语。本书CD 还包括一个可用鼠标点击操作的目录表,表中包括书中文章的目录、索引、Adobe Reader的一小部分以及各个条目主体部分的可扩展热链接。用鼠标简单地点击某一热链接,即可跳到大全中对应该字或短语条目的章节中去。

这张CD还收录了OMG的有关UML标准详细说明的全文,这是经过OMG授权认可的。

我们认为这张CD对UML高级用户来说,将是一本非常有用的在线参考书。

如何获取更多信息

有关UML的另外一些原始文件和最新信息及相关方面的主题可在万维网上查找。网址为:www.rational.com和www.omg.org。

致谢

我们感谢所有使UML成为现实的人。首先,我们必须感谢Rational软件公司,特别是Mike Devlin 和 Paul levy,正是他们颇具慧眼地将我们组织在一起,并发起面向对象建模语言的统一工作,历经四年的努力直至这项工作胜利完成。我们还得感谢OMG汇集了各方面的不同的观点,并使这些观点统一成被普遍接受的一致观点,这远非个人的力量所能够做到的。

我们尤其要感谢Cris Kobryn,他既是制定UML标准的技术小组的负责人,并且使众位各执己见的组员达成一致(当然我们三个人达成一致不会有太大的问题)。他的交际才能和技术上的斡旋能力使制定UML的努力没有因各种不同观点的影响而白费。Cris 还复审了全书,给出了大量有益的建议。

我们要对Gunnar 卾ergaard 表示感谢,感谢他对本书做了详细的复审,以及他为完成大量UML文献所做的辛勤劳动。这些文献不适于写入本书,但具有正确和有益的参考价值。

我们还要感谢Karin Palmkvist 对本书做了极为细致的校审,并指出了许多技术上的错误以及语法、措辞和表达方式上的缺陷。

我们还要感谢 Mike Blaha、Conrad Bock、Perry Cole、Bruce Douglass、Martin Fowler、Eran Gery、Pete Mcbreen、Guus Ramackers、Tom Schultz、Ed seidewitz 和Bran Selic ,感谢他们对本书做了复审。

尤其重要的是,我们要对所有对UML思想作出贡献的人表示感谢。他们提出了许多有益的见解和想法,这些想法涉及面向对象技术、软件方法、程序设计语言、用户界面、可视化编程和许许多多计算机方面的其他领域。在此我们不可能一一列举他们的名字,不经过学术上的讨论也难以理解他们的见解所具有的影响,并且本书是一本工程方面的书,并不是历史传记。这些见解有的广为人知,有的却因为提出这些见解的人运气不佳而不被人了解。

要是在一个更私人的场合,我希望能够表达对Jack Dennis教授的感谢。早在25年前,他就对我和我的学生在建模方面的工作进行鼓励。他所在的MIT的 计算结构组(Computations Structures Group)所提出的见解已产生了丰硕的成果,这些见解对UML的影响也是不小的。我还必须感谢Mary Loomis和Ashwin Shah,我和他们一起萌发了OMT的思想,还有我在GE 公司研发中心的同事Mike Blaha、Bill Premerlani、Fred Eddy和 Bill Lorensen,我和他们一起撰写了OMT的书籍。

最后要说的是,没有我的妻子 Madeline 及两个儿子Nick 和 Alex 的耐心支持,就没有UML和这本书。


James Rumbaugh

于加州 Cupertino
1998年11月

作者简介

James Rumbaugh, Ivar Jacobson, Grady Booch:暂无简介

译者简介

姚淑珍 唐发根:暂无简介

译者序

随着计算机硬件性能的不断提高和价格的不断下降,其应用领域也在不断扩大。人们在越来越多的领域希望把更多、更难的问题交给计算机去解决。这使得计算机软件的规模和复杂性与日俱增,从而使软件技术不断地受到新的挑战。60年代软件危机的出现就是因为系统的复杂性超出了人们在当时的技术条件下所能驾御的程度。此后在软件领域,从学术界到工业界,人们一直在为寻求更先进的软件方法与技术而奋斗。每当出现一种先进的方法与技术,都会使软件危机得到一定程度的缓和。然而这种进步又立刻促使人们把更多、更复杂的问题交给计算机去解决。于是又需要更先进的方法与技术。

开发一个具有一定规模和复杂性的软件系统和编写一个简单的程序大不一样。其间的差别,借用G. Booch的比喻,如同建造一座大厦和搭一个狗窝的差别。大型的、复杂的软件系统的开发是一项工程,必须按工程学的方法组织软件的生产与管理,必须经过分析、设计、实现、测试、维护等一系列的软件生命周期阶段。这是人们从软件危机中获得的最重要的教益。这一认识促使了软件工程学的诞生。编程仍然是重要的,但是更具有决定意义的是系统建模。只有在分析和设计阶段建立了良好的系统模型,才有可能保证工程的正确实施。正是由于这一原因,许多在编程领域首先出现的新方法和新技术,总是很快地被拓展到软件生命周期的分析与设计阶段。

面向对象方法正是经历了这样的发展过程,它首先在编程领域兴起,作为一种崭新的程序设计范型引起世人瞩目。继Smalltalk-80之后,20世纪80年代又有一大批面向对象的编程语言问世,标志着面向对象方法走向成熟和实用。此时,面向对象方法开始向系统设计阶段延伸,出现了如Booch86、GOOD(通用面向对象的开发)、HOOD(层次式面向对象的设计)、OOSD(面向对象的结构设计)等一批OOD(“面向对象的设计”或“面向对象的开发”的缩写)方法。但是这些早期的OOD方法不是以面向对象的分析(OOA)为基础的,而主要是基于结构化分析。到1989年之后,面向对象方法的研究重点开始转向软件生命周期的分析阶段,并将OOA和OOD密切地联系在一起,出现了一大批面向对象的分析与设计(OOA&D)方法,如Booch方法、 Coad/Yourdon方法、 Firesmith方法、Jacobson的OOSE、 Martin/Odell方法、 Rumbaugh等人的OMT、 Shlaer/Mellor方法等等。截至1994年,公开发表并具有一定影响的OOA & D方法已达50余种。这种繁荣的局面表明面向对象方法已经深入到分析与设计领域,并随着面向对象的测试、集成与演化技术的出现而发展为一套贯穿整个软件生命周期的方法体系。目前,大多数较先进的软件开发组织已经从分析、设计到编程、测试阶段全面地采用面向对象方法,使面向对象无可置疑地成为当前软件领域的主流技术。

各种面向对象的分析与设计方法都为面向对象理论与技术的发展作出了贡献。这些方法各有自己的优点和缺点,同时在各自不同范围内拥有自己的用户群。各种方法的主导思想以及所采用的主要概念与原则大体上是一致的,但是也存在不少差异。这些差异所带来的问题是,不利于面向对象方法向一致的方向发展,也会给用户的选择带来一些困惑。为此,Rational公司的G. Booch和J. Rumbaugh决定将他们各自的方法结合起来成为一种方法。1995年10月发布了第1个版本,称作“统一方法”(Unified Method 0.8)。此时OOSE的作者I. Jacobson也加入了Rational公司,于是也加入了统一行动。1996年6月发布了第2个版本UML0.9。鉴于统一行动的产物只是一种建模语言,而不是一种建模方法,(因为不包含过程指导),所以自0.9版起,改称“统一建模语言”(Unified Modeling Language)。在此过程中,由Rationl公司发起成立了UML伙伴组织。开始时有12家公司加入,共同推出了UML1.0版,并于1997年1月提交到对象管理组织(OMG)申请作为一种标准建模语言。此后,又把其他几家分头向OMG提交建模语言提案的公司扩大到UML伙伴组织中,并为反映他们的意见而对UML进一步做了修改,产生了UML1.1版。该版本于1997年11月4日被OMG采纳。此后UML还在继续改进,目前最新的版本是UML1.3。

关于UML的历史、发起的动机、目标、权衡的问题等,这里不想做更多的介绍,因为读者很快会从《UML用户指南》的前言中看到更详细的叙述。这里想着重指出的是以下三点:第一点是UML的三位发起人G. Booch、J. Rumbaugh和I. Jacobson是从事面向对象研究的著名专家,他们各自的方法和著作在该领域均具有很大的影响;第二点是众多的大公司加入了UML阵营,为UML的制定和推广提供了强有力的支持;第三点是UML经过数年的努力终于被OMG采纳,成为该组织承认的一种标准建模语言。总之,UML是吸收多种方法的成果、凝结许多组织和个人智慧的产物。

UML是一种用于对软件密集型系统进行可视化、详述、构造和文档化的建模语言,主要适用于分析与设计阶段的系统建模。UML最主要的特点是表达能力丰富。因为它从各种OOA&D方法中吸取了大量的概念,并在“UML语义”、“UML表示法指南”、“对象约束语言规约”等UML文献中对这些概念的语义、图形表示法和使用规则作了完整而详细的定义。可以说,UML对系统模型的表达能力超出了以往任何一种OOA&D方法。当然,随之而来的问题是,它的复杂性也超出了以往任何一种方法。

UML的问世引起了计算机软件界的广泛重视,因为它代表了一种积极的方向—多种方法相互借鉴、相互融合、趋于一致、走向标准化。建模语言的标准化将为软件开发商及其用户带来诸多便利。因此,在美国等国家已有大量的软件开发组织开始用UML进行系统建模。学习和使用UML已经成为一种潮流。我国软件界对UML也相当关注。许多研究人员和技术人员已在数年前开始学习和研究UML。更有许多人想学习UML,但苦于找不到合适的书籍。由于UML的复杂性,仅通过UML的标准文献来学习和使用它确实不是一件轻松的事。以往国内外也曾发表过一些介绍或评述UML的著作或论文,但是与UML的丰富内容相比,这些介绍远不能满足读者的要求。

值得高兴的是,UML的三位主要设计者G. Booch、J. Rumbaugh和I. Jacobson现在已亲自撰写了这套详细阐述UML的著作,由Addison Wesley公司于1999年出版。这套著作对UML进行了详细、深入而准确的介绍和论述,而且语言生动、深入浅出、实例丰富、图文并茂。这是一套教会读者掌握和使用UML的教材和指导手册,而不是枯燥的标准文献。对于想学习和使用UML的广大读者,这是一套难得的好书。为了使中国的读者能够更好地从中受益,我们在机械工业出版社的恳切建议下,分头翻译了这三本书,即《UML用户指南》、《UML参考手册》和《统一软件开发过程》。

三本原著都是由这三位作者合著,既各自独立、又有很强的内在联系。其中《UML用户指南》介绍了UML的基础知识,包括UML的术语、规则和语言特点,以及如何运用该语言去解决常见的建模问题,初学者学习UML最好从阅读该书开始。《UML参考手册》对UML的组成和概念作了详细的介绍,包括这些概念的语义、语法、表示法和用途,是一本适合软件专业人员使用的方便而全面的参考读物。《统一软件开发过程》给出了一种以UML作为建模语言进行软件开发的过程指导。其内容不是UML固有的组成部分,因为被OMG采纳的UML只是一种建模语言,并不包含过程指导。实际上,UML是独立于过程的,可以用于不同的软件过程。但是该书介绍的软件开发过程是三位作者在开发UML时一直在头脑中思考的,因此很切合UML的特点。该书对于如何运用UML的概念进行软件开发提供了详细指导,适合软件专业人员使用。

鉴于UML本身以及这套著作的重要意义,译者在翻译这些著作时采取了特别慎重和严谨的态度,力求准确和通顺。在翻译过程中,一个重要问题是要使这套书中的专业术语的中文译法保持一致。这三本书的译者以往曾分别开展过一些与UML有关的研究和写作,对有些术语的译法互有差异。本次翻译工作中,所有译者在机械工业出版社的组织下进行了多次讨论、研究和交流,首先对所有专业术语的译法统一意见,达成共识。其中某些术语的译法颇难定夺:既要确切反映英文本意,又要符合中文习惯,还要避免与国内已习惯于与其它英文词对应的中文相混淆。经过反复切磋,大部分问题都得到满意的解决。对个别有争议的问题,在充分讨论的基础上采取放弃己见、服从大局的态度,从而形成了一个译法一致的词汇表。此后在翻译过程中还经常以各种交流方式进行磋商和勾通。最终使这套丛书能以一致的面貌呈献给读者。我们也希望这些工作能为UML术语今后在中文翻译中的统一贡献一份力量。

在科技著作的翻译中,保证准确和通顺的关键因素不仅仅是外文水平,还取决于译者真正了解所涉及的技术内容。这套著作的内容远远超出了UML的标准文献,因为除了介绍UML的语法、语义、使用规则之外,其中还包含许多学术思想、技术策略和实践经验。在翻译中遇到的许多疑难问题,我们是通过进一步研究UML以及有关的学术和技术问题而得到解决的,从而避免了许多讹误。因此,这套著作的翻译不仅是文字方面的工作,还包含译者在技术上的研究。我们希望这些研究最终通过较准确的翻译文字使读者受益。同时诚恳地希望广大读者对可能存在的疏漏和错误之处给予批评和指正。
译  者

2000年10月于北京

图书目录

译者序
前言
第一部分  背景知识
第1章  UML 综述 3
1.1  UML简介 3
1.2  UML 的历史 4
1.2.1  面向对象的开发方法 4
1.2.2  统一工作 5
1.2.3  标准化 5
1.2.4  核心组员 5
1.2.5  统一的意义 6
1.3  UML的目标 7
1.4 UML概念域 7
1.5  表达式和图表语法 8
第2章  模型的性质与用途 10
2.1  什么是模型 10
2.2  模型的用途 10
2.3  模型的层次 12
2.4  模型的内容 13
2.5  模型的含义 15
第二部分  基本概念
第3章  UML初览 19
3.1  UML视图 19
3.2 静态视图 20
3.3  用例视图 21
3.4  交互视图 22
3.4.1  顺序图 22
3.4.2  协作图 23
3.5  状态机视图 24
3.6  活动视图 25
3.7  物理视图 26
3.8  模型管理视图 29
3.9  扩展组件 30
3.10  各种视图间的关系 31
第4章  静态视图 32
4.1  概述 32
4.2  类元 33
4.3  关系 35
4.4  关联 36
4.5  泛化 39
4.5.1  继承 40
4.5.2  多重继承 40
4.5.3  单分类和多重分类 41
4.5.4  静态分类和动态分类 41
4.6  实现 42
4.7  依赖 43 4.8  约束 45
4.9  实例 45
4.10  对象图 46
第5章  用例视图 47
5.1  概述 47
5.2  参与者 47
5.3  用例 48
第6章  状态机视图 51
6.1  概述 51
6.2  状态机 51
6.3  事件 52
6.4  状态 54
6.5  转换 54
6.6  组成状态 57
第7章  活动视图 61
7.1  概述 61
7.2  活动图 61
7.3  活动和其他视图 63
第8章  交互视图 64
8.1  概述 64
8.2  协作 64
8.3  交互 65
8.4  顺序图 65
8.5  激活 66
8.6  协作图 67
8.7  模板 69
第9章  物理视图 70
9.1  概述 70
9.2  构件 70
9.3  节点 71
第10章  模型管理视图 73
10.1  概述 73
10.2  包 73
10.3  包间的依赖关系 73
10.4  访问与引入依赖关系 75
10.5  模型和子系统 75
第11章  扩展机制 76
11.1  概述 76
11.2  约束 76
11.3  标记值 77
11.4  构造型 78
11.5  裁制UML 79
第12章  UML环境 80
12.1  概述 80
12.2  语义职责 80
12.3  表示法职责 81
12.4  程序设计语言职责 82
12.5  使用建模工具建模 82
12.5.1  工具问题 82
12.5.2  工作进展过程中产生的不一致模型 83
12.5.3  空值和未详细说明的值 83
第三部分  参考资料
第13章  术语大全 87
1. abstract(抽象) 87
2. abstract class(抽象类) 90
3. abstract operation(抽象操作) 90
4. abstraction(抽象) 91
5. access(访问) 92
6. action(动作) 94
7. action expression(动作表达式) 97
8. action sequence(动作序列) 97
9. action state(动作状态) 98
10. activation(激活) 98
11. active(活动的/主动的) 100
12. active class(主动类) 101
13. active object(主动对象) 102
14. active state configuration(活动状态配置) 103
15. activity(活动) 104
16. activity diagram(活动图) 104
17. activity expression(活动表达式) 104
18. activity graph(活动图) 105
19. activity state(活动状态) 110
20. activity view(活动视图) 111
21. actor(参与者) 112
22. actual parameter(实际参数) 113
23. aggregate(聚集) 113
24. aggregation(聚合) 113
25. analysis(分析) 117
26. analysis time(分析时间) 117
27. ancestor(祖先) 117
28. architecture(构架) 117
29. argument(参量) 118
30. artifact(制品) 118
31. association(关联) 119
32. association class(关联类) 122
33. association end(关联端点) 124
34. association generalization(关联泛化) 126
35. association role(关联角色) 127
36. asynchronous action(异步动作) 128
37. atomic(原子) 129
38. attribute(属性) 129
39. background information(背景信息) 132
40. become(变成) 133
41. behavior(行为) 134
42. behavioral feature(行为特征) 134
43. behavioral view(行为视图) 134
44. binary association(二元关联) 134
45. bind(绑定) 135
46. binding(绑定) 135
47. Boolean(布尔型) 136
48. Boolean expression(布尔型表达式) 136
49. bound element(绑定元素) 136
50. branch(分支) 138
51. call(调用) 140
52. call event(调用事件) 141
53. canonical notation(规范表示法) 142
54. cardinality(基数) 142
55. change event(改变事件) 143
56. changeability(可变性) 144
57. child(子) 144
58. class(类) 145
59. class diagram(类图) 148
60. class-in-state(状态类) 149
61. class name(类名) 150
62. classifier(类元) 151
63. classifier role(类元角色) 152
64. client(客户) 153
65. collaboration(协作) 153
66. collaboration diagram(协作图) 159
67. collaboration role(协作角色) 159
68. combination(组合) 160
69. comment(注释) 161
70. communication association(通信关联) 161
71. compartment(分栏) 162
72. compile time(编译时间) 163
73. completion transition(完成转换) 163
74. complex transition(复杂转换) 164
75. component(构件) 169
76. component diagram(构件图) 173
77. composite aggregation(组成聚合) 174
78. composite class (组成类) 174
79. composite object(组成对象) 174
80. composite state(组成状态) 175
81. composition(组合) 177
82. concrete(具体) 182
83. concurrency(并发) 183
84. concurrency substate(并发子状态) 183
85. conditional thread(条件线程) 183
86. conflict(冲突) 183
87. constraint(约束) 184
88. construction(构造) 186
89. constructor(构造函数) 186
90. container(包容器) 187
91. context(语境) 187
92. control flow(控制流) 187
93. control icons(控制图标) 188
94.copy(复制) 191
95. creation(创建) 192
96. current event(当前事件) 193
97. data type(数据类型) 194
98. data value(数据值) 194
99. default value(缺省值) 195
100. deferred event(延迟事件) 195
101. delegation(委派) 196
102. dependency(依赖) 196
103. deployment(部署) 198
104. deployment diagram(部署图) 198
105. deployment view(部署视图) 199
106. derivation(导出) 199
107. derived element(导出元素) 199
108. descendant(后代) 201
109. descriptor(描述符) 201
110. design(设计) 201
111. design time(设计时间) 201
112. destroy(销毁) 202
113. destruction(销毁) 202
114. development process(开发过程) 202
115. diagram(图) 204
116. direct class(直接类) 205
117. direct instance(直接实例) 205
118. discriminator(判别式) 205
119. disjoint substate(互斥子状态) 207
120. distribution unit(分布单元) 207
121. dynamic classification(动态分类) 207
122. dynamic concurrency(动态并发性) 207
123. dynamic view(动态视图) 208
124. elaboration (细化) 208
125. element(元素) 208
126. entry action(入口动作) 208
127. enumeration(枚举) 209
128. event(事件) 210
129. exception(异常) 211
130. exit action(出口动作) 212
131. export(示出) 212
132. expression(表达式) 213
133. extend(扩展) 213
134. extension point(扩展点) 217
135. extent(外延) 218
136. feature(特征) 219
137. final state(终止状态) 219
138. fire(激发) 220
139. flow(流) 220
140. focus of control(控制期) 221
141. font usuage(字体使用) 221
142. fork(分叉) 221
143. formal argument(形式参量) 222
144. framework (框架) 222
145. friend (友元) 222
146. full descriptor(完全描述符) 223
147. functional view(功能视图) 223
148. generalizable element(可泛化元素) 223
149. generalization(泛化) 224
150. graphic marker(图形标记) 227
151. guard condition(监护条件) 227
152. guillemets(书名号) 228
153. history state(历史状态) 228
154. hyperlink(超级链接) 229
155. identity(身份) 230
156. ill formed(非良性结构) 230
157. implementation(实现) 230
158. implementation class(实现类) 231
159. implementation inheritance(实现继承) 231
160. implementation view(实现视图) 231
161. import(引入) 231
162. inactive(不活动的) 232
163. inception(初始) 232
164. include(包含) 232
165. incremental development(增量式开发) 234
166. indirect instance(间接实例) 234
167. inheritance(继承) 234
168. initial state(初始状态) 235
169. initial value(初始值) 237
170. initialization(初始化) 237
171. instance(实例) 237
172. instance of(的实例) 239
173. instantiable(可实例化的) 239
174. instantiate(实例化) 240
175. instantiation(实例化) 240
176. intent(内涵) 241
177. interaction(交互) 241
178. interaction diagram(交互图) 242
179. interaction view(交互视图) 242
180. interface(接口) 243
181. interface inheritance(接口继承) 245
182. interface specifier(接口说明符) 246
183. internal transition(内部转换) 247
184. invariant(不变量) 248
185. iteration expression(迭代表达式) 248
186. iterative development(迭代开发) 249
187. join(结合) 249
188. junction state(结合状态) 250
189. keyword(关键字) 251
190. label(标签) 252
191. language type(语言类型) 252
192. layer(层) 252
193. leaf(叶) 253
194. lifeline(生命线) 253
195. link(链) 254
196. link end(链端点) 255
197. list(列表) 255
198. location (位置) 257
199. many(多) 258
200. member(成员) 259
201. merge(合并) 259
202. message(消息) 260
203. metaclass(元类) 264
204. meta-metamodel(元-元模型) 265
205. metamodel(元模型) 265
206. metaobject(元对象) 265
207. metarelationship(元关系) 265
208. method(方法) 265
209. model(模型) 266
210. model element(模型元素) 267
211. model management view(模型管理视图) 268
212. modeling time(建模时间) 268
213. module(模块) 268
214. multiobject(多对象) 268
215. multiple classification(多重分类) 269
216. multiple inheritance(多重继承) 269
217. multiplicity(多重性) 270
218. multiplicity of association(关联的多重性) 271
219. multiplicity of attribute(属性的多重性) 272
220. multiplicity of class(类的多重性) 272
221. n-ary association(n元关联) 273
222. name(名称) 275
223. namespace(命名空间) 276
224. navigability(导航性) 276
225. navigable(可导航的) 277
226. navigation(导航) 277
227. navigation efficiency(导航效率) 278
228. node(节点) 279
229. note(注解) 280
230. object(对象) 281
231. object diagram(对象图) 283
232. object flow(对象流) 284
233. object flow state(对象流状态) 284
234. object lifeline(对象生命线) 287
235. object set expression(对象集表达式) 287
236. OCL 287
237. operation(操作) 288
238. ordering(定序) 292
239. orthogonal substate(正交子状态) 293
240. owner scope(所有者作用域) 294
241. package(包) 294
242. parameter(参数) 297
243. parameter list(参数表) 298
244. parameterized element(参数化元素) 299
245. parent(父) 299
246. participates(参与) 299
247. passive object(被动对象) 299
248. path(路径) 300
249. pathname(路径名) 302
250. pattern(模式) 302
251. permission(许可) 303
252. persistent object(永久对象) 304
253. polymorphic (多态) 304
254. postcondition (后置条件) 305
255. powertype(强类型) 306
256. precondition(前置条件) 307
257. presentation element(表示元素) 308
258. primitive type(简单类型) 308
259. private(私有的) 308
260. private inheritance(私有继承) 308
261. procedure expression(过程表达式) 309
262. process(过程) 309
263. product(产品) 310
264. projection(投影) 310
265. property(特性) 310
266. property list(特性列表) 310
267. protected(受保护的) 311
268. pseudoattribute(伪属性) 311
269. pseudostate(伪状态) 311
270. public(公共的) 312
271. qualifier(限定符) 312
272. query(查询) 317
273. realization(实现) 317
274. realize(实现) 319
275. receive (接收) 319
276. receiver(接收者) 319
277. reception(接收) 319
278. reference (引用) 320
279. refine(精化) 321
280. refinement (精化) 321
281. reification(具体化) 322
282. reify(具体化) 322
283. relationship(关系) 323
284. repository(仓库) 324
285. request(请求) 324
286. requirement(需求) 324
287. responsibility(职责) 324
288. reuse (重用) 325
289. role(角色) 325
290. rolename(角色名) 325
291. run time(运行时间) 327
292. run to completion(运行到完成) 327
293. scenario (脚本) 327
294. scope (作用域) 328
295. self-transition (自转换) 329
296. semantic variation point(语义变更点) 329
297. semantics(语义) 329
298. send(发送) 329
299. sender(发送者) 332
300. sequence diagram(顺序图) 333
301. sequence number(顺序号) 335
302. signal(信号) 336
303. signal event(信号事件) 338
304. signature(特征标记) 338
305. simple state(简单状态) 338
306. simple transition(简单转换) 338
307. single classification(单分类) 338
308. single inheritance(单继承) 338
309. singleton(单实例类) 339
310. snapshot(快照) 339
311. source scope(源作用域) 339
312. source state(源状态) 339
313. specialization(特化) 340
314. specification(规格说明) 340
315. stages of modeling(建模阶段) 340
316. state (状态) 341
317. state machine (状态机) 346
318. state machine view(状态机视图) 352
319. statechart diagram(状态图) 352
320. static classification(静态分类) 352
321. static view(静态视图) 352
322. stereotype (构造型) 353
323. string(字符串) 355
324. structural feature(结构特征) 356
325. structural view(结构视图) 356
326. stub state(桩状态) 356
327. stubbed transition(桩转换) 357
328. subclass(子类) 358
329. submachine(子状态机) 358
330. submachine reference state(子状态机
引用状态) 358
331. substate(子状态) 360
332. substitutability principle(替代原理) 360
333. subsystem(子系统) 360
334. subtype(子类型) 362
335. summarization(概要) 362
336. superclass(超类) 362
337. supertype(超类型) 363
338. supplier(提供者) 363
339. swimlane (泳道) 363
340. synch state(同步状态) 365
341. synchronous action(同步动作) 368
342. system(系统) 368
343. tag(标记) 368
344. tagged value(标记值) 368
345. target scope(目标作用域) 370
346. target state(目标状态) 370
347. template(模板) 370
348. thread(线程) 374
349. time(时间) 374
350. time event(时间事件) 374
351. time expression(时间表达式) 375
352. timing mark(时标) 375
353. trace(跟踪/踪迹) 376
354. transient link(暂时链) 377
355. transient object(暂时对象) 377
356. transition(转换) 377
357. transition phase(转换阶段) 381
358. transition time(转换时间) 381
359. trigger(触发器) 381
360. triggerless transition(无触发器转换) 382
361. tuple(元组) 382
362. type(类型) 382
363. type expression(类型表达式) 384
364. uninterpreted(无解释的) 384
365. unspecified value(未指定值) 384
366. usuage(使用) 385
367. use(使用) 385
368. use case(用例) 386
369. use case diagram(用例图) 390
370. use case generalization(用例泛化) 390
371. use case instance(用例实例) 392
372. use case model(用例模型) 392
373. use case view(用例视图) 392
374. utility(效用) 392
375. value(值) 393
376. vertex(顶点) 393
377. view(视图) 393
378. visibility(可见性) 393
379. well formed(良性构成) 394
第14章  标准元素 395
1. access(访问) 395
2. association(关联) 395
3. become(变成) 395
4. bind(绑定) 396
5. call(调用) 396
6. complete(完整) 396
7. copy(复制) 396
8. create(创建) 397
9. derive(导出) 397
10. destroy(销毁) 397
11. destroyed(被销毁的) 397
12. disjoint(互斥) 397
13. document(文档) 398
14. documentation(文档编制) 398
15. enumeration(枚举) 398
16. executable(可执行的) 398
17. extend(扩展) 398
18. facade(虚包) 399
19. file(文件) 399
20. framework(框架) 399
21. friend(友无) 399
22. global(全局) 399
23. implementation(实现) 400
24. implementationClass(实现类) 400
25. implicit(隐含) 400
26. import(引入) 400
27. include(包含) 400
28. incomplete(不完整) 401
29. instanceOf(的实例) 401
30. instantiate(实例化) 401
31. invariant(不变量) 401
32. leaf(叶) 401
33. library(库) 402
34. local(局部) 402
35. location(位置) 402
36. metaclass(元类) 402
37. new(新) 402
38. overlapping(重叠) 403
39. parameter(参数) 403
40. persistence(永久) 403
41. postcondition(后置条件) 403
42. powertype(强类型) 403
43. precondition(前置条件) 404
44. process(过程) 404
45. refine(精化) 404
46. requirement(需求) 404
47. responsibility(职责) 404
48. self(自身) 405
49. semantics(语义) 405
50. send(发送) 405
51. stereotype(构造型) 405
52. stub(桩) 405
53. system(系统) 406
54. table(表) 406
55. thread(线程) 406
56. trace(跟踪) 406
57. transient(暂时) 406
58. type(类型) 407
59. use(使用) 407
60. utility(效用) 407
61. xor(异或) 407
第四部分  附   录
附录A  UML元模型 411
附录B  表示法小结 414
附录C  过程扩展 423
参考文献 427
索引 429

教学资源推荐
作者: 刘振安 刘燕君 单继龙 编著
作者: [美] 迈克尔·米森马彻(Michael Mitzenmacher) 伊莱·阿法尔(Eli Upfal) 著
参考读物推荐
作者: [新加坡] 马伟明(James Ma Weiming) 著
作者: 李哲英 骆 丽 李金平
作者: 葛亚明 彭永丰 薛冰 等编著