出版時(shí)間:2012-6 出版社:電子工業(yè)出版社 作者:福勒 頁(yè)數(shù):207 字?jǐn)?shù):397000 譯者:潘加宇
Tag標(biāo)簽:無(wú)
內(nèi)容概要
在緊迫的時(shí)間壓力下,程序員很難通過(guò)緊跟技術(shù)創(chuàng)新的腳步來(lái)享受軟件工程領(lǐng)域的最新成果。正因如此,殿堂級(jí)大師Martin
Fowler這本旨在幫助專業(yè)人士提升效率的圖書一問(wèn)世,立即給軟件工程社區(qū)帶來(lái)巨大震撼。其前兩版經(jīng)年暢銷,因行文精煉自然、見解透徹而廣受稱贊。被譽(yù)為以軟件設(shè)計(jì)為生者必備資料的第3版,更是帶來(lái)有效面向?qū)ο笤O(shè)計(jì)的最佳思想及愈發(fā)便利的教學(xué)體例,引進(jìn)交互概述圖、時(shí)間圖、組合結(jié)構(gòu)等新圖型,對(duì)類圖、順序圖、狀態(tài)圖、活動(dòng)圖等也有較多更新。
本書適合作為計(jì)算機(jī)、電子、通信等專業(yè)本科及研究生課程教材,對(duì)軟件開發(fā)人員及專業(yè)研究者也極具參考價(jià)值。
作者簡(jiǎn)介
作者:(美國(guó))福勒(Martin Fowler) 譯者:潘加宇
書籍目錄
插圖目錄
第3版前言
第1版前言
序
為什么要花時(shí)間學(xué)UML
本書結(jié)構(gòu)
第3版的變化
致謝
第1章 簡(jiǎn)介
1.1 UML是什么
1.2 使用UML的方式
1.3 UML誕生史
1.4 表示法和元模型
1.5 UML圖
1.6 什么是合法的UML
1.7 UML的含義
1.8 僅有UML是不夠的
1.9 何處開始UML
1.10 更多資料
第2章 開發(fā)過(guò)程
2.1 迭代和瀑布過(guò)程
2.2 預(yù)測(cè)性和自適應(yīng)計(jì)劃
2.3 敏捷過(guò)程
2.4 Rational統(tǒng)一過(guò)程
2.5 為項(xiàng)目裁剪過(guò)程
2.6 為過(guò)程裁剪UML
2.6.1 需求分析
2.6.2 設(shè)計(jì)
2.6.3 文檔
2.6.4 理解遺留代碼
2.7 選擇開發(fā)過(guò)程
2.8 更多資料
第3章 類圖:基礎(chǔ)
3.1 性質(zhì)
3.1.1 屬性
3.2.2 關(guān)聯(lián)
3.2 多重性
3.3 性質(zhì)的編程解釋
3.4 雙向關(guān)聯(lián)
3.5 操作
3.6 泛化
3.7 注解符和注釋
3.8 依賴
3.9 約束規(guī)則
3.10 何時(shí)使用類圖
3.11 更多資料
第4章 序列圖
4.1 創(chuàng)建和刪除參與者
4.2 循環(huán)、條件等
4.3 同步和異步調(diào)用
4.4 何時(shí)使用序列圖
第5章 類圖:進(jìn)階概念
5.1 關(guān)鍵詞
5.2 責(zé)任
5.3 靜態(tài)操作和屬性
5.4 聚合和組合
5.5 派生性質(zhì)
5.6 接口和抽象類
5.7 只讀和凍結(jié)
5.8 引用對(duì)象和值對(duì)象
5.9 限定關(guān)聯(lián)
5.10 分類和泛化
5.11 多重和動(dòng)態(tài)分類
5.12 關(guān)聯(lián)類
5.13 模板(參數(shù)化)類
5.14 枚舉
5.15 主動(dòng)類
5.16 可見性
5.17 消息
第6章 對(duì)象圖
6.1 何時(shí)使用對(duì)象圖
第7章 包圖
7.1 包和依賴
7.2 包的分解
7.3 實(shí)現(xiàn)包
7.4 何時(shí)使用包圖
7.5 更多資料
第8章 部署圖
8.1 何時(shí)使用部署圖
第9章 用例
9.1 用例的內(nèi)容
9.2 用例圖
9.3 用例的級(jí)別
9.4 用例和特性(或故事)
9.5 何時(shí)使用用例
9.6 更多資料
第10章 狀態(tài)機(jī)圖
10.1 內(nèi)部活動(dòng)
10.2 活動(dòng)狀態(tài)
10.3 超狀態(tài)
10.4 并發(fā)狀態(tài)
10.5 實(shí)現(xiàn)狀態(tài)圖
10.6 何時(shí)使用狀態(tài)圖
10.7 更多資料
第11章 活動(dòng)圖
11.1 分解一個(gè)動(dòng)作
11.2 分區(qū)
11.3 信號(hào)
11.4 令牌
11.5 流和邊
11.6 針腳和變換
11.7 擴(kuò)展區(qū)域
11.8 流結(jié)束
11.9 結(jié)合規(guī)格
11.10 其他更多內(nèi)容
11.11 何時(shí)使用活動(dòng)圖
11.12 更多資料
第12章 通信圖
12.1 何時(shí)使用通信圖
第13章 組合結(jié)構(gòu)
13.1 何時(shí)使用組合結(jié)構(gòu)
第14章 組件圖
14.1 何時(shí)使用組件圖
第15章 協(xié)作
15.1 何時(shí)使用協(xié)作
第16章 交互概述圖
16.1 何時(shí)使用交互概述圖
第17章 時(shí)間圖
17.1 何時(shí)使用時(shí)間圖
附錄A UML版本之間的變化
A.1 對(duì)UML的修訂
A.2 《UML精粹》中的變化
A.3 從UML1.0到1.1的變化
A.3.1 類型和實(shí)現(xiàn)類
A.3.2 完整和不完整的鑒別器約束
A.3.3 組合
A.3.4 不可變和凍結(jié)
A.3.5 序列圖上的返回
A.3.6 術(shù)語(yǔ)“角色”的使用
A.4 從UML 1.2(和1.1)到1.3(和1.5)的變化
A.4.1 用例
A.4.2 活動(dòng)圖
A.5 從UML 1.3到1.4的變化
A.6 從UML 1.4到1.5的變化
A.7 從UML 1.x到UML 2.0
A.7.1 類圖:基礎(chǔ)(第3章)
A.7.2 序列圖(第4章)
A.7.3 類圖:概念(第5章)
A.7.4 狀態(tài)機(jī)圖(第10章)
A.7.5 活動(dòng)圖(第11章)
參考文獻(xiàn)
索引
插圖目錄
圖1.1 UML元模型的小片段
圖1.2 UML圖形類型分類
圖1.3 Wiki的一部分的非正式屏幕流圖(http://c2.com/cgi/wiki)
圖3.1 一個(gè)簡(jiǎn)單的類圖
圖3.2 展示訂單的性質(zhì)為屬性
圖3.3 展示訂單的性質(zhì)為關(guān)聯(lián)
圖3.4 雙向關(guān)聯(lián)
圖3.5 使用動(dòng)詞短語(yǔ)命名關(guān)聯(lián)
圖3.6 注解符用做一個(gè)或多個(gè)圖形元素的注釋
圖3.7 依賴的例子
圖4.1 一張中央控制的序列圖
圖4.2 分布控制的序列圖
圖4.3 創(chuàng)建和刪除參與者
圖4.4 交互框
圖4.5 舊習(xí)慣表達(dá)控制邏輯
圖4.6 CRC卡樣例
圖5.1 在類圖中展示責(zé)任
圖5.2 靜態(tài)表示法
圖5.3 聚合
圖5.4 組合
圖5.5 time period內(nèi)的派生屬性
圖5.6 接口和抽象類的Java例子
圖5.7 小球-球窩表示法
圖5.8 老的帶依賴的棒棒糖表示法
圖5.9 使用棒棒糖表示法在序列圖中展示多態(tài)
圖5.10 限定關(guān)聯(lián)
圖5.11 多重分類
圖5.12 關(guān)聯(lián)類
圖5.13 提升關(guān)聯(lián)類為完整的類
圖5.14 關(guān)聯(lián)類的細(xì)微差別(角色不應(yīng)該是關(guān)聯(lián)類)
圖5.15 用一個(gè)類表達(dá)瞬時(shí)關(guān)系
圖5.16 為關(guān)聯(lián)使用 ?temporal? 關(guān)鍵詞
圖5.17 模板類
圖5.18 綁定元素(版本1)
圖5.19 綁定元素(版本2)
圖5.20 枚舉
圖5.21 主動(dòng)類
圖5.22 帶消息的類
圖6.1 Party組合結(jié)構(gòu)的類圖
圖6.2 展示Party實(shí)例的對(duì)象圖
圖7.1 在圖上展示包的方式
圖7.2 企業(yè)應(yīng)用包圖
圖7.3 把圖7.2分離成兩個(gè)部分
圖7.4 被其他包實(shí)現(xiàn)的包
圖7.5 在客戶包中定義一個(gè)需求接口
圖8.1 部署圖實(shí)例
圖9.1 用例文本實(shí)例
圖9.2 用例圖
圖10.1 一個(gè)簡(jiǎn)單的狀態(tài)機(jī)圖
圖10.2 一個(gè)文本域的typing(輸入中)狀態(tài)的內(nèi)部事件展示
圖10.3 帶活動(dòng)的狀態(tài)
圖10.4 帶有嵌套子狀態(tài)的超狀態(tài)
圖10.5 并發(fā)正交狀態(tài)
圖10.6 處理圖10.1狀態(tài)轉(zhuǎn)換的C#嵌套switch
圖10.7 圖10.1的狀態(tài)模式實(shí)現(xiàn)
圖11.1 一個(gè)簡(jiǎn)單的活動(dòng)圖
圖11.2 一張次級(jí)的活動(dòng)圖
圖11.3 修改圖11.1的活動(dòng)為調(diào)用圖11.2的活動(dòng)
圖11.4 活動(dòng)圖上的分區(qū)
圖11.5 活動(dòng)圖上的信號(hào)
圖11.6 發(fā)送和接收信號(hào)
圖11.7 展示邊的4種方式
圖11.8 流上的變換
圖11.9 擴(kuò)展區(qū)域
圖11.10 擴(kuò)展區(qū)域中的單個(gè)動(dòng)作的速記
圖11.11 活動(dòng)中的流結(jié)束
圖11.12 結(jié)合規(guī)格
圖12.1 中央控制的通信圖
圖12.2 嵌套小數(shù)編號(hào)的通信圖
圖13.1 展示TV Viewer及其接口的兩種方式
圖13.2 組件的內(nèi)部視圖(來(lái)自Jim Rumbaugh的例子)
圖13.3 帶多個(gè)端口的組件
圖14.1 組件的表示法
圖14.2 組件圖例子
圖15.1 帶角色類圖的協(xié)作
圖15.2 拍賣協(xié)作的序列圖
圖15.3 協(xié)作發(fā)生
圖15.4 展示JUnit(junit.org)中模式使用的非標(biāo)準(zhǔn)方式
圖16.1 交互概述圖
圖17.1 展示狀態(tài)為線的時(shí)間圖
圖17.2 展示狀態(tài)為區(qū)域的時(shí)間圖
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 認(rèn)識(shí)到奧卡姆剃刀的價(jià)值后,當(dāng)我在做架構(gòu)和閱讀時(shí),我會(huì)尋找遵從吝嗇定律的項(xiàng)目和書。因此,我為你正在閱讀的這本書喝彩。 你一開始可能會(huì)發(fā)現(xiàn)我剛才的評(píng)價(jià)令人吃驚。我經(jīng)常被人與內(nèi)容多而密的定義統(tǒng)一建模語(yǔ)言(UML)的規(guī)則聯(lián)系起來(lái)。這些規(guī)則允許工具廠商實(shí)現(xiàn)UML,允許方法學(xué)家應(yīng)用UML。7年以來(lái),我已經(jīng)作為主席主持大型國(guó)際標(biāo)準(zhǔn)化團(tuán)隊(duì)制定UML1.1和UML2.0規(guī)則,以及若干版本之間小的修訂。在這個(gè)時(shí)期,UML在表現(xiàn)力和準(zhǔn)確性上已經(jīng)成熟;但作為標(biāo)準(zhǔn)化過(guò)程的一個(gè)結(jié)果,也添加了不必要的復(fù)雜性。遺憾的是,標(biāo)準(zhǔn)化過(guò)程更傾向于妥協(xié),以符合委員會(huì)設(shè)計(jì)的結(jié)果,而不是傾向于優(yōu)雅的吝嗇。 作為一名UML 專家,我已經(jīng)熟知規(guī)則中隱密的細(xì)枝末節(jié),還能從Martin對(duì)UML 2.0的精煉中學(xué)到東西嗎?和你一樣,可以學(xué)到很多。一開始,Martin熟練地把一門復(fù)雜的大型語(yǔ)言削減為一個(gè)實(shí)用的子集,這個(gè)子集經(jīng)他的實(shí)踐證明是高效的。他拒絕走更容易的路線:在他的書的上一個(gè)版本上加上附頁(yè)。因?yàn)檎Z(yǔ)言發(fā)展了,Martin要忠于他的目標(biāo):尋求“最有用的UML 組成部分”,而且就告訴你這部分。他給出的這部分就是UML 中那神秘的20%(能幫助你完成80%的工作)。捕獲和馴服UML 這頭善于躲避的野獸,是了不起的成就! 更讓人印象深刻的是,Martin以極其吸引人的口語(yǔ)化風(fēng)格達(dá)成了這個(gè)目標(biāo)。通過(guò)和我們分享他的觀點(diǎn)和軼事,使得這本書讀起來(lái)很有趣,并提醒我們架構(gòu)和設(shè)計(jì)系統(tǒng)應(yīng)該是創(chuàng)造性和生產(chǎn)性的。如果我們追尋吝嗇心法的完整意圖,我們應(yīng)該會(huì)發(fā)現(xiàn)UML 建模項(xiàng)目就像我們?cè)诔踔袝r(shí)上指畫班一樣令人愉快。UML 應(yīng)該是我們吸收創(chuàng)造性閃電的一根避雷針,同時(shí)也是精確詳述系統(tǒng)藍(lán)圖的一束激光,這樣,第三方可以投標(biāo)和建造那些系統(tǒng),這是判斷一門語(yǔ)言是否是真正的藍(lán)圖語(yǔ)言的酸性測(cè)試。 因此,雖然這是一本很薄的書,但絕不平凡。你既可以學(xué)到Martin的建模方法,也可以學(xué)到他對(duì)UML 2.0的解釋。 我很享受和Martin一起工作,挑出這個(gè)修訂版本要解釋的UML 2.0語(yǔ)言的特性并修正以前的錯(cuò)誤。我們需要記住,所有現(xiàn)存的語(yǔ)言,包括自然語(yǔ)言和人造語(yǔ)言,必須不斷進(jìn)化,要不就消亡了。Martin對(duì)新特性的選擇,以及你和其他從業(yè)者的偏好,是UML 修訂過(guò)程中的關(guān)鍵部分。你們讓這門語(yǔ)言保持生命力,幫助它通過(guò)市場(chǎng)的自然選擇進(jìn)化。
編輯推薦
《UML精粹:標(biāo)準(zhǔn)對(duì)象建模語(yǔ)言簡(jiǎn)明指南(第3版)》已經(jīng)向成千上萬(wàn)的開發(fā)人員介紹了UML,激發(fā)了他們進(jìn)一步探索用現(xiàn)在這種標(biāo)準(zhǔn)建模語(yǔ)言建模的諸多好處。不管您是第一次對(duì)UML感興趣,還是希望了解UML在開發(fā)過(guò)程中扮演的關(guān)鍵角色。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載