版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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方法方法過程性描述過程性描述結(jié)構(gòu)化設(shè)計(jì)的內(nèi)容結(jié)構(gòu)化設(shè)計(jì)的內(nèi)容PSPEC數(shù)據(jù)對象描述數(shù)據(jù)對象描述CFDDFDE-RDDCSPEC過程設(shè)計(jì)過程設(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ù)庫設(shè)計(jì):物理數(shù)據(jù)模型數(shù)據(jù)庫設(shè)計(jì):物理數(shù)據(jù)模型過程設(shè)計(jì)過程設(shè)計(jì)詳詳細(xì)設(shè)計(jì)細(xì)設(shè)計(jì)n模塊的處理過
2、程模塊的處理過程nN-S圖,圖,PAD,PDL等等描述工具描述工具SC圖圖結(jié)構(gòu)圖結(jié)構(gòu)圖n用來表達(dá)軟件的組成模塊及其調(diào)用關(guān)用來表達(dá)軟件的組成模塊及其調(diào)用關(guān)系系A(chǔ)BCXYSC圖中的模塊符號圖中的模塊符號n傳入、傳出、變換傳入、傳出、變換n源、漏、控制源、漏、控制 SC圖中的模塊調(diào)用圖中的模塊調(diào)用簡單調(diào)用簡單調(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ù)中心接受路徑接受路徑動作路
3、徑動作路徑一次動作、事件或狀態(tài)變化都可以稱為一次事務(wù)一次動作、事件或狀態(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)沒有加工中心有些系統(tǒng)沒有加工中心n二次傳入二次傳入2.建
4、立初始建立初始SC圖的框架圖的框架n頂層都只含一個用于控制的主模塊頂層都只含一個用于控制的主模塊 n第一層包括傳入、傳出和中心變換三個模塊第一層包括傳入、傳出和中心變換三個模塊 3.分解分解SC圖的各個分支圖的各個分支 n分解實(shí)質(zhì)上是分解實(shí)質(zhì)上是“映射映射”例子例子劃劃分分DFDPEDCBAWRUVQabcdeprwuv第一級分解第一級分解MEMTMCMAc,ec,eu,wu,w MC Q P RME1ME2MA1MA2傳入分支的分解傳入分支的分解GetEAtoBReadDDtoEReadABtoCGetBGetC MAc,ecebbcaabdde傳出分支的分解傳出分支的分解 WriteW U
5、toV Write V PutU MEw,uwuuvv變換中心的分解變換中心的分解變換中心分支的情況繁簡迥異,分解比變換中心分支的情況繁簡迥異,分解比較復(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說明說明設(shè)計(jì)時(shí)不應(yīng)死搬規(guī)則設(shè)計(jì)時(shí)不應(yīng)死搬規(guī)則分支分解和數(shù)據(jù)流圖并不一定一一對應(yīng)分支分解和數(shù)據(jù)流圖并不一定一一對應(yīng)5.2.4 事務(wù)映射事務(wù)映射傳入 T變換傳出接收部分接收部分事務(wù)中心事務(wù)中心動作部分動作部分一、在一、
6、在DFD圖上確定邊界圖上確定邊界發(fā)送事務(wù)控制接收頂層頂層第一層第一層二、二、DFD圖的三個部分分別映射為事務(wù)控制圖的三個部分分別映射為事務(wù)控制模塊,接受模塊和動作發(fā)送模塊模塊,接受模塊和動作發(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ī)則 對模塊分割、合并和變動調(diào)用關(guān)系的指對模塊分割、合并和變動調(diào)用關(guān)系的指導(dǎo)規(guī)則導(dǎo)規(guī)則 n提高內(nèi)聚,降低耦合提
7、高內(nèi)聚,降低耦合n簡化模塊接口簡化模塊接口n少用全局性數(shù)據(jù)和控制型信息少用全局性數(shù)據(jù)和控制型信息消除重復(fù)功能消除重復(fù)功能n完全相似:完全相似:在結(jié)構(gòu)上完全相似,可能只是在在結(jié)構(gòu)上完全相似,可能只是在數(shù)據(jù)類型上不一致。此時(shí)可以采取完全合并數(shù)據(jù)類型上不一致。此時(shí)可以采取完全合并的方法。的方法。n局部相似:局部相似:找出其相同部分,分離出去,重找出其相同部分,分離出去,重新定義成一個獨(dú)立的下一層模塊。新定義成一個獨(dú)立的下一層模塊。模塊的大小要適中模塊的大小要適中通常規(guī)定其語句行數(shù)在通常規(guī)定其語句行數(shù)在10100左右,保左右,保持在一頁紙之內(nèi),最多不超過持在一頁紙之內(nèi),最多不超過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)一個判定的作用是指模塊內(nèi)一個判定的作用范圍,凡是受這個判定影響的所有模塊都屬范圍,凡是受這個判定影響的所有模塊都屬于這個判定的作用范圍。于這個判定的作用范圍。n如果一個判定的作用范圍包含在這個判定所如果一個判定的作用范圍包含在這個判定所在模塊的控制范圍之內(nèi),則這種結(jié)構(gòu)是簡單在模塊的控制范圍之內(nèi),則這種結(jié)構(gòu)是簡單的,否則,它的結(jié)構(gòu)是不簡單的的,否則,它的結(jié)構(gòu)是不簡單的。實(shí)例:教材購銷系統(tǒng)(實(shí)例:教材購銷系統(tǒng)(P100)1、細(xì)化并修改、細(xì)化并修改DFD圖圖2、鑒別、鑒別DFD圖的類型圖的類型3、畫出、畫出SC圖的框架圖的框架4、分解動作分支,補(bǔ)充動作
10、層和細(xì)節(jié)層、分解動作分支,補(bǔ)充動作層和細(xì)節(jié)層5、改進(jìn)、改進(jìn)SC圖圖5.3 過程設(shè)計(jì)(詳細(xì)設(shè)計(jì))過程設(shè)計(jì)(詳細(xì)設(shè)計(jì))目的目的n確定模塊采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu)確定模塊采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu) 任務(wù):任務(wù):編寫軟件的編寫軟件的“過程設(shè)計(jì)說明書過程設(shè)計(jì)說明書” n為每個模塊確定采用的算法為每個模塊確定采用的算法 n確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu) n確定模塊接口的細(xì)節(jié)確定模塊接口的細(xì)節(jié) 過程設(shè)計(jì)的原則與方法過程設(shè)計(jì)的原則與方法清晰第一的設(shè)計(jì)風(fēng)格清晰第一的設(shè)計(jì)風(fēng)格n取消取消GOTOGOTO語句語句結(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ā)周期長可重用性差,開發(fā)周期長詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具程序流程圖程序流程圖盒圖盒圖(N_S圖圖)過程設(shè)計(jì)語言過程設(shè)計(jì)語言(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ì)的工具過
13、程設(shè)計(jì)語言過程設(shè)計(jì)語言(PDL)n應(yīng)具備特點(diǎn)應(yīng)具備特點(diǎn)n關(guān)鍵字有固定的語法關(guān)鍵字有固定的語法n處理特點(diǎn)用自然語言描述處理特點(diǎn)用自然語言描述n有數(shù)據(jù)說明有數(shù)據(jù)說明n有子程序定義與調(diào)用機(jī)制有子程序定義與調(diào)用機(jī)制詳細(xì)設(shè)計(jì)的工具詳細(xì)設(shè)計(jì)的工具過程設(shè)計(jì)語言過程設(shè)計(jì)語言(P112)(P112)n優(yōu)點(diǎn)優(yōu)點(diǎn)n易于實(shí)現(xiàn)由易于實(shí)現(xiàn)由PDL到源代碼的自動轉(zhuǎn)換到源代碼的自動轉(zhuǎn)換n缺點(diǎn)缺點(diǎn)n不夠直觀不夠直觀過程設(shè)計(jì)示例過程設(shè)計(jì)示例(P112)(P112)一、寫出模塊說明一、寫出模塊說明二、將模塊說明細(xì)化為詳細(xì)邏輯二、將模塊說明細(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)的方法,的方法,這個方法適用于這個方法適用于數(shù)據(jù)處理類問題數(shù)據(jù)處理類問題,特別,特別是企事業(yè)管理的一類軟件系統(tǒng)是企事業(yè)管理的一類軟件系統(tǒng)對一般的數(shù)據(jù)處理系統(tǒng)而言,問題的結(jié)對一般的數(shù)據(jù)處理系統(tǒng)而言,問題的結(jié)構(gòu)可以用它所處理的數(shù)據(jù)結(jié)構(gòu)來表示。構(gòu)可以用它所處理的數(shù)據(jù)結(jié)構(gòu)來表示。大多數(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、解題無畫出輸入和輸出數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)(應(yīng)省略和解題無關(guān)的多余信息)關(guān)的多余信息)n找出輸入和輸出中有對應(yīng)關(guān)系的數(shù)據(jù)單元找出輸入和輸出中有對應(yīng)關(guān)系的數(shù)據(jù)單元n(所謂(所謂對應(yīng)單元對應(yīng)單元,是指在程序中有因果關(guān)系,可以,是指在程序中有因果關(guān)系,可以或者需要放在一起處理的數(shù)據(jù)單元)或者需要放在一起處理的數(shù)據(jù)單元)n為每一對在輸入和輸出中有對應(yīng)關(guān)系的數(shù)據(jù)單元畫為每一對在輸入和輸出中有對應(yīng)關(guān)系的數(shù)據(jù)單元畫一個處理框;其余每一個數(shù)據(jù)單元畫一個處理框一個處理框;其余每一個數(shù)據(jù)單元畫一個處理框P118;例;例5.7對于一些不大的數(shù)據(jù)處理系統(tǒng),對于一些不大的數(shù)據(jù)處理系統(tǒng),Jackson方法是非常成功的。方法是非常成功的。Jackson方法方法數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu) 映射映射 程序結(jié)構(gòu)程序結(jié)構(gòu) 程序的過程性表示程序的過程性表示 (Jackson圖圖) (Jackson圖圖) (Jackson偽代碼偽代碼) 程序分析程序分析 程序設(shè)計(jì)程序設(shè)計(jì) SD 方法方法 問題
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年技術(shù)轉(zhuǎn)讓合同技術(shù)內(nèi)容詳細(xì)描述
- 2024年度紡織品生產(chǎn)購銷合同
- 2024年摩托車零部件安裝協(xié)議
- DB4105T 198-2022 丁鱥池塘養(yǎng)殖技術(shù)規(guī)程
- 04版9國際旅游業(yè)務(wù)合作合同
- 2024年投資聯(lián)盟:合作伙伴協(xié)議樣本
- 2024年房地產(chǎn)項(xiàng)目公共設(shè)施配套建設(shè)合同
- 2024年度膩?zhàn)赢a(chǎn)品出口代理合同
- 2024年新建工程項(xiàng)目砂石料運(yùn)輸合同書
- 2024年店鋪?zhàn)赓U合同書
- 代運(yùn)營合作服務(wù)協(xié)議
- 婚內(nèi)財(cái)產(chǎn)協(xié)議書(2024版)
- 有限空間作業(yè)應(yīng)急管理制度
- 2024全國普法知識考試題庫及答案
- 化工企業(yè)中試階段及試生產(chǎn)期間的產(chǎn)品能否對外銷售
- 籃球智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 國開作業(yè)《公共關(guān)系學(xué)》實(shí)訓(xùn)項(xiàng)目1:公關(guān)三要素分析(六選一)參考552
- 碳排放核算與報(bào)告要求 第XX部分:鉛冶煉企業(yè)
- 物業(yè)及物業(yè)管理:提升旅游景區(qū)品質(zhì)
- 財(cái)政收支業(yè)務(wù)管理制度
- 肺功能進(jìn)修總結(jié)匯報(bào)
評論
0/150
提交評論