第1章 緒論 1
1.1 信息與信息系統 1
1.1.1 信息的基本概念 1
1.1.2 系統及相關理論 3
1.1.3 系統工程方法論 6
1.1.4 信息系統工程 9
1.2 系統分析師 10
1.2.1 系統分析師的角色定位 11
1.2.2 系統分析師的任務 13
1.2.3 系統分析師的知識體系 15
第2章 經濟管理與應用數學 19
2.1 會計常識 19
2.2 會計報表 21
2.2.1 資產負債表 21
2.2.2 利潤表與利潤分配表 22
2.3 現代企業組織結構 23
2.3.1 企業組織結構模式 23
2.3.2 企業組織結構設計 26
2.4 業績評價 27
2.4.1 成本中心的業績評價 27
2.4.2 利潤中心的業績評價 28
2.4.3 投資中心的業績評價 29
2.5 企業文化管理 30
2.5.1 企業文化的內容 31
2.5.2 企業文化管理的作用 32
2.6 IT審計相關常識 33
2.6.1 IT審計概述 33
2.6.2 IT審計程序 35
2.6.3 IT審計的方法與工具 37
2.6.4 IT審計的重點環節 38
2.7 概率統計應用 39
2.7.1 古典概率應用 39
2.7.2 隨機變量及其分布 43
2.7.3 隨機變量的數字特征 44
2.7.4 常用分布 46
2.7.5 常用統計分析方法 49
2.8 圖論應用 53
2.8.1 最小生成樹 53
2.8.2 最短路徑 55
2.8.3 網絡與最大流量 57
2.9 組合分析 60
2.9.1 排列和組合 61
2.9.2 抽屜原理和容斥原理 63
2.10 算法的選擇與應用 65
2.10.1 非數值算法 65
2.10.2 數值算法 68
2.11 運籌方法 73
2.11.1 網絡計劃技術 73
2.11.2 線性規劃 79
2.11.3 決策論 82
2.11.4 對策論 87
2.11.5 排隊論 90
2.11.6 存貯論 93
2.12 數學建模 95
第3章 操作系統基本原理 97
3.1 操作系統概述 97
3.1.1 操作系統的類型 98
3.1.2 操作系統的結構 99
3.2 進程管理 101
3.2.1 進程的狀態 101
3.2.2 信號量與PV操作 103
3.2.3 死鎖問題 105
3.2.4 線程管理 108
3.3 內存管理 111
3.3.1 地址變換 111
3.3.2 分區存儲管理 112
3.3.3 段頁式存儲管理 114
3.3.4 虛擬存儲管理 116
3.4 文件系統 119
3.4.1 文件的組織結構 119
3.4.2 存儲空間管理 121
3.4.3 分布式文件系統 122
第4章 數據通信與計算機網絡 124
4.1 數據通信基礎知識 124
4.1.1 信道特性 124
4.1.2 數據傳輸技術 127
4.1.3 數據編碼與調制 128
4.2 網絡體系結構與協議 131
4.2.1 網絡互聯模型 131
4.2.2 常見的網絡協議 133
4.2.3 網絡地址與分配 135
4.3 局域網與廣域網 138
4.3.1 局域網基礎知識 138
4.3.2 以太網技術 139
4.3.3 無線局域網 141
4.3.4 廣域網技術 143
4.3.5 網絡接入技術 145
4.4 網絡互連與常用設備 147
4.5 網絡工程 149
4.5.1 網絡規劃 149
4.5.2 網絡設計 151
4.5.3 網絡實施 153
第5章 數據庫系統 154
5.1 數據庫模式 154
5.2 數據模型 156
5.2.1 數據模型的分類 156
5.2.2 關系模型 157
5.2.3 規範化理論 160
5.3 數據庫訪問接口 164
5.4 數據庫的控制功能 165
5.4.1 並發控制 165
5.4.2 數據庫性能優化 168
5.4.3 數據庫的完整性 170
5.4.4 數據庫的安全性 172
5.4.5 備份與恢復技術 174
5.4.6 數據中心的建設 177
5.5 數據庫設計與建模 178
5.5.1 數據庫設計階段 179
5.5.2 實體聯系模型 180
5.6 分布式數據庫系統 183
5.6.1 分布式數據庫概述 183
5.6.2 數據分片 185
5.6.3 分布式數據庫查詢優化 186
5.7 數據倉庫技術 190
5.7.1 聯機分析處理 190
5.7.2 數據倉庫概述 192
5.7.3 數據倉庫的設計方法 194
5.8 數據挖掘技術 195
5.8.1 數據挖掘概述 195
5.8.2 常用技術與方法 197
5.8.3 數據挖掘技術的應用 200
第6章 系統配置與性能評價 202
6.1 計算機系統層次結構 202
6.1.1 計算機硬件的組成 202
6.1.2 計算機軟件的分類 204
6.1.3 計算機系統結構的分類 205
6.2 存儲器系統 207
6.2.1 主存儲器 208
6.2.2 輔助存儲器 209
6.2.3 Cache存儲器 213
6.2.4 網絡存儲技術 217
6.2.5 虛擬存儲技術 220
6.3 輸入輸出系統 222
6.3.1 輸入輸出方式 222
6.3.2 總線 225
6.3.3 接口 227
6.4 指令系統 230
6.4.1 基本指令系統 230
6.4.2 復雜指令系統 232
6.4.3 精簡指令系統 233
6.5 流水線技術 236
6.5.1 流水線工作原理 236
6.5.2 流水線的性能分析 238
6.5.3 局部相關與全局相關 241
6.6 多處理機系統 244
6.6.1 多處理機系統概述 244
6.6.2 海量並行處理結構 246
6.6.3 對稱多處理機結構 247
6.6.4 互連網絡 248
6.7 系統性能設計 250
6.7.1 系統性能指標 251
6.7.2 系統性能調整 253
6.8 系統性能評估 256
6.8.1 評估方法體系 256
6.8.2 經典評估方法 257
6.8.3 基準程序法 259
第7章 企業信息化戰略與實施 262
7.1 企業信息化概述 262
7.2 企業信息化規劃 264
7.2.1 信息化規劃的內容 264
7.2.2 信息化規劃與企業戰略規劃 266
7.3 信息系統開發方法 268
7.3.1 結構化方法 268
7.3.2 面向對象方法 270
7.3.3 面向服務方法 274
7.3.4 原型化方法 277
7.4 信息系統戰略規劃方法 279
7.4.1 企業系統規劃法 279
7.4.2 關鍵成功因素法 285
7.4.3 戰略集合轉化法 286
7.4.4 戰略數據規劃法 287
7.4.5 信息工程方法 290
7.4.6 戰略柵格法 292
7.4.7 價值鏈分析法 293
7.4.8 戰略壹致性模型 294
7.5 企業資源規劃和實施 296
7.5.1 ERP概述 296
7.5.2 ERP的開發方法 298
7.5.3 ERP的實施 300
7.6 信息資源管理 302
7.6.1 信息資源管理概述 302
7.6.2 規範與標準 304
7.6.3 信息資源規劃 306
7.6.4 信息資源網建設 307
7.7 企業信息系統 309
7.7.1 客戶關系管理 309
7.7.2 供應鏈管理 311
7.7.3 產品數據管理 313
7.7.4 產品生命周期管理 315
7.7.5 知識管理 316
7.7.6 商業智能 318
7.7.7 企業門戶 319
7.7.8 電子商務 321
7.7.9 決策支持系統 323
7.8 電子政務 325
7.8.1 政府職能 325
7.8.2 電子政務的模式 327
7.8.3 電子政務的實施 328
7.9 業務流程重組 331
7.9.1 BPR概述 331
7.9.2 BPR的實施 332
7.9.3 基於BPR的信息系統規劃 334
7.10 企業應用集成 335
7.10.1 傳統企業應用集成 335
7.10.2 事件驅動的企業應用集成 338
7.11 首席信息官 340
第8章 軟件工程 342
8.1 軟件生命周期 342
8.2 軟件開發方法 345
8.2.1 形式化方法 345
8.2.2 逆向工程 347
8.3 軟件開發模型 348
8.3.1 軟件開發模型概述 348
8.3.2 快速應用開發 351
8.3.3 統壹過程 352
8.3.4 敏捷方法 355
8.4 軟件開發環境與工具 357
8.4.1 軟件開發環境 357
8.4.2 軟件開發工具 359
8.5 軟件過程管理 360
8.5.1 軟件能力成熟度模型 360
8.5.2 軟件過程評估 363
第9章 系統規劃 366
9.1 系統規劃概述 366
9.2 項目的提出與選擇 368
9.2.1 項目的立項目標和動機 368
9.2.2 項目立項的價值判斷 369
9.2.3 項目的選擇和確定 370
9.3 初步調查 372
9.4 可行性研究 373
9.4.1 可行性評價準則 374
9.4.2 可行性研究的步驟 376
9.4.3 可行性研究報告 377
9.5 成本效益分析技術 379
9.5.1 成本和收益 379
9.5.2 凈現值分析 382
9.5.3 投資回收期與投資回報率 385
9.6 系統方案 386
9.6.1 候選方案的可行性評價 386
9.6.2 系統建議方案報告 388
第10章 系統分析 389
10.1 系統分析概述 389
10.2 詳細調查 390
10.2.1 詳細調查的原則 391
10.2.2 詳細調查的內容 392
10.2.3 詳細調查的方法 393
10.3 現有系統分析 395
10.4 組織結構分析 396
10.4.1 組織結構圖 396
10.4.2 組織結構調查 397
10.5 系統功能分析 398
10.6 業務流程分析 399
10.6.1 業務流程分析概述 400
10.6.2 業務流程圖 401
10.6.3 業務活動圖示 403
10.6.4 業務流程建模 405
10.7 數據與數據流程分析 412
10.7.1 數據匯總分析 412
10.7.2 數據屬性分析 412
10.7.3 數據流程分析 414
10.8 系統需求規格說明 414
第11章 軟件需求工程 417
11.1 軟件需求概述 417
11.2 需求獲取 418
11.2.1 用戶訪談 419
11.2.2 問卷調查 420
11.2.3 采樣 422
11.2.4 情節串聯板 423
11.2.5 聯合需求計劃 425
11.2.6 需求記錄技術 426
11.3 需求分析 429
11.3.1 需求分析的任務 429
11.3.2 需求分析的方法 430
11.4 結構化分析方法 431
11.4.1 數據流圖 432
11.4.2 狀態轉換圖 434
11.4.3 數據字典 435
11.5 面向對象分析方法 437
11.5.1 統壹建模語言 437
11.5.2 用例模型 440
11.5.3 分析模型 447
11.6 需求定義 451
11.6.1 需求定義的方法 451
11.6.2 軟件需求規格說明書 453
11.7 需求驗證 454
11.7.1 需求評審 454
11.7.2 需求測試 457
11.8 需求管理 459
11.8.1 需求變更管理 459
11.8.3 需求風險管理 461
11.8.4 需求跟蹤 463
第12章 軟件架構設計 466
12.1 構件與軟件復用 466
12.1.1 主流構件標準 467
12.1.2 構件獲取與管理 469
12.1.3 構件復用的方法 470
12.2 軟件架構概述 472
12.3 軟件架構建模 475
12.4 軟件架構風格 477
12.4.1 經典架構風格 477
12.4.2 層次架構風格 479
12.4.3 富互聯網應用 484
12.5 面向服務的架構 487
12.5.1 SOA概述 487
12.5.2 SOA的關鍵技術 489
12.5.3 SOA的實現方法 491
12.6 軟件架構評估 495
12.6.1 架構評估概述 495
12.6.2 ATAM評估方法 497
12.6.3 SAAM評估方法 499
12.7 軟件產品線 501
12.7.1 產品線的過程模型 501
12.7.2 產品線的建立方式 504
第13章 系統設計 507
13.1 系統設計概述 507
13.2 處理流程設計 510
13.2.1 流程設計概述 510
13.2.2 工作流管理系統 512
13.2.3 流程設計工具 514
13.3 結構化設計 519
13.3.1 模塊結構 519
13.3.2 系統結構圖 523
13.4 面向對象設計 527
13.4.1 設計軟件類 527
13.4.2 對象持久化與數據庫 528
13.4.3 面向對象設計的原則 529
13.5 設計模式 532
13.5.1 設計模式概述 533
13.5.2 設計模式分類 534
第14章 系統實現與測試 538
14.1 系統實現概述 538
14.1.1 程序設計方法 538
14.1.2 程序設計語言與風格 539
14.2 軟件測試概述 540
14.2.1 測試自動化 541
14.2.2 軟件調試 543
14.3 軟件測試方法 544
14.3.1 靜態測試 544
14.3.2 白盒測試 546
14.3.3 黑盒測試 548
14.4 測試的類型 551
14.4.1 單元測試 551
14.4.2 集成測試 553
14.4.3 系統測試 555
14.4.4 其他測試類型 556
14.5 面向對象系統的測試 557
14.5.1 面向對象系統的測試策略 557
14.5.2 面向對象系統的單元測試 559
14.5.3 面向對象系統的集成測試 559
14.6 軟件測試的組織 561
第15章 系統運行與維護 564
15.1 遺留系統的處理策略 564
15.1.1 評價方法 564
15.1.2 演化策略 567
15.2 系統轉換與交接 568
15.2.1 新舊系統的轉換策略 568
15.2.2 數據轉換和遷移 570
15.3 系統的擴展和集成 573
15.4 系統運行管理 574
15.4.1 系統成本管理 574
15.4.2 系統用戶管理 575
15.4.3 網絡資源管理 577
15.4.4 軟件資源管理 578
15.5 系統故障管理 579
15.5.1 故障監視 579
15.5.2 故障調查 580
15.5.3 故障支持和恢復處理 581
15.6 軟件維護 582
15.6.1 軟件維護概述 582
15.6.2 軟件維護的影響因素 583
15.6.3 軟件維護成本 585
15.6.4 軟件維護管理 586
15.8 系統監理與評價 588
15.8.1 工程監理 589
15.8.2 系統評價 590
第16章 新技術應用 592
16.1 中間件技術 592
16.1.1 中間件概述 592
16.1.2 主要的中間件 595
16.1.3 中間件與構件的關系 599
16.2 J2EE與.NET平臺 600
16.2.1 J2EE核心技術 601
16.2.2 Java企業應用框架 603
16.2.3 .NET平臺概述 606
16.2.4 比較分析 607
16.3 虛擬計算 610
16.3.1 P2P計算 610
16.3.2 雲計算 616
16.3.3 軟件即服務 618
16.3.4 網格計算 621
16.3.5 普適計算 623
16.4 片上系統 625
16.4.1 SoC設計 626
16.4.2 SoC驗證 628
16.5 多核技術 630
16.5.1 多核與多線程 630
16.5.2 多核編程 631
16.6 面向方面的編程 632
16.6.1 AOP概述 632
16.6.2 AOP關鍵技術 635
第17章 嵌入式系統分析與設計 638
17.1 嵌入式系統概述 638
17.2 嵌入式數據庫系統 640
17.3 嵌入式實時操作系統 643
17.3.1 嵌入式操作系統概述 643
17.3.2 多任務調度算法 646
17.3.3 優先級反轉 650
17.4 嵌入式系統開發 653
17.4.1 開發平臺 654
17.4.2 開發流程 655
17.4.3 軟硬件協同設計 657
17.4.4 系統分析與設計 660
17.4.5 低功耗設計 663
第18章 系統安全性分析與設計 666
18.1 信息系統安全體系 666
18.2 數據安全與保密 669
18.2.1 數據加密技術 669
18.2.2 認證技術 670
18.2.3 密鑰管理體制 673
18.3 通信與網絡安全技術 675
18.3.1 防火墻 675
18.3.2 虛擬專用網 680
18.3.3 安全協議 681
18.3.4 單點登錄技術 683
18.4 病毒防治與防闖入 685
18.4.1 病毒防護技術 685
18.4.2 入侵檢測技術 687
18.4.3 入侵防護技術 689
18.4.4 網絡攻擊及預防 690
18.4.5 計算機犯罪與防範 693
18.5 系統訪問控制技術 694
18.5.1 訪問控制概述 694
18.5.2 訪問控制模型 696
18.5.3 訪問控制分類 697
18.6 容災與業務持續 699
18.6.1 災難恢復技術 699
18.6.2 災難恢復規劃 700
18.6.3 業務持續性規劃 702
18.7 安全管理措施 704
18.7.1 安全管理的內容 705
18.7.2 安全審計 706
18.7.3 私有信息保護 707
第19章 系統可靠性分析與設計 709
19.1 系統可靠性概述 709
19.1.1 系統故障模型 709
19.1.2 系統可靠性指標 711
19.1.3 系統可靠性模型 711
19.2 系統可靠性分析 713
19.3 冗余技術 715
19.3.1 冗余技術的分類 716
19.3.2 冗余系統 717
19.4 軟件容錯技術 718
19.4.1 N版本程序設計 719
19.4.2 恢復塊方法 720
19.4.3 防衛式程序設計 721
19.5 雙機容錯技術 722
19.6 集群技術 724
19.6.1 集群技術概述 724
19.6.2 高性能計算集群 726
19.6.3 負載均衡集群 728
19.6.4 高可用性集群 729
19.6.5 負載均衡技術 731
19.6.6 進程遷移技術 734
第20章 項目管理 737
20.1 項目開發計劃 737
20.1.1 項目開發計劃概述 737
20.1.2 項目開發計劃的編制 740
20.2 範圍管理 741
20.2.1 範圍計劃的編制 742
20.2.2 創建工作分解結構 743
20.2.3 範圍確認和控制 744
20.3 進度管理 746
20.3.1 活動排序 746
20.3.2 活動資源估算 749
20.3.3 活動歷時估算 750
20.3.4 進度控制 754
20.4 成本管理 756
20.4.1 成本估算 756
20.4.2 成本預算 757
20.4.3 成本控制 759
20.5 軟件配置管理 762
20.5.1 配置管理概述 762
20.5.2 配置標識 764
20.5.3 變更控制 766
20.5.4 版本控制 768
20.5.5 配置審核 769
20.5.6 配置狀態報告 770
20.6 質量管理 772
20.6.1 軟件質量模型 772
20.6.2 質量管理計劃 774
20.6.3 質量保證與質量控制 776
20.7 人力資源管理 778
20.7.1 人力資源計劃編制 778
20.7.2 組建項目團隊 780
20.7.3 項目團隊建設 781
20.7.4 管理項目團隊 784
20.7.5 溝通管理 785
20.8 風險管理 787
20.8.1 風險管理的概念 788
20.8.2 風險的主要類型 789
20.8.3 風險管理的過程 790
20.9 信息(文檔)管理 793
20.9.1 軟件文檔概述 793
20.9.2 軟件文檔標準 796
20.9.3 數據需求說明 798
20.9.4 軟件測試計劃 798
20.9.5 軟件測試報告 800
20.9.6 技術報告 800
20.9.7 項目開發總結報告 802
參考文獻 804
XII
系統分析師教程
XIII
目 錄