系統架構設計師教程(第4版)

系統架構設計師教程(第4版)

《系統架構設計師教程(第4版)》 一書由希賽教育軟考學院 編著,電子工業出版社2017年9月出版

內容提要

《系統架構設計師教程(第4版)》由希賽教育軟考學院組織編寫,用以作為計算機技術與軟體專業技術資格(水平)考試中的系統架構設計師級別的考試輔導指定教材。內容涵蓋了最新的系統架構設計師考試大綱的所有知識點,對系統架構設計師所必須掌握的基礎理論知識做了詳細的介紹,重在培養系統架構設計師所必須具備的專業技能和方法。

《系統架構設計師教程(第4版)》內容既是對系統架構設計師考試的總體綱領性的要求,也是系統架構設計師職業生涯的知識與技能體系。準備參加考試的人員可通過閱讀《系統架構設計師教程(第4版)》掌握考試大綱規定的知識,把握考試重點和難點。

《系統架構設計師教程(第4版)》可作為系統架構設計師和系統分析師的工作手冊,也可作為軟體設計師、資料庫系統工程師和網路工程師進一步發展的學習用書,還可作為計算機專業教師的教學參考書。

目錄

第1章 計算機組成與體系結構 1

1.1 計算機系統組成 1

1.1.1 計算機硬體的組成 1

1.1.2 計算機系統結構的分類 2

1.1.3 複雜指令集系統與精簡指令集系統 3

1.1.4 匯流排 5

1.2 存儲器系統 5

1.2.1 主存儲器 6

1.2.2 輔助存儲器 7

1.2.3 Cache存儲器 8

1.3 流水線 13

1.3.1 流水線周期 13

1.3.2 計算流水線執行時間 13

1.3.3 流水線的吞吐率 14

1.3.4 流水線的加速比 14

第2章 作業系統 15

2.1 作業系統的類型與結構 15

2.1.1 作業系統的定義 15

2.1.2 作業系統分類 16

2.2 作業系統基本原理 16

2.2.1 進程管理 16

2.2.2 存儲管理 23

2.2.3 設備管理 27

2.2.4 檔案管理 28

2.2.5 作業管理 32

第3章 資料庫系統 34

3.1 資料庫管理系統的類型 34

3.2 資料庫模式與範式 34

3.2.1 資料庫的結構與模式 34

3.2.2 數據模型 37

3.2.3 關係代數 37

3.2.4 數據的規範化 40

3.2.5 反規範化 42

3.3 資料庫設計 43

3.3.1 資料庫設計的方法 43

3.3.2 資料庫設計的基本步驟 45

3.3.3 需求分析 46

3.3.4 概念結構設計 47

3.3.5 邏輯結構設計 51

3.3.6 物理結構設計 56

3.4 事務管理 56

3.4.1 並發控制 57

3.4.2 故障與恢復 58

3.5 備份與恢復 60

3.6 分散式資料庫系統 61

3.6.1 分散式資料庫的概念 61

3.6.2 分散式資料庫的架構 64

3.7 數據倉庫 68

3.7.1 數據倉庫的概念 69

3.7.2 數據倉庫的結構 70

3.7.3 數據倉庫的實現方法 72

3.8 數據挖掘 74

3.8.1 數據挖掘的概念 74

3.8.2 數據挖掘的功能 76

3.8.3 數據挖掘常用技術 76

3.8.4 數據挖掘的流程 78

3.9 NOSQL 79

3.10 大數據 81

第4章 計算機網路 83

4.1 網路架構與協定 83

4.1.1 網路互聯模型 84

4.1.2 常見的網路協定 85

4.1.3 IPv6 87

4.2 區域網路與廣域網 89

4.2.1 區域網路基礎知識 89

4.2.2 無線區域網路 91

4.2.3 廣域網技術 93

4.2.4 網路接入技術 93

4.3 網路互連與常用設備 95

4.4 網路工程 97

4.4.1 網路規劃 97

4.4.2 網路設計 99

4.4.3 網路實施 101

4.5 網路存儲技術 102

4.6 綜合布線 104

第5章 系統性能評價 106

5.1 性能指標 106

5.1.1 計算機 107

5.1.2 網路 109

5.1.3 作業系統 110

5.1.4 資料庫管理系統 110

5.1.5 Web伺服器 111

5.2 性能計算 111

5.3 性能設計 112

5.3.1 阿姆達爾解決方案 112

5.3.2 負載均衡 113

5.4 性能評估 116

5.4.1 基準測試程式 116

5.4.2 Web伺服器的性能評估 117

5.4.3 系統監視 118

第6章 開發方法 120

6.1 軟體生命周期 120

6.2 軟體開發模型 121

6.2.1 瀑布模型 121

6.2.2 演化模型 124

6.2.3 螺旋模型 124

6.2.4 增量模型 125

6.2.5 構件組裝模型 125

6.3 統一過程 126

6.4 敏捷方法 129

6.4.1 極限編程 129

6.4.2 特徵驅動開發 133

6.4.3 Scrum 135

6.4.4 水晶方法 138

6.4.5 其他敏捷方法 139

6.5 軟體重用 140

6.5.1 軟體重用 140

6.5.2 構件技術 140

6.6 基於架構的軟體設計 141

6.6.1 ABSD方法與生命周期 141

6.6.2 基於架構的軟體開發模型 143

6.7 形式化方法 148

第7章 系統計畫 150

7.1 項目的提出與選擇 150

7.1.1 項目的立項目標和動機 150

7.1.2 項目的選擇和確定 151

7.1.3 項目提出和選擇的結果 154

7.2 可行性研究與效益分析 155

7.2.1 可行性研究的內容 156

7.2.2 成本效益分析 157

7.2.3 可行性分析報告 158

7.3 方案的制訂和改進 159

7.4 新舊系統的分析和比較 161

7.4.1 遺留系統的評價方法 162

7.4.2 遺留系統的演化策略 165

第8章 系統分析與設計方法 167

8.1 定義問題與歸結模型 167

8.1.1 問題分析 167

8.1.2 問題定義 170

8.2 需求分析與軟體設計 172

8.2.1 需求分析的任務與過程 172

8.2.2 如何進行系統設計 174

8.2.3 軟體設計的任務與活動 175

8.3 結構化分析與設計 176

8.3.1 結構化分析 176

8.3.2 結構化設計 180

8.3.3 模組設計 182

8.4 面向對象的分析與設計 184

8.4.1 面向對象的基本概念 184

8.4.2 面向對象分析 186

8.4.3 統一建模語言 188

8.5 用戶界面設計 199

8.5.1 用戶界面設計的原則 199

8.5.2 用戶界面設計過程 200

8.6 工作流設計 200

8.6.1 工作流設計概述 201

8.6.2 工作流管理系統 202

8.7 簡單分散式計算機套用系統的設計 203

8.8 系統運行環境的集成與設計 204

8.9 系統過渡計畫 206

第9章 軟體架構設計 208

9.1 軟體架構概述 208

9.1.1 軟體架構的定義 209

9.1.2 軟體架構的重要性 210

9.1.3 架構的模型 211

9.2 架構需求與軟體質量屬性 213

9.2.1 軟體質量屬性 213

9.2.2 6個質量屬性及實現 214

9.3 軟體架構風格 221

9.3.1 軟體架構風格分類 222

9.3.2 數據流風格 222

9.3.3 調用/返迴風格 224

9.3.4 獨立構件風格 226

9.3.5 虛擬機風格 227

9.3.6 倉庫風格 228

9.4 層次系統架構風格 229

9.4.1 二層及三層C/S架構風格 229

9.4.2 B/S架構風格 230

9.4.3 MVC架構風格 231

9.4.4 MVP架構風格 233

9.5 面向服務的架構 234

9.5.1 SOA概述 234

9.5.2 SOA的關鍵技術 236

9.5.3 SOA的實現方法 238

9.5.4 微服務 241

9.6 架構設計 244

9.7 軟體架構文檔化 246

9.8 軟體架構評估 250

9.8.1 軟體架構評估的方法 250

9.8.2 架構的權衡分析法 250

9.8.3 成本效益分析法 252

9.9 構件及其復用 253

9.9.1 商用構件標準規範 253

9.9.2 套用系統簇與構件系統 255

9.9.3 基於復用開發的組織結構 255

9.10 產品線及系統演化 256

9.10.1 復用與產品線 256

9.10.2 基於產品線的架構 257

9.10.3 產品線的開發模型 258

9.10.4 特定領域軟體架構 258

9.10.5 架構及系統演化 259

9.11 軟體架構視圖 260

9.11.1 軟體視圖的分類 260

9.11.2 模組視圖類型及其風格 262

9.11.3 C&C視圖類型及其風格 263

9.11.4 分配視圖類型及其風格 265

9.11.5 各視圖類型間的映射關係 267

第10章 設計模式 268

10.1 設計模式概述 268

10.1.1 設計模式的概念 268

10.1.2 設計模式的組成 269

10.1.3 GoF設計模式 269

10.1.4 其他設計模式 271

10.1.5 設計模式與軟體架構 272

10.1.6 設計模式分類 272

10.2 設計模式及實現 273

10.2.1 Abstract Factory模式 273

10.2.2 Singleton模式 276

10.2.3 Decorator模式 277

10.2.4 Facade/Session Facade模式 279

10.2.5 Mediator模式 281

10.2.6 Observer模式 282

10.2.7 Intercepting Filter模式 284

10.3 設計模式總結 286

第11章 測試評審方法 288

11.1 測試方法 288

11.1.1 軟體測試階段 288

11.1.2 白盒測試和黑盒測試 290

11.1.3 缺陷的分類和級別 292

11.1.4 調試 293

11.2 評審方法 294

11.3 驗證與確認 295

11.4 測試自動化 297

11.5 面向對象的測試 297

第12章 嵌入式系統設計 300

12.1 嵌入式系統概論 300

12.2 嵌入式系統的組成 301

12.2.1 硬體架構 301

12.2.2 軟體架構 306

12.3 嵌入式開發平台與調試環境 307

12.3.1 嵌入式系統軟體開發平台 307

12.3.2 嵌入式開發調試 309

12.4 嵌入式網路系統 312

12.4.1 現場匯流排網 312

12.4.2 家庭信息網 313

11.4.3 無線數據通信網 313

12.4.4 嵌入式Internet 314

12.5 嵌入式資料庫管理系統 315

12.5.1 使用環境的特點 315

12.5.2 系統組成與關鍵技術 316

12.6 實時系統與嵌入式作業系統 319

12.6.1 嵌入式系統的實時概念 319

12.6.2 嵌入式作業系統概述 320

12.6.3 實時嵌入式作業系統 321

12.6.4 主流嵌入式作業系統介紹 324

12.7 嵌入式系統開發設計 325

12.7.1 嵌入式系統設計概述 325

12.7.2 開發模型與設計流程 327

12.7.3 嵌入式系統設計的核心技術 329

12.7.4 嵌入式開發設計環境 331

12.7.5 嵌入式軟體設計模型 332

12.7.6 需求分析 335

12.7.7 系統設計 337

12.7.8 系統集成與測試 342

第13章 開發管理 344

13.1 項目的範圍、時間與成本 344

13.1.1 項目範圍管理 345

13.1.2 項目成本管理 345

13.1.3 項目時間管理 346

13.2 配置管理與文檔管理 347

13.2.1 軟體配置管理的概念 347

13.2.2 軟體配置管理的解決方案 348

13.2.3 軟體文檔管理 351

13.3 軟體需求管理 355

13.3.1 需求變更 355

13.3.2 需求跟蹤 356

13.4 軟體開發的質量與風險 356

13.4.1 軟體質量管理 356

13.4.2 項目風險管理 359

13.5 人力資源管理 363

13.6 軟體的運行與評價 368

13.7 軟體過程改進 368

第14章 信息系統基礎知識 371

14.1 信息系統概述 371

14.1.1 信息系統的組成 371

14.1.2 信息系統的生命周期 373

14.1.3 信息系統建設的原則 375

14.1.4 信息系統開發方法 376

14.2 信息系統工程 378

14.2.1 信息系統工程的概念 378

14.2.2 信息系統工程的內容 380

14.2.3 信息系統工程的總體規劃 383

14.2.4 總體規劃的方法論 389

14.3 政府信息化與電子政務 394

14.3.1 我國政府信息化的歷程和策略 394

14.3.2 電子政務的內容 398

14.3.3 電子政務建設的過程模式和技術模式 399

14.4 企業信息化與電子商務 403

14.4.1 企業信息化概述 403

14.4.2 企業資源規劃 406

14.4.3 客戶關係管理 410

14.4.4 產品數據管理 413

14.4.5 企業門戶 416

14.4.6 企業套用集成 418

14.4.7 供應鏈管理 421

14.4.8 電子商務概述 423

14.6 知識管理與商業智慧型 425

14.6.1 知識管理 425

14.6.2 商業智慧型 427

14.7 業務流程重組 427

第15章 基於中間件的開發 431

15.1 中間件技術 431

15.1.1 中間件的概念 432

15.1.2 中間件的分類 433

15.1.3 中間件產品介紹 434

15.2 套用伺服器技術 435

15.2.1 套用伺服器的概念 436

15.2.2 主要的套用伺服器 438

15.3 J2EE 439

15.3.1 表示層 440

15.3.2 套用服務層 441

15.4 .NET 443

15.4.1 .NET平台 444

15.4.2 .NET框架 445

15.5 企業套用集成 450

15.6 輕量級架構和重量級架構 453

15.6.1 Struts框架 453

15.6.2 Spring框架 454

15.6.3 Hibernate框架 455

15.6.4 基於Struts、Spring和Hibernate的輕量級架構 456

15.6.5 輕量級架構和重量級架構的探討 457

第16章 安全性和保密性設計 459

16.1 加密和解密 459

16.1.1 對稱密鑰加密算法 460

16.1.2 不對稱密鑰加密算法 461

16.2 數字簽名與數字水印 463

16.2.1 數字簽名 463

16.2.2 數字信封 465

16.3 數字證書與密鑰管理 466

16.3.1 密鑰分配中心 466

16.3.2 數字證書和公開密鑰基礎設施 467

16.4 安全協定 470

16.4.1 IPSec協定簡述 471

16.4.2 SSL協定 474

16.4.3 PGP協定 477

16.5 計算機病毒與防治 480

16.5.1 計算機病毒概述 480

16.5.2 網路環境下的病毒發展新趨勢 482

16.5.3 計算機病毒的檢測與清除 483

16.5.4 計算機病毒的預防 485

16.6 身份認證與訪問控制 486

16.6.1 身份認證技術 486

16.6.2 訪問控制技術 492

16.7 網路安全體系 494

16.7.1 OSI安全架構 494

16.7.2 VPN在網路安全中的套用 496

16.8 系統的安全性設計 499

16.8.1 物理安全問題與設計 499

16.8.2 防火牆及其在系統安全中的套用 499

16.8.3 入侵檢測系統 501

16.9 安全性規章 503

16.9.1 安全管理制度 503

16.9.2 計算機犯罪與相關法規 505

第17章 系統的可靠性分析與設計 508

17.1 可靠性概述 508

17.2 系統故障模型 509

17.2.1 故障的來源以及表現 509

17.2.2 幾種常用的故障模型 510

17.3 系統配置方法 510

17.3.1 單機容錯技術 511

17.3.2 雙機熱備份技術 511

17.3.3 伺服器集群技術 512

17.4 系統可靠性模型 513

17.4.1 時間模型 513

17.4.2 故障植入模型 513

17.4.3 數據模型 514

17.5 系統的可靠性分析和可靠度計算 515

17.5.1 組合模型 515

17.5.2 馬爾柯夫模型 517

17.6 提高系統可靠性的措施 519

17.6.1 硬體冗餘 519

17.6.2 信息冗餘 522

17.7 備份與恢復 523

第18章 軟體的智慧財產權保護 525

18.1 著作權法及實施條例 525

18.1.1 著作權法客體 525

18.1.2 著作權法的主體 526

18.1.3 著作權 527

18.2 計算機軟體保護條例 528

18.3 商標法及實施條例 529

18.4 專利法及實施細則 530

18.5 反不正當競爭法 532

第19章 標準化知識 534

19.1 標準化概論 534

19.2 標準分級與標準類型 534

19.2.1 標準分級 535

19.2.2 強制性標準與推薦性標準 536

第20章 套用數學 538

20.1 運籌方法 538

20.1.1 網路計畫技術 538

20.1.2 線性規劃 542

20.1.3 決策論 545

20.1.4 對策論 548

20.2 數學建模 549

第21章 虛擬化、雲計算與物聯網 551

21.1 虛擬化 551

21.1.1 虛擬化技術的分類 551

21.1.2 虛擬化的模式 553

21.2 雲計算 554

21.2.1 雲計算的特點 555

21.2.2 雲計算的類型 556

21.2.3 雲計算的套用 556

21.3 物聯網 557

21.3.1 物聯網的層次結構 558

21.3.2 物聯網的相關領域與技術 559

21.3.3 物聯網的套用 562

相關詞條

熱門詞條

聯絡我們