第1章 軟件工程概述
1.1 軟件工程與軟件危機
1.1.1 軟件的發(fā)展階段
1.1.2 軟件工程與軟件危機的產生
1.2 軟件開發(fā)模型
1.2.1 軟件生命周期
1.2.2 軟件開發(fā)的瀑布型模型
1.2.3 原型化開發(fā)模型
1.2.4 面向對象的方法學
第2章 軟件計劃
2.1 軟件計劃的目標與任務
2.1.1 軟件系統(tǒng)目標定義
2.1.2 可行性研究
2.1.3 資源需求分析
2.2 軟件計劃
2.2.1 軟件進度安排
2.2.2 軟件計劃說明書
2.2.3 軟件計劃復審
第3章 軟件需求分析
3.1 需求分析概述
3.1.1 需求分析的任務
3.1.2 獲取需求的一般原則
3.2 結構化分析方法
3.2.1 數(shù)據(jù)流圖
3.2.2 數(shù)據(jù)詞典
3.2.3 應用示例
3.3 軟件需來分析文檔
3.4 需求分析復審
第4章 軟件設計
4.1 總體設計概述
4.2 軟件設計的基本概念
4.2.1 軟件設計模塊化
4.2.2 抽象與信息隱蔽原則
4.2.3 模塊獨立性
4.2.4 軟件模塊設計的啟發(fā)式規(guī)則
4.2.5 用于軟件設計的其它圖形工具
4.3 結構化設計方法
4.3.1 基于變換分析的結構映射
4.3.2 基于事務分析的結構映射
4.3.3 變換、事務混合型的結構映射
4.3.4 SD方法的實施步驟
4.4 面向數(shù)據(jù)結構的設計
4.5 詳細設計
4.5.1 SP方法
4.5.2 詳細設計的描述工具
4.5.3 軟件設計優(yōu)化
4.5.4 程序結構復雜度的度量
4.6 用戶界面設計
4.6.1 用戶界面設計的一般原則
4.6.2 基于命令行方式的界面設計
4.6.3 菜單(menu)設計方法
4.6.4 對話框設計
4.6.5 多窗口界面設計
4.7 軟件設計文檔
4.8 軟件設計復審
第5章 程序編碼
5.1 程序設計語言
5.1.1 程序設計語言分類
5.1.2 程序設計語言的特征屬性
5.1.3 選擇程序設計語言準則
5.2 程序設計要點
5.2.1 程序設計風格
5.2.2 程序設計方法
5.2.3 程序設計自動化
第6章 軟件測試
6.1 測試的墓本概念
6.1.1 軟件測試目的
6.1.2 測試任務的復雜性
6.1.3 測試的基本原則
6.1.4 測試工作的步驟
6.2 軟件測試的基本方法
6.2.1 白盒法與路徑覆蓋標準
6.2.2 黑盒法測試的基本技術
6.2.3 實用綜合測試策略
6.3 單元測試
6.3.1 單元測試內容
6.3.2 單元測試過程
6.4 集成測試
6.5 確認驗收測試
6.6 軟件調試
6.6.1 常用調試技術
6.6.2 常用調試策略
6.7 自動測試工具
6.7.1 測試數(shù)據(jù)產生程序
6.7.2 動態(tài)分析程序
6.7.3 靜態(tài)分析程序
6.7.4 文件比較程序
6.8 軟件可靠性
6.8.1 基本概念
6.8.2 估算MTTF的方法
第7章 軟件維護
7.1 軟件維護基本概念
7.2 維護過程
7.3 程序修改的步目和副作用
7.3.1 分析理解程序
7.3.2 修改程序
7.3.3 程序修改的副作用
7.3.4 重新驗證程序
7.4 軟件的可維護性
第8章 軟件項目管理
8.1 人員組織管理
8.1.1 程序設計小組
8.1.2 主程序員組
8.2 軟件質合控制
8.2.1 軟件質量指標
8.2.2 軟件質量控制
8.3 項目計劃管理
8.4 軟件成本效益估計
8.4.1 基于代碼行的成本估算方法
8.4.2 任務分解成本估算
8.4.3 經驗統(tǒng)計估算模型
8.4.4 效益估算
8.5 文檔管理
8.6 軟件配置管理
8.6.1 基本概念
8.6.2 配置標識與版本控制
8.6.3 變更控制
8.6.4 軟件配置審核
附錄:軟件工程常用文檔參考大鋼
附錄1. 可行性研究報告編寫提示
附錄2. 項目開發(fā)計劃編寫提示
附錄3. 軟件需求規(guī)格說明書編寫提示
附錄4. 概要設計說明書編寫提示
附錄5. 詳細設計說明書編寫提示
附錄6. 測試計劃編寫提示
附錄7. 測試分析報告編寫提示
附錄8. 用戶手冊編寫提示