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

《軟體工程(第2版)》是2013年清華大學出版社出版的圖書,作者是錢樂秋、趙文耘、牛軍鈺。

書籍信息

作者:錢樂秋、趙文耘、牛軍鈺
定價:39.50元
印次:2-4
ISBN:9787302328766
出版日期:2013.08.15
印刷日期:2015.01.23

內容簡介

本書系統地介紹了軟體工程的概念、原理、過程及主要方法,內容上覆蓋了ACM和IEEE最新制定的Computing Curricula中有關軟體工程的主要知識點。本書在介紹軟體工程的基本概念和基本原理的基礎上,重點介紹軟體開發方法和技術,包括經典的和常用的方法,如結構化方法、面向數據結構方法和面向對象方法,以及一些軟體工程的新技術和新方法,如UML 2.0、基於構件的開發、敏捷軟體開發、Web工程、CMM和CMMI等。此外,本書儘量採用國標、ISO標準及《計算機科學技術百科全書》對專業術語的名稱及其語義解釋,必要時,術語名稱會同時給出其他習慣稱謂。本書適合作為高等學校計算機科學與技術學科、軟體工程學科各專業的教材,也可作為軟體開發人員的參考書。

圖書目錄

第1章概論11.1計算機軟體1

1.1.1軟體的發展1

1.1.2軟體的特點2

1.1.3軟體的分類3

1.1.4軟體語言3

1.2軟體工程5

1.2.1軟體工程定義5

1.2.2軟體工程框架6

1.2.3軟體生存周期6

1.3軟體過程7

1.3.1軟體生存周期過程8

1.3.2能力成熟度模型CMM11

1.3.3能力成熟度模型集成CMMI13

1.4軟體過程模型16

1.4.1瀑布模型16

1.4.2演化模型17

1.4.3增量模型18

1.4.4原型模型18

1.4.5螺旋模型20

1.4.6噴泉模型21

1.4.7基於構件的開發模型21

1.4.8形式化方法模型22

1.5CASE工具與環境23

1.5.1軟體工具23

1.5.2軟體開發環境25

1.6小結26

習題26[]目錄[]軟體工程(第2版)[]第2章系統工程27

2.1基於計算機的系統27

2.2系統工程的任務28

2.3可行性分析29

2.3.1經濟可行性29

2.3.2技術可行性31

2.3.3法律可行性31

2.3.4方案的選擇和折衷31

2.4小結32

習題32

第3章需求工程33

3.1需求工程概述33

3.2需求獲取35

3.2.1軟體需求35

3.2.2需求獲取方法與策略36

3.3需求分析、協商與建模40

3.3.1需求分析原則40

3.3.2信息域40

3.3.3需求協商41

3.3.4需求建模41

3.4需求規約與驗證42

3.4.1需求規約的原則42

3.4.2需求規約42

3.4.3需求驗證44

3.5需求管理44

3.6小結45

習題45

第4章設計工程46

4.1軟體設計工程概述46

4.2軟體設計原則48

4.2.1抽象與逐步求精49

4.2.2模組化49

4.2.3信息隱藏50

4.2.4功能獨立51

4.3軟體體系結構設計53

4.3.1體系結構發展過程53

4.3.2軟體體系結構的風格54

4.3.3評估可選的體系結構56

4.4部件級設計技術57

4.4.1結構化程式設計方法58

4.4.2圖形表示法58

4.4.3判定表61

4.4.4設計性語言PDL62

4.5設計規約與設計評審63

4.5.1設計規約63

4.5.2設計評審64

4.6小結65

習題65

第5章結構化分析與設計67

5.1結構化分析方法概述67

5.2數據流圖69

5.2.1數據流圖的圖形表示69

5.2.2分層數據流圖的畫法72

5.3分層數據流圖的審查76

5.3.1分層數據流圖的一致性和完整性77

5.3.2構造分層DFD時需要注意的問題80

5.3.3分解的程度82

5.4數據字典82

5.4.1字典條目的種類及描述符號82

5.4.2字典條目83

5.4.3字典條目實例87

5.4.4數據字典的實現88

5.5描述基本加工的小說明88

5.5.1結構化語言89

5.5.2判定表90

5.5.3判定樹91

5.6結構化設計概述91

5.6.1結構圖92

5.6.2啟發式設計策略94

5.6.3結構化設計的步驟96

5.7數據流圖到軟體體系結構的映射97

5.7.1信息流97

5.7.2數據流圖映射到結構圖的步驟98

5.7.3變換分析98

5.7.4事務分析101

5.7.5分層DFD的映射102

5.8初始結構圖的改進104

5.8.1結構圖改進實例104

5.8.2結構圖改進技巧106

5.9小結108

習題108

第6章面向數據結構的分析與設計110

6.1JSP方法110

6.1.1數據結構與程式結構的表示110

6.1.2JSP方法的分析和設計步驟114

6.2JSD方法簡介118

6.3小結119

習題119

第7章面向對象方法基礎120

7.1面向對象的基本概念121

7.2面向對象分析和設計過程124

7.2.1面向對象分析過程124

7.2.2面向對象設計過程126

7.2.3設計模式128

7.3UML概述129

7.3.1UML發展歷史129

7.3.2UML簡介130

7.3.3視圖131

7.3.4圖133

7.4小結136

習題136

第8章面向對象建模137

8.1用況建模137

8.1.1用況建模步驟137

8.1.2確定執行者138

8.1.3確定用況139

8.1.4用況描述140

8.1.5用況圖中的關係142

8.1.6案例說明143

8.1.7用況建模實例144

8.2靜態建模147

8.2.1類圖和對象圖148

8.2.2CRC技術148

8.2.3類之間的關係153

8.2.4靜態建模實例161

8.3動態建模163

8.3.1狀態機圖163

8.3.2活動圖170

8.3.3順序圖172

8.3.4通信圖176

8.3.5動態建模實例178

8.4物理體系結構建模179

8.4.1構件圖180

8.4.2部署圖181

8.5小結182

習題182

第9章基於構件的軟體開發184

9.1基於構件的軟體開發概述184

9.1.1構件184

9.1.2基於構件的軟體開發過程187

9.1.3CBSD對質量、生產率和成本的影響189

9.2建造可復用構件190

9.2.1對可復用構件的要求190

9.2.2創建領域構件的設計框架191

9.2.3可變性分析191

9.2.4可變性機制192

9.3套用系統工程194

9.3.1基於CBSD的套用系統分析和設計194

9.3.2構件的鑑定、特化和組裝195

9.4構件的管理196

9.4.1構件的分類描述196

9.4.2構件庫管理系統197

9.5小結198

習題198

第10章敏捷軟體開發199

10.1敏捷軟體開發方法概述199

10.1.1敏捷宣言199

10.1.2精益思想201

10.1.3敏捷方法綜述202

10.2Scrum方法203

10.2.1Scrum簡介203

10.2.2Scrum團隊205

10.2.3需求管理205

10.2.4基於時間盒的疊代206

10.2.5回顧會議209

10.3極限編程方法210

10.3.1極限編程簡介210

10.3.2價值觀和原則211

10.3.3實踐212

10.4看板方法217

10.4.1看板方法簡介217

10.4.2看板方法的規則218

10.4.3看板方法和Scrum的比較219

10.5小結220

習題220

第11章人機界面設計221

11.1人的因素221

11.1.1人對感知過程的認識221

11.1.2用戶的技能和行為方式222

11.1.3人體測量學對設計的影響222

11.2人機界面風格224

11.3人機界面分析與建模227

11.3.1人機界面設計過程227

11.3.2人機界面設計中涉及的模型228

11.3.3任務分析的途徑與方法228

11.4界面設計活動229

11.4.1定義界面對象和動作229

11.4.2設計問題230

11.4.3黃金原則231

11.5實現工具233

11.6設計評估233

11.7小結235

習題235

第12章程式設計語言和編碼236

12.1程式設計語言236

12.1.1程式設計語言的基本成分236

12.1.2程式設計語言的特性238

12.1.3程式設計語言的分類239

12.1.4程式設計語言的選擇240

12.2程式設計風格241

12.2.1源程式文檔化241

12.2.2數據說明244

12.2.3語句結構244

12.2.4輸入和輸出246

12.3小結246

習題246

第13章軟體測試247

13.1軟體測試基礎247

13.1.1軟體測試的目的247

13.1.2軟體測試的基本原則248

13.1.3白盒測試和黑盒測試249

13.2白盒測試249

13.2.1邏輯覆蓋測試249

13.2.2邏輯表達式錯誤敏感的測試254

13.2.3基本路徑測試255

13.2.4數據流測試257

13.2.5循環測試258

13.3黑盒測試259

13.3.1等價類劃分259

13.3.2邊界值分析262

13.3.3比較測試263

13.3.4錯誤猜測263

13.3.5因果圖263

13.4測試策略267

13.4.1V模型267

13.4.2單元測試268

13.4.3集成測試269

13.4.4確認測試272

13.4.5系統測試273

13.5面向對象測試274

13.5.1面向對象語境對測試的影響274

13.5.2面向對象測試策略275

13.5.3面向對象測試用例設計276

13.6測試完成標準276

13.7調試277

13.7.1調試過程277

13.7.2調試方法277

13.7.3糾正錯誤278

13.8小結279

習題279

第14章Web工程281

14.1WebApp的屬性和類型281

14.1.1WebApp的屬性281

14.1.2WebApp的類型283

14.2Web工程過程284

14.2.1過程框架284

14.2.2改善框架285

14.2.3Web工程的最佳實踐285

14.2.4方法和工具285

14.3WebApp建模286

14.3.1WebApp需求建模286

14.3.2WebApp設計建模288

14.4WebApp質量管理293

14.4.1WebApp質量維度293

14.4.2WebApp的測試294

14.4.3WebApp配置管理295

14.5小結296

習題296

第15章軟體維護與再工程297

15.1軟體維護297

15.1.1軟體維護的概念297

15.1.2軟體維護的過程300

15.1.3軟體可維護性302

15.2再工程技術305

15.2.1再工程的概念305

15.2.2業務過程再工程305

15.2.3軟體再工程過程306

15.2.4逆向工程308

15.3小結309

習題309

第16章軟體項目管理310

16.1軟體項目管理概述310

16.1.1軟體項目管理的關注點310

16.1.2軟體項目管理的內容313

16.2軟體度量316

16.2.1面向規模的度量317

16.2.2面向功能的度量318

16.2.3軟體質量模型321

16.2.4程式複雜性度量327

16.2.5軟體可靠性度量329

16.3軟體項目估算330

16.3.1代碼行、功能點和工作量估算330

16.3.2IBM估算模型331

16.3.3CoCoMo模型332

16.3.4Putnam模型334

16.3.5軟體可靠性估算335

16.4項目進度管理336

16.4.1人員與工作量之間的關係337

16.4.2任務的分解與並行337

16.4.3任務工作量的確定338

16.4.4進度安排339

16.5風險管理344

16.5.1風險標識344

16.5.2風險預測345

16.5.3風險評估345

16.5.4風險管理和監控346

16.6軟體項目的組織348

16.6.1組織結構的模式348

16.6.2程式設計小組的組織形式348

16.6.3人員配備350

16.7軟體質量管理351

16.7.1軟體質量保證352

16.7.2軟體評審353

16.8軟體配置管理355

16.8.1軟體配置管理的基本概念355

16.8.2軟體配置管理的主要活動356

16.9小結359

習題359

辭彙索引361參考文獻371

熱門詞條

聯絡我們