軟體工程(第2版)(錢樂秋、趙文耘、牛軍鈺編著書籍)

軟體工程(第2版)(錢樂秋、趙文耘、牛軍鈺編著書籍)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《軟體工程(第2版)》是由錢樂秋、趙文耘、牛軍鈺編著,清華大學出版社2013年8月出版的普通高等教育“十一五”規劃教材、21世紀大學本科計算機專業系列教材。該書可作為高等學校計算機科學與技術學科、軟體工程學科各專業的教材,也可作為軟體開發人員的參考書。

全書分為十六章,包括概論、系統工程、需求工程、設計工程、結構化分析與設計、面向數據結構的分析與設計、面向對象方法基礎、面向對象建模、基於構件的軟體開發、敏捷軟體開發、人機界面設計、程式設計語言和編碼、軟體測試、web工程、軟體維護與再工程、軟體項目管理。

基本介紹

  • 書名:軟體工程(第2版)
  • 作者:錢樂秋、趙文耘、牛軍鈺
  • ISBN:9787302328766
  • 類別:21世紀大學本科計算機專業系列教材等
  • 頁數:374
  • 出版社:清華大學出版社
  • 出版時間:2013年8月15日
  • 裝幀:平裝
  • 開本:16開
  • 字數:598千字
成書過程,修訂情況,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

修訂情況

隨著計算機科學技術和網路技術的飛速發展,計算機套用已滲透到科研、教育、生活、娛樂等各個方面,軟體工程也逐漸成為軟體產業和信息產業的支撐學科,為成功開發高質量軟體起到作用。
軟體工程是高等學校軟體工程學科和計算機科學與技術學科各專業的一門基礎課程,該書根據中國國內計算機教育和產業的現狀進行編寫。
《軟體工程(第2版)》是對2007年第1版教材主要作如下修改:①將原書1.5節“敏捷軟體開發”改成一章;②對原書中涉及國際標準和國家標準的內容進行更新,同時對(截至2013年)國際標準作簡單的介紹;③將原面向對象分析與設計拆成兩章(面向對象方法基礎,面向對象建模),並增加了一個實例;④對Web工程整章進行了改寫;⑤對全書一些不妥之處進行了修訂。
錢樂秋教授編寫了該書的第1、2、7、8、13章,並負責全書的統稿;趙文耘教授編寫了第5、6、9、16章;牛軍鈺副教授編寫了第3、4、11、12、14、15章;張剛編寫了第10章。

出版工作

2013年8月15日,《軟體工程(第2版)》由清華大學出版社出版。
出版工作人員
責任印製責任編輯
封面設計
責任校對
宋林
張瑞慶
常雪影
焦麗麗

內容簡介

《軟體工程(第2版)》系統地介紹了軟體工程的概念、原理、過程及主要方法,內容上覆蓋了ACM和IEEE(截至2013年)制定的Computing Curricula中有關軟體工程的主要知識點。該書在介紹軟體工程的基本概念和基本原理的基礎上,重點介紹軟體開發方法和技術,包括經典的和常用的方法,如結構化方法、面向數據結構方法和面向對象方法,以及一些軟體工程的新技術和新方法,如UML 2.0、基於構件的開發、敏捷軟體開發、Web工程、CMM和CMMI等。

教材目錄

第1章概論11.1計算機軟體1
9.3.1基於CBSD的套用系統分析和設計194
1.1.1軟體的發展1
9.3.2構件的鑑定、特化和組裝195
1.1.2軟體的特點2
9.4構件的管理196
1.1.3軟體的分類3
9.4.1構件的分類描述196
1.1.4軟體語言3
9.4.2構件庫管理系統197
1.2軟體工程5
9.5小結198
1.2.1軟體工程定義5
習題198
1.2.2軟體工程框架6
第10章敏捷軟體開發199
1.2.3軟體生存周期6
10.1敏捷軟體開發方法概述199
1.3軟體過程7
10.1.1敏捷宣言199
1.3.1軟體生存周期過程8
10.1.2精益思想201
1.3.2能力成熟度模型CMM11
10.1.3敏捷方法綜述202
1.3.3能力成熟度模型集成CMMI13
10.2Scrum方法203
1.4軟體過程模型16
10.2.1Scrum簡介203
1.4.1瀑布模型16
10.2.2Scrum團隊205
1.4.2演化模型17
10.2.3需求管理205
1.4.3增量模型18
10.2.4基於時間盒的疊代206
1.4.4原型模型18
10.2.5回顧會議209
1.4.5螺旋模型20
10.3極限編程方法210
1.4.6噴泉模型21
10.3.1極限編程簡介210
1.4.7基於構件的開發模型21
10.3.2價值觀和原則211
1.4.8形式化方法模型22
10.3.3實踐212
1.5CASE工具與環境23
10.4看板方法217
1.5.1軟體工具23
10.4.1看板方法簡介217
1.5.2軟體開發環境25
10.4.2看板方法的規則218
1.6小結26
10.4.3看板方法和Scrum的比較219
習題26第
10.5小結220
2章系統工程2.1基於計算機的系統27
習題220
2.2系統工程的任務28
第11章人機界面設計221
2.3可行性分析29
11.1人的因素221
2.3.1經濟可行性29
11.1.1人對感知過程的認識221
2.3.2技術可行性31
11.1.2用戶的技能和行為方式222
2.3.3法律可行性31
11.1.3人體測量學對設計的影響222
2.3.4方案的選擇和折衷31
11.2人機界面風格224
2.4小結32
11.3人機界面分析與建模227
習題32
11.3.1人機界面設計過程227
第3章需求工程33
11.3.2人機界面設計中涉及的模型228
3.1需求工程概述33
11.3.3任務分析的途徑與方法228
3.2需求獲取35
11.4界面設計活動229
3.2.1軟體需求35
11.4.1定義界面對象和動作229
3.2.2需求獲取方法與策略36
11.4.2設計問題230
3.3需求分析、協商與建模40
11.4.3黃金原則231
3.3.1需求分析原則40
11.5實現工具233
3.3.2信息域40
11.6設計評估233
3.3.3需求協商41
11.7小結235
3.3.4需求建模41
習題235
3.4需求規約與驗證42
第12章程式設計語言和編碼236
3.4.1需求規約的原則42
12.1程式設計語言236
3.4.2需求規約42
12.1.1程式設計語言的基本成分236
3.4.3需求驗證44
12.1.2程式設計語言的特性238
3.5需求管理44
12.1.3程式設計語言的分類239
3.6小結45
12.1.4程式設計語言的選擇240
習題45
12.2程式設計風格241
第4章設計工程46
12.2.1源程式文檔化241
4.1軟體設計工程概述46
12.2.2數據說明244
4.2軟體設計原則48
12.2.3語句結構244
4.2.1抽象與逐步求精49
12.2.4輸入和輸出246
4.2.2模組化49
12.3小結246
4.2.3信息隱藏50
習題246
4.2.4功能獨立51
第13章軟體測試247
4.3軟體體系結構設計53
13.1軟體測試基礎247
4.3.1體系結構發展過程53
13.1.1軟體測試的目的247
4.3.2軟體體系結構的風格54
13.1.2軟體測試的基本原則248
4.3.3評估可選的體系結構56
13.1.3白盒測試和黑盒測試249
4.4部件級設計技術57
13.2白盒測試249
4.4.1結構化程式設計方法58
13.2.1邏輯覆蓋測試249
4.4.2圖形表示法58
13.2.2邏輯表達式錯誤敏感的測試254
4.4.3判定表61
13.2.3基本路徑測試255
4.4.4設計性語言PDL62
13.2.4數據流測試257
4.5設計規約與設計評審63
13.2.5循環測試258
4.5.1設計規約63
13.3黑盒測試259
4.5.2設計評審64
13.3.1等價類劃分259
4.6小結65
13.3.2邊界值分析262
習題65
13.3.3比較測試263
第5章結構化分析與設計67
13.3.4錯誤猜測263
5.1結構化分析方法概述67
13.3.5因果圖263
5.2數據流圖69
13.4測試策略267
5.2.1數據流圖的圖形表示69
13.4.1V模型267
5.2.2分層數據流圖的畫法72
13.4.2單元測試268
5.3分層數據流圖的審查76
13.4.3集成測試269
5.3.1分層數據流圖的一致性和完整性77
13.4.4確認測試272
5.3.2構造分層DFD時需要注意的問題80
13.4.5系統測試273
5.3.3分解的程度82
13.5面向對象測試274
5.4數據字典82
13.5.1面向對象語境對測試的影響274
5.4.1字典條目的種類及描述符號82
13.5.2面向對象測試策略275
5.4.2字典條目83
13.5.3面向對象測試用例設計276
5.4.3字典條目實例87
13.6測試完成標準276
5.4.4數據字典的實現88
13.7調試277
5.5描述基本加工的小說明88
13.7.1調試過程277
5.5.1結構化語言89
13.7.2調試方法277
5.5.2判定表90
13.7.3糾正錯誤278
5.5.3判定樹91
13.8小結279
5.6結構化設計概述91
習題279
5.6.1結構圖92
第14章Web工程281
5.6.2啟發式設計策略94
14.1WebApp的屬性和類型281
5.6.3結構化設計的步驟96
14.1.1WebApp的屬性281
5.7數據流圖到軟體體系結構的映射97
14.1.2WebApp的類型283
5.7.1信息流97
14.2Web工程過程284
5.7.2數據流圖映射到結構圖的步驟98
14.2.1過程框架284
5.7.3變換分析98
14.2.2改善框架285
5.7.4事務分析101
14.2.3Web工程的最佳實踐285
5.7.5分層DFD的映射102
14.2.4方法和工具285
5.8初始結構圖的改進104
14.3WebApp建模286
5.8.1結構圖改進實例104
14.3.1WebApp需求建模286
5.8.2結構圖改進技巧106
14.3.2WebApp設計建模288
5.9小結108
14.4WebApp質量管理293
習題108
14.4.1WebApp質量維度293
第6章面向數據結構的分析與設計110
14.4.2WebApp的測試294
6.1JSP方法110
14.4.3WebApp配置管理295
6.1.1數據結構與程式結構的表示110
14.5小結296
6.1.2JSP方法的分析和設計步驟114
習題296
6.2JSD方法簡介118
第15章軟體維護與再工程297
6.3小結119
15.1軟體維護297
習題119
15.1.1軟體維護的概念297
第7章面向對象方法基礎120
15.1.2軟體維護的過程300
7.1面向對象的基本概念121
15.1.3軟體可維護性302
7.2面向對象分析和設計過程124
15.2再工程技術305
7.2.1面向對象分析過程124
15.2.1再工程的概念305
7.2.2面向對象設計過程126
15.2.2業務過程再工程305
7.2.3設計模式128
15.2.3軟體再工程過程306
7.3UML概述129
15.2.4逆向工程308
7.3.1UML發展歷史129
15.3小結309
7.3.2UML簡介130
習題309
7.3.3視圖131
第16章軟體項目管理310
7.3.4圖133
16.1軟體項目管理概述310
7.4小結136
16.1.1軟體項目管理的關注點310
習題136
16.1.2軟體項目管理的內容313
第8章面向對象建模137
16.2軟體度量316
8.1用況建模137
16.2.1面向規模的度量317
8.1.1用況建模步驟137
16.2.2面向功能的度量318
8.1.2確定執行者138
16.2.3軟體質量模型321
8.1.3確定用況139
16.2.4程式複雜性度量327
8.1.4用況描述140
16.2.5軟體可靠性度量329
8.1.5用況圖中的關係142
16.3軟體項目估算330
8.1.6案例說明143
16.3.1代碼行、功能點和工作量估算330
8.1.7用況建模實例144
16.3.2IBM估算模型331
8.2靜態建模147
16.3.3CoCoMo模型332
8.2.1類圖和對象圖148
16.3.4Putnam模型334
8.2.2CRC技術148
16.3.5軟體可靠性估算335
8.2.3類之間的關係153
16.4項目進度管理336
8.2.4靜態建模實例161
16.4.1人員與工作量之間的關係337
8.3動態建模163
16.4.2任務的分解與並行337
8.3.1狀態機圖163
16.4.3任務工作量的確定338
8.3.2活動圖170
16.4.4進度安排339
8.3.3順序圖172
16.5風險管理344
8.3.4通信圖176
16.5.1風險標識344
8.3.5動態建模實例178
16.5.2風險預測345
8.4物理體系結構建模179
16.5.3風險評估345
8.4.1構件圖180
16.5.4風險管理和監控346
8.4.2部署圖181
16.6軟體項目的組織348
8.5小結182
16.6.1組織結構的模式348
習題182
16.6.2程式設計小組的組織形式348
第9章基於構件的軟體開發184
16.6.3人員配備350
9.1基於構件的軟體開發概述184
16.7軟體質量管理351
9.1.1構件184
16.7.1軟體質量保證352
9.1.2基於構件的軟體開發過程187
16.7.2軟體評審353
9.1.3CBSD對質量、生產率和成本的影響189
16.8軟體配置管理355
9.2建造可復用構件190
16.8.1軟體配置管理的基本概念355
9.2.1對可復用構件的要求190
16.8.2軟體配置管理的主要活動356
9.2.2創建領域構件的設計框架191
16.9小結359
9.2.3可變性分析191
習題359
9.2.4可變性機制192
辭彙索引361參考文獻371
9.3套用系統工程194

教學資源

《軟體工程(第2版)》提供了講解課程的相應章節課件資源、教材章節部分內容的線上介紹、配有中英文辭彙索引。

教材特色

《軟體工程(第2版)》內容覆蓋了IEEE和ACM最新的ComputingCurricula中有關軟體工程的主要知識點,內容上能反映21世紀初軟體工程的新技術。
結合作者二十餘年來在軟體工程方面的研究實踐和成果,旨在讓學生通過該書的學習,能使用這些方法進行軟體的開發。

作者簡介

錢樂秋,復旦大學計算機科學技術學院教授、博士生導師。1970年至1984年從事銀行計算機系統、文字識別和套用軟體的研究和開發工作。1985年以來一直從事軟體工程的教學和研究工作。“七五”“八五”“九五”期間參加楊芙清院士主持的國家重點科技攻關課題“大型軟體開發環境——青鳥系統”的研究。
趙文耘,復旦大學計算機科學技術學院教授、博士生導師。復旦大學軟體工程一級學科學術帶頭人,軟體工程博士後流動站站長。長期從事軟體工程的教學和研究工作。“七五”“八五”“九五”期間參加楊芙清院士主持的國家重點科技攻關課題“大型軟體開發環境——青鳥系統”的研究。
牛軍鈺,復旦大學計算機科學技術學院副教授。主要從事軟體工程與電子政務方面的教學與科研工作。

相關詞條

熱門詞條

聯絡我們