面向對象軟件工程

段恩澤

  • 出版商: 清華大學
  • 出版日期: 2025-04-01
  • 售價: $414
  • 語言: 簡體中文
  • ISBN: 7302683492
  • ISBN-13: 9787302683490
  • 下單後立即進貨 (約4週~6週)

  • 面向對象軟件工程-preview-1
  • 面向對象軟件工程-preview-2
  • 面向對象軟件工程-preview-3
面向對象軟件工程-preview-1

相關主題

商品描述

"《面向對象軟件工程》詳細講述了運用面向對象的思想進行軟件開發的過程,主要包含軟件工程基礎、UML、軟件項目管理、需求調研、需求建模、分析、設計、實現和測試、軟件維護等內容。 本書介紹了使用商業軟件進行需求調研的方法,並通過兩次軟件開發過程的訓練來強化讀者對軟件開發的過程、方法和工具的掌握,第一次是在UML的案例中,第二次是在第4~第8章的案例中。 本書註重理論與實踐相結合,通過大量的案例分析對概念和理論進行詳細剖析和實踐,闡明了面向對象軟件工程的原理、原則、過程、方法和工具。 本書是編者多年在面向對象軟件工程領域從事科研、教學和工程實踐的總結,在廣泛借鑒該領域的經典理論和當前**研究成果的基礎上,堅持獨立思考、實事求是的科學態度,對該領域的許多問題提出了新的學術觀點和解決方案。 本書適合作為高等院校軟件工程、計算機等相關專業的高年級本科生的教材,也可作為軟件工程領域的研究人員、教師、培訓機構師生和工程技術人員的參考用書。"

目錄大綱

目    錄

第1章  軟件工程基礎  1

1.1  軟件  1

1.1.1  軟件的概念  1

1.1.2  軟件的特性  2

1.1.3  軟件的演化  4

1.2  軟件危機  6

1.2.1  軟件危機介紹  6

1.2.2  產生軟件危機的原因  8

1.2.3  消除軟件危機的途徑  8

1.3  軟件工程  9

1.3.1  軟件工程的定義  9

1.3.2  軟件工程的基本原理  10

1.3.3  軟件工程通用原則  13

1.3.4  軟件工程的基本原則  15

1.3.5  軟件工程開發活動  15

1.3.6  軟件過程管理活動  17

1.3.7  軟件過程改進活動  17

1.4  軟件過程  20

1.4.1  軟件過程概述  20

1.4.2  普適性活動  21

1.4.3  軟件生命周期  22

1.5  傳統過程模型  27

1.5.1  疊代和增量  28

1.5.2  瀑布模型  30

1.5.3  快速原型模型  32

1.5.4  螺旋模型  34

1.6  RUP  36

1.6.1  核心工作流  37

1.6.2  階段  38

1.6.3  最佳實踐  40

1.6.4  RUP的十大要素  41

1.6.5  RUP的裁剪  43

1.7  敏捷開發  43

1.7.1  敏捷開發知識體系  44

1.7.2  敏捷宣言  46

1.7.3  Scrum  47

1.7.4  極限編程  53

1.8  軟件工程工具  56

1.8.1  CASE  56

1.8.2  軟件版本  57

1.9  軟件工程師的職業道德  58

1.10  習題  58

第2章  UML  63

2.1  UML簡介  63

2.2  UML的歷史  66

2.3  UML的結構  66

2.4  UML的事物  67

2.5  UML的關系  69

2.5.1  一般-特殊  69

2.5.2  關聯  71

2.5.3  整體-部分  73

2.5.4  依賴  74

2.5.5  實現  75

2.5.6  案例  76

2.6  UML的圖  77

2.6.1  用例圖  77

2.6.2  類圖  81

2.6.3  組件圖  82

2.6.4  部署圖  83

2.6.5  包圖  83

2.6.6  序列圖  85

2.6.7  通信圖  88

2.6.8  狀態機圖  88

2.6.9  活動圖  89

2.7  UML建模工具  92

2.8  案例  94

2.8.1  業務建模  95

2.8.2  需求  100

2.8.3  分析  109

2.8.4  設計  110

2.8.5  小結  113

2.9  習題  114

第3章  軟件項目管理  117

3.1  項目管理知識體系  117

3.1.1  項目生命周期  118

3.1.2  項目管理過程組  119

3.1.3  知識領域  120

3.2  風險管理  121

3.3  團隊管理  127

3.3.1  團隊組織方式  127

3.3.2  建設團隊  131

3.3.3  管理團隊  132

3.4  估算成本  132

3.5  範圍管理  138

3.6  質量管理  140

3.7  習題  141

第4章  需求調研  145

4.1  理解需求  145

4.1.1  軟件需求  145

4.1.2  需求開發過程  149

4.2  需求調研方法  150

4.2.1  文檔研究  150

4.2.2  問卷調查  151

4.2.3  面談  152

4.2.4  觀察  153

4.2.5  需求專題研討會  155

4.2.6  觀察業務流程和操作  156

4.3  案例分析  156

4.4  習題  167

第5章  需求建模  169

5.1  系統用例圖  169

5.1.1  系統邊界  169

5.1.2  系統參與者  170

5.1.3  系統用例  172

5.2  系統用例規約  179

5.2.1  系統用例規約形式  180

5.2.2  用例編號  181

5.2.3  前置條件和後置條件  181

5.2.4  書寫路徑步驟的註意事項  182

5.2.5  字段列表  183

5.2.6  非功能需求及設計約束  183

5.3  跟蹤與變更需求  184

5.3.1  需求跟蹤  184

5.3.2  需求變更  184

5.4  案例分析  185

5.4.1  從需求調研中提取系統用例  185

5.4.2  書寫系統用例規約  186

5.4.3  “58同城”註冊系統用例規約  187

5.5  習題  189

第6章  分析  191

6.1  發現對象  191

6.1.1  從系統用例規約中發現對象  191

6.1.2  對象的篩選  192

6.1.3  案例分析一:BusyBee手遊的“開始遊戲”系統用例  193

6.1.4  案例分析二:“58同城”註冊系統用例  195

6.2  對象分類  198

6.2.1  案例分析  199

6.2.2  領域類圖  199

6.3  定義類的屬性  200

6.3.1  識別屬性  200

6.3.2  案例分析  201

6.4  確定類之間的關系  201

6.5  定義類的方法  203

6.5.1  BCE模式  203

6.5.2  設計方法  204

6.5.3  案例分析一:“玩家→開始遊戲”用例  204

6.5.4  案例分析二:“58同城”網站“顧客→註冊”用例  206

6.6  習題  208

第7章  設計  211

7.1  軟件架構設計  212

7.1.1  軟件架構視圖  212

7.1.2  軟件架構風格  213

7.1.3  常用的架構模式  214

7.2  系統架構設計  216

7.2.1  BCE模式轉換為MVC模式  216

7.2.2  BCE模式轉換為分層架構模式  219

7.2.3  案例分析一:BusyBee手遊遊戲模塊  221

7.2.4  案例分析二:“58同城”顧客模塊  222

7.3  類設計  224

7.3.1  內聚和耦合  224

7.3.2  設計屬性  226

7.3.3  設計方法  228

7.3.4  案例分析一:BusyBee手遊遊戲模塊  228

7.3.5  案例分析二:“58同城”顧客模塊  230

7.4  設計模式  236

7.4.1  面向對象設計原則  236

7.4.2  設計模式概述  237

7.4.3  簡單工廠模式  238

7.4.4  工廠方法模式  240

7.4.5  中介者模式  241

7.4.6  觀察者模式  243

7.5  數據庫設計  245

7.5.1  邏輯模型設計  245

7.5.2  物理模型設計  246

7.5.3  SQL腳本生成  247

7.6  界面設計  248

7.7  習題  251

第8章  實現和測試  253

8.1  軟件實現  253

8.1.1  編程語言  253

8.1.2  實現類圖到代碼的轉換  254

8.1.3  序列圖與代碼的對應  258

8.1.4  程序設計風格  259

8.1.5  案例分析一:BusyBee手遊遊戲模塊  265

8.1.6  案例分析二:“58同城”顧客模塊  268

8.2  軟件測試  270

8.2.1  軟件測試的基本概念  270

8.2.2  測試方法概述  274

8.2.3  白盒測試用例設計  274

8.2.4  黑盒測試用例設計  282

8.2.5  程序的靜態測試  293

8.2.6  面向對象測試  295

8.3  習題  300

第9章  軟件維護  303

9.1  軟件維護的概念  303

9.1.1  軟件維護的定義  303

9.1.2  影響軟件維護工作量的因素  304

9.1.3  軟件維護的策略  305

9.2  軟件維護活動  305

9.2.1  軟件維護申請報告  306

9.2.2  軟件維護的過程  306

9.3  程序修改的步驟及副作用  307

9.3.1  分析和理解程序  307

9.3.2  修改程序  308

9.3.3  修改程序的副作用及控制  309

9.3.4  重新驗證程序  310

9.4  提高軟件的可維護性  311

9.4.1  結構化維護與非結構化維護  311

9.4.2  提高軟件可維護性的技術途徑  312

9.5  習題  313

參考文獻  314