架構實戰
內容介紹
本書從基本原理入手,介紹軟體架構設計過程中涉及的一些概念、流程、方法、用到的工作產品及可重用的資源,從第6章開始,通過介紹一個具體的案例來闡述如 何定義需求、創建邏輯架構、創建物理架構。在第10章“進階”中,作者補充說明了架構師和軟體開發項目其他方面的關係,後面又說明了各種軟體開發項目可能 存在的困難及相應的處理方法。
本書理論結合實踐,介紹了一些可以套用到整個或部分的架構設計流程中的最佳方法。不管你是一位資深的架構師還是一位有志於成為架構師的初級使用者,通過閱 讀本書都能從中獲益。作者介紹
Peter Eeles,IBM Rational Software的高級IT架構師,其主要工作室進行架構設計和實現大規模、分散式的系統。他目前致力於幫助組織提高軟體開發能力。除本書外,Eeles還與人合作編寫了《Building J2EETM Applications with the Rational Unified Process》(Addison-Wesley,2003)和《Building Business Objects》(Wiley,1998)。
Peter Cripps,IBM Global Business Services的高級IT架構師,專注於套用組件和基於服務的開發技術,並在整個IBM公司推廣架構設計最佳實踐,目前從事IBM Unified Method Framework的開發工作。作品目錄
譯者序序前言致謝作者簡介第1章導言1.1流程套用1.2流程概述1.3範圍1.4總結第2章架構、架構師和架構設計2.1架構 2.1.1架構定義結構 2.1.2架構定義行為 2.1.3架構關注重要的元素 2.1.4架構平衡利益相關者的需要 2.1.5架構基於合理證據使決策具體化 2.1.6架構會遵循一種架構風格 2.1.7架構受它的環境影響 2.1.8架構影響開發團隊的結構 2.1.9所有系統都存在架構 2.1.10架構有特定的範圍2.2架構師 2.2.1架構師是技術領導 2.2.2架構師的角色可能由一個團隊來履行 2.2.3架構師理解軟體開發流程 2.2.4架構師掌握業務領域的知識 2.2.5架構師掌握技術知識 2.2.6架構師掌握設計技能 2.2.7架構師具備編程技能 2.2.8架構師是優秀的溝通人員 2.2.9架構師進行決策 2.2.10架構師知道組織政策 2.2.11架構師是談判專家2.3架構設計 2.3.1架構設計是一門科學 2.3.2架構設計是一門藝術 2.3.3架構設計跨越很多方面 2.3.4架構設計是一個漸進的活動 2.3.5架構設計受許多利益相關者驅動 2.3.6架構設計經常包括折中 2.3.7架構設計承認經驗 2.3.8架構設計既由上而下也由下而上2.4架構設計的優點 2.4.1架構設計解決系統的質量問題 2.4.2架構設計促進達成共識 2.4.3架構設計支持計畫編制流程 2.4.4架構設計促進架構的完整性 2.4.5架構設計有助於管理複雜性 2.4.6架構設計為重用提供基礎 2.4.7架構設計降低維護成本 2.4.8架構設計支持影響分析2.5總結第3章方法基本原理3.1關鍵概念3.2方法內容 3.2.1角色 3.2.2工作產品 3.2.3活動 3.2.4任務3.3流程 3.3.1瀑布流程 3.3.2疊代流程 3.3.3敏捷流程3.4總結第4章編寫軟體架構文檔4.1最終的結局4.2關鍵概念4.3視點和視圖 4.3.1基礎視點 4.3.2交叉視點 4.3.3視圖及圖表 4.3.4視點及視圖的優點4.4模型 4.4.1實現的層級 4.4.2模型的優點4.5架構描述框架的特徵 4.5.1軟體架構的4+1視圖模型 4.5.2Zachman框架 4.5.3Rozanski和Woods框架4.6一個架構描述框架 4.6.1視點 4.6.2工作產品 4.6.3實現的層級 4.6.4視圖一致4.7軟體架構文檔4.8總結第5章可重用架構資源5.1架構的來源5.2架構資源元模型 5.2.1開發期資源 5.2.2運行期資源5.3資源類型 5.3.1參考架構 5.3.2開發方法 5.3.3視點目錄 5.3.4架構風格 5.3.5架構機制 5.3.6模式 5.3.7參考模型 5.3.8架構決策 5.3.9現有的應用程式 5.3.10封裝的應用程式 5.3.11套用框架 5.3.12組件庫/組件5.4架構資源的屬性5.5重用的其他考慮因素5.6總結第6章案例介紹6.1流程套用6.2案例研究範圍 6.2.1項目團隊 6.2.2外部影響因素6.3套用簡介6.4YoreTour的願景 6.4.1問題聲明 6.4.2利益相關者 6.4.3系統功能 6.4.4系統的質量 6.4.5約束6.5總結第7章定義需求7.1關聯需求和架構7.2功能性需求和非功能性需求7.3編寫需求文檔的技術7.4流程套用7.5理解任務描述7.6定義需求:活動概覽7.7總結第8章創建邏輯架構8.1從需求走向解決方案8.2邏輯架構的價值 8.2.1使邏輯架構最小化 8.2.2把邏輯架構作為一項投資 8.2.3可追溯性的重要性8.3流程套用8.4創建邏輯架構:活動概覽8.5總結第9章創建物理架構9.1從邏輯架構到物理架構9.2流程套用9.3創建物理架構:活動概覽9.4任務:調查架構資源9.5任務:定義架構概覽9.6任務:編寫架構決策文檔9.7任務:概述功能性元素 9.7.1將邏輯功能元素映射到物理功能元素 9.7.2確認物理功能元素 9.7.3採購產品 9.7.4適應特定技術的模式9.8任務:概述部署元素 9.8.1映射邏輯部署元素到物理部署元素 9.8.2確認物理部署元素 9.8.3採購硬體9.9任務:檢驗架構9.10任務:構建架構概念證明9.11任務:細化功能性元素9.12任務:細化部署元素9.13任務:確認架構9.14任務:更新軟體架構文檔9.15任務:和利益相關者複審架構9.16總結第10章進階10.1架構師和項目團隊 10.1.1架構師和需求 10.1.2架構師和開發 10.1.3架構師和測試 10.1.4架構師和項目管理 10.1.5架構師和配置管理 10.1.6架構師和變更管理 10.1.7架構師和開發環境 10.1.8架構師和業務分析10.2架構師和外界影響 10.2.1企業架構 10.2.2設計權威 10.2.3基礎設施提供者 10.2.4系統維護者10.3複雜系統的架構設計 10.3.1許多獨特的功能正在開發 10.3.2許多人員參與開發 10.3.3系統是高度分散式的 10.3.4開發團隊是分散式的 10.3.5運行質量非常有挑戰性 10.3.6存在系統之系統10.4總結附錄A軟體架構元模型附錄B視點目錄附錄C方法概述附錄D架構需求檢查列表術語表參考文獻