《UML和模式應(yīng)用(原書第3版)》英文版面世以來,廣受業(yè)界專家和讀者的好評,歷經(jīng)3個(gè)版本的錘煉,吸收了大量OOA,D的精華思想和現(xiàn)代實(shí)踐方法。全書敘述清晰、用詞精煉、構(gòu)思巧妙,將面向?qū)ο蠓治鲈O(shè)計(jì)的概念、過程、方法、原則和個(gè)人的實(shí)踐建議娓娓道來,以實(shí)例為證,將軟件的分析和設(shè)計(jì)的過程敘述得如邏輯推理一般,于細(xì)節(jié)處見真知。
《UML和模式應(yīng)用(原書第3版)》是一本經(jīng)典的面向?qū)ο蠓治鲈O(shè)計(jì)技術(shù)的入門書,適用范圍廣泛,從初學(xué)者到有一定對象技術(shù)知識但希望進(jìn)一步提高開發(fā)水平的中級讀者,甚至是資深的專業(yè)人員,都可以從本書獲益匪淺,同時(shí),本書也適合作為高等院校相關(guān)課程的教材和各類培訓(xùn)班的輔導(dǎo)教材。
《UML和模式應(yīng)用(原書第3版)》的結(jié)構(gòu)和重點(diǎn)建立在作者多年教授和培訓(xùn)成千上萬學(xué)生掌握OOA/D的經(jīng)驗(yàn)之上,它提供了一個(gè)精煉的、已證明的和高效率的掌握OOA/D的學(xué)習(xí)方法。
“人們經(jīng)常問我,介紹OO設(shè)計(jì)的圖書是哪一本。讀過《UML和模式應(yīng)用(原書第3版)》之后,我毫無保留地選擇了它!
——Martin Fowler,《UML Distilled》和《Refactoring》的作者
“這一版體現(xiàn)了Larman一貫的風(fēng)格,精確且富有思想,確實(shí)是一本上乘之作!
——Alistair Cockburn,《Writing Effective Use Cases》和《Surviving OO Projects》的作者
“很少有人擁有解釋事物的技巧,擁有軟件分析和設(shè)計(jì)能力的人就更少了,但Craig Larman同時(shí)擁有這兩種能力!
——John Vlissides,《Design Patterns》和《Pattern Hatching》的作者
· 享譽(yù)世界的嶄新版本,面向?qū)ο蠓治雠c設(shè)計(jì)及UML的介紹。
· 全面升級到UML 2和的迭代/敏捷實(shí)踐。
· 增加了全新的案例研究,闡述了大量關(guān)鍵思想。
《UML和模式應(yīng)用(原書第3版)》介紹了“對象思想”,并在實(shí)際的面向?qū)ο蠓治龊驮O(shè)計(jì)中應(yīng)用了這一思想,即如何以對象進(jìn)行思考和設(shè)計(jì),以及如何創(chuàng)建精致、健壯和可維護(hù)的系統(tǒng)。
開發(fā)者和學(xué)生可以通過貫穿全書的兩個(gè)案例研究的三個(gè)迭代來學(xué)習(xí)面向?qū)ο蠓治龊驮O(shè)計(jì)(OOA/D),這兩個(gè)案例研究增量地介紹了關(guān)鍵技能、OO的本質(zhì)原則和模式、UML表示法和實(shí)踐。讀者不僅可以從中學(xué)習(xí)到UML圖,更重要的是可以學(xué)習(xí)到如何在OO軟件開發(fā)環(huán)境下應(yīng)用UML。
· 享譽(yù)世界的嶄新版本,面向?qū)ο蠓治雠c設(shè)計(jì)及UML的介紹。
· 全面升級到UML 2和的迭代/敏捷實(shí)踐。
· 增加了全新的案例研究,闡述了大量關(guān)鍵思想。
無論對于專業(yè)人士還是教師來說,本書都堪稱世界一流。書中介紹了“對象思想”,并在實(shí)際的面向?qū)ο蠓治龊驮O(shè)計(jì)中應(yīng)用了這一思想,即如何以對象進(jìn)行思考和設(shè)計(jì),以及如何創(chuàng)建精致、健壯和可維護(hù)的系統(tǒng)。
開發(fā)者和學(xué)生可以通過貫穿全書的兩個(gè)案例研究的三個(gè)迭代來學(xué)習(xí)面向?qū)ο蠓治龊驮O(shè)計(jì)(OOA/D),這兩個(gè)案例研究增量地介紹了關(guān)鍵技能、OO的本質(zhì)原則和模式、UML表示法和實(shí)踐。讀者不僅可以從中學(xué)習(xí)到UML圖,更重要的是可以學(xué)習(xí)到如何在OO軟件開發(fā)環(huán)境下應(yīng)用UML。
基于廣受贊譽(yù)的前兩版,本版進(jìn)行了修訂,充分反映了新的UML 2標(biāo)準(zhǔn),提倡了具有高度影響的、迭代的和有效的敏捷建模實(shí)踐,有助于讀者掌握對象設(shè)計(jì),理解進(jìn)化式需求和用例、領(lǐng)域?qū)ο蠼、職?zé)驅(qū)動(dòng)設(shè)計(jì)、OO設(shè)計(jì)本質(zhì)、分層架構(gòu)、“四人幫”設(shè)計(jì)模式、GRASP、迭代方法、UP的敏捷途徑等。該版本的主要改進(jìn)包括:
· 更專注于幫助讀者掌握OOA/D,通過案例研究論述了關(guān)鍵的OO原則和模式,同時(shí)還應(yīng)用了UML。
· 涵蓋了UML 2、敏捷建模、測試驅(qū)動(dòng)開發(fā)和重構(gòu)。
· 針對迭代和進(jìn)化式開發(fā)與OOA/D的結(jié)合增加了大量技巧。
· 更加易于學(xué)習(xí),引入了新的學(xué)習(xí)幫助和插圖。
· 增加了新的教學(xué)資源。
· 對以輕量和敏捷精神應(yīng)用UP給予了指導(dǎo),補(bǔ)充了諸如XP和Scrum等其他迭代方法。
· 增加了應(yīng)用UML對架構(gòu)進(jìn)行文檔化的技術(shù)。
· 對進(jìn)化式需求增加了新的章節(jié)。
感謝你閱讀本書!我提供問題解答、咨詢或培訓(xùn)等服務(wù)(在OOA/D、UML、建模、迭代和敏捷方法等方面),歡迎訪問我的網(wǎng)站www.craiglarman.com。本書是面向?qū)ο蠓治龊驮O(shè)計(jì)(OOA/D)的實(shí)用指南,并且闡述了迭代開發(fā)相關(guān)方面的內(nèi)容。我很高興地看到本書的第1版和第2版在全世界范圍內(nèi)得到廣泛認(rèn)可。我衷心地感謝所有讀者!通過閱讀本書,你將會有如下收益:第一,對象技術(shù)已廣泛地應(yīng)用在軟件開發(fā)中,掌握OOA/D對創(chuàng)建健壯、可維護(hù)的對象系統(tǒng)至關(guān)重要。
Craig Larman Valtech公司首席科學(xué)家,Valtech是一家領(lǐng)先的跨國技術(shù)咨詢公司,在美國、歐洲和亞洲都有分支機(jī)構(gòu)。他是聞名于國際軟件界的專家和導(dǎo)師,專長于OOA/D與設(shè)計(jì)模式、敏捷/迭代方法、統(tǒng)一過程的敏捷途徑和UML.建模。除本書外,他還著有暢銷的《Agile and Iterative Development:A Manager’s Guide》(敏捷迭代開發(fā),該書影印版由機(jī)械工業(yè)出版社引進(jìn)出版)一書,并且與Rhett Guthrie合著了《Java Performance and Idiom Guide》一書。Lamman是ACM和IEEE會員,擁有計(jì)算機(jī)科學(xué)學(xué)士和碩士學(xué)位。他的中文網(wǎng)站www.craiglarrrtan.cn。
譯者序
序
前言
第一部分 緒論
第1章 面向?qū)ο蠓治龊驮O(shè)計(jì)
1.1 本書的主要內(nèi)容
1.2 最重要的學(xué)習(xí)目標(biāo)
1.3 什么是分析和設(shè)計(jì)
1.4 什么是面向?qū)ο蠓治龊驮O(shè)計(jì)
1.5 簡短示例
1.6 什么是UML
1.7 可視建模的優(yōu)點(diǎn)
1.8 歷史
1.9 參考資料
第2章 迭代、進(jìn)化和敏捷
2.1 什么是UP?其他方法能否對其進(jìn)行補(bǔ)充
2.2 什么是迭代和進(jìn)化式開發(fā)
2.3 什么是瀑布生命周期
2.4 如何進(jìn)行迭代和進(jìn)化式分析和設(shè)計(jì)
2.5 什么是風(fēng)險(xiǎn)驅(qū)動(dòng)和客戶驅(qū)動(dòng)的迭代計(jì)劃
2.6 什么是敏捷方法及其觀點(diǎn)
2.7 什么是敏捷建!
2.8 什么是敏捷UP
2.9 UP的其他關(guān)鍵實(shí)踐
2.10 什么是UP的階段
2.11 什么是UP科目
2.12 如何定制過程和UP開發(fā)案例
2.13 判斷你是否理解迭代開發(fā)或UP
2.14 歷史
2.15 參考資料
第3章 案例研究
3.1 案例研究中涵蓋的內(nèi)容
3.2 案例研究策略:迭代開發(fā)+迭代學(xué)習(xí)
3.3 案例一:NextGen POS系統(tǒng)
3.4 案例二:Monopoly游戲系統(tǒng)
第二部分 初 始 階 段
第4章 初始不是需求階段
4.1 什么是初始
4.2 初始階段的持續(xù)時(shí)間
4.3 初始階段會創(chuàng)建的制品
4.4 何時(shí)知道自己并不了解初始階段
4.5 初始階段中有多少UML
第5章 進(jìn)化式需求
5.1 定義:需求
5.2 進(jìn)化式需求與瀑布式需求
5.3 尋找需求可以采用的方法
5.4 需求的類型和種類
5.5 UP制品如何組織需求
5.6 本書是否包含這些制品的示例
5.7 參考資料
第6章 用例
6.1 示例
6.2 定義:參與者、場景和用例
6.3 用例和用例模型
6.4 動(dòng)機(jī):為什么使用用例
6.5 定義:用例是功能性需求嗎
6.6 定義:參與者的三種類型
6.7 表示法:用例的三種常用形式
6.8 示例:詳述風(fēng)格的處理銷售
6.9 各小節(jié)的含義
6.10 表示法:有其他格式嗎?兩欄變體
6.11 準(zhǔn)則:以無用戶界面約束的本質(zhì)風(fēng)格編寫用例
6.12 準(zhǔn)則:編寫簡潔的用例
6.13 準(zhǔn)則:編寫黑盒用例
6.14 準(zhǔn)則:持有參與者和參與者目標(biāo)的視點(diǎn)
6.15 準(zhǔn)則:如何發(fā)現(xiàn)用例
6.16 準(zhǔn)則:什么樣的測試有助于發(fā)現(xiàn)有用的用例
6.17 應(yīng)用UML:用例圖
6.18 應(yīng)用UML:活動(dòng)圖
6.19 動(dòng)機(jī):用例還有其他益處嗎?語境中的需求
6.20 示例:Monopoly游戲
6.21 過程:在迭代方法中如何使用用例
6.22 歷史
6.23 參考資料
第7章 其他需求
7.1 如何完成這些示例
7.2 準(zhǔn)則:初始階段是否應(yīng)該對此徹底地進(jìn)行分析
7.3 準(zhǔn)則:這些制品是否應(yīng)該放在項(xiàng)目Web站點(diǎn)上
7.4 NextGen示例:(部分)補(bǔ)充性規(guī)格說明
7.5 注解:補(bǔ)充性規(guī)格說明
7.6 NextGen示例:(部分)設(shè)想
7.7 注解:設(shè)想
7.8 NextGen示例:(部分)詞匯表
7.9 注解:詞匯表(數(shù)據(jù)字典)
7.10 NextGen示例:業(yè)務(wù)規(guī)則(領(lǐng)域規(guī)則)
7.11 注解:領(lǐng)域規(guī)則
7.12 過程:迭代方法中的進(jìn)化式需求
7.13 參考資料
第三部分 細(xì)化迭代1—基礎(chǔ)
第四部分 細(xì)化迭代2—更多模式
第五部分 細(xì)化迭代3——中級主題
第六部分 其他主題
參考文獻(xiàn)
術(shù)語表