內容簡介
本書主要討論系統分析、系統設計和項目管理三大主題,第6版對全書內容進行了重新組織,以一個完整的系統開發案例貫穿始終,更加注重敏捷和疊代方法,並通過UML建模使面向對象方法的講解更加細緻和深入。新版在引入新方法的同時,依然保留了對傳統結構化開發過程的介紹,並且突出了項目管理部分。
作者簡介
羅伯特 B. 傑克遜(Robert B. Jackson) 美國楊百翰大學信息系統系退休教師,研究方向包括面向對象系統分析與設計、電子商務、項目管理等。
圖書目錄
第一部分 系統開發導論
第1章 從始至終——系統分析與設計概述 2
1.1 軟體開發以及系統分析與設計 2
1.2 系統開發生命周期 4
1.3 落基山運動用品(RMO)介紹 4
1.4 疊代開發 6
1.5 RMO貿易展覽系統的開發 7
1.5.1 項目開始前的準備工作 7
1.5.2 第一天的工作活動 8
1.5.3 第二天的工作活動 11
1.5.4 第三天的工作活動 13
1.5.5 第四天的工作活動 15
1.5.6 第五天的工作活動 19
1.5.7 第六天的工作活動 19
1.5.8 第一次疊代回顧 21
1.6 後續內容導讀 21
1.6.1 第一部分:系統開發導論 21
1.6.2 第二部分:系統分析活動 22
1.6.3 第三部分:系統設計的要點 22
1.6.4 第四部分:項目和項目管理 22
1.6.5 第五部分:高級設計和部署概念 22
本章小結 23
複習題 23
第二部分 系統分析活動
第2章 系統需求調查 26
2.1 引言 27
2.2 RMO綜合銷售和市場行銷系統項目 27
2.2.1 現有的RMO信息系統與架構 27
2.2.2 新綜合銷售和市場行銷系統 28
2.3 系統分析活動 30
2.3.1 收集細節信息 30
2.3.2 定義需求 31
2.3.3 需求的優先權劃分 31
2.3.4 開發用戶界面對話框 31
2.3.5 與用戶一起評估需求 31
2.4 什麼是需求 32
2.5 模型和建模 33
2.6 利益相關者 35
2.7 信息收集技術 38
2.7.1 與用戶和其他利益相關者進行訪談 38
2.7.2 分發和收集調查問卷 41
2.7.3 檢查輸入、輸出和流程 42
2.7.4 觀察和記錄業務流程 43
2.7.5 研究供應商的解決方案 44
2.7.6 收集活躍的用戶評論和建議 44
2.8 用活動圖記錄工作流 44
本章小結 47
複習題 48
問題和練習 48
擴展資源 49
第3章 用例 50
3.1 引言 51
3.2 用例和用戶目標 51
3.3 用例和事件分解 52
3.3.1 事件分解技術 53
3.3.2 事件類型 54
3.3.3 定義事件 55
3.3.4 使用事件分解技術 57
3.4 用例和CRUD 58
3.5 RMO案例中的用例 59
3.6 用例圖 60
3.6.1 用例、參與者和符號 61
3.6.2 開發用例圖 63
本章小結 64
複習題 65
問題和練習 66
擴展資源 67
第4章 域建模 68
4.1 引言 68
4.2 問題域中的“事物” 69
4.2.1 頭腦風暴法 69
4.2.2 名詞技術 70
4.2.3 事物的屬性 71
4.2.4 事物間的關係 72
4.3 實體-聯繫圖 73
4.4 域模型類圖 76
4.4.1 域模型類圖符號 76
4.4.2 有關對象類的更複雜的問題 79
4.4.3 RMO案例的域模型類圖 81
本章小結 86
複習題 86
問題和練習 87
擴展資源 88
第5章 需求模型的延伸 89
5.1 引言 90
5.2 用例描述 90
5.2.1 簡單的用例描述 91
5.2.2 完全展開的用例描述 91
5.3 用例活動圖 93
5.4 系統順序圖——確定輸入和輸出 94
5.4.1 系統順序圖符號 94
5.4.2 開發系統順序圖 97
5.5 狀態機圖——確定對象行為 100
5.5.1 複合狀態和並發性 101
5.5.2 開發狀態機圖的規則 103
5.5.3 開發RMO狀態機圖 104
5.6 需求模型的集成 107
本章小結 108
複習題 108
問題和練習 109
擴展資源 111
第三部分 系統設計的要點
第6章 設計與設計活動的基本要素 114
6.1 引言 115
6.2 設計要素 115
6.2.1 什麼是系統設計 116
6.2.2 設計的主要組件和層次 116
6.3 系統設計的輸入和輸出 118
6.4 設計活動 120
6.4.1 設計環境 121
6.4.2 設計應用程式結構和軟體 122
6.4.3 設計用戶界面 122
6.4.4 設計系統界面 123
6.4.5 設計資料庫 124
6.4.6 設計安全和系統控制 125
6.5 如何設計環境 125
6.5.1 設計內部部署 126
6.5.2 設計外部部署 128
6.5.3 設計遠程和分散的環境 134
6.5.4 RMO的企業技術結構 135
本章小結 136
複習題 137
問題和練習 137
擴展資源 138
第7章 設計用戶界面和系統界面 139
7.1 引言 140
7.2 用戶界面和系統界面 140
7.3 理解用戶界面 141
7.4 用戶界面的設計概念 144
7.4.1 提示性與可視性 144
7.4.2 一致性 145
7.4.3 捷徑 146
7.4.4 反饋 146
7.4.5 完整的對話 146
7.4.6 錯誤處理 146
7.4.7 撤銷動作 147
7.4.8 減輕短期記憶負擔 147
7.5 從分析到用戶界面設計的轉換 147
7.5.1 用例和選單層次 148
7.5.2 對話和故事板 150
7.6 用戶界面設計 152
7.6.1 設計窗體和格式的指導原則 152
7.6.2 網頁瀏覽器用戶界面的附加指導原則 154
7.6.3 手持設備的附加指導原則 157
7.7 確定系統界面 158
7.8 設計系統輸入 160
7.8.1 自動化輸入設備 160
7.8.2 定義系統輸入的細節 160
7.9 設計系統輸出 161
本章小結 167
複習題 167
問題和練習 168
擴展資源 168
第四部分 項目和項目管理
第8章 系統開發方法 170
8.1 引言 171
8.2 系統開發生命周期 171
8.2.1 系統開發生命周期的傳統預測方法 172
8.2.2 系統開發生命周期的新的自適應方法 174
8.3 支持階段 176
8.4 方法、模型、工具和技術 176
8.4.1 方法 176
8.4.2 模型 177
8.4.3 工具 178
8.4.4 技術 178
8.5 軟體構造與建模的兩種方法 178
8.5.1 結構化方法 179
8.5.2 面向對象方法 182
8.6 敏捷開發 185
8.6.1 敏捷開發的理論與價值 185
8.6.2 敏捷建模原則 186
本章小結 188
複習題 188
問題和練習 189
擴展資源 190
第9章 項目計畫和項目管理 191
9.1 引言 192
9.2 項目管理原則 192
9.2.1 項目管理的需求 193
9.2.2 項目經理的角色 193
9.2.3 項目管理和儀式 194
9.2.4 項目管理知識體系(PMBOK) 195
9.2.5 敏捷項目管理(APM) 196
9.3 核心過程1:確定問題並獲得批准 198
9.3.1 確定問題 198
9.3.2 量化項目批准因素 201
9.3.3 評估風險和可行性分析 204
9.3.4 與客戶一起評審並獲得批准 206
9.4 核心過程2:計畫和監控項目 206
9.4.1 建立項目環境 207
9.4.2 安排工作進度 211
9.4.3 員工與資源分配 214
9.4.4 評估工作過程 215
9.4.5 監控過程與改正錯誤 215
本章小結 216
複習題 217
問題和練習 218
擴展資源 220
第五部分 高級設計和部署概念
第10章 面向對象設計:設計原則 222
10.1 引言 223
10.2 面向對象設計:分析與實施的橋樑 223
10.2.1 面向對象程式概述 224
10.2.2 面向對象設計模型和過程 224
10.3 面向對象結構化設計 226
10.4 面向對象細節設計的基本原則 231
10.5 設計類和設計類圖 235
10.5.1 設計類符號 235
10.5.2 設計類表示 236
10.5.3 開發初步的設計類圖 238
10.6 用CRC卡進行細節設計 241
10.7 細節設計的基本原則 243
10.7.1 耦合 243
10.7.2 內聚 244
10.7.3 變數保護 245
10.7.4 間接 245
10.7.5 對象職責 245
本章小結 246
複習題 246
問題和練習 247
擴展資源 248
第11章 面向對象設計:用例實現 249
11.1 引言 250
11.2 多層系統的細節設計 250
11.3 用例實現和順序圖 252
11.3.1 理解順序圖 253
11.3.2 用例實現的設計流程 255
11.3.3 “創建顧客賬戶”用例的初步順序圖 256
11.3.4 “加入購物車”用例的初步順序圖 259
11.3.5 順序圖初步設計的指南和假設 263
11.3.6 開發多層設計 264
11.4 用協作圖進行設計 268
11.5 更新和打包設計類圖 269
11.5.1 包圖——將主要部分結構化 270
11.5.2 三層設計的實現問題 271
11.6 設計模式 274
11.6.1 適配器 274
11.6.2 工廠 275
11.6.3 單例 276
本章小結 277
複習題 278
問題和練習 279
擴展資源 283
第12章 實現系統的可操作性 284
12.1 引言 285
12.2 測試 286
12.2.1 單元測試 287
12.2.2 集成測試 288
12.2.3 可用性測試 289
12.2.4 系統、性能和強化測試 290
12.3 部署活動 291
12.3.1 轉換與初始化數據 291
12.3.2 培訓用戶 292
12.3.3 部署產品環境 295
12.4 計畫與管理實施、測試和部署 296
12.4.1 開發順序 296
12.4.2 原始碼控制 300
12.4.3 打包、安裝和部署組件 300
12.4.4 改動和版本控制 304
12.5 整體回看——再訪RMO 306
12.5.1 更新或代替? 306
12.5.2 最小化風險的階段化部署 307
12.5.3 資料庫開發和數據轉換 307
12.5.4 開發順序 308
12.5.5 文檔和培訓 308
本章小結 308
複習題 309
問題和練習 309
擴展資源 310