前言
第1章 軟件工程概述
1.1軟件工程中的常見問題
1.1.1軟件
1.1.2軟件危機(jī)
1.2軟件工程
1.2.1軟件工程的定義與原理
1.2.2軟件工程與計算機(jī)科學(xué)
1.2.3軟件工程目標(biāo)
1.2.4軟件工程面臨的挑戰(zhàn)
1.3軟件過程和軟件生命周期
1.3.1軟件過程
1.3.2軟件生命周期
1.4軟件開發(fā)模型
1.4.1瀑布模型
1.4.2演化模型
1.4.3原型模型
1.4.4螺旋模型
1.4.5噴泉模型及面向?qū)ο蟮拈_發(fā)過程
1.4.6基于四代技術(shù)的模型
1.4.7智能模型
1.5職業(yè)道德
1.6本章小結(jié)
習(xí)題
第2章 軟件項目管理
2.1軟件項目管理概述
2.1.1軟件項目管理的概念
2.1.2軟件項目管理的特點
2.1.3軟件項目管理的內(nèi)容
2.1.4項目的組織模式
2.1.5項目的人員管理
2.1.6軟件配置管理
2.2軟件項目規(guī)劃
2.2.1項目規(guī)劃的基本概念
2.2.2項目規(guī)劃的步驟
2.2.3項目規(guī)劃的原則
2.2.4項目規(guī)劃的形成文件
2.2.5項目規(guī)劃過程之間的相互聯(lián)系
2.3軟件項目風(fēng)險管理
2.3.1風(fēng)險管理概述
2.3.2軟件項目的風(fēng)險策略
2.3.3軟件風(fēng)險
2.3.4風(fēng)險管理的過程
2.3.5軟件風(fēng)險的總結(jié)
2.4軟件項目進(jìn)度管理
2.4.1項目進(jìn)度的基本概念
2.4.2制定進(jìn)度計劃
2.4.3面向網(wǎng)絡(luò)化管理
2.4.4建立里程碑事件
2.4.5實施保證
2.5軟件項目質(zhì)量管理
2.5.1基本定義
2.5.2質(zhì)量管理主要內(nèi)容
2.5.3技術(shù)與方法
2.5.4.質(zhì)量管理實施
2.6本章小結(jié)
習(xí)題
第3章 軟件系統(tǒng)及可行性研究
3.1用戶中心設(shè)計——UCD方法
3.2計算機(jī)系統(tǒng)
3.2.1硬件和硬件工程
3.2.2軟件和軟件工程
3.2.3人機(jī)工程
3.2.4數(shù)據(jù)庫和數(shù)據(jù)庫工程
3.3可行性研究
3.3.1可行性研究的任務(wù)
3.3.2技術(shù)可行性
3.3.3操作可行性
3.3.4經(jīng)濟(jì)可行性.
3.3.5可行性研究的步驟
3.3.6方案選擇
3.4系統(tǒng)開發(fā)過程的新體系結(jié)構(gòu)——快速原型與面向?qū)ο?
3.5本章小結(jié)
習(xí)題
第4章 需求分析
4.1需求分析基礎(chǔ)
4.1.1分析的任務(wù)與原則
4.1.2需求建模
4.1.3開發(fā)原型系統(tǒng)
4.2結(jié)構(gòu)化分析方法
4.2.1結(jié)構(gòu)化分析的策略
.4.2.2數(shù)據(jù)流圖
4.2.3數(shù)據(jù)字典
4.2.4小說明
4.2.5結(jié)構(gòu)化分析實施步驟
4.3其他分析方法與圖形工具
4.4實體一關(guān)系圖
4.4.1數(shù)據(jù)對象、屬性與關(guān)系
4.4.2E.R方法和實體模型
4.4.3數(shù)據(jù)結(jié)構(gòu)的規(guī)范化
4.5需求規(guī)格說明與評審
4.5.1需求規(guī)格說明書的目標(biāo)與內(nèi)容
4.5.2需求評審
4.6本章小結(jié)
習(xí)題
第5章 總體設(shè)計
5.1總體設(shè)計的任務(wù)及過程
5.1.1設(shè)計供選擇的方案
5.1.2功能解剖和設(shè)計軟件結(jié)構(gòu)
5.1.3數(shù)據(jù)庫設(shè)計
5.1.4制定測試計劃
5.1.5文檔的編寫
5.1.6進(jìn)行審查和復(fù)查
5.2軟件設(shè)計基本原理
5.2.1模塊化
5.2.2抽象
5.2.3信息隱蔽
5.2.4模塊獨立性
5.3設(shè)計準(zhǔn)則
5.4總體設(shè)計的圖形描述工具
5.4.1層次圖
5.4.2HIPO圖
5.4.3結(jié)構(gòu)圖
5.5結(jié)構(gòu)化設(shè)計方法
5.5.1數(shù)據(jù)流圖的類型
5.5.2設(shè)計步驟
5.5.3變換設(shè)計
5.5.4事務(wù)設(shè)計
5.5.5設(shè)計的后處理
5.6本章小結(jié)
習(xí)題
第6章 詳細(xì)設(shè)計
6.1結(jié)構(gòu)化程序設(shè)計
6.2詳細(xì)設(shè)計工具
6.2.1程序流程圖
6.2.2盒圖(N.S圖)
6.2.3PAD圖
6.2.4過程設(shè)計語言(PDL)
6.2.5判定表
6.2.6判定樹
6.3Jackson程序設(shè)計方法
6.3.1Jackson方法
6.3.2Jackson圖
6.3.3Jackson程序設(shè)計方法.
6.4Wamier程序設(shè)計方法簡介
6.4.1Warnier圖
6.4.2Wamier程序設(shè)計方法的步驟
6.5人機(jī)界面設(shè)計
6.5.1人機(jī)界面設(shè)計概述
6.5.2人機(jī)界面風(fēng)格
6.5.3人機(jī)界面實現(xiàn)的原則
6.5.4人機(jī)界面的設(shè)計過程
6.6本章小結(jié)
習(xí)題
第7章 軟件編碼
7.1程序設(shè)計語言
7.1.1程序設(shè)計語言概述
7.1.2程序設(shè)計語言的分類
7.1.3程序設(shè)計語言的特點
7.1.4程序設(shè)計語言的選擇
7.2程序設(shè)計風(fēng)格
7.3編碼的質(zhì)量要求
7.4編碼工具
7.5本章小結(jié)
習(xí)題
第8章 軟件測試
8.1軟件測試的概述
8.1.1軟件測試的定義
8.1.2軟件測試的基本原則
8.1.3軟件測試的步驟
8.1.4軟件測試信息流
8.1.5測試人員組織
8.2軟件測試方法
8.2.1黑盒測試
8.2.2白盒測試
8.3測試用例設(shè)計
8.3.1邏輯覆蓋
8.3.2等價類劃分
8.3.3邊界值分析
8.3.4因果圖
8.3.5錯誤推測法
8.4軟件測試的步驟
8.4.1單元測試
8.4.2集成測試
8.4.3有效性測試
8.4.4系統(tǒng)測試
8.5調(diào)試
8.5.1調(diào)試的步驟
8.5.2調(diào)試的策略
8.6軟件可靠性
8.6.1軟件可靠性的定義
8.6.2軟件正確性證明
8.7驗收測試
8.7.1驗收測試的步驟
8.7.2Alpha.測試和Beta測試
8.8測試工具
8.8.1人工測試
8.8.2自動測試工具
8.9本章小結(jié)
習(xí)題
第9章 軟件維護(hù)
9.1軟件維護(hù)的概念
9.1.1軟件維護(hù)的定義
9.1.2軟件維護(hù)的種類
9.1.3影響維護(hù)工作量的因素
9.1.4軟件維護(hù)的策略
9.2軟件維護(hù)的特點
9.2.1軟件工程與軟件維護(hù)的關(guān)系
9.2.2維護(hù)成本
9.2.3維護(hù)的問題
9.3軟件維護(hù)過程
9.3.1維護(hù)機(jī)構(gòu)
9.3.2維護(hù)申請報告
9.3.3維護(hù)的工作流程
9.3.4維護(hù)記錄
9.3.5維護(hù)評價
9.4軟件可維護(hù)性
9.4.1軟件可維護(hù)性的度量
9.4.2提高軟件可維護(hù)性的方法
9.5軟件維護(hù)的副作用
9.6本章小結(jié)
習(xí)題
第10章 軟件過程改進(jìn)
10.1基本概念
10.2軟件過程的改進(jìn)方法
10.2.1CMM介紹
10.2.2SPICE介紹
10.2.3AGILE介紹
10.3本章小結(jié)
習(xí)題
第11章 面向?qū)ο蟾拍?
11.1傳統(tǒng)方法學(xué)與面向?qū)ο蠓椒ū容^
11.1.1傳統(tǒng)方法學(xué)
11.1.2面向?qū)ο蠓椒▽W(xué)
11.2面向?qū)ο蠡A(chǔ)概念
11.2.1對象
11.2.2其他概念
11.3面向?qū)ο蟮奶匦?
11.3.1抽象性
11.3.2封裝性
11.3.3繼承性
11.3.4多態(tài)性
11.4本章小結(jié)
習(xí)題
第12章 面向?qū)ο蟮姆治?
12.1面向?qū)ο蠼?
12.2對象模型
12.2.1表示類一&一對象的圖形符號
12.2.2表示結(jié)構(gòu)的圖形符號
12.2.3實例
12.3動態(tài)模型.
12.3.1術(shù)語
12.3.2表示方法
12.4功能模型
12.5UML概述
12.5.1UML的主要內(nèi)容
12.5.2UML的主要元素
12.6UML的圖形
12.6.1用例圖
12.6.2類圖
12.6.3序列圖
12.6.4狀態(tài)圖與活動圖
12.7UML的示例
12.8本章小結(jié)
習(xí)題
第13章 面向?qū)ο笤O(shè)計
13.1從面向?qū)ο蠓治龅矫嫦驅(qū)ο笤O(shè)計
13.2問題域部分(PDC)設(shè)計之一——基礎(chǔ)理論
13.2.1為什么需要問題域部分設(shè)計
13.2.2如何進(jìn)行問題域部分設(shè)計
13.3人機(jī)交互部分(HIC)設(shè)計
13.3.1為什么需要人機(jī)交互部分
13.3.2如何設(shè)計人機(jī)交互部分
13.4任務(wù)管理部分(DMC)設(shè)計
13.4.1為什么需要有任務(wù)管理部分
13.4.2怎樣設(shè)計任務(wù)管理部分
13.5數(shù)據(jù)管理部件(DMC)的設(shè)計
13.6面向?qū)ο笤O(shè)計的實例
l3.6.1系統(tǒng)總體結(jié)構(gòu)和使用模型
13.6.2體系結(jié)構(gòu)的設(shè)計
13.6.3識別對象的類
13.6.4設(shè)計模型
13.6.5對象接口描述
13.7本章小結(jié)
習(xí)題
第14章 面向?qū)ο鬁y試
14.1面向?qū)ο鬁y試的基本概念
14.1.1概述
14.1.2測試模型簡介
14.2面向?qū)ο鬁y試用例設(shè)計
14.2.1測試用例設(shè)計的復(fù)雜性
14.2.2類測試用例設(shè)計
14.3面向?qū)ο蟮臏y試分析工具
14.3.1面向?qū)ο蟮臏y試分析工具LOGISCOPE簡介
14.3.2面向?qū)ο蟮臏y試分析工具WinRunner簡介
14.3.3面向?qū)ο蟮臏y試分析工具LoadRunner簡介
14.4本章小結(jié)
習(xí)題
第15章 軟件重用技術(shù)
15.1軟件重用
15.1.1軟件重用的概念和意義
15.1.2軟件重用技術(shù)的理解
15.1.3軟件重用的過程
15.1.4可重用軟件的設(shè)計過程
15.2軟部件庫的構(gòu)造
15.2.1基于域分析的軟部件選取
15.2.2軟部件的開發(fā)
15.2.3軟部件庫的組織與檢索
15.3面向?qū)ο蟮能浖赜眉夹g(shù)
15.4本章小結(jié)
習(xí)題
第16章 軟件工程的深入研究
16.1軟件的再生工程
16.1.1重構(gòu)
16.1.2逆向工程
16.1.3前向工程
16.2基于C/S與B/S的軟件工程
16.2.1基于C/S的軟件開發(fā).
16.2.2基于B/S的Web系統(tǒng)開發(fā)
16.3計算機(jī)輔助軟件工程(CASE)
16.3.1定義
16.3.2CASE工具在軟件開發(fā)中的作用
16.3.3CASE工具的分類
16.3.4CASE工具的定位
16.4基于構(gòu)件的軟件工程
16.4.1構(gòu)件技術(shù)
16.4.2基于構(gòu)件的開發(fā)方法
16.4.3構(gòu)件模型
16.4.4構(gòu)件標(biāo)準(zhǔn)規(guī)范模型簡介
16.5本章小結(jié)
習(xí)題
附錄1 可行性研究報告規(guī)范
附錄2 項目開發(fā)計劃規(guī)范
附錄3 需求規(guī)格說明書規(guī)范
附錄4 概要設(shè)計說明書規(guī)范
附錄5 詳細(xì)設(shè)計說明規(guī)范
附錄6 項目開發(fā)總結(jié)報告規(guī)范
附錄7 用Word撰寫文檔規(guī)范
參考文獻(xiàn)