注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書教育/教材/教輔考試計(jì)算機(jī)考試UML精粹標(biāo)準(zhǔn)對象建模語言簡明指南

UML精粹標(biāo)準(zhǔn)對象建模語言簡明指南

UML精粹標(biāo)準(zhǔn)對象建模語言簡明指南

定 價(jià):¥26.00

作 者: (美)福勒(Fowler, M.)著
出版社: 清華大學(xué)出版社
叢編項(xiàng): 大學(xué)計(jì)算機(jī)教育國外著名教材系列
標(biāo) 簽: 面向?qū)ο笳Z言 UML 程序設(shè)計(jì) 高等學(xué)校 教材 英文

ISBN: 9787302125426 出版時(shí)間: 2006-03-01 包裝: 平裝
開本: 16開 頁數(shù): 177 字?jǐn)?shù):  

內(nèi)容簡介

  本書為著名的Martin Fowler所作。本書首版自1997年問世以來,深受讀者歡迎,堪稱書中上乘。第3版以UML 2.0為基礎(chǔ),引進(jìn)交互概觀圖、定時(shí)圖、復(fù)合結(jié)構(gòu)圖等新圖型;對類圖、順序圖、狀態(tài)圖、活動圖等均多有更新。作者一如既往,力求以極小篇幅,講述重要內(nèi)容,見地獨(dú)到,且使用對話文體,講述技術(shù)內(nèi)容,實(shí)用與基礎(chǔ)并重;文筆清新,引人入勝。本書可作為高等學(xué)校計(jì)算機(jī)、電子、通信等專業(yè)高年級學(xué)生及研究生課程之教學(xué)用書,同時(shí)對軟件研究者與開發(fā)人員亦頗具參考價(jià)值。 Contents()Foreword to the Third Edition(第3版前言) XIForeword to the First Edition(第1版前言) XIIIPreface(序) XVWhy Bother with the UML(為何對UML操心) XVIStructure of the Book(本書的結(jié)構(gòu)) 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發(fā)展簡史) 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(開發(fā)過程) 19Iterative and Waterfall Processes.(迭代過程與瀑布過程) 19Predictive and Adaptive Planning.(預(yù)見性計(jì)劃制訂與適應(yīng)性計(jì)劃制訂) 23Agile Processes.(敏捷過程) 24Rational Unified Process.(Rational統(tǒng)一過程) 25Fitting a Process to a Project.(過程適配項(xiàng)目) 26Fitting the UML into a process.(UML適配過程) 29Requirements Analysis(需求分析) 29Design(設(shè)計(jì)) 30Documentation(文檔) 31Understanding Legacy Code.(理解遺產(chǎn)代碼) 32Choosing a Development Process.(選擇開發(fā)過程) 33Where to Find Out More.(何處找尋更多資料) 33Chapter 3: Class Diagrams: The Essentials.(類圖:基礎(chǔ)部分) 35Properties.(特性) 35Attributes.(屬性) 36Associations.(關(guān)聯(lián)) 37Multiplicity.(重?cái)?shù)) 38Programming Interpretation of Properties.(特性的程序解釋) 39Bi-directional Associations.(雙向關(guān)聯(lián)) 41Operations.(操作) 43Generalization.(泛化) 45Notes and Comments.(注文與注釋) 46Dependency.(依賴) 47Constraint Rules.(約束規(guī)則) 49When to Use Class Diagrams.(何時(shí)使用類圖) 51Where to Find Out More.(何處找尋更多資料) 52Chapter 4: Sequence Diagrams.(順序圖) 53Creating and deleting participants.(參加者的創(chuàng)建與刪除) 56Loops, conditionals and the like.(循環(huán)、條件等) 57Synchronous and Asynchronous Calls.(同步調(diào)用與異步調(diào)用) 61When to use Sequence Diagrams.(何時(shí)使用順序圖) 61Chapter 5: 5. Class Diagrams: Advanced Concepts.(類圖: 高級概念) 65Keywords.(基詞) 65Responsibilities.(職責(zé)) 66Static Operations and Attributes.(靜態(tài)操作與靜態(tài)屬性) 66Aggregation and Composition.(聚合與組合) 67Derived Properties.(導(dǎo)出特性) 68Interfaces and Abstract Classes.(接口與抽象類) 69Read Only and Frozen.(只讀與凍結(jié)) 72Reference Objects and Value Objects.(指引對象與值對象) 73Qualified Associations.(受限關(guān)聯(lián)) 74Classification and Generalization.(分類與泛化) 75Multiple and Dynamic Classification.(多重分類與動態(tài)分類) 76Association Class.(關(guān)聯(lián)類) 78Template (Parameterized) Class.(模板(參數(shù)化)類) 81Enumerations.(枚舉) 82Active Class.(主動類) 83Visibility.(可見性) 83Messages.(消息) 84Chapter 6: Object Diagrams.(對象圖) 87When to use Object Diagrams.(何時(shí)使用對象圖) 87Chapter 7: Package Diagrams.(包圖) 89Packages and Dependencies.(包與依賴) 91Package Aspects.(包面) 93Implementing Packages.(包的實(shí)現(xiàn)) 94Where to Find Out More.(何時(shí)使用包圖) 95When to Use Package Diagrams.(何處找尋更多資料) 95Chapter 8: Deployment Diagrams.(部署圖) 97When to use deployment diagrams.(何時(shí)使用部署圖) 98Chapter 9: Use Cases.(用例) 99Content of a Use Case.(用例的內(nèi)容) 100Use Case Diagrams.(用例圖) 102Levels of Use Cases.(用例級別) 103Use cases and features (or stories).(用例與特征(或情節(jié))) 104When to Use Use Cases.(何時(shí)使用用例) 104Where to Find Out More.(何處找尋更多資料) 105Chapter10: State Machine Diagrams.(狀態(tài)機(jī)圖) 107Internal Activities.(內(nèi)部活動) 109Activity States.(活動狀態(tài)) 109Superstates.(超態(tài)) 110Concurrent States.(并發(fā)狀態(tài)) 111Implementing State Diagrams.(狀態(tài)圖的實(shí)現(xiàn)) 111When to Use State Diagrams.(何時(shí)使用狀態(tài)圖) 114Where to Find Out More.(何處找尋更多資料) 115Chapter 11. Activity Diagrams.(活動圖) 117Decomposing an action.(動作的分解) 119Partitions.(分劃) 120Signals.(信號) 121Tokens.(權(quán)標(biāo)) 124Flows and Edges.(流與邊) 124Pins and Transformations.(飾針與轉(zhuǎn)換) 125Expansion Regions.(展開區(qū)域) 126Flow Final.(流終) 127Join Specifications.(匯合指明) 128And there's more.(此外尚有更多內(nèi)容) 129When to Use Activity Diagrams.(何時(shí)使用活動圖) 129Where to Find Out More.(何處找尋更多資料) 130Chapter 12. Communication Diagrams.(通信圖) 131When to use Communication Diagrams.(何時(shí)使用通信圖) 133Chapter 13. Composite Structures.(復(fù)合結(jié)構(gòu)) 135When to Use Composite Structures.(何時(shí)使用復(fù)合結(jié)構(gòu)) 137Chapter14. Component Diagrams.(構(gòu)件圖) 139When to use Component Diagrams.(何時(shí)使用構(gòu)件圖) 141Chapter15. Collaborations.(協(xié)作) 143When to Use Collaborations.(何時(shí)使用協(xié)作) 146Chapter 16. Interaction Overview Diagrams.(交互概觀圖) 147When to use Interaction Overview Diagrams.(何時(shí)使用交互概觀圖) 147Chapter17. Timing Diagrams.(定時(shí)圖) 149When to use Timing Diagrams.(何時(shí)使用定時(shí)圖) 150Appendix: Changes between UML Versions.(UML各個(gè)版本間的變動) 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.(類型與實(shí)現(xiàn)類) 153Complete and Incomplete Discriminator Constraints. (完整與不完整判別元約束) 154Composition.(組合) 154Immutability and Frozen.(永恒與凍結(jié)) 154Returns on Sequence Diagrams.(順序圖上的回送(返回)) 154Use of the Term "Role".(術(shù)語"角色"的使用) 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).(類圖: 基礎(chǔ)部分(第3章)) 158Interaction Diagrams. (Chapter 4)(順序圖(第4章)) 158Class Diagrams : Concepts (Chapter 5).(類圖:高級概念(第5章)) 158State Diagrams.(狀態(tài)機(jī)圖) 159Activity Diagrams.(活動圖) 159Bibliography.(參考文獻(xiàn)) 161Index.(索引) 167第3版前言自古以來,最有才干的建筑師以及最杰出的設(shè)計(jì)師都確信"儉省定律"(law of parsimony)。不管它是陳述成一種悖論("少即是多"),還是陳述成一種公案("禪心即本心"),其智慧是永恒的。將任何事都簡化到本質(zhì),使形式與功能相諧。從金字塔到悉尼歌劇院,從馮·諾依曼體系結(jié)構(gòu)到UNIX及Smalltalk,最佳建筑師與設(shè)計(jì)師們都力求遵循這一普遍的永恒原則。認(rèn)識到利用奧卡姆剃刀(Occam's Razor)剃須的意義,當(dāng)我在設(shè)計(jì)與閱讀時(shí),總在尋找一些遵循儉省定律的項(xiàng)目和書籍。因此,我對你現(xiàn)在正在閱讀的這本書贊賞有加。你可能起先對我的上述評論感到驚異。我經(jīng)常接觸到定義統(tǒng)一建模語言UML的冗長而難懂的規(guī)范。這些規(guī)范使工具賣主得以實(shí)現(xiàn)UML并使方法學(xué)學(xué)者得以應(yīng)用UML。七年來,我主持了一些大型國際標(biāo)準(zhǔn)化組,制定了UML 1.1與UML 2.0的規(guī)范以及其間若干次較小的修訂。這段時(shí)期,UML在表現(xiàn)能力與精確程度上已臻成熟,但是,由于標(biāo)準(zhǔn)化過程,也增加了不必要的復(fù)雜性。遺憾的是,標(biāo)準(zhǔn)化過程乃是因其"按委員會設(shè)計(jì)"的折衷妥協(xié)而不是因其儉省典雅而聞名于世的。熟悉規(guī)范的晦澀難解之細(xì)微末節(jié)的UML專家能從Martin對UML 2.0的精粹提煉中學(xué)到什么呢?可以學(xué)到很多。一開始,Martin就巧妙地將一種龐大復(fù)雜的語言簡化成一個(gè)頗重實(shí)效的子集,后者在實(shí)踐中已被證明效果不錯。他摒棄了對該書的前一版增補(bǔ)篇幅的簡易途徑。由于這種語言的發(fā)展壯大,Martin一直堅(jiān)持其尋求"UML最為有用的部分"的目標(biāo),并且所講述的也正是這一部分。他所指的這一部分就是幫助你做80%工作的UML中神話般的20%部分。俘獲并馴服這匹在逃的野獸乃是一項(xiàng)了不起的成就!更令人欽佩的是,Martin是以一種精彩動人的對話文體來實(shí)現(xiàn)這一目標(biāo)的。通過與我們共享他的意見及趣聞軼事,他使本書成為一本有趣的讀物,并且使我們聯(lián)想到構(gòu)建與設(shè)計(jì)系統(tǒng)應(yīng)是既有創(chuàng)見又富有成效的。如果我們追求儉省公案到盡善盡美的地步,就應(yīng)發(fā)現(xiàn),用UML對項(xiàng)目建模就猶如在小學(xué)或中學(xué)中發(fā)現(xiàn)指畫班與繪畫班那樣令人愉快。UML應(yīng)是我們創(chuàng)造性的一支照明杖,以及"精確指明系統(tǒng)藍(lán)圖以致第三方可以索價(jià)并構(gòu)作系統(tǒng)"的一臺激光器,后者乃是對任何一種真正藍(lán)圖語言的酸性檢驗(yàn)。因此,雖然這可能是一本小書,它卻不是一本平凡的書。你可以從Martin的建模途徑學(xué)到的東西幾乎和你從他對UML 2.0的解釋所學(xué)到的東西一樣多。在和Martin一道工作,以增進(jìn)本次修訂所闡明的UML 2.0的語言特征的選取與糾錯上使我感到愉快。我們必須記住,所有有生命的語言(自然語言與人工語言)都必然發(fā)展或消亡。Martin的關(guān)于新特征的選擇連同你的愛好以及其他實(shí)踐者的愛好,乃是UML修訂過程中的重要部分。它們使這種語言保持生氣勃勃,并幫助它通過市場中的自然選擇而發(fā)展。在模型驅(qū)動開發(fā)成為主流以前還有很多挑戰(zhàn)性的工作要做,但是我卻因像這樣一本清晰闡明UML建模基本原理并進(jìn)行實(shí)際應(yīng)用的書籍而感到鼓舞。我希望你和我一樣能從中獲益,并利用新的深刻了解來改進(jìn)自己的軟件建模實(shí)踐。Cris KobrynU2伙伴的UML 2.0提交組主席Telelogic公司首席技術(shù)專家第1版前言在開始制訂統(tǒng)一建模語言時(shí),曾希望能產(chǎn)生一種表示設(shè)計(jì)的標(biāo)準(zhǔn)方式,它不僅能反映最佳工業(yè)實(shí)踐,還能幫助打消軟件系統(tǒng)建模過程的神秘。我們相信,使用標(biāo)準(zhǔn)建模語言定能鼓勵更多開發(fā)人員在構(gòu)作軟件系統(tǒng)之前對系統(tǒng)建模。UML的迅速廣泛采用表明軟件開發(fā)界人士確已深知建模的好處。UML的創(chuàng)建本身為一迭代與漸進(jìn)過程,這和大型軟件系統(tǒng)的建模頗為相似。最終結(jié)果成為一標(biāo)種準(zhǔn),它建立在面向?qū)ο蠼绾芏鄠€(gè)人和公司提出的想法和所做貢獻(xiàn)的基礎(chǔ)之上,并且也反映了這些想法與貢獻(xiàn)。我們開始致力于UML,但很多別人幫助我們臻于成功。對他(她)們的貢獻(xiàn)特致謝意。創(chuàng)建并商定一種標(biāo)準(zhǔn)建模語言本身為一重要挑戰(zhàn)。如何教育軟件開發(fā)界,并以一種既易理解又按軟件開發(fā)過程的方式來介紹UML亦為一重要挑戰(zhàn)。在這本容易被人誤解、且更新到反映UML最新變動的小書中,Martin Fowler遇到了更多的挑戰(zhàn)。Martin不僅以一種清晰而友善的文體介紹了UML的關(guān)鍵方面,而且還清楚闡明了UML在開發(fā)過程中所起的作用。閱讀中,我們享受到了Martin從12年以上的設(shè)計(jì)與建模經(jīng)驗(yàn)中所得到的大量寶貴的建模見識和智慧。結(jié)果是一本引導(dǎo)成千上萬開發(fā)人員進(jìn)入U(xiǎn)ML、并促使他(她)們更熱衷于以這種當(dāng)前標(biāo)準(zhǔn)建模語言進(jìn)一步開拓很多建模好處的書。謹(jǐn)向任何一位有興趣于首先覽讀UML、并對它在開發(fā)過程中所起的關(guān)鍵作用有一概貌了解的建模人員或開發(fā)人員推薦此書。Grady Booch Ivar Jacobson James Rumbaugh序在我的人生中有很多方面都是幸運(yùn)的。我的一次鴻運(yùn)是于1997年在合適的地點(diǎn)以合適的知識撰寫了本書的第1版。溯及那時(shí),面向?qū)ο蠼5幕靵y天地剛剛開始在統(tǒng)一建模語言(UML)的旗幟下統(tǒng)一起來。從那時(shí)起,UML已成為不只是對象的標(biāo)準(zhǔn)而已是軟件圖示建模的標(biāo)準(zhǔn)。我的幸運(yùn)是,這本書成為一本最流行的UML書,銷售量超過25萬冊。好!這對我來說固然不錯,但你是否應(yīng)該購買這本書呢?我要強(qiáng)調(diào)的是,這是一本篇幅簡短的書。它不指望給出這些年來日益發(fā)展的UML每一方面的細(xì)節(jié)。我的意圖是去發(fā)現(xiàn)UML中最為有用的部分,并且只對你講述這一部分。雖然一本篇幅較大的書會使你了解更多的細(xì)節(jié),但也會占用你更多的閱讀時(shí)間。而時(shí)間是你對一本書的最大投資。為了保持這本書篇幅不大,我曾經(jīng)花時(shí)間去選擇最佳的部分,這樣你就不必去自行選擇了。(令人難過的是,"更小"并不總是意味著"更便宜",產(chǎn)生一本高質(zhì)量的技術(shù)書是有明確固定成本的。)購買本書的理由之一是要開始學(xué)習(xí)UML。由于這是一本小書,它會使你很快抓住UML的基本要點(diǎn)。掌握了這些內(nèi)容以后,就可以通過一些篇幅較大的書(如《用戶指南》[Booch, UML user]或《基準(zhǔn)手冊》[Rumbaugh, UML Reference])來研究UML的更多細(xì)節(jié)。本書亦可用作UML的最常用部分的方便參考書。雖然本書并未涵蓋UML的所有部分,但比起很多別的UML讀物,它卻是一本頗為輕便、易于攜帶的書。它也是一本作者有自己見地的書。我已經(jīng)在對象領(lǐng)域工作了很長一段時(shí)間,因而,對什么工作起來得心應(yīng)手、什么不然,有明確的想法。任何一本書都反映作者的意見,我也不打算隱瞞自己的看法。因此,如果你在找尋帶有客觀性的東西,你就要去嘗試別的書。雖然很多人曾經(jīng)告訴我,本書是一本關(guān)于對象的良好導(dǎo)論,但這卻非我的撰寫本意。如果你要找尋一本面向?qū)ο笤O(shè)計(jì)的導(dǎo)論,我推薦Craig Larman的書[Larman]。很多對UML感興趣的人都利用工具。本書集中考慮UML的標(biāo)準(zhǔn)以及通常用法,并未涉及各種工具所支持的細(xì)節(jié)。雖然UML消解了"前UML"表示法的巴別(Babel)塔,但在繪制UML圖時(shí),仍然在工具示明什么和允許什么之間有一些令人煩惱的差異。在本書中我沒有過多談到模型驅(qū)動體系結(jié)構(gòu)(MDA)。雖然很多人把這兩者(指UML和MDA:譯注)看作一回事,但很多開發(fā)人員利用UML而對MDA卻并無興趣。如果你要多學(xué)一些MDA,我就應(yīng)該開始先用這本書使你能了解到UML的梗概,然后再轉(zhuǎn)去閱讀一本更為專門的MDA的書。雖然本書的要點(diǎn)是UML,我也增加了少許像CRC卡那樣對面向?qū)ο笤O(shè)計(jì)有價(jià)值的別的技術(shù)材料。UML只是你用對象取得成就所需要的一部分,而我認(rèn)為,向你介紹一些別的技術(shù),還是重要的。在這樣一本簡短的書中,不可能涉及到有關(guān)UML如何與源代碼聯(lián)系的問題,特別是,尚無一種標(biāo)準(zhǔn)方式去進(jìn)行這樣的對應(yīng)。但是,我要指出一些實(shí)現(xiàn)UML片段的常用編碼技術(shù)。我的代碼例子是用Java與C#書寫的,這是因?yàn)槲野l(fā)現(xiàn)這些語言通常是最被廣泛了解的語言。不要假定我喜歡Java和C#,我用Smalltalk寫的代碼太多了!為何對UML操心?我們使用設(shè)計(jì)圖示法已經(jīng)有了一段時(shí)間。對我來說,其主要價(jià)值在于交流與理解。一個(gè)好的圖往往能幫助你交流設(shè)計(jì)想法,特別是在你想要避免很多細(xì)節(jié)時(shí)。圖也可以幫助你理解一個(gè)軟件系統(tǒng)或一個(gè)業(yè)務(wù)過程。作為試圖明白一些事情的開發(fā)組一方,圖既能幫助你理解又能幫助你把這些理解在開發(fā)組內(nèi)交流。雖然設(shè)計(jì)圖示法不是(至少還不是)正文編程語言的接替,它們卻是一個(gè)有益的助手。很多人相信,在將來,圖示技術(shù)在軟件開發(fā)中將起統(tǒng)率作用,我卻對此比較懷疑,但是,鑒別這些表示法能做什么,不能做什么,則肯定是有用的。在這些圖示法中,UML的重要性源于它在面向?qū)ο箝_發(fā)界的廣泛使用與標(biāo)準(zhǔn)化。UML已經(jīng)成為不只是面向?qū)ο蠼鐑?nèi)部的主要圖示法,而且在非面向?qū)ο蠼缫彩且环N流行的技術(shù)。本書的結(jié)構(gòu)第1章是對UML的一個(gè)簡介:UML是什么,對不同的人它所具有的不同含義,以及它源于何處。第2章談軟件過程。雖然軟件過程完全獨(dú)立于UML,我認(rèn)為重要的是,了解過程以便看出像UML那樣語言的來龍去脈。特別是,重要的是了解迭代開發(fā)的作用,對面向?qū)ο蠼绲暮芏嗳藖碚f,迭代開發(fā)是一種基本的過程途徑。我是圍繞UML內(nèi)的各種圖型來組織本書的其余部分的。第3章和第4章討論UML兩個(gè)最有用的部分:類圖(核心)與順序圖。即使本書很小,我相信,利用我在這幾章中所討論的技術(shù),你可以從UML中得到最大的好處。UML是一頭日益增長的大型野獸,但是你卻不需要它的全部。第5章談?wù)擃悎D的一些比較次要但仍有用的部分的細(xì)節(jié)。第6章到第8章表述進(jìn)一步顯露系統(tǒng)結(jié)構(gòu)(structure)的三種有用的圖: 對象圖、包圖以及部署圖。第9章至第11章示明另外三種有用的行為(behavioral)技術(shù): 用案、狀態(tài)圖(雖然正式稱作狀態(tài)機(jī)圖,它們一般稱為狀態(tài)圖)以及活動圖。第12章至第17章非常簡短,它們描述了一些不太重要的圖,對這些圖我只提供了一個(gè)快速的例子與解釋。本書前后插頁綜述圖示法最常用的部分。我常聽人說,它們是本書最重要的部分??赡苣銜l(fā)現(xiàn),在你閱讀本書某些其他部分時(shí)引用它們十分方便。第3版的變動如果你有本書的先前幾版,也許你想要知道不同之處是什么,更重要的是,是否應(yīng)該購買新版。促使我撰寫并出版第3版的主要動力是UML 2的出現(xiàn)。UML 2增加了很多新材料,包括一些新圖型。即使是熟悉的圖也有不少新的圖示法,例如,順序圖中的交互架構(gòu)。如果你想要知道發(fā)生了什么,而又不想費(fèi)力去讀完規(guī)范(我肯定不會建議你這樣做?。緯鴳?yīng)該給你一個(gè)好的概述。我已趁此機(jī)會完全改寫了本書的大部分內(nèi)容,從正文到例子都使之進(jìn)入最新狀態(tài)。我吸收了很多那些過去幾年來在講授與使用UML中所學(xué)到的東西。因此,雖然這本超薄的UML書的精神未曾觸動,但很多話語都是新的。幾年來我努力工作以使本書盡可能成為內(nèi)容最新的書。由于UML經(jīng)歷了變動,我盡最大努力與之齊頭并進(jìn)。本書是以UML 2草案為基礎(chǔ)的。該草案已于2003年6月被有關(guān)委員會接受。在那次投票和更正式的投票之間不太可能出現(xiàn)進(jìn)一步的變動,因此,我感到,對于付印我的這一修訂本來說,UML現(xiàn)在已經(jīng)足夠穩(wěn)定。任何進(jìn)一步更新的信息我將在我的網(wǎng)站(http://martinfowler.com)上公布。致謝多年來,很多人都居于本書成功的一方。我首先要感謝的是Carter Shanklin和Kendall Scott。Carter是AddisonWesley的編輯,是他建議我寫這本書的。Kendall Scott幫助我整理先前兩版,仔細(xì)檢查了正文和圖形。他們一起在不可想象的短期內(nèi)完成了難以完成的第1版的出版工作,而且保持了人們對Addison-Wesley所期待的高質(zhì)量。他們還在UML看來什么都未穩(wěn)定的早期保持?jǐn)[脫變動的困境。Jim Odell是我事業(yè)早期很多方面的導(dǎo)師與指路人。他還深入?yún)⑴c到解決持有己見的方法學(xué)學(xué)者們在技術(shù)問題和個(gè)人問題上的分歧并達(dá)成共同標(biāo)準(zhǔn)。他對本書的貢獻(xiàn)是深邃的,而且也是難以估量的。我敢說,他對UML也同樣如此。UML是一個(gè)標(biāo)準(zhǔn)的產(chǎn)物,但我對標(biāo)準(zhǔn)體卻有點(diǎn)過敏。因此,為了了解正在進(jìn)行什么,我需要有一個(gè)密探網(wǎng),他們能使我了解到各種委會員的全部秘密策劃的最新動態(tài)。如果沒有包括Comrad Bock, Steve Cook, Cris Kobryn, Jim Odell, Guus Ramackers以及Jim Rumbaugh等這樣一些密探,我可就完了。他們?nèi)冀o了我有益的指點(diǎn)并回答我一些無聊的問題。Grady Booch, Ivar Jacobson以及Jim Rumbaugh以"三友"(Three Amigos)而聞名。雖然幾年來我曾經(jīng)對他們開過一些玩笑,他們對本書卻給了我很多支持與鼓勵。永遠(yuǎn)不要忘記,我的刺激通常都源于珍視的賞識。審閱人是一本書質(zhì)量的關(guān)鍵。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版也有一組優(yōu)秀審閱人:Conrad BockCraig LarmanAndy CarmichaelSteve MellorAlistair CockburnJim OdellSteve CookAlan O'CallaghanLuke HohmannGuus RamackersPavel HrubyJim RumbaughJon KernTim SeltzerCris Kobryn所有這些審閱人都花時(shí)間閱讀書稿,其中每人至少發(fā)現(xiàn)一個(gè)令人尷尬的可笑錯誤。謹(jǐn)向他們?nèi)w致以誠摯的謝意。剩下來的任何錯誤完全是我的責(zé)任,發(fā)現(xiàn)錯誤后,將在網(wǎng)站martin fowler.com的圖書部分勘誤表頁上公布。設(shè)計(jì)并撰寫UML規(guī)范的核心組是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開發(fā)了一種絕妙的Visio模板。我在UML圖中用到很多該模板;你可以在http://phruby.com處找到相關(guān)信息。很多人在網(wǎng)上與我聯(lián)系,親自提出建議和問題,并指出錯誤。我未能和他們所有的人取得聯(lián)系,但我的感謝也是誠摯的。我鐘愛的技術(shù)書店是位于馬薩諸塞州伯林頓的SoftPro,該店的店員讓我在那里度過了很多小時(shí),瀏覽書架以發(fā)現(xiàn)人們是如何實(shí)際使用UML的,而且當(dāng)我在那里時(shí)還為我提供上等的咖啡。對第3版,組稿編輯是Mike Hendrickson。Kim Arney Mulcahy負(fù)責(zé)項(xiàng)目進(jìn)度、版式設(shè)計(jì)以及繪圖。Addison-Wesley的John Fuller是生產(chǎn)編輯,而Evelyn Pyle與Rebecca Rider負(fù)責(zé)本書的文字編輯與校對。我對他們均致謝意。在我堅(jiān)持不懈寫書時(shí),Cindy一直和我在一起。那時(shí)她在花園中耕耘以取得收益。我的父母使我有良好的教育開端,從此,其他一切都涌現(xiàn)而出。Martin FowlerMelrose, Massachusettshttp://martinfowler.com

作者簡介

  作者:MartinFowlerMartinFowler是一位獨(dú)立咨詢顧問,他運(yùn)用對象技術(shù)解決企業(yè)問題已經(jīng)超過十年。他的顧問領(lǐng)域包括健康管理、金融貿(mào)易,以及法人財(cái)務(wù)。他的客戶包括Chrysler,Citibank,UKNationalHealthService,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技術(shù)的一位合格講師,他是《AnalysisPatterns》和《UMLDistilled》的作者。UML精粹:標(biāo)準(zhǔn)對象建模語言簡明指南(第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(本書的結(jié)構(gòu))    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發(fā)展簡史)    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(開發(fā)過程)    19
Iterative and Waterfall Processes.(迭代過程與瀑布過程)    19
Predictive and Adaptive Planning.(預(yù)見性計(jì)劃制訂與適應(yīng)性計(jì)劃制訂)    23
Agile Processes.(敏捷過程)    24
Rational Unified Process.(Rational統(tǒng)一過程)    25
Fitting a Process to a Project.(過程適配項(xiàng)目)    26
Fitting the UML into a process.(UML適配過程)    29
Requirements Analysis(需求分析)    29
Design(設(shè)計(jì))    30
Documentation(文檔)    31
Understanding Legacy Code.(理解遺產(chǎn)代碼)    32
Choosing a Development Process.(選擇開發(fā)過程)    33
Where to Find Out More.(何處找尋更多資料)    33
Chapter 3: Class Diagrams: The Essentials.(類圖:基礎(chǔ)部分)    35
Properties.(特性)    35
Attributes.(屬性)    36
Associations.(關(guān)聯(lián))    37
Multiplicity.(重?cái)?shù))    38
Programming Interpretation of Properties.(特性的程序解釋)    39
Bi-directional Associations.(雙向關(guān)聯(lián))    41
Operations.(操作)    43
Generalization.(泛化)    45
Notes and Comments.(注文與注釋)    46
Dependency.(依賴)    47
Constraint Rules.(約束規(guī)則)    49
When to Use Class Diagrams.(何時(shí)使用類圖)    51
Where to Find Out More.(何處找尋更多資料)    52
Chapter 4: Sequence Diagrams.(順序圖)    53
Creating and deleting participants.(參加者的創(chuàng)建與刪除)    56
Loops, conditionals and the like.(循環(huán)、條件等)    57
Synchronous and Asynchronous Calls.(同步調(diào)用與異步調(diào)用)    61
When to use Sequence Diagrams.(何時(shí)使用順序圖)    61
Chapter 5: 5. Class Diagrams: Advanced Concepts.(類圖: 高級概念)    65
Keywords.(基詞)    65
Responsibilities.(職責(zé))    66
Static Operations and Attributes.(靜態(tài)操作與靜態(tài)屬性)    66
Aggregation and Composition.(聚合與組合)    67
Derived Properties.(導(dǎo)出特性)    68
Interfaces and Abstract Classes.(接口與抽象類)    69
Read Only and Frozen.(只讀與凍結(jié))    72
Reference Objects and Value Objects.(指引對象與值對象)    73
Qualified Associations.(受限關(guān)聯(lián))    74
Classification and Generalization.(分類與泛化)    75
Multiple and Dynamic Classification.(多重分類與動態(tài)分類)    76
Association Class.(關(guān)聯(lián)類)    78
Template (Parameterized) Class.(模板(參數(shù)化)類)    81
Enumerations.(枚舉)    82
Active Class.(主動類)    83
Visibility.(可見性)    83
Messages.(消息)    84
Chapter 6: Object Diagrams.(對象圖)    87
When to use Object Diagrams.(何時(shí)使用對象圖)    87
Chapter 7: Package Diagrams.(包圖)    89
Packages and Dependencies.(包與依賴)    91
Package Aspects.(包面)    93
Implementing Packages.(包的實(shí)現(xiàn))    94
Where to Find Out More.(何時(shí)使用包圖)    95
When to Use Package Diagrams.(何處找尋更多資料)    95
Chapter 8: Deployment Diagrams.(部署圖)    97
When to use deployment diagrams.(何時(shí)使用部署圖)    98
Chapter 9: Use Cases.(用例)    99
Content of a Use Case.(用例的內(nèi)容)    100
Use Case Diagrams.(用例圖)    102
Levels of Use Cases.(用例級別)    103
Use cases and features (or stories).(用例與特征(或情節(jié)))    104
When to Use Use Cases.(何時(shí)使用用例)    104
Where to Find Out More.(何處找尋更多資料)    105
Chapter10: State Machine Diagrams.(狀態(tài)機(jī)圖)    107
Internal Activities.(內(nèi)部活動)    109
Activity States.(活動狀態(tài))    109
Superstates.(超態(tài))    110
Concurrent States.(并發(fā)狀態(tài))    111
Implementing State Diagrams.(狀態(tài)圖的實(shí)現(xiàn))    111
When to Use State Diagrams.(何時(shí)使用狀態(tài)圖)    114
Where to Find Out More.(何處找尋更多資料)    115
Chapter 11. Activity Diagrams.(活動圖)    117
Decomposing an action.(動作的分解)    119
Partitions.(分劃)    120
Signals.(信號)    121
Tokens.(權(quán)標(biāo))    124
Flows and Edges.(流與邊)    124
Pins and Transformations.(飾針與轉(zhuǎn)換)    125
Expansion Regions.(展開區(qū)域)    126
Flow Final.(流終)    127
Join Specifications.(匯合指明)    128
And there's more.(此外尚有更多內(nèi)容)    129
When to Use Activity Diagrams.(何時(shí)使用活動圖)    129
Where to Find Out More.(何處找尋更多資料)    130
Chapter 12. Communication Diagrams.(通信圖)    131
When to use Communication Diagrams.(何時(shí)使用通信圖)    133
Chapter 13. Composite Structures.(復(fù)合結(jié)構(gòu))    135
When to Use Composite Structures.(何時(shí)使用復(fù)合結(jié)構(gòu))    137
Chapter14. Component Diagrams.(構(gòu)件圖)    139
When to use Component Diagrams.(何時(shí)使用構(gòu)件圖)    141
Chapter15. Collaborations.(協(xié)作)    143
When to Use Collaborations.(何時(shí)使用協(xié)作)    146
Chapter 16. Interaction Overview Diagrams.(交互概觀圖)    147
When to use Interaction Overview Diagrams.(何時(shí)使用交互概觀圖)    147
Chapter17. Timing Diagrams.(定時(shí)圖)    149
When to use Timing Diagrams.(何時(shí)使用定時(shí)圖)    150
Appendix: Changes between UML Versions.(UML各個(gè)版本間的變動)    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.(類型與實(shí)現(xiàn)類)    153
Complete and Incomplete Discriminator Constraints.
(完整與不完整判別元約束)    154
Composition.(組合)    154
Immutability and Frozen.(永恒與凍結(jié))    154
Returns on Sequence Diagrams.(順序圖上的回送(返回))    154
Use of the Term "Role".(術(shù)語“角色”的使用)    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).(類圖: 基礎(chǔ)部分(第3章))    158
Interaction Diagrams. (Chapter 4)(順序圖(第4章))    158
Class Diagrams : Concepts (Chapter 5).(類圖:高級概念(第5章))    158
State Diagrams.(狀態(tài)機(jī)圖)    159
Activity Diagrams.(活動圖)    159
Bibliography.(參考文獻(xiàn))    161
Index.(索引)    167

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號