本書是以面向對象為主、面向元數(shù)據(jù)和面向過程為輔的教科書,巧妙地、實事求是地將這三種方法融于一體,是國內外軟件工程教材中的經(jīng)典著作,有利于增強中國人在國際軟件工程界的話語權。本書共11章,包括軟件工程的內容與方法、軟件生命周期與開發(fā)模型、軟件立項與合同、軟件需求分析、軟件策劃、軟件建模、軟件設計、軟件實現(xiàn)、軟件測試、軟件實施與維護、軟件管理。書中提出了“軟件工程方法論”和“軟件工程實踐論”,詳述了“功能模型”“業(yè)務模型”和“數(shù)據(jù)模型”三個模型的建模思想,提出了數(shù)據(jù)模型設計中的“四個原子化”理論,介紹了“面向對象”“面向元數(shù)據(jù)”“面向過程”三種方法的“需求分析、概要設計、詳細設計”的描述工具與實現(xiàn)途徑,提出了軟件測試工作的本質,主要通過軟件數(shù)據(jù)的“值”來檢驗軟件數(shù)據(jù)的“型”。本書適合各類理工科計算機及相關專業(yè)的軟件工程教材,也適合IT企業(yè)的軟件工程師自學之用。
趙池龍,男,北京師范大學教授,長期在IT企業(yè)從事軟件開發(fā)與軟件管理,在軟件工程方法論領域中,率先提出了“面向元數(shù)據(jù)的方法”,該方法與“面向過程的方法、面向對象的方法”號稱軟件工程中的三大開發(fā)方法。在軟件工程實踐領域中,率先提出了“五個面向的實施理論”,即“面向流程分析、面向元數(shù)據(jù)設計、面向對象實現(xiàn)、面向功能測試、面向過程管理”,并編著了“實用軟件工程(國家十一五規(guī)劃教材)”和“軟件工程實踐教程”兩本大學教材。在軟件公司,曾經(jīng)先后完成多個軟件項目和軟件產品的設計與實現(xiàn)。
目 錄
第1章 軟件工程的內容與方法 1
1.1 軟件的定義 2
1.2 軟件工程的定義 4
1.3 軟件工程在軟件行業(yè)中的作用 8
1.4 軟件工程方法論 10
1.4.1 軟件工程方法論的提出 10
1.4.2 面向過程方法 11
1.4.3 面向對象方法 12
1.4.4 面向元數(shù)據(jù)方法 13
1.4.5 面向業(yè)務基礎平臺的方法 14
1.4.6 軟件工程方法論小結 17
1.5 軟件工程實踐論 18
1.6 軟件支持過程 20
1.7 軟件管理過程 21
1.8 實例分析——某港口信息系統(tǒng)建設案例 22
本章小結 24
思考題 24
第2章 軟件生命周期與開發(fā)模型 25
2.1 軟件生命周期模型概論 26
2.2 瀑布模型 27
2.3 增量模型 29
2.4 原型模型 30
2.5 迭代模型 31
2.6 螺旋模型 34
2.7 噴泉模型 36
2.8 XP模型 36
2.9 各模型之間的關系 37
本章小結 39
思考題 40
第3章 軟件立項與合同 41
3.1 軟件立項方法與文檔 42
3.2 軟件招標與投標 43
3.3 簽訂合同的方法與文檔 44
3.4 下達任務的方法與文檔 45
本章小結 49
思考題 49
第4章 軟件需求分析 50
4.1 需求分析的基本概念 51
4.2 需求分析的任務 54
4.3 需求分析的方法 59
4.4 需求描述工具 63
4.4.1 描述工具概述 63
4.4.2 面向元數(shù)據(jù)的需求描述工具 64
4.4.3 面向過程的需求描述工具 64
4.4.4 面向對象的需求描述工具 68
4.5 需求過程管理 72
4.6 需求分析文檔 74
本章小結 76
思考題 77
第5章 軟件策劃 78
5.1 軟件策劃概論 79
5.2 軟件規(guī)模估計方法 81
5.3 軟件費用和資源估計方法 83
5.4 軟件策劃文檔 84
本章小結 85
思考題 85
第6章 軟件建模 87
6.1 三個模型的建模思想 88
6.2 數(shù)據(jù)模型設計概論 91
6.3 數(shù)據(jù)庫設計的理論和方法 95
6.4 四個原子化理論 100
6.5 建模案例:混凝土公司信息管理系統(tǒng) 101
6.6 建模案例:某省級新華書店信息管理系統(tǒng) 104
6.7 三個模型建模思想總結 108
本章小結 109
思考題 110
第7章 軟件設計 111
7.1 軟件設計概述 112
7.2 軟件設計原理 114
7.3 面向過程設計 117
7.3.1 面向過程概要設計 118
7.3.2 面向過程詳細設計 120
7.4 面向對象設計 123
7.4.1 面向對象分析與設計工具 123
7.4.2 面向對象分析與設計步驟 130
7.5 面向元數(shù)據(jù)設計 133
7.6 軟件設計方法學 135
7.7 軟件設計文檔 136
本章小結 137
思考題 138
第8章 軟件實現(xiàn) 140
8.1 軟件實現(xiàn)概述 141
8.2 軟件編碼技術 144
8.3 軟件實現(xiàn)管理 148
本章小結 150
思考題 150
第9章 軟件測試 151
9.1 軟件測試概述 152
9.2 軟件測試模型 158
9.3 黑盒測試方法 160
9.3.1 等價類劃分法 161
9.3.2 邊界值分析法 162
9.3.3 錯誤推測法 162
9.3.4 因果圖分析法 163
9.3.5 場景分析法 163
9.3.6 黑盒測試用例設計 164
9.3.7 黑盒測試的優(yōu)缺點 166
9.4 白盒測試方法 167
9.5 灰盒測試方法 170
9.6 測試過程和測試文檔 170
本章小結 174
思考題 174
第10章 軟件實施和維護 176
10.1 軟件產品分類 177
10.2 軟件產品發(fā)布 178
10.3 軟件產品實施 180
10.4 軟件維護傳統(tǒng)方法 181
10.5 軟件維護現(xiàn)代方法 184
10.6 軟件維護文檔 186
本章小結 187
思考題 187
第11章 軟件管理 189
11.1 軟件過程改進模型CMMI 190
11.1.1 CMMI簡介 190
11.1.2 CMMI實施思路 193
11.1.3 成熟度等級2過程域的解釋 197
11.2 敏捷文化現(xiàn)象 198
11.3 軟件配置管理 200
11.3.1 配置管理的基本概念 200
11.3.2 配置管理員的職責 203
11.3.3 配置管理工具VSS的工作原理 203
11.4 軟件質量保證 205
11.4.1 軟件質量保證的基本概念 205
11.4.2 軟件質量保證文檔 208
11.5 軟件項目管理 209
11.5.1 項目與項目管理的定義 209
11.5.2 項目經(jīng)理的7項職責和10項工作程序 209
11.5.3 項目經(jīng)理對程序員的8項要求 211
11.5.4 從大學生到項目經(jīng)理 213
11.5.5 軟件企業(yè)人才管理策略 214
11.5.6 軟件企業(yè)架構及工作流 216
本章小結 218
思考題 219
參考文獻 220
后 記 221
參考文獻 222