恰如其分的軟件架構:風險驅動的設計方法 恰如其分的软件架构:风险驱动的设计方法

George Fairbanks

買這商品的人也買了...

商品描述

編輯推薦

《恰如其分的軟件架構》的作者在探討比較多種架構風格的差異和利弊的基礎上,結合自己的工作經驗,提煉出通過風險驅動的軟件架構設計方法,旨在彌補敏捷開發方法在實際工程應用中的不足。本書將理論與實踐相結合,不僅條理清晰地描述了設計軟件架設的各種思路,而且詳細介紹了經過實踐檢驗的建模方法和架構分析技巧。

名人推薦

這是一本超值的書,案例豐富有趣,言簡意賅,閱讀輕鬆。當年如果讀到這樣的書,我可以少犯許多錯誤!渴望成為更為優秀軟件設計師的讀者,這本書絕對值得在你的書架上佔有一席之地。
——Timothy J.Halloran博士,SureLogic Inc.工程總監
本書提出的獨特視角讓軟件架構設計變得不再難以捉摸。恰如其分的軟件架構概念及風險驅動的設計理念讓人耳目一新。作者將架構設計原則與現實問題有機地結合起來,值得所有從事軟件開發工作的人士閱讀。
——Marcus Fontoura博士,Yahoo!Research首席科學家兼架構師

媒體推薦

《恰如其分的軟件架構》一本超值的書,案例豐富有趣,言簡意賅,閱讀輕鬆。當年如果讀到這樣的書,我可以少犯許多錯誤!渴望成為更為優秀軟件設計師的讀者,這本書絕對值得在你的書架上佔有一席之地。
——Timothy J. Halloran博士,SureLogic Inc.工程總監George Fairbanks的《恰如其分的軟件架構》一書中的風險驅動建模方法已經被NASA Johnson Space Center(JSC)成功地應用於eXtensible Information Modeler (XIM)項目。項目的所有成員,從項目管理人員到開發人員,都必須遵循。實際上,這本書應該是每一位開發人員的必備工具。僅僅是講述(代碼模型和反模式)的部分,就值回書價了。——Christopher Dean,美國國家航空航天局約翰遜空間中心工程科學團隊XIM首席架構師本書完全滿足了那些軟件開發實踐者的關鍵需求,即如何有效地創建更加實際的系統。George常常運用自己的經驗,並與學術理論相結合,為我們提供一個又一個概念模型、領域(或更廣範圍)內的最佳實踐,以及在軟件架構方面(如何更有用更現實)非常實用的指導。他在書中提出了基於風險的架構方法,並幫助我們認識到怎樣才是“恰如其分”的。本書的問世為軟件架構領域又增添了一份重要的文獻。——Desmond D'Souza, 《MAp and Catalysis》一書的作者,Kinetium, Inc. 

目錄

第1章概述1 
1.1分治、知識與抽象2 
1.2軟件架構的三個案例3 
1.3反思5 
1.4視角轉換6 
1.5架構師構建架構7 
1.6風險驅動的軟件架構8 
1.7敏捷開發者的架構9 
1.8關於本書10 
第2章軟件架構15 
2.1何為軟件架構?16 
2.2軟件架構為何重要18 
2.3架構何時重要?22 
2.4推定架構23 
2.5如何運用軟件架構?24 
2.6架構無關的設計25 
2.7專註架構的設計26 
2.8提升架構的設計27 
2.9大型組織中的架構30 
2.10結論31 
2.11延伸閱讀32 
第3章風險驅動模型35 
3.1風險驅動模型是什麼?37 
3.2你現在採用風險驅動了嗎?38 
3.3風險39 
3.4技術42 
3.5選擇技術的指導原則44 
3.6何時停止47 
3.7計劃式設計與演進式設計48 
3.8軟件開發過程51 
3.9理解過程變化53 
3.10風險驅動模型與軟件開發過程55 
3.11應用於敏捷過程56 
3.12風險與架構重構58 
3.13風險驅動模型的替代方案58 
3.14結論60 
3.15延伸閱讀61 
第4章實例:家庭媒體播放器65 
4.1團隊溝通67 
4.2COTS組件的集成75 
4.3元數據一致性81 
4.4結論86 
第5章建模建議89 
5.1專註於風險89 
5.2理解你的架構90 
5.3傳播架構技能91 
5.4作出合理的架構決策92 
5.5避免預先大量設計93 
5.6避免自頂向下設計95 
5.7餘下的挑戰95 
5.8特性和風險:一個故事97 
第6章工程師使用模型103 
6.1規模與復雜度需要抽象104 
6.2抽象提供洞察力和解決手段105 
6.3分析系統質量105 
6.4模型忽略細節106 
6.5模型能夠增強推理107 
6.6提問在前,建模在後108 
6.7小結108 
6.8延伸閱讀109 
第7章軟件架構的概念模型111 
7.1規範化模型結構114 
7.2領域模型、設計模型和代碼模型115 
7.3指定與細化關係116 
7.4主模型的視圖118 
7.5組織模型的其他方式121 
7.6業務建模121 
7.7UML的用法122 
7.8小結123 
7.9延伸閱讀123 
第8章領域模型127 
8.1領域與架構的關係128 
8.2信息模型131 
8.3導航和不變量133 
8.4快照134 
8.5功能場景135 
8.6小結136 
8.7延伸閱讀137 
第9章設計模型139 
9.1設計模型140 
9.2邊界模型141 
9.3內部模型141 
9.4質量屬性142 
9.5Yinzer系統的設計之旅143 
9.6視圖類型157 
9.7動態架構模型161 
9.8架構描述語言162 
9.9小結163