本書是全國教育科學(xué)“十一五”規(guī)劃課題研究成果,針對應(yīng)用型本科計(jì)算機(jī)及相關(guān)專業(yè)而編寫,從實(shí)用的角度出發(fā),結(jié)合大量軟件項(xiàng)目的實(shí)例分析,以軟件的生存周期作為主線索,闡述軟件工程方法、應(yīng)用技術(shù)和實(shí)用工具。本書主要包括軟件工程概述、軟件立項(xiàng)與合同、需求分析、系統(tǒng)設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測試、軟件發(fā)布與實(shí)施、軟件維護(hù)、軟件配置管理、軟件項(xiàng)目管理、軟件工程常用工具及開發(fā)實(shí)例,每章均配有習(xí)題,其中很多章節(jié)還安排了典型例題解析,最后一章是開發(fā)實(shí)例,可供學(xué)生練習(xí)使用。
本書注重基礎(chǔ)性、系統(tǒng)性、實(shí)用性和新穎性,內(nèi)容深入淺出,可以作為計(jì)算機(jī)類或信息類相關(guān)專業(yè)的教材,也可供從事計(jì)算機(jī)工程與應(yīng)用工作的科技工作者參考。
內(nèi)容清晰:以軟件項(xiàng)目為對象,將軟件開發(fā)技術(shù)和軟件工程管理等方面的知識(shí)結(jié)合起來,介紹整個(gè)軟件生存周期的軟件工程活動(dòng)! (shí)踐性強(qiáng):融合實(shí)踐經(jīng)驗(yàn)和引用大量的典型案例,并對當(dāng)前流行的和常用的軟件工具進(jìn)行講解,通用且實(shí)踐性強(qiáng)! ⌒路f易讀:書中介紹的各種軟件工具都是最新版本的,內(nèi)容新穎,圖文并茂,原理、方法與實(shí)例相結(jié)合,敘述通俗易懂。
第1章 軟件工程概述
1.1 軟件與軟件危機(jī)
1.1.1 軟件的定義與特點(diǎn)
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個(gè)面向理論
1.4 軟件生存周期
1.4.1 軟件生存周期的定義
第1章 軟件工程概述
1.1 軟件與軟件危機(jī)
1.1.1 軟件的定義與特點(diǎn)
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個(gè)面向理論
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章 軟件立項(xiàng)與合同
2.1 軟件項(xiàng)目立項(xiàng)
2.1.1 軟件項(xiàng)目分類
2.1.2 項(xiàng)目立項(xiàng)
2.1.3 項(xiàng)目可行性分析
2.1.4 可行性研究報(bào)告的主要內(nèi)容
2.1.5 召開項(xiàng)目啟動(dòng)會(huì)議
2.2 系統(tǒng)流程圖
2.3 成本一效益分析
2.3.1 成本估算方法
2.3.2 效益分析
2.4 軟件投標(biāo)及簽訂合同
2.5 制定項(xiàng)目任務(wù)書
2.6 軟件項(xiàng)目計(jì)劃
2.7 利用Project制定項(xiàng)目計(jì)劃
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ū)ο蠓治龅?個(gè)模型
3.6.4 面向?qū)ο蠓治龅?個(gè)層次
3.6.5 統(tǒng)一建模語言
3.7 軟件需求規(guī)格說明書
3.8 需求變更
3.8.1 需求變更的代價(jià)和風(fēng)險(xiǎn)
3.8.2 需求變更控制過程
3.8.3 需求變更控制報(bào)告
3.9 典型例題解析
3.10 本章小結(jié)
3.11 習(xí)題
第4章 系統(tǒng)設(shè)計(jì)
4.1 系統(tǒng)設(shè)計(jì)的基本概念
4.2 系統(tǒng)設(shè)計(jì)的目的和任務(wù)
4.2.1 概要設(shè)計(jì)的基本任務(wù)
4.2.2 詳細(xì)設(shè)計(jì)的基本任務(wù)
4.3 概要設(shè)計(jì)
4.3.1 概要設(shè)計(jì)原理
4.3.2 軟件結(jié)構(gòu)優(yōu)化準(zhǔn)則
4.3.3 軟件結(jié)構(gòu)設(shè)計(jì)的圖形工具
4.3.4 面向數(shù)據(jù)流的設(shè)計(jì)方法
4.3.5 軟件體系結(jié)構(gòu)設(shè)計(jì)
4.3.6 概要設(shè)計(jì)說明書
4.4 詳細(xì)設(shè)計(jì)
4.4.1 結(jié)構(gòu)化程序設(shè)計(jì)方法
4.4.2 詳細(xì)設(shè)計(jì)描述工具
4.4.3 用戶界面設(shè)計(jì)
4.4.4 Jackson方法
4.4.5 詳細(xì)設(shè)計(jì)說明書
4.5 數(shù)據(jù)庫設(shè)計(jì)
4.5.1 數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)
4.5.2 數(shù)據(jù)庫設(shè)計(jì)的步驟
4.5.3 數(shù)據(jù)庫設(shè)計(jì)的內(nèi)容
4.6 面向?qū)ο笤O(shè)計(jì)
4.7 典型例題解析
4.8 本章小結(jié)
4.9 習(xí)題
第5章 軟件實(shí)現(xiàn)
5.1 程序設(shè)計(jì)語言選擇
5.2 結(jié)構(gòu)化程序設(shè)計(jì)
5.2.1 關(guān)于GOTO語句的爭論
5.2.2 結(jié)構(gòu)化程序設(shè)計(jì)的原則
5.2.3 程序設(shè)計(jì)自頂向下、逐步求精
5.3 源程序設(shè)計(jì)風(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 軟件實(shí)現(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)測試與動(dòng)態(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ā)布與實(shí)施
第8章 軟件維護(hù)
第9章 軟件配置管理
第10章 軟件項(xiàng)目管理
第11章 軟件工程常用工具
第12章 開發(fā)實(shí)例
附錄
參考文獻(xiàn)