內容簡介
《軟體工程(原書第9版)》是系統介紹軟體工程理論的經典教材,自1982年初版以來,隨著軟體工程學科的不斷發展,不斷更新版本,影響了一代又一代軟體工程人才,對學科本身也產生了重大影響。本版保留了上一版中的軟體工程的基本材料,但對各章都進行了修改和更新,並增加了很多有關其他主題的新材料。
《軟體工程(原書第9版)》包含四個部分:第一部分是對軟體工程的一般性介紹,包括軟體工程過程和敏捷開發,以及面向對象的設計和設計模式的使用;第二部分介紹可依賴性和信息安全性問題;第三部分介紹高級軟體工程;第四部分介紹軟體管理,重點介紹技術管理問題。
《軟體工程(原書第9版)》適合作為軟體和系統工程專業本科生或研究生教材,同時也是軟體工程師難得的優秀參考書籍。
目錄
《軟體工程(原書第9版)》
出版者的話
譯者序
前言
第一部分軟體工程導論
第1章概述
1.1專業化軟體開發
1.1.1軟體工程
1.1.2軟體工程的多樣性
1.1.3軟體工程和web
1.2軟體工程人員的職業道德
1.3案例研究
1.3.1胰島素泵控制系統
1.3.2用於心理健康治療的患者信息系統
1.3.3野外氣象站
要點
進一步閱讀材料
練習
參考書目
第2章軟體過程
.2.1軟體過程模型
2.1.1瀑布模型
2.1.2增量式開發
2.1.3面向復用的軟體工程
2.2過程活動
2.2.1軟體描述
2.2.2軟體設計和實現
2.2.3軟體有效性驗證
2.2.4軟體進化
2.3應對變更
2.3.1原型構造
2.3.2增量式交付
2.3.3boehm的螺旋模型
2.4rational統一過程
要點
進一步閱讀材料
練習
參考書目
第3章敏捷軟體開發
3.1敏捷方法
3.2計畫驅動開發和敏捷開發
3.3極限編程
3.3.1極限編程中的測試
3.3.2結對編程
3.4敏捷項目管理
3.5可擴展的敏捷方法
要點
進一步閱讀材料
練習
參考書目
第4章需求工程
4.1功能需求和非功能需求
4.1.1功能需求
4.1.2非功能需求
4.2軟體需求文檔
4.3需求描述
4.3.1自然語言描述
4.3.2結構化描述
4.4需求工程過程
4.5需求導出和分析
4.5.1需求發現
4.5.2採訪
4.5.3腳本
4.5.4用例
4.5.5深入實際
4.6需求有效性驗證
4.7需求管理
4.7.1需求管理規劃
4.7.2需求變更管理
要點
進一步閱讀材料
練習
參考書目
第5章系統建模
5.1上下文模型
5.2互動模型
5.2.1用例建模
5.2.2時序圖
5.3結構模型
5.3.1類圖
5.3.2泛化
5.3.3聚合
5.4行為模型
5.4.1數據驅動的建模
5.4.2事件驅動模型
5.5模型驅動工程
5.5.1模型驅動體系結構
5.5.2可執行uml
要點
進一步閱讀材料
練習
參考書目
第6章體系結構設計
6.1體系結構設計決策
6.2體系結構視圖
6.3體系結構模式
6.3.1分層體系結構
6.3.2容器體系結構
6.3.3客戶機-伺服器體系結構
6.3.4管道和過濾器體系結構
6.4套用體系結構
6.4.1事務處理系統
6.4.2信息系統
6.4.3語言處理系統
要點
進一步閱讀材料
練習
參考書目
第7章設計與實現
7.1利用uml進行面向對象設計
7.1.1系統上下文與互動
7.1.2體系結構的設計
7.1.3對象類識別
7.1.4設計模型
7.1.5接口描述
7.2設計模式
7.3實現問題
7.3.1復用
7.3.2配置管理
7.3.3宿主機-目標機開發
7.4開源開發
要點
進一步閱讀材料
練習
參考書目
第8章軟體測試
8.1開發測試
8.1.1單元測試
8.1.2選擇單元測試案例
8.1.3組件測試
8.1.4系統測試
8.2測試驅動開發
8.3發布測試
8.3.1基於需求的測試
8.3.2情景測試
8.3.3性能測試
8.4用戶測試
要點
進一步閱讀材料
練習
參考書目
第9章軟體進化
9.1進化過程
9.2程式進化的動態特性
9.3軟體維護
9.3.1維護預測
9.3.2軟體再工程
9.3.3通過重構進行預防性維護
9.4遺留系統管理
要點
進一步閱讀材料
練習
參考書目
第二部分可依賴性和信息安全性
第10章社會技術系統
10.1複雜系統
10.1.1系統總體特性
10.1.2系統非確定性
10.1.3成功標準
10.2系統工程
10.3系統採購
10.4系統開發
10.5系統運行
10.5.1人為錯誤
10.5.2系統進化
要點
進一步閱讀材料
練習
參考書目
第11章可依賴性與信息安全性
11.1可依賴性特徵
11.2可用性和可靠性
11.3安全性
11.4信息安全性
要點
進一步閱讀材料
練習
參考書目
第12章可依賴性與信息安全性描述
12.1風險驅動的需求描述
12.2安全性描述
12.2.1危險識別
12.2.2危險評估
12.2.3危險分析
12.2.4風險降低
12.3可靠性描述
12.3.1可靠性度量
12.3.2非功能性的可靠性需求
12.3.3功能可靠性描述
12.4信息安全性描述
12.5形式化描述
要點
進一步閱讀材料
練習
參考書目
第13章可依賴性工程
13.1冗餘性和多樣性
13.2可依賴的過程
13.3可依賴的系統體系結構
13.3.1保護性系統
13.3.2自監控系統體系結構
13.3.3n-版本編程
13.3.4軟體多樣性
13.4可依賴的編程
要點
進一步閱讀材料
練習
參考書目
第14章信息安全工程
14.1信息安全風險管理
14.1.1生存期風險評估
14.1.2運行風險評估
14.2面向信息安全的設計
14.2.1體系結構設計
14.2.2設計準則
14.2.3部署設計
14.3系統生存能力
要點
進一步閱讀材料
練習
參考書目
第15章可依賴性與信息安全保證
15.1靜態分析
15.1.1檢驗和形式化方法
15.1.2模型檢測
15.1.3自動靜態分析
15.2可靠性測試
15.3信息安全性測試
15.4過程保證
15.5安全性和可依賴性案例
15.5.1結構化論證
15.5.2結構化的安全性論證
要點
進一步閱讀材料
練習
參考書目
第三部分高級軟體工程
第16章軟體復用
16.1復用概覽
16.2套用框架
16.3軟體產品線
16.4cots產品的復用
16.4.1cots解決方案系統
16.4.2cots集成系統
要點
進一步閱讀材料
練習
參考書目
第17章基於組件的軟體工程
17.1組件和組件模型
17.2cbse過程
17.2.1面向復用的cbse
17.2.2基於復用的cbse
17.3組件合成
要點
進一步閱讀材料
練習
參考書目
第18章分散式軟體工程
18.1分散式系統的問題
18.1.1互動模型
18.1.2中間件
18.2客戶機-伺服器計算
18.3分散式系統的體系結構模式
18.3.1主從體系結構
18.3.2兩層客戶機-伺服器結構
18.3.3多層客戶機-伺服器結構
18.3.4分散式組件體系結構
18.3.5對等體系結構
18.4軟體作為服務
要點
進一步閱讀材料
練習
參考書目
第19章面向服務的體系結構
19.1服務作為可復用的組件
19.2服務工程
19.2.1可選服務的識別
19.2.2服務接口設計
19.2.3服務實現和部署
19.2.4遺留系統服務
19.3使用服務的軟體開發
19.3.1工作流設計和實現
19.3.2服務測試
要點
進一步閱讀材料
練習
參考書目
第20章嵌入式軟體
20.1嵌入式系統設計
20.1.1實時系統建模
20.1.2實時編程
20.2體系結構模式
20.2.1觀察和反應
20.2.2環境控制
20.2.3處理管道
20.3時序分析
20.4實時作業系統
要點
進一步閱讀材料
練習
參考書目
第21章面向方面的軟體工程
21.1關注點分離
21.2方面、連線點和切入點
21.3採用方面的軟體工程
21.3.1面向關注點的需求工程
21.3.2面向方面的設計和編程
21.3.3檢驗和有效性驗證
要點
進一步閱讀材料
練習
參考書目
第四部分軟 件 管 理
第22章項目管理
22.1風險管理
22.1.1風險識別
22.1.2風險分析
22.1.3風險規劃
22.1.4風險監控
22.2人員管理
22.3團隊協作
22.3.1成員挑選
22.3.2小組的結構
22.3.3小組的溝通
要點
進一步閱讀材料
練習
參考書目
第23章項目規劃
23.1軟體報價
23.2計畫驅動的開發
23.2.1項目計畫
23.2.2規划過程
23.3項目進度安排
23.4敏捷規劃
23.5估算技術
23.5.1算法成本建模
23.5.2cocomo Ⅱ模型
23.5.3項目的工期和人員配備
要點
進一步閱讀材料
練習
參考書目
第24章質量管理
24.1軟體質量
24.2軟體標準
24.3複查與審查
24.3.1複查過程
24.3.2程式審查
24.4軟體度量和量度
24.4.1產品量度
24.4.2軟體組件分析
24.4.3度量歧義
要點
進一步閱讀材料
練習
參考書目
第25章配置管理
25.1變更管理
25.2版本管理
25.3系統構建
25.4發布版本管理
要點
進一步閱讀材料
練習
參考書目
第26章過程改善
26.1過程改善過程
26.2過程度量
26.3過程分析
26.4過程變更
26.5cmmi過程改善框架
26.5.1分階段的cmmi模型
26software engineering,9e
出版者的話
譯者序
前言
第一部分軟體工程導論
第1章概述
1.1專業化軟體開發
1.1.1軟體工程
1.1.2軟體工程的多樣性
1.1.3軟體工程和web
1.2軟體工程人員的職業道德
1.3案例研究
1.3.1胰島素泵控制系統
1.3.2用於心理健康治療的患者信息系統
1.3.3野外氣象站
要點
進一步閱讀材料
練習
參考書目
第2章軟體過程
2.1軟體過程模型
2.1.1瀑布模型
2.1.2增量式開發
2.1.3面向復用的軟體工程
2.2過程活動
2.2.1軟體描述
2.2.2軟體設計和實現
2.2.3軟體有效性驗證
2.2.4軟體進化
2.3應對變更
2.3.1原型構造
2.3.2增量式交付
2.3.3boehm的螺旋模型
2.4rational統一過程
要點
進一步閱讀材料
練習
參考書目
第3章敏捷軟體開發
3.1敏捷方法
3.2計畫驅動開發和敏捷開發
3.3極限編程
3.3.1極限編程中的測試
3.3.2結對編程
3.4敏捷項目管理
3.5可擴展的敏捷方法
要點
進一步閱讀材料
練習
參考書目
第4章需求工程
4.1功能需求和非功能需求
4.1.1功能需求
4.1.2非功能需求
4.2軟體需求文檔
4.3需求描述
4.3.1自然語言描述
4.3.2結構化描述
4.4需求工程過程
4.5需求導出和分析
4.5.1需求發現
4.5.2採訪
4.5.3腳本
4.5.4用例
4.5.5深入實際
4.6需求有效性驗證
4.7需求管理
4.7.1需求管理規劃
4.7.2需求變更管理
要點
進一步閱讀材料
練習
參考書目
第5章系統建模
5.1上下文模型
5.2互動模型
5.2.1用例建模
5.2.2時序圖
5.3結構模型
5.3.1類圖
5.3.2泛化
5.3.3聚合
5.4行為模型
5.4.1數據驅動的建模
5.4.2事件驅動模型
5.5模型驅動工程
5.5.1模型驅動體系結構
5.5.2可執行uml
要點
進一步閱讀材料
練習
參考書目
第6章體系結構設計
6.1體系結構設計決策
6.2體系結構視圖
6.3體系結構模式
6.3.1分層體系結構
6.3.2容器體系結構
6.3.3客戶機-伺服器體系結構
6.3.4管道和過濾器體系結構
6.4套用體系結構
6.4.1事務處理系統
6.4.2信息系統
6.4.3語言處理系統
要點
進一步閱讀材料
練習
參考書目
第7章設計與實現
7.1利用uml進行面向對象設計
7.1.1系統上下文與互動
7.1.2體系結構的設計
7.1.3對象類識別
7.1.4設計模型
7.1.5接口描述
7.2設計模式
7.3實現問題
7.3.1復用
7.3.2配置管理
7.3.3宿主機-目標機開發
7.4開源開發
要點
進一步閱讀材料
練習
參考書目
第8章軟體測試
8.1開發測試
8.1.1單元測試
8.1.2選擇單元測試案例
8.1.3組件測試
8.1.4系統測試
8.2測試驅動開發
8.3發布測試
8.3.1基於需求的測試
8.3.2情景測試
8.3.3性能測試
8.4用戶測試
要點
進一步閱讀材料
練習
參考書目
第9章軟體進化
9.1進化過程
9.2程式進化的動態特性
9.3軟體維護
9.3.1維護預測
9.3.2軟體再工程
9.3.3通過重構進行預防性維護
9.4遺留系統管理
要點
進一步閱讀材料
練習
參考書目
第二部分可依賴性和信息安全性
第10章社會技術系統
10.1複雜系統
10.1.1系統總體特性
10.1.2系統非確定性
10.1.3成功標準
10.2系統工程
10.3系統採購
10.4系統開發
10.5系統運行
10.5.1人為錯誤
10.5.2系統進化
要點
進一步閱讀材料
練習
參考書目
第11章可依賴性與信息安全性
11.1可依賴性特徵
11.2可用性和可靠性
11.3安全性
11.4信息安全性
要點
進一步閱讀材料
練習
參考書目
第12章可依賴性與信息安全性描述
12.1風險驅動的需求描述
12.2安全性描述
12.2.1危險識別
12.2.2危險評估
12.2.3危險分析
12.2.4風險降低
12.3可靠性描述
12.3.1可靠性度量
12.3.2非功能性的可靠性需求
12.3.3功能可靠性描述
12.4信息安全性描述
12.5形式化描述
要點
進一步閱讀材料
練習
參考書目
第13章可依賴性工程
13.1冗餘性和多樣性
13.2可依賴的過程
13.3可依賴的系統體系結構
13.3.1保護性系統
13.3.2自監控系統體系結構
13.3.3n-版本編程
13.3.4軟體多樣性
13.4可依賴的編程
要點
進一步閱讀材料
練習
參考書目
第14章信息安全工程
14.1信息安全風險管理
14.1.1生存期風險評估
14.1.2運行風險評估
14.2面向信息安全的設計
14.2.1體系結構設計
14.2.2設計準則
14.2.3部署設計
14.3系統生存能力
要點
進一步閱讀材料
練習
參考書目
第15章可依賴性與信息安全保證
15.1靜態分析
15.1.1檢驗和形式化方法
15.1.2模型檢測
15.1.3自動靜態分析
15.2可靠性測試
15.3信息安全性測試
15.4過程保證
15.5安全性和可依賴性案例
15.5.1結構化論證
15.5.2結構化的安全性論證
要點
進一步閱讀材料
練習
參考書目
第三部分高級軟體工程
第16章軟體復用
16.1復用概覽
16.2套用框架
16.3軟體產品線
16.4cots產品的復用
16.4.1cots解決方案系統
16.4.2cots集成系統
要點
進一步閱讀材料
練習
參考書目
第17章基於組件的軟體工程
17.1組件和組件模型
17.2cbse過程
17.2.1面向復用的cbse
17.2.2基於復用的cbse
17.3組件合成
要點
進一步閱讀材料
練習
參考書目
第18章分散式軟體工程
18.1分散式系統的問題
18.1.1互動模型
18.1.2中間件
18.2客戶機-伺服器計算
18.3分散式系統的體系結構模式
18.3.1主從體系結構
18.3.2兩層客戶機-伺服器結構
18.3.3多層客戶機-伺服器結構
18.3.4分散式組件體系結構
18.3.5對等體系結構
18.4軟體作為服務
要點
進一步閱讀材料
練習
參考書目
第19章面向服務的體系結構
19.1服務作為可復用的組件
19.2服務工程
19.2.1可選服務的識別
19.2.2服務接口設計
19.2.3服務實現和部署
19.2.4遺留系統服務
19.3使用服務的軟體開發
19.3.1工作流設計和實現
19.3.2服務測試
要點
進一步閱讀材料
練習
參考書目
第20章嵌入式軟體
20.1嵌入式系統設計
20.1.1實時系統建模
20.1.2實時編程
20.2體系結構模式
20.2.1觀察和反應
20.2.2環境控制
20.2.3處理管道
20.3時序分析
20.4實時作業系統
要點
進一步閱讀材料
練習
參考書目
第21章面向方面的軟體工程
21.1關注點分離
21.2方面、連線點和切入點
21.3採用方面的軟體工程
21.3.1面向關注點的需求工程
21.3.2面向方面的設計和編程
21.3.3檢驗和有效性驗證
要點
進一步閱讀材料
練習
參考書目
第四部分軟 件 管 理
第22章項目管理
22.1風險管理
22.1.1風險識別
22.1.2風險分析
22.1.3風險規劃
22.1.4風險監控
22.2人員管理
22.3團隊協作
22.3.1成員挑選
22.3.2小組的結構
22.3.3小組的溝通
要點
進一步閱讀材料
練習
參考書目
第23章項目規劃
23.1軟體報價
23.2計畫驅動的開發
23.2.1項目計畫
23.2.2規划過程
23.3項目進度安排
23.4敏捷規劃
23.5估算技術
23.5.1算法成本建模
23.5.2cocomo Ⅱ模型
23.5.3項目的工期和人員配備
要點
進一步閱讀材料
練習
參考書目
第24章質量管理
24.1軟體質量
24.2軟體標準
24.3複查與審查
24.3.1複查過程
24.3.2程式審查
24.4軟體度量和量度
24.4.1產品量度
24.4.2軟體組件分析
24.4.3度量歧義
要點
進一步閱讀材料
練習
參考書目
第25章配置管理
25.1變更管理
25.2版本管理
25.3系統構建
25.4發布版本管理
要點
進一步閱讀材料
練習
參考書目
第26章過程改善
26.1過程改善過程
26.2過程度量
26.3過程分析
26.4過程變更
26.5cmmi過程改善框架
26.5.1分階段的cmmi模型
26.5.2連續cmmi模型
要點
進一步閱讀材料
練習
參考書目
術語表5.2連續cmmi模型
要點
進一步閱讀材料
練習
參考書目
術語表