Chap軟件需求實(shí)用_第1頁
Chap軟件需求實(shí)用_第2頁
Chap軟件需求實(shí)用_第3頁
Chap軟件需求實(shí)用_第4頁
Chap軟件需求實(shí)用_第5頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1Chap軟件需求實(shí)用2軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫需求的表達(dá)方法☆第1頁/共98頁3需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的“做什么”的問題系統(tǒng)模型第2頁/共98頁4通常軟件開發(fā)項(xiàng)目是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型。目標(biāo)系統(tǒng)的具體物理模型是由它的邏輯模型經(jīng)實(shí)例化,即具體到某個(gè)業(yè)務(wù)領(lǐng)域而得到的。導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型的過程中,對(duì)系統(tǒng)進(jìn)行建模有著不可替代的作用。系統(tǒng)模型第3頁/共98頁5在需求分析階段創(chuàng)建模型的作用模型幫助分析員理解系統(tǒng)的信息、功能和行為,因此,使得需求分析任務(wù)更容易、更系統(tǒng);模型是評(píng)審的焦點(diǎn),因此,也成為確定規(guī)約的完整性、一致性和精確性的關(guān)鍵;模型是設(shè)計(jì)的基礎(chǔ)。系統(tǒng)模型第4頁/共98頁6系統(tǒng)模型的分類:行為模型:這個(gè)概念包括系統(tǒng)的所有過程層面的內(nèi)容。功能模型:描述數(shù)據(jù)的功能轉(zhuǎn)換。有兩種方式。其一,數(shù)據(jù)被認(rèn)為在功能處理元素間流動(dòng),如數(shù)據(jù)流圖(DFD)。其二,領(lǐng)域?qū)嶓w被建模成對(duì)象,通過事件觸發(fā)相應(yīng)的服務(wù)來處理數(shù)據(jù)元素,如面向?qū)ο蠓椒?。?dòng)態(tài)模型:描述與時(shí)間有關(guān)的變化。結(jié)構(gòu)模型(靜態(tài)模型):描述系統(tǒng)的實(shí)體結(jié)構(gòu)。系統(tǒng)模型第5頁/共98頁7軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫需求的表達(dá)方法☆第6頁/共98頁8最基本形式——自然語言描述因可能存在二義性,所以應(yīng)在合適情況下選用合適的符號(hào)進(jìn)行精確描述。靜態(tài)描述實(shí)體-關(guān)系圖(E-R圖)數(shù)據(jù)抽象對(duì)象模型需求的表達(dá)形式第7頁/共98頁9動(dòng)態(tài)描述判定表狀態(tài)遷移圖時(shí)序圖Petri網(wǎng)層次技術(shù)Warnier圖需求的表達(dá)形式第8頁/共98頁10系統(tǒng)的需求規(guī)格說明通常可以用自然語言來敘述,但是用自然語言描述往往會(huì)出現(xiàn)歧義性;為了直觀地分析系統(tǒng)的動(dòng)作,從特定的視點(diǎn)出發(fā)描述系統(tǒng)的行為,需要采用動(dòng)態(tài)分析的方法。系統(tǒng)的動(dòng)態(tài)分析第9頁/共98頁11狀態(tài)遷移圖時(shí)序圖Petri網(wǎng)最常用的動(dòng)態(tài)分析方法第10頁/共98頁12狀態(tài)遷移圖是描述系統(tǒng)的狀態(tài)如何響應(yīng)外部的信號(hào)進(jìn)行推移的一種圖形表示。圓圈“○”表示可得到的系統(tǒng)狀態(tài);箭頭“→”表示從一種狀態(tài)向另一種狀態(tài)的遷移。箭頭上要標(biāo)明導(dǎo)致遷移的信號(hào)的或事件的名字;狀態(tài)遷移圖所表示的關(guān)系還可以用表格形式表達(dá),稱之為狀態(tài)遷移表。狀態(tài)遷移圖★第11頁/共98頁13狀態(tài)遷移圖狀態(tài)遷移圖和與其等價(jià)的狀態(tài)遷移表示例第12頁/共98頁14如何設(shè)置系統(tǒng)的狀態(tài),需要根據(jù)分析的目標(biāo)和表達(dá)的目的而定。例如,操作系統(tǒng)中根據(jù)調(diào)度的要求需要設(shè)置進(jìn)程的狀態(tài),當(dāng)有多個(gè)申請(qǐng)占用CPU運(yùn)行的進(jìn)程時(shí),有關(guān)CPU分配的進(jìn)程的狀態(tài)就可以用下圖表示:狀態(tài)遷移圖第13頁/共98頁15可得到的狀態(tài)=就緒,運(yùn)行,等待

就緒(Ready):等待分配CPU

運(yùn)行(Running):正在CPU上做處理

等待(Wait):放棄CPU生成的事件=t1,t2,t3,t4t1:因I/O等事件發(fā)生而要求中斷t2:中斷事件已處理t3:分配CPUt4:已用完分配的CPU時(shí)間狀態(tài)遷移圖第14頁/共98頁16狀態(tài)之間的關(guān)系能夠直觀地捕捉到,可以檢查所有可能的狀態(tài)是否都已納入到圖中,是否存在不必要的狀態(tài)等。由于狀態(tài)遷移圖的單純性,能夠機(jī)械地分析許多情況,可很容易地建立分析工具,回答諸如“指定事件序列P、狀態(tài)A和B,可以因?yàn)镻從A向B遷移嗎?”、“找出經(jīng)過所有狀態(tài)的事件序列”之類的問題。狀態(tài)遷移圖的優(yōu)點(diǎn)第15頁/共98頁17軟件需求的表達(dá)方法系統(tǒng)模型軟件需求的靜態(tài)、動(dòng)態(tài)表達(dá)方法傳統(tǒng)結(jié)構(gòu)化分析方法數(shù)據(jù)及數(shù)據(jù)庫需求的表達(dá)方法☆第16頁/共98頁18結(jié)構(gòu)化分析方法最初由DouglasRoss提出,由DeMarco推廣,由Ward和Mellor以及后來的Hatley和Pirbhai擴(kuò)充,形成了今天的結(jié)構(gòu)化分析方法的框架。結(jié)構(gòu)化分析方法第17頁/共98頁19結(jié)構(gòu)化分析方法的分析模型數(shù)據(jù)字典實(shí)體-關(guān)系圖數(shù)據(jù)流圖狀態(tài)變遷圖數(shù)據(jù)對(duì)象描述加工規(guī)格說明控制規(guī)格說明第18頁/共98頁20核心:數(shù)據(jù)字典實(shí)體關(guān)系圖(ERD):描述數(shù)據(jù)對(duì)象和對(duì)象之間的關(guān)系——數(shù)據(jù)建模數(shù)據(jù)流圖(DFD):描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對(duì)數(shù)據(jù)流進(jìn)行變換的功能(子功能)——功能建模狀態(tài)變遷圖(STD):描述系統(tǒng)對(duì)外部事件如何響應(yīng),如何動(dòng)作——行為建模結(jié)構(gòu)化分析方法的分析模型第19頁/共98頁21面向數(shù)據(jù)流進(jìn)行需求分析的方法。傳統(tǒng)結(jié)構(gòu)化分析方法適合于數(shù)據(jù)處理類型軟件的需求分析。具體來說,傳統(tǒng)結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。傳統(tǒng)結(jié)構(gòu)化分析方法★第20頁/共98頁22傳統(tǒng)結(jié)構(gòu)化分析方法使用工具:數(shù)據(jù)流圖(DataFlowDiagram)數(shù)據(jù)詞典(DataDictionary)

Warnier圖結(jié)構(gòu)化英語判定表與判定樹

IPO圖傳統(tǒng)結(jié)構(gòu)化分析方法第21頁/共98頁23數(shù)據(jù)流圖(DFD)的符號(hào)或數(shù)據(jù)的源點(diǎn)/終點(diǎn)或變換數(shù)據(jù)的處理/加工/變換或數(shù)據(jù)存儲(chǔ)(文件)數(shù)據(jù)流第22頁/共98頁24源點(diǎn)和終點(diǎn)源點(diǎn)和終點(diǎn)是系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。源點(diǎn)和終點(diǎn)是為了幫助理解系統(tǒng)接口而引入的。加工/變換對(duì)數(shù)據(jù)進(jìn)行處理的單元。在分層數(shù)據(jù)流圖中,要對(duì)加工進(jìn)行編號(hào),以便于管理。加工也要選取適當(dāng)?shù)拿?,以提高?shù)據(jù)流圖的易讀性。DFD的符號(hào)第23頁/共98頁25數(shù)據(jù)流由一組數(shù)據(jù)項(xiàng)組成。例如,數(shù)據(jù)流“訂票單”由姓名、住址、電話、航班號(hào)、日期、始點(diǎn)、終點(diǎn)等數(shù)據(jù)項(xiàng)組成;數(shù)據(jù)流“航班”由航班號(hào)、日期和姓名等數(shù)據(jù)項(xiàng)組成數(shù)據(jù)流可以從加工流向加工,如“航班”、“費(fèi)用”;可以從源點(diǎn)流向加工,或從加工流向終點(diǎn);可以從加工流向數(shù)據(jù)存儲(chǔ)或從數(shù)據(jù)存儲(chǔ)流向加工DFD的符號(hào)第24頁/共98頁26文件用來暫時(shí)存儲(chǔ)數(shù)據(jù)的。如果加工要讀文件,則數(shù)據(jù)流的方向是從文件到加工;如果加工要寫文件,則數(shù)據(jù)流的方向是從加工到文件;如果加工既要讀文件又要寫文件,則數(shù)據(jù)流的方向是雙向的DFD的符號(hào)第25頁/共98頁27旅行社旅客預(yù)定機(jī)票機(jī)票準(zhǔn)備記帳航班目錄記帳文件訂票單航班費(fèi)用帳單機(jī)票DFD的符號(hào)第26頁/共98頁28描述銀行取款過程的數(shù)據(jù)流圖第27頁/共98頁29數(shù)據(jù)流與數(shù)據(jù)加工之間的關(guān)系第28頁/共98頁30為了表達(dá)數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,需要采用層次結(jié)構(gòu)的數(shù)據(jù)流圖。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理解整個(gè)系統(tǒng)。數(shù)據(jù)流圖的層次結(jié)構(gòu)第29頁/共98頁31自頂向下逐層畫數(shù)據(jù)流圖的步驟1.首先建立頂層的數(shù)據(jù)流圖(基本系統(tǒng)模型),其中只含有一個(gè)代表目標(biāo)軟件系統(tǒng)整體處理功能的轉(zhuǎn)換。根據(jù)軟件系統(tǒng)與外部環(huán)境的關(guān)系確定頂層數(shù)據(jù)流圖中的外部實(shí)體以及它們與軟件系統(tǒng)之間的數(shù)據(jù)流。第30頁/共98頁32自頂向下逐層畫數(shù)據(jù)流圖的步驟外部實(shí)體外部實(shí)體外部實(shí)體外部實(shí)體軟件系統(tǒng)輸入數(shù)據(jù)流輸入數(shù)據(jù)流輸出數(shù)據(jù)流輸出數(shù)據(jù)流。。。。。。。?;鞠到y(tǒng)模型(0級(jí)圖)第31頁/共98頁33旅行社旅客飛機(jī)訂票系統(tǒng)訂票單機(jī)票帳單第32頁/共98頁342.

畫系統(tǒng)的內(nèi)部:將頂層圖中的處理分解成若干個(gè)處理,并用數(shù)據(jù)流將這些處理連接起來,使得頂層圖中的輸入數(shù)據(jù)流經(jīng)一連串的加工處理后變換成頂層圖中的輸出數(shù)據(jù)流。這張圖稱為1層數(shù)據(jù)流圖。又稱為系統(tǒng)功能級(jí)數(shù)據(jù)流圖。3.

畫處理的內(nèi)部:把每一個(gè)處理看作一個(gè)小系統(tǒng),該處理的輸入輸出數(shù)據(jù)流看成小系統(tǒng)的輸入輸出數(shù)據(jù)流,于是可以用畫1層圖同樣的方法畫出每個(gè)處理的DFD子圖。4.對(duì)第3步分解出來的DFD子圖中的每個(gè)處理重復(fù)第3步的分解,直至圖中尚未分解的處理都足夠簡(jiǎn)單為止。到此得到了一套分層的數(shù)據(jù)流圖。自頂向下逐層畫數(shù)據(jù)流圖的步驟第33頁/共98頁35分層的數(shù)據(jù)流圖源點(diǎn)1源點(diǎn)2終點(diǎn)2終點(diǎn)1G頂層(0層)1層1322層圖號(hào)11.11.23.43.12.22.12.33.23.3圖號(hào)2圖號(hào)3第34頁/共98頁36為分層數(shù)據(jù)流圖和加工編號(hào)的原則:(1)子圖的圖號(hào)就是分解的父圖中加工的編號(hào)(2)子圖中的加工的編號(hào)是由子圖號(hào)、小數(shù)點(diǎn),局部順序號(hào)組成3層圖號(hào)3.3圖號(hào)2.2圖號(hào)3.12.2.12.2.23.3.13.3.33.3.23.1.23.1.1分層的數(shù)據(jù)流圖第35頁/共98頁37分層的數(shù)據(jù)流圖第36頁/共98頁38在多層數(shù)據(jù)流圖中,頂層流圖僅包含一個(gè)加工,它代表被開發(fā)系統(tǒng),也被稱為0層圖。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)的輸出數(shù)據(jù)。底層流圖是指其加工不需再做分解的數(shù)據(jù)流圖,它處在最底層。中間層流圖則表示對(duì)其上層父圖的細(xì)化。它的每一加工可能繼續(xù)細(xì)化,形成子圖。分層的數(shù)據(jù)流圖第37頁/共98頁39數(shù)據(jù)流圖中的主要圖形元素:數(shù)據(jù)加工(數(shù)據(jù)變換),圖中“2”為加工編號(hào)數(shù)據(jù)源點(diǎn)(source)或匯點(diǎn)(sink)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)文件數(shù)據(jù)流圖常用的另一套圖形元素第38頁/共98頁40數(shù)據(jù)流圖示例:學(xué)校選課系統(tǒng)第39頁/共98頁41數(shù)據(jù)流圖示例:學(xué)校選課系統(tǒng)第40頁/共98頁42一家工廠的采購部每天需要一張定貨報(bào)表,報(bào)表按零件編號(hào)排序,列出所有需要再次定貨的零件。對(duì)于需要訂貨的零件列出其零件編號(hào)、零件名稱、定貨數(shù)量、目前價(jià)格、主要供應(yīng)者、次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉庫中的CRT終端把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)某種零件的庫存量少于臨界值時(shí)就應(yīng)該再次定貨。例1:定貨系統(tǒng)第41頁/共98頁43第一步確定系統(tǒng)的源點(diǎn)和終點(diǎn)倉庫管理員是數(shù)據(jù)的源點(diǎn);采購員是數(shù)據(jù)的終點(diǎn)。處理(加工)應(yīng)該完成定貨系統(tǒng)這樣一個(gè)功能。數(shù)據(jù)流事務(wù)需從倉庫送到系統(tǒng)中,顯然事務(wù)是一個(gè)數(shù)據(jù)流;系統(tǒng)要把定貨報(bào)表送給采購部,定貨報(bào)表也是一個(gè)數(shù)據(jù)流。例1:定貨系統(tǒng)第42頁/共98頁44定貨系統(tǒng)基本數(shù)據(jù)流圖例1:定貨系統(tǒng)倉庫管理員事務(wù)定貨系統(tǒng)定貨報(bào)表采購員定貨系統(tǒng)的基本系統(tǒng)模型第43頁/共98頁45

第二步將處理(加工)——定貨系統(tǒng)進(jìn)行功能分解成事務(wù)處理和產(chǎn)生報(bào)表兩部分;考慮有關(guān)數(shù)據(jù)存儲(chǔ)問題,題中涉及到存儲(chǔ)的信息有:庫存清單、定貨信息;例1:定貨系統(tǒng)第44頁/共98頁46源點(diǎn)/終點(diǎn)處理采購員倉庫管理員產(chǎn)生報(bào)表處理事務(wù)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)定貨報(bào)表

零件編號(hào)零件名稱定貨數(shù)量目前價(jià)格主要供應(yīng)者次要供應(yīng)者事務(wù)零件編號(hào)事務(wù)類型數(shù)量定貨信息

(同定貨報(bào)表)庫存清單零件編號(hào)

庫存量庫存量臨界值第45頁/共98頁47例1:定貨系統(tǒng)定貨系統(tǒng)功能級(jí)數(shù)據(jù)流圖定貨報(bào)表采購員倉庫管理員事務(wù)1處理事務(wù)庫存清單D1庫存清單D2定貨信息定貨信息2產(chǎn)生報(bào)表定貨信息

定貨系統(tǒng)的功能級(jí)數(shù)據(jù)流圖第46頁/共98頁48第三步將事務(wù)處理進(jìn)一步分解為接收事務(wù)、更新庫存清單、處理定貨三部分。畫出事務(wù)處理功能分解后的數(shù)據(jù)流圖。例1:定貨系統(tǒng)第47頁/共98頁49例1:定貨系統(tǒng)

把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖倉庫管理員事務(wù)1.1接收事務(wù)庫存清單D1庫存清單事務(wù)1.2更新庫存清單定貨信息D2定貨信息定貨報(bào)表采購員2產(chǎn)生報(bào)表1.3處理定貨定貨信息庫存信息第48頁/共98頁50由捐助者向基金會(huì)提出捐助請(qǐng)求,經(jīng)身份確認(rèn)后被接受,對(duì)捐助人進(jìn)行登記并授予捐助證書,捐款存入銀行。由教育單位提出用款申請(qǐng),在進(jìn)行相應(yīng)的合法性校驗(yàn)和核對(duì)相應(yīng)的捐款儲(chǔ)備后做出支出。每月給基金會(huì)的理事會(huì)一份財(cái)政狀況報(bào)表,列出本月的收入和支出情況和資金余額。例2:教育基金會(huì)的捐助資金管理系統(tǒng)第49頁/共98頁51例2:教育基金會(huì)的捐助資金管理系統(tǒng)捐助者教育單位理事會(huì)資金管理系統(tǒng)捐款請(qǐng)求財(cái)政報(bào)表用款請(qǐng)求基金會(huì)資金管理系統(tǒng)的頂層數(shù)據(jù)流圖第50頁/共98頁52例2:教育基金會(huì)的捐助資金管理系統(tǒng)理事會(huì)財(cái)政報(bào)表捐助者捐款請(qǐng)求教育單位用款請(qǐng)求D1收支狀況支出處理2收入處理1功能級(jí)數(shù)據(jù)流圖產(chǎn)生報(bào)表3第51頁/共98頁53經(jīng)過細(xì)化的功能級(jí)數(shù)據(jù)流圖捐助者教育單位接受請(qǐng)求1.1產(chǎn)生報(bào)表3支出批準(zhǔn)2.3登記收入1.3合法性檢查2.2接受請(qǐng)求2.1合法性檢查1.2理事會(huì)D3教育單位信息D2捐助者信息捐款請(qǐng)求捐款要求請(qǐng)求用款用款合法支出合法捐助D1收支狀況財(cái)務(wù)報(bào)告要求第52頁/共98頁54例3:商店業(yè)務(wù)處理系統(tǒng)第53頁/共98頁55這個(gè)數(shù)據(jù)流圖只是一個(gè)高層的系統(tǒng)邏輯模型,它反映了目標(biāo)系統(tǒng)要實(shí)現(xiàn)的功能。數(shù)據(jù)流圖繪制步驟:首先確定系統(tǒng)的輸入和輸出;根據(jù)商店業(yè)務(wù),畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務(wù)處理流程;例3:商店業(yè)務(wù)處理系統(tǒng)第54頁/共98頁56

經(jīng)過分析,商店業(yè)務(wù)處理的主要功能應(yīng)當(dāng)有銷售、采購、會(huì)計(jì)三大項(xiàng)。主要數(shù)據(jù)流輸入的源點(diǎn)和輸出終點(diǎn)是顧客和供應(yīng)商;然后從輸入端開始,根據(jù)商店業(yè)務(wù)工作流程,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫到輸出端,得到第一層數(shù)據(jù)流圖:例3:商店業(yè)務(wù)處理系統(tǒng)第55頁/共98頁57第一層數(shù)據(jù)流圖第56頁/共98頁58加細(xì)每一個(gè)加工框——銷售細(xì)化第57頁/共98頁59加細(xì)每一個(gè)加工框——采購細(xì)化第58頁/共98頁60畫數(shù)據(jù)流圖不是畫流程圖父圖和子圖的平衡問題局部文件的問題分解的深度和層次問題 命名問題畫數(shù)據(jù)流圖需要注意的幾個(gè)問題第59頁/共98頁61父圖和子圖的平衡問題1243576ACBYEXWVFDGH3.13.23.33.43.63.5DFGH第60頁/共98頁62父圖和子圖的平衡問題12344.44.34.24.1AGCBFDEEHLFG1323.13.2考生成績(jī)錄取通知書考生姓名準(zhǔn)考證號(hào)通訊地址考生成績(jī)第61頁/共98頁63文件(數(shù)據(jù)存儲(chǔ))總是局部于分層數(shù)據(jù)流圖的某一層或某幾層,所以數(shù)據(jù)流圖中引入的文件都是局部文件;當(dāng)數(shù)據(jù)存儲(chǔ)的第一次出現(xiàn)時(shí)只與一個(gè)加工發(fā)生關(guān)系,不成為加工間的接口關(guān)系時(shí),沒有必要把它在DFD中表示出來,而應(yīng)作為這一加工本身的一部分。局部文件的問題12.1322.242.3ABCABCDEGFFED第62頁/共98頁64一個(gè)加工的分解最好不要超過7(9)個(gè)子加工。超過七個(gè)時(shí),可以用增加層次,減少子加工數(shù)的方法。分解在邏輯上應(yīng)合理、自然,不能硬性分割。也就是說,要根據(jù)問題的邏輯特性進(jìn)行分解。在保證數(shù)據(jù)流的易理解的前提下,盡量減少分解層次。這樣可以減少層次的界面。分解要均勻。即在一張數(shù)據(jù)流圖中,不要有這樣的情況:有些加工已是基本加工,另一些加工還要分解好幾層,但絕對(duì)均勻不可能,不要相差太大。分解的深度和層次問題第63頁/共98頁65數(shù)據(jù)流命名名字應(yīng)代表整個(gè)數(shù)據(jù)流(有時(shí)也會(huì)把現(xiàn)實(shí)環(huán)境中傳遞的一組數(shù)據(jù)中最重要的那個(gè)數(shù)據(jù)的名字作為數(shù)據(jù)流的名字)命名問題考生成績(jī)分類后的考生成績(jī)錄取分類第64頁/共98頁66數(shù)據(jù)流命名(續(xù))現(xiàn)實(shí)環(huán)境中,傳遞的一些表格、單據(jù)的名字可以直接作為數(shù)據(jù)流的名字。命名問題車間調(diào)度全廠統(tǒng)計(jì)生產(chǎn)報(bào)表統(tǒng)計(jì)表日?qǐng)?bào)表月報(bào)表第65頁/共98頁67數(shù)據(jù)流命名(續(xù))不要使用空洞的、缺乏具體含義的名字;不要把控制流作為數(shù)據(jù)流;如果在為某個(gè)數(shù)據(jù)流命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD。命名問題錄取分類取下一個(gè)考生成績(jī)第66頁/共98頁68加工(處理)命名頂層的加工名可以是軟件項(xiàng)目的名字;不要使用空洞的、缺乏具體含義的名字;通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習(xí)慣的“由表及里”的思考過程;如果在為某個(gè)加工命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD;命名問題第67頁/共98頁69加工(處理)命名(續(xù))加工的名字最好由一個(gè)謂語動(dòng)詞加上一個(gè)賓語組成。如“計(jì)算運(yùn)費(fèi)”、“準(zhǔn)備機(jī)票”。也可以把賓語和謂語動(dòng)詞顛倒書寫。如“運(yùn)費(fèi)計(jì)算”、“機(jī)票準(zhǔn)備”;名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能;通常名字中僅包括一個(gè)動(dòng)詞,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能更恰當(dāng)些。命名問題第68頁/共98頁70作為交流信息的工具作為分析和設(shè)計(jì)的工具用數(shù)據(jù)流圖輔助物理系統(tǒng)的設(shè)計(jì)時(shí),以圖中不同處理的定時(shí)要求為指南,能夠在數(shù)據(jù)流圖上畫出許多組自動(dòng)化邊界,每組自動(dòng)化邊界可能意味著一個(gè)不同的物理系統(tǒng),因此可以根據(jù)系統(tǒng)的邏輯模型考慮系統(tǒng)的物理實(shí)現(xiàn)可以從數(shù)據(jù)流圖出發(fā)映射出軟件結(jié)構(gòu)數(shù)據(jù)流圖的用途第69頁/共98頁71這種劃分自動(dòng)化邊界的方法暗示以批量方式更新庫存清單數(shù)據(jù)流圖的用途第70頁/共98頁72數(shù)據(jù)流圖的用途另一種劃分自動(dòng)化邊界的方法建議以聯(lián)機(jī)方式更新庫存清單第71頁/共98頁73對(duì)于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素,在數(shù)據(jù)詞典中作為一個(gè)詞條加以定義,使得每個(gè)圖形元素都有確切解釋。數(shù)據(jù)詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求。詞條描述——

對(duì)于在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素,均加以定義,其內(nèi)容有:圖形元素名字、別名或編號(hào),分類,描述,定義,位置,其它,等。數(shù)據(jù)詞典(DD)第72頁/共98頁74數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳播的路徑。一個(gè)數(shù)據(jù)流詞條應(yīng)有以下幾項(xiàng)內(nèi)容:數(shù)據(jù)流名說明:簡(jiǎn)要介紹作用及它產(chǎn)生的原因和結(jié)果數(shù)據(jù)流來源:來自何方數(shù)據(jù)流去向:去向何處數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu)每個(gè)數(shù)據(jù)量的流通量:數(shù)據(jù)量,流通量(1)數(shù)據(jù)流詞條描述第73頁/共98頁75DFD中每個(gè)數(shù)據(jù)結(jié)構(gòu)都是由數(shù)據(jù)元素構(gòu)成的,數(shù)據(jù)元素是數(shù)據(jù)處理中最小的、不可再分的單位,它直接反映事物的某一特征,其描述需要以下信息:數(shù)據(jù)元素名類型:數(shù)字(離散值,連續(xù)值),文字(編碼類型)長(zhǎng)度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):(2)數(shù)據(jù)元素詞條描述第74頁/共98頁76數(shù)據(jù)文件是數(shù)據(jù)結(jié)構(gòu)保存的地方。本類詞條應(yīng)有以下內(nèi)容:數(shù)據(jù)文件名簡(jiǎn)述:存放的是什么數(shù)據(jù)輸入數(shù)據(jù):輸出數(shù)據(jù):數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)方式:順序,直接,關(guān)鍵碼存取頻率:(3)數(shù)據(jù)文件詞條描述第75頁/共98頁77加工到后來就是一段程序,它的表達(dá)方式有判定表、判定樹、結(jié)構(gòu)化英語等,在一個(gè)詞條中全部描述有困難。主要內(nèi)容有:加工名加工編號(hào):反映該加工的層次簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述輸入數(shù)據(jù)流:輸出數(shù)據(jù)流:加工邏輯:簡(jiǎn)述加工程序,加工順序(4)加工邏輯詞條描述第76頁/共98頁78對(duì)于數(shù)據(jù)處理系統(tǒng)來說,源點(diǎn)和匯點(diǎn)應(yīng)比較少,否則就會(huì)缺少獨(dú)立性,人機(jī)界面太復(fù)雜,這時(shí)應(yīng)考慮減少以提高系統(tǒng)獨(dú)立性。這類詞條應(yīng)包括:名稱:外部實(shí)體名簡(jiǎn)要描述:什么外部實(shí)體有關(guān)數(shù)據(jù)流:數(shù)目:(5)源點(diǎn)及匯(終)點(diǎn)詞條描述第77頁/共98頁79常用的描述數(shù)據(jù)結(jié)構(gòu)的方式有:定義式:自頂向下,逐級(jí)給出定義式,直到最后給出基本數(shù)據(jù)元素為止。Warnier圖:用樹形結(jié)構(gòu)來描繪數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)詞典數(shù)據(jù)結(jié)構(gòu)的描述第78頁/共98頁80符號(hào)

含義

舉例=“被定義為”

x=a+b,x由a和b組成[...,...] 或

x=[a,b],x由a或由b組成[...|...] 或

x=[a|b],x由a或由b組成{...} 重復(fù)

x

={a},x由0個(gè)或多個(gè)a組成

m{...}n 重復(fù)

x

=3{a}8,x由3到8個(gè)a組成(...)

可選

x

=(a),在x中a可有可無“...”

基本數(shù)據(jù)元素x

=“a”,x是取值為a的元素

.. 連結(jié)符x=1..9,x可取1到9中任一值數(shù)據(jù)詞典的定義式中出現(xiàn)的符號(hào)第79頁/共98頁81數(shù)據(jù)結(jié)構(gòu)的描述示例——存折格式第80頁/共98頁82存折=戶名+所號(hào)+帳號(hào)+開戶日+性質(zhì)+(印密)+1{存取行}50戶名=2{字母}24所號(hào)=“001”..“999”

注:三位數(shù)字帳號(hào)=“00000001”..“99999999”

注:八位數(shù)字開戶日=年+月+日性質(zhì)=“1”..“6”

注:“1”表示普通戶,“5”表示工資戶等印密=“0”

注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核……第81頁/共98頁83Warnier圖示例——報(bào)紙專欄的數(shù)據(jù)層次結(jié)構(gòu)報(bào)紙頭版部分社論部分副刊部分頭條新聞國內(nèi)新聞本地新聞社論(1,1)讀者來信(1,3)體育新聞商業(yè)新聞廣告專欄(1,3)諷刺漫畫(0,1)副刊部分體育新聞商業(yè)新聞廣告地區(qū)隊(duì)職業(yè)隊(duì)拳擊經(jīng)營(yíng)簡(jiǎn)訊雇員簡(jiǎn)訊招生招聘求助一般新聞第82頁/共98頁84數(shù)據(jù)流圖中每個(gè)加工框上只有簡(jiǎn)單的加工名,數(shù)據(jù)詞典中關(guān)于加工的信息也不能表達(dá)加工的全部?jī)?nèi)容;隨著逐層細(xì)化,加工邏輯越來越具體,到最底一層,可以詳細(xì)到可實(shí)現(xiàn)的程度,這時(shí)的加工稱為基本加工;如果能寫出每個(gè)基本加工的全部詳細(xì)邏輯功能,再自底向上綜合,就能完成全部加工;數(shù)據(jù)流圖的加工邏輯說明第83頁/共98頁85對(duì)數(shù)據(jù)流圖的每一個(gè)基本加工,必須有一個(gè)基本加工邏輯說明;基本加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工規(guī)則;加工邏輯說明必須描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié);加工邏輯說明中包含的信息應(yīng)是充足的、完備的、有用的、無冗余的。數(shù)據(jù)流圖的加工邏輯說明第84頁/共98頁86

結(jié)構(gòu)化英語(StructuredEnglish)判定表(DecisionTable)判定樹(DecisionTree)

IPO圖用于寫加工邏輯說明的工具第85頁/共98頁87是一種介于自然語言和形式化語言之間的語言。結(jié)構(gòu)化英語的詞匯表由英語命令動(dòng)詞數(shù)據(jù)詞典中定義的名字有限的自定義詞邏輯關(guān)系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等組成結(jié)構(gòu)化英語第86頁/共98頁88語言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語言短語來表示。其基本控制結(jié)構(gòu)有三種:簡(jiǎn)單陳述句結(jié)構(gòu):避免復(fù)合語句;重復(fù)結(jié)構(gòu):while_do

或repeat_until結(jié)構(gòu)判定結(jié)構(gòu):if_then_else

case_of結(jié)構(gòu)結(jié)構(gòu)化英語(StructuredEnglish)第87頁/共98頁89if發(fā)貨單金額超過$500thenif欠款超過了

溫馨提示

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