本書對(duì)軟件工程的基本理論進(jìn)行系統(tǒng)的介紹,并且用一個(gè)具體的實(shí)例貫穿全書,對(duì)具體知識(shí)點(diǎn)也配有豐富的例題,這種理論與實(shí)踐相結(jié)合的方式極大地方便了讀者對(duì)抽象、枯燥的軟件工程理論的理解和掌握。
本書共分11章,按照軟件生命周期的流程組織各章內(nèi)容,同時(shí)覆蓋了結(jié)構(gòu)化開發(fā)方法和面向?qū)ο箝_發(fā)方法,具體章節(jié)內(nèi)容包括軟件工程概述、可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、維護(hù)、軟件項(xiàng)目管理、面向?qū)ο蠓椒ㄅcUML建模以及面向?qū)ο蠓治雠c設(shè)計(jì)等。
本書可以作為高等院校軟件工程課程的教材,也可以作為從事軟件開發(fā)與測(cè)試工作以及其他相關(guān)工程技術(shù)工作的人員的參考書。
本書對(duì)軟件工程的基本理論進(jìn)行了系統(tǒng)的介紹,并且用一個(gè)具體的實(shí)例貫穿全書,對(duì)具體知識(shí)點(diǎn)也配有豐富的例題,這種理論與實(shí)踐相結(jié)合的方式極大地方便了讀者對(duì)抽象、枯燥的軟件工程理論的理解和掌握。
目錄
第1章軟件工程概述1
1.1軟件1
1.1.1軟件的定義1
1.1.2軟件的特點(diǎn)2
1.1.3軟件的分類2
1.2軟件危機(jī)與軟件工程5
1.2.1軟件危機(jī)5
1.2.2軟件工程6
1.2.3軟件工程的基本內(nèi)容7
1.2.4軟件工程的基本原則7
1.3軟件生命周期與軟件開發(fā)模型8
1.3.1軟件生命周期8
1.3.2軟件開發(fā)模型9
1.4軟件開發(fā)方法17
1.4.1結(jié)構(gòu)化開發(fā)方法17
1.4.2面向?qū)ο箝_發(fā)方法20
1.5CASE工具與環(huán)境22
1.5.1Sybase PowerDesigner22
1.5.2Rational Rose23
1.5.3Microsoft Visio24
1.6軟件工程的演變與發(fā)展24
1.6.1軟件發(fā)展的新階段和新問題24
1.6.2軟件工程的發(fā)展25
小結(jié)25
習(xí)題26\軟\件\工\程\理\論\與\實(shí)\踐\(第2版)\/目錄/ 第2章可行性研究27
2.1可行性研究的含義27
2.2可行性研究的任務(wù)和步驟28
2.2.1可行性研究的任務(wù)28
2.2.2可行性研究的步驟29
2.3可行性研究的要素31
2.3.1經(jīng)濟(jì)可行性31
2.3.2技術(shù)可行性31
2.3.3社會(huì)環(huán)境可行性32
2.4成本/效益分析32
2.4.1成本估計(jì)32
2.4.2費(fèi)用估計(jì)33
2.4.3度量效益的方法34
2.5方案選擇與決策35
2.6可行性分析實(shí)例《學(xué)生教材購(gòu)銷系統(tǒng)》可行性
研究報(bào)告36
小結(jié)45
習(xí)題45
第3章需求分析47
3.1需求分析的基本概念47
3.1.1軟件需求的定義和特點(diǎn) 47
3.1.2需求分析的目標(biāo)和任務(wù)48
3.1.3需求分析的原則50
3.2需求獲取的方法50
3.2.1用戶訪談50
3.2.2問卷調(diào)查50
3.2.3專題討論會(huì)51
3.2.4快速建立軟件原型52
3.3需求建模方法53
3.3.1數(shù)據(jù)流圖53
3.3.2數(shù)據(jù)字典57
3.3.3層次方框圖60
3.3.4Warnier圖61
3.3.5ER圖61
3.3.6狀態(tài)轉(zhuǎn)換圖64
3.4需求驗(yàn)證65
3.4.1需求驗(yàn)證的內(nèi)容66
3.4.2需求驗(yàn)證的方法67
3.5需求分析實(shí)例《學(xué)生教材購(gòu)銷系統(tǒng)》需求規(guī)格
說明書67
3.5.1《學(xué)生教材購(gòu)銷系統(tǒng)》非功能性需求68
3.5.2《學(xué)生教材購(gòu)銷系統(tǒng)》功能性需求77
小結(jié)86
習(xí)題86
第4章概要設(shè)計(jì)87
4.1概要設(shè)計(jì)概述87
4.2概要設(shè)計(jì)的主要內(nèi)容88
4.2.1概要設(shè)計(jì)的任務(wù)和過程88
4.2.2軟件體系結(jié)構(gòu)設(shè)計(jì)89
4.2.3數(shù)據(jù)庫(kù)設(shè)計(jì)94
4.3概要設(shè)計(jì)的原則98
4.3.1模塊化98
4.3.2耦合99
4.3.3內(nèi)聚101
4.3.4啟發(fā)規(guī)則103
4.3.5面向?qū)ο笤O(shè)計(jì)模式103
4.4概要設(shè)計(jì)的工具104
4.4.1層次方框圖104
4.4.2IPO圖104
4.4.3HIPO圖105
4.5概要設(shè)計(jì)實(shí)例《學(xué)生教材購(gòu)銷系統(tǒng)》概要設(shè)計(jì)
說明書105
小結(jié)113
習(xí)題114
第5章詳細(xì)設(shè)計(jì)116
5.1詳細(xì)設(shè)計(jì)的內(nèi)容與原則116
5.1.1詳細(xì)設(shè)計(jì)的內(nèi)容116
5.1.2詳細(xì)設(shè)計(jì)的原則117
5.2數(shù)據(jù)代碼設(shè)計(jì)的工具117
5.2.1程序流程圖118
5.2.2NS圖119
5.2.3PAD圖120
5.2.4PDL語言122
5.2.5判定表和判定樹123
5.2.6詳細(xì)設(shè)計(jì)工具的選擇125
5.3人機(jī)界面設(shè)計(jì)125
5.4程序結(jié)構(gòu)復(fù)雜性的定量度量127
5.4.1McCabe方法128
5.4.2Halstead方法130
5.5詳細(xì)設(shè)計(jì)實(shí)例《學(xué)生教材購(gòu)銷系統(tǒng)》詳細(xì)設(shè)計(jì)
說明書130
小結(jié)140
習(xí)題140
第6章編碼143
6.1程序設(shè)計(jì)語言143
6.1.1程序設(shè)計(jì)語言的分類143
6.1.2程序設(shè)計(jì)語言的特點(diǎn)146
6.1.3程序設(shè)計(jì)語言的選擇148
6.2編程風(fēng)格150
6.2.1良好編程風(fēng)格的意義150
6.2.2編程風(fēng)格的內(nèi)容151
6.3程序效率156
6.3.1程序效率準(zhǔn)則156
6.3.2算法對(duì)效率的影響157
6.4編程實(shí)例分析《學(xué)生教材購(gòu)銷系統(tǒng)》編碼規(guī)范說明157
小結(jié)170
習(xí)題170
第7章測(cè)試172
7.1軟件測(cè)試概述172
7.1.1軟件測(cè)試的定義172
7.1.2軟件測(cè)試的對(duì)象173
7.1.3軟件測(cè)試的準(zhǔn)則173
7.1.4軟件測(cè)試的方法174
7.2軟件測(cè)試過程175
7.2.1單元測(cè)試175
7.2.2集成測(cè)試177
7.2.3確認(rèn)測(cè)試179
7.3白盒測(cè)試180
7.4黑盒測(cè)試184
7.5調(diào)試過程、技術(shù)與原則187
7.5.1調(diào)試過程187
7.5.2調(diào)試技術(shù)188
7.5.3調(diào)試原則189
7.6測(cè)試實(shí)例《學(xué)生教材購(gòu)銷系統(tǒng)》測(cè)試報(bào)告190
小結(jié)195
習(xí)題195
第8章維護(hù)197
8.1軟件維護(hù)概述197
8.1.1軟件維護(hù)的分類197
8.1.2軟件維護(hù)的特點(diǎn)198
8.2維護(hù)任務(wù)的實(shí)施199
8.2.1維護(hù)組織200
8.2.2維護(hù)報(bào)告200
8.2.3維護(hù)過程201
8.3軟件的可維護(hù)性201
8.3.1軟件可維護(hù)性的定義201
8.3.2影響軟件可維護(hù)性的因素201
8.3.3提高軟件可維護(hù)性的方法202
8.4軟件維護(hù)的副作用204
8.4.1修改代碼的副作用204
8.4.2修改數(shù)據(jù)的副作用205
8.4.3修改文檔的副作用205
8.5軟件再工程205
8.6維護(hù)報(bào)告實(shí)例《學(xué)生教材購(gòu)銷系統(tǒng)》軟件維護(hù)
報(bào)告206
小結(jié)211
習(xí)題211
第9章軟件項(xiàng)目管理212
9.1軟件項(xiàng)目管理概述212
9.2軟件進(jìn)度計(jì)劃管理214
9.2.1進(jìn)度計(jì)劃管理概述214
9.2.2進(jìn)度計(jì)劃編制方法216
9.2.3進(jìn)度計(jì)劃控制218
9.3軟件質(zhì)量管理219
9.3.1軟件質(zhì)量219
9.3.2軟件質(zhì)量保證措施222
9.3.3能力成熟度模型223
9.4軟件成本管理227
9.4.1軟件成本分析227
9.4.2軟件成本估算228
9.4.3軟件成本控制229
9.5配置管理232
9.5.1配置管理概述232
9.5.2配置管理的組織232
9.5.3配置管理的主要活動(dòng)235
9.6人力資源管理238
9.6.1軟件項(xiàng)目人力資源的特征238
9.6.2人力資源管理的主要內(nèi)容238
9.6.3人員的組織與分工239
9.7項(xiàng)目管理實(shí)例《學(xué)生教材購(gòu)銷系統(tǒng)》項(xiàng)目管理
方案242
小結(jié)251
習(xí)題251
第10章面向?qū)ο蠓椒ㄅcUML建模254
10.1面向?qū)ο蠓椒ǜ攀?54
10.1.1面向?qū)ο蠓椒ǖ暮x254
10.1.2面向?qū)ο蟮能浖こ?56
10.1.3面向?qū)ο蟮幕靖拍詈吞卣?60
10.2統(tǒng)一建模語言267
10.2.1模型的建立267
10.2.2UML的特點(diǎn)與應(yīng)用272
10.2.3UML提供的常用圖274
10.3用例圖275
10.4狀態(tài)圖277
10.5活動(dòng)圖278
10.6類圖280
10.7對(duì)象圖286
10.8順序圖286
10.9協(xié)作圖287
10.10組件圖288
10.11部署圖288
10.12使用PowerDesigner進(jìn)行建模289
10.12.1PowerDesigner的安裝289
10.12.2PowerDesigner的功能290
10.12.3PowerDesigner的運(yùn)行界面292
小結(jié)293
習(xí)題294
第11章面向?qū)ο蠓治雠c設(shè)計(jì)296
11.1面向?qū)ο蠓治?96
11.1.1面向?qū)ο蠓治龅倪^程與原則296
11.1.2確定對(duì)象與類301
11.1.3確定屬性303
11.1.4定義服務(wù)304
11.1.5對(duì)象間的通信308
11.2面向?qū)ο笤O(shè)計(jì)概述314
11.2.1面向?qū)ο笤O(shè)計(jì)的概念314
11.2.2面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則及啟發(fā)規(guī)則315
11.2.3面向?qū)ο笤O(shè)計(jì)的方法317
11.3使用PowerDesigner畫學(xué)生教材購(gòu)銷系統(tǒng)的9種圖319
11.3.1學(xué)生教材購(gòu)銷系統(tǒng)的用例圖319
11.3.2學(xué)生教材購(gòu)銷系統(tǒng)的類圖320
11.3.3學(xué)生教材購(gòu)銷系統(tǒng)的對(duì)象圖321
11.3.4學(xué)生教材購(gòu)銷系統(tǒng)的狀態(tài)圖321
11.3.5學(xué)生教材購(gòu)銷系統(tǒng)的活動(dòng)圖323
11.3.6學(xué)生教材購(gòu)銷系統(tǒng)的順序圖323
11.3.7學(xué)生教材購(gòu)銷系統(tǒng)的協(xié)作圖325
11.3.8學(xué)生教材購(gòu)銷系統(tǒng)的組件圖325
11.3.9學(xué)生教材購(gòu)銷系統(tǒng)的部署圖325
小結(jié)326
習(xí)題326
參考文獻(xiàn)328