大話軟件工程案例篇——項目與產品開發實戰
李鴻君
買這商品的人也買了...
-
$360$284 -
$352邁向 Angular 2:基於 TypeScript 的高性能 SPA 框架
-
$580$493 -
$505揭秘 Angular 2
-
$534$507 -
$352Angular 從零到一
-
$250移動 Web 應用開發教程 — HTML5 + JavaScript 框架全棧 App 開發
-
$354$336 -
$564Visual Studio Code 權威指南
-
$714$678 -
$551Python 高效開發實戰 — Django、Tornado、Flask、Twisted, 3/e
-
$296Web 編程基礎 (HTML+CSS) 項目實戰教程
-
$620$490 -
$650$514 -
$454HTML+CSS+JavaScript+Bootstrap漸進式Web開發入門與實踐
-
$505企業級數據架構
-
$539$512 -
$390$371
相關主題
商品描述
本書通過定製系統和標準產品的開發案例,介紹如何結合軟件工程和項目管理的知識,按照標準化、工程化的方式協同完成軟件的開發。其中定製系統的開發案例涉及售前咨詢、項目準備、需求分析與設計、測試驗證、上線培訓等,給出了每個環節需要的理論、方法、工具、標準和交付物。標準產品的研發案例則涉及構建具有隨需應變能力系統的設計思路、建模方法等。 本書是《大話軟件工程—需求分析與軟件設計》一書的姊妹篇,本書主講案例,後者主講方法,本書是後者中理論和方法的落地實踐。 數字化轉型是現今企業IT發展的新目標,數字化轉型需要大量培養數字化時代所需的人才和技能,本書可作為培養軟件公司和客戶企業雙方人才的培訓教材,如軟件工程師(包括需求、設計、開發、實施)、產品經理、項目經理、企業數字化轉型的業務骨乾人才等。
作者簡介
資深需求咨詢顧問,具有十年的工程管理經驗,近三十年從事管理信息化咨詢、需求分析、系統的規劃架構以及軟件工程的培訓經歷。
作者專注於研究軟件工程實用化的理論、方法、標準等,研究的重點有兩個方向:一是探索建立軟件“工程化設計”的方法體系,讓軟件工程從一門 “高深的知識”轉化為一套可以 “實操的技術” ;二是研究以客戶價值為導向的軟件設計方法,提出在軟件工程中加入“業務設計”和“應用設計”的環節及相關的設計方法。
在進行企業管理信息化咨詢工作的同時,致力於軟件工程化設計方法的完善、驗證和推廣。
目錄大綱
目錄
第1篇 概 要 說 明
第1章 基礎知識 2
1.1 軟件開發 2
1.1.1 軟件開發的過程 2
1.1.2 軟件開發的基礎知識 3
1.1.3 軟件開發常見問題與對策 4
1.2 軟件工程 5
1.2.1 軟件工程的概念 5
1.2.2 軟件工程的4個子工程 5
1.2.3 軟件工程的兩階段法 8
1.2.4 軟件設計的3個層次 10
1.2.5 軟件工程的常見問題與對策 12
1.3 項目管理 12
1.3.1 項目管理的概念 13
1.3.2 項目管理的5個過程組 14
1.3.3 項目管理的3大目標 16
1.3.4 項目管理的常見問題與對策 17
1.4 軟件的標準化 18
1.4.1 軟件標準化的困局 18
1.4.2 軟件標準化的思路 21
1.4.3 標準化要求的文檔 24
1.4.4 標準化與軟件工程 26
1.4.5 標準化與項目管理 27
1.4.6 標準化與軟件開發 28
1.5 標準化與項目質量 29
1.5.1 影響項目質量的因素 29
1.5.2 對策1:分析與設計的標準化 30
1.5.3 對策2:記錄文檔的標準化 32
1.6 標準化與項目進度 33
1.6.1 影響項目進度的因素 33
1.6.2 對策1:路線圖與計劃 34
1.6.3 對策2:復用與標準化 37
1.7 標準化與項目成本 38
1.7.1 影響項目成本的因素 38
1.7.2 對策1:交付物的標準化 38
1.7.3 對策2:人才能力的標準化 39
第2章 案例設定 40
2.1 案例的設定信息 40
2.1.1 案例設計思路 40
2.1.2 案例項目的信息 40
2.1.3 客戶的基本信息 44
2.1.4 軟件公司的基本信息 46
2.2 案例雙方的準備 47
2.2.1 任務的設定(客戶) 47
2.2.2 任務的設定(軟件公司) 47
2.2.3 項目組成員介紹(客戶) 48
2.2.4 項目組成員介紹(軟件公司) 49
2.3 案例的框架說明 52
2.3.1 軟件工程與項目管理框架 52
2.3.2 輸入與輸出框架 52
2.4 關於軟件公司 53
2.4.1 公司的分類 53
2.4.2 崗位的分類 54
2.4.3 組織的形式 58
2.4.4 開發的方式 59
2.5 關於客戶企業 61
2.5.1 企業的基本構成 61
2.5.2 企業信息中心 66
2.5.3 存在問題與解決方法 67
2.5.4 信息化主導權的回歸 68
第2篇 前 期 準 備
第3章 售前咨詢 72
3.1 準備知識 72
3.1.1 目的與內容 73
3.1.2 實施方法論 75
3.1.3 角色與能力 78
3.2 準備工作 79
3.2.1 作業方法的培訓 80
3.2.2 作業模板的準備 80
3.2.3 作業路線圖的規劃 80
3.3 咨詢準備 80
3.3.1 項目背景介紹 81
3.3.2 項目資料收集 84
3.3.3 項目可行性研究 86
3.3.4 交流策略與計劃 89
3.3.5 交流資料的編制 92
3.4 客戶交流 95
3.4.1 信息中心的交流 95
3.4.2 企業高層的交流 97
3.4.3 關鍵用戶的交流 100
3.5 解決方案 102
3.5.1 解決方案的框架 103
3.5.2 解決方案中的案例 110
3.5.3 解決方案的評審 114
第4章 項目準備 116
4.1 準備知識 116
4.1.1 目的與內容 117
4.1.2 實施方法論 117
4.1.3 角色與能力 119
4.2 項目開發實施方案 119
4.2.1 實施方案的結構 119
4.2.2 項目經理的選定 121
4.2.3 項目組的建立 122
4.2.4 路線與里程碑確定 123
4.2.5 項目執行計劃編制 125
4.2.6 項目啟動會 125
4.3 工作任務一覽表 127
4.3.1 工作任務一覽表的作用 127
4.3.2 工作任務一覽表的編制 127
4.3.3 工作任務一覽表的評審 129
4.4 項目管理規範 129
4.4.1 作業規範的制定 129
4.4.2 項目問題管理 132
4.4.3 需求變更問題 132
4.5 項目成員的培訓 134
4.5.1 軟件公司培訓 134
4.5.2 客戶培訓目的 134
4.5.3 客戶培訓內容 135
4.6 補充1:定製型開發與產品型開發的
區別 136
4.6.1 定製型開發 137
4.6.2 產品型開發 137
4.6.3 問題與對策 138
4.7 補充2:合同金額與工作量計算 139
4.7.1 合同金額評估的誤區 140
4.7.2 確定合同金額的依據 140
第3篇 需 求 工 程
第5章 需求調研 146
5.1 準備知識 146
5.1.1 目的與內容 147
5.1.2 實施方法論 148
5.1.3 角色與能力 155
5.2 準備工作 157
5.2.1 作業方法的培訓 157
5.2.2 作業模板的準備 157
5.2.3 作業的規劃 160
5.2.4 基線流程的制定 161
5.3 調研展開 165
5.3.1 公司級的調研 166
5.3.2 部門級的調研 169
5.3.3 用戶級的調研 173
5.4 需求調研資料匯總 176
5.4.1 匯總整理來源 176
5.4.2 匯總資料結構 176
第6章 需求分析 178
6.1 準備知識 178
6.1.1 目的與內容 179
6.1.2 實施方法論 179
6.1.3 角色與能力 186
6.2 準備工作 186
6.2.1 作業方法的培訓 186
6.2.2 作業模板的準備 187
6.2.3 作業路線的規劃 190
6.3 需求分析的展開 190
6.3.1 架構的整理 190
6.3.2 功能的整理 192
6.3.3 數據的整理 194
6.3.4 需求的轉換 194
6.3.5 需求的聯查 196
6.4 其他類型的需求 198
6.4.1 功能性需求 198
6.4.2 非功能性需求 198
6.5 《需求規格說明書》的編制 199
6.5.1 說明書的結構 199
6.5.2 說明書的編寫 201
6.5.3 說明書摘要 207
6.6 《需求規格說明書》的確認 207
6.6.1 確認對象與方法 207
6.6.2 公司層需求的確認 208
6.6.3 部門層需求的確認 209
6.6.4 用戶層需求的確認 210
第4篇 設 計 工 程
第7章 概要設計—總體 212
7.1 準備知識 212
7.1.1 目的與內容 213
7.1.2 實施方法論 214
7.1.3 角色與能力 218
7.2 準備工作 218
7.2.1 作業方法的培訓 219
7.2.2 作業模板的準備 219
7.2.3 作業路線的規劃 221
7.3 理念與主線 222
7.3.1 設計理念的確定 222
7.3.2 業務主線的確定 225
7.3.3 管理輔線的確定 227
7.4 業務規劃 230
7.4.1 架構層規劃 230
7.4.2 功能層規劃 233
7.4.3 數據層規劃 235
7.5 其他規劃 240
7.5.1 業務建模 240
7.5.2 管理規劃 241
7.5.3 價值規劃 241
7.5.4 用例規劃 241
7.5.5 技術規劃 242
7.6 《概要設計規格書》的編制 242
7.6.1 規格書的結構 242
7.6.2 規格書的編寫 244
7.6.3 規格書的摘要 247
7.7 《概要設計規格書》的評審 247
7.7.1 項目組內部的自評 248
7.7.2 軟件公司內部的評審 248
7.7.3 客戶及第三方的評審 248
第8章 概要設計—建模 249
8.1 準備知識 249
8.1.1 建模需求的解讀 249
8.1.2 建模思路與方法 250
8.1.3 建模的能力要求 254
8.1.4 作業方法的培訓 255
8.2 業務分析的建模 256
8.2.1 項目周期的規劃 256
8.2.2 項目功能的規劃 257
8.3 管理分析的建模 259
8.3.1 過程管理的規劃 259
8.3.2 協同管理的規劃 261
8.3.3 管理強度的規劃 262
8.4 業務+管理的建模 263
8.4.1 用排比圖標出成本構成 263
8.4.2 用分解圖標出成本層級 266
8.4.3 用流程圖標出流程控點 267
8.4.4 用原型圖標出業務管理 268
8.5 建模方法的總結 270
8.5.1 圖形類建模 270
8.5.2 文字類建模 272
8.5.3 數據類建模 273
第9章 概要設計—管理 274
9.1 準備知識 274
9.1.1 管理需求的解讀 274
9.1.2 信息化管理的思路 276
9.1.3 項目管理信息化的思路 281
9.1.4 作業方法的培訓 281
9.2 目標管理(項目策劃) 282
9.2.1 需求分析 282
9.2.2 目標管理的思路 283
9.2.3 目標管理的方法 284
9.3 進度管理(進度計劃) 285
9.3.1 需求分析 285
9.3.2 進度管理的思路 286
9.3.3 進度管理的方法 286
9.4 成本管理(成本達標) 287
9.4.1 需求分析 287
9.4.2 成本管理的思路 288
9.4.3 成本管理的方法 290
9.5 風險管理(風險控制) 293
9.5.1 需求分析 293
9.5.2 風險管理的思路 295
9.5.3 風險管理的方法 295
9.6 管理規劃的總結 300
第10章 概要設計—價值 302
10.1 準備知識 302
10.1.1 價值需求的解讀 303
10.1.2 信息化價值的思路 303
10.1.3 作業方法的培訓 305
10.2 系統門戶方案 305
10.2.1 整體規劃 305
10.2.2 功能查找 306
10.2.3 待辦事項 307
10.2.4 通知匯總 309
10.3 時間管理方案 309
10.3.1 時限設定表 309
10.3.2 工作日歷 310
10.4 界面操作方案 311
10.4.1 規則檢查 311
10.4.2 參考信息 312
10.4.3 溝通確認 313
10.5 自檢/幫助方案 313
10.5.1 企業知識庫的建立 313
10.5.2 企業知識庫的應用 314
10.5.3 自檢功能 315
10.6 信息展示方案 315
10.6.1 企業領導的看板 315
10.6.2 項目經理的看板 316
10.6.3 專業崗位看板 316
10.7 價值設計總結 317
第11章 詳細設計 320
11.1 準備知識 320
11.1.1 目的與內容 321
11.1.2 實施方法論 321
11.1.3 角色與能力 322
11.2 準備工作 323
11.2.1 作業方法的培訓 323
11.2.2 作業模板的準備 324
11.2.3 作業路線的規劃 327
11.3 架構層的詳細設計 327
11.3.1 業務層面 327
11.3.2 管理層面 331
11.4 功能層的詳細設計 332
11.4.1 業務層面 332
11.4.2 管理層面 336
11.4.3 價值層面 338
11.5 數據層的詳細設計 340
11.5.1 需求來源 341
11.5.2 建模思路 342
11.5.3 建模計算 342
11.6 業務用例的設計與驗證 348
11.6.1 用例場景 348
11.6.2 用例導圖 348
11.6.3 用例數據 349
11.6.4 驗證結果 350
11.7 詳細設計規格書 351
第12章 應用設計 353
12.1 準備知識 353
12.1.1 目的與內容 354
12.1.2 實施方法論 356
12.1.3 角色與能力 359
12.2 準備工作 359
12.2.1 作業方法的培訓 360
12.2.2 作業模板的準備 361
12.2.3 作業路線的規劃 362
12.3 架構層的應用設計 362
12.3.1 框架圖的設計 362
12.3.2 流程圖的設計 363
12.3.3 流程機制的設計思路 364
12.4 功能層的應用設計 365
12.4.1 組件設計 366
12.4.2 接口設計 366
12.4.3 界面設計 368
12.5 數據層的應用設計 369
12.5.1 數據需求 370
12.5.2 機制設計 371
12.6 應用用例的設計與驗證 372
12.6.1 用例場景 373
12.6.2 用例導圖 373
12.6.3 用例數據 375
12.6.4 驗證結果 375
12.7 應用設計規格書 376
第13章 交底與驗證 378
13.1 準備工作 378
13.1.1 作業方法的培訓 379
13.1.2 交底文檔的準備 379
13.1.3 作業路線的規劃 380
13.2 設計交底 381
13.2.1 交底的作用 381
13.2.2 交底的內容 383
13.2.3 交底的方法 385
13.3 設計驗證 389
13.3.1 驗證的作用 389
13.3.2 驗證的內容 391
13.3.3 驗證的方法 392
第5篇 其 他 綜 合
第14章 標準與培訓 396
14.1 準備知識 397
14.1.1 目的與內容 397
14.1.2 實施方法論 398
14.1.3 角色與能力 399
14.2 準備工作 399
14.2.1 作業文檔的準備 400
14.2.2 作業路線的規劃 400
14.3 標準制定 401
14.3.1 統一認知 402
14.3.2 統一方法 403
14.3.3 統一標準(業務) 404
14.3.4 統一標準(數據) 405
14.3.5 統一標準(管理) 406
14.3.6 統一標準(組織) 407
14.4 用戶培訓 408
14.4.1 培訓目的 408
14.4.2 培訓內容 410
14.4.3 培訓方式 411
14.4.4 培訓效果 412
14.5 交付物 414
14.5.1 信息系統(軟件) 414
14.5.2 數據庫 414
14.5.3 設計文檔 414
第15章 項目總結 417
15.1 項目相關方的收獲 418
15.1.1 客戶方面的收獲 418
15.1.2 軟件公司方面的收獲 421
15.1.3 項目組成員的收獲 423
15.2 標準與文檔庫的建立 426
15.2.1 知識體系的結構 426
15.2.2 開發過程的結構 427
15.2.3 文檔歸集的結構 428
15.2.4 文檔歸集1:模板類 430
15.2.5 文檔歸集2:模型類 430
15.2.6 文檔管理的系統 434
15.3 基礎知識相關的問題 436
15.3.1 軟件工程有實用價值嗎 436
15.3.2 設計是不可或缺的環節 436
15.3.3 瀑布與敏捷,孰優孰劣 437
15.3.4 業務的連續性與功能的碎片化 439
15.4 項目前期的Q&A 440
15.4.1 關於售前咨詢 440
15.4.2 關於開發合同 442
15.5 需求工程的Q&A 443
15.5.1 與用戶的溝通 443
15.5.2 有關需求的表達和識別 444
15.5.3 有關快速理解業務 444
15.5.4 關於需求的變化 446
15.5.5 關於需求文檔 446
15.6 設計工程的Q&A 449
15.6.1 如何與技術人員溝通 449
15.6.2 業務與技術的差異 450
15.6.3 程序員需要什麽樣的文檔 451
15.6.4 標準模型與架構方法的區別 451
15.6.5 企業的數字化轉型 452
第16章 產品設計 455
16.1 準備知識 455
16.1.1 目的與內容 456
16.1.2 實施方法論 456
16.1.3 角色與能力 458
16.1.4 作業方法的培訓 458
16.2 產品的需求 459
16.2.1 客戶的需求 459
16.2.2 軟件公司的需求 460
16.2.3 標準產品的需求 461
16.3 產品的原理 466
16.3.1 設計思路 466
16.3.2 基乾原理 467
16.3.3 組件+機制的應用 472
16.4 產品的規劃 474
16.4.1 標準產品的開發思路 474
16.4.2 基線系統的架構方法 475
16.4.3 基線系統的設計思路 476
16.5 產品的實現 480
16.5.1 軟件開發的現狀 480
16.5.2 軟件開發工業化的概念 481
16.5.3 軟件開發工業化的實現方式 482
16.5.4 軟件工業化開發小結 487
16.6 產品開發總結 488
附 錄
附錄A 邏輯的思維和表達 490
A.1 邏輯表達和邏輯思維的關系 490
A.1.1 表達和思維的差異 490
A.1.2 邏輯表達的培訓在先 491
A.2 能力培訓方法的選擇 491
A.2.1 利用語言進行邏輯表達能力的訓練 491
A.2.2 利用文字進行邏輯表達能力的訓練 492
A.2.3 利用圖形進行邏輯表達能力的訓練 492
A.3 能力培訓的內容 492
A.3.1 用圖形進行邏輯表達能力的訓練 492
A.3.2 邏輯能力訓練的過程 494
附錄B 軟件工程能力評估 495
B.1 售前咨詢的能力要求 497
B.2 需求工程的能力要求 499
B.3 設計工程的能力要求 502
附錄C 索引 505
參考文獻 506