出版時間:2012-5 出版社:機(jī)械工業(yè)出版社 作者:劉冰 等編著 頁數(shù):399 字?jǐn)?shù):636000
內(nèi)容概要
《軟件工程實踐教程(第2版)》詳細(xì)介紹了軟件工程、軟件開發(fā)過程、軟件計劃、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼、軟件測試、軟件維護(hù)、軟件工程標(biāo)準(zhǔn)化和軟件文檔、軟件工程質(zhì)量、軟件工程項目管理以及軟件工程開發(fā)實例。各章均配有習(xí)題,部分章后附有經(jīng)典例題講解和實驗內(nèi)容。
《軟件工程實踐教程(第2版)》可作為高等學(xué)校計算機(jī)專業(yè)課程的教材或教學(xué)參考書,也可作為通信、電子信息、自動化等相關(guān)專業(yè)的計算機(jī)課程教材,還可供軟件工程師、軟件項目管理者和應(yīng)用軟件開發(fā)人員閱讀參考。本書由劉冰、劉銳、瞿中、吳渝編著。
書籍目錄
出版說明
前言
第1章 軟件工程概述
1.1 軟件
1.1.1 軟件的特點
1.1.2 軟件的發(fā)展
1.1.3 軟件危機(jī)
1.1.4 軟件工程的概念
1.1.5 軟件工程的三要素
1.1.6 軟件工程方法
1.1.7 軟件工程的發(fā)展歷史
1.2 軟件過程的概念
1.2.1 軟件生命周期及軟件開發(fā)過程的定義
1.2.2 軟件開發(fā)過程的制品
1.2.3 軟件開發(fā)工具
1.3 軟件過程模型
1.3.1 瀑布模型
1.3.2 快速原型模型
1.3.3 增量模型
1.3.4 螺旋模型
1.3.5 噴泉模型
1.3.6 形式化方法模型
1.3.7 基于組件的開發(fā)模型
1.4 Rational統(tǒng)一開發(fā)過程
1.5 實例:軟件外包開發(fā)過程
1.5.1 外包軟件的定義
1.5.2 外包軟件的開發(fā)特點
1.5.3 改進(jìn)方案
1.5.4 實施、總結(jié)
1.6 小結(jié)
1.7 習(xí)題
第2章 軟件開發(fā)方法簡介
2.1 面向結(jié)構(gòu)的軟件工程
2.2 結(jié)構(gòu)化方法遵循的基本原則及核心問題
2.3 結(jié)構(gòu)化方法的特點
2.4 基于Microsoft Office Visio 2007的結(jié)構(gòu)化建模
2.4.1 Microsoft Office Visio 2007簡介
2.4.2 Microsoft Office Visio 2007工作環(huán)境
2.4.3 Microsoft Office Visio 2007操作入門
2.4.4 實踐案例
2.5 面向?qū)ο蟮能浖こ?br /> 2.6 面向?qū)ο蠓椒ǖ幕驹瓌t和核心問題
2.7 面向?qū)ο蠓椒ǖ奶攸c與優(yōu)勢
2.8 面向?qū)ο蟮幕靖拍?br /> 2.9 面向?qū)ο蠓椒▽W(xué)的研究及實踐領(lǐng)域
2.10 面向?qū)ο蟮慕y(tǒng)一建模語言介紹
2.10.1 統(tǒng)一建模語言概述
2.10.2 UML的基本實體
2.10.3 常用的UML圖
2.11 基于Rational Rose 2003的UML建模
2.11.1 Rational Rose 2003簡介
2.11.2 Rational Rose 2003建模環(huán)境
2.11.3 Rational Rose 2003模型的視圖
2.11.4 Rational Rose 2003建模界面
2.12 結(jié)構(gòu)化方法與面向?qū)ο蠓椒ū容^
2.13 小結(jié)
2.14 習(xí)題
第3章 結(jié)構(gòu)化分析
3.1 可行性研究
3.1.1 問題定義
3.1.2 可行性研究的內(nèi)容
3.1.3 可行性研究的步驟
3.2 需求分析
3.3 獲取需求的方法
3.4 結(jié)構(gòu)化分析方法
3.4.1 數(shù)據(jù)流圖
3.4.2 數(shù)據(jù)字典
3.4.3 實體關(guān)系圖
3.4.4 狀態(tài)轉(zhuǎn)換圖
3.5 快速原型分析方法
3.6 結(jié)構(gòu)化分析實例
3.7 小結(jié)
……
第4章 結(jié)構(gòu)化設(shè)計
第5章 結(jié)構(gòu)化的實現(xiàn)
第6章 面向?qū)ο蠓治龇椒?br />第7章 面向?qū)ο蟮脑O(shè)計
第8章 面向?qū)ο蟮膶崿F(xiàn)及測試
第9章 運行和維護(hù)
第10章 軟件工程標(biāo)準(zhǔn)化和軟件質(zhì)量
第11章 軟件工程項目管理
第12章 結(jié)構(gòu)化開發(fā)實例
第13章 面向?qū)ο筌浖_發(fā)實例
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 7.灰盒測試的優(yōu)點 (1)能有效地發(fā)現(xiàn)黑盒測試的盲點 通過了解代碼的內(nèi)部實現(xiàn),補(bǔ)充功能測試用例。這需要灰盒測試人員在查看代碼之前,掌握需求,并清楚已有的功能測試用例。對某一功能點的實現(xiàn)進(jìn)行代碼分析(白盒測試),然后與黑盒測試(功能測試)充分結(jié)合起來,相互彌補(bǔ)。 (2)可以避免過度測試,精簡冗余用例 例如,具有相同特點的某一功能,在進(jìn)行功能測試時,是否每個界面或提示框、對話框都需進(jìn)行該功能的測試。在沒有采用灰盒測試之前,確實進(jìn)行過這樣的窮舉測試,但收效甚微。 (3)能及時發(fā)現(xiàn)沒有來源的更改 特別是在產(chǎn)品的維護(hù)階段,每一行代碼的更改都必須要有更改來源,但實際開發(fā)過程中,并不是每個開發(fā)人員都能做到的,也并不是每個人都能清楚意識到更改后沒有得到有效驗證所帶來的后果。所以測試人員采取事后代碼審查的方法也是不得已而為之的事。 【例】PDA鬧鐘事件的測試 背景描述:鬧鐘是PDA(Personal Digital Assistant)上的一個應(yīng)用程序,它的主要功能就是在用戶設(shè)置的時間點到達(dá)時,進(jìn)行響鈴提醒。響鈴時,無論用戶當(dāng)前在做什么操作,會彈出一個響鈴提示界面。 提出問題:一天,負(fù)責(zé)測試此模塊的工程師小葉提出一個問題“鬧鈴事件優(yōu)先級高,在所有應(yīng)用程序界面、對話框或提示框上面都會彈出,黑盒測試需要進(jìn)入所有情況的用戶界面,然后等待鬧鐘事件的發(fā)生,才能全面驗證到各種情況的用戶使用場景?!钡@樣的窮舉測試,耗時太多,效果也并不一定好。 分析問題:關(guān)于鬧鐘的應(yīng)用,實際上該模塊只提供了一個接口。如能從代碼角度分析到所有其他模塊調(diào)用的是同一個鬧鈴接口函數(shù)(對于響鈴及停止響鈴后對原界面的恢復(fù),都是由一個統(tǒng)一接口處理的),那么再通過黑盒功能測試,在某一個用戶界面進(jìn)行此響鈴功能的驗證,即可證明代碼的實現(xiàn)是符合需求的,這正是灰盒測試的方法。 解決問題:后來,對于鬧鈴功能點的系統(tǒng)驗證,采用了灰盒測試的方法,做了代碼正向、逆向分析,結(jié)合功能性用戶場景進(jìn)行驗證,節(jié)省了近2/3的測試時間。 5.5.4人工測試 人工測試指的是采用人工方式進(jìn)行測試,目的是通過對程序靜態(tài)結(jié)構(gòu)的檢查,找出編譯時不能發(fā)現(xiàn)的錯誤。經(jīng)驗表明,組織良好的人工測試可以發(fā)現(xiàn)程序中30%~70%的編碼和邏輯設(shè)計錯誤。 人工測試又稱為代碼審查,其內(nèi)容包括檢查代碼和設(shè)計是否一致,檢查代碼邏輯表達(dá)是否正確和完整,檢查代碼結(jié)構(gòu)是否合理等。主要有3種方法。 1)個人復(fù)查:指程序員本人對程序進(jìn)行檢查。由于心理上的原因和思維慣性的影響,自己的錯誤一般不容易發(fā)現(xiàn),對功能理解的錯誤更不可能糾正。因此,這種方法主要針對小規(guī)模程序,效率不高。
圖書封面
評論、評分、閱讀與下載