軟件工程基礎與應用(微課版)

呂雲翔

  • 出版商: 人民郵電
  • 出版日期: 2026-01-01
  • 售價: $390
  • 語言: 簡體中文
  • 頁數: 261
  • ISBN: 7115592160
  • ISBN-13: 9787115592163
  • 相關分類: Agile Software
  • 下單後立即進貨 (約4週~6週)

  • 軟件工程基礎與應用(微課版)-preview-1
軟件工程基礎與應用(微課版)-preview-1

相關主題

商品描述

內 容 提 要

本書按照典型的軟件開發過程來組織內容,旨在培養讀者具備軟件工程思想及實際軟件開發的能力。本書共分為12章, 內容涉及軟件與軟件工程、軟件過程、敏捷軟件開發、可行性研究與項目開發計劃、結構化分析、結構化設計、面向對象方法與UML、面向對象分析、面向對象設計、軟件實現、軟件測試、軟件維護與軟件工程管理。本書理論與實踐相結合,內容翔實,可操作性強。

本書是高校計算機科學、軟件工程及相關專業“軟件工程”課程的理想教材。

作者簡介

呂雲翔,北京航空航天大學副教授,軟件學院SAP ERP 咨詢顧問專業主任。比利時布魯塞爾大學應用科學學院應用信息技術專業碩士、經濟學院工商管理專業碩士。具有多年的軟件開發、項目管理、計算機教學經驗。對IT行業具有較全面的認識。2003至今任北航軟件學院副教授。目前研究領域包括:軟件工程 IT項目管理。 著有《計算機導論實踐教程》(高等院校計算機教材系列),《軟件工程》,譯有《計算機文化》(原書第8版) 呂雲翔副教授上課時風趣幽默,對學生主要是自主學習,在課堂上要求很輕松,從不強迫學生,深受軟件學院學生歡迎。

目錄大綱

第 一部分 軟件工程概述

第 1章 軟件與軟件工程

1.1 軟件

1.1.1 軟件的概念及特點

1.1.2 軟件的分類

1.2 軟件危機

1.2.1 軟件危機的表現與原因

1.2.2 軟件危機的啟示

1.3 軟件工程

1.3.1 軟件工程的概念

1.3.2 軟件工程研究的內容

1.3.3 軟件工程目標和原則

1.3.4 軟件工程知識體系

1.3.5 軟件工程的發展

1.4 軟件開發方法

1.5 軟件工程工具

1.6 軟件工程人員的職業道德

1.7 “小型二手貨交易平臺”案例介紹

習題

第 2章 軟件過程

2.1 軟件過程概述

2.2 軟件生命周期

2.2.1 軟件生命周期的概念

2.2.2 傳統軟件生命周期的各個階段

2.3 軟件過程模型

2.3.1 瀑布模型

2.3.2 快速原型模型

2.3.3 增量模型

2.3.4 螺旋模型

2.3.5 噴泉模型

2.3.6 基於組件的開發模型

2.3.7 統一軟件開發過程模型

2.3.8 幾種模型之間的關系

2.3.9 選擇軟件過程模型

2.4 軟件過程模型實例

習題

第3章 敏捷軟件開發

3.1 敏捷方法

3.2 Scrum

3.2.1 概述

3.2.2 Sprint

3.2.3 每日站會

3.2.4 用戶故事

3.2.5 Backlog

3.3 看板(Kanban)

3.3.1 概述

3.3.2 Scrum與看板的區別

3.4 極限編程(XP)

3.4.1 XP的4個價值觀

3.4.2 XP的12個核心實踐

3.5 CI/CD

3.5.1 CI/CD概述

3.5.2 CI/CD 管道

3.5.3 CI/CD 的優勢

3.6 DevOps

3.6.1 DevOps生命周期

3.6.2 DevOps文化

3.6.3 DevOps工具

3.7 敏捷開發、CI-CD和DevOps

習題

第二部分 可行性研究與項目開發計劃

第4章 可行性研究與項目開發計劃

4.1 項目立項概述

4.2 可行性研究的任務

4.3 技術可行性

4.4 操作可行性

4.5 經濟可行性

4.6 可行性研究的步驟

4.7 可行性研究實例

4.8 制定項目開發計劃

習題

第三部分 結構化分析與設計

第5章 結構化分析

5.1 需求分析

5.1.1 需求分析的任務和原則

5.1.2 需求分析的步驟

5.1.3 需求管理

5.1.4 需求分析的常用方法

5.2 結構化分析概述

5.3 結構化分析的方法

5.3.1 功能建模

   5.3.2 數據建模

   5.3.3 行為建模

   5.3.4 數據字典

   5.3.5 加工規格說明

5.4 結構化分析的圖形工具

5.4.1 層次方框圖

5.4.2 Warnier圖

5.4.3 IPO圖

5.5 結構化分析實例

5.6 實驗:使用Visio繪制“小型二手貨交易平臺”的數據流圖

習題

第6章 結構化設計

6.1 軟件設計的基本概念

6.1.1 軟件設計的意義和目標

6.1.2 軟件設計的原則

6.1.3 軟件設計的分類

6.2 數據庫結構設計

6.3 結構化設計概述

6.4 結構化設計與結構化分析的關系

6.5 體系結構設計

6.5.1表示軟件結構的圖形工具

6.5.2面向數據流的設計方法

6.5.3面向數據結構的設計方法

6.6 接口設計

6.6.1 接口設計概述

6.6.2 界面設計

6.6.3 UX設計和UI設計的區別

6.7 數據設計

6.8 過程設計

6.8.1 程序流程圖

6.8.2 N-S圖

6.8.3 PAD圖

6.8.4 過程設計語言

6.9 軟件設計評審

6.10 結構化設計實例

6.11實驗:使用Visio繪制“小型二手貨交易平臺”的結構圖

習題

第四部分 面向對象分析與設計

第7章 面向對象方法與UML

7.1 面向對象的軟件工程方法

7.1.1 面向對象的基本概念

7.1.2 面向對象的軟件工程方法的特征與優勢

7.1.3 面向對象的實施步驟

7.2 統一建模語言UML

7.2.1 UML簡述

7.2.2 UML的特點

7.2.3 UML的應用範圍

7.2.4 UML的圖

7.2.5 UML“4+1”視圖

7.3 靜態建模機制

7.3.1用例圖

7.3.2 類圖與對象圖

7.3.3 包圖

7.4 動態建模機制

7.4.1 順序圖

7.4.2協作圖

7.4.3 狀態圖

7.4.4 活動圖

7.5 描述物理架構的機制

7.5.1 構件圖

7.5.2 部署圖

7.6 面向對象方法與UML實例

習題

第8章 面向對象分析

8.1 面向對象分析方法

8.1.1 面向對象分析過程

8.1.2 面向對象分析原則

8.2 面向對象建模

8.2.1 建立對象模型

8.2.2 建立動態模型

8.2.3 建立功能模型

8.2.4 3種模型之間的關系

8.3 面向對象分析實例

8.4 實驗

8.4.1 使用Rose繪制“小型二手貨交易平臺”的用例圖

8.4.2 使用Rose繪制 “小型二手貨交易平臺”的類圖

8.4.3 使用Rose繪制 “小型二手貨交易平臺”的對象圖

8.4.4 使用Rose繪制 “小型二手貨交易平臺”的狀態圖

8.4.5 使用Rose繪制 “小型二手貨交易平臺”的順序圖

習題

第9章 面向對象設計

9.1 面向對象設計與結構化設計

9.2 面向對象設計與面向對象分析的關系

9.3 面向對象設計的過程與原則

9.3.1 面向對象設計的過程

9.3.2面向對象設計的原則

9.4面向對象設計的啟發規則

9.5 系統設計

9.6 對象設計

9.7 面向對象設計實例

9.8 實驗

9.8.1 使用Rose繪制“小型二手貨交易平臺”的活動圖

9.8.2 使用Rose繪制 “小型二手貨交易平臺”的協作圖

9.8.3 使用Rose繪制 “小型二手貨交易平臺”的構件圖

9.8.4 使用Rose繪制 “小型二手貨交易平臺”的部署圖

習題

第五部分 軟件實現與測試

第 10章 軟件實現

10.1 編程語言

10.1.1 編程語言的發展與分類

10.1.2 選擇編程語言需考慮的因素

10.2 編程風格

10.3 面向對象實現

10.4 軟件實現實例

10.5 實驗:使用Django和Vue實現“小型二手貨交易平臺”的“用戶登錄模塊”

習題

第 11章 軟件測試

11.1 軟件測試的基本概念

11.1.1 軟件測試的原則

11.1.2 軟件測試模型

11.2 軟件測試的分類

11.3 測試用例

11.3.1 測試用例編寫

11.3.2 測試用例設計

11.3.3 測試用例場景

11.4 軟件測試方法

11.5 黑盒測試

11.5.1 等價類劃分法

11.5.2 邊界值分析法

11.5.3 錯誤推測法

11.5.4 因果圖法

11.5.5 決策表法

11.5.6 場景法

11.5.7 黑盒測試方法選擇

11.6 白盒測試

11.6.1 代碼檢查法

11.6.2 靜態結構分析法

11.6.3 程序插樁技術

11.6.4 邏輯覆蓋法

11.6.5 基本路徑法

11.6.6 白盒測試方法選擇

11.6.7 白盒測試與黑盒測試比較

11.7 軟件測試的一般步驟

11.8 單元測試

11.8.1 單元測試概述

11.8.2 單元測試內容

11.8.3 單元測試方法

11.8 集成測試

11.8.1 集成測試概述

11.8.2 集成測試分析

11.8.3 集成測試策略

11.10 系統測試

11.10.1 系統測試概述

11.10.2 系統測試類型

11.11 驗收測試

11.11.1驗收測試概述

11.11.2 驗收測試內容

11.11.3 α測試和β測試

11.12 回歸測試

11.13 面向對象測試

11.14 人工測試

11.15 自動化測試

11.16 自動化測試工具

11.16.1自動化測試工具的特征

11.16.2 自動化測試工具的作用和優勢

11.16.3 自動化測試工具的分類

11.16.4 自動化測試工具的選擇

11.16.5 自動化測試工具的局限性

11.17 軟件調試

11.17.1 調試過程

11.17.2 調試途徑

11.18 軟件測試實例

11.19 實驗:使用Selenium和Pytest對“小型二手貨交易平臺”的“用戶登錄模塊”進行單元測試

習題

第六部分 軟件維護與軟件工程管理

第 12章 軟件維護與軟件工程管理

12.1 軟件維護

12.1.1 軟件維護的過程

12.1.2 軟件維護的分類

12.1.3 軟件的可維護性

12.1.4 軟件維護的副作用

12.1.5 軟件再工程技術

12.2 軟件估算

12.2.1 軟件估算的概念

12.2.2 軟件估算的方法

12.2.3 軟件估算的原則與技巧

12.3 軟件開發進度計劃

12.3.1 Gantt圖

12.3.2 PERT圖

12.4 軟件開發人員組織

12.4.1 民主制程序員組

12.4.2 主程序員組

12.4.3 現代程序員組

12.5 軟件開發風險管理

12.5.1 軟件開發風險

12.5.2 軟件開發風險管理

12.6 軟件質量保證

12.6.1 軟件質量的基本概念

12.6.2 軟件質量保證的措施

12.7 軟件配置管理

12.7.1 軟件配置管理術語

12.7.2 配置管理的過程

12.7.3 配置管理的角色劃分

12.8 軟件工程標準與軟件文檔

12.8.1 軟件工程標準

12.8.2 軟件文檔

12.9 軟件過程能力成熟度模型

12.10 軟件項目管理

12.10.1 軟件項目管理概述

12.10.2 軟件項目管理與軟件工程的關系

12.11 軟件復用

12.12 實驗:使用Project管理“小型二手貨交易平臺”的開發過程

習題

附錄A 課程設計指導

附錄B 軟件開發工具視頻講解

附錄 C 案例: “小型二手貨交易平臺”(掃描二維碼獲取開發文檔和代碼)

參考文獻