軟件工程知識點復(fù)習資料_第1頁
軟件工程知識點復(fù)習資料_第2頁
軟件工程知識點復(fù)習資料_第3頁
軟件工程知識點復(fù)習資料_第4頁
軟件工程知識點復(fù)習資料_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!軟件工程復(fù)習第一章一、什么是軟件?軟件(Software )是計算機系統(tǒng)中與硬件相互依存的另一部分, 它是包括程序(Program ),數(shù)據(jù)(Data )及其相關(guān)文檔(Document ) 的完整集合。程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開發(fā),維護和使用有關(guān)的圖文材料二、軟件危機原因:與軟件本身的特點有關(guān)(難于維護,邏輯復(fù)雜)與軟件開發(fā)與維護的方法不正確有關(guān):軟件?程序急于求成=拔苗助長各自為陣無方法/學現(xiàn)象:1.成本高.計算機軟件和硬件費用比.軟件質(zhì)量得不到保證.由于軟件質(zhì)量問題導(dǎo)致失敗的

2、軟件項目非常多.進度難以控制.維護非常困難1 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!辦法:軟件工程(學)三、軟件工程軟件工程是應(yīng)用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的 工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的。 開發(fā)、運行和維護軟件的系統(tǒng)方法四、軟件工程三要素軟件工程方法學包含3個要素:方法、工具和過程。五、軟件生命周期六、軟件過程模型瀑布模型瀑布模型適合于用戶需求明確、 完整、無重大變化的軟件項 目開發(fā)。瀑布模型的成功在很大程度上是由于它基本上是一種 文檔驅(qū)動的模型?!捌俨寄P褪怯晌臋n驅(qū)動的”這個事實也是它的一個主要缺點。在項目開始的時候,用戶常常難

3、以清楚地給出所有需求; 用戶與開發(fā)人員對需求理解存在差異。實際的項目很少按照順序模型進行。用戶必須有耐心,等到系統(tǒng)開發(fā)完成。缺乏靈活性:因為瀑布模型確定了需求分析的絕對重要2 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!性,但是在實踐中要想獲得完善的需求說明是非常困難的, 導(dǎo)致“阻塞狀態(tài)”。反饋信息慢,開發(fā)周期長。雖然存在不少缺陷,瀑布模型經(jīng)常被嘲笑為“舊式的” 但是在需求被很好地理解的情況下,仍然是一種合理的方法。 快速原型模型增量模型增量模型是迭代和演進的過程。增量模型把軟件產(chǎn)品分解成一系列的增量構(gòu)件,在增量開發(fā)迭代中逐步加入。每個構(gòu)件由多個相互作用的模塊構(gòu)成,并且能夠完成特定

4、的功能。早先完成的增量可以為后期的增量提供服務(wù)。增量開發(fā)方法的新演進版本叫做“極限程序設(shè)計 (eXtreme Programming )”。3 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!針對每個埼門完成*詳細及計、編碼和 集成,經(jīng)測試后交. 付給用戶.維護螺旋模型噴泉模型各個開發(fā)步驟多次反復(fù)迭代,達到認識的逐步深化特點:主要用于支持面向?qū)ο箝_發(fā)過程體現(xiàn)了軟件創(chuàng)建所固有的迭代和無間隙的特征Rational統(tǒng)一過程 極限編程 微軟過程4 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!第二章可行性研究一、可行性研究的任務(wù):技術(shù),經(jīng)濟,操作,社會,抉擇(1)技術(shù)可行性度量一個特定技

5、術(shù)信息系統(tǒng)解決方案的實用性及技術(shù)資源的可用性??紤]的問題(1)開發(fā)風險分析(2)資源分析(3)相關(guān)技術(shù)的發(fā)展(現(xiàn)有技術(shù)能否實現(xiàn)新系統(tǒng),技術(shù)難點、建議采用技術(shù)的先進性)(2)經(jīng)濟可行性度量系統(tǒng)解決方案的性能價格比考慮的問題成本/效益分析(開發(fā)、運行的成本/效益)有形成本、效益無形成本、效益價值和成本的關(guān)系質(zhì)量與價值、成本的關(guān)系價值/成本的均衡(3)操作可行性用戶使用可能性時間進度可行性5 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!組織和文化上的可行性(4)社會可行性(法律可行性)開發(fā)項目是否會在社會上或政治上引起侵權(quán)、 破 壞或其它責任問題二、可行性研究過程:8步驟.復(fù)查系統(tǒng)規(guī)模和目

6、標.研究目前正在使用的系統(tǒng).導(dǎo)出新系統(tǒng)的高層邏輯模型.進一步定義問題.導(dǎo)出和評價供選擇的解法.推薦行動方針.草擬開發(fā)計劃.書寫文檔提交審查三、系統(tǒng)流程圖:數(shù)據(jù)在系統(tǒng)(人,軟,硬)各部件之間流動 系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它的基本思想是用圖形符號以黑盒子形式描繪組成系 統(tǒng)的每個部件(程序,文檔,數(shù)據(jù)庫,人工過程等)。四、數(shù)據(jù)流圖:源點或終點,處理,數(shù)據(jù)存儲和數(shù)據(jù)流.在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù) 據(jù)在軟件中流動和被處理的邏輯過程, 是系統(tǒng)邏輯功能的圖 形表示。6 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!.例題1經(jīng)調(diào)查,該儲蓄所處理系統(tǒng)能完成儲戶的存

7、 /取款要 求處理。如果是新儲戶,則將該儲戶數(shù)據(jù)記入存款賬文件。 如果是老儲戶存款,按儲戶編號在存款賬中查找該儲戶的 記錄,填寫存款額并修改余額;如果是取款,就檢查是否 超支。存/取款后應(yīng)修改存款帳和儲戶的存折,并將存折 交還儲戶。第1層五、數(shù)據(jù)字典:流,元素,存儲,處理.數(shù)據(jù)字典的任務(wù)是:對于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在字典中作為一個詞條加以定義, 使得每一個圖7 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!形元素的名字都有一個確切的解釋.數(shù)據(jù)結(jié)構(gòu)的描述出舉例=被定義為+ 與 x = a + b.,. 或|或 x = a , b , x = a | b或 m.n 重復(fù) x

8、 = a , x = 3a8(.)可選x =“”基本數(shù)據(jù)元素x =“a”. 連結(jié)符x = 1.9.例題北京某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第1位數(shù)字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥 0,若是本市電話則 再接著撥8位數(shù)字(第1位不是0),若是外地電話則撥3位 區(qū)碼再撥8位電話號碼(第1位不是0)。請用定義數(shù)據(jù)字典的方法,定義上述的電話號碼。電話號碼=校內(nèi)電話號碼|校外電話號碼校內(nèi)電話號碼=非零數(shù)字+ 3位數(shù)字 后面繼續(xù)定義校外電話號碼=本市號碼|外地號碼本市號碼=數(shù)字零+8位數(shù)字8 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!外

9、地號碼=數(shù)字零+3位數(shù)字+8位數(shù)字非零數(shù)字=1|2|3|4|5|6|7|8|9數(shù)字零=03位數(shù)字=3數(shù)字3/3 至3個數(shù)字8位數(shù)字=非零數(shù)字+7位數(shù)字7位數(shù)字=7數(shù)字7數(shù)字=0|1|2|3|4|5|6|7|8|9六、成本/效益分析:估計,ROI,貨幣的時間價值第3章需求分析就是研究一種無二義性的表達工具,它能為用戶和軟件人員雙方都接受并能夠把“需求”嚴格地、形式地表達出來。準確地回答“系統(tǒng)必須做什么?”一、需求分析的任務(wù):綜合要求+數(shù)據(jù)要求+邏輯模型+修正計劃1確定對系統(tǒng)的綜合要求功能需求性能需求可靠性和可用性需求出錯處理需求接口需求約束逆向需求、將來可能提出的要求。2分析系統(tǒng)的數(shù)據(jù)要求9 /

10、 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!軟件需求分析的重要任務(wù)分析系統(tǒng)的數(shù)據(jù)要求通常采用建立數(shù)據(jù)模型的方法3導(dǎo)出系統(tǒng)的邏輯模型用數(shù)據(jù)流圖、實體-關(guān)系圖(ER圖)、狀態(tài)轉(zhuǎn)換圖、數(shù)據(jù)字典、主要的處理算法描述邏輯模型4修正系統(tǒng)開發(fā)計劃準確地估計系統(tǒng)的成本及進度修正以前我們所制定的開發(fā)計劃二、獲取需求的方法:訪談、自頂向下、規(guī)格說明、軟件原型。 訪談訪談兩種基本形式:正式和非正式當需要調(diào)查大量人員的意見時,請被調(diào)查人填寫調(diào)查表是有效方法.面向數(shù)據(jù)流自頂向下求精可行性研究-目標系統(tǒng)的高層數(shù)據(jù)流圖把數(shù)據(jù)流和數(shù)據(jù)存儲定義到元素級.簡易的應(yīng)用規(guī)格說明技術(shù)提倡用戶與開發(fā)者密切合作,共同標識問題,提出

11、解決方案要素,商討不同方案并指定基本需求.快速建立軟件原型最準確、最有效、最強大的需求分析技術(shù)軟件原型:快速建立起來的旨在演示目標系統(tǒng)主要功能的可運10 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!行的程序構(gòu)建軟件原型的要點:實現(xiàn)用戶看得見的功能,省略目標系統(tǒng) 的“隱含”功能軟件原型應(yīng)具有的特性第一特性:快速第二特性:容易修改三、分析建模與規(guī)格說明:數(shù)據(jù)模型、功能模型和行為模型建立數(shù)據(jù)模型:實體-了解圖建立功能模型:數(shù)據(jù)流圖建立行為模型:狀態(tài)轉(zhuǎn)換圖四、實體-了解圖(ER圖)五、數(shù)據(jù)規(guī)范化:第一、二、三范式(1 )第一范式每個屬性值都必須是原子值,即僅僅是一個簡單值而不含內(nèi)部 結(jié)構(gòu)。(

12、2)第二范式滿足第一范式條件,而且每個非關(guān)鍵字屬性都由整個關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來決定)(3)第三范式符合第二范式的條件。滿足第三范式(3NF)必須先滿足第二 范式(2NF)。簡而言之,第三范式(3NF)要求一個數(shù)據(jù)庫表中 不包含已在其它表中已包含的非主關(guān)鍵字信息11 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!六、狀態(tài)轉(zhuǎn)換圖:狀態(tài)、事件、符號通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的 行為狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的 一種行為模式。狀態(tài)規(guī)定了系統(tǒng)對事件的響應(yīng)方式。事件就是引起系統(tǒng)做動作或(和)轉(zhuǎn)換狀態(tài)的控制信息。七、其他圖形工具

13、:層次方框圖、 Warnier圖、IPO圖層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次 結(jié)構(gòu)。Warnier圖也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方 框圖提供了更豐富的描繪手段。用 Warnier圖可以表明信息的邏輯 組織。在需求分析階段可以使用IPO表簡略地描述系統(tǒng)的主要算法(即 數(shù)據(jù)流圖中各個處理的基本算法)。八、驗證軟件需求:一致性、完整性、現(xiàn)實性和有效性(1) 一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。(2)完整性需求必須是完整的,規(guī)格說明書應(yīng)該包括用戶需要的每一個功能或性能。(3)現(xiàn)實性指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實現(xiàn)

14、的。(4)有效性必須證明需求是正確有效的,確實能解決用戶面對的 問題。12 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!九、例題:狀態(tài)轉(zhuǎn)化圖復(fù)印機的工作過程大致如下:未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令則進入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后 又回到閑置狀態(tài),等待下一個復(fù)印命令;如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)沒 紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài), 準備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā) 出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機的行為。第四章一、形式化說明的優(yōu)點形式化的規(guī)格說明可以用數(shù)學方法研

15、究、驗證形式化的規(guī)格說明消除了二義性鼓勵軟件開發(fā)者在軟件工程過程的早期階段使用更嚴格的方法,13 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!從而可以減少差錯 二、形式化方法的缺點大多數(shù)形式化的規(guī)格說明主要關(guān)注于系統(tǒng)的功能和數(shù)據(jù),而問題的時序、控制和行為等方面的需求卻更難于表示形式化方法比欠形式化方法更難學習,不僅在培訓(xùn)階段要花大量的投資,而且對某些軟件工程師來說,它代表了一種“文化沖擊”把形式化方法和欠形式化方法有機地結(jié)合起來, 取長補短,應(yīng)該能獲得更理想的效果第五章一、總體設(shè)計階段的基本目的是用比較抽象概括的方式確定系統(tǒng)如何完成預(yù)定的任務(wù)確定系統(tǒng)的物理配置方案進而確定組成系統(tǒng)的每

16、個程序的結(jié)構(gòu)二、總體設(shè)計階段主要由兩階段組成系統(tǒng)設(shè)計階段從數(shù)據(jù)流圖出發(fā)設(shè)想完成系統(tǒng)功能的若干種合理物理方案分析員應(yīng)仔細分析比較方案,和用戶共同選定一最佳方案軟件結(jié)構(gòu)設(shè)計階段確定軟件由哪些模塊組成及這些模塊之間的動態(tài)調(diào)用關(guān)系 三、軟件結(jié)構(gòu)設(shè)計時應(yīng)該遵循模塊獨立原理1.耦合14 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!耦合:對一個軟件結(jié)構(gòu)內(nèi)不同模塊間互連程度的度量(1)數(shù)據(jù)耦合如果兩個模塊彼此間通過參數(shù)交換信息,而且交換的信息 僅僅是數(shù)據(jù),那么這種耦合稱為數(shù)據(jù)耦合。數(shù)據(jù)耦合是低耦合。 (2)控制耦合如果兩個模塊彼此間傳遞的信息中有控制信息(有時該控制信息以數(shù)據(jù)形式出現(xiàn)),這種耦合稱控

17、制耦合??刂岂詈鲜侵械瘸潭鹊鸟詈?,它增加了系統(tǒng)的復(fù)雜程度(3)特征耦合如果被調(diào)用的模塊需要使用作為參數(shù)傳遞進來的數(shù)據(jù)結(jié)構(gòu) 中的所有元素,那么,把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞就是完全 正確的。但當把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只 需使用其中一部分數(shù)據(jù)元素時,即出現(xiàn)特征耦合(4)公共環(huán)境耦合當兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時,它們之間的耦合稱為公共環(huán)境耦合(5)內(nèi)容耦合出現(xiàn)下列情況之一,兩個模塊間就發(fā)生了內(nèi)容耦合:? 一個模塊訪問另一個模塊的內(nèi)部數(shù)據(jù)? 一個模塊不通過正常入口而轉(zhuǎn)到另一個模塊的內(nèi) 部?兩模塊有部分程序代碼重疊(只可能出現(xiàn)在匯編程15 / 28文檔供參考,可復(fù)制、編

18、制,期待您的好評與關(guān)注!序)? 一個模塊有多個入口 (這意味著一個模塊有幾種功能)內(nèi)容耦合是最高程度的耦合(6)設(shè)計原則?盡量使用數(shù)據(jù)耦合?少用控制耦合和特征耦合?限制公共環(huán)境耦合的范圍?完全不用內(nèi)容耦合2.內(nèi)聚內(nèi)聚標志一個模塊內(nèi)各元素相結(jié)合的緊密程度(1)低內(nèi)聚:偶然內(nèi)聚,邏輯內(nèi)聚,時間內(nèi)聚偶然內(nèi)聚:如果一個模塊完成一組任務(wù),這些任務(wù)彼此間即使有關(guān)系也是很松散的,就叫做偶然內(nèi)聚邏輯內(nèi)聚:如果一個模塊完成的任務(wù)在邏輯上屬于相同或相似的一類,則稱為邏輯內(nèi)聚時間內(nèi)聚:如果一個模塊包含的任務(wù)必須在同一段時間內(nèi)執(zhí)行(如模塊初始化工作),就叫時間內(nèi)聚(2)中內(nèi)聚:過程內(nèi)聚,通信內(nèi)聚過程內(nèi)聚:如果一個模塊

19、內(nèi)的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行,則稱為過程內(nèi)聚通信內(nèi)聚:如果模塊中所有元素都使用同一個輸入數(shù)據(jù)和16 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!(或)產(chǎn)生同一個輸出數(shù)據(jù),則稱通信內(nèi)聚(3)高內(nèi)聚:順序內(nèi)聚,功能內(nèi)聚順序內(nèi)聚:如果一個模塊內(nèi)的處理元素和同一個功能密切 相關(guān),而且這些處理必須順序執(zhí)行(通常一個處理元素的輸出 數(shù)據(jù)作為下一個處理元素的輸人數(shù)據(jù)),則稱為順序內(nèi)聚功能內(nèi)聚:如果模塊內(nèi)所有處理元素屬于一個整體,完成 一個單一的功能,則稱為功能內(nèi)聚。功能內(nèi)聚是最高程度的內(nèi) 聚四、抽象和求精:由抽象到具體地構(gòu)造軟件層次結(jié)構(gòu)五、軟件開發(fā)過程中既要充分重視和利用啟發(fā)式規(guī)則

20、, 又要從實際情 況出發(fā)避免生搬硬套六、自頂向下逐步求精是軟件結(jié)構(gòu)設(shè)計的常用途徑在詳細的過程設(shè)計和編寫程序之前,首先進行結(jié)構(gòu)設(shè)計,具好處 在于可以在軟件開發(fā)早期站在全局高度對軟件結(jié)構(gòu)進行優(yōu)化。在該時 期進行優(yōu)化付出的代價不高,卻可使軟件質(zhì)量得到重大改進第六章一、詳細設(shè)計階段的關(guān)鍵任務(wù)1.確定怎樣具體地實現(xiàn)用戶需要的軟件系統(tǒng),即要設(shè)計出程序的“藍圖”詳細設(shè)計的結(jié)果基本決定了最終程序代碼的質(zhì)量二、詳細設(shè)計階段最重要的目標17 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!.保證軟件的可靠性.使將來編寫出的程序可讀性好、容易理解、容易測試、容易修改和維護三、結(jié)構(gòu)程序設(shè)計技術(shù)是實現(xiàn)上述目標的基

21、本保證, 是進行詳細設(shè)計 的邏輯基礎(chǔ)如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這 3種基本控 制結(jié)構(gòu)進行連接,并且每個代碼塊只有一個入口和一個出口, 則稱這 個程序是結(jié)構(gòu)化的。結(jié)構(gòu)程序設(shè)計是盡可能少用 GO TO語句的程序 設(shè)計方法。四、人機界面設(shè)計是接口設(shè)計的重要的組成部分.對于交互式系統(tǒng)來說,人機界面設(shè)計和數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計及過程設(shè)計一樣重要.人機界面的質(zhì)量直接影響用戶對軟件產(chǎn)品的接受程度.在設(shè)計人機界面的過程中,必須充分重視并認真處理好系統(tǒng)響應(yīng)時間、用戶幫助設(shè)施、出錯信息處理和命令交互等 4個設(shè)計問題(1)系統(tǒng)響應(yīng)時間長度系統(tǒng)響應(yīng)時間過長,用戶就會感到緊張和沮喪系統(tǒng)響應(yīng)時間過短會迫

22、使用戶加快操作節(jié)奏, 從而可能 會犯錯誤易變性:系統(tǒng)響應(yīng)時間相對于平均響應(yīng)時間的偏差響應(yīng)時間易變性低有助于用戶建立起穩(wěn)定的工作節(jié)奏18 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!響應(yīng)時間變化暗示系統(tǒng)工作出現(xiàn)了異常(2)用戶幫助設(shè)施集成的幫助設(shè)施一開始就設(shè)計在軟件里面縮短用戶獲得幫助的時間,增加界面的友好性附加的幫助設(shè)施在系統(tǒng)建成后再添加到軟件中多數(shù)情況實際是一種查詢能力有限的聯(lián)機用戶手冊(3)出錯信息處理出錯信息和警告信息,是出現(xiàn)問題時交互式系統(tǒng)給出的“壞消息”出錯信息設(shè)計得不好,將向用戶提供無用的甚至誤導(dǎo)的信息,反而會加重用戶的挫折感(4)命令交互面向窗口的、點擊和拾取方式的界面

23、已經(jīng)減少了用戶對命令行的依賴許多高級用戶仍然偏愛面向命令行的交互方式多數(shù)情況,用戶既可以從菜單中選擇軟件功能,也可以通過鍵盤命令序列調(diào)用軟件功能五、過程設(shè)計-詳細設(shè)計階段應(yīng)完成的主要工作精化、迭代、原型.在數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計和接口設(shè)計完成之后進行19 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!.任務(wù)是設(shè)計解題的詳細步驟(即算法)(1)程序流程圖(2)盒圖(N-S圖)(3)PAD圖-問題分析圖任務(wù)1任翳1PAD圖基本結(jié)構(gòu)選擇結(jié)構(gòu)分支途擇的構(gòu)任務(wù)1任翳1PAD圖基本結(jié)構(gòu)選擇結(jié)構(gòu)分支途擇的構(gòu)VSTIL,柒件先判定蜃弄蠟構(gòu)后判定型看環(huán)州構(gòu)(4)判定表當算法中包含多重嵌套的條件選擇時,能

24、清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系判定樹判定樹是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系(6)過程設(shè)計語言過程設(shè)計語言也稱為偽碼六、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法(完成過程設(shè)計).Jackson結(jié)構(gòu)程序設(shè)計方法程序中實際使用的數(shù)據(jù)結(jié)構(gòu)種類繁多,但是它們的數(shù)據(jù)元素彼此間的邏輯關(guān)系卻只有順序、選擇和重復(fù)3類,因此,邏輯數(shù)據(jù)20 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!結(jié)構(gòu)也只有這3類七、程序復(fù)雜程度的定量度量I.McCabe 方法(1)使用環(huán)形復(fù)雜度定量度量程序的復(fù)雜程度(2)實踐表明,環(huán)形復(fù)雜度 V(G) = 10是模塊規(guī)模的合理上限.HaIst

25、ead 方法(1)根據(jù)程序中運算符和操作數(shù)的總數(shù)度量程序復(fù)雜度(2)H = n 110g25 + n 210g2n2第七章一、實現(xiàn)包括編碼和測試兩個階段二、編碼=設(shè)計結(jié)果翻譯成程序(某種程序語言編寫)把軟件設(shè)計結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序三、測試包含靜態(tài)測試和動態(tài)測試,測試步驟至少分為:.模塊測試 - 單元測試重點-5個方面.模塊接口.局部數(shù)據(jù)結(jié)構(gòu).重要的執(zhí)行通路.出錯處理通路21 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!.邊界條件2,子系統(tǒng)測試-局部.系統(tǒng)測試-集成.驗收測試-用戶參與確認測試也稱為驗收測試,它的目標是驗證軟件的有效性。確認(validation ):

26、指的是為了保證軟件確實滿足了用戶需求 而進行的一系列活動。驗證(verification ):指的是保證軟件正確地實現(xiàn)了某個特定 要求的一系列活動。有效性的簡單定義:如果軟件的功能和性能如同用戶所合理期待的那樣,軟件就是有效的。四、白盒測試和黑盒測試是軟件測試的兩類基本方法.白盒測試邏輯覆蓋-是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計測試用 例的技術(shù)。(1)語句覆蓋使程序中每個語句至少執(zhí)行一次22 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!(2)判定覆蓋使每個判定的真假分支都至少執(zhí)行一次。(3)條件覆蓋使每個判定的每個條件的可能取值至少執(zhí)行一次。(4)判定/條件覆蓋選取足夠多的測試用例,使

27、判斷中的每個條件的所有可能取值 至少執(zhí)行一次,同時每個判斷本身的所有可能判斷結(jié)果至少執(zhí)行 一次.(5)條件組合覆蓋所有可能的條件取值組合至少執(zhí)行一次(6)點覆蓋圖論中點覆蓋的概念定義如下:如果連通圖 G的子圖G是 連通的,而且包含G的所有結(jié)點,則稱G是G的點覆蓋。(7)邊覆蓋圖論中邊覆蓋的定義是:如果連通圖G的子圖G是連通的, 而且包含G的所有邊,則稱G是G的邊覆蓋。為了滿足邊覆 蓋的測試標準,要求選取足夠多測試數(shù)據(jù),使得程序執(zhí)行路徑至 少經(jīng)過流圖中每條邊一次。通常邊覆蓋和判定覆蓋是一致的。(8)路徑覆蓋路徑覆蓋的含義是,選取足夠多測試數(shù)據(jù),使程序的每條可能 路徑都至少執(zhí)行一次(如果程序圖中有

28、環(huán),則要求每個環(huán)至少經(jīng)過 一次)。23 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!2.黑盒測試黑盒測試并不能取代白盒測試,它是與白盒測試互補的測試方 法,它很可能發(fā)現(xiàn)白盒測試不易發(fā)現(xiàn)的其他類型的錯誤。1等價類劃分法(等價分配)把所有可能的輸入數(shù)據(jù)(有效的和無效的)劃分成若干個等 價的子集(稱為等價類別或等價區(qū)間),使得每個子集中的一個 典型值在測試中的作用與這一子集中所有其它值的作用相同 .2邊界值分析法邊界值分析法與等價類劃分法區(qū)別(1)邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。(2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生

29、 的測試情況3 錯誤推測法(error guessing)根據(jù)經(jīng)驗、直覺和預(yù)感來進行測試4因果圖法因果圖適合于描述對于多種輸入條件的組合, 相應(yīng)產(chǎn)生多個動 作的形式來設(shè)計測試用例。因果圖方法最終生成的是判定表。第八章一、軟件維護的4類活動(改正性、適應(yīng)性、完善性、預(yù)防性)24 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!軟件維護-就是在軟件已經(jīng)交付使用之后,為保證軟件在相當長的時期能夠正常運作所進行的軟件活動。改正性維護:為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、 排除實施中的誤使用,所進行的診斷和改正錯誤的過程就叫做改正性 維護。適應(yīng)性維護:為使軟件適應(yīng)外部環(huán)境和數(shù)據(jù)環(huán)境的變化

30、,而去修 改軟件的過程就叫做適應(yīng)性維護。擴充與完善性維護:在軟件的使用過程中,用戶往往會對軟件提 出新的功能與性能要求。為了滿足這些要求,需要修改或再開發(fā)軟件, 以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護 性。預(yù)防性維護:預(yù)防性維護是為了提高軟件的可維護性、 可靠性等, 為以后進一步改進軟件打下良好基礎(chǔ)。二、決定軟件可維護性的基本要素(可理解、可測試、可修改、可移植和可重用性).可理解性表現(xiàn)為外來讀者理解軟件的結(jié)構(gòu)、功能、接口和內(nèi)部處理過程的難易程度。模塊化(模塊結(jié)構(gòu)良好,高內(nèi)聚,松耦合)、詳細的設(shè)計文檔、 結(jié)構(gòu)化設(shè)計、程序內(nèi)部的文檔和良好的高級程序設(shè)計語言等等, 都對提高軟件的可理解性有重要貢獻。.可測試性25 / 28文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!診斷和測試的容易程度取決于軟件容易理解的程度。軟件結(jié)構(gòu)、可用的測試工具和調(diào)試工具,以及以前設(shè)計的測

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論