出版者的話
譯者序
前言
第一部分 軟件工程導論
第1章 概述
1.1 專業(yè)化軟件開發(fā)
1.1.1 軟件工程
1.1.2 軟件工程的多樣性
1.1.3 軟件工程和Web
1.2 軟件工程人員的職業(yè)道德
1.3 案例研究
1.3.1 胰島素泵控制系統
1.3.2 用于心理健康治療的患者
信息系統
1.3.3 野外氣象站
要點
進一步閱讀材料
練習
參考書目第2章 軟件過程
2.1 軟件過程模型
2.1.1 瀑布模型
2.1.2 增量式開發(fā)
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.3 Boehm的螺旋模型
2.4 Rational統一過程
要點
進一步閱讀材料
練習
參考書目第3章 敏捷軟件開發(fā)
3.1 敏捷方法
3.2 計劃驅動開發(fā)和敏捷開發(fā)
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 需求發(fā)現
4.5.2 采訪
4.5.3 腳本
4.5.4 用例
4.5.5 深入實際
4.6 需求有效性驗證
4.7 需求管理
4.7.1 需求管理規(guī)劃
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 可執(zhí)行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 宿主機一目標機開發(fā)
7.4 開源開發(fā)
要點
進一步閱讀材料
練習
參考書目第8章 軟件測試
8.1 開發(fā)測試
8.1.1 單元測試
8.1.2 選擇單元測試案例
8.1.3 組件測試
8.1.4 系統測試
8.2 測試驅動開發(fā)
8.3 發(fā)布測試
8.3.1 基于需求的測試
8.3.2 情景測試
8.3.3 性能測試
8.4 用戶測試
要點
進一步閱讀材料
練習
參考書目第9章 軟件進化
9.1 進化過程
9.2 程序進化的動態(tài)特性
9.3 軟件維護
9.3.1 維護預測
9.3.2 軟件再工程
9.3.3 通過重構進行預防性維護
9.4 遺留系統管理
要點
進一步閱讀材料
練習
參考書目
第二部分 可依賴性和信息安全性
第三部分 高級軟件工程
第四部分 軟件管理