书籍详情
UML精粹标准对象建模语言简明指南
作者:(美)福勒(Fowler, M.)著
出版社:清华大学出版社
出版时间:2006-03-01
ISBN:9787302125426
定价:¥26.00
购买这本书可以去
内容简介
本书为著名的Martin Fowler所作。本书首版自1997年问世以来,深受读者欢迎,堪称书中上乘。第3版以UML 2.0为基础,引进交互概观图、定时图、复合结构图等新图型;对类图、顺序图、状态图、活动图等均多有更新。作者一如既往,力求以极小篇幅,讲述重要内容,见地独到,且使用对话文体,讲述技术内容,实用与基础并重;文笔清新,引人入胜。本书可作为高等学校计算机、电子、通信等专业高年级学生及研究生课程之教学用书,同时对软件研究者与开发人员亦颇具参考价值。 Contents()Foreword to the Third Edition(第3版前言) XIForeword to the First Edition(第1版前言) XIIIPreface(序) XVWhy Bother with the UML(为何对UML操心) XVIStructure of the Book(本书的结构) XVIChanges for the Third Edition(第3版的变动) XVIIAcknowledgments(致谢) XVIIChapter 1: Introduction(引言) 1What Is the UML?(何谓UML?) 1Ways of Using the UML(UML的使用方式) 2How We Got to the UML(UML发展简史) 7Notations and Meta-Models(图示法与元模型) 9UML Diagrams(UML图) 10What is Legal UML?(何谓合法UML?) 13The Meaning of UML(UML的含义) 14UML is not enough(UML并非足够) 14Where to Start with the UML(何处着手使用UML) 16Looking for More Information(何处找寻更多资料) 16Chapter 2: Development Process(开发过程) 19Iterative and Waterfall Processes.(迭代过程与瀑布过程) 19Predictive and Adaptive Planning.(预见性计划制订与适应性计划制订) 23Agile Processes.(敏捷过程) 24Rational Unified Process.(Rational统一过程) 25Fitting a Process to a Project.(过程适配项目) 26Fitting the UML into a process.(UML适配过程) 29Requirements Analysis(需求分析) 29Design(设计) 30Documentation(文档) 31Understanding Legacy Code.(理解遗产代码) 32Choosing a Development Process.(选择开发过程) 33Where to Find Out More.(何处找寻更多资料) 33Chapter 3: Class Diagrams: The Essentials.(类图:基础部分) 35Properties.(特性) 35Attributes.(属性) 36Associations.(关联) 37Multiplicity.(重数) 38Programming Interpretation of Properties.(特性的程序解释) 39Bi-directional Associations.(双向关联) 41Operations.(操作) 43Generalization.(泛化) 45Notes and Comments.(注文与注释) 46Dependency.(依赖) 47Constraint Rules.(约束规则) 49When to Use Class Diagrams.(何时使用类图) 51Where to Find Out More.(何处找寻更多资料) 52Chapter 4: Sequence Diagrams.(顺序图) 53Creating and deleting participants.(参加者的创建与删除) 56Loops, conditionals and the like.(循环、条件等) 57Synchronous and Asynchronous Calls.(同步调用与异步调用) 61When to use Sequence Diagrams.(何时使用顺序图) 61Chapter 5: 5. Class Diagrams: Advanced Concepts.(类图: 高级概念) 65Keywords.(基词) 65Responsibilities.(职责) 66Static Operations and Attributes.(静态操作与静态属性) 66Aggregation and Composition.(聚合与组合) 67Derived Properties.(导出特性) 68Interfaces and Abstract Classes.(接口与抽象类) 69Read Only and Frozen.(只读与冻结) 72Reference Objects and Value Objects.(指引对象与值对象) 73Qualified Associations.(受限关联) 74Classification and Generalization.(分类与泛化) 75Multiple and Dynamic Classification.(多重分类与动态分类) 76Association Class.(关联类) 78Template (Parameterized) Class.(模板(参数化)类) 81Enumerations.(枚举) 82Active Class.(主动类) 83Visibility.(可见性) 83Messages.(消息) 84Chapter 6: Object Diagrams.(对象图) 87When to use Object Diagrams.(何时使用对象图) 87Chapter 7: Package Diagrams.(包图) 89Packages and Dependencies.(包与依赖) 91Package Aspects.(包面) 93Implementing Packages.(包的实现) 94Where to Find Out More.(何时使用包图) 95When to Use Package Diagrams.(何处找寻更多资料) 95Chapter 8: Deployment Diagrams.(部署图) 97When to use deployment diagrams.(何时使用部署图) 98Chapter 9: Use Cases.(用例) 99Content of a Use Case.(用例的内容) 100Use Case Diagrams.(用例图) 102Levels of Use Cases.(用例级别) 103Use cases and features (or stories).(用例与特征(或情节)) 104When to Use Use Cases.(何时使用用例) 104Where to Find Out More.(何处找寻更多资料) 105Chapter10: State Machine Diagrams.(状态机图) 107Internal Activities.(内部活动) 109Activity States.(活动状态) 109Superstates.(超态) 110Concurrent States.(并发状态) 111Implementing State Diagrams.(状态图的实现) 111When to Use State Diagrams.(何时使用状态图) 114Where to Find Out More.(何处找寻更多资料) 115Chapter 11. Activity Diagrams.(活动图) 117Decomposing an action.(动作的分解) 119Partitions.(分划) 120Signals.(信号) 121Tokens.(权标) 124Flows and Edges.(流与边) 124Pins and Transformations.(饰针与转换) 125Expansion Regions.(展开区域) 126Flow Final.(流终) 127Join Specifications.(汇合指明) 128And there's more.(此外尚有更多内容) 129When to Use Activity Diagrams.(何时使用活动图) 129Where to Find Out More.(何处找寻更多资料) 130Chapter 12. Communication Diagrams.(通信图) 131When to use Communication Diagrams.(何时使用通信图) 133Chapter 13. Composite Structures.(复合结构) 135When to Use Composite Structures.(何时使用复合结构) 137Chapter14. Component Diagrams.(构件图) 139When to use Component Diagrams.(何时使用构件图) 141Chapter15. Collaborations.(协作) 143When to Use Collaborations.(何时使用协作) 146Chapter 16. Interaction Overview Diagrams.(交互概观图) 147When to use Interaction Overview Diagrams.(何时使用交互概观图) 147Chapter17. Timing Diagrams.(定时图) 149When to use Timing Diagrams.(何时使用定时图) 150Appendix: Changes between UML Versions.(UML各个版本间的变动) 151Revisions to the UML.(UML的修订) 151Changes in UML Distilled.(《UML精粹》中的变动) 152Changes from UML 1.0 to 1.1.(从UML 10到UML 11的变动) 153Type and Implementation Class.(类型与实现类) 153Complete and Incomplete Discriminator Constraints. (完整与不完整判别元约束) 154Composition.(组合) 154Immutability and Frozen.(永恒与冻结) 154Returns on Sequence Diagrams.(顺序图上的回送(返回)) 154Use of the Term "Role".(术语"角色"的使用) 155Changes from UML 1.2 (and 1.1) to 1.3 (and 1.5). (从UML 12(及11)到UML 13(及15)的变动) 155Use Cases.(用例) 155Activity Diagrams.(活动图) 156Changes from UML 1.3 to 1.4.(从UML 13到UML 14的变动) 157Changes from UML 1.4. to 1.5.(从UML 14到UML 15的变动) 157From UML 1.x to UML 2.0.(从UML 1x到UML) 157Class Diagrams : The Essentials (Chapter 3).(类图: 基础部分(第3章)) 158Interaction Diagrams. (Chapter 4)(顺序图(第4章)) 158Class Diagrams : Concepts (Chapter 5).(类图:高级概念(第5章)) 158State Diagrams.(状态机图) 159Activity Diagrams.(活动图) 159Bibliography.(参考文献) 161Index.(索引) 167第3版前言自古以来,最有才干的建筑师以及最杰出的设计师都确信"俭省定律"(law of parsimony)。不管它是陈述成一种悖论("少即是多"),还是陈述成一种公案("禅心即本心"),其智慧是永恒的。将任何事都简化到本质,使形式与功能相谐。从金字塔到悉尼歌剧院,从冯·诺依曼体系结构到UNIX及Smalltalk,最佳建筑师与设计师们都力求遵循这一普遍的永恒原则。认识到利用奥卡姆剃刀(Occam's Razor)剃须的意义,当我在设计与阅读时,总在寻找一些遵循俭省定律的项目和书籍。因此,我对你现在正在阅读的这本书赞赏有加。你可能起先对我的上述评论感到惊异。我经常接触到定义统一建模语言UML的冗长而难懂的规范。这些规范使工具卖主得以实现UML并使方法学学者得以应用UML。七年来,我主持了一些大型国际标准化组,制定了UML 1.1与UML 2.0的规范以及其间若干次较小的修订。这段时期,UML在表现能力与精确程度上已臻成熟,但是,由于标准化过程,也增加了不必要的复杂性。遗憾的是,标准化过程乃是因其"按委员会设计"的折衷妥协而不是因其俭省典雅而闻名于世的。熟悉规范的晦涩难解之细微末节的UML专家能从Martin对UML 2.0的精粹提炼中学到什么呢?可以学到很多。一开始,Martin就巧妙地将一种庞大复杂的语言简化成一个颇重实效的子集,后者在实践中已被证明效果不错。他摒弃了对该书的前一版增补篇幅的简易途径。由于这种语言的发展壮大,Martin一直坚持其寻求"UML最为有用的部分"的目标,并且所讲述的也正是这一部分。他所指的这一部分就是帮助你做80%工作的UML中神话般的20%部分。俘获并驯服这匹在逃的野兽乃是一项了不起的成就!更令人钦佩的是,Martin是以一种精彩动人的对话文体来实现这一目标的。通过与我们共享他的意见及趣闻轶事,他使本书成为一本有趣的读物,并且使我们联想到构建与设计系统应是既有创见又富有成效的。如果我们追求俭省公案到尽善尽美的地步,就应发现,用UML对项目建模就犹如在小学或中学中发现指画班与绘画班那样令人愉快。UML应是我们创造性的一支照明杖,以及"精确指明系统蓝图以致第三方可以索价并构作系统"的一台激光器,后者乃是对任何一种真正蓝图语言的酸性检验。因此,虽然这可能是一本小书,它却不是一本平凡的书。你可以从Martin的建模途径学到的东西几乎和你从他对UML 2.0的解释所学到的东西一样多。在和Martin一道工作,以增进本次修订所阐明的UML 2.0的语言特征的选取与纠错上使我感到愉快。我们必须记住,所有有生命的语言(自然语言与人工语言)都必然发展或消亡。Martin的关于新特征的选择连同你的爱好以及其他实践者的爱好,乃是UML修订过程中的重要部分。它们使这种语言保持生气勃勃,并帮助它通过市场中的自然选择而发展。在模型驱动开发成为主流以前还有很多挑战性的工作要做,但是我却因像这样一本清晰阐明UML建模基本原理并进行实际应用的书籍而感到鼓舞。我希望你和我一样能从中获益,并利用新的深刻了解来改进自己的软件建模实践。Cris KobrynU2伙伴的UML 2.0提交组主席Telelogic公司首席技术专家第1版前言在开始制订统一建模语言时,曾希望能产生一种表示设计的标准方式,它不仅能反映最佳工业实践,还能帮助打消软件系统建模过程的神秘。我们相信,使用标准建模语言定能鼓励更多开发人员在构作软件系统之前对系统建模。UML的迅速广泛采用表明软件开发界人士确已深知建模的好处。UML的创建本身为一迭代与渐进过程,这和大型软件系统的建模颇为相似。最终结果成为一标种准,它建立在面向对象界很多个人和公司提出的想法和所做贡献的基础之上,并且也反映了这些想法与贡献。我们开始致力于UML,但很多别人帮助我们臻于成功。对他(她)们的贡献特致谢意。创建并商定一种标准建模语言本身为一重要挑战。如何教育软件开发界,并以一种既易理解又按软件开发过程的方式来介绍UML亦为一重要挑战。在这本容易被人误解、且更新到反映UML最新变动的小书中,Martin Fowler遇到了更多的挑战。Martin不仅以一种清晰而友善的文体介绍了UML的关键方面,而且还清楚阐明了UML在开发过程中所起的作用。阅读中,我们享受到了Martin从12年以上的设计与建模经验中所得到的大量宝贵的建模见识和智慧。结果是一本引导成千上万开发人员进入UML、并促使他(她)们更热衷于以这种当前标准建模语言进一步开拓很多建模好处的书。谨向任何一位有兴趣于首先览读UML、并对它在开发过程中所起的关键作用有一概貌了解的建模人员或开发人员推荐此书。Grady Booch Ivar Jacobson James Rumbaugh序在我的人生中有很多方面都是幸运的。我的一次鸿运是于1997年在合适的地点以合适的知识撰写了本书的第1版。溯及那时,面向对象建模的混乱天地刚刚开始在统一建模语言(UML)的旗帜下统一起来。从那时起,UML已成为不只是对象的标准而已是软件图示建模的标准。我的幸运是,这本书成为一本最流行的UML书,销售量超过25万册。好!这对我来说固然不错,但你是否应该购买这本书呢?我要强调的是,这是一本篇幅简短的书。它不指望给出这些年来日益发展的UML每一方面的细节。我的意图是去发现UML中最为有用的部分,并且只对你讲述这一部分。虽然一本篇幅较大的书会使你了解更多的细节,但也会占用你更多的阅读时间。而时间是你对一本书的最大投资。为了保持这本书篇幅不大,我曾经花时间去选择最佳的部分,这样你就不必去自行选择了。(令人难过的是,"更小"并不总是意味着"更便宜",产生一本高质量的技术书是有明确固定成本的。)购买本书的理由之一是要开始学习UML。由于这是一本小书,它会使你很快抓住UML的基本要点。掌握了这些内容以后,就可以通过一些篇幅较大的书(如《用户指南》[Booch, UML user]或《基准手册》[Rumbaugh, UML Reference])来研究UML的更多细节。本书亦可用作UML的最常用部分的方便参考书。虽然本书并未涵盖UML的所有部分,但比起很多别的UML读物,它却是一本颇为轻便、易于携带的书。它也是一本作者有自己见地的书。我已经在对象领域工作了很长一段时间,因而,对什么工作起来得心应手、什么不然,有明确的想法。任何一本书都反映作者的意见,我也不打算隐瞒自己的看法。因此,如果你在找寻带有客观性的东西,你就要去尝试别的书。虽然很多人曾经告诉我,本书是一本关于对象的良好导论,但这却非我的撰写本意。如果你要找寻一本面向对象设计的导论,我推荐Craig Larman的书[Larman]。很多对UML感兴趣的人都利用工具。本书集中考虑UML的标准以及通常用法,并未涉及各种工具所支持的细节。虽然UML消解了"前UML"表示法的巴别(Babel)塔,但在绘制UML图时,仍然在工具示明什么和允许什么之间有一些令人烦恼的差异。在本书中我没有过多谈到模型驱动体系结构(MDA)。虽然很多人把这两者(指UML和MDA:译注)看作一回事,但很多开发人员利用UML而对MDA却并无兴趣。如果你要多学一些MDA,我就应该开始先用这本书使你能了解到UML的梗概,然后再转去阅读一本更为专门的MDA的书。虽然本书的要点是UML,我也增加了少许像CRC卡那样对面向对象设计有价值的别的技术材料。UML只是你用对象取得成就所需要的一部分,而我认为,向你介绍一些别的技术,还是重要的。在这样一本简短的书中,不可能涉及到有关UML如何与源代码联系的问题,特别是,尚无一种标准方式去进行这样的对应。但是,我要指出一些实现UML片段的常用编码技术。我的代码例子是用Java与C#书写的,这是因为我发现这些语言通常是最被广泛了解的语言。不要假定我喜欢Java和C#,我用Smalltalk写的代码太多了!为何对UML操心?我们使用设计图示法已经有了一段时间。对我来说,其主要价值在于交流与理解。一个好的图往往能帮助你交流设计想法,特别是在你想要避免很多细节时。图也可以帮助你理解一个软件系统或一个业务过程。作为试图明白一些事情的开发组一方,图既能帮助你理解又能帮助你把这些理解在开发组内交流。虽然设计图示法不是(至少还不是)正文编程语言的接替,它们却是一个有益的助手。很多人相信,在将来,图示技术在软件开发中将起统率作用,我却对此比较怀疑,但是,鉴别这些表示法能做什么,不能做什么,则肯定是有用的。在这些图示法中,UML的重要性源于它在面向对象开发界的广泛使用与标准化。UML已经成为不只是面向对象界内部的主要图示法,而且在非面向对象界也是一种流行的技术。本书的结构第1章是对UML的一个简介:UML是什么,对不同的人它所具有的不同含义,以及它源于何处。第2章谈软件过程。虽然软件过程完全独立于UML,我认为重要的是,了解过程以便看出像UML那样语言的来龙去脉。特别是,重要的是了解迭代开发的作用,对面向对象界的很多人来说,迭代开发是一种基本的过程途径。我是围绕UML内的各种图型来组织本书的其余部分的。第3章和第4章讨论UML两个最有用的部分:类图(核心)与顺序图。即使本书很小,我相信,利用我在这几章中所讨论的技术,你可以从UML中得到最大的好处。UML是一头日益增长的大型野兽,但是你却不需要它的全部。第5章谈论类图的一些比较次要但仍有用的部分的细节。第6章到第8章表述进一步显露系统结构(structure)的三种有用的图: 对象图、包图以及部署图。第9章至第11章示明另外三种有用的行为(behavioral)技术: 用案、状态图(虽然正式称作状态机图,它们一般称为状态图)以及活动图。第12章至第17章非常简短,它们描述了一些不太重要的图,对这些图我只提供了一个快速的例子与解释。本书前后插页综述图示法最常用的部分。我常听人说,它们是本书最重要的部分。可能你会发现,在你阅读本书某些其他部分时引用它们十分方便。第3版的变动如果你有本书的先前几版,也许你想要知道不同之处是什么,更重要的是,是否应该购买新版。促使我撰写并出版第3版的主要动力是UML 2的出现。UML 2增加了很多新材料,包括一些新图型。即使是熟悉的图也有不少新的图示法,例如,顺序图中的交互架构。如果你想要知道发生了什么,而又不想费力去读完规范(我肯定不会建议你这样做!),本书应该给你一个好的概述。我已趁此机会完全改写了本书的大部分内容,从正文到例子都使之进入最新状态。我吸收了很多那些过去几年来在讲授与使用UML中所学到的东西。因此,虽然这本超薄的UML书的精神未曾触动,但很多话语都是新的。几年来我努力工作以使本书尽可能成为内容最新的书。由于UML经历了变动,我尽最大努力与之齐头并进。本书是以UML 2草案为基础的。该草案已于2003年6月被有关委员会接受。在那次投票和更正式的投票之间不太可能出现进一步的变动,因此,我感到,对于付印我的这一修订本来说,UML现在已经足够稳定。任何进一步更新的信息我将在我的网站(http://martinfowler.com)上公布。致谢多年来,很多人都居于本书成功的一方。我首先要感谢的是Carter Shanklin和Kendall Scott。Carter是AddisonWesley的编辑,是他建议我写这本书的。Kendall Scott帮助我整理先前两版,仔细检查了正文和图形。他们一起在不可想象的短期内完成了难以完成的第1版的出版工作,而且保持了人们对Addison-Wesley所期待的高质量。他们还在UML看来什么都未稳定的早期保持摆脱变动的困境。Jim Odell是我事业早期很多方面的导师与指路人。他还深入参与到解决持有己见的方法学学者们在技术问题和个人问题上的分歧并达成共同标准。他对本书的贡献是深邃的,而且也是难以估量的。我敢说,他对UML也同样如此。UML是一个标准的产物,但我对标准体却有点过敏。因此,为了了解正在进行什么,我需要有一个密探网,他们能使我了解到各种委会员的全部秘密策划的最新动态。如果没有包括Comrad Bock, Steve Cook, Cris Kobryn, Jim Odell, Guus Ramackers以及Jim Rumbaugh等这样一些密探,我可就完了。他们全都给了我有益的指点并回答我一些无聊的问题。Grady Booch, Ivar Jacobson以及Jim Rumbaugh以"三友"(Three Amigos)而闻名。虽然几年来我曾经对他们开过一些玩笑,他们对本书却给了我很多支持与鼓励。永远不要忘记,我的刺激通常都源于珍视的赏识。审阅人是一本书质量的关键。Carter告诉过我,审阅人永不嫌多。本书前几版的审阅人是Simmi Kochhar Bhargava, Grady Booch, Eric Evans, Tom Hadfield, Ivar Jacobson, Ronald E. Jeffries, Joshua Kerievsky, Helen Klein, Jim Odell, Jim Rumbaugh以及Vivek Salgar。第3版也有一组优秀审阅人:Conrad BockCraig LarmanAndy CarmichaelSteve MellorAlistair CockburnJim OdellSteve CookAlan O'CallaghanLuke HohmannGuus RamackersPavel HrubyJim RumbaughJon KernTim SeltzerCris Kobryn所有这些审阅人都花时间阅读书稿,其中每人至少发现一个令人尴尬的可笑错误。谨向他们全体致以诚挚的谢意。剩下来的任何错误完全是我的责任,发现错误后,将在网站martin fowler.com的图书部分勘误表页上公布。设计并撰写UML规范的核心组是Don Baisley, Morgan Bj rkander, Conrad Bock, Steve Cook, Philippe Desfray, Nathan Dykman, Anders Ek, David Frankel, Eran Gery, ystein Haugen, Sridhar Iyengar, Cris Kobryn, Birger M ller Pedersen, James Odell, Gunuar vergaard, Karin Palmkvist, Guus Ramackers, Jim Rumbaugh, Bran Selic, Thomas Weigert以及Larry Williams。如果没有他们,我就没有什么值得大写特写的了。Pavel Hruby开发了一种绝妙的Visio模板。我在UML图中用到很多该模板;你可以在http://phruby.com处找到相关信息。很多人在网上与我联系,亲自提出建议和问题,并指出错误。我未能和他们所有的人取得联系,但我的感谢也是诚挚的。我钟爱的技术书店是位于马萨诸塞州伯林顿的SoftPro,该店的店员让我在那里度过了很多小时,浏览书架以发现人们是如何实际使用UML的,而且当我在那里时还为我提供上等的咖啡。对第3版,组稿编辑是Mike Hendrickson。Kim Arney Mulcahy负责项目进度、版式设计以及绘图。Addison-Wesley的John Fuller是生产编辑,而Evelyn Pyle与Rebecca Rider负责本书的文字编辑与校对。我对他们均致谢意。在我坚持不懈写书时,Cindy一直和我在一起。那时她在花园中耕耘以取得收益。我的父母使我有良好的教育开端,从此,其他一切都涌现而出。Martin FowlerMelrose, Massachusettshttp://martinfowler.com
作者简介
作者:MartinFowlerMartinFowler是一位独立咨询顾问,他运用对象技术解决企业问题已经超过十年。他的顾问领域包括健康管理、金融贸易,以及法人财务。他的客户包括Chrysler,Citibank,UKNationalHealthService,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技术的一位合格讲师,他是《AnalysisPatterns》和《UMLDistilled》的作者。UML精粹:标准对象建模语言简明指南(第3版)(英文影印版)>>更多作品
目录
Foreword to the Third Edition(第3版前言) XI
Foreword to the First Edition(第1版前言) XIII
Preface(序) XV
Why Bother with the UML(为何对UML操心) XVI
Structure of the Book(本书的结构) XVI
Changes for the Third Edition(第3版的变动) XVII
Acknowledgments(致谢) XVII
Chapter 1: Introduction(引言) 1
What Is the UML?(何谓UML?) 1
Ways of Using the UML(UML的使用方式) 2
How We Got to the UML(UML发展简史) 7
Notations and Meta-Models(图示法与元模型) 9
UML Diagrams(UML图) 10
What is Legal UML?(何谓合法UML?) 13
The Meaning of UML(UML的含义) 14
UML is not enough(UML并非足够) 14
Where to Start with the UML(何处着手使用UML) 16
Looking for More Information(何处找寻更多资料) 16
Chapter 2: Development Process(开发过程) 19
Iterative and Waterfall Processes.(迭代过程与瀑布过程) 19
Predictive and Adaptive Planning.(预见性计划制订与适应性计划制订) 23
Agile Processes.(敏捷过程) 24
Rational Unified Process.(Rational统一过程) 25
Fitting a Process to a Project.(过程适配项目) 26
Fitting the UML into a process.(UML适配过程) 29
Requirements Analysis(需求分析) 29
Design(设计) 30
Documentation(文档) 31
Understanding Legacy Code.(理解遗产代码) 32
Choosing a Development Process.(选择开发过程) 33
Where to Find Out More.(何处找寻更多资料) 33
Chapter 3: Class Diagrams: The Essentials.(类图:基础部分) 35
Properties.(特性) 35
Attributes.(属性) 36
Associations.(关联) 37
Multiplicity.(重数) 38
Programming Interpretation of Properties.(特性的程序解释) 39
Bi-directional Associations.(双向关联) 41
Operations.(操作) 43
Generalization.(泛化) 45
Notes and Comments.(注文与注释) 46
Dependency.(依赖) 47
Constraint Rules.(约束规则) 49
When to Use Class Diagrams.(何时使用类图) 51
Where to Find Out More.(何处找寻更多资料) 52
Chapter 4: Sequence Diagrams.(顺序图) 53
Creating and deleting participants.(参加者的创建与删除) 56
Loops, conditionals and the like.(循环、条件等) 57
Synchronous and Asynchronous Calls.(同步调用与异步调用) 61
When to use Sequence Diagrams.(何时使用顺序图) 61
Chapter 5: 5. Class Diagrams: Advanced Concepts.(类图: 高级概念) 65
Keywords.(基词) 65
Responsibilities.(职责) 66
Static Operations and Attributes.(静态操作与静态属性) 66
Aggregation and Composition.(聚合与组合) 67
Derived Properties.(导出特性) 68
Interfaces and Abstract Classes.(接口与抽象类) 69
Read Only and Frozen.(只读与冻结) 72
Reference Objects and Value Objects.(指引对象与值对象) 73
Qualified Associations.(受限关联) 74
Classification and Generalization.(分类与泛化) 75
Multiple and Dynamic Classification.(多重分类与动态分类) 76
Association Class.(关联类) 78
Template (Parameterized) Class.(模板(参数化)类) 81
Enumerations.(枚举) 82
Active Class.(主动类) 83
Visibility.(可见性) 83
Messages.(消息) 84
Chapter 6: Object Diagrams.(对象图) 87
When to use Object Diagrams.(何时使用对象图) 87
Chapter 7: Package Diagrams.(包图) 89
Packages and Dependencies.(包与依赖) 91
Package Aspects.(包面) 93
Implementing Packages.(包的实现) 94
Where to Find Out More.(何时使用包图) 95
When to Use Package Diagrams.(何处找寻更多资料) 95
Chapter 8: Deployment Diagrams.(部署图) 97
When to use deployment diagrams.(何时使用部署图) 98
Chapter 9: Use Cases.(用例) 99
Content of a Use Case.(用例的内容) 100
Use Case Diagrams.(用例图) 102
Levels of Use Cases.(用例级别) 103
Use cases and features (or stories).(用例与特征(或情节)) 104
When to Use Use Cases.(何时使用用例) 104
Where to Find Out More.(何处找寻更多资料) 105
Chapter10: State Machine Diagrams.(状态机图) 107
Internal Activities.(内部活动) 109
Activity States.(活动状态) 109
Superstates.(超态) 110
Concurrent States.(并发状态) 111
Implementing State Diagrams.(状态图的实现) 111
When to Use State Diagrams.(何时使用状态图) 114
Where to Find Out More.(何处找寻更多资料) 115
Chapter 11. Activity Diagrams.(活动图) 117
Decomposing an action.(动作的分解) 119
Partitions.(分划) 120
Signals.(信号) 121
Tokens.(权标) 124
Flows and Edges.(流与边) 124
Pins and Transformations.(饰针与转换) 125
Expansion Regions.(展开区域) 126
Flow Final.(流终) 127
Join Specifications.(汇合指明) 128
And there's more.(此外尚有更多内容) 129
When to Use Activity Diagrams.(何时使用活动图) 129
Where to Find Out More.(何处找寻更多资料) 130
Chapter 12. Communication Diagrams.(通信图) 131
When to use Communication Diagrams.(何时使用通信图) 133
Chapter 13. Composite Structures.(复合结构) 135
When to Use Composite Structures.(何时使用复合结构) 137
Chapter14. Component Diagrams.(构件图) 139
When to use Component Diagrams.(何时使用构件图) 141
Chapter15. Collaborations.(协作) 143
When to Use Collaborations.(何时使用协作) 146
Chapter 16. Interaction Overview Diagrams.(交互概观图) 147
When to use Interaction Overview Diagrams.(何时使用交互概观图) 147
Chapter17. Timing Diagrams.(定时图) 149
When to use Timing Diagrams.(何时使用定时图) 150
Appendix: Changes between UML Versions.(UML各个版本间的变动) 151
Revisions to the UML.(UML的修订) 151
Changes in UML Distilled.(《UML精粹》中的变动) 152
Changes from UML 1.0 to 1.1.(从UML 10到UML 11的变动) 153
Type and Implementation Class.(类型与实现类) 153
Complete and Incomplete Discriminator Constraints.
(完整与不完整判别元约束) 154
Composition.(组合) 154
Immutability and Frozen.(永恒与冻结) 154
Returns on Sequence Diagrams.(顺序图上的回送(返回)) 154
Use of the Term "Role".(术语“角色”的使用) 155
Changes from UML 1.2 (and 1.1) to 1.3 (and 1.5)
(从UML 12(及11)到UML 13(及15)的变动) 155
Use Cases.(用例) 155
Activity Diagrams.(活动图) 156
Changes from UML 1.3 to 1.4.(从UML 13到UML 14的变动) 157
Changes from UML 1.4. to 1.5.(从UML 14到UML 15的变动) 157
From UML 1.x to UML 2.0.(从UML 1x到UML) 157
Class Diagrams : The Essentials (Chapter 3).(类图: 基础部分(第3章)) 158
Interaction Diagrams. (Chapter 4)(顺序图(第4章)) 158
Class Diagrams : Concepts (Chapter 5).(类图:高级概念(第5章)) 158
State Diagrams.(状态机图) 159
Activity Diagrams.(活动图) 159
Bibliography.(参考文献) 161
Index.(索引) 167
Foreword to the First Edition(第1版前言) XIII
Preface(序) XV
Why Bother with the UML(为何对UML操心) XVI
Structure of the Book(本书的结构) XVI
Changes for the Third Edition(第3版的变动) XVII
Acknowledgments(致谢) XVII
Chapter 1: Introduction(引言) 1
What Is the UML?(何谓UML?) 1
Ways of Using the UML(UML的使用方式) 2
How We Got to the UML(UML发展简史) 7
Notations and Meta-Models(图示法与元模型) 9
UML Diagrams(UML图) 10
What is Legal UML?(何谓合法UML?) 13
The Meaning of UML(UML的含义) 14
UML is not enough(UML并非足够) 14
Where to Start with the UML(何处着手使用UML) 16
Looking for More Information(何处找寻更多资料) 16
Chapter 2: Development Process(开发过程) 19
Iterative and Waterfall Processes.(迭代过程与瀑布过程) 19
Predictive and Adaptive Planning.(预见性计划制订与适应性计划制订) 23
Agile Processes.(敏捷过程) 24
Rational Unified Process.(Rational统一过程) 25
Fitting a Process to a Project.(过程适配项目) 26
Fitting the UML into a process.(UML适配过程) 29
Requirements Analysis(需求分析) 29
Design(设计) 30
Documentation(文档) 31
Understanding Legacy Code.(理解遗产代码) 32
Choosing a Development Process.(选择开发过程) 33
Where to Find Out More.(何处找寻更多资料) 33
Chapter 3: Class Diagrams: The Essentials.(类图:基础部分) 35
Properties.(特性) 35
Attributes.(属性) 36
Associations.(关联) 37
Multiplicity.(重数) 38
Programming Interpretation of Properties.(特性的程序解释) 39
Bi-directional Associations.(双向关联) 41
Operations.(操作) 43
Generalization.(泛化) 45
Notes and Comments.(注文与注释) 46
Dependency.(依赖) 47
Constraint Rules.(约束规则) 49
When to Use Class Diagrams.(何时使用类图) 51
Where to Find Out More.(何处找寻更多资料) 52
Chapter 4: Sequence Diagrams.(顺序图) 53
Creating and deleting participants.(参加者的创建与删除) 56
Loops, conditionals and the like.(循环、条件等) 57
Synchronous and Asynchronous Calls.(同步调用与异步调用) 61
When to use Sequence Diagrams.(何时使用顺序图) 61
Chapter 5: 5. Class Diagrams: Advanced Concepts.(类图: 高级概念) 65
Keywords.(基词) 65
Responsibilities.(职责) 66
Static Operations and Attributes.(静态操作与静态属性) 66
Aggregation and Composition.(聚合与组合) 67
Derived Properties.(导出特性) 68
Interfaces and Abstract Classes.(接口与抽象类) 69
Read Only and Frozen.(只读与冻结) 72
Reference Objects and Value Objects.(指引对象与值对象) 73
Qualified Associations.(受限关联) 74
Classification and Generalization.(分类与泛化) 75
Multiple and Dynamic Classification.(多重分类与动态分类) 76
Association Class.(关联类) 78
Template (Parameterized) Class.(模板(参数化)类) 81
Enumerations.(枚举) 82
Active Class.(主动类) 83
Visibility.(可见性) 83
Messages.(消息) 84
Chapter 6: Object Diagrams.(对象图) 87
When to use Object Diagrams.(何时使用对象图) 87
Chapter 7: Package Diagrams.(包图) 89
Packages and Dependencies.(包与依赖) 91
Package Aspects.(包面) 93
Implementing Packages.(包的实现) 94
Where to Find Out More.(何时使用包图) 95
When to Use Package Diagrams.(何处找寻更多资料) 95
Chapter 8: Deployment Diagrams.(部署图) 97
When to use deployment diagrams.(何时使用部署图) 98
Chapter 9: Use Cases.(用例) 99
Content of a Use Case.(用例的内容) 100
Use Case Diagrams.(用例图) 102
Levels of Use Cases.(用例级别) 103
Use cases and features (or stories).(用例与特征(或情节)) 104
When to Use Use Cases.(何时使用用例) 104
Where to Find Out More.(何处找寻更多资料) 105
Chapter10: State Machine Diagrams.(状态机图) 107
Internal Activities.(内部活动) 109
Activity States.(活动状态) 109
Superstates.(超态) 110
Concurrent States.(并发状态) 111
Implementing State Diagrams.(状态图的实现) 111
When to Use State Diagrams.(何时使用状态图) 114
Where to Find Out More.(何处找寻更多资料) 115
Chapter 11. Activity Diagrams.(活动图) 117
Decomposing an action.(动作的分解) 119
Partitions.(分划) 120
Signals.(信号) 121
Tokens.(权标) 124
Flows and Edges.(流与边) 124
Pins and Transformations.(饰针与转换) 125
Expansion Regions.(展开区域) 126
Flow Final.(流终) 127
Join Specifications.(汇合指明) 128
And there's more.(此外尚有更多内容) 129
When to Use Activity Diagrams.(何时使用活动图) 129
Where to Find Out More.(何处找寻更多资料) 130
Chapter 12. Communication Diagrams.(通信图) 131
When to use Communication Diagrams.(何时使用通信图) 133
Chapter 13. Composite Structures.(复合结构) 135
When to Use Composite Structures.(何时使用复合结构) 137
Chapter14. Component Diagrams.(构件图) 139
When to use Component Diagrams.(何时使用构件图) 141
Chapter15. Collaborations.(协作) 143
When to Use Collaborations.(何时使用协作) 146
Chapter 16. Interaction Overview Diagrams.(交互概观图) 147
When to use Interaction Overview Diagrams.(何时使用交互概观图) 147
Chapter17. Timing Diagrams.(定时图) 149
When to use Timing Diagrams.(何时使用定时图) 150
Appendix: Changes between UML Versions.(UML各个版本间的变动) 151
Revisions to the UML.(UML的修订) 151
Changes in UML Distilled.(《UML精粹》中的变动) 152
Changes from UML 1.0 to 1.1.(从UML 10到UML 11的变动) 153
Type and Implementation Class.(类型与实现类) 153
Complete and Incomplete Discriminator Constraints.
(完整与不完整判别元约束) 154
Composition.(组合) 154
Immutability and Frozen.(永恒与冻结) 154
Returns on Sequence Diagrams.(顺序图上的回送(返回)) 154
Use of the Term "Role".(术语“角色”的使用) 155
Changes from UML 1.2 (and 1.1) to 1.3 (and 1.5)
(从UML 12(及11)到UML 13(及15)的变动) 155
Use Cases.(用例) 155
Activity Diagrams.(活动图) 156
Changes from UML 1.3 to 1.4.(从UML 13到UML 14的变动) 157
Changes from UML 1.4. to 1.5.(从UML 14到UML 15的变动) 157
From UML 1.x to UML 2.0.(从UML 1x到UML) 157
Class Diagrams : The Essentials (Chapter 3).(类图: 基础部分(第3章)) 158
Interaction Diagrams. (Chapter 4)(顺序图(第4章)) 158
Class Diagrams : Concepts (Chapter 5).(类图:高级概念(第5章)) 158
State Diagrams.(状态机图) 159
Activity Diagrams.(活动图) 159
Bibliography.(参考文献) 161
Index.(索引) 167
猜您喜欢