六章節(jié)系統(tǒng)實(shí)施_第1頁(yè)
六章節(jié)系統(tǒng)實(shí)施_第2頁(yè)
六章節(jié)系統(tǒng)實(shí)施_第3頁(yè)
六章節(jié)系統(tǒng)實(shí)施_第4頁(yè)
六章節(jié)系統(tǒng)實(shí)施_第5頁(yè)
已閱讀5頁(yè),還剩58頁(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)介

1、第六章 系統(tǒng)實(shí)施9/6/20221本節(jié)主要內(nèi)容系統(tǒng)實(shí)施階段的主要活動(dòng)領(lǐng)會(huì)系統(tǒng)實(shí)施在管理信息系統(tǒng)建設(shè)中的作用與地位。領(lǐng)會(huì)系統(tǒng)實(shí)施的前提條件。識(shí)記系統(tǒng)實(shí)施階段的主要活動(dòng)。9/6/202226.1 系統(tǒng)實(shí)施階段的主要活動(dòng)系統(tǒng)實(shí)施階段要繼承此前各階段的工作成果,將技術(shù)設(shè)計(jì)轉(zhuǎn)化為物理實(shí)現(xiàn),因此系統(tǒng)實(shí)施的成果是系統(tǒng)分析和設(shè)計(jì)階段的結(jié)晶。系統(tǒng)實(shí)施作為系統(tǒng)生命周期中的后期階段,是把系統(tǒng)設(shè)計(jì)轉(zhuǎn)化為可實(shí)際運(yùn)行的物理系統(tǒng)的必然步驟,再好的系統(tǒng)設(shè)計(jì),不通過(guò)系統(tǒng)實(shí)施也只能是不能帶來(lái)現(xiàn)實(shí)效益的空中樓閣。系統(tǒng)實(shí)施作為系統(tǒng)最后的物理實(shí)現(xiàn)階段,對(duì)于系統(tǒng)的質(zhì)量,可靠性和可維護(hù)性等有著十分重要的影響。系統(tǒng)實(shí)施工作的前提條件是必須在

2、系統(tǒng)分析和系統(tǒng)設(shè)計(jì)工作完成后,嚴(yán)格按照系統(tǒng)開(kāi)發(fā)文檔進(jìn)行。系統(tǒng)實(shí)施是以系統(tǒng)分析和設(shè)計(jì)文檔資料為依據(jù)的。在系統(tǒng)實(shí)施時(shí),系統(tǒng)開(kāi)發(fā)人員不但需要了解自己所承擔(dān)的部分,同時(shí)還需要對(duì)整個(gè)系統(tǒng)的總體結(jié)構(gòu),彼此接口等相互聯(lián)系的內(nèi)容有一定的了解,以保證在系統(tǒng)實(shí)施工作中局部分散實(shí)施與系統(tǒng)整體協(xié)調(diào)的一致性。9/6/202236.1 系統(tǒng)實(shí)施階段的主要活動(dòng)系統(tǒng)實(shí)施階段系統(tǒng)實(shí)施階段主要由編碼,系統(tǒng)測(cè)試,系統(tǒng)安裝和新舊系統(tǒng)轉(zhuǎn)換等活動(dòng)構(gòu)成。編碼(程序設(shè)計(jì)):是指按照詳細(xì)設(shè)計(jì)階段產(chǎn)生的程序設(shè)計(jì)說(shuō)明書(shū)用選定的程序設(shè)計(jì)語(yǔ)言編寫源程序。系統(tǒng)測(cè)試是系統(tǒng)質(zhì)量可靠性保證的關(guān)鍵,也是對(duì)需求分析,系統(tǒng)設(shè)計(jì)和編碼最終評(píng)審。系統(tǒng)安裝主要是指各種軟

3、,硬件設(shè)備的選型,論證,購(gòu)置,安裝以及整個(gè)系統(tǒng)調(diào)試運(yùn)行。新舊系統(tǒng)轉(zhuǎn)換(也稱系統(tǒng)切換與運(yùn)行):是指以新開(kāi)發(fā)的系統(tǒng)替換舊的系統(tǒng),并使之投入使用的過(guò)程。包括系統(tǒng)交付前的準(zhǔn)備工作,系統(tǒng)切換的方法和步驟等。請(qǐng)與第5章中的代碼設(shè)計(jì)加以區(qū)別!9/6/20224本節(jié)主要內(nèi)容程序設(shè)計(jì)領(lǐng)會(huì)程序設(shè)計(jì)的任務(wù)和作用。深刻理解對(duì)程序設(shè)計(jì)的質(zhì)量要求。識(shí)記程序設(shè)計(jì)的步驟。程序設(shè)計(jì)語(yǔ)言的分類以及各類語(yǔ)言的基本特點(diǎn)。識(shí)記結(jié)構(gòu)化程序的基本控制結(jié)構(gòu)。熟練掌握結(jié)構(gòu)化程序設(shè)計(jì)的方法和步驟。掌握良好程序設(shè)計(jì)風(fēng)格應(yīng)達(dá)到的基本要求。9/6/202256.2 程序設(shè)計(jì)程序設(shè)計(jì)(編碼)的任務(wù)和作用程序設(shè)計(jì)的任務(wù)主要是使用選定的程序設(shè)計(jì)語(yǔ)言,把經(jīng)過(guò)

4、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)所得到的以程序設(shè)計(jì)說(shuō)明書(shū)體現(xiàn)的信息處理過(guò)程描述后,轉(zhuǎn)換成能在計(jì)算機(jī)系統(tǒng)上運(yùn)行的程序源代碼。需要注意的是程序設(shè)計(jì)人員必須注意保證系統(tǒng)實(shí)施與系統(tǒng)設(shè)計(jì)的一致性,以保證功能的正確實(shí)現(xiàn)。對(duì)程序設(shè)計(jì)的質(zhì)量要求:對(duì)于程序設(shè)計(jì)基本質(zhì)量要求應(yīng)該是程序的正確性,主要體現(xiàn)在兩個(gè)方面:正確運(yùn)用程序設(shè)計(jì)語(yǔ)言環(huán)境,避免語(yǔ)法錯(cuò)誤。程序所描述的過(guò)程和算法要滿足系統(tǒng)設(shè)計(jì)的功能要求,以避免語(yǔ)義錯(cuò)誤。9/6/202266.2 程序設(shè)計(jì)程序的正確性是不是程序設(shè)計(jì)質(zhì)量的唯一要求呢?一個(gè)軟件在源程序的其他方面都正確無(wú)誤,只是不容易被人看懂的程序也不是一個(gè)好的程序。因?yàn)閺南到y(tǒng)的周期中可以看到一旦系統(tǒng)投入使用,必然會(huì)面臨很

5、多如維護(hù),功能的擴(kuò)充和性能的改善等問(wèn)題,而這些問(wèn)題必然涉及到程序的代碼。所以從軟件維護(hù)的角度出發(fā),程序設(shè)計(jì)人員在保證程序正確性的同時(shí),還必須保證源程序的可讀性。保證源程序可讀性的主要措施是進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì),并在風(fēng)格上遵守一些標(biāo)準(zhǔn)和原則。從系統(tǒng)開(kāi)發(fā)和應(yīng)用角度來(lái)看,程序的編寫和運(yùn)行效率也是程序設(shè)計(jì)質(zhì)量的一個(gè)考慮方面。這里所說(shuō)的效率是指程序的語(yǔ)句行數(shù),對(duì)存儲(chǔ)空間的要求,以及運(yùn)行速度等。9/6/202276.2 程序設(shè)計(jì)程序設(shè)計(jì)的步驟:了解計(jì)算機(jī)系統(tǒng)的性能和軟硬件環(huán)境,其中包括:計(jì)算機(jī)系統(tǒng)的運(yùn)算速度與存取速度;內(nèi)存和外存大小;操作系統(tǒng),程序設(shè)計(jì)語(yǔ)言以及開(kāi)發(fā)工具;外設(shè)連接及通訊能力等性能指標(biāo)。2. 充

6、分理解系統(tǒng)概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)的文檔準(zhǔn)確把握系統(tǒng)的軟件功能,模塊間的邏輯關(guān)系,算法的詳細(xì)方案以及輸入輸出要求。根據(jù)設(shè)計(jì)要求和硬軟件環(huán)境條件,選定程序設(shè)計(jì)語(yǔ)言。編寫程序代碼。5. 程序的檢查,編譯與調(diào)試。9/6/202286.2 程序設(shè)計(jì)程序設(shè)計(jì)語(yǔ)言:程序設(shè)計(jì)語(yǔ)言的發(fā)展與分類機(jī)器語(yǔ)言第一代匯編語(yǔ)言第二代高級(jí)語(yǔ)言第三代甚高級(jí)語(yǔ)言第四代面向機(jī)器語(yǔ)言高級(jí)語(yǔ)言是隨計(jì)算機(jī)的發(fā)明而產(chǎn)生的第一代計(jì)算機(jī)語(yǔ)言,其指令代碼由操作代碼和操作數(shù)的絕對(duì)地址構(gòu)成,指令無(wú)需翻譯和解釋,可以直接執(zhí)行。不同的機(jī)器,語(yǔ)言不相同.它一般不用來(lái)進(jìn)行程序設(shè)計(jì)。屬于低級(jí)程序設(shè)計(jì)語(yǔ)言。它的產(chǎn)生是為了改善機(jī)器語(yǔ)言的不直觀性而發(fā)展起來(lái)的機(jī)遇助記符

7、的語(yǔ)言。每個(gè)操作指令通過(guò)特定的助記符來(lái)表達(dá)。匯編語(yǔ)言與機(jī)器指令之間基本上是一一對(duì)應(yīng)的關(guān)系。是指在符號(hào),概念和語(yǔ)法上與人類思維和表達(dá)方式相近的第三代程序設(shè)計(jì)語(yǔ)言。高級(jí)語(yǔ)言是面向數(shù)據(jù)處理的過(guò)程化語(yǔ)言,必須在程序設(shè)計(jì)中描述“怎么做”。而第四代語(yǔ)言是直接面向應(yīng)用的,它只在程序設(shè)計(jì)中說(shuō)明做什么,就可以了。9/6/202296.2 程序設(shè)計(jì)匯編語(yǔ)言:第二代語(yǔ)言,屬于低級(jí)程序設(shè)計(jì)語(yǔ)言。它的產(chǎn)生是為了改善機(jī)器語(yǔ)言的不直觀性而發(fā)展起來(lái)的機(jī)遇助記符的語(yǔ)言。每個(gè)操作指令通過(guò)特定的助記符來(lái)表達(dá)。匯編語(yǔ)言與機(jī)器指令之間基本上是一一對(duì)應(yīng)的關(guān)系。匯編語(yǔ)言程序需要經(jīng)過(guò)翻譯轉(zhuǎn)換成機(jī)器語(yǔ)言才能運(yùn)行。其具有無(wú)法移植,不易維護(hù)等特點(diǎn)

8、,故在系統(tǒng)開(kāi)發(fā)中很少使用。高級(jí)語(yǔ)言:是指在符號(hào),概念和語(yǔ)法上與人類思維和表達(dá)方式相近的第三代程序設(shè)計(jì)語(yǔ)言。具有可移植性的特點(diǎn)。用高級(jí)語(yǔ)言寫出來(lái)的源程序必須經(jīng)解釋或編譯后才能夠在計(jì)算機(jī)上運(yùn)行。因?yàn)楦呒?jí)語(yǔ)言編碼速度快,并且引入了控制結(jié)構(gòu)語(yǔ)句,函數(shù)功能,宏替換等使軟件生產(chǎn)效率有了極大的提高,所以目前絕大多數(shù)系統(tǒng)都是用高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì)的。9/6/2022106.2 程序設(shè)計(jì)匯編語(yǔ)言代碼片斷PULES2:MOV R3, #N MOV TMOD, #01H MOV TL0, #XL MOV TH0, #XH SETB TR0 SETB P1.0LOOP1: JBC TF0, REP AJMP LOOP

9、1REP : MOV TL0, #XL MOV TH0, #XH CPL P1.0 DJNZ R3, LOOP1 RET高級(jí)語(yǔ)言代碼片斷void m(a,b,x)float a,b,x; if (a1)&(b=0) x=x/a; if(a=2)|(x1) x=x+1; 9/6/2022116.2 程序設(shè)計(jì)高級(jí)語(yǔ)言可以按照用途和特征劃分為以下幾類:基礎(chǔ)語(yǔ)言:是人們最熟悉且應(yīng)用很廣泛的一類程序設(shè)計(jì)語(yǔ)言。主要的基礎(chǔ)語(yǔ)言有下列幾種:BASIC語(yǔ)言:具有人機(jī)對(duì)話功能,便于修改和調(diào)試,適用于簡(jiǎn)單的數(shù)值計(jì)算服務(wù)和事務(wù)處理.有BASIC,GWBASIC,TRUE BASIC等版本。COBOL語(yǔ)言:是一種適用于

10、商業(yè)及管理領(lǐng)域,面向事務(wù)和數(shù)據(jù)處理的程序設(shè)計(jì)語(yǔ)言。其主要功能是描述數(shù)據(jù)結(jié)構(gòu)和分析處理大批量的數(shù)據(jù),可對(duì)各種類型的數(shù)據(jù)進(jìn)行收集,存儲(chǔ),傳送,分類,排序,計(jì)算和打印報(bào)表等。FORTRAN語(yǔ)言:是一種適合于工程與科學(xué)計(jì)算的程序設(shè)計(jì)語(yǔ)言,是最早的高級(jí)語(yǔ)言。9/6/2022126.2 程序設(shè)計(jì)結(jié)構(gòu)化程序語(yǔ)言:其主要特點(diǎn)是直接支持結(jié)構(gòu)化程序設(shè)計(jì)思想 ,具有很強(qiáng)的過(guò)程結(jié)構(gòu)化特點(diǎn)和數(shù)據(jù)結(jié)構(gòu)描述能力。結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言的主要代表有:PASCAL語(yǔ)言:是第一個(gè)系統(tǒng)的體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)概念的程序設(shè)計(jì)語(yǔ)言,它具有模塊清晰,控制結(jié)構(gòu)完備,有豐富的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型,以及表達(dá)能力強(qiáng),移植容易等特點(diǎn)應(yīng)用很廣泛。PL/1語(yǔ)言

11、:具有ALGOL,F(xiàn)ORTRAN,GOBOL等語(yǔ)言的共同特點(diǎn),并引入了異常處理,多任務(wù)處理(即并發(fā)控制)等全新概念。使得它成為一種包含很多特征的大型通用語(yǔ)言。C語(yǔ)言:C語(yǔ)言一方面具有高級(jí)語(yǔ)言的特點(diǎn),具有先進(jìn)性的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),豐富的數(shù)據(jù)類型,并且有很靈活方面的多種操作符,語(yǔ)句簡(jiǎn)潔,表達(dá)清晰,使得它容易閱讀和編寫。另一方面它同時(shí)具有匯編語(yǔ)言的功能,可以處理計(jì)算機(jī)直接操作的大多數(shù)數(shù)據(jù)直接完成硬件的算術(shù)或邏輯運(yùn)算。ADA語(yǔ)言:比較適合于實(shí)時(shí)并行處理。9/6/2022136.2 程序設(shè)計(jì)專用語(yǔ)言:是指為某一特定的應(yīng)用而專門設(shè)計(jì)的程序設(shè)計(jì)語(yǔ)言,一般具有與特定應(yīng)用密切相關(guān)的特殊語(yǔ)義,語(yǔ)法形式,且每一種

12、語(yǔ)言的應(yīng)用范圍都比較小。程序設(shè)計(jì)工作是相當(dāng)繁重的,故而尋求進(jìn)一步提高編碼效率的途徑是第四代語(yǔ)言產(chǎn)生的背景。第四代語(yǔ)言:高級(jí)語(yǔ)言是面向數(shù)據(jù)處理的過(guò)程化語(yǔ)言,必須在程序設(shè)計(jì)中描述”怎么做”而第四代語(yǔ)言是直接面向應(yīng)用的,它只在程序設(shè)計(jì)中說(shuō)明“做什么“就可以了。4GL具有的特征:語(yǔ)言的使用者是一般用戶,而不是計(jì)算機(jī)專業(yè)技術(shù)人員。能夠提供一組高效,非過(guò)程化的命令基本語(yǔ)句,編碼時(shí)用戶只需用這些命令說(shuō)明”做什么”,而不必描述實(shí)現(xiàn)的具體細(xì)節(jié)。具有很強(qiáng)的數(shù)據(jù)管理能力,能對(duì)數(shù)據(jù)庫(kù)進(jìn)行有效的存取,查詢和相關(guān)操作。是多功能,一體化的語(yǔ)言。除必須含有控制程序邏輯和數(shù)據(jù)庫(kù)操作的語(yǔ)句外,還應(yīng)有生成處理,報(bào)表處理,圖象處理以

13、及實(shí)現(xiàn)數(shù)據(jù)運(yùn)算和統(tǒng)計(jì)分析功能的語(yǔ)句,以適應(yīng)多種開(kāi)發(fā)的需要。9/6/2022146.2 程序設(shè)計(jì)程序設(shè)計(jì)語(yǔ)言的選擇 選擇程序設(shè)計(jì)語(yǔ)言的時(shí)候應(yīng)該綜合考慮編碼,測(cè)試和維護(hù)各個(gè)階段來(lái)選擇語(yǔ)言,避免將眼光僅僅局限在編寫程序上。在程序選擇上主要應(yīng)考慮以下幾個(gè)方面問(wèn)題:應(yīng)用領(lǐng)域。過(guò)程與算法的復(fù)雜程度。數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型的考慮。編碼及維護(hù)的工作量與成本。兼容性和可移植性。有多少可用的支撐軟件。開(kāi)發(fā)人員,用戶知識(shí)水平和熟練程度。程序設(shè)計(jì)語(yǔ)言的特性。系統(tǒng)規(guī)模。系統(tǒng)的效率要求。可以看出:并沒(méi)有那種語(yǔ)言絕對(duì)好或不好,每種語(yǔ)言都各有不同的特點(diǎn),關(guān)鍵是要根據(jù)實(shí)際需要和困難,選擇最適合的語(yǔ)言,以滿足系統(tǒng)的要求。9/6/20

14、22156.2 程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)為什么以前的很多程序除了自己能看懂或明白外,其他的程序編寫人員卻無(wú)法弄清?你認(rèn)為其中的原因會(huì)是什么呢? 最大的原因是:除了程序人員的觀念問(wèn)題外,還有一個(gè)很重要的原因就是當(dāng)時(shí)的程序設(shè)計(jì)語(yǔ)言是非結(jié)構(gòu)化的。 所以,為了提高軟件生產(chǎn)率和降低軟件維護(hù)費(fèi)用創(chuàng)立一種新的程序設(shè)計(jì)思想,方法和風(fēng)格就變的越來(lái)越重要了。 而結(jié)構(gòu)化程序設(shè)計(jì)思想就是在這樣的背景下開(kāi)始形成它主要是以自頂向下的方式,按照模塊化和逐步細(xì)化的思想,用一組單口入單出口的基本控制結(jié)構(gòu)及其反復(fù)嵌套來(lái)進(jìn)行程序設(shè)計(jì)。9/6/2022166.2 程序設(shè)計(jì)程序設(shè)計(jì)的基本控制結(jié)構(gòu):順序結(jié)構(gòu):表示含有多個(gè)連續(xù)的處理步驟,按

15、照書(shū)寫的先后順序執(zhí)行。ABC入口出口代碼示例: float x; int i; I = (int)x; printf(“x=%f, i=%d”,x,i);9/6/2022176.2 程序設(shè)計(jì)程序設(shè)計(jì)的基本控制結(jié)構(gòu):選擇結(jié)構(gòu)(條件結(jié)構(gòu)):由某個(gè)邏輯表達(dá)式的取值決定選擇兩個(gè)處理加工中的一個(gè)。P入口出口ATB F代碼示例: if (year%4 !=0) leap = 1; else if (year%100 != 0) leap = 1; else if (year%400 != 0) leap = 0; else leap =1;9/6/2022186.2 程序設(shè)計(jì)程序設(shè)計(jì)的基本控制結(jié)構(gòu):循環(huán)結(jié)

16、構(gòu)或重復(fù)結(jié)構(gòu):它有兩種類型。一種為“當(dāng)”循環(huán)結(jié)構(gòu)(DOWHILE結(jié)構(gòu))。入口出口FT代碼示例: int i, sum =0; i=1; while(i=100) sum = sum +i; i+; 9/6/2022196.2 程序設(shè)計(jì)程序設(shè)計(jì)的基本控制結(jié)構(gòu):循環(huán)結(jié)構(gòu)或重復(fù)結(jié)構(gòu):它有兩種類型。一種為“直到”循環(huán)結(jié)構(gòu)(DOUNTIL結(jié)構(gòu))。入口出口TF代碼示例: int i, sum =0; i=1; do sum = sum +i; i+; while(i=100)9/6/2022206.2 程序設(shè)計(jì)程序設(shè)計(jì)的基本控制結(jié)構(gòu):多種情況選擇結(jié)構(gòu)或多分支結(jié)構(gòu)(結(jié)構(gòu))測(cè)試入口 S1S3S2出口代碼示例:

17、 switch(grade) case A: ; case B: ; case C: ; case D: ; default : ;9/6/2022216.2 程序設(shè)計(jì)程序設(shè)計(jì)的基本控制結(jié)構(gòu):結(jié)構(gòu)化程序設(shè)計(jì)中的GOTO語(yǔ)句針對(duì)于GOTO語(yǔ)句需要注意的是不能濫用,但是也不必禁止,使用的時(shí)候一定要小心謹(jǐn)慎!如果一定要用GOTO語(yǔ)句,要注意將轉(zhuǎn)移范圍控制在一個(gè)控制結(jié)構(gòu)內(nèi)部。可以使用GOTO語(yǔ)句的情況:在沒(méi)有基本控制結(jié)構(gòu)語(yǔ)句的程序設(shè)計(jì)語(yǔ)言中,使用GOTO語(yǔ)句實(shí)現(xiàn)三種基本控制結(jié)構(gòu)。在結(jié)束檢索、文件結(jié)束、發(fā)生錯(cuò)誤等需進(jìn)行特殊處理需要從過(guò)程出口退出時(shí),GOTO語(yǔ)句可能比布爾變量和條件結(jié)構(gòu)都要簡(jiǎn)潔明了。9/6

18、/2022226.2 程序設(shè)計(jì)自頂向下的模塊化設(shè)計(jì)方法1. 自頂向下的模塊化設(shè)計(jì)在系統(tǒng)開(kāi)發(fā)設(shè)計(jì)中,對(duì)應(yīng)系統(tǒng)結(jié)構(gòu)圖中的每個(gè)模塊,都有一份模塊說(shuō)明書(shū),內(nèi)容主要包括模塊名稱,程序名稱,輸入數(shù)據(jù),輸出數(shù)據(jù)轉(zhuǎn)換過(guò)程等,這是程序員進(jìn)行程序設(shè)計(jì)的主要文檔和依據(jù)。設(shè)計(jì)步驟:按照自頂向下的模塊化設(shè)計(jì)原則,先將程序高度抽象。分析這個(gè)功能的組成部分并劃分下層模塊。對(duì)劃分出來(lái)的下層模塊按照第二步進(jìn)行劃分,直到能夠容易的用程序語(yǔ)句實(shí)現(xiàn)為止。9/6/2022236.2 程序設(shè)計(jì)工資管理輸入數(shù)據(jù)計(jì)算工資打印工資表輸入周期數(shù)據(jù)輸入隨機(jī)數(shù)據(jù)應(yīng)發(fā)工資計(jì)算扣除打印工資條打印匯總表基本工資獎(jiǎng)金基本工資獎(jiǎng)金獎(jiǎng)金工資管理功能層次模塊圖工

19、資管理輸入數(shù)據(jù)計(jì)算工資打印工資工資管理功能圖9/6/2022246.2 程序設(shè)計(jì)自頂向下的模塊化設(shè)計(jì)方法2. 逐步細(xì)化對(duì)每個(gè)模塊的細(xì)化應(yīng)包括功能細(xì)化,數(shù)據(jù)細(xì)化和邏輯細(xì)化三個(gè)方面.功能細(xì)化應(yīng)對(duì)本模塊的功能進(jìn)行分析,力圖分解為若干個(gè)更為簡(jiǎn)單的子功能。數(shù)據(jù)細(xì)化應(yīng)列出本模塊涉及到的數(shù)據(jù)項(xiàng)名稱和數(shù)據(jù)類型。邏輯細(xì)化確定所構(gòu)成的子模塊之間的結(jié)構(gòu)關(guān)系。9/6/2022256.2 程序設(shè)計(jì)程序設(shè)計(jì)風(fēng)格:結(jié)構(gòu)化程序設(shè)計(jì)為程序員提供了編碼的基本思路和方法,使程序的結(jié)構(gòu)性得到了很大的改善.但是為了能讓程序結(jié)構(gòu)清晰,易讀易懂,便于修改和擴(kuò)充,需有一些規(guī)則和共同的約定.即好的程序風(fēng)格。良好的程序設(shè)計(jì)風(fēng)格包括:標(biāo)知符的命名

20、應(yīng)作到見(jiàn)名知意。標(biāo)識(shí)符是作為文件名、變量名、常量名、函數(shù)名、程序名、段名和程序標(biāo)號(hào)等用戶定義的名字統(tǒng)稱。命名規(guī)則要在整個(gè)程序中前后一致,不能中途變化,給閱讀和理解帶來(lái)困難。命名是一定要避開(kāi)程序設(shè)計(jì)語(yǔ)言的保留字,否則在運(yùn)行的時(shí)候會(huì)出現(xiàn)莫名其妙的錯(cuò)誤。盡量避免使用意義容易混淆的標(biāo)識(shí)名,如VALUE和VALUES這樣的變量命名。9/6/2022266.2 程序設(shè)計(jì)良好的程序設(shè)計(jì)風(fēng)格包括:程序中的注釋適當(dāng)?shù)淖⑨尠ㄒ韵聝煞N:序言性注釋:在每個(gè)程序或模塊的開(kāi)頭的一段說(shuō)明,對(duì)于理解程序本身有引導(dǎo)作用,比較嚴(yán)格規(guī)范,包含以下內(nèi)容:程序的標(biāo)識(shí)、名稱及版本號(hào)。程序的功能概述。接口及界面描述,包括調(diào)用及被調(diào)用的關(guān)

21、系,調(diào)用形式、參數(shù)含義及相互調(diào)用的程序名。輸入/輸出數(shù)據(jù)說(shuō)明,重要變量和參數(shù)的說(shuō)明。開(kāi)發(fā)歷史,包括原作者、審核者、修改者、編程日期、編譯日期、審查日期、修改日期等。與運(yùn)行環(huán)境有關(guān)的信息,包括使用的機(jī)型、對(duì)硬件資源的要求,使用的操作系統(tǒng),程序設(shè)計(jì)語(yǔ)言的種類和版本號(hào)、編譯命令的格式、程序的存儲(chǔ)和運(yùn)行方式等。9/6/2022276.2 程序設(shè)計(jì)良好的程序設(shè)計(jì)風(fēng)格包括:程序中的注釋解釋性注釋:一般嵌在程序之中,與所注釋的部分相匹配。功能性注釋(不直觀的算法、重要的循環(huán)等)放在語(yǔ)句之前;狀態(tài)性注釋一般是對(duì)數(shù)據(jù)(變量)進(jìn)行說(shuō)明,放在相應(yīng)語(yǔ)句之后。一般要注意以下幾點(diǎn):注釋一定要在程序編制中書(shū)寫,不要在程序完

22、成之后進(jìn)行補(bǔ)寫。解釋性注釋不是簡(jiǎn)單直接翻譯程序語(yǔ)句,而是要說(shuō)明程序段的動(dòng)機(jī)和原因,提供的是從程序本身難以得到的信息,說(shuō)明“做什么”。一定要保證注釋與程序的一致性,程序修改后,注釋也要及時(shí)作相應(yīng)的修改。不正確的注釋比不做注釋更加糟糕。9/6/2022286.2 程序設(shè)計(jì)良好的程序設(shè)計(jì)風(fēng)格包括:程序的布局格式充分利用空格、空行和右縮格等方式來(lái)改善程序的布局,以取得較好的視覺(jué)效果。比如說(shuō):int i, sum =0; i=1; while(i=100) sum = sum +i; i+; int i, sum =0; i=1; while(i=100) sum = sum +i; i+; int i

23、, sum =0; i=1; while(i1)and(b=0)(a=2)and(x1)x=x/ax=x+1AFTBCFTDE9/6/2022456.3 系統(tǒng)測(cè)試語(yǔ)句覆蓋:設(shè)計(jì)測(cè)試用例,使程序中的每個(gè)執(zhí)行語(yǔ)句至少執(zhí)行一次。語(yǔ)句覆蓋的例子:ACE(a1)and(b=0)(a=2)and(x1)x=x/ax=x+1FTBFTD測(cè)使用例:a=2,b=0,x=4語(yǔ)句覆蓋是最弱的邏輯覆蓋。則可以看到通過(guò)的路徑是ACE,使程序的四個(gè)語(yǔ)句都執(zhí)行了一次,達(dá)到了語(yǔ)句覆蓋。9/6/2022466.3 系統(tǒng)測(cè)試判斷覆蓋:使程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次,即使得每個(gè)判斷獲得各種可能的結(jié)果。 判斷覆蓋的

24、例子:測(cè)使用例:a=2,b=0,x=4a=1,b=0,x=1則可以看到通過(guò)的路徑是ACE和ABD,使兩個(gè)判斷的四個(gè)分支都得到了覆蓋,達(dá)到了判斷覆蓋。同理,選擇路徑ACD和ABE也可以做到判斷覆蓋。(a1)and(b=0)(a=2)and(x1)x=x/ax=x+1AFTFTCEBD9/6/2022476.3 系統(tǒng)測(cè)試條件覆蓋:使每個(gè)判斷的每個(gè)條件的可能取值至少滿足一次。條件判斷的例子:測(cè)使用例:a=2,b=0,x=4a=1,b=1,x=1BDx=x/ax=x+1A(a1)and(b=0)(a=2)and(x1)FTCFTE由于判斷覆蓋的對(duì)象是每個(gè)判斷,而條件覆蓋的對(duì)象是每個(gè)判斷中的每個(gè)條件,因

25、此一般來(lái)說(shuō)條件覆蓋比判斷覆蓋要嚴(yán)格。但并不絕對(duì)。則可以看到通過(guò)的路徑是ACE和ABD,使兩個(gè)判斷的四個(gè)分支都得到了覆蓋,達(dá)到了判斷覆蓋。9/6/2022486.3 系統(tǒng)測(cè)試判斷條件覆蓋:設(shè)計(jì)測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少出現(xiàn)一次,并且使每個(gè)判斷本身的判定結(jié)果也至少出現(xiàn)一次。判斷條件覆蓋的例子:(a1)and(b=0)(a=2)and(x1)x=x/ax=x+1AFTBCFTDE判斷條件覆蓋比單純的判斷覆蓋和條件覆蓋都要強(qiáng)。測(cè)使用例:請(qǐng)同學(xué)自行設(shè)計(jì)。9/6/2022496.3 系統(tǒng)測(cè)試路徑覆蓋:設(shè)計(jì)測(cè)試用例,以覆蓋程序中所有可能的路徑。路徑覆蓋的例子:(a1)and(b=0)(a

26、=2)and(x1)x=x/ax=x+1AFTBCFTDE測(cè)使用例:請(qǐng)同學(xué)自行設(shè)計(jì)。對(duì)于實(shí)際問(wèn)題,往往不太現(xiàn)實(shí),因?yàn)槠渎窂降臄?shù)量可能相當(dāng)龐大。9/6/2022506.3 系統(tǒng)測(cè)試測(cè)試用例設(shè)計(jì)技術(shù)等價(jià)類劃分法:它屬于黑盒測(cè)試方法。它是在完全不考慮內(nèi)部結(jié)構(gòu)情況下,只根據(jù)程序的規(guī)格說(shuō)明設(shè)計(jì)程序設(shè)計(jì)用例。它是把程序的輸入范圍劃分成若干部分,然后從每一部分中選取少量代表性數(shù)據(jù)作為測(cè)試用例。有效等價(jià)類:是指對(duì)程序的功能要求來(lái)講是有意義的,合理的輸入數(shù)據(jù)所構(gòu)成的集合。無(wú)效等價(jià)類:是指那些不合理的或非法的輸入數(shù)據(jù)所構(gòu)成的集合。等價(jià)類劃分原則請(qǐng)參考教材。9/6/2022516.3 系統(tǒng)測(cè)試測(cè)試用例設(shè)計(jì)技術(shù)邊值分

27、析法:它是針對(duì)如下標(biāo),數(shù)據(jù)結(jié)構(gòu),標(biāo)量和循環(huán)變量取最大值,最小值等容易發(fā)生錯(cuò)誤的區(qū)域而設(shè)計(jì)測(cè)試用例的方法。邊值分析法也是一種黑盒測(cè)試方法。遵循的原則:若輸入條件規(guī)定了取值范圍,則應(yīng)選擇恰好落在邊界上,以及處在邊界內(nèi)、外邊上的測(cè)試值。如規(guī)定了輸入數(shù)據(jù)的個(gè)數(shù),則可選擇最小個(gè)數(shù),最大個(gè)數(shù),比最小個(gè)數(shù)多1、少1等等情況作為測(cè)試輸入的個(gè)數(shù)。如輸入數(shù)據(jù)為有序集合數(shù)據(jù),則應(yīng)特別注意選取有序集中的第一個(gè)和最后一個(gè)元素以及空元素作為測(cè)使用例。邊值分析法與等價(jià)類分析方法的區(qū)別在于:它不是從等價(jià)類中任選一個(gè)例子,而是在等價(jià)類的邊界及其附近選一個(gè)或幾個(gè)例子。邊值分析法不僅注意輸入條件的邊值,還應(yīng)根據(jù)輸出條件的邊值設(shè)計(jì)測(cè)

28、試用例。9/6/2022526.3 系統(tǒng)測(cè)試測(cè)試用例設(shè)計(jì)技術(shù)錯(cuò)誤猜測(cè)法:主要是依靠測(cè)試人員的經(jīng)驗(yàn)直覺(jué)來(lái)推測(cè)軟件中可能存在的各種錯(cuò)誤,并針對(duì)這些可能的錯(cuò)誤設(shè)計(jì)測(cè)試用例子。其基本思想是列舉出程序中可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并據(jù)此選擇測(cè)試用例。綜合測(cè)試方法:將各種方法結(jié)合起來(lái)綜合使用,使之互補(bǔ)設(shè)計(jì)出完整而又全面的測(cè)試用例。一般來(lái)說(shuō)先用黑盒法設(shè)計(jì)出基本的測(cè)試用例,然后再用白盒補(bǔ)充一些必要的測(cè)試用例。具體步驟:用邊值分析法設(shè)計(jì)出一組測(cè)試用例??紤]輸入輸出數(shù)據(jù)的邊界情況。必要時(shí)用等價(jià)劃分法補(bǔ)充測(cè)試方案。用錯(cuò)誤猜測(cè)法補(bǔ)充一些測(cè)試用例。檢查上面測(cè)試用例對(duì)程序邏輯的覆蓋程度,并根據(jù)系統(tǒng)的可靠性要求采

29、用不同的邏輯覆蓋標(biāo)準(zhǔn),然后在補(bǔ)充測(cè)試用例。9/6/2022536.3 系統(tǒng)測(cè)試工程上一般用來(lái)考察測(cè)試工作進(jìn)行程度的方法主要有: 規(guī)定測(cè)試的方法和應(yīng)該達(dá)到的條件。規(guī)定至少要查出的錯(cuò)誤數(shù)。根據(jù)發(fā)現(xiàn)錯(cuò)誤的趨勢(shì)來(lái)停止測(cè)試.。具體采用什么方法結(jié)束測(cè)試都要以測(cè)試的最佳效果為標(biāo)準(zhǔn)的。需要說(shuō)明的是最佳效果是:通過(guò)較小的測(cè)試成本把未暴露的錯(cuò)誤降到最低。排錯(cuò) 測(cè)試的目的是為了發(fā)現(xiàn)程序存在的錯(cuò)誤。排錯(cuò)的目的:找到錯(cuò)誤所在并改正錯(cuò)誤。排錯(cuò)的任務(wù): 確定錯(cuò)誤的位置和性質(zhì)(約占工作量的95%)。改正錯(cuò)誤。9/6/2022546.3 系統(tǒng)測(cè)試排錯(cuò)的步驟:從錯(cuò)誤的外部表現(xiàn)形式入手,確定程序中出錯(cuò)的位置。研究相關(guān)的部分源程序,

30、找出錯(cuò)誤的內(nèi)在原因。修改設(shè)計(jì)和編碼。重復(fù)進(jìn)行暴露這個(gè)錯(cuò)誤的原始測(cè)試或某些相關(guān)測(cè)試,以確定錯(cuò)誤是否排除,以及是否引入了新的錯(cuò)誤。如果所做的修改無(wú)效,則撤消這次修改,重復(fù)以上過(guò)程直到找到一個(gè)有效的解決方法為止。根據(jù)排錯(cuò)所產(chǎn)生的變化,對(duì)系統(tǒng)開(kāi)發(fā)文檔中的相關(guān)部分進(jìn)行修改。9/6/2022556.3 系統(tǒng)測(cè)試排錯(cuò)方法: 試探法:適用于結(jié)構(gòu)比較簡(jiǎn)單的程序。 跟蹤法:對(duì)于小型程序比較有效。反向跟蹤:從發(fā)現(xiàn)錯(cuò)誤癥狀的地方開(kāi)始回溯,人工沿著程序的控制流程往回追蹤程序代碼,直到錯(cuò)誤根源。正向跟蹤:沿著程序的控制流,從頭開(kāi)始正向跟蹤,檢查中間結(jié)果,找到最先出錯(cuò)的地方。對(duì)比查找法:主要用于縮小錯(cuò)誤的范圍。歸納法:從錯(cuò)誤征兆的線索出發(fā),

溫馨提示

  • 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)論