軟件工程
彭蓉,梁鵬,曹健,範國祥,王良,譚鑫,楊溢龍,何璐璐,王翀,王健,李曉劍,辛奇
相關主題
商品描述
"本書是一部全面介紹軟件工程相關理論、方法、技術及應用案例的教材,旨在幫助讀者深刻理解軟件工程的基本概念和原理。本書系統地介紹了軟件工程的各個方面,從軟件的定義、構成和特點開始,深入淺出地闡述了軟件生存周期全過程涉及的軟件開發方法、軟件開發各階段以及軟件項目管理等軟件工程關鍵主題。 通過對這些關鍵主題的深入和系統講解,學生將建立起對軟件工程全景的認識,同時對軟件工程領域的前沿技術有清晰的瞭解。本書將為學生提供堅實的軟件工程基礎,使他們在未來的職業生涯中能夠應對各種挑戰。 本書不僅適用於電腦和軟件工程相關專業的本科生和研究生,還可作為從事軟件開發和軟件項目管理工作的從業人員的參考書。"
目錄大綱
目錄
第1篇基礎篇
第1章軟件31.1軟件的概念4
1.1.1軟件的概念、構成和特點4
1.1.2軟件的分類5
1.2軟件生存周期8
1.2.1軟件生存周期的概念8
1.2.2軟件生存周期的各個階段9
1.3軟件質量12
1.3.1軟件質量的概念12
1.3.2軟件質量模型13
1.3.3案例分析15
1.4軟件質量保證技術16
1.4.1軟件質量保證的思想16
1.4.2軟件質量保證方法17
1.5本章小結22
1.6綜合習題23
1.7引申閱讀23
1.8參考文獻24
第2章軟件工程概述25
2.1軟件工程的概念25
2.1.1軟件工程的概念和思想25
2.1.2軟件工程發展歷史27
2.1.3軟件工程的目標和原則31
2.2軟件危機33
2.2.1軟件開發的特殊性33
2.2.2軟件危機的表現和根源36
2.3電腦輔助軟件工程及工具37
2.3.1電腦輔助軟件工程的概念37
2.3.2電腦輔助軟件工程的工具38
2.4軟件從業人員職業道德規範41
2.4.1軟件從業人員需遵守的法律和法規41
2.4.2軟件從業人員需遵守的職業道德42
2.5本章小結44
2.6綜合習題44
2.7引申閱讀44
2.8參考文獻44
第3章軟件過程47
3.1軟件過程的概念47
3.1.1軟件過程的概念和模型47
3.1.2軟件過程框架及活動49
3.2經典的軟件過程模型52
3.2.1瀑布模型53
3.2.2V模型55
3.2.3原型模型55
3.2.4增量模型57
3.2.5迭代模型58
3.2.6螺旋模型60
3.2.7演化模型61
3.2.8統一過程模型62
3.3軟件過程模型的選用64
3.3.1軟件過程模型選擇示例65
3.3.2評估軟件過程模型的適用性67
3.3.3特定類型的軟件開發適用的過程模型68
3.3.4軟件過程模型的選擇建議70
3.4本章小結71
3.5綜合習題71
3.6基礎實踐71
3.7引申閱讀72
3.8參考文獻72
第4章軟件開發方法73
4.1結構化開發方法73
4.1.1結構化開發方法的概念和思想74
4.1.2結構化開發方法的建模語言75
4.1.3結構化軟件開發的過程及策略86
4.2面向對象開發方法88
4.2.1面向對象開發方法的發展及演化88
4.2.2面向對象開發方法的概念和思想89
4.2.3面向對象開發方法的建模語言UML92
4.2.4面向對象分析和設計的過程及策略99
4.3敏捷開發方法100
4.3.1敏捷開發方法的理念、思想和原則100
4.3.2典型的敏捷開發方法103
4.4本章小結109
4.5綜合習題109
4.6基礎實踐110
4.7引申閱讀112
4.8參考文獻113
第2篇軟件開發階段篇
第5章需求工程1175.1需求工程概述117
5.1.1相關定義118
5.1.2需求分類120
5.1.3需求工程過程122
5.1.4代表性的需求工程方法125
5.2需求獲取126
5.2.1需求獲取的任務和原則126
5.2.2需求獲取的典型方法129
5.2.3需求獲取的輔助方法134
5.2.4需求獲取中的智能化輔助技術136
5.2.5需求獲取工具136
5.3需求建模與分析137
5.3.1需求建模與分析概述137
5.3.2需求建模與分析的典型方法138
5.3.3需求分析輔助方法153
5.3.4需求建模與分析中的智能化輔助技術158
5.3.5需求建模與分析工具159
5.4需求規約159
5.4.1需求規約的結構和內容160
5.4.2需求規約的描述方法165
5.4.3需求、需求規約與需求規格說明書167
5.5需求確認和驗證168
5.5.1需求確認和驗證概述168
5.5.2需求確認168
5.5.3需求驗證172
5.6軟件需求管理173
5.6.1需求管理概述173
5.6.2需求跟蹤174
5.6.3需求基線與變更管理177
5.6.4需求管理工具179
5.7本章小結183
5.8綜合習題183
5.9基礎實踐183
5.10引申閱讀187
5.11參考文獻188
第6章軟件設計189
6.1軟件設計概念189
6.1.1軟件設計的概念和思想189
6.1.2軟件設計的目標、過程和原則191
6.1.3軟件設計的質量要求192
6.1.4軟件設計的質量要求說明193
6.2軟件體系結構及模式195
6.2.1軟件體系結構的概念195
6.2.2軟件體系結構模式的概念197
6.2.3軟件體系結構模式的描述方法197
6.2.4典型軟件體系結構模式及其特點198
6.3軟件體系結構設計212
6.3.1軟件體系結構設計的目的212
6.3.2軟件體系結構設計過程213
6.3.3軟件體系結構設計歸檔215
6.4用戶界面設計216
6.4.1用戶界面的組成216
6.4.2用戶界面設計的任務和原則218
6.4.3用戶界面設計方法222
6.4.4用戶界面設計評估226
6.5軟件詳細設計228
6.5.1詳細設計概述228
6.5.2用例設計229
6.5.3構建初始設計類圖232
6.5.4類設計233
6.5.5類的精化244
6.5.6數據設計246
6.5.7軟件設計規約248
6.5.8不同類型軟件的軟件詳細設計250
6.6本章小結254
6.7綜合習題254
6.8基礎實踐255
6.9引申閱讀256
6.10參考文獻257
第7章編碼實現259
7.1編碼規範及代碼風格259
7.1.1程序代碼的質量要求259
7.1.2程序代碼的編碼規範262
7.1.3程序代碼風格265
7.1.4代碼審查及工具267
7.2代碼重用270
7.2.1代碼重用的概念270
7.2.2代碼重用的方式和方法272
7.3程序調試278
7.3.1程序調試的概念278
7.3.2程序調試的技術和工具282
7.4低代碼編程285
7.4.1低代碼的發展285
7.4.2低代碼的概念285
7.4.3低代碼的種類286
7.4.4低代碼的工作原理287
7.4.5低代碼平臺舉例288
7.5本章小結289
7.6綜合習題290
7.7基礎實踐291
7.8引申閱讀291
7.9參考文獻292
第8章軟件測試293
8.1軟件錯誤、缺陷和故障294
8.1.1軟件錯誤、缺陷和故障的概念294
8.1.2軟件錯誤、缺陷和故障的差異性294
8.2軟件測試概念和思想295
8.2.1軟件測試的概念296
8.2.2軟件測試的思想和原理296
8.2.3軟件測試的目標和準則298
8.3軟件測試用例300
8.3.1軟件測試用例的概念301
8.3.2軟件測試用例的構成及表示301
8.4軟件測試過程和策略303
8.4.1軟件測試過程303
8.4.2軟件測試的實施策略306
8.5白盒測試技術309
8.5.1白盒測試的概念和思想309
8.5.2典型的白盒測試技術310
8.6黑盒測試技術313
8.6.1黑盒測試的概念和思想313
8.6.2典型的黑盒測試技術314
8.7灰盒測試技術319
8.7.1灰盒測試的概念和思想319
8.7.2典型的灰盒測試技術321
8.8軟件測試前沿技術322
8.8.1測試用例自動生成方法322
8.8.2測試預言330
8.8.3智能化測試技術331
8.9軟件測試工具333
8.10本章小結334
8.11綜合習題335
8.12基礎實踐336
8.13引申閱讀338
8.14參考文獻338
第9章軟件部署與維護339
9.1軟件部署方法340
9.1.1軟件部署的概念和任務340
9.1.2軟件部署的方式343
9.1.3軟件部署的方法346
9.2軟件維護概念和形式353
9.2.1軟件維護與可維護性的概念354
9.2.2軟件維護的形式和類別359
9.2.3軟件維護的副作用及影響軟件可維護性的因素363
9.3軟件維護過程和技術364
9.3.1軟件維護的任務、過程和原則365
9.3.2軟件維護的實施策略369
9.3.3軟件維護技術373
9.4面向幾類關鍵軟件在部署與維護方面的特點378
9.4.1關鍵基礎軟件378
9.4.2大型工業軟件379
9.4.3嵌入式軟件381
9.4.4新型平臺軟件383
9.4.5行業應用軟件384
9.5本章小結385
9.6綜合習題386
9.7基礎實踐387
9.8引申閱讀387
9.9參考文獻389
第3篇管理篇
第10章軟件項目管理39310.1項目管理的基本概念393
10.1.1項目管理的基本思想393
10.1.2項目管理現狀396
10.1.3軟件項目管理規範398
10.2軟件項目估算和計劃399
10.2.1軟件規模估算400
10.2.2軟件項目工作量估算方法405
10.2.3軟件項目計劃409
10.3軟件項目監控420
10.3.1軟件項目監控的概念420
10.3.2軟件項目跟蹤的方法與工具420
10.3.3軟件項目評審423
10.3.4軟件項目計劃調整424
10.4軟件項目風險管理425
10.4.1軟件項目風險的概念和類別425
10.4.2軟件項目風險管理的方法426
10.5軟件項目質量保證429
10.5.1軟件項目中涉及的質量管理內容429
10.5.2軟件項目中質量保證的方法431
10.6軟件配置管理433
10.6.1軟件配置管理、配置項和基線概念433
10.6.2軟件配置管理的方法434
10.7項目管理的工具437
10.7.1通用項目管理工具437
10.7.2軟件項目管理工具438
10.7.3其他支持軟件項目管理的工具438
10.8本章小結439
10.9綜合習題440
10.10基礎實踐440
10.11引申閱讀440
10.12參考文獻441