實用軟體架構

實用軟體架構

《實用軟體架構》是2016年機械工業出版社出版發行的圖書,作者是[印] 蒂拉克·米特拉。

基本介紹

  • 書名:實用軟體架構
  • 作者:[印] 蒂拉克·米特拉
  • 原作品:Practical Software Architecture: Moving from System Context to Deployment
  • 譯者:愛飛翔
  • 出版社:機械工業出版社
  • 出版時間:2016年12月
  • 定價:79 元
  • 裝幀:平裝
  • ISBN:9787111550266
  • 叢書名:架構師書庫
內容簡介,作者簡介,圖書目錄,

內容簡介

本書通過一整套實用的案例府汗轎研究,逐步講解了系統環境、架構概述、架構決策、功能模型、操作模型、系統設計的集成模式及基礎設施等方面的內容。
本書共分12章。第1章描述了一個虛構的案例,以演示問題的陳全催述;第2章給出軟體架構的一些背景知識,以及一些能夠促使我們做好架構工作的成熟價值理念;第3章講解軟體架構中需要關注的一些方面;第4章介紹IT系統的系統環境;第5章介紹3種關鍵視圖:企業視圖、分層視圖和IT系統視圖;第6章討論架構決策的重要性,並指導大家捕獲這些決策;第7章演示怎樣確定系統在功能方面的巨觀設計工件,並告訴大家如何用文檔來記錄這些工件;第8章著重講解系統的操作模型;第9章研究與系統集成有關的基本技術;第10章簡要地講解與主機託管有關的關鍵因素,幫助讀者更有效地利用計算資源和存儲資源;第11章簡單介紹數據分析的價整芝背鴉值及各種形式,並從架構的角度演示數據分析藍圖中一些較為關鍵的功能構建塊;第12章分享了一些有用的實際工作經驗。

作者簡介

Tilak Mitra IBM全球企業諮詢服務部首席技術官(CTO)。,主要關注複雜系統的設計、企業架構、套用分析與最佳化等技術,並致力於將這些技術運用到工業製造、自動化、工程學及相關領域中。

圖書目錄

題獻
譯者序
前言
致謝
第1章 案例研究 …… 1
1.1 業務問題 …… 1
1.1.1 技術挑戰 …… 2
1.1.2 用例 …… 2
1.1.3 在機器運轉過程中進行實時處理與監控 …… 3
1.1.4 為新機器提供無縫的激活服務 …… 3
1.1.5 生成工作定單 …… 3
1.1.6 儘量減少在為全球客戶提供服務時所產生的延遲 …… 4
1.2 小結 …… 4
第2章 軟體架構是什麼?為什麼需要做軟體架構 …… 6
2.1 背景知識 …… 6
2.2 軟體架構是什麼 …… 7
2.3 為什麼需要做軟體架構 …… 9
2.3.1 把架構視為交流工具 …… 9
2.3.2 對項目規劃施加影響力 …… 10
2.3.3 關注非功能方面的能力 …… 11
2.3.4 與設計團隊和實現團隊做出約定 …… 12
2.3.5 為影響力分析提供支持 …… 12
2.4 架構視圖與架構視點 …… 13
2.5 小結 …… 16
2.6 參考資料 …… 16
第3章 恰到好處再檔習元地把握架構中的重要方面 …… 17
3.1 軟體架構中需要關注的一些方面 …… 17
3.2 小結 …… 19
第酷危院4章 系統環境 …… 20
4.1 業務環境與系統環境之間的辨析 …… 20
4.2 捕獲系統環境 …… 22
4.2.1 系統環境圖 …… 23
4.2.2 信息流 …… 25
4.3 案例研究:Elixir的系統環境 …… 27
4.3.1 Elixir的系統環境圖 …… 27
4.3.2 Elixir的信息流 …… 32
4.4 小結 …… 33
4.5 參考資料 …應束諒… 33
第5章 架構概述 …… 34
5.1 什麼是架構概述 …… 34
5.2 為什麼戒判籃要做架構概述 …… 36
5.3 企業視圖 …… 37
5.3.1 用戶與傳輸渠道 …… 39
5.3.2 核心業務流程 …… 39
5.3.3 數據與信息 …… 40
5.3.4 技術推動力 …… 41
5.4 分層視圖 …… 42
5.4.1 第1層:操作層 …… 45
5.4.2 第2層:服務組件層 …… 45
5.4.3 第3層:服務層 …… 45
5.4.4 第4層:業務流程層 …… 46
5.4.5 第5層:消費者層 …… 46
5.4.6 第6層:集成層 …… 46
5.4.7 第7層:QoS層 …… 46
5.4.8 第8層:信息架構層 …… 47
5.4.9 第9層:治理層 …… 47
5.4.10 進一步研究分層視圖的用法 …… 47
5.5 IT系統視圖 …… 48
5.6 案例研究:Elixir的架構概述 …… 53
5.6.1 Elixir的企業視圖 …… 53
5.6.2 Elixir的業務流程 …… 54
5.6.3 Elixir的數據及信息 …… 54
5.6.4 Elixir的技術推動力 …… 55
5.6.5 Elixir的分層視圖 …… 56
5.6.6 Elixir的IT系統視圖 …… 57
5.7 小結 …… 58
5.8 參考資料 …… 59
第6章 架構決策 …… 60
6.1 為什麼需要做架構決策 …… 60
6.2 怎樣開始進行架構決策 …… 61
6.3 創建架構決策 …… 62
6.4 案例研究:Elixir的架構決策 …… 67
6.5 小結 …… 69
第7章 功能模型 …… 71
7.1 為什麼需要功能模型 …… 71
7.2 可追溯性 …… 73
7.3 制定功能模型 …… 74
7.3.1 邏輯層面的設計 …… 75
7.3.2 規格層面的設計 …… 79
7.3.3 物理層面的設計 …… 89
7.4 案例研究:Elixir的功能模型 …… 91
7.4.1 邏輯層面 …… 92
7.4.2 規格層面 …… 94
7.4.3 物理層面 …… 97
7.5 小結 …… 98
7.6 參考資料 …… 99
第8章 操作模型 …… 100
8.1 為什麼需要操作模型 …… 101
8.2 可追溯性與服務級別協定 …… 102
8.3 制定操作模型 …… 104
8.3.1 概念操作模型 …… 105
8.3.2 規格操作模型 …… 116
8.3.3 物理操作模型 …… 122
8.4 案例研究:Elixir的操作模型 …… 132
8.4.1 COM …… 132
8.4.2 SOM …… 137
8.4.3 POM …… 138
8.5 小結 …… 140
8.6 參考資料 …… 141
第9章 集成:方式與模式 …… 142
9.1 為什麼需要進行集成 …… 142
9.2 集成方式 …… 143
9.2.1 用戶界面的集成 …… 144
9.2.2 數據層面的集成 …… 144
9.2.3 訊息層面的集成 …… 147
9.2.4 API層面的集成 …… 149
9.2.5 服務層面的集成 …… 150
9.3 集成模式 …… 152
9.3.1 同步的請求栂煊δJ?…… 152
9.3.2 批次模式 …… 153
9.3.3 同步的批次請求栍Υ鵡J?…… 153
9.3.4 異步的批次請求栍Υ鵡J?…… 153
9.3.5 存儲並轉發模式 …… 154
9.3.6 發布柖┰哪J?…… 154
9.3.7 聚合模式 …… 154
9.3.8 管道與過濾器模式 …… 155
9.3.9 訊息路由器模式 …… 155
9.3.10 訊息轉換器模式 …… 156
9.4 案例研究:Elixir的集成視圖 …… 156
9.4.1 標籤1~5所表示的數據流 …… 157
9.4.2 標籤6~8所表示的數據流 …… 158
9.4.3 標籤9~10所表示的數據流 …… 158
9.4.4 標籤11~12所表示的數據流 …… 158
9.5 小結 …… 159
9.6 參考資料 …… 160
第10章 基礎設施問題 …… 161
10.1 為什麼要把基礎設施做好 …… 162
10.2 需要考慮的基礎設施問題 …… 162
10.2.1 網路 …… 163
10.2.2 託管 …… 165
10.2.3 高可用性與容錯性 …… 169
10.2.4 災難恢復 …… 178
10.2.5 能力規劃 …… 178
10.3 案例研究:Elixir系統的基礎設施問題 …… 181
10.4 小結 …… 183
10.5 我們現在講到什麼地方了 …… 184
10.6 參考資料 …… 186
第11章 分析架構入門 …… 187
11.1 為什麼要做分析 …… 188
11.2 進行數據分析改採用的維度 …… 189
11.2.1 操作分析 …… 189
11.2.2 描述性的分析 …… 190
11.2.3 預測性的分析 …… 190
11.2.4 指示性的分析 …… 191
11.2.5 認知計算 …… 192
11.3 分析架構的基礎 …… 194
11.3.1 分層視圖中的各層及五大支柱 …… 195
11.3.2 水平層 …… 196
11.3.3 垂直層 …… 199
11.3.4 五大支柱 …… 201
11.4 架構構建塊 …… 205
11.4.1 數據類型層中的ABB …… 206
11.4.2 數據獲取與訪問層中的ABB …… 207
11.4.3 數據存儲庫層中的ABB …… 208
11.4.4 模型層中的ABB …… 209
11.4.5 數據集成與整合層中的ABB …… 210
11.4.6 分析解決方案層中的ABB …… 211
11.4.7 消費者層中的ABB …… 213
11.4.8 元數據層中的ABB …… 213
11.4.9 數據與信息安全層中的ABB …… 214
11.4.10 描述性的分析中的ABB …… 215
11.4.11 預測性的分析中的ABB …… 215
11.4.12 指示性的分析中的ABB …… 217
11.4.13 操作分析中的ABB …… 217
11.4.14 認知計算中的ABB …… 218
11.5 小結 …… 219
11.6 參考資料 …… 220
第12章 架構經驗談 …… 222
12.1 各種敏捷開發觀點應該加以融合 …… 222
12.2 傳統的需求收集技術過時了 …… 224
12.3 MVP範式值得考慮 …… 225
12.4 不要忙於應付各種事務 …… 226
12.5 預測性的分析並不是唯一的分析切入點 …… 227
12.6 領導能力也可以通過培養而獲得 …… 227
12.7 架構不應該由技術來驅動 …… 228
12.8 開源軟體很好,但要謹慎使用 …… 230
12.9 把看似簡單的問題總結起來 …… 230
12.10 根據技術產品的核心優勢來確定架構基線 …… 231
12.11 小結 …… 232
12.12 參考資料 …… 232
附錄A 25個實用小知識 …… 233
附錄B Elixir的功能模型(續) …… 252
4.2 捕獲系統環境 …… 22
4.2.1 系統環境圖 …… 23
4.2.2 信息流 …… 25
4.3 案例研究:Elixir的系統環境 …… 27
4.3.1 Elixir的系統環境圖 …… 27
4.3.2 Elixir的信息流 …… 32
4.4 小結 …… 33
4.5 參考資料 …… 33
第5章 架構概述 …… 34
5.1 什麼是架構概述 …… 34
5.2 為什麼要做架構概述 …… 36
5.3 企業視圖 …… 37
5.3.1 用戶與傳輸渠道 …… 39
5.3.2 核心業務流程 …… 39
5.3.3 數據與信息 …… 40
5.3.4 技術推動力 …… 41
5.4 分層視圖 …… 42
5.4.1 第1層:操作層 …… 45
5.4.2 第2層:服務組件層 …… 45
5.4.3 第3層:服務層 …… 45
5.4.4 第4層:業務流程層 …… 46
5.4.5 第5層:消費者層 …… 46
5.4.6 第6層:集成層 …… 46
5.4.7 第7層:QoS層 …… 46
5.4.8 第8層:信息架構層 …… 47
5.4.9 第9層:治理層 …… 47
5.4.10 進一步研究分層視圖的用法 …… 47
5.5 IT系統視圖 …… 48
5.6 案例研究:Elixir的架構概述 …… 53
5.6.1 Elixir的企業視圖 …… 53
5.6.2 Elixir的業務流程 …… 54
5.6.3 Elixir的數據及信息 …… 54
5.6.4 Elixir的技術推動力 …… 55
5.6.5 Elixir的分層視圖 …… 56
5.6.6 Elixir的IT系統視圖 …… 57
5.7 小結 …… 58
5.8 參考資料 …… 59
第6章 架構決策 …… 60
6.1 為什麼需要做架構決策 …… 60
6.2 怎樣開始進行架構決策 …… 61
6.3 創建架構決策 …… 62
6.4 案例研究:Elixir的架構決策 …… 67
6.5 小結 …… 69
第7章 功能模型 …… 71
7.1 為什麼需要功能模型 …… 71
7.2 可追溯性 …… 73
7.3 制定功能模型 …… 74
7.3.1 邏輯層面的設計 …… 75
7.3.2 規格層面的設計 …… 79
7.3.3 物理層面的設計 …… 89
7.4 案例研究:Elixir的功能模型 …… 91
7.4.1 邏輯層面 …… 92
7.4.2 規格層面 …… 94
7.4.3 物理層面 …… 97
7.5 小結 …… 98
7.6 參考資料 …… 99
第8章 操作模型 …… 100
8.1 為什麼需要操作模型 …… 101
8.2 可追溯性與服務級別協定 …… 102
8.3 制定操作模型 …… 104
8.3.1 概念操作模型 …… 105
8.3.2 規格操作模型 …… 116
8.3.3 物理操作模型 …… 122
8.4 案例研究:Elixir的操作模型 …… 132
8.4.1 COM …… 132
8.4.2 SOM …… 137
8.4.3 POM …… 138
8.5 小結 …… 140
8.6 參考資料 …… 141
第9章 集成:方式與模式 …… 142
9.1 為什麼需要進行集成 …… 142
9.2 集成方式 …… 143
9.2.1 用戶界面的集成 …… 144
9.2.2 數據層面的集成 …… 144
9.2.3 訊息層面的集成 …… 147
9.2.4 API層面的集成 …… 149
9.2.5 服務層面的集成 …… 150
9.3 集成模式 …… 152
9.3.1 同步的請求栂煊δJ?…… 152
9.3.2 批次模式 …… 153
9.3.3 同步的批次請求栍Υ鵡J?…… 153
9.3.4 異步的批次請求栍Υ鵡J?…… 153
9.3.5 存儲並轉發模式 …… 154
9.3.6 發布柖┰哪J?…… 154
9.3.7 聚合模式 …… 154
9.3.8 管道與過濾器模式 …… 155
9.3.9 訊息路由器模式 …… 155
9.3.10 訊息轉換器模式 …… 156
9.4 案例研究:Elixir的集成視圖 …… 156
9.4.1 標籤1~5所表示的數據流 …… 157
9.4.2 標籤6~8所表示的數據流 …… 158
9.4.3 標籤9~10所表示的數據流 …… 158
9.4.4 標籤11~12所表示的數據流 …… 158
9.5 小結 …… 159
9.6 參考資料 …… 160
第10章 基礎設施問題 …… 161
10.1 為什麼要把基礎設施做好 …… 162
10.2 需要考慮的基礎設施問題 …… 162
10.2.1 網路 …… 163
10.2.2 託管 …… 165
10.2.3 高可用性與容錯性 …… 169
10.2.4 災難恢復 …… 178
10.2.5 能力規劃 …… 178
10.3 案例研究:Elixir系統的基礎設施問題 …… 181
10.4 小結 …… 183
10.5 我們現在講到什麼地方了 …… 184
10.6 參考資料 …… 186
第11章 分析架構入門 …… 187
11.1 為什麼要做分析 …… 188
11.2 進行數據分析改採用的維度 …… 189
11.2.1 操作分析 …… 189
11.2.2 描述性的分析 …… 190
11.2.3 預測性的分析 …… 190
11.2.4 指示性的分析 …… 191
11.2.5 認知計算 …… 192
11.3 分析架構的基礎 …… 194
11.3.1 分層視圖中的各層及五大支柱 …… 195
11.3.2 水平層 …… 196
11.3.3 垂直層 …… 199
11.3.4 五大支柱 …… 201
11.4 架構構建塊 …… 205
11.4.1 數據類型層中的ABB …… 206
11.4.2 數據獲取與訪問層中的ABB …… 207
11.4.3 數據存儲庫層中的ABB …… 208
11.4.4 模型層中的ABB …… 209
11.4.5 數據集成與整合層中的ABB …… 210
11.4.6 分析解決方案層中的ABB …… 211
11.4.7 消費者層中的ABB …… 213
11.4.8 元數據層中的ABB …… 213
11.4.9 數據與信息安全層中的ABB …… 214
11.4.10 描述性的分析中的ABB …… 215
11.4.11 預測性的分析中的ABB …… 215
11.4.12 指示性的分析中的ABB …… 217
11.4.13 操作分析中的ABB …… 217
11.4.14 認知計算中的ABB …… 218
11.5 小結 …… 219
11.6 參考資料 …… 220
第12章 架構經驗談 …… 222
12.1 各種敏捷開發觀點應該加以融合 …… 222
12.2 傳統的需求收集技術過時了 …… 224
12.3 MVP範式值得考慮 …… 225
12.4 不要忙於應付各種事務 …… 226
12.5 預測性的分析並不是唯一的分析切入點 …… 227
12.6 領導能力也可以通過培養而獲得 …… 227
12.7 架構不應該由技術來驅動 …… 228
12.8 開源軟體很好,但要謹慎使用 …… 230
12.9 把看似簡單的問題總結起來 …… 230
12.10 根據技術產品的核心優勢來確定架構基線 …… 231
12.11 小結 …… 232
12.12 參考資料 …… 232
附錄A 25個實用小知識 …… 233
附錄B Elixir的功能模型(續) …… 252

相關詞條

熱門詞條

聯絡我們