軟件工程(第2版·微課視頻版)

方木雲、劉輝、杭婷婷、周兵

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • ISBN: 730263355X
  • ISBN-13: 9787302633556
  • 下單後立即進貨 (約4週~6週)

  • 軟件工程(第2版·微課視頻版)-preview-1
  • 軟件工程(第2版·微課視頻版)-preview-2
  • 軟件工程(第2版·微課視頻版)-preview-3
軟件工程(第2版·微課視頻版)-preview-1

商品描述

本書圍繞軟件的基本概念、開發方法、開發工具、管理、實踐和文檔6部分來選取和組織材料。基本概念部分包括軟件、軟件危機、軟件工程和計算模型; 開發方法部分包括基於軟件過程的方法和基於構造粒度的方法,前者介紹瀑布型方法、快速原型方法和其他一些方法,後者介紹面向對象方法、面向構件方法、面向Agent方法、面向SOA方法和麵向雲計算方法; 開發工具部分包括CASE工具概念、實例和發展趨勢; 管理部分包括項目招投標、人員、進度、成本、質量和風險等管理; 實踐部分包括信息系統開發、類製作、構件製作、SOA實現、雲平臺體驗和CASE工具製作; 文檔部分包含12種重要的模板。 本書可作為高校本科生的教材,也可以作為教師和廣大軟件工程人員的參考書。

目錄大綱

目錄

基本概念篇

第1章基本概念

1.1軟件

1.1.1軟件的定義

1.1.2軟件的分類

1.2軟件危機

1.3軟件工程

1.4計算模型

1.4.1單機計算模型

1.4.2分佈計算模型

1.4.3並行計算模型

1.4.4網格計算模型

1.4.5普適計算模型

1.4.6雲計算模型

1.4.7霧計算模型

1.4.8邊緣計算模型

1.4.9區塊鏈計算模型

1.5計算服務

思考題

軟件開發方法篇·基於軟件過程的方法

第2章瀑布型方法

2.1軟件過程

2.1.1軟件過程的提出

2.1.2軟件過程的含義

2.1.3軟件過程的規範

2.1.4軟件工程的評估與改進

2.2瀑布型方法

思考題

第3章快速原型方法

3.1快速原型方法的產生

3.2快速原型方法的概念

3.2.1進化式原型開發

3.2.2拋棄式原型開發

3.3快速原型方法的案例

思考題

第4章其他方法

4.1增量方法

4.1.1增量方法的產生

4.1.2增量式開發

4.1.3增量方法的案例

4.2螺旋方法

4.3敏捷方法

4.3.1敏捷方法的產生

4.3.2敏捷方法的典型模型

4.3.3敏捷方法的案例

4.4面向復用的方法

4.5形式化方法

4.6凈室方法

思考題

第5章需求分析

5.1需求分析的概念

5.1.1軟件需求定義

5.1.2軟件需求分析

5.1.3需求分析的要求

5.1.4需求分析的重要性

5.2需求分析的過程、內容和任務

5.2.1需求分析的過程

5.2.2需求分析的內容

5.2.3需求分析的任務

5.3需求分析的方法

5.4需求描述工具

5.4.1數據流圖

5.4.2數據字典

5.4.3結構化語言

5.4.4判定表

5.4.5判定樹

5.5需求分析文檔

5.5.1需求文檔完成的目標

5.5.2需求文檔的特點

5.5.3需求文檔編寫的一般原則

5.5.4需求文檔的編寫格式

5.6進行需求評審

5.6.1需求評審的方法

5.6.2需求評審的內容

5.6.3需求評審的測試

思考題

第6章概要設計

6.1概要設計概論

6.2概要設計原理

6.2.1模塊化

6.2.2抽象化

6.2.3逐步求精

6.2.4信息隱藏和局部化

6.2.5模塊獨立性

6.2.6模塊層次化

6.2.7啟發式規則

6.3概要設計方法總結

6.4概要設計文檔

思考題

第7章界面設計

7.1用戶界面設計

7.2用戶界面設計原則

7.3信息輸入方式

7.4信息輸出方式

7.5幫助系統

7.5.1錯誤消息

7.5.2用戶文檔

7.6界面評價

思考題

第8章詳細設計

8.1詳細設計的作用

8.2詳細設計的工具

思考題

第9章測試

9.1軟件測試定義

9.1.1測試的目的

9.1.2測試的基本原則

9.2軟件測試模型

9.3軟件測試方法

9.3.1黑盒測試方法

9.3.2白盒測試方法

9.3.3灰盒測試方法

9.4測試過程與測試文檔

思考題

第10章維護和演化

10.1軟件維護

10.2軟件演化的產生

10.3軟件演化理論

10.3.1演化與維護的關系

10.3.2軟件演化的分類

思考題

軟件開發方法篇·基於構造粒度的方法

第11章面向對象方法

11.1UML概述

11.1.1UML產生的背景

11.1.2UML定義

11.2UML的研究內容

11.2.1UML語言的定義

11.2.2UML的圖形表示法

11.3UML建模過程與在RUP中的應用

11.3.1UML建模過程

11.3.2UML在RUP中的應用

思考題

第12章面向構件方法

12.1軟件體系結構的形成

12.1.1無體系結構階段

12.1.2萌芽階段

12.1.3初級階段

12.1.4高級階段

12.2軟件體系結構的概念

12.3軟件體系結構的要素

12.3.1構件

12.3.2連接件

12.3.3約束(配置)

12.4軟件體系結構的作用

12.5基於體系結構的軟件開發過程

思考題

第13章面向Agent方法

13.1面向Agent的技術

13.1.1Agent的基本概念

13.1.2Agent的體系架構

13.1.3Agent的組織類型

13.1.4Agent與組件的對比

13.1.5語義復用的Agent和組件

13.2面向Agent的軟件工程

13.2.1面向Agent的研究內容

13.2.2面向Agent的開發過程

13.3面向Agent的經典開發方法

13.3.1Gaia方法

13.3.2Tropos方法

13.3.3MASE方法

思考題

第14章面向SOA方法

14.1面向服務體系架構的產生

14.1.1傳統的軟件體系結構

14.1.2基於組件的軟件體系結構

14.1.3面向服務的體系結構

14.2SOA的基本概念

14.2.1SOA的定義

14.2.2SOA的架構

14.2.3SOA的優點

14.3支持SOA的Web Service技術

14.3.1SOA的基本原則

14.3.2基於SOA的解決方案

14.3.3Web Service技術

14.3.4SOA架構的不足

14.4適於SOA的建模方法

14.4.1MDA

14.4.2敏捷方法

14.4.3SOA的五視圖法

14.5基於SOA架構的軟件開發方法

14.5.1面向服務的架構

14.5.2基於SOA架構技術的優勢

14.5.3SOA應用的構建步驟

14.5.4SOAD與傳統軟件開發的區別

思考題

第15章面向雲計算方法

15.1雲計算的基本概念和主要特徵

15.1.1雲計算的基本概念

15.1.2雲計算的主要特徵

15.1.3雲計算的分類

15.1.4雲計算與網格計算

15.1.5雲計算的現狀和發展趨勢

15.2雲計算的原理與關鍵技術

15.2.1雲計算的原理

15.2.2雲計算的實現機制

15.2.3Google雲計算技術

思考題

軟件開發工具篇

第16章CASE工具

16.1CASE工具概念

16.1.1CASE定義

16.1.2CASE相關概念

16.1.3CASE開發環境

16.1.4CASE工具組成

16.2CASE優勢

16.3CASE工具實例

16.3.1CASE工具的產生

16.3.2常見的CASE工具

16.4CASE發展趨勢

思考題

軟件管理篇

第17章軟件項目

17.1項目立項

17.1.1項目基本概念

17.1.2軟件項目的特點

17.1.3軟件項目的立項

17.1.4軟件立項文檔

17.2項目招投標

17.2.1項目招標與投標的概念

17.2.2項目招標與投標的過程

17.2.3招標書與投標書的編寫

17.3項目合同簽署

17.3.1合同的概念

17.3.2簽訂合同

思考題

第18章人員管理

18.1軟件開發人員構成

18.2人思維的局限性

18.2.1記憶結構

18.2.2問題的解決

18.2.3工作動力

18.3小組協作

18.3.1小組的構成

18.3.2小組的凝聚力

18.3.3小組的溝通

18.4選擇和留住職員

18.5激勵制度

思考題

第19章進度管理

19.1項目進度

19.2條形圖和活動網絡圖

思考題

第20章成本管理

20.1軟件成本和報價

20.2軟件生產率

20.3成本估算技術

20.4成本估算模型

思考題

第21章質量管理

21.1軟件質量定義

21.2軟件質量的度量

21.3軟件質量模型

21.4軟件質量保證

21.4.1質量標準

21.4.2質量規劃

21.4.3質量控制

21.4.4質量評估

思考題

第22章風險管理

22.1風險識別

22.2風險分析

22.3風險規劃

22.4風險監控

22.5常見風險及其處理

思考題

軟件實踐篇

第23章基於軟件過程方法的實驗

23.1需求分析

23.1.1數據流圖

23.1.2數據字典

23.2概要設計

23.3軟件界面設計

23.3.1菜單設計

23.3.2窗體設計

23.4詳細設計

23.5軟件編碼

23.6軟件測試

第24章基於構造粒度方法的實驗

24.1類製作

24.1.1窗體設計

24.1.2DBHelper類製作

24.1.3DBHelper類使用

24.2構件製作

24.2.1DLL的簡單介紹

24.2.2用VB做一個DLL文件

24.2.3對ActiveX DLL的測試

24.2.4OCX控件的介紹

24.2.5用VB做一個OCX控件

24.2.6對OCX控件的測試

24.3SOA

24.3.1SOA的定義

24.3.2SOA的實現

24.4雲平臺體驗

24.4.1雲平臺介紹

24.4.2雲平臺實例

第25章CASE工具製作

25.1CASE工具介紹

25.2CASE工具製作

軟件文檔篇

附錄A軟件工程項目文檔模板

附錄A.1可行性研究報告(ISO標準)

附錄A.2需求分析文檔[需求規格說明書(ISO標準版)]

附錄A.3項目計劃書

附錄A.4數據要求說明書

附錄A.5概要設計文檔

附錄A.6詳細設計文檔

附錄A.7模塊開發說明

附錄A.8軟件測試報告

附錄A.9軟件維護報告

附錄A.10軟件使用手冊

附錄A.11開發招標書

附錄A.12開發合同樣本

附錄B習題集

附錄C習題集參考答案

參考文獻