第五章過程設(shè)計與Jackson方法課件_第1頁
第五章過程設(shè)計與Jackson方法課件_第2頁
第五章過程設(shè)計與Jackson方法課件_第3頁
第五章過程設(shè)計與Jackson方法課件_第4頁
第五章過程設(shè)計與Jackson方法課件_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

需求分析問題定義可性行研究計劃時期概要設(shè)計詳細(xì)設(shè)計編碼測試開發(fā)時期運行與維護(hù)運行時期詳細(xì)設(shè)計階段的主要任務(wù)為每一模塊確定算法確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)確定模塊的外部接口和用戶界面為每一模塊設(shè)計一組測試用例過程設(shè)計的原則與方法清晰第一,效率第二結(jié)構(gòu)化的控制結(jié)構(gòu)逐步細(xì)化的實現(xiàn)方法描述工具程序流程圖N-S

圖偽代碼PDL2詳細(xì)設(shè)計階段的描述工具A1、順序型一、程序流程圖

B幾個連續(xù)的加工依次序排列expFTA

B2、選擇型由某個判斷式的取值決定選擇兩個加工中的一個。3、當(dāng)型循環(huán)型當(dāng)循環(huán)控制條件成立時,重復(fù)執(zhí)行特定的加工。expFTS4、直到型循環(huán)型重復(fù)執(zhí)行特定的加工,直到循環(huán)控制條件成立時。expFTS5、多情況選擇型列出多種加工情況,根據(jù)控制變量的取值,選擇執(zhí)行其一。exp=1FTS1exp=2exp=nS2TSnTFF-----具有嵌套形式的程序流程圖X1FTaX4cTfTFF入口bX2X3deghiX5X6FTFT=1=2=3順序型二、N-S

圖A

B選擇型-------NassiandShneideman

BpFTA

ApFT

p=1=2…=n

A1

A2

An

dowhile(p)

S

dountil(p)

S當(dāng)型循環(huán)型直到型循環(huán)型多分支選擇型零件號100011000210003100041000510006庫存量100012508866920203450建立零件庫(s數(shù)組),i=0輸入零件號x

dowhile(x!=s[0][i])i++i++x==s[0][i])

Y

N

s[0][i]輸出

s[1][i]

輸入錯誤!

繼續(xù)查詢?

Y

N

跳出循環(huán)

四、PDL-------ProgramDdesignLanguagePDL是一種用于描述功能模塊的算法設(shè)計和加工細(xì)節(jié)的語言。稱為設(shè)計程序用語言。它是一種偽代碼(Pseudocode)

PDL-----關(guān)鍵詞+自然語言三、偽代碼--PseudoCode

形式上與代碼相似,但不是真正的代碼。(1)、數(shù)據(jù)說明:格式:TYPE<變量名>AS<限定詞1><限定詞2>其功能是定義數(shù)據(jù)的類型和作用域說明:1.變量名:是一個模塊內(nèi)部使用的變量或模塊間共用的全局變量名。

2.限定詞1:標(biāo)明數(shù)據(jù)類型

3.限定詞2:標(biāo)明該變量的作用域

TYPEnumberASSTRING

LENGTH(12)(2)、程序塊:PDL的過程成分是由塊結(jié)構(gòu)構(gòu)成的,而塊將作為一個單個的實體來執(zhí)行。

BEGIN<塊名><一組偽代碼語句>END(3)、子程序結(jié)構(gòu):把PDL中的過程稱為子程序。

PROCEDURE<子程序名><一組屬性>INTERFACE<參數(shù)表><程序塊或一組偽代碼語句>END(4)、基本控制結(jié)構(gòu):

IF<條件>THEN<程序塊/偽代碼語句組>;

ELSE<程序塊/偽代碼語句組>;

ENDIF

---選擇型結(jié)構(gòu)

DOWHILE<條件描述><程序塊/偽代碼語句組>;

ENDDO

REPEATUNTIL<條件描述><程序塊/偽代碼語句組>;

ENDREP

---重復(fù)型結(jié)構(gòu)

DOLOOP<條件描述><程序塊/偽代碼語句組>;

EXITWHENENDLOOP

DOFOR<下標(biāo)=下標(biāo)表,表達(dá)式><程序塊/偽代碼語句組>;

ENDFOR

---重復(fù)型結(jié)構(gòu)

-----多路選擇結(jié)構(gòu)

CASEOF<case變量名>;

WHEN<case條件1>SELECT<程序塊/偽代碼語句組>;

WHEN<case條件2>SELECT<程序塊/偽代碼語句組>;

……DEFAULT:<缺省或錯誤case:<程序塊/偽代碼語句組>;

ENDCASE

READ/WRITETO<設(shè)備><I/O表>

---輸入/輸出結(jié)構(gòu)

EnteravectorSetMaximumtothevalueofthefirstelementinthevector

DO

foreachsecondonetothelast

IFvalueofTHENelementisgreaterthantheMaximumvalueSetMaximumtovalueoftheelement

ENDDOPrinttheMaximumvalueInputarrayAMax=A(1)DOforI=2toNIFMax<A(I)SetMax=A(I)ENDIFENDDOPrintMax設(shè)某模塊的功能是:讀入任意長的一段英文課文,將其分解為單字。然后輸出一個單詞表,并指出每個單詞在課文中所出現(xiàn)的次數(shù)。練習(xí)請按下列給出的文字要求,用PDL描述其該模塊的算法

……executeprocessaREPEATUNTILconditionX8executeprocessbIFconditionX1THENBEGINexecuteprocessfIFconditionX6THENREPEATUNTILconditionX7executeprocessiENDREPELSEBEGINexecuteprocessgexecuteprocesshENDENDIFEND練習(xí)請將下列的PDL表示的某模塊的過程性描述,改為用:1、N-S

圖2、PAD

圖表示

ELSECASEOFXiWHENconditionX2SELECTDOWHILEconditionX5executeprocessCENDDOWHENconditionX3SELECTprocessdWHENconditionX4SELECTprocesseENDCASEENDIFENDREPexecuteprocessjEND5.4Jackson方法----面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法

5.3.1Jackson表示法

5.3.2Jackson程序設(shè)計方法6.3.1Jackson圖Jackson圖表示方法Jackson圖的優(yōu)點:(1)Jackson圖不僅便于表示層次結(jié)構(gòu),而且也有利于對結(jié)構(gòu)自頂向下分解;(2)Jackson圖形象直觀,可讀性好;(3)Jackson圖不僅能表示數(shù)據(jù)結(jié)構(gòu),也能表示程序結(jié)構(gòu)(因為程序結(jié)構(gòu)也可以由上述3種基本結(jié)構(gòu)組成)。Jackson圖的缺點:在選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)中,選擇條件或循環(huán)結(jié)束條件不能直接在Jackson圖中表示出來。這樣就影響了圖形的表達(dá)能力,也不利于直接把圖翻譯成程序。改進(jìn)的Jackson圖數(shù)據(jù)結(jié)構(gòu)→程序結(jié)構(gòu)→程序的過程性表示Jackson圖Jackson圖Jackson偽代碼程序分析←|→程序設(shè)計←映射Jackson方法問題結(jié)構(gòu)→軟件結(jié)構(gòu)→各模塊的過程性表示DFD圖SC圖PDL等工具程序分析←|→程序設(shè)計←SD方法5.55Jackson方法與SD方法的比較映射Jackson程序設(shè)計方法由五個步驟組成:

第一步數(shù)據(jù)結(jié)構(gòu)表示第二步找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)的對應(yīng)關(guān)系第三步確定程序結(jié)構(gòu)圖第四步列出并分配所有操作和條件第五步把操作和條件分配到程序結(jié)構(gòu)圖的適當(dāng)位置6.3.2Jackson程序設(shè)計方法例:高考后將考生的基本情況文件(簡稱考生基本情況文件)和考生高考成績文件(簡稱考分文件)合并成一個新文件(簡稱考生新文件)??忌厩闆r文件和考分文件都是由考生記錄組成的。為簡便起見,考生基本情況文件中的考生記錄的內(nèi)容包括:準(zhǔn)考證號、姓名、通訊地址。考分文件中的考生記錄的內(nèi)容包括:準(zhǔn)考證號和各門考分。合并后的考生新文件自然也是由考生記錄組成,內(nèi)容包括:準(zhǔn)考證號、姓名、通訊地址和各門考分。第一步數(shù)據(jù)結(jié)構(gòu)表示對要求解的問題進(jìn)行分析,確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用Jackson圖描述這些數(shù)據(jù)結(jié)構(gòu)。第二步找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)的對應(yīng)關(guān)系找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元,即有直接因果關(guān)系、在程序中可以同時處理的數(shù)據(jù)單元。需要注意的是,對于重復(fù)的數(shù)據(jù)單元,必須是重復(fù)的次序、次數(shù)都相同才有可能有對應(yīng)關(guān)系。第三步確定程序結(jié)構(gòu)圖根據(jù)下述三規(guī)則,由Jackson圖導(dǎo)出相應(yīng)的程序結(jié)構(gòu)圖:(1)為每對有對應(yīng)關(guān)系的數(shù)據(jù)單元,按照它們在數(shù)據(jù)結(jié)構(gòu)圖中所處的層次,在程序結(jié)構(gòu)圖中的相應(yīng)層次畫一個處理框。如果這對數(shù)據(jù)單元在輸入數(shù)據(jù)結(jié)構(gòu)圖和輸出數(shù)據(jù)結(jié)構(gòu)圖中所處的層次不同,那么應(yīng)以它們在輸入數(shù)據(jù)結(jié)構(gòu)圖和輸出數(shù)據(jù)結(jié)構(gòu)圖中層次較低的那個層次作為它們在程序結(jié)構(gòu)圖中的處理框所處的層次;(2)對于輸入數(shù)據(jù)結(jié)構(gòu)中剩余的數(shù)據(jù)單元,根據(jù)它們所處的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次為每個數(shù)據(jù)單元畫上相應(yīng)的處理框;(3)對于輸出數(shù)據(jù)結(jié)構(gòu)中剩余的數(shù)據(jù)單元,根據(jù)它們所處的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次為

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論