本書是全國教育科學(xué)“十一五”規(guī)劃課題研究成果,針對應(yīng)用型本科計算機(jī)及相關(guān)專業(yè)而編寫,從實用的角度出發(fā),結(jié)合大量軟件項目的實例分析,以軟件的生存周期作為主線索,闡述軟件工程方法、應(yīng)用技術(shù)和實用工具。本書主要包括軟件工程概述、軟件立項與合同、需求分析、系統(tǒng)設(shè)計、軟件實現(xiàn)、軟件測試、軟件發(fā)布與實施、軟件維護(hù)、軟件配置管理、軟件項目管理、軟件工程常用工具及開發(fā)實例,每章均配有習(xí)題,其中很多章節(jié)還安排了典型例題解析,最后一章是開發(fā)實例,可供學(xué)生練習(xí)使用。
本書注重基礎(chǔ)性、系統(tǒng)性、實用性和新穎性,內(nèi)容深入淺出,可以作為計算機(jī)類或信息類相關(guān)專業(yè)的教材,也可供從事計算機(jī)工程與應(yīng)用工作的科技工作者參考。
內(nèi)容清晰:以軟件項目為對象,將軟件開發(fā)技術(shù)和軟件工程管理等方面的知識結(jié)合起來,介紹整個軟件生存周期的軟件工程活動! 嵺`性強:融合實踐經(jīng)驗和引用大量的典型案例,并對當(dāng)前流行的和常用的軟件工具進(jìn)行講解,通用且實踐性強! ⌒路f易讀:書中介紹的各種軟件工具都是最新版本的,內(nèi)容新穎,圖文并茂,原理、方法與實例相結(jié)合,敘述通俗易懂。
第1章 軟件工程概述
1.1 軟件與軟件危機(jī)
1.1.1 軟件的定義與特點
1.1.2 軟件的發(fā)展
1.1.3 軟件危機(jī)
1.2 軟件工程簡述
1.2.1 軟件工程定義
1.2.2 軟件工程目標(biāo)與原理
1.2.3 軟件工程的基本原則
1.2.4 軟件工程的內(nèi)容
1.3 軟件開發(fā)方法和理論
1.3.1 軟件工程的3種開發(fā)方法
1.3.2 軟件工程的5個面向理論
1.4 軟件生存周期
1.4.1 軟件生存周期的定義
第1章 軟件工程概述
1.1 軟件與軟件危機(jī)
1.1.1 軟件的定義與特點
1.1.2 軟件的發(fā)展
1.1.3 軟件危機(jī)
1.2 軟件工程簡述
1.2.1 軟件工程定義
1.2.2 軟件工程目標(biāo)與原理
1.2.3 軟件工程的基本原則
1.2.4 軟件工程的內(nèi)容
1.3 軟件開發(fā)方法和理論
1.3.1 軟件工程的3種開發(fā)方法
1.3.2 軟件工程的5個面向理論
1.4 軟件生存周期
1.4.1 軟件生存周期的定義
1.4.2 軟件生存周期劃分階段的原則
1.4.3 軟件生存周期各階段的任務(wù)
1.5 軟件開發(fā)模型
1.5.1 瀑布模型
1.5.2 增量模型
1.5.3 螺旋模型
1.5.4 快速原型模型
1.5.5 噴泉模型
1.5.6 統(tǒng)一過程
1.6 典型例題解析
1.7 本章小結(jié)
1.8 習(xí)題
第2章 軟件立項與合同
2.1 軟件項目立項
2.1.1 軟件項目分類
2.1.2 項目立項
2.1.3 項目可行性分析
2.1.4 可行性研究報告的主要內(nèi)容
2.1.5 召開項目啟動會議
2.2 系統(tǒng)流程圖
2.3 成本一效益分析
2.3.1 成本估算方法
2.3.2 效益分析
2.4 軟件投標(biāo)及簽訂合同
2.5 制定項目任務(wù)書
2.6 軟件項目計劃
2.7 利用Project制定項目計劃
2.8 典型例題解析
2.9 本章小結(jié)
2.10 習(xí)題
第3章 需求分析
3.1 需求分析概述
3.1.1 需求分析的定義
3.1.2 需求分析的重要性
3.1.3 需求分析的困難
3.2 需求分析的任務(wù)、過程和主要步驟
3.2.1 需求分析的任務(wù)
3.2.2 需求分析的工作過程
3.2.3 需求分析的主要步驟
3.2.4 需求分析的原則
3.3 需求調(diào)查的開展
3.3.1 需求調(diào)查規(guī)程
3.3.2 需求調(diào)查的方法
3.4 需求分析方法
3.5 結(jié)構(gòu)化分析方法及工具
3.5.1 自頂向下逐層分解
3.5.2 數(shù)據(jù)流圖
3.5.3 數(shù)據(jù)字典
3.5.4 加工邏輯說明
3.6 面向?qū)ο蠓治龇椒?br />3.6.1 面向?qū)ο蟮幕靖拍?br />3.6.2 面向?qū)ο蠓治鲞^程
3.6.3 面向?qū)ο蠓治龅?個模型
3.6.4 面向?qū)ο蠓治龅?個層次
3.6.5 統(tǒng)一建模語言
3.7 軟件需求規(guī)格說明書
3.8 需求變更
3.8.1 需求變更的代價和風(fēng)險
3.8.2 需求變更控制過程
3.8.3 需求變更控制報告
3.9 典型例題解析
3.10 本章小結(jié)
3.11 習(xí)題
第4章 系統(tǒng)設(shè)計
4.1 系統(tǒng)設(shè)計的基本概念
4.2 系統(tǒng)設(shè)計的目的和任務(wù)
4.2.1 概要設(shè)計的基本任務(wù)
4.2.2 詳細(xì)設(shè)計的基本任務(wù)
4.3 概要設(shè)計
4.3.1 概要設(shè)計原理
4.3.2 軟件結(jié)構(gòu)優(yōu)化準(zhǔn)則
4.3.3 軟件結(jié)構(gòu)設(shè)計的圖形工具
4.3.4 面向數(shù)據(jù)流的設(shè)計方法
4.3.5 軟件體系結(jié)構(gòu)設(shè)計
4.3.6 概要設(shè)計說明書
4.4 詳細(xì)設(shè)計
4.4.1 結(jié)構(gòu)化程序設(shè)計方法
4.4.2 詳細(xì)設(shè)計描述工具
4.4.3 用戶界面設(shè)計
4.4.4 Jackson方法
4.4.5 詳細(xì)設(shè)計說明書
4.5 數(shù)據(jù)庫設(shè)計
4.5.1 數(shù)據(jù)庫設(shè)計的目標(biāo)
4.5.2 數(shù)據(jù)庫設(shè)計的步驟
4.5.3 數(shù)據(jù)庫設(shè)計的內(nèi)容
4.6 面向?qū)ο笤O(shè)計
4.7 典型例題解析
4.8 本章小結(jié)
4.9 習(xí)題
第5章 軟件實現(xiàn)
5.1 程序設(shè)計語言選擇
5.2 結(jié)構(gòu)化程序設(shè)計
5.2.1 關(guān)于GOTO語句的爭論
5.2.2 結(jié)構(gòu)化程序設(shè)計的原則
5.2.3 程序設(shè)計自頂向下、逐步求精
5.3 源程序設(shè)計風(fēng)格
5.3.1 源程序文檔化
5.3.2 語句結(jié)構(gòu)
5.3.3 數(shù)據(jù)說明
5.3.4 輸入和輸出
5.3.5 效率
5.4 程序復(fù)雜性度量
5.4.1 代碼行度量法
5.4.2 McCabe度量方法
5.4.3 Halstead度量方法
5.5 軟件實現(xiàn)文檔
5.6 典型例題解析
5.7 本章小結(jié)
5.8 習(xí)題
第6章 軟件測試
6.1 軟件測試目的和任務(wù)
6.2 軟件測試的原則
6.3 軟件測試的內(nèi)容
6.4 軟件測試方法
6.4.1 靜態(tài)測試與動態(tài)測試
6.4.2 黑盒測試與白盒測試
6.5 軟件測試步驟
6.5.1 單元測試
6.5.2 集成測試
6.5.3 確認(rèn)測試
6.6 測試案例分析
6.6.1 測試引言
……
第7章 軟件發(fā)布與實施
第8章 軟件維護(hù)
第9章 軟件配置管理
第10章 軟件項目管理
第11章 軟件工程常用工具
第12章 開發(fā)實例
附錄
參考文獻(xiàn)