高等學(xué)校教材·計(jì)算機(jī)教學(xué)叢書:軟件工程
定 價(jià):25 元
- 作者:宋廣軍 ,等 著
- 出版時(shí)間:2011/6/1
- ISBN:9787512404489
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP311.5
- 頁碼:203
- 紙張:膠版紙
- 版次:1
- 開本:16開
面對(duì)無窮無盡的計(jì)算機(jī)應(yīng)用需求,軟件開發(fā)已成為軟件開發(fā)人員面臨的主要任務(wù)!败浖こ獭币殉蔀橛(jì)算機(jī)教學(xué)一門重要的專業(yè)課。由宋廣軍編著的《高等學(xué)校教材·計(jì)算機(jī)教學(xué)叢書:軟件工程》以軟件的生命周期為主線,重點(diǎn)討論結(jié)構(gòu)化的軟件開發(fā)方法,包括結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、編碼、測試。通過對(duì)基本概念、基本原理、基本技術(shù)、基本方法的學(xué)習(xí),使讀者能很快運(yùn)用工程的方法與技術(shù)開發(fā)軟件。近些年來面向?qū)ο筌浖_發(fā)方法和技術(shù)不斷普及,用最后兩章的篇幅介紹面向?qū)ο蟮幕靖拍睿嫦驅(qū)ο蟮姆治龊驮O(shè)計(jì)方法。《高等學(xué)校教材·計(jì)算機(jī)教學(xué)叢書:軟件工程》內(nèi)容盡量做到通俗易懂,圖文并茂,原理、方法與實(shí)例相結(jié)合?勺鳛楦叩葘W(xué)校計(jì)算機(jī)專業(yè)教材,也可供計(jì)算機(jī)軟件人員和計(jì)算機(jī)用戶參考。
軟件工程是計(jì)算機(jī)學(xué)科中指導(dǎo)計(jì)算機(jī)軟件開發(fā)的工程科學(xué),然而長期以來,隨著微電子技術(shù)的發(fā)展,計(jì)算機(jī)硬件性能不斷提高,人們開發(fā)優(yōu)質(zhì)軟件的能力遠(yuǎn)遠(yuǎn)落后于硬件技術(shù)的發(fā)展和應(yīng)用計(jì)算機(jī)軟件的需求。 由宋廣軍編著的《高等學(xué)校教材·計(jì)算機(jī)教學(xué)叢書:軟件工程》共分11章:第l章軟件工程概述;第2章軟件計(jì)劃;第3章軟件需求分析;第4章總體設(shè)計(jì);第5章詳細(xì)設(shè)計(jì);第6章程序編碼;第7章軟件測試;第8章軟件實(shí)施與維護(hù);第9章軟件項(xiàng)目管理;第10章面向?qū)ο蠓椒▽W(xué)與建模;第11章面向?qū)ο笤O(shè)計(jì)與實(shí)現(xiàn)。
第1章 軟件工程概述
1.1 軟件工程與軟件危機(jī)
1.1.1 軟件的發(fā)展階段
1.1.2 軟件危機(jī)
1.1.3 軟件工程
1.2 軟件開發(fā)模型
1.2.1 軟件生命周期
1.2.2 軟件開發(fā)的瀑布模型
1.2.3 原型化開發(fā)模型
1.2.4 螺旋模型
1.2.5 增量模型
1.2.6 面向?qū)ο笊嫫谀P?br>1.2.7 噴泉模型
1.2.8 基于四代技術(shù)的模型
習(xí)題1
第2章 軟件計(jì)劃
2.1 問題定義
2.2 可行性研究
2.2.1 可行性研究的任務(wù)
2.2.2 可行性研究過程
2.2.3 系統(tǒng)流程圖
2.2.4 可行性論證報(bào)告
2.3 成本效益分析
2.4 項(xiàng)目開發(fā)計(jì)劃
2.5 系統(tǒng)規(guī)格說明及評(píng)審
習(xí)題2
第3章 軟件需求分析
3.1 需求分析概述
3.1.1 需求分析的基本原則
3.1.2 需求分析的任務(wù)
3.1.3 需求分析的步驟
3.1.4 需求規(guī)格說明與驗(yàn)證
3.2 數(shù)據(jù)流圖(dfd)
3.2.1 符號(hào)
3.2.2 命名
3.2.3 特點(diǎn)和用途
3.2.4 數(shù)據(jù)流圖的畫法
3.3 數(shù)據(jù)字典
3.3.1 數(shù)據(jù)字典的內(nèi)容
3.3.2 定義數(shù)據(jù)的方法
3.3.3 數(shù)據(jù)字典的實(shí)現(xiàn)
3.4 實(shí)體-聯(lián)系圖
3.5 結(jié)構(gòu)化分析方法
3.5.1 實(shí)現(xiàn)的步驟
3.5.2 畫分層dfd圖的指導(dǎo)原則
3.5.3 結(jié)構(gòu)化分析方法的局限
3.6 結(jié)構(gòu)化分析示例
習(xí)題3
第4章 總體設(shè)計(jì)
4.1 總體設(shè)計(jì)的任務(wù)和過程
4.2 軟件設(shè)計(jì)的基本原理
4.2.1 問題分解
4.2.2 模塊化
4.2.3 抽象與逐步求精
4.2.4 信息隱蔽
4.2.5 模塊獨(dú)立性
4.3 總體設(shè)計(jì)的工具
4.3.1 層次圖
4.3.2 ipo圖
4.3.3 hipo圖
4.4 結(jié)構(gòu)化設(shè)計(jì)方法
4.4.1 信息流分類
4.4.2 結(jié)構(gòu)圖
4.4.3 變換分析
4.4.4 事務(wù)分析
4.4.5 混合型分析
習(xí)題4
第5章 詳細(xì)設(shè)計(jì)
5.1 詳細(xì)設(shè)計(jì)的任務(wù)和過程
5.2 結(jié)構(gòu)化程序設(shè)計(jì)思想
5.2.1 對(duì)goto語句使用的不同看法
5.2.2 結(jié)構(gòu)化的控制結(jié)構(gòu)
5.3.3 逐步細(xì)化的實(shí)現(xiàn)方法
5.3 詳細(xì)設(shè)計(jì)的工具
5.3.1 程序流程圖
5.3.2 盒圖(n-s圖)
5.3.3 pad圖
5.3.4 偽代碼和pdl語言
5.3.5 判定表與判定樹
5.4 jackson程序設(shè)計(jì)方法
5.4.1 jackson圖
5.4.2 jackson方法
5.5 程序結(jié)構(gòu)復(fù)雜度的定量度量
5.5.1 mccabe方法
5.5.2 halstead方法
5.6 人-機(jī)界面設(shè)計(jì)
5.6.1 用戶的使用需求分析
5.6.2 人-機(jī)界面的設(shè)計(jì)原則
5.6.3 人-機(jī)界面實(shí)現(xiàn)的原則
5.7 軟件安全問題
5.7.1 軟件安全控制的目的
5.7.2 軟件錯(cuò)誤的典型表現(xiàn)
5.7.3 軟件系統(tǒng)安全控制的基本方法
5.7.4 軟件的安全控制設(shè)計(jì)
5.8 軟件設(shè)計(jì)復(fù)審
習(xí)題5
第6章 程序編碼
6.1 編碼的目酌
6.2 程序設(shè)計(jì)語言
6.2.1 程序設(shè)計(jì)語言分類
6.2.2 程序設(shè)計(jì)語言的特征屬性
6.2.3 程序設(shè)計(jì)語言的使用準(zhǔn)則
6.3 程序設(shè)計(jì)風(fēng)格
6.3.1 使用程序內(nèi)部的文檔
6.3.2 數(shù)據(jù)說明原則
6.3.3 語句構(gòu)造規(guī)則
6.3.4 輸入輸出準(zhǔn)則
6.4 提高效率的準(zhǔn)則
6.5 防止編碼錯(cuò)誤
習(xí)題6
第7章 軟件的測試
7.1 基本概念
7.1.1 軟件測試目標(biāo)
7.1.2 軟件測試的原則
7.1.3 軟件測試的方法
7.1.4 軟件測試的過程
7.2 軟件測試技術(shù)
7.2.1 白盒測試
7.2.2 黑盒測試
7.2.3 實(shí)用綜合測試策略
7.3 軟件測試策略
7.3.1 單元測試
7.3.2 集成測試
7.3.3 驗(yàn)收測試
7.3.4 系統(tǒng)測試
7.3.5 軟件測試過程
7.4 調(diào)試技術(shù)
7.4.1 調(diào)試過程
7.4.2 調(diào)試技術(shù)
7.4.3 調(diào)試原則
習(xí)題7
第8章 軟件實(shí)施與維護(hù)
8.1 軟件維護(hù)的種類
8.2 軟件維護(hù)的特點(diǎn)
8.2.1 軟件工程與軟件維護(hù)的關(guān)系
8.2.2 影響維護(hù)工作量的因素
8.2.3 軟件維護(hù)的策略
8.2.4 維護(hù)的成本
8.2.5 可能存在的問題
8.3 維護(hù)任務(wù)的實(shí)施
8.3.1 維護(hù)組織
8.3.2 維護(hù)報(bào)告
8.3.3 維護(hù)過程
8.3.4 維護(hù)記錄的保存
8.3.5 對(duì)維護(hù)的評(píng)價(jià)
8.4 軟件的可維護(hù)性
8.4.1 軟件可維護(hù)性定義
8.4.2 影響軟件可維護(hù)性的因素
8.4.3 提高軟件的可維護(hù)性方法
8.5 軟件維護(hù)的副作用
8.5.1 修改代碼的副作用
8.5.2 修改數(shù)據(jù)的副作用
8.5.3 修改文檔的副作用
8.6 逆向工程和再工程
8.6.1 預(yù)防性維護(hù)
8.6.2 逆向工程的元素
習(xí)題8
第9章 軟件項(xiàng)目管理
9.1 軟件工程管理概述
9.1.1 軟件工程管理的重要性
9.1.2 管理的目的與內(nèi)容
9.2 軟件工作量估算
9.2.1 軟件開發(fā)成本估算方法
9.2.2 算法模型估算
9.3 風(fēng)險(xiǎn)管理
9.3.1 風(fēng)險(xiǎn)分析
9.3.2 風(fēng)險(xiǎn)識(shí)別
9.3.3 風(fēng)險(xiǎn)估算
9.3.4 風(fēng)險(xiǎn)評(píng)估
9.3.5 風(fēng)險(xiǎn)監(jiān)控
9.4 進(jìn)度計(jì)劃
9.4.1 任務(wù)的確定與進(jìn)度計(jì)劃
9.4.2 gantt圖
9.4.3 工程網(wǎng)絡(luò)技術(shù)
9.4.4 項(xiàng)目的追蹤和控制
9.5 軟件配置管理
9.5.1 軟件配置
9.5.2 軟件配置管理任務(wù)
9.6 軟件質(zhì)量保證與cmm
9.6.1 軟件質(zhì)量
9.6.2 軟件指令保證措施
9.6.3 能力成熟度模型cmm
9.6.4 能力成熟度模式整合(cmmi)
習(xí)題9
第10章 面向?qū)ο蠓椒▽W(xué)與建模
10.1 面向?qū)ο蠓椒▽W(xué)的基本概念
10.1.1 傳統(tǒng)方法學(xué)存在的問題
10.1.2 面向?qū)ο蠓椒▽W(xué)的發(fā)展?fàn)顩r
10.1.3 面向?qū)ο蠓椒▽W(xué)的要素和優(yōu)點(diǎn)
10.2 統(tǒng)一建模語言
10.2.1 模型的建立
10.2.2 uml概述
10.2.3 uml的特點(diǎn)與應(yīng)用
10.3 面向?qū)ο蠓治?br>10.3.1 面向?qū)ο蠓治?br>10.3.2 建立對(duì)象模型
10.3.3 建立動(dòng)態(tài)模型
10.3.4 功能模型
習(xí)題10
第11章 面向?qū)ο笤O(shè)計(jì)與實(shí)現(xiàn)
11.1 面向?qū)ο笤O(shè)計(jì)
11.1.1 面向?qū)ο笤O(shè)計(jì)準(zhǔn)則及啟發(fā)規(guī)則
11.1.2 軟件重用
11.1.3 對(duì)象設(shè)計(jì)
11.1.4 系統(tǒng)設(shè)計(jì)
11.2 面向?qū)ο蟮膶?shí)現(xiàn)
11.2.1 面向?qū)ο蟪绦蛟O(shè)計(jì)語言
11.2.2 面向?qū)ο蟪绦蛟O(shè)計(jì)方法
11.2.3 面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格
11.2.4 面向?qū)ο蟮能浖䴗y試
習(xí)題11
參考文獻(xiàn)
3.運(yùn)行時(shí)期
運(yùn)行時(shí)期是軟件生命周期的最后一個(gè)時(shí)期。其主要工作是作好軟件維護(hù)。維護(hù)的目的是使軟件在整個(gè)生命周期內(nèi)保證滿足用戶的需求和延長軟件的使用壽命。軟件維護(hù)的具體活動(dòng)包括糾錯(cuò)維護(hù)、適應(yīng)性維護(hù)、功能性維護(hù)和預(yù)防性維護(hù)。所謂糾錯(cuò)性維護(hù)就是改正在軟件運(yùn)行過程中暴露出來的系統(tǒng)遺留的各種錯(cuò)誤。這種維護(hù)活動(dòng)在系統(tǒng)交付初期比較頻繁,但當(dāng)系統(tǒng)進(jìn)入穩(wěn)定運(yùn)行期后應(yīng)該很少發(fā)生。適應(yīng)性維護(hù)是指當(dāng)系統(tǒng)運(yùn)行環(huán)境發(fā)生變化以后,為適應(yīng)這種改變必須對(duì)軟件進(jìn)行的修改。功能性維護(hù)是指在軟件過程中為滿足用戶需求的變化與擴(kuò)充對(duì)軟件所做的修改。預(yù)防性維護(hù)則是指為改善軟件將來的可維護(hù)性所做的準(zhǔn)備丁作。軟件運(yùn)行穩(wěn)定以后,維護(hù)的主要活動(dòng)應(yīng)該是適應(yīng)性和功能性維護(hù)。
雖然沒有把維護(hù)階段進(jìn)一步劃分成更小的階段,但是實(shí)際上每一項(xiàng)維護(hù)活動(dòng)都應(yīng)該經(jīng)過提出維護(hù)要求、分析維護(hù)要求、提出維護(hù)方案、審批維護(hù)方案、確定維護(hù)計(jì)劃、修改軟件設(shè)計(jì)、修改程序、測試程序、復(fù)查驗(yàn)收等一系列步驟,因此實(shí)質(zhì)上是經(jīng)歷了一次壓縮和簡化了的軟件定義和開發(fā)的全過程。
1.2.2軟件開發(fā)的瀑布模型
瀑布模型也稱軟件生存周期模型,由W.Royce于1970年首先提出。根據(jù)軟件生存周期各個(gè)階段的任務(wù),瀑布模型從可行性研究(或稱系統(tǒng)分析),逐步進(jìn)行階段性變換,直至通過確認(rèn)測試,并得到用戶確認(rèn)的軟件產(chǎn)品為止。瀑布模型上一階段的變換結(jié)果是下一階段變換的輸入,相鄰兩個(gè)階段具有因果關(guān)系,緊密相連。一個(gè)階段工作的失誤將蔓延到以后的各個(gè)階段。為了保障軟件開發(fā)的正確性,每個(gè)階段任務(wù)完成后,都必須對(duì)它的階段性產(chǎn)品進(jìn)行評(píng)審,確認(rèn)之后再轉(zhuǎn)入下一階段的工作。評(píng)審過程發(fā)現(xiàn)錯(cuò)誤和疏漏后,應(yīng)該反饋到前面的有關(guān)階段修正錯(cuò)誤、彌補(bǔ)疏漏,然后再重復(fù)前面的工作,直至某一階段通過評(píng)審后再進(jìn)入下一階段。這種形式的瀑布模型是帶有反饋的瀑布模型。
嚴(yán)格按照軟件生命周期的階段劃分,順序執(zhí)行各階段構(gòu)成軟件開發(fā)的瀑布型模型。它是傳統(tǒng)的軟件工程生存期模式。
……