書[0名0]: | UML和模式應用(原書[0第0]3版)|29702 |
圖書定價: | 66元 |
圖書作者: | (美)Craig Larman |
齣版社: | 機械工業齣版社 |
齣版日期: | 2006/4/1 0:00:00 |
ISBN號: | 7111186826 |
開本: | 16開 |
頁數: | 500 |
版次: | 3-1 |
作者簡介 |
Craig Larman是Valtech的過程主管,Valtech是一個[0國0]際性的谘詢公司,在歐洲、亞洲和北美洲都有分支機構,緻力於電子[0商0]務係統的開發、對象技術和統一過程的迭代開發。他還是Agile and Iterative Development: A Manager's Guide的作者,這是一本關於軟件工程和迭代敏捷開發方麵的書籍,銷量甚佳。他從印地安那州到印度,在全球各地遊曆,為開發團隊和管理人員進行培訓。. 從1980年代中期,Craig幫助瞭數以韆計的開發者,使他們能夠應用OOA/D、使用UML建模技術、采用迭代開發實踐。..在其街頭流浪音樂傢生涯失敗後,Craig在1970年代使用APL、PL/1HE CICS建立過係統。從1980年代初期開始,他開始對人工智能、自然語言處理和[0知0]識錶示産生瞭興趣,並用Lisp machines、Lisp、Prolog和Sm[0all0]talk建立過[0知0]識係統。他也為某些組織工作過,使用Java、.NET、C++和Sm[0all0]talk建立過係統。他在[0大0]部分業餘時間裏失敗地擔任瞭Changing Requirement樂隊(曾經稱為Requirement,但是成員上有些變動)的主音吉他手。他擁有加拿[0大0]溫哥華Simon Fraser[0大0][0學0]的計算機科[0學0][0學0]士和碩士[0學0]位。那是個美麗的地方。... |
內容簡介 |
本書是麵嚮對象分析和設計(OOA/D)的實用指南,並且闡述瞭迭代開發相關方麵的內容。如果你剛剛接觸OOA/D,你將[0會0]麵臨如何掌握這個復雜主題的挑戰;本書提供瞭一個良好定義的路標—統一過程,使你能一步一步地實現從需求到編碼的全過程。統一建模語言(UML)已成為建模的標準錶示[0法0],所以熟悉UML將使你受益。本書用UML錶示[0法0]教授瞭運用OOA/D的技能。設計模式錶達瞭麵嚮對象設計專傢用於創建係統的“佳實踐”的習慣用[0法0]和方案。在本書中,你將[0學0]習如何應用設計模式,包括流行的GoF模式和GRASP模式。GRASP模式錶達瞭對象設計中職責分配的基本原則。[0學0]習和掌握這些模式將加快你掌握分析和設計技能的速度。本書的結構和重點建立在作者多年教授和培訓成韆上萬[0學0]生掌握OOA/D的經驗之上,它提供瞭一個精煉的、已證明的和高效率的掌握OOA/D的[0學0]習方[0法0],使你在閱讀和[0學0]習上的投資得到[0優0]化。本書詳盡地說明一個案例,以便實際地說明整個OOA/D過程,並深入討論問題的棘手細節;這是一個實際的練習。本書還說明如何將對象設計工件映射成Java代碼。本書適閤於熟悉OOA/D但希望[0學0]習UML錶示[0法0]、應用模式的讀者,或者希望加強和提高自己的分析和設計技能的讀者。 |
目錄 |
[0第0]一部分 緒 論 [0第0]1章 麵嚮對象分析和設計 1.1 本書的主要內容 1.2 重要的[0學0]習目標 1.3 什麼是分析和設計 1.4 什麼是麵嚮對象分析和設計 1.5 簡短示例 1.6 什麼是UML 1.7 可視建模的[0優0]點 1.8 曆[0史0] 1.9 參考資料 [0第0]2章 迭代、進化和敏捷 2.1 什麼是UP?其他方[0法0]能否對其進行補充 2.2 什麼是迭代和進化式開發 2.3 什麼是瀑布生命周期 2.4 如何進行迭代和進化式分析和設計 2.5 什麼是風險驅動和客戶驅動的迭代計劃 2.6 什麼是敏捷方[0法0]及其觀點 2.7 什麼是敏捷建模 2.8 什麼是敏捷UP 2.9 UP的其他關鍵實踐 2.10 什麼是UP的階段 2.11 什麼是UP科目 2.12 如何定製過程和UP開發案例 2.13 判斷你是否理解迭代開發或UP 2.14 曆[0史0] 2.15 參考資料 [0第0]3章 案例研究 3.1 案例研究中涵蓋的內容 3.2 案例研究策略:迭代開發+迭代[0學0]習 3.3 案例一:NextGen [P1O1S] 係統 3.4 案例二:Mo[0no0]poly遊戲係統 [0第0]二部分 初 始 階 段 [0第0]4章 初始不是需求階段 4.1 什麼是初始 4.2 初始階段的持續時間 4.3 初始階段[0會0]創建的製[0品0] 4.4 何時[0知0]道自己並不瞭解初始階段 4.5 初始階段中有多少UML [0第0]5章 進化式需求 5.1 定義:需求 5.2 進化式需求與瀑布式需求 5.3 尋找需求可以采用的方[0法0] 5.4 需求的類型和種類 5.5 UP製[0品0]如何組織需求 5.6 本書是否包含這些製[0品0]的示例 5.7 參考資料 [0第0]6章 用例 6.1 示例 6.2 定義:參與者、場景和用例 6.3 用例和用例模型 6.4 動機:為什麼使用用例 6.5 定義:用例是功能性需求嗎 6.6 定義:參與者的三種類型 6.7 錶示[0法0]:用例的三種常用形式 6.8 示例:詳述風格的處理銷售 6.9 各小節的含義 6.10 錶示[0法0]:有其他格式嗎?兩欄變體 6.11 準則:以無用戶界麵約束的本質風格編寫用例 6.12 準則:編寫簡潔的用例 6.13 準則:編寫黑盒用例 6.14 準則:持有參與者和參與者目標的視點 6.15 準則:如何發現用例 6.16 準則:什麼樣的測試有助於發現有用的用例 6.17 應用UML:用例圖 6.18 應用UML:活動圖 6.19 動機:用例還有其他益處嗎?語境中的需求 6.20 示例:Mo[0no0]poly遊戲 6.21 過程:在迭代方[0法0]中如何使用用例 6.22 曆[0史0] 6.23 參考資料 [0第0]7章 其他需求 7.1 如何完成這些示例 7.2 準則:初始階段是否應該對此徹底地進行分析 7.3 準則:這些製[0品0]是否應該放在項目Web站點上 7.4 NextGen示例:(部分)補充性規格說明 7.5 注解:補充性規格說明 7.6 NextGen示例:(部分)設想 7.7 注解:設想 7.8 NextGen示例:(部分)詞匯錶 7.9 注解:詞匯錶(數據字典) 7.10 NextGen示例:業務規則([0領0]域規則) 7.11 注解:[0領0]域規則 7.12 過程:迭代方[0法0]中的進化式需求 7.13 參考資料 [0第0]三部分 細化迭代1—基礎 [0第0]8章 迭代1—基礎 8.1 迭代1的需求和重點:OOA/D技術的核心 8.2 過程:初始和細化 8.3 過程:計劃下一個迭代 [0第0]9章 [0領0]域模型 9.1 示例 9.2 什麼是[0領0]域模型 9.3 動機:為什麼要創建[0領0]域模型 9.4 準則:如何創建[0領0]域模型 9.5 準則:如何找到概念類 9.6 示例:尋找和描繪概念類 9.7 準則:敏捷建模—類圖的草呼 9.8 準則:敏捷建模—是否要使用工具維護模型 9.9 準則:報錶對象—模型中是否要包括“票據” 9.10 準則:像地圖繪製者一樣思考;使用[0領0]域術語 9.11 準則:如何對非現實世界建模 9.12 準則:屬性與類的常見錯誤 9.13 準則:何時使用“描述”類建模 9.14 關聯 9.15 示例:[0領0]域模型中的關聯 9.16 屬性 9.17 示例:[0領0]域模型中的屬性 9.18 結論:[0領0]域模型是否正確 9.19 過程:迭代和進化式[0領0]域建模 9.20 參考資料 [0第0]10章 係統順序圖 10.1 示例:NextGen SSD 10.2 什麼是係統順序圖 10.3 動機:為什麼繪製SSD 10.4 應用UML:順序圖 10.5 SSD和用例之間的關係 10.6 如何為係統事件和操作命[0名0] 10.7 如何為涉及其他外部係統的SSD建模 10.8 SSD的哪些信息要放入詞匯錶中 10.9 示例:Mo[0no0]poly SSD 10.10 過程:迭代和進化式SSD 10.11 曆[0史0]和參考資料 [0第0]11章 操作契約 11.1 示例 11.2 定義:契約有哪些部分 11.3 定義:什麼是係統操作 11.4 定義:後置條件 11.5 示例:enterItem後置條件 11.6 準則:是否應該更新[0領0]域模型 11.7 準則:契約在何時有效 11.8 準則:如何創建和編寫契約 11.9 示例:NextGen [P1O1S] 契約 11.10 示例:Mo[0no0]poly契約 11.11 應用UML:操作、契約和OCL 11.12 過程:UP的操作契約 11.13 曆[0史0] 11.14 參考資料 [0第0]12章 迭代地從需求到設計 12.1 以迭代方式做正確的事,正確地做事 12.2 盡早引發變更 12.3 完成所有分析和建模工作是否需要幾個星期 [0第0]13章 邏輯架構和UML包圖 13.1 示例 13.2 什麼是邏輯架構和層 13.3 案例研究中應該關注的層 13.4 什麼是軟件架構 13.5 應用UML:包圖 13.6 準則:使用層進行設計 13.7 準則:模型-視圖分離原則 13.8 SSD、係統操作和層之間的聯係 13.9 示例:NextGen的邏輯架構和包圖 13.10 示例:Mo[0no0]poly邏輯架構 13.11 參考資源 [0第0]14章 邁嚮對象設計 14.1 敏捷建模和輕量級UML圖形 14.2 UML CASE工具 14.3 編碼前繪製UML需要花費多少時間 14.4 設計對象:什麼是靜態和動態建模 14.5 基於UML錶示[0法0]技術的對象設計技術的重要性 14.6 其他對象設計技術:CRC卡 [0第0]15章 UML交互圖 15.1 順序圖和通信圖 15.2 UML建模初[0學0]者沒有重視交互圖 15.3 常用的UML交互圖錶示[0法0] 15.4 順序圖的基本錶示[0法0] 15.5 通信圖的基本錶示[0法0] [0第0]16章 UML類圖 16.1 應用UML:常用類圖錶示[0法0] 16.2 定義:設計類圖 16.3 定義:類元 16.4 錶示UML屬性的方式:屬性文本和關聯綫 16.5 注解符號:注解、注釋、約束和方[0法0]體 16.6 操作和方[0法0] 16.7 關鍵字 16.8 構造型、簡檔和標記 16.9 UML特性和特性字符串 16.10 泛化、抽象類、抽象操作 16.11 依賴 16.12 接口 16.13 組閤[0優0]於聚閤 16.14 約束 16.15 限定關聯 16.16 關聯類 16.17 單實例類 16.18 模闆類和接口 16.19 用戶自定義的分欄 16.20 主動類 16.21 交互圖和類圖之間的關係 [0第0]17章 GRASP:基於職責設計對象 17.1 UML與設計原則 17.2 對象設計:輸入、活動和輸齣的示例 17.3 職責和職責驅動設計 17.4 GRASP:基本OO設計的係統方[0法0] 17.5 職責、GRASP和UML圖之間的聯係 17.6 什麼是模式 17.7 現在我們所處的位置 17.8 使用GRASP進行對象設計的簡短示例 17.9 在對象設計中應用GRASP 17.10 創建者 17.11 信息專傢(或專傢) 17.12 低耦閤 17.13 控製器 17.14 高內聚 17.15 參考資料 [0第0]18章 使用GRASP的對象設計示例 18.1 什麼是用例實現 18.2 製[0品0]注釋 18.3 下一步工作 18.4 NextGen迭代的用例實現 18.5 Mo[0no0]poly迭代的用例實現 18.6 過程:迭代和進化式對象設計 18.7 總結 [0第0]19章 對可見性進行設計 19.1 對象之間的可見性 19.2 什麼是可見性 [0第0]20章 將設計映射為代碼 20.1 編程和迭代、進化式開發 20.2 將設計映射到代碼的 20.3 由DCD創建類的定義 20.4 從交互圖創建方[0法0] 20.5 代碼中的集閤類 20.6 異常和錯誤處理 20.7 定義Sale.makeLineItem方[0法0] 20.8 實現的順序 20.9 測試驅動或測試[0優0]先的開發 20.10 將設計映射為代碼的總結 20.11 NextGen [P1O1S] 程序簡介 20.12 Mo[0no0]poly程序簡介 [0第0]21章 測試驅動開發和重構 21.1 測試驅動開發 21.2 重構 21.3 參考資料 [0第0]四部分 細化迭代2—更多模式 [0第0]22章 UML工具與視UML為藍圖 22.1 前嚮、逆嚮和[0[0雙0]0]嚮工程 22.2 什麼是有價值特性的常見報告 22.3 對工具有哪些期待 22.4 如果繪製瞭UML草圖,如何在編碼後更新該圖形 22.5 參考資料 [0第0]23章 快速地更新分析 23.1 案例研究:NextGen [P1O1S] 23.2 案例研究:Mo[0no0]poly [0第0]24章 迭代2:更多模式 24.1 從迭代1到迭代2 24.2 迭代2的需求和重點:對象設計和模式 [0第0]25章 GRASP:其他對象職責 25.1 多態 25.2 純虛構 25.3 間接性 25.4 防止變異 [0第0]26章 應用GoF設計模式 26.1 適配器(GoF) 26.2 一些GRASP原則是對其他設計模式的歸納 26.3 設計中發現的“分析”:[0領0]域模型 26.4 工廠(Factory) 26.5 單實例類(GoF) 26.6 具有不同接口的外部服務問題的結論 26.7 策略(GoF) 26.8 組閤(GoF)和其他設計原則 26.9 外觀(Facade,GoF) 26.10 觀察者/發布-訂閱/委派事件模型(GoF) 26.11 結論 26.12 參考資料 [0第0]五部分 細化迭代3—中級主題 [0第0]27章 迭代3:中級主題 27.1 NextGen [P1O1S] 案例 27.2 Mo[0no0]poly案例 [0第0]28章 UML活動圖及其建模 28.1 示例 28.2 如何應用活動圖 28.3 其他UML活動圖錶示[0法0] 28.4 準則 28.5 示例:NextGen中的活動圖 28.6 過程:“統一過程”中的活動圖 28.7 背景 [0第0]29章 UML狀態機圖和建模 29.1 示例 29.2 定義:事件、狀態和轉換 29.3 如何應用狀態圖 29.4 更多UML狀態機圖錶示[0法0] 29.5 示例:使用狀態機進行UI導航建模 29.6 示例:NextGen用例的狀態機圖 29.7 過程:UP中的狀態機圖 29.8 推薦資源 [0第0]30章 用例關聯 30.1 包含關係 30.2 術語:具體用例、抽象用例、基礎用例和附加用例 30.3 擴展關係 30.4 泛化關係 30.5 用例圖 [0第0]31章 更多的SSD和契約 [0第0]32章 精化[0領0]域模型的精化 32.1 NextGen[0領0]域模型中的新概念 32.2 泛化 32.3 定義概念[0超0]類和子類 32.4 何時定義概念子類 32.5 何時定義概念[0超0]類 32.6 NextGen [P1O1S] 案例中的概念類層次結構 32.7 抽象概念類 32.8 對變化的狀態建模 32.9 軟件中的類層次結構和繼承關係 32.10 關聯類 32.11 聚閤關係和組閤關係 32.12 時間間隔和産[0品0]價格—解決迭代1階段的“錯誤” 32.13 關聯角色[0名0]稱 32.14 作為概念的角色與關聯中的角色 32.15 導齣元素 32.16 受限關聯 32.17 自反關聯 32.18 使用包來組織[0領0]域模型 32.19 示例:Mo[0no0]poly[0領0]域模型的精化 [0第0]33章 架構分析 33.1 過程:何時開始架構分析 33.2 定義:變化點和進化點 33.3 架構分析 33.4 架構分析的常用步驟 33.5 科[0學0]:架構因素的識彆和分析 33.6 示例:NextGen [P1O1S] 的部分架構因素錶 33.7 藝術:架構性因素的解決 33.8 架構分析主題的總結 33.9 過程:UP中的迭代架構 33.10 參考資料 [0第0]34章 邏輯架構精化 34.1 示例:NextGen的邏輯架構 34.2 使用層模式的協作 34.3 有關層模式的其他問題 34.4 模型-視圖分離和“嚮上”通信 34.5 參考資料 [0第0]35章 使用GoF模式完成更多對象設計 35.1 示例:NextGen [P1O1S] 35.2 本地服務容錯;使用本地緩存提高性能 35.3 處理故障 35.4 通過代理(PGoF)使用本地服務進行容錯 35.5 對非功能性或質量需求的設計 35.6 使用適配器訪問外部物理設備 35.7 對一組相關的對象使用抽象工廠模式 35.8 使用多態性和“Do It Myself”模式處理支付 35.9 示例:Mo[0no0]poly案例 35.10 結論 [0第0]36章 包的設計 36.1 組織包結構的準則 36.2 參考資料 [0第0]37章 UML部署圖和構件圖 37.1 部署圖 37.2 構件圖 [0第0]38章 使用模式設計持久性框架 38.1 問題:持久性對象 32.2 解決方案:持久性框架提供的持久性服務 38.3 框架 38.4 持久性服務和框架的需求 38.5 關鍵思想 38.6 模式:將對象錶示為錶 38.7 UML數據建模簡檔 38.8 模式:對象標識符 38.9 通過外觀訪問持久服務 38.10 映射對象:數據庫映射器或數據庫代理模式 38.11 使用模闆方[0法0]模式進行框架設計 38.12 使用模闆方[0法0]模式的具體化 38.13 使用MapperFactory配置Mapper 38.14 模式:緩存管理 38.15 在類中閤並和隱藏SQL語句 38.16 事務狀態和狀態模式 38.17 使用命令模式設計事務 38.18 使用虛代理實現滯後具體化 38.19 如何在錶中錶示關係 38.20 PersistentObject和關注分離 38.21 未決問題 [0第0]39章 架構的文檔化:UML和N+1視圖模型 39.1 SAD和架構視圖 39.2 錶示[0法0]:SAD的結構 39.3 示例:NextGen [P1O1S] 的SAD 39.4 示例:Jakarta Struts 的SAD 39.5 過程:迭代式架構文檔 39.6 參考資料 [0第0]六部分 其 他 主 題 [0第0]40章 迭代式開發和敏捷項目管理的進一步討論 40.1 如何計劃一次迭代 40.2 適應性計劃與預測性計劃 40.3 階段計劃和迭代計劃 40.4 如何使用用例和場景來計劃迭代 40.5 早期預算的有效性(無效性) 40.6 將項目製[0品0]組織起來 40.7 何時你[0會0]發現自己並沒有理解迭代計劃 40.8 參考資料 參考文獻 |
編輯推薦 |
本書英文版麵世以來,廣受業界專傢和讀者的好[0評0],曆經3個版本的錘煉,吸收瞭[0大0]量OOA/D的精華思想和現代實踐方[0法0]。全書敘述清晰、用詞精煉、構思巧妙,將麵嚮對象分析設計的概念、過程、方[0法0]、原則和個人的實踐建議娓娓道來,以實例為證,將軟件的分析和設計的過程敘述得如邏輯推理一般,於細節處見真[0知0]。 本書是一本經典的麵嚮對象分析設計技術的入門書,適用範圍廣泛,從初[0學0]者到有一定對象技術[0知0]識但希望進一步提高開發水平的中級讀者,甚至是**的專業人員,都可以從本書獲益匪淺,同時,本書也適閤作為高等院校相關課程的教材和各類培訓班的輔導教材。 |
評分
評分
評分
評分
評分
評分
評分
評分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有