第1章概述
1.1軟件開發(fā)的歷史與軟件危機
1.1.1個體手工方式時期
1.1.2軟件作坊時期
1.1.3程序設計時期
1.1.4軟件危機實例
1.1.5軟件危機
1.1.6軟件危機的醫(yī)治
1.2軟件工程概述
1.2.1軟件工程學科
1.2.2軟件生命周期
1.3軟件工程學發(fā)展現(xiàn)狀
1.3.1新的軟件開發(fā)模式
1.3.2計算機輔助軟件工程CASE
1.3.3軟件自動生成器
1.3.4軟件工程與人工智能
1.4軟件工程的目標與常用模型
1.4.1軟件工程的目標
1.4.2軟件工程的基本模型
1.5軟件開發(fā)的基本策略
1.5.1抽象與模型方法
1.5.2懶漢方法--復用
1.5.3模塊化方法--分解
1.5.4聰明方法--平衡
1.6軟件工程基本觀念
1.6.1一些不正確的觀念
1.6.2一些有爭議不正確的觀念
1.6.3軟件項目常見錯誤
1.7軟件行業(yè)概況
1.7.1政府管理者
1.7.2行業(yè)管理者
1.7.3中國軟件產業(yè)現(xiàn)狀
1.7.4相關信息
第2章軟件開發(fā)相關知識
2.1項目管理
2.1.1項目管理概述
2.1.2項目階段和項目生命周期
2.1.3項目屬性與目標
2.1.4項目管理知識體系
2.1.5項目管理軟件介紹
2.1.6軟件項目管理
2.1.7項目管理實施案例
2.1.8IT公司項目管理規(guī)范
2.2CMM
2.2.1CMM概述
2.2.2CMM體系結構
2.2.3初始級(等級1)
2.2.4可重復級(等級2)
2.2.5定義級(等級3)
2.2.6管理級(等級4)
2.2.7優(yōu)化級(等級5)
2.2.8CMM改進與實施
2.2.9CMM實施案例
2.3IS09000
2.3.1IS09000概述
2.3.2IS09000軟件相關規(guī)則
2.3.3軟件行業(yè)推行ISO9000的典型步驟與注意事項
2.3.4CMM和IS09000對比
2.3.51S09000范例
2.4印度軟件開發(fā)概況
2.4.1軟件企業(yè)的組織結構
2.4.2項目組結構
2.4.3項目計劃
2.4.4印度軟件項目管理
第3章軟件開發(fā)組織及人力資源管理
3.1軟件開發(fā)組織
3.1.1軟件開發(fā)組織模型
3.1.2軟件開發(fā)團隊策略
3.1.3軟件開發(fā)人員的組織與分工
3.1.4范例:J2EE項目中開發(fā)團隊的組建
3.2程序員
3.3程序經理
3.3.1程序經理素質
3.3.2程序經理技能
3.3.3程序員等級制度
3.4軟件組織人力資源管理
3.4.1組織規(guī)劃(管理規(guī)劃)
3.4.2人員組織
3.4.3團隊發(fā)展
3.5軟件集成公司組織結構范例(開發(fā)維護部分)
3.5.1產品開發(fā)立項
3.5.2設計實現(xiàn)階段
3.5.3測試階段
3.5.4產品推廣階段
3.5.5項目實施與維護階段
第4章項目計劃和項目工具
4.1項目計劃
4.1.1項目計劃概述
4.1.2項目計劃過程
4.1.3項目規(guī)劃技巧
4.1.4軟件項目開發(fā)計劃編寫規(guī)范
4.2軟件項目規(guī)模估算方法
4.2.1軟件估算的基礎與影響
4.2.2進度計劃方法
4.2.3成本估算方法
4.3項目計劃方法
4.3.1甘特圖(GanttChart)
4.3.2網絡計劃方法
4.3.3活動排序的工具和方法
4.3.4工作分解結構(WBS)
4.3.5責任矩陣
4.3.6工期壓縮方法--時間/成本平衡法
第5章可行性分析
5.1可行性分析定義
5.2可行性分析的要素
5.2.1經濟
5.2.2技術
5.2.3社會環(huán)境
5.3可行性研究步驟
5.4可行性分析范例
5.4.1某航空機票預訂系統(tǒng)可行性分析報告
5.4.2XXX虛擬主機管理系統(tǒng)可行性分析
第6章需求分析
6.1需求分析基礎
6.1.1需求分析概念
6.1.2需求工程難點分析
6.1.3需求風險
6.2需求分析原則
6.3需求分析方法
6.3.1未雨綢繆
6.3.2靈活應變
6.3.3參考法
6.3.4需求控制方法
6.3.5原型化方法
6.4需求分析人員與工具
6.4.1需求分析人員
6.4.2需求分析工具
6.5需求分析過程
6.5.1需求類型
6.5.2需求獲取與表達
6.5.3需求評審
6.5.4需求確認與變更
6.5.5需求跟蹤
6.5.6需求驗證
6.6需求分析規(guī)范
6.7需求分析案例
6.7.1需求分析示例1--銷售系統(tǒng)
6.7.2需求分析示例2--校園學籍管理系統(tǒng)
第7章系統(tǒng)設計
7.1系統(tǒng)設計概述
7.1.1系統(tǒng)設計概念與重要性
7.1.2系統(tǒng)設計的任務與策略
7.2軟件配置管理
7.2.1配置標示/配置項
7.2.2版本管理
7.2.3變更管理
7.2.4配置審核
7.3概要設計
7.3.1軟件體系結構設計
7.3.2數(shù)據(jù)設計
7.4詳細設計
7.4.1模塊設計
7.4.2用戶界面設計
7.4.3詳細設計規(guī)范
7.5系統(tǒng)設計范例
第8章編碼.測試與改錯
8.1編碼
8.1.1程序語言特性
8.1.2程序設計語言的選擇
8.1.3編碼規(guī)范范本
8.2軟件測試
8.2.1軟件測試的教訓
8.2.2軟件測試目的與概念
8.2.3軟件測試分類
8.2.4軟件測試原則與完成準則
8.2.5軟件測試過程
8.2.6軟件測試規(guī)范
8.3改錯
8.3.1改錯步驟
8.3.2調試方法
8.3.3Bug跟蹤與管理
第9章軟件維護
9.1軟件維護常識
9.1.1維護類型
9.1.2維護比重
9.2軟件維護的代價及其影響因素
9.2.1軟件維護成本
9.2.2軟件維護影響因素
9.2.3軟件維護工作量
9.2.4軟件維護的策略
9.3軟件維護流程
9.4軟件維護檔案
9.4.1軟件維護相關報告
9.4.2軟件維護記錄
9.5維護評價與總結
9.6提高可維護性的方法
9.7逆向工程和再生工程
9.7.1逆向工程
9.7.2再生工程
第10章軟件項目開發(fā)實例
10.1系統(tǒng)結構
10.2數(shù)據(jù)庫建立
10.3系統(tǒng)功能設計
參考文獻