實(shí)用軟件工程(第4版)
第
1
章章
目 錄 STYLEREF "標(biāo)題 1,章,章名,實(shí)例名稱" \* MERGEFORMAT
第1章 概述 1
1.1 軟件工程的產(chǎn)生 1
1.1.1 軟件工程發(fā)展史 1
1.1.2 軟件危機(jī) 2
1.2 軟件工程學(xué) 4
1.2.1 什么是軟件 4
1.2.2 什么是軟件工程 4
1.2.3 軟件工程學(xué)的內(nèi)容 4
1.2.4 軟件過程 7
1.2.5 軟件工程的基本原理 7
1.3 軟件生命周期 7
1.3.1 軟件生命周期的定義 7
1.3.2 軟件生命周期劃分階段的原則 8
1.3.3 軟件生命周期各階段的任務(wù) 8
1.4 軟件開發(fā)模型 9
1.4.1 瀑布模型 9
1.4.2 快速原型模型 11
1.4.3 增量模型 12
1.4.4 噴泉模型 13
1.4.5 螺旋模型 14
1.4.6 統(tǒng)一過程 15
小結(jié) 16
習(xí)題1 17
第2章 軟件計(jì)劃 19
2.1 軟件問題定義及可行性研究 19
2.1.1 軟件問題定義 19
2.1.2 可行性研究 20
2.1.3 制訂項(xiàng)目開發(fā)計(jì)劃 21
2.2 需求分析的任務(wù) 22
2.2.1 確定目標(biāo)系統(tǒng)的具體要求 22
2.2.2 建立目標(biāo)系統(tǒng)的邏輯模型 24
2.2.3 軟件需求規(guī)格說明 24
2.2.4 修正系統(tǒng)開發(fā)計(jì)劃 25
2.2.5 制訂初步的系統(tǒng)測(cè)試計(jì)劃 25
2.2.6 編寫初步的用戶手冊(cè) 25
2.2.7 編寫數(shù)據(jù)要求說明書 26
2.3 需求分析步驟 27
2.3.1 進(jìn)行調(diào)查研究 27
2.3.2 分析和描述系統(tǒng)的邏輯模型 27
2.3.3 復(fù)審 28
2.4 實(shí)體-關(guān)系圖 28
2.4.1 實(shí)體 29
2.4.2 屬性 29
2.4.3 關(guān)系 29
2.5 數(shù)據(jù)流圖 30
2.5.1 數(shù)據(jù)流圖的基本符號(hào) 30
2.5.2 數(shù)據(jù)流圖的附加符號(hào) 31
2.5.3 畫數(shù)據(jù)流圖的步驟 32
2.5.4 幾點(diǎn)注意事項(xiàng) 32
2.6 狀態(tài)轉(zhuǎn)換圖 35
2.7 數(shù)據(jù)字典 36
2.7.1 數(shù)據(jù)字典的內(nèi)容 36
2.7.2 數(shù)據(jù)字典使用的符號(hào) 37
2.7.3 數(shù)據(jù)字典與圖形工具 38
2.8 需求分析的其他圖形工具 38
2.8.1 層次圖 39
2.8.2 Warnier圖 39
2.8.3 IPO圖 40
2.9 軟件計(jì)劃階段文檔 40
2.9.1 軟件計(jì)劃階段文檔的編寫步驟 40
2.9.2 軟件計(jì)劃實(shí)例 41
小結(jié) 46
習(xí)題2 46
第3章 結(jié)構(gòu)化設(shè)計(jì) 48
3.1 軟件設(shè)計(jì)步驟 48
3.1.1 概要設(shè)計(jì)步驟 48
3.1.2 詳細(xì)設(shè)計(jì)的基本任務(wù) 50
3.2 軟件結(jié)構(gòu)設(shè)計(jì) 51
3.2.1 軟件結(jié)構(gòu)設(shè)計(jì)的基本原理 51
3.2.2 模塊化 53
3.2.3 模塊獨(dú)立性 54
3.2.4 模塊設(shè)計(jì)啟發(fā)規(guī)則 58
3.3 軟件結(jié)構(gòu)設(shè)計(jì)的圖形工具 59
3.3.1 層次圖(或HIPO圖) 59
3.3.2 結(jié)構(gòu)圖 60
3.4 面向數(shù)據(jù)流的設(shè)計(jì)方法 61
3.5 過程設(shè)計(jì)工具 63
3.5.1 流程圖 63
3.5.2 盒圖 67
3.5.3 PAD圖 69
3.5.4 判定表 70
3.5.5 判定樹 71
3.5.6 過程設(shè)計(jì)語言 71
3.6 系統(tǒng)人機(jī)界面設(shè)計(jì) 72
3.6.1 人機(jī)界面設(shè)計(jì)問題 72
3.6.2 人機(jī)界面設(shè)計(jì)過程 73
3.6.3 評(píng)估界面設(shè)計(jì)的標(biāo)準(zhǔn) 73
3.6.4 界面設(shè)計(jì)指南 73
3.7 數(shù)據(jù)代碼設(shè)計(jì) 75
3.7.1 代碼設(shè)計(jì)的目的 75
3.7.2 代碼設(shè)計(jì)的原則 75
3.7.3 代碼種類 76
3.7.4 代碼設(shè)計(jì)方法 78
3.8 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 78
3.9 軟件設(shè)計(jì)文檔 82
3.9.1 概要設(shè)計(jì)說明書 82
3.9.2 數(shù)據(jù)庫設(shè)計(jì)說明書 83
3.9.3 詳細(xì)設(shè)計(jì)說明書 84
3.9.4 操作手冊(cè)編寫提示 85
小結(jié) 86
習(xí)題3 86
第4章 軟件編碼和軟件測(cè)試 89
4.1 結(jié)構(gòu)化程序設(shè)計(jì) 89
4.1.1 程序設(shè)計(jì)語言的選擇 89
4.1.2 程序設(shè)計(jì)風(fēng)格 91
4.2 軟件測(cè)試目標(biāo) 93
4.3 軟件測(cè)試方法 94
4.3.1 靜態(tài)分析與動(dòng)態(tài)測(cè)試 94
4.3.2 黑盒法與白盒法 94
4.4 軟件測(cè)試步驟 95
4.4.1 模塊測(cè)試 95
4.4.2 集成測(cè)試 95
4.4.3 程序?qū)彶闀?huì)和人工運(yùn)行 96
4.4.4 確認(rèn)測(cè)試 97
4.4.5 平行運(yùn)行 97
4.5 設(shè)計(jì)軟件測(cè)試方案 98
4.5.1 等價(jià)類劃分法 98
4.5.2 邊界值分析法 99
4.5.3 錯(cuò)誤推測(cè)法 99
4.5.4 邏輯覆蓋法 99
4.5.5 程序環(huán)形復(fù)雜度的度量 102
4.5.6 因果圖法 105
4.5.7 用基本路徑覆蓋法設(shè)計(jì)測(cè)試用例 107
4.6 軟件測(cè)試原則和策略 110
4.6.1 軟件測(cè)試原則 110
4.6.2 實(shí)用測(cè)試策略 111
4.7 軟件調(diào)試、驗(yàn)證與確認(rèn) 111
4.7.1 軟件調(diào)試 111
4.7.2 軟件驗(yàn)證 112
4.7.3 軟件確認(rèn) 112
4.8 軟件測(cè)試文檔 113
小結(jié) 114
習(xí)題4 114
第5章 軟件維護(hù) 118
5.1 軟件維護(hù)的種類、過程和副作用 118
5.1.1 軟件維護(hù)的種類 118
5.1.2 軟件維護(hù)的特點(diǎn) 119
5.1.3 軟件維護(hù)的過程 120
5.1.4 軟件維護(hù)的副作用 123
5.2 軟件的可維護(hù)性 124
5.2.1 決定可維護(hù)性的因素 124
5.2.2 可維護(hù)性的度量 124
5.2.3 如何提高軟件的可維護(hù)性 125
小結(jié) 126
習(xí)題5 126
第6章 面向?qū)ο蠓椒▽W(xué)與UML 128
6.1 面向?qū)ο蠓椒ǜ攀?128
6.1.1 面向?qū)ο蠓椒▽W(xué)的要素和優(yōu)點(diǎn) 129
6.1.2 面向?qū)ο蠓椒ǖ母拍?130
6.2 UML概述 133
6.2.1 UML的發(fā)展 133
6.2.2 UML的內(nèi)容 133
6.3 UML圖 135
6.3.1 用例圖 135
6.3.2 類圖和包 137
6.3.3 對(duì)象圖 141
6.3.4 狀態(tài)圖 142
6.3.5 順序圖 143
6.3.6 活動(dòng)圖 144
6.3.7 協(xié)作圖 144
6.3.8 構(gòu)件圖 145
6.3.9 部署圖 145
6.4 UML的應(yīng)用 147
6.4.1 UML模型 147
6.4.2 UML視圖 148
6.4.3 UML使用準(zhǔn)則 150
6.4.4 UML的擴(kuò)展機(jī)制 151
6.4.5 UML的應(yīng)用領(lǐng)域 152
小結(jié) 153
習(xí)題6 153
第7章 面向?qū)ο筌浖O(shè)計(jì)與實(shí)現(xiàn) 155
7.1 面向?qū)ο蠓治?155
7.1.1 面向?qū)ο蠓治鲞^程 155
7.1.2 面向?qū)ο蠓治鲈瓌t 156
7.2 建立對(duì)象模型 157
7.2.1 建立對(duì)象模型的基本方法 157
7.2.2 確定對(duì)象和類 158
7.2.3 確定類的相互關(guān)系 159
7.2.4 劃分主題 162
7.3 建立動(dòng)態(tài)模型 164
7.4 建立功能模型 167
7.5 面向?qū)ο笤O(shè)計(jì) 169
7.5.1 系統(tǒng)設(shè)計(jì) 169
7.5.2 對(duì)象設(shè)計(jì) 172
7.5.3 面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則 173
7.5.4 面向?qū)ο笤O(shè)計(jì)的啟發(fā)規(guī)則 174
7.6 面向?qū)ο笙到y(tǒng)的實(shí)現(xiàn) 174
7.6.1 選擇程序設(shè)計(jì)語言 174
7.6.2 面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格 175
7.6.3 面向?qū)ο髮?shí)現(xiàn)的人員分工 177
7.7 面向?qū)ο蟮臏y(cè)試 177
7.7.1 面向?qū)ο蟮臏y(cè)試策略 177
7.7.2 面向?qū)ο蟮臏y(cè)試步驟 179
7.8 面向?qū)ο蠓椒▽?shí)例 183
7.8.1 面向?qū)ο蠓治鰧?shí)例 183
7.8.2 面向?qū)ο蟮脑O(shè)計(jì)實(shí)例 188
小結(jié) 193
習(xí)題7 193
第8章 軟件工程技術(shù)的發(fā)展 196
8.1 CASE技術(shù) 196
8.2 軟件工具 198
8.2.1 軟件工具的功能 198
8.2.2 軟件工具的性能 199
8.2.3 軟件工具的分類 199
8.3 軟件開發(fā)環(huán)境 200
8.4 軟件重用 202
8.4.1 可重用的軟件成分 202
8.4.2 軟件重用過程模型 203
8.4.3 開發(fā)可重用的軟件構(gòu)件 204
8.4.4 分類和檢索軟件構(gòu)件 205
8.5 RUP 206
8.6 Rational Rose簡(jiǎn)介 208
8.6.1 Rational Rose 界面 210
8.6.2 Rational Rose模型的4個(gè)視圖 211
8.6.3 Rational Rose的使用 212
8.7 幾種軟件構(gòu)件模型比較 213
8.7.1 CORBA 213
8.7.2 COM+/DCOM 214
8.7.3 JavaBean 214
8.7.4 三種構(gòu)件模型的分析比較 216
8.7.5 軟件構(gòu)架技術(shù) 217
小結(jié) 218
習(xí)題8 218
第9章 軟件工程管理 219
9.1 軟件工程管理概述 219
9.2 軟件規(guī)模估算 220
9.2.1 軟件開發(fā)成本估算方法 220
9.2.2 代碼行技術(shù) 221
9.2.3 功能點(diǎn)技術(shù) 222
9.2.4 COCOMOⅡ模型 223
9.3 進(jìn)度計(jì)劃 225
9.3.1 Gantt圖 225
9.3.2 工程網(wǎng)絡(luò)技術(shù) 226
9.4 人員組織 228
9.5 軟件配置管理 231
9.6 軟件質(zhì)量保證 233
9.6.1 軟件質(zhì)量的特性 233
9.6.2 軟件質(zhì)量保證措施 234
9.7 軟件開發(fā)風(fēng)險(xiǎn)管理 235
9.7.1 軟件開發(fā)風(fēng)險(xiǎn)的分類 236
9.7.2 軟件開發(fā)風(fēng)險(xiǎn)的識(shí)別 237
9.7.3 軟件開發(fā)的風(fēng)險(xiǎn)預(yù)測(cè) 237
9.7.4 處理軟件開發(fā)風(fēng)險(xiǎn)的策略 239
9.8 軟件工程標(biāo)準(zhǔn)與軟件文檔 240
9.8.1 軟件工程標(biāo)準(zhǔn) 240
9.8.2 軟件文檔的編寫 242
小結(jié) 243
習(xí)題9 243
第10章 實(shí)例——軟件開發(fā)實(shí)例與軟件工程實(shí)踐環(huán)節(jié) 245
10.1 問題定義 245
10.2 可行性研究 245
10.2.1 技術(shù)可行性 246
10.2.2 經(jīng)濟(jì)可行性 246
10.3 需求分析 246
10.4 概要設(shè)計(jì) 248
10.4.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì) 248
10.4.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 248
10.4.3 設(shè)計(jì)測(cè)試方案 249
10.5 詳細(xì)設(shè)計(jì) 250
10.5.1 系統(tǒng)界面設(shè)計(jì) 250
10.5.2 考前處理 251
10.5.3 輸入設(shè)計(jì) 251
10.5.4 成績(jī)處理 252
10.5.5 錄用過程設(shè)計(jì) 252
10.5.6 輸出設(shè)計(jì) 253
10.5.7 測(cè)試用例設(shè)計(jì) 253
10.6 程序設(shè)計(jì)提示 255
10.7 軟件測(cè)試 256
10.8 軟件工程實(shí)踐環(huán)節(jié) 256
10.8.1 軟件工程課程設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)書(供參考) 257
10.8.2 職工工資管理系統(tǒng) 258
10.8.3 某校醫(yī)療費(fèi)管理系統(tǒng) 258
10.8.4 學(xué)生成績(jī)管理系統(tǒng) 259
10.8.5 患者監(jiān)護(hù)系統(tǒng) 259
10.8.6 銀行儲(chǔ)蓄管理系統(tǒng) 260
10.8.7 旅館客房管理 260
10.8.8 辦公室管理系統(tǒng) 260
10.8.9 商品銷售管理系統(tǒng) 261
習(xí)題10 262
附錄A 部分習(xí)題解答 263
參考文獻(xiàn) 276_x00C_