現代軟件工程基礎

彭鑫、游依勇、趙文耘

  • 出版商: 清華大學
  • 出版日期: 2022-07-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • ISBN: 7302607486
  • ISBN-13: 9787302607489
  • 下單後立即進貨 (約4週~6週)

  • 現代軟件工程基礎-preview-1
  • 現代軟件工程基礎-preview-2
  • 現代軟件工程基礎-preview-3
現代軟件工程基礎-preview-1

商品描述

本書是軟件工程的入門教材,系統地闡述了現代軟件開發過程、方法、技術以及相關工具,使讀者能夠全面掌握現代軟件工程的相關基礎知識以及軟件工程師所需要具備的基本實踐能力。 全書共分為10章,覆蓋了現代軟件工程的主要內容,特別是需求分析、軟件設計、軟件構造、軟件測試等。本書各章的順序按照軟件工程師的學習和成長過程進行編排,首先圍繞高質量編碼所需的知識和能力進行介紹,然後逐漸過渡到更加抽象的軟件設計和需求分析等內容。第1章介紹軟件工程的含義、發展歷程和重要思想。第2章介紹軟件過程模型、敏捷方法與精益思想以及開發運維一體化(DevOps)。第3章介紹軟件版本管理與開發任務管理。第4章介紹代碼質量的含義以及高質量編碼方法。第5章介紹軟件設計的整體內容並具體介紹組件級詳細設計方法。第6章介紹組件級、框架級、平臺級三個層次上的軟件復用方法。第7章介紹軟件體系結構的基本概念以及分佈式軟件體系結構和雲原生軟件體系結構。第8章介紹軟件需求分析方法、敏捷開發中的需求工程以及可信需求的含義。第9章介紹軟件測試方法以及相關工具。第10章介紹軟件持續集成、發布以及軟件構建和依賴管理。 本書可作為高等院校電腦、軟件工程、人工智能、自動化等相關專業的本科生教材,也可供相關領域的專業技術人員參考。

目錄大綱

目錄

第1章軟件工程概述

1.1軟件的產生與發展

1.2軟件工程的含義

1.3軟件工程的系統觀與演化觀

1.4軟件工程師的社會責任

1.5本書的內容結構

小結

第2章軟件過程

2.1軟件過程概述

2.1.1基本概念和發展歷史

2.1.2軟件生存周期過程標準

2.1.3軟件過程模型

2.1.4軟件過程改進

2.2敏捷方法與精益思想

2.2.1敏捷方法

2.2.2精益思想

2.2.3敏捷實踐方法論

2.3開發運維一體化

2.3.1概覽

2.3.2基本原則和技術實踐

2.3.3持續集成、持續交付和持續部署

小結

第3章版本與開發任務管理

3.1版本與開發任務管理概述

3.1.1配置管理概述

3.1.2版本發布計劃

3.2版本管理

3.2.1產品版本號命名

3.2.2代碼版本管理

3.2.3代碼分支與基線管理

3.3特性開發任務管理

3.3.1特性描述

3.3.2特性開發任務管理流程

3.3.3變更管理流程

3.4缺陷修復過程管理

3.4.1缺陷描述

3.4.2缺陷修復處理流程

3.5基於追蹤與回溯的工作量與質量分析

3.5.1基於追蹤的分析

3.5.2基於回溯的分析

小結

第4章高質量編碼

4.1代碼質量概述

4.1.1代碼質量的含義

4.1.2可理解性和可維護性

4.1.3可靠性和信息安全性

4.1.4高效性

4.1.5可移植性

4.2代碼風格

4.2.1標識符命名

4.2.2排版格式

4.2.3註釋

4.3代碼邏輯

4.3.1代碼編寫的基本要求

4.3.2重復代碼問題

4.3.3代碼復雜度問題

4.3.4高質量的子程序

4.4安全與可靠性編碼

4.4.1數據驗證

4.4.2代碼邏輯問題

4.4.3錯誤處理

4.4.4斷言

4.4.5異常處理

4.4.6安全編程函數

4.5代碼質量控制

4.5.1個人測試與調試

4.5.2代碼靜態檢查與質量門禁

4.5.3代碼評審

4.5.4代碼質量度量

4.6測試驅動開發

4.6.1TDD的概念與優勢

4.6.2TDD的過程與原則

4.6.3TDD中的單元測試

小結

第5章軟件設計

5.1軟件設計概述

5.1.1軟件設計目標

5.1.2軟件設計層次

5.1.3軟件設計思想

5.2面向對象設計

5.2.1面向對象設計過程

5.2.2面向對象設計描述

5.2.3內聚和耦合

5.2.4面向對象設計原則

5.2.5面向切麵的編程

5.3契約式設計

5.4設計模式

5.5演化式設計

5.5.1演化式設計與計劃設計

5.5.2代碼壞味道

5.5.3軟件重構

小結

第6章軟件復用

6.1軟件復用概述

6.1.1軟件復用概念

6.1.2軟件復用層次

6.1.3軟件復用過程

6.1.4軟件產品線

6.1.5開源軟件復用

6.2組件級復用

6.2.1軟件開發庫復用

6.2.2在線服務復用

6.2.3接口描述規範

6.3框架級復用

6.4平臺級復用

6.4.1典型平臺能力

6.4.2基於平臺的應用開發過程

6.5基於復用的軟件開發案例

6.5.1後端服務開發

6.5.2前端We碼小程序開發

小結

第7章軟件體系結構

7.1軟件體系結構概述

7.2軟件體系結構決策

7.3軟件體系結構描述

7.4軟件體系結構風格

7.5分佈式軟件體系結構

7.5.1設計原則

7.5.2進程間通信

7.5.3負載均衡

7.5.4分佈式存儲

7.5.5可靠性保障

7.6雲原生軟件體系結構

7.6.1微服務體系結構

7.6.2微服務開發框架

7.6.3容器化部署

小結

第8章軟件需求

8.1軟件需求概述

8.1.1需求的含義及其來源

8.1.2需求的類型

8.1.3需求工程過程

8.1.4需求的質量要求

8.1.5系統需求與軟件需求

8.2需求分解和精化

8.2.1系統願景與上下文

8.2.2願景與目標分解和精化

8.2.3優先級排序

8.2.4沖突識別與協商

8.3需求分析與描述

8.3.1場景分析與描述

8.3.2類分析與描述

8.3.3行為分析與描述

8.3.4需求文檔

8.4敏捷開發中的需求工程

8.5軟件可信需求

小結

第9章軟件測試

9.1軟件測試概念與原則

9.1.1軟件質量事故

9.1.2軟件測試概念

9.1.3軟件測試原則

9.2軟件測試過程模型

9.2.1V模型

9.2.2W模型

9.2.3敏捷測試模型

9.3軟件測試類型

9.3.1單元測試

9.3.2集成測試

9.3.3系統測試

9.3.4驗收測試

9.4黑盒軟件測試方法

9.4.1等價類劃分法

9.4.2邊界值分析法

9.4.3判定表

9.4.4錯誤推測法

9.5白盒軟件測試方法

9.6系統測試技術與工具

9.6.1功能測試

9.6.2性能測試

9.6.3兼容性測試

9.6.4易用性測試

9.6.5可靠性測試

9.6.6信息安全測試

小結

第10章軟件集成與發布

10.1軟件集成與發布概述

10.1.1持續集成與發布的前置條件

10.1.2持續集成與發布的價值

10.1.3雲化與本地持續集成與發布

10.2持續集成

10.2.1集成過程

10.2.2持續集成的實踐

10.2.3持續集成的自動化支持工具

10.2.4軟件構建

10.3軟件發布

10.3.1軟件發布的反模式與基本原則

10.3.2藍綠部署

10.3.3金絲雀發布

10.3.4暗發布

10.4部署流水線

10.4.1部署流水線概述

10.4.2華為軟件開發雲中的部署流水線

小結

參考文獻