1 緒論
1.1 軟件與軟件危機
1.1.1 軟件的特點
1.1.2 軟件生產的發(fā)展
1.1.3 軟件危機
1.2 軟件工程
1.2.1 軟件工程的概念
1.2.2 軟件工程的內容和目標
1.2.3 軟件工程的基本原則
1.3 軟件工程面臨的主要問題
1.4 軟件開發(fā)方法
1.4.1 結構化開發(fā)方法
1.4.2 Jackson方法
1.4.3 面向對象的開發(fā)方法
1.5 軟件工程的學習
習題與思考題
2 軟件生存周期與軟件開發(fā)模型
2.1 軟件生存周期
2.2 軟件開發(fā)模型
2.2.1 瀑布模型
2.2.2 快速原型模型
2.2.3 增量模型
2.2.4 螺旋模型
2.3 可行性研究
2.3.1 可行性研究的任務
2.3.2 可行性研究的步驟
習題與思考題
3 需求分析
3.1 需求分析的特點
3.2 需求分析的任務與步驟
3.3 需求獲取的內容、方法與原則
3.3.1 需求獲取的內容
3.3.2 需求獲取的方法
3.3.3 需求分析的原則
3.4 結構化分析建模
3.4.1 結構化分析模型
3.4.2 結構化分析與描述工具
3.5 需求復審
習題與思考題
4 軟件設計
4.1 軟件設計的基本概念和原理
4.1.1 模塊與模塊化
4.1.2 抽象與細化
4.1.3 信息隱蔽
4.1.4 模塊的獨立性
4.1.5 由底向上與自頂向下設計
4.1.6 結構化設計原則
4.2 概要設計(總體設計)
4.2.1 從分析模型導出設計模型
4.2.2 面向數據流的設計方法
4.2.3 變換設計
4.2.4 事務設計
4.2.5 設計的后處理
4.3 詳細設計
4.3.1 詳細設計的目的與任務
4.3.2 詳細設計的原則與方法
4.3.3 詳細設計工具
4.4 面向數據結構的設計方法
4.4.1 Jackson表示法
4.4.2 Jacksn程序設計方法
習題與思考題-
5 編碼
6 軟件測試
7 軟件維護
8 面向對象軟件開發(fā)方法
9 小軟件項目的開發(fā)
附錄 軟件開發(fā)文檔編寫規(guī)范
參考文獻