第五章傳統(tǒng)的設(shè)計(jì)方法_第1頁(yè)
第五章傳統(tǒng)的設(shè)計(jì)方法_第2頁(yè)
第五章傳統(tǒng)的設(shè)計(jì)方法_第3頁(yè)
第五章傳統(tǒng)的設(shè)計(jì)方法_第4頁(yè)
第五章傳統(tǒng)的設(shè)計(jì)方法_第5頁(yè)
已閱讀5頁(yè),還剩55頁(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è)計(jì)方法5.1 概述概述面向數(shù)據(jù)流設(shè)計(jì)面向數(shù)據(jù)流設(shè)計(jì)nSD方法方法軟件的體系結(jié)構(gòu)軟件的體系結(jié)構(gòu)面向數(shù)據(jù)(數(shù)據(jù)結(jié)構(gòu))設(shè)計(jì)面向數(shù)據(jù)(數(shù)據(jù)結(jié)構(gòu))設(shè)計(jì)nJackson方法方法過(guò)程性描述過(guò)程性描述結(jié)構(gòu)化設(shè)計(jì)的內(nèi)容結(jié)構(gòu)化設(shè)計(jì)的內(nèi)容PSPEC數(shù)據(jù)對(duì)象描述數(shù)據(jù)對(duì)象描述CFDDFDE-RDDCSPEC過(guò)程設(shè)計(jì)過(guò)程設(shè)計(jì) 接口設(shè)計(jì)接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)的內(nèi)容結(jié)構(gòu)化設(shè)計(jì)的內(nèi)容結(jié)構(gòu)設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)概概要設(shè)計(jì)要設(shè)計(jì)n體系結(jié)構(gòu)設(shè)計(jì):體系結(jié)構(gòu)設(shè)計(jì):SC圖圖n接口設(shè)計(jì):接口設(shè)計(jì):SC圖圖n數(shù)據(jù)庫(kù)設(shè)計(jì):物理數(shù)據(jù)模型數(shù)據(jù)庫(kù)設(shè)計(jì):物理數(shù)據(jù)模型過(guò)程設(shè)計(jì)過(guò)程設(shè)計(jì)詳詳細(xì)設(shè)計(jì)細(xì)設(shè)計(jì)n模塊的處理過(guò)

2、程模塊的處理過(guò)程nN-S圖,圖,PAD,PDL等等描述工具描述工具SC圖圖結(jié)構(gòu)圖結(jié)構(gòu)圖n用來(lái)表達(dá)軟件的組成模塊及其調(diào)用關(guān)用來(lái)表達(dá)軟件的組成模塊及其調(diào)用關(guān)系系A(chǔ)BCXYSC圖中的模塊符號(hào)圖中的模塊符號(hào)n傳入、傳出、變換傳入、傳出、變換n源、漏、控制源、漏、控制 SC圖中的模塊調(diào)用圖中的模塊調(diào)用簡(jiǎn)單調(diào)用簡(jiǎn)單調(diào)用ABC21入入出出X,YZZ-12ABCX,YZZABCDABC循環(huán)調(diào)用循環(huán)調(diào)用選擇調(diào)用選擇調(diào)用變換型結(jié)構(gòu)的變換型結(jié)構(gòu)的DFD變換變換中心中心傳入路徑傳入路徑傳出路徑傳出路徑信息信息傳入流傳入流傳出流傳出流 變換流變換流時(shí)間時(shí)間事務(wù)型結(jié)構(gòu)事務(wù)型結(jié)構(gòu)DFD事務(wù)中心事務(wù)中心接受路徑接受路徑動(dòng)作路

3、徑動(dòng)作路徑一次動(dòng)作、事件或狀態(tài)變化都可以稱為一次事務(wù)一次動(dòng)作、事件或狀態(tài)變化都可以稱為一次事務(wù)同時(shí)存在兩類結(jié)構(gòu)同時(shí)存在兩類結(jié)構(gòu)T傳入傳入變換變換傳出傳出事務(wù)中心事務(wù)中心SD方法的步驟方法的步驟從從DFD圖到圖到SC圖的映射圖的映射 n復(fù)審復(fù)審DFD圖,必要時(shí)可再次進(jìn)行修改或細(xì)化圖,必要時(shí)可再次進(jìn)行修改或細(xì)化n鑒別鑒別DFD圖的結(jié)構(gòu)特征圖的結(jié)構(gòu)特征:事務(wù)?變換?事務(wù)?變換?n按照規(guī)則,把按照規(guī)則,把DFD圖化為初始的圖化為初始的SC圖圖 n改進(jìn)初始的改進(jìn)初始的SC圖圖 5.2.3 變換映射變換映射1.劃分劃分DFD圖的邊界圖的邊界n有些系統(tǒng)沒(méi)有加工中心有些系統(tǒng)沒(méi)有加工中心n二次傳入二次傳入2.建

4、立初始建立初始SC圖的框架圖的框架n頂層都只含一個(gè)用于控制的主模塊頂層都只含一個(gè)用于控制的主模塊 n第一層包括傳入、傳出和中心變換三個(gè)模塊第一層包括傳入、傳出和中心變換三個(gè)模塊 3.分解分解SC圖的各個(gè)分支圖的各個(gè)分支 n分解實(shí)質(zhì)上是分解實(shí)質(zhì)上是“映射映射”例子例子劃劃分分DFDPEDCBAWRUVQabcdeprwuv第一級(jí)分解第一級(jí)分解MEMTMCMAc,ec,eu,wu,w MC Q P RME1ME2MA1MA2傳入分支的分解傳入分支的分解GetEAtoBReadDDtoEReadABtoCGetBGetC MAc,ecebbcaabdde傳出分支的分解傳出分支的分解 WriteW U

5、toV Write V PutU MEw,uwuuvv變換中心的分解變換中心的分解變換中心分支的情況繁簡(jiǎn)迥異,分解比變換中心分支的情況繁簡(jiǎn)迥異,分解比較復(fù)雜。較復(fù)雜。 MT R P Qepc,prrw,u初始初始SC圖圖 MC MT Q P R MEWriteW PutU Uto VWriteV A toBReadA GetB DtoEReadD BtoC GetC Get E MA說(shuō)明說(shuō)明設(shè)計(jì)時(shí)不應(yīng)死搬規(guī)則設(shè)計(jì)時(shí)不應(yīng)死搬規(guī)則分支分解和數(shù)據(jù)流圖并不一定一一對(duì)應(yīng)分支分解和數(shù)據(jù)流圖并不一定一一對(duì)應(yīng)5.2.4 事務(wù)映射事務(wù)映射傳入 T變換傳出接收部分接收部分事務(wù)中心事務(wù)中心動(dòng)作部分動(dòng)作部分一、在一、

6、在DFD圖上確定邊界圖上確定邊界發(fā)送事務(wù)控制接收頂層頂層第一層第一層二、二、DFD圖的三個(gè)部分分別映射為事務(wù)控制圖的三個(gè)部分分別映射為事務(wù)控制模塊,接受模塊和動(dòng)作發(fā)送模塊模塊,接受模塊和動(dòng)作發(fā)送模塊三、分解和細(xì)化接收分支和發(fā)送分支三、分解和細(xì)化接收分支和發(fā)送分支 PT1T2TiA1A2AjA3D1D2Dk處理層處理層事務(wù)層事務(wù)層操作層操作層細(xì)節(jié)層細(xì)節(jié)層主模塊取得A發(fā)送LM輸出HN發(fā)送發(fā)送事務(wù)控制事務(wù)控制接收接收事務(wù)控制事務(wù)控制事務(wù)事務(wù)分析分析發(fā)送發(fā)送混合結(jié)構(gòu)混合結(jié)構(gòu) 優(yōu)化結(jié)構(gòu)設(shè)計(jì)的指導(dǎo)規(guī)則 對(duì)模塊分割、合并和變動(dòng)調(diào)用關(guān)系的指對(duì)模塊分割、合并和變動(dòng)調(diào)用關(guān)系的指導(dǎo)規(guī)則導(dǎo)規(guī)則 n提高內(nèi)聚,降低耦合提

7、高內(nèi)聚,降低耦合n簡(jiǎn)化模塊接口簡(jiǎn)化模塊接口n少用全局性數(shù)據(jù)和控制型信息少用全局性數(shù)據(jù)和控制型信息消除重復(fù)功能消除重復(fù)功能n完全相似:完全相似:在結(jié)構(gòu)上完全相似,可能只是在在結(jié)構(gòu)上完全相似,可能只是在數(shù)據(jù)類型上不一致。此時(shí)可以采取完全合并數(shù)據(jù)類型上不一致。此時(shí)可以采取完全合并的方法。的方法。n局部相似:局部相似:找出其相同部分,分離出去,重找出其相同部分,分離出去,重新定義成一個(gè)獨(dú)立的下一層模塊。新定義成一個(gè)獨(dú)立的下一層模塊。模塊的大小要適中模塊的大小要適中通常規(guī)定其語(yǔ)句行數(shù)在通常規(guī)定其語(yǔ)句行數(shù)在10100左右,保左右,保持在一頁(yè)紙之內(nèi),最多不超過(guò)持在一頁(yè)紙之內(nèi),最多不超過(guò)500行。行。扇入和扇

8、出扇入和扇出MM M的扇入M的扇出保持高扇入保持高扇入/低扇出的原則低扇出的原則 例子:扇出例子:扇出計(jì)算實(shí)發(fā)工資取得工資數(shù)據(jù)編外人員扣款編外人員工資編外人員稅收薪金制工資額計(jì)時(shí)制工資額常規(guī)扣款稅收扣款煎餅形結(jié)構(gòu)煎餅形結(jié)構(gòu)不可?。〔豢扇?!例子:扇出例子:扇出常規(guī)扣款編外人員實(shí)發(fā)工資 計(jì)算實(shí)發(fā)工資取得工資數(shù)據(jù)計(jì)時(shí)工人實(shí)發(fā)工資計(jì)薪工人實(shí)發(fā)工資編外人員扣款編外人員稅收編外人員工資稅收扣款計(jì)時(shí)制工資額薪金制工資額塔型結(jié)構(gòu)塔型結(jié)構(gòu)作用域作用域/控制域規(guī)則控制域規(guī)則模塊的作用范圍應(yīng)在控制范圍之內(nèi)模塊的作用范圍應(yīng)在控制范圍之內(nèi)n模塊的控制范圍模塊的控制范圍包括它本身及其所有的從屬包括它本身及其所有的從屬模塊

9、。模塊。n模塊的作用范圍模塊的作用范圍是指模塊內(nèi)一個(gè)判定的作用是指模塊內(nèi)一個(gè)判定的作用范圍,凡是受這個(gè)判定影響的所有模塊都屬范圍,凡是受這個(gè)判定影響的所有模塊都屬于這個(gè)判定的作用范圍。于這個(gè)判定的作用范圍。n如果一個(gè)判定的作用范圍包含在這個(gè)判定所如果一個(gè)判定的作用范圍包含在這個(gè)判定所在模塊的控制范圍之內(nèi),則這種結(jié)構(gòu)是簡(jiǎn)單在模塊的控制范圍之內(nèi),則這種結(jié)構(gòu)是簡(jiǎn)單的,否則,它的結(jié)構(gòu)是不簡(jiǎn)單的的,否則,它的結(jié)構(gòu)是不簡(jiǎn)單的。實(shí)例:教材購(gòu)銷系統(tǒng)(實(shí)例:教材購(gòu)銷系統(tǒng)(P100)1、細(xì)化并修改、細(xì)化并修改DFD圖圖2、鑒別、鑒別DFD圖的類型圖的類型3、畫出、畫出SC圖的框架圖的框架4、分解動(dòng)作分支,補(bǔ)充動(dòng)作

10、層和細(xì)節(jié)層、分解動(dòng)作分支,補(bǔ)充動(dòng)作層和細(xì)節(jié)層5、改進(jìn)、改進(jìn)SC圖圖5.3 過(guò)程設(shè)計(jì)(詳細(xì)設(shè)計(jì))過(guò)程設(shè)計(jì)(詳細(xì)設(shè)計(jì))目的目的n確定模塊采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu)確定模塊采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu) 任務(wù):任務(wù):編寫軟件的編寫軟件的“過(guò)程設(shè)計(jì)說(shuō)明書過(guò)程設(shè)計(jì)說(shuō)明書” n為每個(gè)模塊確定采用的算法為每個(gè)模塊確定采用的算法 n確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu) n確定模塊接口的細(xì)節(jié)確定模塊接口的細(xì)節(jié) 過(guò)程設(shè)計(jì)的原則與方法過(guò)程設(shè)計(jì)的原則與方法清晰第一的設(shè)計(jì)風(fēng)格清晰第一的設(shè)計(jì)風(fēng)格n取消取消GOTOGOTO語(yǔ)句語(yǔ)句結(jié)構(gòu)化的控制結(jié)構(gòu)結(jié)構(gòu)化的控制結(jié)構(gòu)n具有單入、單出的控制結(jié)構(gòu)具有單入、單出的控制結(jié)構(gòu)逐步

11、細(xì)化的實(shí)現(xiàn)方法逐步細(xì)化的實(shí)現(xiàn)方法nP108P108,例,例5.55.5:在一組數(shù)中找出最大數(shù):在一組數(shù)中找出最大數(shù)(1) (1) 順序結(jié)構(gòu)順序結(jié)構(gòu)(2) (2) 選擇結(jié)選擇結(jié)構(gòu)構(gòu)ABPBAFT(3) (3) 先判定型循環(huán)結(jié)先判定型循環(huán)結(jié)構(gòu)構(gòu)TPSF結(jié)構(gòu)程序設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)(4) (4) 后判定型循環(huán)結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)(until-loop structure)FSTP(5) (5) 多情況選擇多情況選擇(case structure)TA1FP=1TA2FP=2TAnFP=n結(jié)構(gòu)程序設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)任何復(fù)雜的程序流程都應(yīng)由以上五種基任何復(fù)雜的程序流程都應(yīng)由以上五種基本結(jié)構(gòu)組合而成。本結(jié)構(gòu)組合

12、而成。優(yōu)點(diǎn)優(yōu)點(diǎn)n容易掌握,使用廣泛。容易掌握,使用廣泛。缺點(diǎn)缺點(diǎn)n本質(zhì)上不具備逐步細(xì)化的特點(diǎn)本質(zhì)上不具備逐步細(xì)化的特點(diǎn)n大型系統(tǒng)的可理解性比較差大型系統(tǒng)的可理解性比較差n可重用性差,開發(fā)周期長(zhǎng)可重用性差,開發(fā)周期長(zhǎng)詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具程序流程圖程序流程圖盒圖盒圖(N_S圖圖)過(guò)程設(shè)計(jì)語(yǔ)言過(guò)程設(shè)計(jì)語(yǔ)言(PDL)PAD圖圖判定表判定表判定樹判定樹詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具程序流程圖程序流程圖詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具盒圖(盒圖(N_S圖):圖):只能描述結(jié)構(gòu)化程序所允許只能描述結(jié)構(gòu)化程序所允許的結(jié)構(gòu)的結(jié)構(gòu)詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具盒圖盒圖(N_S圖圖) 詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具過(guò)

13、程設(shè)計(jì)語(yǔ)言過(guò)程設(shè)計(jì)語(yǔ)言(PDL)n應(yīng)具備特點(diǎn)應(yīng)具備特點(diǎn)n關(guān)鍵字有固定的語(yǔ)法關(guān)鍵字有固定的語(yǔ)法n處理特點(diǎn)用自然語(yǔ)言描述處理特點(diǎn)用自然語(yǔ)言描述n有數(shù)據(jù)說(shuō)明有數(shù)據(jù)說(shuō)明n有子程序定義與調(diào)用機(jī)制有子程序定義與調(diào)用機(jī)制詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具過(guò)程設(shè)計(jì)語(yǔ)言過(guò)程設(shè)計(jì)語(yǔ)言(P112)(P112)n優(yōu)點(diǎn)優(yōu)點(diǎn)n易于實(shí)現(xiàn)由易于實(shí)現(xiàn)由PDL到源代碼的自動(dòng)轉(zhuǎn)換到源代碼的自動(dòng)轉(zhuǎn)換n缺點(diǎn)缺點(diǎn)n不夠直觀不夠直觀過(guò)程設(shè)計(jì)示例過(guò)程設(shè)計(jì)示例(P112)(P112)一、寫出模塊說(shuō)明一、寫出模塊說(shuō)明二、將模塊說(shuō)明細(xì)化為詳細(xì)邏輯二、將模塊說(shuō)明細(xì)化為詳細(xì)邏輯5.4 Jackson方法方法SA、SD和和SP方法前后銜接,用于需求分方法前后

14、銜接,用于需求分析和設(shè)計(jì)階段,是面向析和設(shè)計(jì)階段,是面向數(shù)據(jù)流數(shù)據(jù)流的。的。Jackson方法是一種面向方法是一種面向數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)的方法,的方法,這個(gè)方法適用于這個(gè)方法適用于數(shù)據(jù)處理類問(wèn)題數(shù)據(jù)處理類問(wèn)題,特別,特別是企事業(yè)管理的一類軟件系統(tǒng)是企事業(yè)管理的一類軟件系統(tǒng)對(duì)一般的數(shù)據(jù)處理系統(tǒng)而言,問(wèn)題的結(jié)對(duì)一般的數(shù)據(jù)處理系統(tǒng)而言,問(wèn)題的結(jié)構(gòu)可以用它所處理的數(shù)據(jù)結(jié)構(gòu)來(lái)表示。構(gòu)可以用它所處理的數(shù)據(jù)結(jié)構(gòu)來(lái)表示。大多數(shù)系統(tǒng)處理的是具有層次結(jié)構(gòu)的數(shù)大多數(shù)系統(tǒng)處理的是具有層次結(jié)構(gòu)的數(shù)據(jù),據(jù),jackson方法以此為基礎(chǔ)相應(yīng)地建立方法以此為基礎(chǔ)相應(yīng)地建立模塊的層次結(jié)構(gòu)。模塊的層次結(jié)構(gòu)。Jackson圖圖 順序

15、順序 選擇選擇 重復(fù)重復(fù)ABCAB0C0AB*ABCABoCoS1AB*I2改進(jìn)的改進(jìn)的Jackson圖圖Jackson圖和結(jié)構(gòu)圖圖和結(jié)構(gòu)圖方框的含義不同方框的含義不同方框間的關(guān)系不同方框間的關(guān)系不同ABCX,YZZABC循環(huán)調(diào)用循環(huán)調(diào)用ABCD選擇調(diào)用選擇調(diào)用ABCABoCoS1AB*I2Jackson偽代碼偽代碼A seq A select cond1 A iter until 或或while cond B B C or cond2 Bend A C end A end A (a)順序順序 (b)選擇選擇 (c)重復(fù)重復(fù)Jackson方法方法步驟步驟n畫出輸入和輸出數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)(應(yīng)省略和

16、解題無(wú)畫出輸入和輸出數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)(應(yīng)省略和解題無(wú)關(guān)的多余信息)關(guān)的多余信息)n找出輸入和輸出中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元找出輸入和輸出中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元n(所謂(所謂對(duì)應(yīng)單元對(duì)應(yīng)單元,是指在程序中有因果關(guān)系,可以,是指在程序中有因果關(guān)系,可以或者需要放在一起處理的數(shù)據(jù)單元)或者需要放在一起處理的數(shù)據(jù)單元)n為每一對(duì)在輸入和輸出中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元畫為每一對(duì)在輸入和輸出中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元畫一個(gè)處理框;其余每一個(gè)數(shù)據(jù)單元畫一個(gè)處理框一個(gè)處理框;其余每一個(gè)數(shù)據(jù)單元畫一個(gè)處理框P118;例;例5.7對(duì)于一些不大的數(shù)據(jù)處理系統(tǒng),對(duì)于一些不大的數(shù)據(jù)處理系統(tǒng),Jackson方法是非常成功的。方法是非常成功的。Jackson方法方法數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 映射映射 程序結(jié)構(gòu)程序結(jié)構(gòu) 程序的過(guò)程性表示程序的過(guò)程性表示 (Jackson圖圖) (Jackson圖圖) (Jackson偽代碼偽代碼) 程序分析程序分析 程序設(shè)計(jì)程序設(shè)計(jì) SD 方法方法 問(wèn)題

溫馨提示

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