第1章 軟件體系結構的起源
與背景 1
1.1 軟件危機 1
1.2 軟件工程的興起 2
1.3 軟件體系結構層次 5
1.4 軟件體系結構的理想與現實 6
1.4.1 軟件體系結構的理想效果 6
1.4.2 現存軟件復用的層次 7
1.5 相關軟件的失敗案例 8
1.5.1 瑞典船的故事 8
1.5.2 集團通信業(yè)務系統(tǒng)項目 9
1.5.3 郵政信息管理系統(tǒng)的開發(fā) 9
1.6 軟件體系結構的發(fā)展歷程 10
1.7 本書導讀 11
第2章 軟件體系結構的原理
與模型 13
2.1 軟件體系結構的基本概念 13
2.1.1 什么是體系結構 13
2.1.2 什么是軟件體系結構 13
2.2 軟件體系結構建?!?4
2.2.1 建模的目的 14
2.2.2 建模的工具及方法 14
2.3 多維軟件體系結構的模型與視圖 25
2.3.1 軟件體系結構“4+1”視圖概述 25
2.3.2 “4+1"視圖舉例說明 26
小結 31
習題 32
第3章 軟件體系結構風格 33
3.1 軟件體系結構風格概述 33
3.2 經典軟件體系結構風格 33
3.2.1 管道過濾器風格 33
3.2.2 調用返回風格 36
3.2.3 正交與分層風格 37
3.2.4 共享數據風格 39
3.3 現代軟件體系結構風格 40
3.3.1 C/S模式與B/S模式 40
3.3.2 消息總線結構 42
3.3.3 公共對象請求代理技術 45
3.3.4 基于SOA的體系架構 49
3.3.5 基于REST的體系架構 58
小結 61
習題 61
第4章 質量屬性 62
4.1 質量屬性與功能屬性 62
4.2 質量屬性定義及分類 62
4.3 質量屬性詳解 63
4.4 各類質量屬性分析舉例 64
4.4.1 易用性舉例 64
4.4.2 可修改性舉例 67
4.4.3 可用性舉例 69
4.4.4 性能舉例 70
4.4.5 安全性舉例 73
4.4.6 可測試性舉例 75
小結 75
習題 75
第5章 質量屬性場景及性
能戰(zhàn)術 77
5.1 質量屬性場景 77
5.1.1 質量屬性場景的定義 77
5.1.2 一般場景與具體場景 78
5.2 質量屬性戰(zhàn)術(Tactic