12-軟件工程基礎(chǔ)課件_第1頁(yè)
12-軟件工程基礎(chǔ)課件_第2頁(yè)
12-軟件工程基礎(chǔ)課件_第3頁(yè)
12-軟件工程基礎(chǔ)課件_第4頁(yè)
12-軟件工程基礎(chǔ)課件_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Web第六章軟件工程基礎(chǔ)主要內(nèi)容需求分析的方法概要設(shè)計(jì)的目標(biāo)及方法詳細(xì)設(shè)計(jì)的原則軟件測(cè)試的方法CMM與項(xiàng)目管理需求分析方法—

結(jié)構(gòu)化分析方法SA結(jié)構(gòu)化分析(StructuredAnalysis,SA)是由DouglasRoss提出的,由DeMarco進(jìn)行推廣的。采用自頂向下、逐層進(jìn)行功能分解的系統(tǒng)分析方法來(lái)定義系統(tǒng)的需求。適用于分析大型的數(shù)據(jù)處理系統(tǒng)。方法的特點(diǎn):利用數(shù)據(jù)流圖(DataFlowDiagram,DFD)來(lái)幫助理解問(wèn)題,對(duì)問(wèn)題進(jìn)行分析。一般工具:DFD、數(shù)據(jù)字典、結(jié)構(gòu)化英語(yǔ)、判定表、判定樹(shù)等。需求分析的方法數(shù)據(jù)流圖:描述數(shù)據(jù)處理過(guò)程的工具。數(shù)據(jù)字典:關(guān)于數(shù)據(jù)的信息集合,對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出完整的定義和說(shuō)明,是數(shù)據(jù)流圖的補(bǔ)充。內(nèi)容:數(shù)據(jù)流數(shù)據(jù)項(xiàng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)處理邏輯外部實(shí)體需求分析的步驟調(diào)查分析分析與綜合書寫文檔需求分析評(píng)審文檔說(shuō)明書:引言、任務(wù)概述、數(shù)據(jù)描述、功能要求、性能需求、運(yùn)行需求、其他要求、附錄。Jackson圖

Jackson圖由方框、連線及有特殊含義的一些標(biāo)記組成。由于盡管數(shù)據(jù)結(jié)構(gòu)種類繁多,但其數(shù)據(jù)元素之間的聯(lián)系只有順序、選擇和循環(huán)三種,因此邏輯數(shù)據(jù)結(jié)構(gòu)的類型也只有這三種。此外,結(jié)構(gòu)化的程序中也只含有這三種基本結(jié)構(gòu)。因此,使用Jackson圖無(wú)論表達(dá)數(shù)據(jù)結(jié)構(gòu)或程序結(jié)構(gòu),都是由這三種基本結(jié)構(gòu)組合而成的。這三種基本結(jié)構(gòu)在Jackson圖中的表示符號(hào)如圖所示。Jackson圖

三種基本結(jié)構(gòu)在Jackson圖中的表示符號(hào)(a)順序結(jié)構(gòu);(b)選擇結(jié)構(gòu);(c);循環(huán)結(jié)構(gòu)Jackson圖

在圖中,(a)圖表示A由B、C和D三部分順序組成;(b)圖表示A根據(jù)分支條件由B、C、D三個(gè)部分中選擇一個(gè),注意A、B和C上均標(biāo)有“°”標(biāo)記表示選擇;(c)圖表示A由B重復(fù)若干次組成,注意B上標(biāo)有“*”標(biāo)記表示重復(fù)。由于Jackson圖可直觀、清晰地描述系統(tǒng)中的數(shù)據(jù)結(jié)構(gòu),成為了一種在需求分析和設(shè)計(jì)階段均可采用的通用圖形表達(dá)手段。

(1)分析問(wèn)題,確定輸入、輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用Jackson圖將其描述出來(lái)。如上面例子中的輸入數(shù)據(jù)為職工檔案文件和職工工資文件,輸出數(shù)據(jù)為職工工資檔案文件,用Jackson圖表示的輸入和輸出數(shù)據(jù)結(jié)構(gòu)如圖1所示。圖1輸入和輸出數(shù)據(jù)結(jié)構(gòu)(a)輸入數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu);(b)輸出數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)

(2)找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的單元,并按下列規(guī)則導(dǎo)出描述程序結(jié)構(gòu)的Jackson圖。所謂對(duì)應(yīng)單元,是指在程序中具有因果關(guān)系,可以同時(shí)處理的數(shù)據(jù)單元。若這些單元在結(jié)構(gòu)圖中重復(fù)出現(xiàn),則它們?cè)谳斎虢Y(jié)構(gòu)和輸出結(jié)構(gòu)中重復(fù)出現(xiàn)的次數(shù)都相同時(shí)才算作是對(duì)應(yīng)單元?!駷槊繉?duì)輸入結(jié)構(gòu)與輸出結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元在程序結(jié)構(gòu)圖的相應(yīng)層次畫一個(gè)處理框?!駷檩斎霐?shù)據(jù)結(jié)構(gòu)中剩余的每一個(gè)數(shù)據(jù)單元在程序結(jié)構(gòu)圖的相應(yīng)層次畫一個(gè)處理框。●為輸出數(shù)據(jù)結(jié)構(gòu)中剩余的每一個(gè)數(shù)據(jù)單元在程序結(jié)構(gòu)圖的相應(yīng)層次畫一個(gè)處理框。

(3)列出完成結(jié)構(gòu)圖中各處理框功能的所有操作、分支及循環(huán)條件,并把它們放到程序結(jié)構(gòu)圖上的適當(dāng)位置。在導(dǎo)出程序結(jié)構(gòu)圖的過(guò)程中,當(dāng)順序結(jié)構(gòu)中混雜有循環(huán)或選擇結(jié)構(gòu)時(shí),應(yīng)通過(guò)增加中間層次對(duì)其進(jìn)行改進(jìn),保證結(jié)構(gòu)的清晰性。例子中所涉及的基本操作和條件如下:A.打開(kāi)輸入文件;B.新建工資檔案文件;C.讀取輸入文件中的一條記錄;D.關(guān)閉文件;E.合并生成工資檔案記錄;F.將工資檔案記錄寫入文件;G.終止;I(1).輸入文件未結(jié)束。將這些操作及條件分配到程序結(jié)構(gòu)圖的適當(dāng)位置之后,結(jié)果如圖5.26(a)所示。可以看到,在圖5.26(a)中的產(chǎn)生工資檔案文件順序結(jié)構(gòu)中,混有產(chǎn)生工資檔案記錄這個(gè)循環(huán)結(jié)構(gòu)。為了防止混淆,應(yīng)將其改進(jìn)為圖5.26(b)所示的程序結(jié)構(gòu)圖。圖3加入基本操作和條件后的程序結(jié)構(gòu)圖(a)改進(jìn)前的程序結(jié)構(gòu)圖;(b)改進(jìn)后的程序結(jié)構(gòu)圖

(4)用Jackson偽代碼寫出程序的處理過(guò)程。Jackson方法中使用的偽代碼和Jackson圖完全對(duì)應(yīng),以下是與圖5.23所示的Jackson圖中三種基本結(jié)構(gòu)對(duì)應(yīng)的偽代碼表示。

詳細(xì)設(shè)計(jì)的原則為了能夠使模塊的邏輯描述清晰準(zhǔn)確,在詳細(xì)設(shè)計(jì)階段應(yīng)遵循下列原則。

(1)將保證程序的清晰度放在首位。(2)設(shè)計(jì)過(guò)程中應(yīng)采用逐步細(xì)化的實(shí)現(xiàn)方法。(3)選擇適當(dāng)?shù)谋磉_(dá)工具。詳細(xì)設(shè)計(jì)可采用的工具

1.程序流程圖程序流程圖是最早出現(xiàn)且使用較為廣泛的算法表達(dá)工具之一,能夠有效地描述問(wèn)題求解過(guò)程中的程序邏輯結(jié)構(gòu)。程序流程圖中經(jīng)常使用的基本符號(hào)如圖所示:程序流程圖中的基本符號(hào)(a)一般處理框;(b)輸入/輸出框;(c)判斷框;(d)流程線;(e)起止框三種基本控制結(jié)構(gòu)的流程圖(a)順序結(jié)構(gòu);(b)選擇結(jié)構(gòu);(c)DO-WHILE循環(huán)結(jié)構(gòu)N-S圖中基本控制結(jié)構(gòu)的表示符號(hào)順序結(jié)構(gòu);(b)分支結(jié)構(gòu);(c)多分支CASE結(jié)構(gòu);(d)while-do結(jié)構(gòu);(e)do-until結(jié)構(gòu);(f)調(diào)用模塊APAD中基本符號(hào)順序結(jié)構(gòu);(b)分支結(jié)構(gòu);(c)多分支CASE結(jié)構(gòu);(d)當(dāng)型循環(huán);(e);直到型循環(huán);(f)對(duì)s的細(xì)化圖6.2程序流程圖及導(dǎo)出的程序圖(a)程序流程圖;(b)程序圖軟件測(cè)試技術(shù)

軟件測(cè)試基礎(chǔ)

白盒測(cè)試技術(shù)

黑盒測(cè)試技術(shù)

軟件測(cè)試計(jì)劃和測(cè)試分析報(bào)告軟件測(cè)試策略1.軟件測(cè)試的概念軟件測(cè)試是在軟件投入運(yùn)行前對(duì)軟件需求分析、軟件設(shè)計(jì)規(guī)格說(shuō)明和軟件編碼進(jìn)行查錯(cuò)和糾錯(cuò)(包括代碼執(zhí)行活動(dòng)與人工活動(dòng))。找錯(cuò)的活動(dòng)稱測(cè)試,糾錯(cuò)的活動(dòng)稱調(diào)試。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。軟件測(cè)試是根據(jù)軟件開(kāi)發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。2.軟件測(cè)試的目的

(1)測(cè)試是一個(gè)為了尋找錯(cuò)誤而運(yùn)行程序的過(guò)程。(2)一個(gè)好的測(cè)試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例。(3)一個(gè)成功的測(cè)試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。軟件測(cè)試的過(guò)程軟件測(cè)試的方法

1.靜態(tài)分析技術(shù)靜態(tài)分析技術(shù)不執(zhí)行被測(cè)試軟件,可對(duì)需求分析說(shuō)明書、軟件設(shè)計(jì)說(shuō)明書、源程序做結(jié)構(gòu)檢查、流程圖分析、符號(hào)執(zhí)行等來(lái)找出軟件錯(cuò)誤??梢匀斯みM(jìn)行分析,也可以用測(cè)試工具靜態(tài)分析程序來(lái)進(jìn)行,被測(cè)試程序的正文作為輸入,經(jīng)靜態(tài)分析程序分析得出分析結(jié)果。

(1)結(jié)構(gòu)檢查是手工分析技術(shù),由一組人員對(duì)程序設(shè)計(jì)、需求分析、編碼測(cè)試工作進(jìn)行評(píng)議,虛擬執(zhí)行程序,并在評(píng)議中作錯(cuò)誤檢驗(yàn)。此方法能找出典型程序30%~70%有關(guān)邏輯設(shè)計(jì)與編碼的錯(cuò)誤。

(2)流程圖分析是通過(guò)分析程序流程圖的代碼結(jié)構(gòu),來(lái)檢查程序的語(yǔ)法錯(cuò)誤信息、語(yǔ)句中標(biāo)識(shí)符引用狀況、子程序和函數(shù)調(diào)用狀況及無(wú)法執(zhí)行到的代碼段。此方法便于分析編碼實(shí)現(xiàn)與測(cè)試結(jié)果分析。

(3)符號(hào)執(zhí)行是一種符號(hào)化定義數(shù)據(jù),并為程序每條路徑給出符號(hào)表達(dá)式,對(duì)特定路徑輸入符號(hào),經(jīng)處理輸出符號(hào),從而判斷程序行為是否錯(cuò)誤,達(dá)到分析錯(cuò)誤目的的方法。這種方法比數(shù)值計(jì)算復(fù)雜得多,易出錯(cuò),又不適于非數(shù)值計(jì)算,故使用較少。2.動(dòng)態(tài)測(cè)試技術(shù)動(dòng)態(tài)分析是執(zhí)行被測(cè)程序,由執(zhí)行結(jié)果分析程序可能出現(xiàn)的錯(cuò)誤??梢匀斯ぴO(shè)計(jì)程序測(cè)試用例,也可以由測(cè)試工具動(dòng)態(tài)分析程序來(lái)做檢查與分析。動(dòng)態(tài)測(cè)試包括功能測(cè)試和結(jié)構(gòu)測(cè)試。它把程序看作為一個(gè)函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)則描述了輸入的定義域與輸出值域的關(guān)系。這樣動(dòng)態(tài)測(cè)試的算法可歸納為:函數(shù)

輸入的全體輸出的全體函數(shù)的定義域函數(shù)的值域動(dòng)態(tài)測(cè)試的算法(1)選取定義域中的有效值,或定義域外無(wú)效值。(2)對(duì)已選取值決定預(yù)期的結(jié)果。(3)用選取值執(zhí)行程序。(4)觀察程序行為,記錄執(zhí)行結(jié)果。(5)將(4)的結(jié)果與(2)的結(jié)果相比較,不吻合則程序有錯(cuò)。動(dòng)態(tài)測(cè)試既可以采用白盒法對(duì)模塊進(jìn)行邏輯結(jié)構(gòu)的測(cè)試,又可以用黑盒法做功能結(jié)構(gòu)的測(cè)試和接口的測(cè)試,都是以執(zhí)行程序并分析執(zhí)行結(jié)果來(lái)查錯(cuò)。白盒測(cè)試技術(shù)

白盒測(cè)試概念如果已知產(chǎn)品的內(nèi)部活動(dòng)方式,就可以測(cè)試它的內(nèi)部活動(dòng)是否都符合設(shè)計(jì)要求。這種方法稱白盒測(cè)試(White-boxTesting),它是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,此方法是將測(cè)試對(duì)象比作一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)和相關(guān)信息來(lái)設(shè)計(jì)或選擇測(cè)試用例,對(duì)穿過(guò)軟件的邏輯路徑進(jìn)行測(cè)試,可以在不同點(diǎn)檢查程序的狀態(tài),以確定實(shí)際狀態(tài)與預(yù)期狀態(tài)是否一致。軟件人員使用白盒方法測(cè)試程序模塊的檢查點(diǎn)主要包括:①對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑應(yīng)至少測(cè)試一次;②對(duì)所有的邏輯判定,取“真”與取“假”兩種情況都能至少測(cè)試一次;③在循環(huán)的邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體;④測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等。表面看來(lái),白盒測(cè)試是可以進(jìn)行完全的測(cè)試的,從理論上講也應(yīng)該如此。只要能確定測(cè)試模塊的所有邏輯路徑,并為每一條邏輯路徑設(shè)計(jì)測(cè)試用例,并評(píng)價(jià)所得到的結(jié)果,就可得到100%正確的程序。但實(shí)際測(cè)試中,這種窮舉法是無(wú)法實(shí)現(xiàn)的,因?yàn)榧词故呛苄〉某绦颍部赡軙?huì)出現(xiàn)數(shù)目驚人的邏輯路徑。如圖所示是一個(gè)小程序的流程圖。圖中,一個(gè)圓圈代表一行源程序代碼(或一個(gè)語(yǔ)句塊)。其中有五條通路,左邊曲線箭頭表示執(zhí)行次數(shù)不超過(guò)20次循環(huán)。這樣的執(zhí)行路徑就有520個(gè),近似為1014個(gè)可能的路徑。如果1ms完成一個(gè)測(cè)試,由此測(cè)試程序需3170年。由此看出,即使精確地實(shí)現(xiàn)了白盒測(cè)試,也不能斷言測(cè)試過(guò)的程序全正確,因?yàn)閷?shí)行窮舉測(cè)試,由于工作量過(guò)大,需用時(shí)間過(guò)長(zhǎng),實(shí)施起來(lái)是不現(xiàn)實(shí)的。這就是程序測(cè)試的經(jīng)濟(jì)學(xué)問(wèn)題。既然在測(cè)試階段窮舉法測(cè)試是不可行的,那么為了節(jié)省時(shí)間和資源,提高測(cè)試效率,就必須精心設(shè)計(jì)測(cè)試用例。需從大量的可用測(cè)試用例中精選出少量的測(cè)試數(shù)據(jù),使得采用這些測(cè)試數(shù)據(jù)能夠達(dá)到最佳的測(cè)試效果,即能高效地、盡可能多地發(fā)現(xiàn)隱藏的錯(cuò)誤。測(cè)試只能發(fā)現(xiàn)錯(cuò)誤,并不能保證程序沒(méi)有錯(cuò)誤。白盒測(cè)試中的窮舉測(cè)試黑盒測(cè)試技術(shù)黑盒測(cè)試概念黑盒測(cè)試方法是在已知產(chǎn)品應(yīng)該具有的功能的情況下,通過(guò)測(cè)試來(lái)檢驗(yàn)是否每個(gè)功能都能正常使用的測(cè)試方法。對(duì)于軟件測(cè)試而言,黑盒測(cè)試法把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。黑盒測(cè)試是在程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否能按照規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。黑盒測(cè)試又稱功能測(cè)試。使用黑盒測(cè)試法,為了做到窮舉測(cè)試,至少必須對(duì)所有輸入數(shù)據(jù)的各種可能值的排列組合都進(jìn)行測(cè)試。與白盒法相似,由此得到的應(yīng)測(cè)試的情況數(shù)往往大到實(shí)際上根本無(wú)法測(cè)試的程度,即黑盒測(cè)試使用所有有效和無(wú)效的輸入數(shù)據(jù)來(lái)測(cè)試程序是不現(xiàn)實(shí)的。所以,黑盒測(cè)試同樣不能做到窮盡測(cè)試,只能選取少量最有代表性的輸入數(shù)據(jù),以期用較少的代價(jià)暴露出較多的程序錯(cuò)誤。黑盒測(cè)試技術(shù)其他測(cè)試方法條件測(cè)試:是檢查程序模塊中所包含邏輯條件的測(cè)試用例設(shè)計(jì)方法。數(shù)據(jù)流測(cè)試:按照程序中的變量定義和使用的位置來(lái)選擇程序的測(cè)試路徑。循環(huán)測(cè)試:是一種白盒測(cè)試技術(shù).包括簡(jiǎn)單循環(huán)、串接循環(huán)、嵌套循環(huán)、不規(guī)則循環(huán)。CMM與項(xiàng)目管理CMM(CapabilityMaturityModel)軟件過(guò)程能力成熟度模型。五個(gè)等級(jí):

初始級(jí)→可重復(fù)級(jí)→已定義級(jí)→已定量管理級(jí)→優(yōu)先級(jí)項(xiàng)目管理項(xiàng)目管理:項(xiàng)目資源項(xiàng)目目標(biāo)項(xiàng)目需求項(xiàng)目管理的原則和方法:全目標(biāo)管理過(guò)程管理:?jiǎn)?dòng)、計(jì)劃、執(zhí)行、控制、結(jié)束整合管理:目標(biāo)整合、方案整合、過(guò)程整合ASP由微軟創(chuàng)建的Web應(yīng)用開(kāi)發(fā)標(biāo)準(zhǔn),ASP服務(wù)器已經(jīng)包含在IIS服務(wù)器中,ASP服務(wù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論