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