




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《信息系統(tǒng)開發(fā)》第六章 系統(tǒng)實(shí)施第06章系統(tǒng)實(shí)施第六章系統(tǒng)實(shí)施1.系統(tǒng)實(shí)施的主要活動(dòng)2.程序設(shè)計(jì)3.系統(tǒng)測(cè)試4.系統(tǒng)轉(zhuǎn)換系統(tǒng)實(shí)施是整個(gè)管理信息系統(tǒng)建設(shè)的物理實(shí)現(xiàn)階段,要求自考者領(lǐng)會(huì)系統(tǒng)實(shí)施階段在系統(tǒng)建設(shè)中的地位與作用,領(lǐng)會(huì)系統(tǒng)實(shí)施階段的主要活動(dòng)和內(nèi)容,深刻理解與熟練掌握結(jié)構(gòu)化程序設(shè)計(jì)的概念和方法,深刻理解系統(tǒng)測(cè)試的基本概念和對(duì)系統(tǒng)建設(shè)的重要意義,掌握系統(tǒng)測(cè)試的基本方法和步驟,領(lǐng)會(huì)系統(tǒng)轉(zhuǎn)換的任務(wù)和基本方式。本章的重點(diǎn)是結(jié)構(gòu)化程序設(shè)計(jì)和系統(tǒng)測(cè)試的基本概念和方法。難點(diǎn)是系統(tǒng)測(cè)試的方法和測(cè)試用例設(shè)計(jì)技術(shù)。第06章系統(tǒng)實(shí)施第六章系統(tǒng)實(shí)施6.l系統(tǒng)實(shí)施階段的主要活動(dòng)6.2程序設(shè)計(jì)6.3系統(tǒng)測(cè)試6.4系統(tǒng)轉(zhuǎn)換第06章系統(tǒng)實(shí)施6.l系統(tǒng)實(shí)施階段的主要活動(dòng)6.1.1系統(tǒng)實(shí)施在管理信息系統(tǒng)建設(shè)中的地位與作用6.1.2系統(tǒng)實(shí)施的主要活動(dòng)第06章系統(tǒng)實(shí)施6.l系統(tǒng)實(shí)施階段的主要活動(dòng)6.1.1系統(tǒng)實(shí)施在管理信息系統(tǒng)建設(shè)中的地位與作用在管理信息系統(tǒng)的生命周期中,經(jīng)過了系統(tǒng)規(guī)劃、系統(tǒng)分析和系統(tǒng)設(shè)計(jì)等階段以后,便開始了系統(tǒng)實(shí)施階段。在系統(tǒng)分析和設(shè)計(jì)階段,系統(tǒng)開發(fā)工作主要是集中在邏輯、功能和技術(shù)設(shè)計(jì)上,工作成果是以各種系統(tǒng)分析與設(shè)計(jì)文檔來體現(xiàn)的。系統(tǒng)實(shí)施階段要繼承此前各階段的工作,將技術(shù)設(shè)計(jì)轉(zhuǎn)化成為物理實(shí)現(xiàn),因此,系統(tǒng)實(shí)施的成果是系統(tǒng)分析和設(shè)計(jì)階段的結(jié)晶。系統(tǒng)實(shí)施是以系統(tǒng)分析和設(shè)計(jì)工作為基礎(chǔ)的,必須按照系統(tǒng)設(shè)計(jì)的文檔進(jìn)行。在管理信息系統(tǒng)的整個(gè)生命周期中,相對(duì)來講,系統(tǒng)分析與設(shè)計(jì)比系統(tǒng)實(shí)施要重要得多。只有在系統(tǒng)分析和設(shè)計(jì)工作完成以后,才能開始系統(tǒng)實(shí)施工作,切忌在系統(tǒng)開發(fā)工作中提前開展這部分的工作。第06章系統(tǒng)實(shí)施6.1系統(tǒng)實(shí)施階段的主要活動(dòng)6.1.2系統(tǒng)實(shí)施的主要活動(dòng)1.系統(tǒng)實(shí)施的前提條件系統(tǒng)實(shí)施是以系統(tǒng)分析和設(shè)計(jì)文檔資料為依據(jù)的。系統(tǒng)開發(fā)人員不僅要了解本人所承擔(dān)的部分,還要了解系統(tǒng)總體結(jié)構(gòu)、彼此接口、數(shù)據(jù)交換等相互聯(lián)系部分的內(nèi)容,以保證在系統(tǒng)實(shí)施工作中局部分散實(shí)施與系統(tǒng)整體的協(xié)調(diào)一致性。2.系統(tǒng)實(shí)施的主要活動(dòng)這一階段由編碼、系統(tǒng)測(cè)試、系統(tǒng)安裝和新舊系統(tǒng)轉(zhuǎn)換等活動(dòng)構(gòu)成。編碼又稱程序設(shè)計(jì)或編寫程序,按照詳細(xì)設(shè)計(jì)階段產(chǎn)生的程序設(shè)計(jì)說明書,用選定的程序設(shè)計(jì)語言書寫源程序。系統(tǒng)測(cè)試是系統(tǒng)質(zhì)量可靠性保證的關(guān)鍵,也是對(duì)需求分析、系統(tǒng)設(shè)計(jì)和編碼的最終評(píng)審。運(yùn)用一定的測(cè)試技術(shù)與方法,通過模塊測(cè)試、組裝測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試幾個(gè)步驟,發(fā)現(xiàn)系統(tǒng)可能存在的問題。系統(tǒng)安裝主要是指各種軟、硬件設(shè)備的選型、論證、購置、安裝以及整個(gè)系統(tǒng)調(diào)試運(yùn)行。新舊系統(tǒng)轉(zhuǎn)換,也稱系統(tǒng)切換與運(yùn)行,是指以新開發(fā)的系統(tǒng)替換舊的系統(tǒng),并使之投入使用的過程。包括系統(tǒng)交付前的準(zhǔn)備工作、系統(tǒng)切換的方法和步驟等。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.1程序設(shè)計(jì)的基本概念6.2.2程序設(shè)計(jì)語言6.2.3結(jié)構(gòu)化程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.1程序設(shè)計(jì)的基本概念(1)1.程序設(shè)計(jì)的任務(wù)和作用程序設(shè)計(jì)又稱編碼,是系統(tǒng)生命周期中繼詳細(xì)設(shè)計(jì)之后的階段,這個(gè)階段的任務(wù)是使用選定的程序設(shè)計(jì)語言,把經(jīng)過概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)所得到的以程序設(shè)計(jì)說明書體現(xiàn)的信息處理過程描述后,轉(zhuǎn)換成能在計(jì)算機(jī)系統(tǒng)上運(yùn)行的程序源代碼(源程序)。系統(tǒng)設(shè)計(jì)是程序設(shè)計(jì)工作的先導(dǎo)和前提條件,而程序編碼是在此之前各階段的工作結(jié)晶,不僅體現(xiàn)了編程人員的工作成果,而且體現(xiàn)了開發(fā)周期各階段開發(fā)人員的勞動(dòng)。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.1程序設(shè)計(jì)的基本概念(2)2.對(duì)程序設(shè)計(jì)的質(zhì)量要求對(duì)程序設(shè)計(jì)基本的質(zhì)量要求,當(dāng)然應(yīng)該是程序的正確性,即一方面正確運(yùn)用程序設(shè)計(jì)語言環(huán)境,以避免語法錯(cuò)誤,另一方面,程序所描述的過程和算法要滿足系統(tǒng)設(shè)計(jì)的功能要求,以避免語義錯(cuò)誤。程序設(shè)計(jì)另一個(gè)主要的質(zhì)量要求是程序的可讀性,從軟件維護(hù)的角度出發(fā),程序設(shè)計(jì)人員在保證程序正確性的同時(shí)。還必須保證源程序的可讀性,以便于其他人可以讀懂和維護(hù)。從系統(tǒng)開發(fā)和應(yīng)用角度,程序的編寫和運(yùn)行效率也是程序設(shè)計(jì)質(zhì)量的一個(gè)考慮方面。這里的效率指程序的語句行數(shù),對(duì)存儲(chǔ)空間的要求,以及程序運(yùn)行速度等。在有些情況下,程序的可讀性與效率可能存在矛盾。從軟件工程出發(fā),對(duì)于絕大多數(shù)的程序模塊,編碼時(shí)應(yīng)把可讀性放在第一位,如果個(gè)別模塊對(duì)運(yùn)行效率有特殊要求,就應(yīng)把具體要求做特殊處理,并通過一定的方法彌補(bǔ)其可讀性。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.1程序設(shè)計(jì)的基本概念(3)3.程序設(shè)計(jì)的步驟(1)了解計(jì)算機(jī)系統(tǒng)的性能和軟硬件環(huán)境,包括計(jì)算機(jī)的運(yùn)算速度與存取速度,內(nèi)存和外存的大小,操作系統(tǒng)、程序設(shè)計(jì)語言以及開發(fā)工具,外設(shè)連接及通訊能力等重要性指標(biāo)。(2)充分理解系統(tǒng)概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的文檔,準(zhǔn)確把握系統(tǒng)的軟件功能,模塊間的邏輯關(guān)系算法的詳細(xì)方案以及輸入輸出要求。(3)根據(jù)程序設(shè)計(jì)要求和軟、硬件環(huán)境條件,選定程序設(shè)計(jì)語言。(4)編寫程序代碼。(5)程序的檢查、編譯和調(diào)試。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.2程序設(shè)計(jì)語言l.程序設(shè)計(jì)語言的發(fā)展與分類發(fā)展分為四代:機(jī)器語言、匯編語言、高級(jí)語言、第四代語言。2.程序設(shè)計(jì)語言的選擇信息系統(tǒng)的開發(fā)是面向具體應(yīng)用的,是以一定的軟件環(huán)境和工參具為基礎(chǔ)的,因此一般在程序設(shè)計(jì)語言上都選擇高級(jí)語言。只有在極特殊的條件下,才部分地使用低級(jí)語言,在程序設(shè)計(jì)語言的選擇上,主要應(yīng)考慮以下幾方面問題:(l)應(yīng)用的領(lǐng)域。 (6)有多少可用的支撐環(huán)境。(2)過程與算法的復(fù)雜程度。 (7)開發(fā)人員、用戶的知識(shí)水平和熟練程度。(3)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)類型的考慮。 (8)程序設(shè)計(jì)語言的特性。(4)編碼及維護(hù)的工作量與成本。(9)系統(tǒng)規(guī)模。(5)兼容性和可移植性。 (10)系統(tǒng)的效率要求。以上是在選擇程序設(shè)計(jì)語言時(shí)要考慮的主要問題,可以看出并沒有哪種語言絕對(duì)的好或不好。每種語言都各有側(cè)重和特點(diǎn),關(guān)鍵是要根據(jù)實(shí)際需要和可能,選擇最適用的語言,以滿足系統(tǒng)的要求。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.3結(jié)構(gòu)化程序設(shè)計(jì)(1)l.結(jié)構(gòu)化程序設(shè)計(jì)概念的提出結(jié)構(gòu)化程序設(shè)計(jì)的基本思想于70年代形成,即以自頂向下的方式,按照模塊化和逐步細(xì)化的思想,用一級(jí)單入口單出口的基本控制結(jié)構(gòu)及其反復(fù)嵌套來進(jìn)行程序設(shè)計(jì)。2.程序設(shè)計(jì)的基本控制結(jié)構(gòu)所有的程序都由基本控制結(jié)構(gòu)及其組合來實(shí)現(xiàn)。3.自頂向下的模塊化設(shè)計(jì)方法(1)自頂向下的模塊化設(shè)計(jì)。(2)逐步細(xì)化。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.3結(jié)構(gòu)化程序設(shè)計(jì)(2)2.程序設(shè)計(jì)的基本控制結(jié)構(gòu)(1)順序結(jié)構(gòu)。順序結(jié)構(gòu)表示含有多個(gè)連續(xù)的處理步驟,按程序書寫的先后順序執(zhí)行。處理過程從A到B順序執(zhí)行。(2)選擇結(jié)構(gòu)或條件結(jié)構(gòu)。由某個(gè)邏輯表達(dá)式的取值決定選擇。兩個(gè)處理加工中的一個(gè)。當(dāng)邏輯表達(dá)式P取值為真時(shí)執(zhí)行A,為假時(shí)執(zhí)行B。(3)循環(huán)結(jié)構(gòu)或重復(fù)結(jié)構(gòu)。它有兩種類型;一種稱為當(dāng)型循環(huán)結(jié)構(gòu)。在控制條件成立時(shí),重復(fù)執(zhí)行特定的處理,從人口處首先測(cè)試邏輯表達(dá)式P,若P為真,則執(zhí)行S,然后再回到測(cè)試條件處;若P為假,則從出口離開此結(jié)構(gòu)。處理S的重復(fù)執(zhí)行次數(shù)由條件P控制,只要條件為真就執(zhí)行一次,因此處理S中必須包括修改邏輯表達(dá)式中的控制變量,否則將無限循環(huán)。另一種稱為"直到"型循環(huán)結(jié)構(gòu)。這種循環(huán)結(jié)構(gòu)與"當(dāng)"無本質(zhì)區(qū)別,只是測(cè)試條件在處理S之后執(zhí)行。因此"直到"型循環(huán)結(jié)構(gòu)不管條件P為何值,至少要執(zhí)行一次處理一次S。(4)多種情況選擇結(jié)構(gòu)或多分支結(jié)構(gòu)(CASE結(jié)構(gòu))。它是條件結(jié)構(gòu)的擴(kuò)充,當(dāng)被測(cè)試的變量有多種可能的取值,而根據(jù)不同的值需要選擇不同的處理時(shí),可采用這種結(jié)構(gòu)。首先測(cè)試表達(dá)式P值,若P的值為民,執(zhí)行S,執(zhí)行后從出口離開此結(jié)構(gòu),當(dāng)P的值為其它值時(shí),則執(zhí)行與之相應(yīng)的處理。以上控制結(jié)構(gòu)都有一個(gè)重要特征,即只有一個(gè)人口和一個(gè)出口。這種單人口單出口基本結(jié)構(gòu)單元,容易做到在一種結(jié)構(gòu)中嵌套其它結(jié)構(gòu),從而實(shí)現(xiàn)任何復(fù)雜的處理過程和算法。(5)結(jié)構(gòu)程序設(shè)計(jì)中的GOTO語句。采用基本控制結(jié)構(gòu)編著程序,完全可以避免使用GOTO語句,另一方面,也可以在確實(shí)需要無條件轉(zhuǎn)向的特殊情況下使用??傊瓽OTO語句不能濫用,但也不必禁止。GOTO語句可能在下面幾種情況下有用。①在沒有基本控制結(jié)構(gòu)語句的程序設(shè)計(jì)語言中,用GOTO實(shí)現(xiàn)三種基本控制結(jié)構(gòu);②在結(jié)束檢索、文件結(jié)束、發(fā)生錯(cuò)誤等需進(jìn)行特殊處理需要從過程出口退出時(shí),GOTO語句可能比有不變量和條件結(jié)構(gòu)都要簡潔明了。在除此之外的情況下,如果一定使用GOTO語句,要注意將轉(zhuǎn)移范圍控制在同一個(gè)控制結(jié)構(gòu)內(nèi)部。第06章系統(tǒng)實(shí)施入口AB出口FT出口ABp入口圖6-2順序結(jié)構(gòu)圖6-3選擇結(jié)構(gòu)第06章系統(tǒng)實(shí)施
出口SP入口TF
PS入口F出口圖6-4“當(dāng)”型循環(huán)圖6-5“直到”型循環(huán)第06章系統(tǒng)實(shí)施
S=S1S=S2S=S3S=Sn
P3P2P1測(cè)試P。。。。。。。。。。入口出口Pn
圖6-6多分支結(jié)構(gòu)第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.3結(jié)構(gòu)化程序設(shè)計(jì)(3)3.自頂向下的模塊化設(shè)計(jì)方法(1)自頂向下的模塊化設(shè)計(jì)。進(jìn)入程序設(shè)計(jì)階斷,系統(tǒng)設(shè)計(jì)人員將對(duì)應(yīng)的HIPO圖或控制結(jié)構(gòu)圖中各個(gè)模塊的模塊說明書分別交給若干多程序員,由程序員進(jìn)行各個(gè)模塊的程序設(shè)計(jì)工作。對(duì)應(yīng)系統(tǒng)結(jié)構(gòu)圖中的每個(gè)模塊,都有一份模塊說明書,內(nèi)容包括模塊名稱、程序名稱、輸入數(shù)據(jù)、輸出數(shù)據(jù)、轉(zhuǎn)換過程等,這是程序員進(jìn)行程序設(shè)計(jì)的主要文檔和依據(jù)。按照自須向下的模塊化設(shè)計(jì)原則,第一步先把這個(gè)程序高度抽象,看作是一個(gè)最簡單的控制結(jié)構(gòu),它實(shí)際上是一個(gè)龐大而復(fù)雜的功能模塊。第二步分析這個(gè)功能的完成可以由幾部分組成,或可以劃分為幾個(gè)步驟,因此這個(gè)模塊可以進(jìn)一步分解成若干個(gè)較低一層的模塊,每個(gè)模塊都表示了一個(gè)較上層功能較小的功能。然后,對(duì)分解出來的每一個(gè)下層模塊,反復(fù)運(yùn)用上述第二步,逐層分解努直到最低一層的每個(gè)模塊都非常簡單,功能很小,能夠容易地用程序語句實(shí)現(xiàn)為止,這樣分解出的模塊圖可用層次模塊圖表示。由于分解出來的每一個(gè)模塊都屬于基本控制結(jié)構(gòu)的集合,那么這個(gè)模塊化的程序就是一個(gè)結(jié)構(gòu)化程序。(2)逐步細(xì)化。自須向下模塊化設(shè)計(jì),把一個(gè)程序分解為若干個(gè)層次模塊,但它以表達(dá)了程序中各功能之間的關(guān)系,卻不能表達(dá)每個(gè)模塊的內(nèi)部邏輯。采用逐步細(xì)化的方法,能把每一個(gè)模塊功能進(jìn)一步分解,分解成程序的內(nèi)部邏輯。對(duì)每一個(gè)模塊的細(xì)化應(yīng)包括功能細(xì)化、數(shù)據(jù)細(xì)化和邏輯細(xì)化等三個(gè)方面。功能細(xì)化應(yīng)對(duì)本模塊的功能進(jìn)行分析,力圖分解為若干個(gè)更為簡單的子功能;數(shù)據(jù)細(xì)化應(yīng)列出本模塊涉及到的數(shù)據(jù)項(xiàng)名各數(shù)據(jù)類型。邏輯細(xì)化確定所構(gòu)成的子模塊之間的結(jié)構(gòu)關(guān)系,用基本控制結(jié)構(gòu)來描述這些關(guān)系,從而形成各個(gè)模塊的內(nèi)部處理邏輯,一般用程序流程圖或其它工具來表示。這樣對(duì)每個(gè)模塊都進(jìn)行上述三個(gè)方面的細(xì)化,就可以將整個(gè)程序的邏輯過程描述清楚,為程序編碼做好準(zhǔn)備。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格(1)良好的程序設(shè)計(jì)風(fēng)格包括以下幾個(gè)方面:1.標(biāo)志符的命名2.程序中的注釋3.程序的布局格式4.數(shù)據(jù)說明5.程序語句的結(jié)構(gòu)6.輸入和輸出7.程序的運(yùn)行效率第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格(2)1.標(biāo)志符的命名(1)命名規(guī)則在整個(gè)程序中前后一致,不要中途變化,給閱讀理解帶來困難。(2)命名時(shí)一定要避開程序設(shè)計(jì)語言的保留字,否則程序在運(yùn)行中會(huì)產(chǎn)生莫明其妙的錯(cuò)誤。(3)盡量避免使用意義容易混淆的標(biāo)識(shí)名。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格(3)2.程序中的注釋(l)注釋一定要在程序編制中書寫,不要在程序完成之后進(jìn)行補(bǔ)寫。(2)解釋性程序不是簡單直譯程序語句,而是要說明程序段的動(dòng)機(jī)和原因,提供的是從程序本身難以得到的信息,說明"做什么"。(3)一定要保持注釋與程序的一致性,程序修改后,注釋也要及時(shí)做相應(yīng)修改。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格(4)3.程序的布局格式一個(gè)程序可以充分利用空格、空行和右縮格等改善程序的布局,以獲得較好的視覺效果。4.數(shù)據(jù)說明在每個(gè)程序模塊的前面都集中一些數(shù)據(jù)說明語句。原則上講,數(shù)據(jù)結(jié)構(gòu)的組織及復(fù)雜程度是在設(shè)計(jì)階段決定的,與程序中說明的次序和語法無關(guān),只要做到先說明、后引用即可。但出于閱讀理解和維護(hù)的要求,最好使其規(guī)范化,使說明的內(nèi)容和次序固定。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格(5)5.程序語句的結(jié)構(gòu)程序的邏輯結(jié)構(gòu)是在設(shè)計(jì)時(shí)定的,而在源程序中語句的結(jié)構(gòu)卻在很大程度上受編碼風(fēng)格的影響。下列規(guī)則有助于使語句簡單明了。(l)每句寫一行,不要多個(gè)語句寫在同一行。(2)避免使用復(fù)雜的條件判斷。(3)盡量減少使用否定的邏輯條件進(jìn)行測(cè)試。(4)盡量減少循環(huán)嵌套和條件嵌套的尾數(shù)。(5)用空格、括號(hào)使復(fù)雜表達(dá)式的運(yùn)算次序清晰直觀。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格(6)6.輸入和輸出信息系統(tǒng)一般都是交互式系統(tǒng),程序的輸入輸出是與用戶的使用直接有關(guān)的,應(yīng)通過輸入輸出格式和方式的設(shè)計(jì)實(shí)現(xiàn)友好的用戶界面。在輸入輸出設(shè)計(jì)時(shí)應(yīng)注意以下幾點(diǎn):(1)應(yīng)針對(duì)用戶的不同對(duì)象、特點(diǎn)和要求設(shè)計(jì)人機(jī)交互方式。(2)程序在運(yùn)行過程中應(yīng)有看明當(dāng)前狀態(tài)的標(biāo)注說明信息,以使用戶對(duì)進(jìn)程有了解,不至于面對(duì)靜止的、無內(nèi)容的屏幕不知所措。(3)交互式輸入的請(qǐng)求應(yīng)有明確提示,輸入格式應(yīng)簡潔,且與用戶所習(xí)慣或熟悉的方式接近;對(duì)于要求輸入的內(nèi)容,應(yīng)標(biāo)明可用的選擇和邊界條件,可能的話輔之以在線幫助功能;對(duì)用戶的輸入應(yīng)進(jìn)行有效性檢驗(yàn),以防無效數(shù)據(jù)的引入。(4)對(duì)于輸出的格式和方式,應(yīng)允許用戶進(jìn)行選擇或應(yīng)答,對(duì)于所有輸出都應(yīng)有明確的標(biāo)志和說明。(5)應(yīng)設(shè)計(jì)完備的錯(cuò)誤檢測(cè)和恢復(fù)功能,以防程序非正常運(yùn)行或終止,使用戶無所適從,又無從下手。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格(7)7.程序的運(yùn)行效率效率主要指計(jì)算機(jī)運(yùn)行時(shí)間和存儲(chǔ)空間兩個(gè)方面,要在保證程序可讀性的前提下,提高效率。應(yīng)注意以下幾點(diǎn):(l)寫程序之前,盡量簡化算術(shù)和邏輯表達(dá)式,且盡量用邏輯表達(dá)式。(2)盡量選用好的算法。(3)仔細(xì)研究循環(huán)嵌套,確定是否有語句可以從內(nèi)層移到循環(huán)體外。(4)盡量避免使用指針和復(fù)雜的表。(5)充分利用語言環(huán)境提供的函數(shù)。(6)使用有良好優(yōu)化特性的編譯程序,以生產(chǎn)高效的目標(biāo)代碼。第06章系統(tǒng)實(shí)施6.2程序設(shè)計(jì)6.2.4程序設(shè)計(jì)的風(fēng)格(1)良好的程序設(shè)計(jì)風(fēng)格包括以下幾個(gè)方面:1.標(biāo)志符的命名2.程序中的注釋3.程序的布局格式4.數(shù)據(jù)說明5.程序語句的結(jié)構(gòu)6.輸入和輸出7.程序的運(yùn)行效率第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.l系統(tǒng)測(cè)試的基本概念6.3.2系統(tǒng)測(cè)試的方法6.3.3系統(tǒng)測(cè)試的步驟6.3.4測(cè)試用例設(shè)計(jì)技術(shù)6.3.5排錯(cuò)第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.l系統(tǒng)測(cè)試的基本概念(1)1.系統(tǒng)測(cè)試的作用和意義系統(tǒng)測(cè)試是管理信息系統(tǒng)開發(fā)周期中一個(gè)十分重要而漫長的階段,其重要性體現(xiàn)在它是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對(duì)整個(gè)系統(tǒng)開發(fā)過程包括系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)的最終審查。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.l系統(tǒng)測(cè)試的基本概念(2)2.系統(tǒng)測(cè)試的對(duì)象和目的系統(tǒng)測(cè)試的對(duì)象不僅僅是源程序,而應(yīng)是整個(gè)軟件。它把需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及程序設(shè)計(jì)各階段的開發(fā)文檔,包括需求規(guī)格說明、概要設(shè)計(jì)說明、詳細(xì)設(shè)計(jì)說明以及源程序,都作為測(cè)試的對(duì)象。由于"程序+文檔=軟件",所以系統(tǒng)測(cè)試的對(duì)象是軟件。系統(tǒng)測(cè)試的目的是發(fā)現(xiàn)軟件的錯(cuò)誤。按發(fā)現(xiàn)的錯(cuò)誤其范圍和性質(zhì)可劃分為以下幾類:(1)功能錯(cuò)誤。(2)系統(tǒng)錯(cuò)誤。(3)過程錯(cuò)誤。(4)數(shù)據(jù)錯(cuò)誤。(5)編碼錯(cuò)誤。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.l系統(tǒng)測(cè)試的基本概念(3)3.系統(tǒng)測(cè)試的基本原則在進(jìn)行系統(tǒng)測(cè)試中應(yīng)遵循以下基本原則:(1)測(cè)試工作應(yīng)避免由原開發(fā)軟件的個(gè)人或小組來承擔(dān)。(2)設(shè)計(jì)測(cè)試方案時(shí),不僅要包括確定的輸入數(shù)據(jù),而且應(yīng)包括從系統(tǒng)功能出發(fā)預(yù)期的測(cè)試結(jié)果。(3)測(cè)試用例不僅要包括合理、有效的輸入數(shù)據(jù),還要包括無效的或不合理的輸入數(shù)據(jù)。(4)不僅要檢驗(yàn)程序是否做了該做的事,還要檢查程序是否同時(shí)做了不該做的事。(5)軟件仍存在錯(cuò)誤的概率和已經(jīng)發(fā)現(xiàn)錯(cuò)誤的個(gè)數(shù)是成正比的。(6)保留測(cè)試用倒,作為軟件文檔的組成部分。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.l系統(tǒng)測(cè)試的基本概念(4)4.測(cè)試和調(diào)試測(cè)試是發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤,調(diào)試則是發(fā)現(xiàn)問題后,還必須診斷錯(cuò)誤、改正錯(cuò)誤。改正錯(cuò)誤后,應(yīng)及時(shí)對(duì)系統(tǒng)文檔中相關(guān)的內(nèi)容進(jìn)行修改,以保證程序與文檔的一致性。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.l系統(tǒng)測(cè)試的基本概念(5)5.窮舉測(cè)試與選擇測(cè)試窮舉測(cè)試:能夠包含所有可能情況的測(cè)試。選擇測(cè)試:即從數(shù)量極大的測(cè)試用例中選擇一部分進(jìn)行選擇測(cè)試,從而獲得以較少的測(cè)試數(shù)據(jù)發(fā)現(xiàn)最多的錯(cuò)誤的最佳測(cè)試效果。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.2系統(tǒng)測(cè)試的方法(1)對(duì)軟件進(jìn)行測(cè)試的主要方法見圖:一般源程序通過編譯后,要先經(jīng)過人工測(cè)試,然后再進(jìn)行機(jī)器測(cè)試。人工測(cè)試是采用人工方式進(jìn)行,目的在于檢查程序的靜態(tài)結(jié)構(gòu),找出編譯不能發(fā)現(xiàn)的錯(cuò)誤。機(jī)器測(cè)試是運(yùn)用事先設(shè)計(jì)好的測(cè)試用例,執(zhí)行被測(cè)程序,對(duì)比運(yùn)行結(jié)果與預(yù)期結(jié)果的差別以發(fā)現(xiàn)錯(cuò)誤。對(duì)某些類型的錯(cuò)誤,機(jī)器測(cè)試比人工測(cè)試有效,但對(duì)另一些類型的錯(cuò)誤,人工測(cè)試的效率往往比機(jī)器測(cè)試更高。而且機(jī)器測(cè)試只能發(fā)現(xiàn)錯(cuò)誤的癥狀,不能進(jìn)行問題定位,而人工測(cè)試一旦發(fā)現(xiàn)錯(cuò)誤。同時(shí)就確定了錯(cuò)誤位置、類型和性質(zhì)。因此人工測(cè)試不可忽視,它是機(jī)器測(cè)試的準(zhǔn)備,是測(cè)試中必不可少的環(huán)節(jié)。第06章系統(tǒng)實(shí)施
軟件測(cè)試機(jī)器測(cè)試白盒測(cè)試黑盒測(cè)試會(huì)審走查個(gè)人復(fù)查人工測(cè)試
第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.2系統(tǒng)測(cè)試的方法(2)1.人工測(cè)試人工測(cè)試又稱代碼復(fù)審,主要有下列三種方法。(l)個(gè)人復(fù)查。 (2)走查。 (3)會(huì)審。2.機(jī)器測(cè)試通過在計(jì)算機(jī)上直接運(yùn)行被測(cè)程序來發(fā)現(xiàn)程序中的錯(cuò)誤。機(jī)器測(cè)試有黑盒測(cè)試和白盒測(cè)試兩種方法。(l)黑盒測(cè)試:也稱功能測(cè)試,將軟件看成黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,測(cè)試軟件的外部特性。根據(jù)軟件的需求規(guī)格說明書設(shè)計(jì)測(cè)試用例,從程序的輸入輸出特性上測(cè)試是否滿足設(shè)定的功能。(2)白盒測(cè)試:也稱結(jié)構(gòu)測(cè)試,將軟件看作一個(gè)透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測(cè)試用例,對(duì)軟件的邏輯路徑及過程進(jìn)行測(cè)試,檢查它與設(shè)計(jì)是否相符。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.3系統(tǒng)測(cè)試的步驟(1)系統(tǒng)測(cè)試工作一般有以下步驟:單元測(cè)試、組裝測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試,每一步都是在前一步的基礎(chǔ)上進(jìn)行,其過程如圖6-15所示:第06章系統(tǒng)實(shí)施
設(shè)計(jì)信息可運(yùn)行系統(tǒng)系統(tǒng)其它元素單元測(cè)試單元測(cè)試單元測(cè)試組裝測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試軟件需求信息測(cè)后軟件測(cè)后模塊模塊模塊模塊確認(rèn)后軟件
圖6-15系統(tǒng)測(cè)試的步驟…第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.3系統(tǒng)測(cè)試的步驟(2)1.單元測(cè)試所謂單元是指程序中的一個(gè)模塊或一個(gè)子程序,是程序運(yùn)行的最小單元,或是程序最小的獨(dú)立編譯單位。因此單元測(cè)試也稱模塊測(cè)試。模塊測(cè)試的目的是保證每個(gè)模塊作為一個(gè)獨(dú)立單元能夠正確進(jìn)行。在單元測(cè)試中往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。進(jìn)行單元測(cè)試是采用白盒測(cè)試的方法,根據(jù)詳細(xì)設(shè)計(jì)的描述,從模塊的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,進(jìn)行測(cè)試。單元測(cè)試主要從下述五個(gè)方面先檢驗(yàn)?zāi)K。(1)模塊接口:測(cè)試信息能否正確無誤地流入、流出模塊。(2)模塊內(nèi)部之?dāng)?shù)據(jù)結(jié)構(gòu):測(cè)試內(nèi)部數(shù)據(jù)的完整性,包括內(nèi)容、形式及相互關(guān)系。(3)邏輯路徑:測(cè)試應(yīng)覆蓋模塊中關(guān)鍵的邏輯路徑。(4)出錯(cuò)處理:測(cè)試模塊對(duì)錯(cuò)誤及產(chǎn)生錯(cuò)誤的條件的預(yù)見能力并且檢測(cè)其出錯(cuò)處理是否適當(dāng)。(5)邊界條件:軟件往往容易在邊界條件上發(fā)生問題,可利用邊值分析方法設(shè)計(jì)測(cè)試用例,以便檢查這類錯(cuò)誤。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.3系統(tǒng)測(cè)試的步驟(3)2.組裝測(cè)試(1)對(duì)每個(gè)模塊完成了單元測(cè)試以后,需要按照設(shè)計(jì)時(shí)作出的層次模塊圖把它們連接起來,進(jìn)行組裝測(cè)試,也稱為組合測(cè)試或綜合測(cè)試。一個(gè)模塊能夠單獨(dú)地正常工作,但并不一定能保證聯(lián)結(jié)起來也能正常工作,這里可能存在接口和整體協(xié)調(diào)問題。如數(shù)據(jù)可能在接口的傳遞中丟失,一個(gè)模塊的運(yùn)行可能會(huì)影響或干擾其它模塊運(yùn)行;子功能不能協(xié)調(diào)成為主功能;有些單獨(dú)看來可允許的誤差,在組裝后形成的系統(tǒng)誤差可能累積到不能容忍的地步;全局?jǐn)?shù)據(jù)結(jié)構(gòu)與局部數(shù)據(jù)結(jié)構(gòu)的矛盾或不協(xié)調(diào)等,這些只有通過組裝測(cè)試來發(fā)現(xiàn)。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.3系統(tǒng)測(cè)試的步驟(4)2.組裝測(cè)試(2)組裝測(cè)試的策略分為增式測(cè)試和非增式兩大類;增式測(cè)試又分為自項(xiàng)向下、自底向上和混合方式三種。(l)非增式測(cè)試:在對(duì)所有模塊分別進(jìn)行了基于輔助模塊的單元測(cè)試以后,按程序結(jié)構(gòu)圖,將所有模塊聯(lián)接起來,把聯(lián)接后的程序作為一個(gè)整體來進(jìn)行測(cè)試。(2)增式測(cè)試:增式測(cè)試實(shí)際上是把單元測(cè)試與組裝測(cè)試結(jié)合起來,每次測(cè)試把下一個(gè)待測(cè)試的模塊與已經(jīng)測(cè)試過的那些模塊結(jié)合起來進(jìn)行測(cè)試。測(cè)試對(duì)象是組裝起來的,一次增加一個(gè)模塊,所以謂之"增式"。大多數(shù)軟件都采用增式測(cè)試方法,增式測(cè)試按其組裝的順序又分為自項(xiàng)向下測(cè)試和自底向上測(cè)試兩種。自項(xiàng)向下測(cè)試是按照程序模塊結(jié)構(gòu)圖,從頂層模塊開始自上而下地組裝,每次只增加一個(gè)模塊。每當(dāng)增加一個(gè)新的模塊時(shí),都要同時(shí)加上與之接口的樁模塊,去掉上次測(cè)試中本模塊的替身樁模塊。
自底向上測(cè)試的特點(diǎn)剛好與自頂向下相反,它不能在測(cè)試早期顯現(xiàn)程序輪廓,總體結(jié)構(gòu)只有加上最后一個(gè)模塊才能體現(xiàn)。輔助模塊只有驅(qū)動(dòng)模塊,而無需樁模塊,由于每個(gè)分支的測(cè)試均從下層模塊開始,所以較易設(shè)計(jì)測(cè)試用例,數(shù)據(jù)由已測(cè)過的事實(shí)的下級(jí)模塊提供。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.3系統(tǒng)測(cè)試的步驟(5)3.確認(rèn)測(cè)試確認(rèn)測(cè)試是要進(jìn)一步檢查軟件是否符合軟件需求規(guī)格說明書的全部要求,因此又稱為合格性測(cè)試或驗(yàn)收測(cè)試。確認(rèn)測(cè)試的內(nèi)容主要包括:(1)功能測(cè)試。(2)性能測(cè)試。(3)配置審查。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.3系統(tǒng)測(cè)試的步驟(6)4.系統(tǒng)測(cè)試系統(tǒng)測(cè)試是將信息系統(tǒng)的所有組成部分包括軟件、硬件、用戶以及環(huán)境等綜合在一起進(jìn)行測(cè)試,以保證系統(tǒng)的各組成部分協(xié)調(diào)運(yùn)行。系統(tǒng)測(cè)試要在系統(tǒng)的實(shí)際運(yùn)行環(huán)境現(xiàn)場(chǎng),在用戶的直接參與下進(jìn)行。系統(tǒng)測(cè)試是面向集成的整體系統(tǒng)。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.4測(cè)試用例設(shè)計(jì)技術(shù)1.邏輯覆蓋法是一種白盒測(cè)試法,是從程序內(nèi)部的邏輯結(jié)構(gòu)出發(fā)選取測(cè)試用例。2.等貨類劃分法等價(jià)類劃分法屬于黑盒測(cè)試方法,在完全不考慮程序內(nèi)部結(jié)構(gòu)的情況下,只根據(jù)程序的規(guī)格說明設(shè)計(jì)測(cè)試用例。它是把程序的輸入范圍劃分為若干部分,然后從每一部分中選舉少量代表性數(shù)據(jù)作為測(cè)試用例。
3.邊值分析法軟件在處理邊緣情況時(shí),容易發(fā)生錯(cuò)誤。針對(duì)這些區(qū)域設(shè)計(jì)測(cè)試用例,能夠提高軟件測(cè)試發(fā)現(xiàn)錯(cuò)誤的概率。這種測(cè)試用例設(shè)計(jì)方法稱為邊值分析法。4.錯(cuò)誤猜測(cè)法依靠軟件測(cè)試人員的經(jīng)驗(yàn)和直覺來推測(cè)軟件中可能存在的各種錯(cuò)誤,針對(duì)這些可能的錯(cuò)誤設(shè)計(jì)測(cè)試用例,這就是錯(cuò)誤猜測(cè)法。5.綜合測(cè)試法對(duì)系統(tǒng)進(jìn)行實(shí)際測(cè)試時(shí),應(yīng)將各種方法結(jié)合起來綜合使用,使之互相補(bǔ)充。一般來說,先用黑盒法設(shè)計(jì)出基本的測(cè)試用例,然后再用白盒法補(bǔ)充一些必要的測(cè)試用例。第06章系統(tǒng)實(shí)施6.3系統(tǒng)測(cè)試6.3.5排錯(cuò)測(cè)試是為了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋建設(shè)監(jiān)理合同7篇
- 2025年合同爭議解決補(bǔ)充協(xié)議
- 2025年標(biāo)準(zhǔn)二手房買賣按揭合同樣式
- 2025年融資租賃合同書之七
- 2025年消防水泵采購合同范文示范文本
- 2025年企業(yè)形象規(guī)劃服務(wù)合同模式
- 培訓(xùn)機(jī)構(gòu)教師試用期勞動(dòng)標(biāo)準(zhǔn)合同8篇
- 品牌廣告服務(wù)合同-網(wǎng)絡(luò)廣告服務(wù)合同7篇
- 工程建設(shè)全過程造價(jià)咨詢合同
- 購買協(xié)議和購買合同8篇
- 小學(xué)人教版四年級(jí)下冊(cè)數(shù)學(xué)租船問題25題
- 大連市小升初手冊(cè)
- 醫(yī)療垃圾管理及手衛(wèi)生培訓(xùn)PPT課件
- 放射物理與防護(hù)全套ppt課件
- 嚇數(shù)基礎(chǔ)知識(shí)共20
- 鋰電池安全知識(shí)培訓(xùn)-課件
- 鋼桁架與屋蓋結(jié)構(gòu)課件
- 電子產(chǎn)品高可靠性裝聯(lián)工藝下
- 越南北部工業(yè)區(qū)資料(1060707)
- 東亞文明的歷史進(jìn)程課件
- 三洋波輪洗衣機(jī)說明書
評(píng)論
0/150
提交評(píng)論