面向數(shù)據(jù)流的設(shè)計(jì)方法.ppt_第1頁
面向數(shù)據(jù)流的設(shè)計(jì)方法.ppt_第2頁
面向數(shù)據(jù)流的設(shè)計(jì)方法.ppt_第3頁
面向數(shù)據(jù)流的設(shè)計(jì)方法.ppt_第4頁
面向數(shù)據(jù)流的設(shè)計(jì)方法.ppt_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、面向數(shù)據(jù)流的設(shè)計(jì)方法 面向數(shù)據(jù)流的設(shè)計(jì)方法,又稱結(jié)構(gòu)化設(shè)計(jì)即SD(Structured Design) 。 結(jié)構(gòu)化設(shè)計(jì)的目標(biāo):將軟件設(shè)計(jì)為多個(gè)結(jié)構(gòu)合理、功能單一的模塊,建立系統(tǒng)的模塊結(jié)構(gòu)圖。它的主要表示方法是一種分層次的結(jié)構(gòu)圖。,面向數(shù)據(jù)流的設(shè)計(jì)方法,SD設(shè)計(jì)方法的主要思想: 認(rèn)為一個(gè)程序、一組程序或一個(gè)系統(tǒng),是由一組功能模塊來構(gòu)成的。 軟件設(shè)計(jì)者首先必須無視程序、模塊或過程的內(nèi)部情況,而只對(duì)它們之間的關(guān)系進(jìn)行分析。將系統(tǒng)看作是邏輯功能的抽象集合功能模塊的集合。,面向數(shù)據(jù)流的設(shè)計(jì)方法,結(jié)構(gòu)化設(shè)計(jì)的優(yōu)點(diǎn): (1)減少設(shè)計(jì)復(fù)雜性。將對(duì)大目標(biāo)的實(shí)現(xiàn)轉(zhuǎn)化為一些小目標(biāo)來實(shí)現(xiàn)。結(jié)構(gòu)化設(shè)計(jì)是一種減少設(shè)計(jì)復(fù)雜

2、性的技術(shù)。 (2)結(jié)構(gòu)獨(dú)立。結(jié)構(gòu)化設(shè)計(jì)將功能性程序劃分成多個(gè)相對(duì)獨(dú)立的程序模塊。 (3)單一的功能模塊,易于進(jìn)行軟件修改,易于開發(fā)和維護(hù)。 (4)加強(qiáng)了代碼的可重用性。,面向數(shù)據(jù)流的設(shè)計(jì)方法,描述工具: 結(jié)構(gòu)化設(shè)計(jì)方法提出了一種圖形工具結(jié)構(gòu)圖。 結(jié)構(gòu)圖是精確表達(dá)程序結(jié)構(gòu)的圖形表示方法。它作為軟件文檔的一部分,清楚地反映出程序中模塊之間的層次調(diào)用關(guān)系和聯(lián)系。它不僅嚴(yán)格地定義了各個(gè)模塊的名字、功能和接口,而且還集中反映了設(shè)計(jì)思想。,面向數(shù)據(jù)流的設(shè)計(jì)方法,結(jié)構(gòu)圖的主要內(nèi)容: 1、模塊:方框表示,并用名字標(biāo)識(shí)該模塊。 2、模塊的調(diào)用關(guān)系:用單向箭頭或直線連接模塊間的控制關(guān)系。 3、模塊間的信息傳遞:用

3、帶注釋的短箭頭表示模塊間傳遞的信息。 4、兩個(gè)附加符號(hào):弧形線表示循環(huán)調(diào)用,菱形表示選擇調(diào)用。,面向數(shù)據(jù)流的設(shè)計(jì)方法,模塊間的控制關(guān)系及信息傳遞,模塊間選擇調(diào)用,模塊間循環(huán)調(diào)用,面向數(shù)據(jù)流的設(shè)計(jì)方法,系統(tǒng)結(jié)構(gòu)圖中有4種類型的模塊: 1、傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)過某些處理,再將其送給上級(jí)模塊。它傳送的數(shù)據(jù)叫做邏輯輸入數(shù)據(jù)流。 2、傳出模塊:從上級(jí)模塊取得數(shù)據(jù),進(jìn)行某些處理后,傳送給下屬模塊。它傳送的數(shù)據(jù)流叫做邏輯輸出數(shù)據(jù)流。 3、變換模塊:從上級(jí)模塊取得數(shù)據(jù),進(jìn)行特定處理后,送回原上級(jí)模塊。它加工的數(shù)據(jù)流叫做變換數(shù)據(jù)流。 4、協(xié)調(diào)模塊:對(duì)其下屬模塊進(jìn)行控制和管理的模塊。在一個(gè)好的系統(tǒng)結(jié)構(gòu)

4、圖中,協(xié)調(diào)模塊應(yīng)在較高層出現(xiàn)。,面向數(shù)據(jù)流的設(shè)計(jì)方法,系統(tǒng)結(jié)構(gòu)圖中主要有4種類型的模塊:,Y,面向數(shù)據(jù)流的設(shè)計(jì)方法,數(shù)據(jù)流圖的類型 SD方法是以數(shù)據(jù)流圖為基礎(chǔ)設(shè)計(jì)系統(tǒng)的模塊結(jié)構(gòu)的。不同類型的數(shù)據(jù)流圖設(shè)計(jì)的過程以及所導(dǎo)出的初始的軟件結(jié)構(gòu)不同。不管系統(tǒng)的數(shù)據(jù)流圖如何龐大和復(fù)雜,一般均可分為變換型、事務(wù)型和變換/事務(wù)混合型。,面向數(shù)據(jù)流的設(shè)計(jì)方法,變換型(IPO型) 變換型的數(shù)據(jù)流圖是一個(gè)線性結(jié)構(gòu),由輸入、變換和輸出三部分組成。信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式。進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。,面向數(shù)據(jù)流的設(shè)計(jì)方法,物理輸入,物理

5、輸出,輸入流,變換中心,輸出流,邏輯輸出,邏輯輸入,變換型DFD圖,面向數(shù)據(jù)流的設(shè)計(jì)方法, 事務(wù)型 事務(wù)型的數(shù)據(jù)流圖中,數(shù)據(jù)沿輸入通路到達(dá)一個(gè)加工處理(如下圖中的C),這個(gè)處理將輸入分為許多相互平行的加工路徑,并根據(jù)輸入數(shù)據(jù)的類型,選擇某一加工路徑。其中C為事務(wù)處理中心,其任務(wù)是得到輸入數(shù)據(jù)(輸入數(shù)據(jù)又稱為事務(wù))、分析每個(gè)事務(wù)以確定它的類型、根據(jù)事務(wù)類型選取一條活動(dòng)通路。,面向數(shù)據(jù)流的設(shè)計(jì)方法,事務(wù)型DFD圖,面向數(shù)據(jù)流的設(shè)計(jì)方法,面向數(shù)據(jù)流設(shè)計(jì)方法的過程: 1、精化DFD。去除數(shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ)等信息,對(duì)數(shù)據(jù)流圖進(jìn)行精化。 2、確定DFD類型,和邏輯輸入、邏輯輸出的界限,映射出變換結(jié)構(gòu)的頂

6、層合第一層;如果為事務(wù)型,確定事務(wù)中心和加工路徑,映射出事務(wù)結(jié)構(gòu)的頂層合第一層。 3、分解上層模塊,設(shè)計(jì)中下層模塊結(jié)構(gòu)。 4、根據(jù)優(yōu)化準(zhǔn)則對(duì)軟件結(jié)構(gòu)求精。 5、描述模塊功能、接口及全局?jǐn)?shù)據(jù)結(jié)構(gòu)。 6、復(fù)查,如有錯(cuò)轉(zhuǎn)向2、修改完善,否則進(jìn)入詳細(xì)設(shè)計(jì)。,面向數(shù)據(jù)流的設(shè)計(jì)方法,變換分析設(shè)計(jì): 1、確定DFD中的變換中心,邏輯輸入、邏輯輸出。 通常幾股數(shù)據(jù)流的匯合處就是系統(tǒng)的加工中心,也可用以下方法確定加工中心:從物理輸入(出)端開始,沿(逆)數(shù)據(jù)流方向向系統(tǒng)中心尋找,直到有這樣的數(shù)據(jù)流,它不能再被看作是系統(tǒng)的輸入(出)時(shí),則它的前一數(shù)據(jù)流就是系統(tǒng)的邏輯輸入(出)。介于邏輯輸入和邏輯輸出間的加工就是加

7、工中心。,面向數(shù)據(jù)流的設(shè)計(jì)方法,2、設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層變換結(jié)構(gòu)。 頂層就是主模塊的位置,其功能是完成對(duì)所有模塊的控制,其名稱就是系統(tǒng)名稱; 第一層一般至少有輸入、變換、輸出三種功能模塊。,面向數(shù)據(jù)流的設(shè)計(jì)方法,3、設(shè)計(jì)中、下層模塊。對(duì)第一層模塊自頂向下逐層分解。 輸入模塊下屬模塊的設(shè)計(jì):為每個(gè)輸入模塊設(shè)計(jì)兩個(gè)下屬模塊,一個(gè)接受數(shù)據(jù),一個(gè)將數(shù)據(jù)轉(zhuǎn)換成調(diào)用模塊所需的信息。用類似的方法一直分解下去,直至物理輸入端。 輸出模塊下屬模塊的設(shè)計(jì):為每個(gè)輸出模塊設(shè)計(jì)兩個(gè)下屬模塊,一個(gè)將數(shù)據(jù)轉(zhuǎn)換成下屬模塊所需的信息,一個(gè)發(fā)送數(shù)據(jù)。用類似的方法一直分解下去,直至物理輸出端。 變換模塊下屬模塊的設(shè)計(jì):根據(jù)

8、變換中心的組成情況,按照模塊獨(dú)立性原則,為每個(gè)基本加工建立一個(gè)功能模塊。,面向數(shù)據(jù)流的設(shè)計(jì)方法,4、設(shè)計(jì)優(yōu)化:根據(jù)優(yōu)化準(zhǔn)則對(duì)初始結(jié)構(gòu)進(jìn)行細(xì)化和改進(jìn)。 根據(jù)設(shè)計(jì)準(zhǔn)則,對(duì)模塊進(jìn)行合并和調(diào)整,為每個(gè)物理輸入和物理輸出設(shè)計(jì)專門模塊,以體現(xiàn)系統(tǒng)的外部接口。,面向數(shù)據(jù)流的設(shè)計(jì)方法,變換型分析設(shè)計(jì),面向數(shù)據(jù)流的設(shè)計(jì)方法,變換型分析設(shè)計(jì),面向數(shù)據(jù)流的設(shè)計(jì)方法,事務(wù)分析設(shè)計(jì): 1、確定DFD中的事物中心和加工路徑。 通常當(dāng)DFD中的某個(gè)加工具有明顯的將一個(gè)輸入數(shù)據(jù)流分解成多個(gè)發(fā)散的輸出數(shù)據(jù)流時(shí),該加工就是系統(tǒng)的事務(wù)中心,從事務(wù)中心輻射出去的數(shù)據(jù)流就是各個(gè)加工路徑。,面向數(shù)據(jù)流的設(shè)計(jì)方法,2、設(shè)計(jì)軟件結(jié)構(gòu)的頂層和

9、第一層事務(wù)結(jié)構(gòu)。 頂層就是主模塊的位置,有兩個(gè)功能,一是接收數(shù)據(jù),二是根據(jù)事務(wù)類型調(diào)度相應(yīng)的處理模塊。因此事務(wù)型軟件結(jié)構(gòu)應(yīng)包括兩個(gè)部分,接收分支和發(fā)送分支。 接收分支:負(fù)責(zé)接收數(shù)據(jù),其設(shè)計(jì)方法與變換型DFD的輸入部分相同。 發(fā)送分支:通常包含一個(gè)調(diào)度模塊,控制管理所有的下層事務(wù)處理模塊。 3、設(shè)計(jì)中、下層模塊并優(yōu)化。 具體過程同變換結(jié)構(gòu)設(shè)計(jì)。,面向數(shù)據(jù)流的設(shè)計(jì)方法,A,B,加工路徑,輸入流,事務(wù)處理中心,事務(wù)分析設(shè)計(jì),C,D,f1,面向數(shù)據(jù)流的設(shè)計(jì)方法,事務(wù)分析設(shè)計(jì),面向數(shù)據(jù)流的設(shè)計(jì)方法,舉 例,事務(wù)分析 舉例,結(jié)構(gòu)圖的形態(tài)特征: 深度表示控制的層數(shù)。 寬度表示控制的總分布。 扇出是對(duì)由某一模

10、塊直接控制的模塊數(shù)目的度量。 扇入指出有多少個(gè)模塊直接控制一個(gè)給定的模塊。 如果一模塊控制另一個(gè)模塊便稱前者“統(tǒng)帥”后者; 反之,稱后者“從屬”于前者。,面向數(shù)據(jù)流的設(shè)計(jì)方法,畫結(jié)構(gòu)圖應(yīng)注意的事項(xiàng): 1、同一名字的模塊在結(jié)構(gòu)圖中僅出現(xiàn)一次。 2、調(diào)用關(guān)系只能從上到下。 3、結(jié)構(gòu)圖不嚴(yán)格表示模塊的調(diào)用次序,習(xí)慣上從左到右。有時(shí)為了減少連線的交叉,適當(dāng)?shù)卣{(diào)整同一層模塊的左右位置,以保持結(jié)構(gòu)圖的清晰。,面向數(shù)據(jù)流的設(shè)計(jì)方法,例1:高考錄取統(tǒng)分子系統(tǒng)有如下功能: 1)計(jì)算標(biāo)準(zhǔn)分:根據(jù)考生原始分計(jì)算,得到標(biāo)準(zhǔn)分,存入考生分?jǐn)?shù)文件; 2)計(jì)算錄取線:根據(jù)標(biāo)準(zhǔn)分、招生計(jì)劃文件中的招生人數(shù),計(jì)算錄取線存入錄取

11、線文件。 要求:對(duì)以上問題畫出數(shù)據(jù)流圖。 畫出該子系統(tǒng)的軟件結(jié)構(gòu)圖,面向數(shù)據(jù)流的設(shè)計(jì)方法,例2:某培訓(xùn)中心要研制一個(gè)計(jì)算機(jī)管理系統(tǒng)。它的業(yè)務(wù)是:將學(xué)員發(fā)來的信件收集分類后,按幾種不同情況處理: 1)如果是報(bào)名的,則將報(bào)名數(shù)據(jù)負(fù)責(zé)給報(bào)名事務(wù)的職員,他們將查閱課程文件,檢查該課程是否額滿,然后在學(xué)生文件、課程文件上登記,并開出報(bào)名單交財(cái)務(wù)部門,財(cái)務(wù)人員開出發(fā)票給學(xué)生。 2)如果是想注銷原來已選修的課程,則由注銷人員在課程文件、學(xué)生文件和帳目文件上做相應(yīng)的修改,并給學(xué)生注銷單。 3)如果是付款的,則由財(cái)務(wù)人員在帳目文件上登記,也給學(xué)生一張收費(fèi)收據(jù)。 要求:對(duì)以上問題畫出數(shù)據(jù)流圖。 畫出該培訓(xùn)管理系統(tǒng)

12、的軟件結(jié)構(gòu)圖的主圖。,面向數(shù)據(jù)流的設(shè)計(jì)方法,在實(shí)際的軟件系統(tǒng)中,數(shù)據(jù)流圖往往是變換型和事務(wù)型的混合體。 綜合設(shè)計(jì)方法: 一般以“變換分析”為主,“事務(wù)分析”為輔進(jìn)行設(shè)計(jì)。即先找出子加工,設(shè)計(jì)出結(jié)構(gòu)圖的上層,然后根據(jù)數(shù)據(jù)流圖的各個(gè)部分的結(jié)構(gòu)特點(diǎn)適當(dāng)?shù)剡\(yùn)用“變換分析” 或“事務(wù)分析”進(jìn)行處理,可得到初始的結(jié)構(gòu)圖。,綜合設(shè)計(jì),1、概要設(shè)計(jì)說明書(參考標(biāo)準(zhǔn)文檔) 2、詳細(xì)設(shè)計(jì)說明書(參考標(biāo)準(zhǔn)文檔),軟件設(shè)計(jì)文檔,其他設(shè)計(jì)方法,面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法是根據(jù)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)程序處理過程的方法。 目前比較成熟的有 MAJackson提出的Jackson系統(tǒng)開發(fā)方法(JSD,Jackson System Deve

13、lopment)和JDwarnier提出的程序邏輯構(gòu)造方法LCP( Logical Construction of Programs )。,Jackson方法 Jackson方法思想 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)是根據(jù)某些過程,從一些數(shù)據(jù)結(jié)構(gòu)中導(dǎo)出程序結(jié)構(gòu),著重于問題域數(shù)據(jù)結(jié)構(gòu)到問題解的程序結(jié)構(gòu)之間的轉(zhuǎn)換,而不強(qiáng)調(diào)模塊定義。 首先要充分了解所涉及的數(shù)據(jù)結(jié)構(gòu),而且用工具清晰地描述數(shù)據(jù)結(jié)構(gòu); 然后按一定的步驟根據(jù)數(shù)據(jù)結(jié)構(gòu),導(dǎo)出解決問題的程序結(jié)構(gòu),完成設(shè)計(jì)。,其他設(shè)計(jì)方法,(2) Jackson圖 Jackson圖表示的三種基本結(jié)構(gòu),由方框、連線和一些附加標(biāo)記組成。標(biāo)記“o”代表選擇,標(biāo)記“*”代表重復(fù)。連線可以理解為“包含”或“由組成”。,順序,選擇,重復(fù),其他設(shè)計(jì)方法,Jackson方法

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論