軟體工程實用教程[2015年清華大學出版社出版書籍]

軟體工程實用教程[2015年清華大學出版社出版書籍]

《軟體工程實用教程》是2015年清華大學出版社出版的圖書,作者是田保軍、劉利民、張林豐、張麗霞、許志偉。

內容簡介

本書是一本基於豐富案例的軟體工程實用教程,利用軟體工程核心三要素(方法、工具和過程)貫穿全文;重點介紹軟體工程的基本概念、原理、軟體工程國家相關規範與軟體工程文檔,撰寫國家標準以及傳統軟體工程方法學和面向對象方法學。

本書重點介紹當前主流的面向對象軟體工程的開發、建模UML與工具以及統一過程RUP。通過實例重點講述面向對象分析、設計和實現流程。

書中所有的概念、開發方法都通過實例來演示,內容精練,表達簡明,實例豐富,可以用作高等院校軟體工程專業、計算機科學與技術專業及相關專業本科生、研究生的教材,也可以作為培訓機構相關專業的培訓教材和廣大科技工作者和研究人員參考。

圖書目錄

第1章軟體工程概述3

1.1軟體工程的發展歷程3

1.2軟體危機4

1.2.1軟體的概念、特點及分類4

1.2.2軟體危機7

1.2.3產生軟體危機的原因8

1.2.4解決軟體危機的方法9

1.3軟體工程10

1.3.1軟體工程概述10

1.3.2軟體工程原理11

1.3.3常用的軟體工程開發方法13

1.3.4軟體過程與模型14

1.4軟體工程的相關規範20

1.4.1軟體項目的開發流程20

1.4.2軟體工程的標準化21

1.4.3軟體工程文檔編寫23

1.4.4軟體智慧財產權及道德規範24

小結27

習題128第2章結構化方法、工具和過程30

2.1結構化方法與過程30

2.2常用結構化建模工具31

2.2.1Visio31

2.2.2PowerDesigner35

小結43習題244第3章可行性與計畫研究45

3.1可行性研究45

3.1.1可行性研究的任務45

3.1.2可行性研究的步驟46

3.1.3成本—效益分析48

3.2項目開發計畫52

3.3業務流程建模53

3.3.1系統流程圖53

3.3.2數據流圖55

3.3.3數據字典59

3.4項目案例60

小結67

習題368第4章需求分析70

4.1需求分析的任務和步驟70

4.1.1需求分析的任務71

4.1.2需求分析的步驟72

4.2獲取需求的方法75

4.3結構化分析方法的策略77

4.4結構化分析圖形工具78

4.4.1數據流圖78

4.4.2輸入/處理/輸出圖82

4.4.3實體—聯繫圖85

小結89

習題490第5章軟體設計92

5.1概要設計92

5.1.1概要設計步驟及任務92

5.1.2概要設計原理96

5.1.3軟體體系結構設計104

5.1.4概要設計圖形工具107

5.1.5面向數據流的設計方法110

5.2接口設計119

5.2.1模組間接口設計119

5.2.2用戶界面設計119

5.3詳細設計的任務124

5.3.1詳細設計的基本任務124

5.3.2詳細設計的表示方法124

5.3.3面向數據結構的設計方法132

5.3.4程式複雜程度的定量度量136

5.4項目案例138

5.4.1軟體功能設計138

5.4.2軟體資料庫設計140

小結143

習題5143第6章軟體實現146

6.1軟體編碼146

6.1.1程式設計語言146

6.1.2程式設計風格148

6.2軟體測試151

6.2.1軟體測試目的151

6.2.2軟體測試模型153

6.2.3軟體測試階段154

6.2.4軟體測試類型及方法156

6.2.5軟體測試過程161

6.3軟體測試技術與工具171

6.3.1軟體測試技術與工具概述171

6.3.2QC174

6.3.3QTP175

6.3.4LR177

6.3.5國產測試軟體179

小結180

習題6181第7章軟體運行與維護183

7.1軟體維護概述183

7.1.1軟體的可維護性183

7.1.2軟體維護的類型184

7.1.3軟體維護工作流程186

7.1.4軟體維護過程文檔187

7.1.5軟體維護的困難及應對策略187

7.2軟體運行維護管理189

7.3軟體運行維護的關鍵191

7.3.1運行維護平台191

7.3.2文檔管理192

7.3.3水波效應193

小結193

習題7194

第8章軟體過程管理195

8.1軟體工程項目管理195

8.1.1項目啟動管理196

8.1.2項目計畫管理196

8.1.3人員組織與管理199

8.1.4變更管理201

8.1.5風險管理202

8.2軟體過程管理及能力成熟度模型207

8.2.1軟體能力成熟度與SWCMM207

8.2.2CMMI的發展209

8.2.3CMMI開發模型1.3版介紹210

8.3軟體配置管理214

8.3.1軟體配置管理作用214

8.3.2軟體配置管理過程215

8.3.3常用的軟體配置管理工具218

小結222

習題8222

第2篇面向對象的軟體工程

第9章面向對象的軟體工程概述225

9.1面向對象思想及概念225

9.2面向對象方法與過程228

9.3常用面向對象建模語言及工具233

9.3.1統一建模語言233

9.3.2RationalRose237

9.3.3StarUML247

小結252

習題9252第10章面向對象分析254

10.1面向對象的需求獲取254

10.1.1需求獲取概述255

10.1.2需求獲取255

10.2面向對象的需求分析260

10.2.1面向對象方法概述260

10.2.2需求分析階段的任務266

10.2.3需求規格說明的評審272

10.3項目案例273

小結286

習題10286第11章面向對象設計與實現288

11.1面向對象設計準則288

11.2面向對象設計290

11.3面向對象實現296

11.3.1面向對象程式設計語言296

11.3.2面向對象的測試策略302

11.3.3面向對象的測試步驟302

11.3.4面向對象測試用例設計304

11.4項目案例306

小結308

習題11309附錄A軟體工程知識體系310附錄A軟體工程國家標準314附錄C軟體工程文檔撰寫國家標準316

C.1可行性研究報告316

C.2開發計畫321

C.3需求規格說明書322

C.4概要設計說明書324

C.5詳細設計說明書326

C.6測試計畫328

C.7用戶操作手冊330參考文獻334

第一部分測試理論第1章軟體測試概論3

1.1軟體與軟體項目3

1.1.1軟體發展史3

1.1.2項目特性4

1.1.3軟體項目5

1.1.4項目生命周期6

1.2軟體缺陷7

1.2.1軟體缺陷案例7

1.2.2軟體缺陷9

1.2.3軟體缺陷流程12

1.3習題13第2章軟體測試基本知識15

2.1測試發展歷程15

2.2測試的幾種觀點16

2.3軟體測試目的與原則18

2.4軟體測試分類20

2.4.1按照測試階段劃分20

2.4.2按照執行主體劃分21

2.4.3按照執行狀態劃分21

2.4.4按照測試技術劃分23

2.5軟體測試模型26

2.5.1V模型26

2.5.2W模型26

2.5.3H模型27

2.5.4X模型282.5.5前置模型28

2.6測試用例29

2.7習題32第3章軟體測試流程33

3.1測試流程概述33

3.2測試計畫34

3.3測試設計35

3.4單元測試35

3.4.1概述35

3.4.2內容36

3.4.3步驟38

3.5集成測試39

3.5.1主要任務39

3.5.2集成測試方法39

3.6確認測試42

3.7系統測試43

3.8驗收測試44

3.8.1α測試和β測試44

3.8.2回歸測試44

3.9評估測試47

3.10習題48第4章黑盒測試50

4.1概述50

4.2等價類劃分51

4.2.1劃分原則51

4.2.2設計測試用例步驟51

4.3邊界值分析法53

4.3.1設計原則54

4.3.2套用舉例54

4.4決策表56

4.4.1套用舉例57

4.4.2優點和缺點59

4.5因果圖59

4.5.1基本術語59

4.5.2套用舉例61

4.6場景法62

4.6.1基本流和備選流62

4.6.2套用舉例62

4.7綜合策略66

4.8習題67第5章白盒測試69

5.1概述69

5.2邏輯覆蓋法70

5.2.1語句覆蓋70

5.2.2判定覆蓋71

5.2.3條件覆蓋71

5.2.4條件判定覆蓋72

5.2.5修正條件判定覆蓋73

5.2.6條件組合覆蓋74

5.2.7路徑覆蓋75

5.2.8綜合舉例75

5.3路徑分析78

5.3.1控制流圖78

5.3.2基路徑測試80

5.3.3循環測試82

5.3.4邏輯覆蓋法與路徑測試比較83

5.4數據流測試84

5.4.1變數定義/引用分析84

5.4.2程式片86

5.5程式插樁86

5.6習題88第6章性能測試90

6.1基本概念90

6.2性能測試分類92

6.2.1負載測試92

6.2.2壓力測試93

6.2.3可靠性測試95

6.2.4資料庫測試95

6.2.5安全性測試96

6.2.6文檔測試96

6.3性能測試的步驟97

6.4網站測試99

6.4.1網站結構模型99

6.4.2網站測試內容100

6.5習題100第7章面向對象測試102

7.1面向對象影響測試102

7.2面向對象測試模型103

7.3面向對象分析測試104

7.3.1對象測試104

7.3.2結構測試105

7.3.3主題測試105

7.3.4屬性和實例關聯測試106

7.3.5服務和訊息關聯測試106

7.4面向對象設計測試107

7.5面向對象單元測試108

7.5.1功能性和結構性測試109

7.5.2測試用例設計和選擇109

7.6面向對象集成測試110

7.7面向對象系統測試112

7.8習題112第8章嵌入式軟體測試113

8.1嵌入式系統113

8.1.1基本概念113

8.1.2嵌入式系統軟體架構114

8.1.3嵌入式系統開發方式114

8.2嵌入式軟體測試115

8.2.1測試特點115

8.2.2測試策略115

8.2.3三種測試環境117

8.2.4測試流程118

8.3嵌入式軟體測試工具119

8.3.1純軟體測試工具119

8.3.2純硬體測試工具120

8.3.3軟硬結合測試工具120

8.4習題120第9章軟體質量保證121

9.1軟體測試管理121

9.2軟體測試文檔121

9.2.1測試文檔的類型122

9.2.2測試文檔的重要性123

9.3測試人員組織124

9.3.1測試團隊架構124

9.3.2測試團隊階段性125

9.4軟體缺陷管理126

9.4.1概述126

9.4.2缺陷跟蹤流程127

9.4.3缺陷跟蹤管理系統概述127

9.5軟體質量128

9.5.1概述128

9.5.2ISO9000系列129

9.5.3CMM/CMMI130

9.5.4ISO15504過程評估133

9.6習題133

第二部分測試實踐

第10章軟體測試自動化與測試工具137

10.1自動化測試137

10.2測試成熟度模型138

10.3測試工具原理143

10.3.1白盒測試工具143

10.3.2黑盒測試工具144

10.3.3測試設計和開發工具146

10.3.4測試執行和評估工具147

10.3.5測試管理工具147

10.4測試工具選擇148

10.5習題149第11章測試管理工具151

11.1概述151

11.2測試管理工具——TestDirector152

11.2.1TestDirector簡介152

11.2.2TestDirector使用概述153第12章性能測試工具165

12.1綜述165

12.2LoadRunner測試流程166

12.3項目實踐166

12.3.1使用VuGen創建腳本167

12.3.2使用Controller設計場景172

12.3.3使用Controller運行場景174

12.3.4分析場景結果175第13章缺陷管理工具178

13.1Bugzilla178

13.2JIRA182

13.2.1跟蹤操作183

13.2.2查詢操作185

13.2.3生成報表186第14章單元測試工具188

14.1JUnit特點188

14.2JUnit在eclipse中的使用188第15章功能測試工具194

15.1WinRunner194

15.1.1WinRunner測試模式194

15.1.2WinRunner測試流程194

15.1.3WinRunner測試舉例197

15.2QuickTestProfessional簡介202

15.2.1QuickTestProfessional測試過程202

15.2.2使用MercuryTours範例網站202

15.2.3QTP測試範例203第16章嵌入式軟體測試工具213

16.1Logiscope簡介213

16.2Logiscope三大功能214

16.2.1使用Audit215

16.2.2使用RuleChecker224

16.2.3使用TestChecker228第三部分測試考試指導

第17章全國計算機等級考試四級軟體測試工程師241

17.1內容介紹241

17.1.1考試說明242

17.1.2考試大綱及考試重點242

17.2相關資料247第18章軟體測試行業249

18.1測試行業現狀249

18.2軟體測試職位250

18.3軟體測試思維方式251

18.4常用軟體測試工程師筆試題252第19章微軟公司軟體測試256

19.1微軟測試策略256

19.2一道微軟測試題目258

參考文獻259

相關詞條

熱門詞條

聯絡我們