軟件工程——原理、方法與項目實踐

代紅 張美娜 黃政

  • 出版商: 人民郵電
  • 出版日期: 2025-09-01
  • 售價: $359
  • 語言: 簡體中文
  • ISBN: 7115681139
  • ISBN-13: 9787115681133
  • 相關分類: UML
  • 下單後立即進貨 (約4週~6週)

  • 軟件工程——原理、方法與項目實踐-preview-1
  • 軟件工程——原理、方法與項目實踐-preview-2
軟件工程——原理、方法與項目實踐-preview-1

相關主題

商品描述

本書帶領讀者了解軟件的生命周期,包括需求分析、設計、實現、測試與維護等階段;學習如何使用工程化的方法解決軟件開發中遇到的問題,從而提高軟件開發的效率和質量。本書還深入探討軟件工程的理論基礎,包括面向對象思想、統一建模語言、面向對象分析與設計及其在實際項目中的應用。

本書既強調軟件工程原理,又提供豐富的實例分析。本書講解理論的各章配有習題和實例,本書還完整的項目實例和設計性實驗,設計性實驗將金融系統項目背景與軟件開發階段相結合,並使用統一建模語言完成。此外,本書緊跟國際視野,將前沿知識和技能納入其中。

本書可作為高等院校“軟件工程”相關課程的教材或教學參考書,也適合軟件開發人員、軟件測試工程師、軟件項目經理等相關人員閱讀參考。

作者簡介

代紅,碩士生導師,教授,主要從事計算機網絡、網絡安全、機器學習等方面的研究。作為主持人,榮獲遼寧省高等學校本科教學成果獎、遼寧省研究生教學成果獎,同時主講的《計算機網絡》榮獲遼寧省線上線下混合式一流課程,同時榮獲遼寧省科技進步獎。參編過《計算機類畢業設計指導與項目案例實踐》(清華大學出版社,2023年)教材。

目錄大綱

第 一章 軟件工程學概述 1

1.1軟件工程概述 1

1.1.1 軟件的概念 1

1.1.2 軟件開發歷史與演進 2

1.1.3 軟件危機的含義和表現 3

1.1.4 產生軟件危機的原因 3

1.1.5 消除軟件危機的途徑 5

1.2 軟件工程 5

1.2.1軟件工程的概念 5

1.2.2軟件工程的基本原理 5

1.2.3軟件工程的目標和原則 7

1.3 軟件工程方法學 8

1.3.1 傳統方法學 8

1.3.2 面向對象方法學 9

1.4 軟件工程的重要性與作用 9

1.5 軟件生命周期 10

1.6 軟件工程方法論 11

1.6.1 瀑布模型 12

1.6.2 快速原型模型 13

1.6.3 增量模型 14

1.6.4 螺旋模型 15

1.6.5 噴泉模型 16

1.6.6 Rational統一過程 17

1.7 能力成熟度模型 20

第 一章 習題 21

第二章 可行性研究與軟件需求分析 24

2.1可行性研究的任務 24

2.2 可行性研究三個主要方面 24

2.2.1技術可行性 24

2.2.2經濟可行性 25

2.2.3法律可行性 26

2.2.4 其他可行性 27

2.3 可行性研究過程 27

2.4 軟件需求分析概述 27

2.5 需求建模技術 29

2.5.1數據模型 30

2.5.2功能模型 32

2.5.3數據字典 34

2.5.4行為模型 36

2.6 需求規格與文檔化 39

2.7 需求驗證與確認 40

第二章 習題 40

第三章 軟件設計 43

3.1 軟件設計的概念和原理 43

3.1.1 模塊化 43

3.1.2 模塊獨立 43

3.1.3 抽象 50

3.1.4 封裝 51

3.1.5 逐步求精 51

3.2 人機界面設計 51

3.2.1 人機界面設計問題 51

3.2.2人機界面實現的原則與標準 52

3.3 表示軟件結構的圖形工具 54

3.3.1層次圖 54

3.3.2 HIPO圖 54

3.4 過程設計工具 56

3.4.1 程序流程圖 56

3.4.2 盒圖(N-S圖) 57

3.4.3 問題分析圖(PAD圖) 58

3.4.4 判定表 60

3.4.5 判定樹 61

3.4.6 偽代碼(過程設計語言) 62

3.5面向數據流的設計和面向數據結構的設計 63

3.5.1面向數據流的設計方法 63

3.5.2面向數據結構的設計方法 66

3.5.3兩種設計方法的區別 68

第三章 習題 68

第四章 面向對象思想 91

4.1面向對象編程概述 91

4.2 類和對象 92

4.2.1類與對象的概念 92

4.2.2 類與對象的關系與區別 92

4.2.3 類的屬性和方法 93

4.3 封裝 95

4.4繼承與多態 97

4.5抽象類與接口 101

4.5.1 抽象類的定義與特點 101

4.5.2 接口的概念與用途 103

第四章 習題 106

第五章 UML 107

5.1 UML建模語言與圖形化建模 107

5.1.1 UML簡介與發展歷程 107

5.1.2 UML建模視圖 108

5.2用例圖(Use Case Diagram) 109

5.2.1用例圖的基本元素 109

5.2.2用例圖的建模步驟與實例 113

5.3 類圖(Class Diagram) 115

5.3.1 類圖的基本元素 115

5.3.2 類圖的抽象層次 126

5.3.3 類圖的建模步驟與實例 127

5.4 對象圖(Object Diagram) 128

5.4.1 對象圖的基本元素 128

5.4.2 對象圖的用途 129

5.4.3 對象圖的表示和命名 129

5.4.4 對象圖的建模步驟與實例 130

5.5 時序圖(Sequence Diagram) 131

5.5.1 時序圖的基本元素 131

5.5.2 時序圖的主要用途 135

5.5.3 時序圖的建模步驟與實例 135

5.6 協作圖(Collaboration Diagrams) 138

5.6.1 協作圖的基本元素 138

5.6.2 協作圖的主要用途 139

5.6.3 協作圖的的建模步驟與實例 139

5.6.4 時序圖與協作圖的異同 140

5.7 活動圖(Activity Diagram) 142

5.7.1活動圖的基本元素 142

5.7.2 活動圖的主要用途 145

5.7.3 活動圖的建模步驟與實例 147

5.8 狀態圖(State Diagram) 151

5.8.1 狀態圖的基本元素 151

5.8.2 狀態圖的主要用途 152

5.8.3 狀態圖的建模步驟與實例 153

5.9 組件圖(Component Diagram) 154

5.9.1 組件圖的基本元素 155

5.9.2 組件圖的主要用途 156

5.9.3 組件的類型 156

5.9.4 組件圖的建模步驟與實例 157

5.10包圖 158

5.10.1包圖的基本元素 158

5.10.2 包圖的用途 159

5.11 部署圖(Deployment Diagram) 159

5.11.1 部署圖的基本元素 160

5.11.2 部署圖的主要用途 161

第五章 習題 163

第六章 面向對象分析與設計 168

6.1面向對象分析 168

6.1.2 建立對象模型 169

6.1.3 建立動態模型 171

6.1.4 建立功能模型 173

6.2 面向對象設計 176

6.2.1 面向對象設計的基本步驟和過程 176

6.2.2 面向對象的對象設計 177

6.2.3 面向對象的體系結構設計 178

6.2.4 面向對象的接口設計 180

6.2.5 面向對象的構件級設計 180

第六章 習題 181

第七章 軟件的實現、測試與維護

7.1編碼

7.1.1 編程語言的發展和分類

7.1.2 編程語言的選擇

7.2 軟件測試

7.2.1軟件測試目標

7.2.2 黑盒測試和白盒測試

7.2.3 軟件測試主要流程

7.3 白盒測試法

7.3.1邏輯覆蓋

7.3.2 基本路徑法

7.3.3 代碼檢查法

7.4 黑盒測試法

7.4.1 等價類劃分法

7.4.2邊界值分析法

7.4.3錯誤推測法

7.5 調試

7.6軟件部署和交付

7.7 軟件維護

第七章 習題

第八章 軟件項目管理

8.1 軟件項目管理概述

8.2項目計劃與資源調度

8.2.1項目計劃的編制

8.2.2項目資源分配和調度

8.3軟件項目質量保證

第九章 項目實例——基於Web的在線學習系統的設計與實現

9.1緒論

9.1.1 項目背景

9.1.2 項目的目的和意義

9.1.3 相關技術介紹

9.2 系統可行性分析和需求分析

9.2.1 可行性分析

9.2.2 系統需求分析

9.3系統總體設計

9.3.1 數據庫設計

9.3.2 系統分層架構設計

9.4 類的代碼框架

9.5 界面設計

附錄A 設計性實驗:“人民幣流通管理系統”實驗

實驗一 結構化需求分析

實驗一 UML分析與設計——用例圖

實驗三 UML分析與設計——活動圖與類圖

實驗四 UML分析與設計——狀態圖、順序圖與協作圖

附錄B 課後習題答案

第 一章 習題答案

第二章 習題答案

第三章 習題答案

第四章 習題答案

第五章 習題答案

第六章 習題答案

第七章 習題答案

附錄C 模擬套題

模擬套題答案