數(shù)據(jù)和過(guò)程建模_第1頁(yè)
數(shù)據(jù)和過(guò)程建模_第2頁(yè)
數(shù)據(jù)和過(guò)程建模_第3頁(yè)
數(shù)據(jù)和過(guò)程建模_第4頁(yè)
數(shù)據(jù)和過(guò)程建模_第5頁(yè)
已閱讀5頁(yè),還剩73頁(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)介

第4章數(shù)據(jù)與流程建模

(建立企業(yè)模型)

本章中,將使用數(shù)據(jù)和過(guò)程建模的技術(shù)來(lái)開發(fā)出所建議系統(tǒng)的邏輯模型并記錄系統(tǒng)需求。一個(gè)邏輯模型(logicalmodel)顯示出系統(tǒng)必須做些什么,而不管物理上是如何實(shí)現(xiàn)的。在系統(tǒng)設(shè)計(jì)階段,系統(tǒng)分析員進(jìn)一步建立一套物理模型(physicalmodel)來(lái)描繪出建構(gòu)系統(tǒng)的方式。

數(shù)據(jù)和過(guò)程建模牽涉到三種主要的工具︰數(shù)據(jù)流圖、數(shù)據(jù)字典,及過(guò)程描述。簡(jiǎn)介4.1數(shù)據(jù)和過(guò)程建模概述4.2數(shù)據(jù)流圖4.3創(chuàng)建數(shù)據(jù)流圖4.4數(shù)據(jù)字典4.5過(guò)程描述工具4.6邏輯模型與物理模型目錄

系統(tǒng)分析員使用許多圖形技術(shù)來(lái)描述一個(gè)信息系統(tǒng),一個(gè)常用的方法是繪制一套數(shù)據(jù)流圖。

數(shù)據(jù)流圖(DFD,Data

Flow

Diagram)使用各式各樣的符號(hào),顯示系統(tǒng)如何將輸入數(shù)據(jù)轉(zhuǎn)換為有用的信息。4.1數(shù)據(jù)和過(guò)程建模概述

數(shù)據(jù)流圖(DFD)顯示數(shù)據(jù)在信息系統(tǒng)中移動(dòng)的方式,但卻無(wú)法顯示程序的邏輯或過(guò)程步驟。

DFD提供的是一種邏輯模型,著重在系統(tǒng)能做些什么,而不是如何完成這些事情。4.2數(shù)據(jù)流圖

數(shù)據(jù)流程圖使用四種基本符號(hào)來(lái)代表過(guò)程、數(shù)據(jù)流、數(shù)據(jù)儲(chǔ)存和實(shí)體。主要采用Gane&Sarson符號(hào)集(GaneandSarsonsymbolset)的流行版本作為例子。另一種流行的符號(hào)集是Yourdon符號(hào)集(Yourdonsymbolset)。符號(hào)包括:過(guò)程符號(hào)、數(shù)據(jù)流符號(hào)、數(shù)據(jù)存儲(chǔ)符號(hào)、實(shí)體符號(hào)4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)

過(guò)程符號(hào)一個(gè)過(guò)程(process

)接受輸入數(shù)據(jù)而產(chǎn)生不同內(nèi)容及形式的輸出。

過(guò)程包含了業(yè)務(wù)邏輯(businesslogic),也稱為業(yè)務(wù)規(guī)則(businessrules),它可以轉(zhuǎn)換數(shù)據(jù)并產(chǎn)生想要的結(jié)果。過(guò)程的符號(hào)是一個(gè)帶有圓角的矩形。一個(gè)過(guò)程的名稱出現(xiàn)在矩形的內(nèi)部。過(guò)程的名稱顯示出特定的功能,因此是由一些動(dòng)詞(需要時(shí)可加上形容詞),其后伴隨著一個(gè)單數(shù)名詞而組成。計(jì)算工資工資率工作時(shí)數(shù)總工資4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)

數(shù)據(jù)流圖并不顯示過(guò)程的細(xì)節(jié),過(guò)程符號(hào)并不顯示出它的業(yè)務(wù)邏輯,要記錄這種邏輯,你可以制作一個(gè)過(guò)程說(shuō)明。在數(shù)據(jù)流圖中,一個(gè)過(guò)程可被視為一個(gè)黑盒子(blackbox),因?yàn)槠漭斎?、輸出,和一般功能可以看到,但是其?nèi)部細(xì)節(jié)和過(guò)程邏輯則沒有顯示出來(lái)。當(dāng)系統(tǒng)分析員想要顯示出更深層的細(xì)節(jié)時(shí),就可以把一個(gè)過(guò)程符號(hào)放大而產(chǎn)生能展現(xiàn)該過(guò)程內(nèi)部運(yùn)作的細(xì)部DFD,而其中可能又顯現(xiàn)出更多的過(guò)程、數(shù)據(jù)流及數(shù)據(jù)儲(chǔ)存。4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)數(shù)據(jù)流符號(hào)

數(shù)據(jù)流(dataflow)是數(shù)據(jù)從信息系統(tǒng)的一個(gè)部分流向到另一個(gè)部分的路線。DFD中的一個(gè)數(shù)據(jù)流代表一項(xiàng)或更多的數(shù)據(jù)項(xiàng)。一個(gè)數(shù)據(jù)流可以代表一個(gè)簡(jiǎn)單的數(shù)據(jù)項(xiàng)(例如:一名學(xué)生的學(xué)號(hào)),或者也可以代表一個(gè)數(shù)據(jù)集合(例如:一個(gè)帶有學(xué)生學(xué)號(hào)、姓名,及注冊(cè)日期的班級(jí)名單)。數(shù)據(jù)流的符號(hào)以直線表示,其中帶有單向或雙向箭頭。數(shù)據(jù)流名稱可以出現(xiàn)在直線的上方、下方或旁邊。4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)數(shù)據(jù)流的名稱由一個(gè)單數(shù)名詞組成,必要時(shí)還有一個(gè)形容詞所構(gòu)成,例如:“學(xué)生成績(jī)”(STUDENTGRADE),“訂單”(ORDER)。此命名規(guī)則也有例外情況,例如:“評(píng)分參數(shù)”(GRADINGPARAMETERS),這個(gè)名稱使用復(fù)數(shù)以免造成你誤以為它只有一項(xiàng)數(shù)據(jù)存在。因?yàn)檫^(guò)程把數(shù)據(jù)從一種形式轉(zhuǎn)變?yōu)榱硪环N形式,所以每一個(gè)過(guò)程符號(hào)必然至少有一個(gè)數(shù)據(jù)流進(jìn)入和一個(gè)數(shù)據(jù)流流出。

一個(gè)過(guò)程符號(hào)可以有不止一個(gè)流出的數(shù)據(jù)流,或不止一個(gè)進(jìn)入的數(shù)據(jù)流。(如下圖)

處理過(guò)程還可能連接到任何其他符號(hào),包括另外一個(gè)過(guò)程符號(hào)。

一個(gè)數(shù)據(jù)流至少在其一端必然有一個(gè)過(guò)程符號(hào)。4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)制作發(fā)票發(fā)票所執(zhí)行的服務(wù)客戶批改學(xué)生作業(yè)學(xué)生交的作業(yè)批改過(guò)的作業(yè)學(xué)生作業(yè)成績(jī)學(xué)生學(xué)生4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)計(jì)算員工總工資工作時(shí)數(shù)工資率員工總工資員工工資數(shù)據(jù)核對(duì)訂單調(diào)集所訂貨品訂單接受的訂單更新后的庫(kù)存量必須避免的數(shù)據(jù)流與過(guò)程的結(jié)合情況︰

自然發(fā)生過(guò)程(spontaneousgeneration)︰一個(gè)過(guò)程只有輸出,沒有輸入數(shù)據(jù)流,這個(gè)過(guò)程就稱為自然發(fā)生過(guò)程。

黑洞(blackhole)︰一個(gè)黑洞過(guò)程,也就是一種有輸入但不產(chǎn)生輸出的過(guò)程。

灰洞(grayhole)︰灰洞過(guò)程是至少有一個(gè)輸入和一個(gè)輸出的過(guò)程,但是該輸入顯然不足以產(chǎn)生此一輸出。

自然發(fā)生、黑洞,和灰洞都是在DFD邏輯上不可能存在的。4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)計(jì)算總工資工資率工作時(shí)數(shù)計(jì)算成績(jī)最后成績(jī)出生日期

黑洞過(guò)程

灰洞過(guò)程申請(qǐng)保險(xiǎn)給付支付金額保險(xiǎn)單號(hào)碼

自然發(fā)生過(guò)程4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)

數(shù)據(jù)儲(chǔ)存符號(hào)

數(shù)據(jù)儲(chǔ)存(datastore),用來(lái)表示系統(tǒng)儲(chǔ)存的數(shù)據(jù),因?yàn)橛行┻^(guò)程稍后需要用到這些資料。

DFD中并不顯示數(shù)據(jù)儲(chǔ)存的詳細(xì)內(nèi)容,其確切的結(jié)構(gòu)和數(shù)據(jù)項(xiàng)定義在數(shù)據(jù)字典中。輸入成績(jī)測(cè)驗(yàn)成績(jī)學(xué)生任課老師作業(yè)成績(jī)各種成績(jī)

成績(jī)資料計(jì)算成績(jī)各種成績(jī)學(xué)期成績(jī)打印成績(jī)學(xué)期成績(jī)導(dǎo)師全班成績(jī)單個(gè)人成績(jī)單4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)

數(shù)據(jù)儲(chǔ)存的實(shí)體特征并不重要,因?yàn)槟銉H僅關(guān)心其邏輯模型。此外數(shù)據(jù)儲(chǔ)存的時(shí)間長(zhǎng)度也不重要,它可以是幾秒鐘,也可以是數(shù)個(gè)月,甚至是永遠(yuǎn)儲(chǔ)存。重要的是,某個(gè)過(guò)程需要在以后的某個(gè)時(shí)間存取這種數(shù)據(jù)。

數(shù)據(jù)儲(chǔ)存的名稱是一個(gè)復(fù)數(shù)名詞,由一個(gè)名詞與必要時(shí)一些形容詞所組成,如:“學(xué)生”(STUDENTS)、“應(yīng)收帳款”(ACCOUNTSRECEIVABLE)、“產(chǎn)品”(PRODUCTS)…等等。員工

薪資表計(jì)算薪資當(dāng)月薪資總所得當(dāng)月扣繳稅率結(jié)算年度薪資當(dāng)月扣繳稅額

薪資表每月扣繳稅額每月薪資總所得年度扣繳憑單4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)

使用復(fù)數(shù)名詞這個(gè)規(guī)則的例外情況,是使用一些集合名詞來(lái)表示發(fā)生多次的對(duì)象。例如,“成績(jī)簿”(GRADEBOOK)表示一群學(xué)生和他們的成績(jī)。

數(shù)據(jù)儲(chǔ)存必然透過(guò)數(shù)據(jù)流連接于一個(gè)過(guò)程。在每一種情況之下,一個(gè)數(shù)據(jù)儲(chǔ)存至少有一個(gè)流入和一個(gè)流出的數(shù)據(jù)流,并連接于一個(gè)帶有數(shù)據(jù)流的過(guò)程??蛻舾犊钊胭~每日付款資料準(zhǔn)備存款現(xiàn)金或支票付款資料付款資料銀行現(xiàn)金或支票

應(yīng)收帳款付款資料數(shù)據(jù)流程圖中,數(shù)據(jù)儲(chǔ)存符號(hào)正確使用舉例:4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)會(huì)計(jì)制作發(fā)票應(yīng)收帳款付款入賬發(fā)票資料發(fā)票付款細(xì)節(jié)客戶現(xiàn)金或支票發(fā)票細(xì)節(jié)病人病人入院病人資料診斷病人病人基本數(shù)據(jù)住院?jiǎn)尾v資料醫(yī)師癥狀與病歷資料治療病人癥狀處方簽處方簽數(shù)據(jù)流程圖中,數(shù)據(jù)儲(chǔ)存符號(hào)正確使用舉例:4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)課程數(shù)據(jù)學(xué)生資料班級(jí)名單付款入賬每日付款資料錯(cuò)誤使用數(shù)據(jù)儲(chǔ)存符號(hào)的例子:兩個(gè)數(shù)據(jù)儲(chǔ)存不能由沒有過(guò)程做轉(zhuǎn)介的一個(gè)數(shù)據(jù)流連接:客戶存款預(yù)訂航班乘客資料航班要求每一個(gè)數(shù)據(jù)儲(chǔ)存應(yīng)當(dāng)有一個(gè)流出和流入的數(shù)據(jù)流:只有流入沒有流出只有流出沒有流入4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)

數(shù)據(jù)儲(chǔ)存必須至少有一個(gè)流入和一個(gè)流出的原則有一個(gè)例外。在某些情況下,一個(gè)數(shù)據(jù)儲(chǔ)存沒有流入的數(shù)據(jù)流,因?yàn)樗膬?nèi)容是固定的參考數(shù)據(jù),而這個(gè)數(shù)據(jù)不是由此系統(tǒng)負(fù)責(zé)更新。例如,考慮一個(gè)稱為TAXTABLE(稅率表)的數(shù)據(jù)儲(chǔ)存,其內(nèi)容是公司由國(guó)稅局下載的扣繳稅率表。4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)

實(shí)體符號(hào)

實(shí)體(或簡(jiǎn)稱實(shí)體)的符號(hào)是一個(gè)矩形,外部實(shí)體的名稱置于矩形符號(hào)之中。

DFD顯示出一個(gè)信息系統(tǒng)的邊界,以及信息系統(tǒng)如何與外部世界互動(dòng)。例如,提出訂單的顧客,提供醫(yī)療數(shù)據(jù)的病人、收到財(cái)產(chǎn)稅單的屋主、提供存貨項(xiàng)目列表的倉(cāng)庫(kù),以及從公司的采購(gòu)系統(tǒng)接受數(shù)據(jù)的應(yīng)付帳款系統(tǒng)等都是一個(gè)外部實(shí)體的例子。DFD中的各個(gè)實(shí)體又稱端點(diǎn)(terminators),因?yàn)樗鼈兪菙?shù)據(jù)的來(lái)源或是最終的去處。提供數(shù)據(jù)給系統(tǒng)的外部實(shí)體稱為來(lái)源(source),從系統(tǒng)接收數(shù)據(jù)的實(shí)體則稱為去處(sink)。

實(shí)體的名稱是一個(gè)單數(shù)形式,它可能是一個(gè)部門、外部組織、其他信息系統(tǒng),或個(gè)人。外部實(shí)體可能是一個(gè)來(lái)源、或是一個(gè)去處,抑或兼具兩者的角色。

一個(gè)實(shí)體必然以數(shù)據(jù)流連接于某個(gè)過(guò)程。4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)數(shù)據(jù)流程圖中,正確使用實(shí)體的例子:要求付款付款準(zhǔn)備存款銀行存款確認(rèn)訂單訂單客戶銀行客戶發(fā)票數(shù)據(jù)的來(lái)源及去處數(shù)據(jù)的去處資料的來(lái)源員工制作工資支票確認(rèn)工時(shí)卡工資支票工時(shí)卡數(shù)據(jù)的去處資料的來(lái)源4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)數(shù)據(jù)流程圖中,錯(cuò)誤使用實(shí)體符號(hào)的例子。實(shí)體必須由數(shù)據(jù)流連接于過(guò)程,并且不直接連接于數(shù)據(jù)儲(chǔ)存或另一個(gè)實(shí)體:客戶應(yīng)收帳款現(xiàn)金或支票銀行每日付款銀行存款客戶工資支票員工4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)數(shù)據(jù)流連接是否可以使用?過(guò)程與另一個(gè)過(guò)程過(guò)程與實(shí)體過(guò)程與數(shù)據(jù)儲(chǔ)存實(shí)體與另一個(gè)實(shí)體實(shí)體與數(shù)據(jù)儲(chǔ)存數(shù)據(jù)儲(chǔ)存與另一個(gè)數(shù)據(jù)儲(chǔ)存DFD中連接過(guò)程、數(shù)據(jù)儲(chǔ)存,和外部實(shí)體的規(guī)則︰4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)數(shù)據(jù)流連接是否可以使用?過(guò)程與另一個(gè)過(guò)程可以過(guò)程與實(shí)體可以過(guò)程與數(shù)據(jù)儲(chǔ)存可以實(shí)體與另一個(gè)實(shí)體不可以實(shí)體與數(shù)據(jù)儲(chǔ)存不可以數(shù)據(jù)儲(chǔ)存與另一個(gè)數(shù)據(jù)儲(chǔ)存不可以DFD中連接過(guò)程、數(shù)據(jù)儲(chǔ)存,和外部實(shí)體的規(guī)則︰4.2數(shù)據(jù)流圖——數(shù)據(jù)流程圖的符號(hào)

執(zhí)行以下三個(gè)步驟,你就會(huì)了解如何產(chǎn)生一套DFD:

第一步:繪制關(guān)聯(lián)圖(contextdiagram)

第二步:繪制DFD的圖0(diagram0

或level0diagram)(即關(guān)聯(lián)圖的分解圖)

第三步:繪制較低階層的圖。4.3創(chuàng)建數(shù)據(jù)流圖

繪圖DFD的準(zhǔn)則:

每一張關(guān)聯(lián)圖必須以一頁(yè)的篇幅完成。

在關(guān)聯(lián)圖,應(yīng)該以信息系統(tǒng)的名稱作為過(guò)程名稱。對(duì)于較低階層的DFD中的過(guò)程,則采用動(dòng)詞加上一個(gè)描述性質(zhì)的名詞,像是“建立成績(jī)簿”、“給定最后成績(jī)”或“產(chǎn)生成績(jī)報(bào)表”。

在每一組符號(hào)內(nèi)使用唯一的名稱。4.3創(chuàng)建數(shù)據(jù)流圖

線條不能交叉。實(shí)現(xiàn)這個(gè)目標(biāo)的一種方法是限制DFD中的符號(hào)數(shù)目。在具有多個(gè)過(guò)程的較低階圖形中,你不該有九個(gè)以上的過(guò)程符號(hào)。

含有九個(gè)以上的符號(hào)就表示你的圖形過(guò)于復(fù)雜,而應(yīng)當(dāng)重新考慮你的分析。避免線條交叉的另一個(gè)方法是復(fù)制一個(gè)外部實(shí)體或數(shù)據(jù)儲(chǔ)存。要在復(fù)制后的符號(hào)名稱旁邊和其內(nèi)附加特別的記號(hào),像是星號(hào)之類,表明它們?cè)趫D形中是重復(fù)的。

對(duì)每一個(gè)過(guò)程采用一個(gè)唯一的參考編號(hào)及名稱。

盡可能取得使用者的意見與回饋。主要目的是確保你的模型是正確且易于了解的。4.3創(chuàng)建數(shù)據(jù)流圖

步驟1:繪制關(guān)聯(lián)圖建立一個(gè)DFD的第一步是畫出一個(gè)關(guān)聯(lián)圖。 關(guān)聯(lián)圖(contextdiagram)是信息系統(tǒng)最上層的視圖,可以表示系統(tǒng)的邊界及范圍。在關(guān)聯(lián)圖中,不會(huì)顯示任何數(shù)據(jù)儲(chǔ)存,因?yàn)閿?shù)據(jù)儲(chǔ)存位在系統(tǒng)的內(nèi)部,要到制作更詳細(xì)的圖形時(shí),才會(huì)顯現(xiàn)出來(lái)。在關(guān)聯(lián)圖中,要放入哪些外部實(shí)體和數(shù)據(jù)流呢?你可以由復(fù)查系統(tǒng)需求著手,指出所有的外部數(shù)據(jù)源和目標(biāo)。在這個(gè)階段,你必須記錄所有外部實(shí)體的名稱、數(shù)據(jù)流的名稱和內(nèi)容,以及數(shù)據(jù)流的方向。4.3創(chuàng)建數(shù)據(jù)流圖

關(guān)聯(lián)圖實(shí)例︰評(píng)分系統(tǒng)的DFD關(guān)聯(lián)圖4.3創(chuàng)建數(shù)據(jù)流圖一個(gè)訂單系統(tǒng)的DFD關(guān)聯(lián)圖4.3創(chuàng)建數(shù)據(jù)流圖訂單系統(tǒng)的關(guān)聯(lián)圖比評(píng)分系統(tǒng)更加復(fù)雜,因?yàn)樗嗔藘蓚€(gè)實(shí)體和三個(gè)數(shù)據(jù)流。系統(tǒng)的復(fù)雜度取決于: (1)其組成組件的個(gè)數(shù)

(2)其層次的數(shù)目

(3)其過(guò)程、實(shí)體、數(shù)據(jù)儲(chǔ)存,及數(shù)據(jù)流之間的互動(dòng)程度。4.3創(chuàng)建數(shù)據(jù)流圖制造系統(tǒng)的DFD關(guān)聯(lián)圖4.3創(chuàng)建數(shù)據(jù)流圖步驟2:繪制DFD的圖0

關(guān)聯(lián)圖提供一個(gè)信息系統(tǒng)最高階層的整體概觀,其中只有單獨(dú)一個(gè)像黑箱一般的過(guò)程符號(hào)。

圖0(Diagram0)是放大關(guān)聯(lián)圖并列出一些主要過(guò)程、數(shù)據(jù)流、和數(shù)據(jù)儲(chǔ)存。圖0也重復(fù)關(guān)聯(lián)圖中出現(xiàn)的那些外部實(shí)體和數(shù)據(jù)流。當(dāng)你擴(kuò)大關(guān)聯(lián)圖而成為DFD的圖0時(shí),你必須保留所有流入和流出這個(gè)過(guò)程的連接。

4.3創(chuàng)建數(shù)據(jù)流圖評(píng)分系統(tǒng)的關(guān)聯(lián)圖與圖0圖0評(píng)分系統(tǒng)的關(guān)聯(lián)圖4.3創(chuàng)建數(shù)據(jù)流圖

過(guò)程的參考編號(hào)并不表示需要依序完成這些過(guò)程。每一個(gè)過(guò)程都被視為隨時(shí)可用、啟動(dòng)著,而且等待著所要處理的數(shù)據(jù)。

如果過(guò)程必須以特定的順序執(zhí)行,你就必須在過(guò)程說(shuō)明中記錄這個(gè)信息,而不是在DFD中。上圖中,“評(píng)定最后成績(jī)”過(guò)程產(chǎn)出的“最后成績(jī)”這個(gè)數(shù)據(jù)流是一個(gè)分叉數(shù)據(jù)流。分叉數(shù)據(jù)流(divergingdataflow)是將同樣的數(shù)據(jù)傳送到兩個(gè)或更多不同地點(diǎn)的一種數(shù)據(jù)流。4.3創(chuàng)建數(shù)據(jù)流圖

如果同一個(gè)數(shù)據(jù)從不同的方向流入,你可以用一個(gè)雙箭頭的數(shù)據(jù)流符號(hào)來(lái)表示。但是為了明確指出一個(gè)流入及一個(gè)流出的特定數(shù)據(jù),你還是應(yīng)該采用個(gè)別的單箭頭,例如,上圖中的兩個(gè)分開的數(shù)據(jù)流(“上交的作業(yè)”和“已評(píng)分的作業(yè)”)流入與流出“評(píng)定學(xué)生作業(yè)成績(jī)”這個(gè)過(guò)程。因?yàn)閳D0是關(guān)聯(lián)圖中過(guò)程0之細(xì)部的擴(kuò)充版本,所以圖0也被稱為過(guò)程0的展開版(exploded)。你也可以稱圖0為過(guò)程0的分割(partitioned)或分解(decomposed)的版本。當(dāng)你展開一個(gè)DFD時(shí),比較高階層的圖被稱為父圖(parentdiagram),而低階層的圖則稱為子圖(childdiagram)。4.3創(chuàng)建數(shù)據(jù)流圖

當(dāng)你為一個(gè)系統(tǒng)建立起一組DFD時(shí),你將其處理邏輯分解成許多小單元,這些小單元稱為功能原語(yǔ),程序員就憑此來(lái)撰寫程序代碼。所謂功能原語(yǔ)(functionalprimitive)是一個(gè)只含有單一功能而無(wú)法再展開的過(guò)程,例如:上圖右圖所示四個(gè)過(guò)程中的每一個(gè)都是功能原語(yǔ)。你在數(shù)據(jù)字典中的過(guò)程說(shuō)明記錄功能原語(yǔ)的邏輯。程序員將會(huì)將每一個(gè)功能原語(yǔ)轉(zhuǎn)換成程序代碼與模塊,以便執(zhí)行必要的處理步驟。是否要將一個(gè)過(guò)程進(jìn)一步展開或視其為一個(gè)功能原語(yǔ)完全取決于經(jīng)驗(yàn)、判斷,以及與必須把邏輯設(shè)計(jì)翻譯成程序代碼的程序員之間的互動(dòng)。4.3創(chuàng)建數(shù)據(jù)流圖訂單系統(tǒng)的關(guān)聯(lián)圖與圖04.3創(chuàng)建數(shù)據(jù)流圖

步驟3:繪制較低階的圖為了產(chǎn)生一些較低階層的圖形,你必須使用分層和平衡的技巧。分層(leveling)是畫出一系列愈來(lái)愈詳細(xì)的圖形過(guò)程,直到所有的基本功能原語(yǔ)都出現(xiàn)為止,平衡(balancing)則是藉由將輸入和輸出數(shù)據(jù)流正確對(duì)好,保持這整系列DFD圖形之間的一致性。

分層也被稱為展開(exploding)、分割(partitioning)或分解(decomposing)。

平衡確保父過(guò)程的輸入和輸出數(shù)據(jù)流會(huì)保存在子圖DFD中。4.3創(chuàng)建數(shù)據(jù)流圖訂單系統(tǒng)圖0

中的“處理訂單”過(guò)程。圖4-17圖1DFD展現(xiàn)出訂單系統(tǒng)中“處理訂單”過(guò)程的細(xì)節(jié)4.3創(chuàng)建數(shù)據(jù)流圖這個(gè)圖沒有顯示出關(guān)聯(lián)圖中連接到流入或流出“處理訂單”數(shù)據(jù)流的那些符號(hào)。系統(tǒng)分析員常用這個(gè)技巧來(lái)簡(jiǎn)化DFD并減少不必要的雜亂。4.3創(chuàng)建數(shù)據(jù)流圖左邊,展示出訂單系統(tǒng)的圖0,而圖3DFD則展示在右半部,這兩個(gè)DFD都是平衡的。4.3創(chuàng)建數(shù)據(jù)流圖有錯(cuò)誤的圖0DFD4.3創(chuàng)建數(shù)據(jù)流圖

一組DFD產(chǎn)生系統(tǒng)的一個(gè)邏輯模型,但是這些DFD的內(nèi)部細(xì)節(jié),則個(gè)別記錄于數(shù)據(jù)字典中,這就是結(jié)構(gòu)化分析的第二個(gè)組成要素。

數(shù)據(jù)字典

(DD,datadictionary,或datarepository)是關(guān)于系統(tǒng)數(shù)據(jù)的中央存儲(chǔ)庫(kù)。數(shù)據(jù)字典用來(lái)搜集、記錄,并組織有關(guān)系統(tǒng)的具體事實(shí),包括數(shù)據(jù)流、數(shù)據(jù)儲(chǔ)存、實(shí)體,和過(guò)程的內(nèi)容。

數(shù)據(jù)字典還定義并說(shuō)明全部數(shù)據(jù)元素以及各種有意義的數(shù)據(jù)元素組合。一個(gè)數(shù)據(jù)元素(dataelement),也稱為數(shù)據(jù)項(xiàng)(dataitem)或字段(field),是信息系統(tǒng)中有意義數(shù)據(jù)的最小單位,例如︰學(xué)生成績(jī)、薪資、社會(huì)保障號(hào)碼、帳戶余額等等。

數(shù)據(jù)元素結(jié)合成為紀(jì)錄(record)或數(shù)據(jù)結(jié)構(gòu)(datastructures),一個(gè)紀(jì)錄是相關(guān)數(shù)據(jù)元素的有意義組合,可能包含在數(shù)據(jù)流中,或保存在數(shù)據(jù)儲(chǔ)存記錄4.4數(shù)據(jù)字典數(shù)據(jù)字典的符號(hào)(摘自張豐雄編著“結(jié)構(gòu)化系統(tǒng)分析與設(shè)計(jì)”)

數(shù)據(jù)字典所使用的符號(hào)有下列六種:

符號(hào)

代表意義

= 等于(Equal) + 以及(And) () 取舍(optional)(即可有可無(wú)) [] 選其中之一(or) {} 重復(fù)(Iteration) ** 備注(Comment)4.4數(shù)據(jù)字典例如:某一訂貨單的數(shù)據(jù)結(jié)構(gòu),含有客戶資料、貨品資料、訂購(gòu)日期及交貨日期等四個(gè)數(shù)據(jù)元素,其數(shù)據(jù)結(jié)構(gòu)可表示為:訂貨單=客戶資料+貨品資料+訂購(gòu)日期+交貨日期

貨品資料=貨品名稱+(貨品規(guī)格)+貨品代號(hào)+訂購(gòu)量

(上述貨品資料包含貨品名稱、貨品規(guī)格、貨品代號(hào)及訂購(gòu)量等四元素,其中貨品規(guī)格為可有可無(wú)的元素。)客戶資料=[客戶代號(hào)|客戶姓名]+地址+…… (上述客戶資料所包含的客戶代號(hào)與客戶姓名,只需任選其中一個(gè)。)客戶資料=[客戶代號(hào)|客戶姓名]+地址*包括郵遞 區(qū)號(hào)*

+1{電話}3 (上述客戶資料所包含的“地址”元素補(bǔ)充說(shuō)明它包括郵政編碼。)4.4數(shù)據(jù)字典

4.4數(shù)據(jù)字典

記錄數(shù)據(jù)元素人事資料=身份證號(hào)

+姓名+性別+地址+…系統(tǒng)名稱:人事薪資系統(tǒng)日期:2009年10月20日數(shù)據(jù)元素名稱:身份證號(hào)

別名:描述:

第一碼為數(shù)字代表出生縣市。第二碼為性別代碼,1代表“男生”,2代表“女生”。第三至第十一碼為出生日期。最后一碼為檢查碼,由前面九碼用一定的公式算出。說(shuō)明:(無(wú))4.4數(shù)據(jù)字典

記錄數(shù)據(jù)流系統(tǒng)名稱:訂單系統(tǒng)日期:2009年10月20日數(shù)據(jù)流名稱:訂單

別名:訂貨單或購(gòu)買憑單組成:訂單=客戶資料+貨品資料+訂購(gòu)日期+交貨日期貨品資料=貨品名稱+(貨品規(guī)格)+貨品代號(hào)+訂購(gòu)量客戶資料=[客戶代號(hào)|客戶姓名]+地址+1{電話}3訂購(gòu)日期=年*公元*+月+日交貨日期=年*公元*+月+日說(shuō)明:由客戶填妥,送交營(yíng)業(yè)員收存。4.4數(shù)據(jù)字典

記錄數(shù)據(jù)儲(chǔ)存系統(tǒng)名稱:評(píng)分系統(tǒng)日期:2009年10月20日數(shù)據(jù)儲(chǔ)存名稱:成績(jī)單別名:無(wú)組成:成績(jī)單=科目名稱+班別+學(xué)號(hào)+姓名+作業(yè)成績(jī)+

平時(shí)考成績(jī)+期中考成績(jī)+期末考成績(jī)說(shuō)明:(無(wú))4.4數(shù)據(jù)字典

記錄過(guò)程系統(tǒng)名稱:訂單系統(tǒng)日期:2009年10月20日過(guò)程名稱:確認(rèn)訂單

過(guò)程編號(hào):1.1輸入數(shù)據(jù)流:訂單,產(chǎn)品細(xì)節(jié),信用狀況。輸出數(shù)據(jù)流:接受的訂單,拒絕的訂單。邏輯描述:Foreachorder,(以結(jié)構(gòu)化

if信用狀況=“Y”andif產(chǎn)品細(xì)節(jié)(庫(kù)存量)=ok英文方式output接受的訂單描述)elseoutput拒絕的訂單說(shuō)明:(無(wú))系統(tǒng)名稱:訂單系統(tǒng)日期:2009年10月20日過(guò)程名稱:計(jì)算貨款

過(guò)程編號(hào):5.1輸入數(shù)據(jù)流:出貨明細(xì),產(chǎn)品細(xì)節(jié)。輸出數(shù)據(jù)流:應(yīng)收貨款。邏輯描述(以判定樹方式描述):說(shuō)明:(無(wú))4.4數(shù)據(jù)字典4.4數(shù)據(jù)字典

記錄實(shí)體系統(tǒng)名稱:訂單系統(tǒng)日期:2009年10月20日實(shí)體名稱:倉(cāng)庫(kù)

別名:庫(kù)存區(qū)輸入數(shù)據(jù)流:驗(yàn)貨單。輸出數(shù)據(jù)流:已完成的訂單。說(shuō)明:目前可供應(yīng)產(chǎn)品的庫(kù)房

一個(gè)過(guò)程描述(processdescription)是記錄功能原語(yǔ)的細(xì)節(jié),并呈現(xiàn)一套特定的處理步驟及業(yè)務(wù)邏輯。典型的過(guò)程描述工具包括結(jié)構(gòu)化英語(yǔ)、決策表,及決策樹。當(dāng)你分析一個(gè)功能原語(yǔ)時(shí),將一個(gè)過(guò)程分解成幾個(gè)較小的單元進(jìn)行處理,這樣的方法稱為模塊化設(shè)計(jì)。模塊化設(shè)計(jì)

模塊化設(shè)計(jì)(modulardesign)是基于三種邏輯結(jié)構(gòu)(logicstructures)的組合。邏輯結(jié)構(gòu)有時(shí)也稱為控制結(jié)構(gòu)(controlstructures),它們可以作為過(guò)程的構(gòu)建模塊。4.5過(guò)程描述工具

每個(gè)邏輯結(jié)構(gòu)必須有一個(gè)單一的入口及出口。這三種結(jié)構(gòu)分別為順序、選擇,及迭代。代表符號(hào)︰一個(gè)矩形代表一個(gè)步驟或處理工作,一個(gè)菱形代表一個(gè)條件或決定,而整個(gè)邏輯則依循著線條上的箭頭方向進(jìn)行。

1.順序(sequence)︰即依序逐一完成各個(gè)步驟。4.5過(guò)程描述工具輸入產(chǎn)品代碼查驗(yàn)產(chǎn)品價(jià)格查驗(yàn)產(chǎn)品存貨量2.選擇(s

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論