軟件架構設計:實用方法及實踐 软件架构设计:实用方法及实践

溫貝托·塞萬提斯 (Humberto Cervantes), 里克·卡斯曼 (Rick Kazman)

  • 出版商: 機械工業
  • 出版日期: 2017-07-01
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • 頁數: 199
  • 裝訂: 平裝
  • ISBN: 7111573811
  • ISBN-13: 9787111573814

下單後立即進貨 (約4週~6週)

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

相關主題

商品描述

本書介紹了架構的設計過程及設計方法:屬性驅動設計(ADD)。書中通過介紹ADD的概念和應用實例,展示瞭如何執行架構設計,如何重新設計概念,可幫助讀者從“入門到精通”掌握軟件架構設計。第1章介紹了軟件架構設計和ADD方法的發展史,第2章討論軟件架構設計的細節,第3章詳細介紹ADD方法,第4~6章是幾個案例研究,第7章展示了其他一些設計方法,第8章深入討論了設計過程中的分析,第9章講解了實時過程如何適應組織級別的應用,第10章總結了全書的內容。

作者簡介

作者:(墨西哥)溫貝托·塞萬提斯(Humberto Cervantes) (美國)里克·卡斯曼(Rick Kazman)譯者:劉旭斌陳瑤邵元英欒雲傑

溫貝托·塞萬提斯(Humberto Cervantes) Autonoma Metropolitanaltztapalapa大學教授,主要研究興趣是軟件架構,尤其是架構設計過程中使用的方法和工具,並積極推動這些方法和工具在軟件產業中的應用。他擁有SEI軟件架構專家和ATAM評估師認證。
里克·卡斯曼(Rick Kazman)夏威夷大學教授,卡耐基·梅隆大學軟件工程研究所首席研究員,主要研究興趣是軟件架構、設計和分析工具、軟件可視化,以及軟件工程經濟學。Kazman創建了很多非常有影響的架構分析方法和工具,包括SAAM(SoftwareArchitecture Analysis Method)、ATAM(Architecture Tradeoff Analysis Method)、CBAM(Cost—Benefit Analysis Method),以及Dali和Titan工具,他發表了150多篇論文,並且參與了多部圖書的撰寫,包括《軟件架構實踐》第3版和《軟件架構評估》等。
劉旭斌,畢業於北京大學,有超過10年的外企軟件開發和測試經歷,目前就職於IBM,從事DevOps相關工作。
陳瑤,意大利都靈理工大學計算機工程碩士畢業,曾就職於IBM和網易,CertifiedScrumMaster,5年以上DevOps項目開發和管理經驗,現在某大數據公司任技術項目經理。
邵元英,畢業於北京大學,先後在華為、NEC和IBM從事軟件開發、測試及項目管理工作。現在某互聯網公司任高級運營經理。
欒雲傑,有超過10年測試、開發經驗,目前工作於IBM,任項目測試主管。

目錄大綱

譯者序
前言

第1章引言1 
1.1寫作動機1 
1.2軟件架構2 
1.2.1軟件架構的重要性2 
1.2.2生命週期活動3 
1.3架構師的角色5 
1.4ADD發展史6 
1.5小結7 
1.6擴展閱讀8 

第2章架構設計9 
2.1通用設計9 
2.2軟件架構中的設計10 
2.2.1架構設計11 
2.2.2元素交互設計11 
2.2.3元素內部設計12 
2.3為什麼架構設計如此重要13 
2.4架構驅動因子13 
2.4.1設計目的14 
2.4.2質量屬性15 
2.4.3主要功能19 
2.4.4架構關注點20 
2.4.5約束條件21 
2.5設計概念:用於創建結構的構建塊22 
2.5.1參考架構22 
2.5 .2架構的設計模式24 
2.5.3部署模式25 
2.5.4策略26 
2.5.5外部開發組件27 
2.6架構設計決策30 
2.7小結31 
2.8擴展閱讀32 

第3章架構設計過程34 
3.1原理性方法的必要性34 
3.2屬性驅動設計3.034 
3.2.1步驟1:評審輸入35 
3.2.2步驟2:通過選擇驅動因子建立迭代目標36 
3.2.3步驟3:選擇一個或多個系統元素來細化37 
3.2.4步驟4:選擇一個或多個設計概念以滿 選中的驅動因子37 
3.2.5步驟5:實例化架構元素、分配職責和定義接口37 
3.2.6步驟6:草擬視圖和記錄設計決策38 
3.2.7步驟7:分析當前設計、評審迭代目標、實現設計目的38 
3.2.8按需迭代39 
3.3根據系統類型遵循設計路線圖39 
3.3.1成熟領域的綠地系統設計39 
3.3.2新興領域的綠地系統設計41 
3.3.3現存系統的設計(棕地) 42 
3.4識別和選擇設計概念42 
3.4.1識別設計概念42 
3.4.2選擇設計概念43 
3.5結構生成46 
3.5.1元素實例化47 
3.5.2劃分職責和識別屬性47 
3.5.3建立元素間的關係48 
3.6定義接口48 
3.6.1外部接口48 
3.6.2內部接口48 
3.7在設計中創建概要文檔51 
3.7.1記錄視圖的草圖51 
3.7.2記錄設計決策53 
3.8追踪設計進度55 
3.8.1使用架構待辦事項清單55 
3.8.2使用設計看板55 
3.9小結57 
3.10擴展閱讀57 

第4章案例研究:FCAPS系統59 
4.1商用案例59 
4.2系統需求60 
4.2.1用例模型60 
4.2.2質量屬性場景62 
4.2 .3約束 條件62 
4.2.4架構關注點62 
4.3設計過程63 
4.3.1ADD步驟1:評審輸入63 
4.3.2迭代1:建立一個完整的系統架構63 
4.3.3迭代2:識別支持基本功能的架構70 
4.3. 4迭代3:解決質量屬性場景的驅動因子(質量屬性—3)77 
4.4小結80 
4.5擴展閱讀81 

第5章案例研究:大數據系統82 
5.1商用案例82 
5.2系統需求83 
5.2.1用例模型83 
5.2 .2質量屬性場景83 
5.2.3約束條件84 
5.2.4架構關注點84 
5.3設計過程84 
5.3.1ADD方法的步驟1:評審輸入85 
5.3.2迭代1:參考架構和系統整體結構85 
5.3.3迭代2:技術選擇91 
5.3.4迭代3:數據流元素的細化99 
5.3.5迭代4:服務層的細化104 
5.4小結107 
5.5擴展閱讀107 

第6章案例研究:銀行系統109 
6.1商用案例109 
6.1.1用例模型110 
6.1.2質量屬性場景111 
6.1.3約束條件111 
6.1.4架構關注點111 
6.2現有的架構文檔112 
6.2.1模塊視圖112 
6.2.2分配視圖113 
6.3設計過程114 
6.3.1ADD方法的步驟1:評審輸入114 
6.3.2迭 1:支持新的驅動因子114 
6.4小結118 
6.5擴展閱讀119 

第7章其他設計方法120 
7.1一種軟件架構設計的通用模型120 
7.2以架構為中心的設計方法121 
7.3RUP中的架構活動123 
7.4軟件架構設計的過程124 
7.5一種實現架構與設計的方法126 
7.6視點與視角方法127 
7.7小結129 
7.8擴展閱讀129 

第8章設計過程中的分析131 
8.1分析和設計131 
8.2為何分析133 
8.3分析方法134 
8.4基於策略的分析135 
8.5值得反思的問題137 
8.6基於場景的設計評審138 
8.7架構描述語言141 
8.8小結142 
8.9擴展閱讀142 

第9章組織中的架構設計過程144 
9.1架構設計與開發生命週期144 
9.1 .1售前階段的架構設計145 
9.1.2開發運維階段的架構設計146 
9.2組織方面的問題150 
9.2.1個人設計還是團隊設計150 
9.2.2在組織中應用一套設計概念目錄151 
9.3小結152 
9.4擴展閱讀152 

第10章結束語154 
10.1方法的必要性154 
10.2下一步155 
10.3擴展閱讀156 
附錄A設計概念目 157 
附錄B基於策略的問卷調查184 
術語表196