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