注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計網絡編程UML和模式應用(原書第3版)

UML和模式應用(原書第3版)

UML和模式應用(原書第3版)

定 價:¥66.00

作 者: (美)拉曼 著,李洋 等譯;李洋譯
出版社: 機械工業(yè)出版社
叢編項: 軟件工程技術叢書
標 簽: UML

ISBN: 9787111186823 出版時間: 2006-05-01 包裝: 膠版紙
開本: 小16開 頁數: 500 字數:  

內容簡介

  本書是面向對象分析和設計(OOA/D)的實用指南,并且闡述了迭代開發(fā)相關方面的內容。如果你剛剛接觸OOA/D,你將會面臨如何掌握這個復雜主題的挑戰(zhàn);本書提供了一個良好定義的路標-統(tǒng)一過程,使你能一步一步地實現從需求到編碼的全過程。統(tǒng)一建模語言(UML)已成為建模的標準表示法,所以熟悉UML將使你受益。本書用UML表示法教授了運用OOA/D的技能。設計模式表達了面向對象設計專家用于創(chuàng)建系統(tǒng)的"最佳實踐"的習慣用法和方案。在本書中,你將學習如何應用設計模式,包括流行的GoF模式和GRASP模式。GRASP模式表達了對象設計中職責分配的基本原則。學習和掌握這些模式將加快你掌握分析和設計技能的速度。本書的結構和重點建立在作者多年教授和培訓成千上萬學生掌握OOA/D的經驗之上,它提供了一個精煉的、已證明的和高效率的掌握OOA/D的學習方法,使你在閱讀和學習上的投資得到優(yōu)化。本書詳盡地說明一個案例,以便實際地說明整個OOA/D過程,并深入討論問題的棘手細節(jié);這是一個實際的練習。本書還說明如何將對象設計工件映射成Java代碼。本書適合于熟悉OOA/D但希望學習UML表示法、應用模式的讀者,或者希望加強和提高自己的分析和設計技能的讀者。 第一部分 緒論第1章 面向對象分析和設計1.1 本書的主要內容1.2 最重要的學習目標1.3 什么是分析和設計1.4 什么是面向對象分析和設計1.5 簡短示例1.6 什么是UML1.7 可視建模的優(yōu)點1.8 歷史1.9 參考資料第2章 迭代、進化和敏捷2.1 什么是UP?其他方法能否對其進行補充2.2 什么是迭代和進化式開發(fā)2.3 什么是瀑布生命周期2.4 如何進行迭代和進化式分析和設計2.5 什么是風險驅動和客戶驅動的迭代計劃2.6 什么是敏捷方法及其觀點2.7 什么是敏捷建模2.8 什么是敏捷UP2.9 UP的其他關鍵實踐2.10 什么是UP的階段2.11 什么是UP科目2.12 如何定制過程和UP開發(fā)案例2.13 判斷你是否理解迭代開發(fā)或UP2.14 歷史2.15 參考資料第3章 案例研究3.1 案例研究中涵蓋的內容3.2 案例研究策略:迭代開發(fā)+迭代學習3.3 案例一:NextGen POS系統(tǒng)3.4 案例二:Monopoly游戲系統(tǒng)第二部分 初 始 階 段第4章 初始不是需求階段4.1 什么是初始4.2 初始階段的持續(xù)時間4.3 初始階段會創(chuàng)建的制品4.4 何時知道自己并不了解初始階段4.5 初始階段中有多少UML第5章 進化式需求5.1 定義:需求5.2 進化式需求與瀑布式需求5.3 尋找需求可以采用的方法5.4 需求的類型和種類5.5 UP制品如何組織需求5.6 本書是否包含這些制品的示例5.7 參考資料第6章 用例6.1 示例6.2 定義:參與者、場景和用例6.3 用例和用例模型6.4 動機:為什么使用用例6.5 定義:用例是功能性需求嗎6.6 定義:參與者的三種類型6.7 表示法:用例的三種常用形式6.8 示例:詳述風格的處理銷售6.9 各小節(jié)的含義6.10 表示法:有其他格式嗎?兩欄變體6.11 準則:以無用戶界面約束的本質風格編寫用例6.12 準則:編寫簡潔的用例6.13 準則:編寫黑盒用例6.14 準則:持有參與者和參與者目標的視點6.15 準則:如何發(fā)現用例6.16 準則:什么樣的測試有助于發(fā)現有用的用例6.17 應用UML:用例圖6.18 應用UML:活動圖6.19 動機:用例還有其他益處嗎?語境中的需求6.20 示例:Monopoly游戲6.21 過程:在迭代方法中如何使用用例6.22 歷史6.23 參考資料第7章 其他需求7.1 如何完成這些示例7.2 準則:初始階段是否應該對此徹底地進行分析7.3 準則:這些制品是否應該放在項目Web站點上7.4 NextGen示例:(部分)補充性規(guī)格說明7.5 注解:補充性規(guī)格說明7.6 NextGen示例:(部分)設想7.7 注解:設想7.8 NextGen示例:(部分)詞匯表7.9 注解:詞匯表(數據字典)7.10 NextGen示例:業(yè)務規(guī)則(領域規(guī)則)7.11 注解:領域規(guī)則7.12 過程:迭代方法中的進化式需求7.13 參考資料第三部分 細化迭代1-基礎第8章 迭代1-基礎8.1 迭代1的需求和重點:OOA/D技術的核心8.2 過程:初始和細化8.3 過程:計劃下一個迭代第9章 領域模型9.1 示例9.2 什么是領域模型9.3 動機:為什么要創(chuàng)建領域模型9.4 準則:如何創(chuàng)建領域模型9.5 準則:如何找到概念類9.6 示例:尋找和描繪概念類9.7 準則:敏捷建模-類圖的草呼9.8 準則:敏捷建模-是否要使用工具維護模型9.9 準則:報表對象-模型中是否要包括"票據"9.10 準則:像地圖繪制者一樣思考;使用領域術語9.11 準則:如何對非現實世界建模9.12 準則:屬性與類的常見錯誤9.13 準則:何時使用"描述"類建模9.14 關聯9.15 示例:領域模型中的關聯9.16 屬性9.17 示例:領域模型中的屬性9.18 結論:領域模型是否正確9.19 過程:迭代和進化式領域建模9.20 參考資料第10章 系統(tǒng)順序圖10.1 示例:NextGen SSD10.2 什么是系統(tǒng)順序圖10.3 動機:為什么繪制SSD10.4 應用UML:順序圖10.5 SSD和用例之間的關系10.6 如何為系統(tǒng)事件和操作命名10.7 如何為涉及其他外部系統(tǒng)的SSD建模10.8 SSD的哪些信息要放入詞匯表中10.9 示例:Monopoly SSD10.10 過程:迭代和進化式SSD10.11 歷史和參考資料第11章 操作契約11.1 示例11.2 定義:契約有哪些部分11.3 定義:什么是系統(tǒng)操作11.4 定義:后置條件11.5 示例:enterItem后置條件11.6 準則:是否應該更新領域模型11.7 準則:契約在何時有效11.8 準則:如何創(chuàng)建和編寫契約11.9 示例:NextGen POS契約11.10 示例:Monopoly契約11.11 應用UML:操作、契約和OCL11.12 過程:UP的操作契約11.13 歷史11.14 參考資料第12章 迭代地從需求到設計12.1 以迭代方式做正確的事,正確地做事12.2 盡早引發(fā)變更12.3 完成所有分析和建模工作是否需要幾個星期第13章 邏輯架構和UML包圖13.1 示例13.2 什么是邏輯架構和層13.3 案例研究中應該關注的層13.4 什么是軟件架構13.5 應用UML:包圖13.6 準則:使用層進行設計13.7 準則:模型-視圖分離原則13.8 SSD、系統(tǒng)操作和層之間的聯系13.9 示例:NextGen的邏輯架構和包圖13.10 示例:Monopoly邏輯架構13.11 參考資源第14章 邁向對象設計14.1 敏捷建模和輕量級UML圖形14.2 UML CASE工具14.3 編碼前繪制UML需要花費多少時間14.4 設計對象:什么是靜態(tài)和動態(tài)建模14.5 基于UML表示法技術的對象設計技術的重要性14.6 其他對象設計技術:CRC卡第15章 UML交互圖15.1 順序圖和通信圖15.2 UML建模初學者沒有重視交互圖15.3 常用的UML交互圖表示法15.4 順序圖的基本表示法15.5 通信圖的基本表示法第16章 UML類圖16.1 應用UML:常用類圖表示法16.2 定義:設計類圖16.3 定義:類元16.4 表示UML屬性的方式:屬性文本和關聯線16.5 注解符號:注解、注釋、約束和方法體16.6 操作和方法16.7 關鍵字16.8 構造型、簡檔和標記16.9 UML特性和特性字符串16.10 泛化、抽象類、抽象操作16.11 依賴16.12 接口16.13 組合優(yōu)于聚合16.14 約束16.15 限定關聯16.16 關聯類16.17 單實例類16.18 模板類和接口16.19 用戶自定義的分欄16.20 主動類16.21 交互圖和類圖之間的關系第17章 GRASP:基于職責設計對象17.1 UML與設計原則17.2 對象設計:輸入、活動和輸出的示例17.3 職責和職責驅動設計17.4 GRASP:基本OO設計的系統(tǒng)方法17.5 職責、GRASP和UML圖之間的聯系17.6 什么是模式17.7 現在我們所處的位置17.8 使用GRASP進行對象設計的簡短示例17.9 在對象設計中應用GRASP17.10 創(chuàng)建者17.11 信息專家(或專家)17.12 低耦合17.13 控制器17.14 高內聚17.15 參考資料第18章 使用GRASP的對象設計示例18.1 什么是用例實現18.2 制品注釋18.3 下一步工作18.4 NextGen迭代的用例實現18.5 Monopoly迭代的用例實現18.6 過程:迭代和進化式對象設計18.7 總結第19章 對可見性進行設計19.1 對象之間的可見性19.2 什么是可見性第20章 將設計映射為代碼20.1 編程和迭代、進化式開發(fā)20.2 將設計映射到代碼的20.3 由DCD創(chuàng)建類的定義20.4 從交互圖創(chuàng)建方法20.5 代碼中的集合類20.6 異常和錯誤處理20.7 定義Sale.makeLineItem方法20.8 實現的順序20.9 測試驅動或測試優(yōu)先的開發(fā)20.10 將設計映射為代碼的總結20.11 NextGen POS程序簡介20.12 Monopoly程序簡介第21章 測試驅動開發(fā)和重構21.1 測試驅動開發(fā)21.2 重構21.3 參考資料第四部分 細化迭代2-更多模式第22章 UML工具與視UML為藍圖22.1 前向、逆向和雙向工程22.2 什么是有價值特性的常見報告22.3 對工具有哪些期待22.4 如果繪制了UML草圖,如何在編碼后更新該圖形22.5 參考資料第23章 快速地更新分析23.1 案例研究:NextGen POS23.2 案例研究:Monopoly第24章 迭代2:更多模式24.1 從迭代1到迭代224.2 迭代2的需求和重點:對象設計和模式第25章 GRASP:其他對象職責25.1 多態(tài)25.2 純虛構25.3 間接性25.4 防止變異第26章 應用GoF設計模式26.1 適配器(GoF)26.2 一些GRASP原則是對其他設計模式的歸納26.3 設計中發(fā)現的"分析":領域模型26.4 工廠(Factory)26.5 單實例類(GoF)26.6 具有不同接口的外部服務問題的結論26.7 策略(GoF)26.8 組合(GoF)和其他設計原則26.9 外觀(Facade,GoF)26.10 觀察者/發(fā)布-訂閱/委派事件模型(GoF)26.11 結論26.12 參考資料第五部分 細化迭代3-中級主題第27章 迭代3:中級主題27.1 NextGen POS案例27.2 Monopoly案例第28章 UML活動圖及其建模28.1 示例28.2 如何應用活動圖28.3 其他UML活動圖表示法28.4 準則28.5 示例:NextGen中的活動圖28.6 過程:"統(tǒng)一過程"中的活動圖28.7 背景第29章 UML狀態(tài)機圖和建模29.1 示例29.2 定義:事件、狀態(tài)和轉換29.3 如何應用狀態(tài)圖29.4 更多UML狀態(tài)機圖表示法29.5 示例:使用狀態(tài)機進行UI導航建模29.6 示例:NextGen用例的狀態(tài)機圖29.7 過程:UP中的狀態(tài)機圖29.8 推薦資源第30章 用例關聯30.1 包含關系30.2 術語:具體用例、抽象用例、基礎用例和附加用例30.3 擴展關系30.4 泛化關系30.5 用例圖第31章 更多的SSD和契約第32章 精化領域模型的精化32.1 NextGen領域模型中的新概念32.2 泛化32.3 定義概念超類和子類32.4 何時定義概念子類32.5 何時定義概念超類32.6 NextGen POS案例中的概念類層次結構32.7 抽象概念類32.8 對變化的狀態(tài)建模32.9 軟件中的類層次結構和繼承關系32.10 關聯類32.11 聚合關系和組合關系32.12 時間間隔和產品價格-解決迭代1階段的"錯誤"32.13 關聯角色名稱32.14 作為概念的角色與關聯中的角色32.15 導出元素32.16 受限關聯32.17 自反關聯32.18 使用包來組織領域模型32.19 示例:Monopoly領域模型的精化第33章 架構分析33.1 過程:何時開始架構分析33.2 定義:變化點和進化點33.3 架構分析33.4 架構分析的常用步驟33.5 科學:架構因素的識別和分析33.6 示例:NextGen POS的部分架構因素表33.7 藝術:架構性因素的解決33.8 架構分析主題的總結33.9 過程:UP中的迭代架構33.10 參考資料第34章 邏輯架構精化34.1示例:NextGen的邏輯架構34.2 使用層模式的協作34.3 有關層模式的其他問題34.4 模型-視圖分離和"向上"通信34.5 參考資料第35章 使用GoF模式完成更多對象設計35.1 示例:NextGen POS35.2 本地服務容錯;使用本地緩存提高性能35.3 處理故障35.4 通過代理(PGoF)使用本地服務進行容錯35.5 對非功能性或質量需求的設計35.6 使用適配器訪問外部物理設備35.7 對一組相關的對象使用抽象工廠模式35.8 使用多態(tài)性和"Do It Myself"模式處理支付35.9 示例:Monopoly案例35.10 結論第36章 包的設計36.1 組織包結構的準則36.2 參考資料第37章 UML部署圖和構件圖37.1 部署圖37.2 構件圖第38章 使用模式設計持久性框架38.1 問題:持久性對象32.2 解決方案:持久性框架提供的持久性服務38.3 框架38.4 持久性服務和框架的需求38.5 關鍵思想38.6 模式:將對象表示為表38.7 UML數據建模簡檔38.8 模式:對象標識符38.9 通過外觀訪問持久服務38.10 映射對象:數據庫映射器或數據庫代理模式38.11 使用模板方法模式進行框架設計38.12 使用模板方法模式的具體化38.13 使用MapperFactory配置Mapper38.14 模式:緩存管理38.15 在類中合并和隱藏SQL語句38.16 事務狀態(tài)和狀態(tài)模式38.17 使用命令模式設計事務38.18 使用虛代理實現滯后具體化38.19 如何在表中表示關系38.20 PersistentObject和關注分離38.21 未決問題第39章 架構的文檔化:UML和N+1視圖模型39.1SAD和架構視圖39.2 表示法:SAD的結構39.3 示例:NextGen POS的SAD39.4 示例:Jakarta Struts 的SAD39.5 過程:迭代式架構文檔39.6 參考資料第六部分 其 他 主 題第40章 迭代式開發(fā)和敏捷項目管理的進一步討論40.1 如何計劃一次迭代40.2 適應性計劃與預測性計劃40.3 階段計劃和迭代計劃40.4 如何使用用例和場景來計劃迭代40.5 早期預算的有效性(無效性)40.6 將項目制品組織起來40.7 何時你會發(fā)現自己并沒有理解迭代計劃40.8 參考資料參考文獻

作者簡介

  Craig Larman Valtech公司首席科學家,Valtech是一家領先的跨國技術咨詢公司,在美國、歐洲和亞洲都有分支機構。他是聞名于國際軟件界的專家和導師,專長于OOA/D與設計模式、敏捷/迭代方法、統(tǒng)一過程的敏捷途徑和UML.建模。除本書外,他還著有暢銷的《Agile and Iterative Development:A Manager’s Guide》(敏捷迭代開發(fā),該書影印版由機械工業(yè)出版社引進出版)一書,并且與Rhett Guthrie合著了《Java Performance and Idiom Guide》一書。Lamman是ACM和IEEE會員,擁有計算機科學學士和碩士學位。他的中文網站www.craiglarrrtan.cn。

圖書目錄

第一部分 緒      論
第1章   面向對象分析和設計    
1.1 本書的主要內容    
1.2   最重要的學習目標    
1.3   什么是分析和設計    
1.4   什么是面向對象分析和設計    
1.5   簡短示例    
1.6   什么是UML    
1.7   可視建模的優(yōu)點    
1.8   歷史    
1.9   參考資料    
第2章   迭代、進化和敏捷    
2.1   什么是UP?其他方法能否對其
進行補充    
2.2   什么是迭代和進化式開發(fā)    
2.3   什么是瀑布生命周期    
2.4   如何進行迭代和進化式分析和
設計    
2.5   什么是風險驅動和客戶驅動的
迭代計劃    
2.6   什么是敏捷方法及其觀點    
2.7   什么是敏捷建模    
2.8   什么是敏捷UP    
2.9   UP的其他關鍵實踐    
2.10   什么是UP的階段    
2.11   什么是UP科目    
2.12   如何定制過程和UP開發(fā)案例    
2.13   判斷你是否理解迭代開發(fā)或UP    
2.14   歷史    
2.15   參考資料    
第3章   案例研究    
3.1   案例研究中涵蓋的內容    
3.2   案例研究策略:迭代開發(fā)+迭代
學習    
3.3   案例一:NextGen POS系統(tǒng)    
3.4   案例二:Monopoly游戲系統(tǒng)    
第二部分   初 始 階 段
第4章   初始不是需求階段    
4.1   什么是初始    
4.2   初始階段的持續(xù)時間    
4.3   初始階段會創(chuàng)建的制品    
4.4   何時知道自己并不了解初始階段    
4.5   初始階段中有多少UML    
第5章   進化式需求    
5.1   定義:需求    
5.2   進化式需求與瀑布式需求    
5.3   尋找需求可以采用的方法    
5.4   需求的類型和種類    
5.5   UP制品如何組織需求    
5.6   本書是否包含這些制品的示例    
5.7   參考資料    
第6章   用例    
6.1   示例    
6.2   定義:參與者、場景和用例    
6.3   用例和用例模型    
6.4   動機:為什么使用用例    
6.5   定義:用例是功能性需求嗎    
6.6   定義:參與者的三種類型    
6.7   表示法:用例的三種常用形式    
6.8   示例:詳述風格的處理銷售    
6.9   各小節(jié)的含義    
6.10   表示法:有其他格式嗎?兩欄變體    
6.11   準則:以無用戶界面約束的本質
風格編寫用例    
6.12   準則:編寫簡潔的用例    
6.13   準則:編寫黑盒用例    
6.14   準則:持有參與者和參與者目標的
視點    
6.15   準則:如何發(fā)現用例    
6.16   準則:什么樣的測試有助于發(fā)現有用
的用例    
6.17   應用UML:用例圖    
6.18   應用UML:活動圖    
6.19   動機:用例還有其他益處嗎?語境中
的需求    
6.20   示例:Monopoly游戲    
6.21   過程:在迭代方法中如何使用用例    
6.22   歷史    
6.23   參考資料    
第7章   其他需求    
7.1   如何完成這些示例    
7.2   準則:初始階段是否應該對此徹底地
進行分析    
7.3   準則:這些制品是否應該放在項目
Web站點上    
7.4   NextGen示例:(部分)補充性規(guī)格說明    
7.5   注解:補充性規(guī)格說明    
7.6   NextGen示例:(部分)設想    
7.7   注解:設想    
7.8   NextGen示例:(部分)詞匯表    
7.9   注解:詞匯表(數據字典)    
7.10   NextGen示例:業(yè)務規(guī)則(領域規(guī)則)    
7.11   注解:領域規(guī)則    
7.12   過程:迭代方法中的進化式需求    
7.13   參考資料    
第三部分   細化迭代1—基礎
第8章   迭代1—基礎
8.1   迭代1的需求和重點:OOA/D技術的
核心    
8.2   過程:初始和細化    
8.3   過程:計劃下一個迭代    
第9章   領域模型    
9.1   示例    
9.2   什么是領域模型    
9.3   動機:為什么要創(chuàng)建領域模型    
9.4   準則:如何創(chuàng)建領域模型    
9.5   準則:如何找到概念類    
9.6   示例:尋找和描繪概念類    
9.7   準則:敏捷建模—類圖的草呼    
9.8   準則:敏捷建?!欠褚褂霉ぞ?br />維護模型    
9.9   準則:報表對象—模型中是否要
包括“票據”    
9.10   準則:像地圖繪制者一樣思考;
使用領域術語    
9.11   準則:如何對非現實世界建模    
9.12   準則:屬性與類的常見錯誤    
9.13   準則:何時使用“描述”類建模    
9.14   關聯    
9.15   示例:領域模型中的關聯    
9.16   屬性    
9.17   示例:領域模型中的屬性    
9.18   結論:領域模型是否正確    
9.19   過程:迭代和進化式領域建模    
9.20   參考資料    
第10章   系統(tǒng)順序圖    
10.1   示例:NextGen SSD    
10.2   什么是系統(tǒng)順序圖    
10.3   動機:為什么繪制SSD    
10.4   應用UML:順序圖    
10.5   SSD和用例之間的關系    
10.6   如何為系統(tǒng)事件和操作命名    
10.7   如何為涉及其他外部系統(tǒng)的SSD建模    
10.8   SSD的哪些信息要放入詞匯表中    
10.9   示例:Monopoly SSD    
10.10   過程:迭代和進化式SSD    
10.11   歷史和參考資料    
第11章   操作契約    
11.1   示例    
11.2   定義:契約有哪些部分    
11.3   定義:什么是系統(tǒng)操作    
11.4   定義:后置條件    
11.5   示例:enterItem后置條件    
11.6   準則:是否應該更新領域模型    
11.7   準則:契約在何時有效    
11.8   準則:如何創(chuàng)建和編寫契約    
11.9   示例:NextGen POS契約    
11.10   示例:Monopoly契約    
11.11   應用UML:操作、契約和OCL    
11.12   過程:UP的操作契約    
11.13   歷史    
11.14   參考資料    
第12章   迭代地從需求到設計    
12.1   以迭代方式做正確的事,正確地做事    
12.2   盡早引發(fā)變更    
12.3   完成所有分析和建模工作是否需要
幾個星期    
第13章   邏輯架構和UML包圖    
13.1   示例    
13.2   什么是邏輯架構和層    
13.3   案例研究中應該關注的層    
13.4   什么是軟件架構    
13.5   應用UML:包圖    
13.6   準則:使用層進行設計    
13.7   準則:模型-視圖分離原則    
13.8   SSD、系統(tǒng)操作和層之間的聯系    
13.9   示例:NextGen的邏輯架構和包圖    
13.10   示例:Monopoly邏輯架構    
13.11   參考資源    
第14章   邁向對象設計    
14.1   敏捷建模和輕量級UML圖形    
14.2   UML CASE工具    
14.3   編碼前繪制UML需要花費多少時間    
14.4   設計對象:什么是靜態(tài)和動態(tài)建模    
14.5   基于UML表示法技術的對象設計
技術的重要性    
14.6   其他對象設計技術:CRC卡    
第15章   UML交互圖    
15.1   順序圖和通信圖    
15.2   UML建模初學者沒有重視交互圖    
15.3   常用的UML交互圖表示法    
15.4   順序圖的基本表示法    
15.5   通信圖的基本表示法    
第16章   UML類圖    
16.1   應用UML:常用類圖表示法    
16.2   定義:設計類圖    
16.3   定義:類元    
16.4   表示UML屬性的方式:屬性文本
和關聯線    
16.5   注解符號:注解、注釋、約束和
方法體    
16.6   操作和方法    
16.7   關鍵字    
16.8   構造型、簡檔和標記    
16.9   UML特性和特性字符串    
16.10   泛化、抽象類、抽象操作    
16.11   依賴    
16.12   接口    
16.13   組合優(yōu)于聚合    
16.14   約束    
16.15   限定關聯    
16.16   關聯類    
16.17   單實例類    
16.18   模板類和接口    
16.19   用戶自定義的分欄    
16.20   主動類    
16.21   交互圖和類圖之間的關系    
第17章   GRASP:基于職責設計對象    
17.1   UML與設計原則    
17.2   對象設計:輸入、活動和輸出的示例    
17.3   職責和職責驅動設計    
17.4   GRASP:基本OO設計的系統(tǒng)方法    
17.5   職責、GRASP和UML圖之間的聯系    
17.6   什么是模式    
17.7   現在我們所處的位置    
17.8   使用GRASP進行對象設計的簡短
示例    
17.9   在對象設計中應用GRASP    
17.10   創(chuàng)建者    
17.11   信息專家(或專家)    
17.12   低耦合    
17.13   控制器    
17.14   高內聚    
17.15   參考資料    
第18章   使用GRASP的對象設計示例    
18.1   什么是用例實現    
18.2   制品注釋    
18.3   下一步工作    
18.4   NextGen迭代的用例實現    
18.5   Monopoly迭代的用例實現    
18.6   過程:迭代和進化式對象設計    
18.7   總結    
第19章   對可見性進行設計    
19.1   對象之間的可見性    
19.2   什么是可見性    
第20章   將設計映射為代碼    
20.1   編程和迭代、進化式開發(fā)    
20.2   將設計映射到代碼的    
20.3   由DCD創(chuàng)建類的定義    
20.4   從交互圖創(chuàng)建方法    
20.5   代碼中的集合類    
20.6   異常和錯誤處理    
20.7   定義Sale.makeLineItem方法    
20.8   實現的順序    
20.9   測試驅動或測試優(yōu)先的開發(fā)    
20.10   將設計映射為代碼的總結    
20.11   NextGen POS程序簡介    
20.12   Monopoly程序簡介    
第21章   測試驅動開發(fā)和重構    
21.1   測試驅動開發(fā)    
21.2   重構    
21.3   參考資料    
第四部分   細化迭代2—更多模式
第22章   UML工具與視UML為藍圖    
22.1   前向、逆向和雙向工程    
22.2   什么是有價值特性的常見報告    
22.3   對工具有哪些期待    
22.4   如果繪制了UML草圖,如何在編碼
后更新該圖形    
22.5   參考資料    
第23章   快速地更新分析    
23.1   案例研究:NextGen POS    
23.2   案例研究:Monopoly    
第24章   迭代2:更多模式    
24.1   從迭代1到迭代2    
24.2   迭代2的需求和重點:對象設計和
模式    
第25章   GRASP:其他對象職責    
25.1   多態(tài)    
25.2   純虛構    
25.3   間接性    
25.4   防止變異    
第26章   應用GoF設計模式    
26.1   適配器(GoF)    
26.2   一些GRASP原則是對其他設計模式
的歸納    
26.3   設計中發(fā)現的“分析”:領域模型    
26.4   工廠(Factory)    
26.5   單實例類(GoF)    
26.6   具有不同接口的外部服務問題的結論    
26.7   策略(GoF)    
26.8   組合(GoF)和其他設計原則    
26.9   外觀(Facade,GoF)    
26.10   觀察者/發(fā)布-訂閱/委派事件模型
(GoF)    
26.11   結論    
26.12   參考資料    
第五部分   細化迭代3—中級主題
第27章   迭代3:中級主題    
27.1   NextGen POS案例    
27.2   Monopoly案例    
第28章   UML活動圖及其建模    
28.1   示例    
28.2   如何應用活動圖    
28.3   其他UML活動圖表示法    
28.4   準則    
28.5   示例:NextGen中的活動圖    
28.6   過程:“統(tǒng)一過程”中的活動圖    
28.7   背景    
第29章   UML狀態(tài)機圖和建模    
29.1   示例    
29.2   定義:事件、狀態(tài)和轉換    
29.3   如何應用狀態(tài)圖    
29.4   更多UML狀態(tài)機圖表示法    
29.5   示例:使用狀態(tài)機進行UI導航建模    
29.6   示例:NextGen用例的狀態(tài)機圖    
29.7   過程:UP中的狀態(tài)機圖    
29.8   推薦資源    
第30章   用例關聯    
30.1   包含關系    
30.2   術語:具體用例、抽象用例、基礎
用例和附加用例    
30.3   擴展關系    
30.4   泛化關系    
30.5   用例圖    
第31章   更多的SSD和契約    
第32章   精化領域模型的精化    
32.1   NextGen領域模型中的新概念    
32.2   泛化    
32.3   定義概念超類和子類    
32.4   何時定義概念子類    
32.5   何時定義概念超類    
32.6   NextGen POS案例中的概念類層次
結構    
32.7   抽象概念類    
32.8   對變化的狀態(tài)建模    
32.9   軟件中的類層次結構和繼承關系    
32.10   關聯類    
32.11   聚合關系和組合關系    
32.12   時間間隔和產品價格—解決迭代1
階段的“錯誤”    
32.13   關聯角色名稱    
32.14   作為概念的角色與關聯中的角色    
32.15   導出元素    
32.16   受限關聯    
32.17   自反關聯    
32.18   使用包來組織領域模型    
32.19   示例:Monopoly領域模型的精化    
第33章   架構分析    
33.1   過程:何時開始架構分析    
33.2   定義:變化點和進化點    
33.3   架構分析    
33.4   架構分析的常用步驟    
33.5   科學:架構因素的識別和分析    
33.6   示例:NextGen POS的部分架構
因素表    
33.7   藝術:架構性因素的解決    
33.8   架構分析主題的總結    
33.9   過程:UP中的迭代架構    
33.10   參考資料    
第34章   邏輯架構精化    
34.1    示例:NextGen的邏輯架構    
34.2   使用層模式的協作    
34.3   有關層模式的其他問題    
34.4   模型-視圖分離和“向上”通信    
34.5   參考資料    
第35章   使用GoF模式完成更多對象設計    
35.1   示例:NextGen POS    
35.2   本地服務容錯;使用本地緩存提高
性能    
35.3   處理故障    
35.4   通過代理(PGoF)使用本地服務
進行容錯    
35.5   對非功能性或質量需求的設計    
35.6   使用適配器訪問外部物理設備    
35.7   對一組相關的對象使用抽象工廠
模式    
35.8   使用多態(tài)性和“Do It Myself”模式
處理支付    
35.9   示例:Monopoly案例    
35.10   結論    
第36章   包的設計    
36.1   組織包結構的準則    
36.2   參考資料    
第37章   UML部署圖和構件圖    
37.1   部署圖    
37.2   構件圖    
第38章   使用模式設計持久性框架    
38.1   問題:持久性對象    
32.2   解決方案:持久性框架提供的持久性
服務    
38.3   框架    
38.4   持久性服務和框架的需求    
38.5   關鍵思想    
38.6   模式:將對象表示為表    
38.7   UML數據建模簡檔    
38.8   模式:對象標識符    
38.9   通過外觀訪問持久服務    
38.10   映射對象:數據庫映射器或數據庫
代理模式    
38.11   使用模板方法模式進行框架設計    
38.12   使用模板方法模式的具體化    
38.13   使用MapperFactory配置Mapper    
38.14   模式:緩存管理    
38.15   在類中合并和隱藏SQL語句    
38.16   事務狀態(tài)和狀態(tài)模式    
38.17   使用命令模式設計事務    
38.18   使用虛代理實現滯后具體化    
38.19   如何在表中表示關系    
38.20   PersistentObject和關注分離    
38.21   未決問題    
第39章   架構的文檔化:UML和
N+1視圖模型    
39.1  SAD和架構視圖    
39.2   表示法:SAD的結構    
39.3   示例:NextGen POS的SAD    
39.4   示例:Jakarta Struts 的SAD    
39.5   過程:迭代式架構文檔    
39.6   參考資料    
第六部分   其 他 主 題
第40章   迭代式開發(fā)和敏捷項目管理的
進一步討論    
40.1   如何計劃一次迭代    
40.2   適應性計劃與預測性計劃    
40.3   階段計劃和迭代計劃    
40.4   如何使用用例和場景來計劃迭代    
40.5   早期預算的有效性(無效性)    
40.6   將項目制品組織起來    
40.7   何時你會發(fā)現自己并沒有理解迭代
計劃    
40.8   參考資料    
參考文獻

本目錄推薦

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