軟件工程(第2版·微課視頻版)
方木雲、劉輝、杭婷婷、周兵
相關主題
商品描述
目錄大綱
目錄
基本概念篇
第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習題集參考答案
參考文獻