第1章數(shù)據(jù)流圖設(shè)計_第1頁
第1章數(shù)據(jù)流圖設(shè)計_第2頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章 數(shù)據(jù)流圖設(shè)計大綱要求:理解和掌握數(shù)據(jù)流圖的基本概念,包括邏輯數(shù)據(jù)流圖和物理數(shù)據(jù)流圖的區(qū)別和聯(lián)系。理解系統(tǒng)需求說明,根據(jù)需求說明繪制出數(shù)據(jù)流圖,設(shè)計系統(tǒng)數(shù)據(jù)流的輸入/輸出。理解各子系統(tǒng)和上下層數(shù)據(jù)流圖的關(guān)系,掌握數(shù)據(jù)流圖的原則和規(guī)律。了解用于系統(tǒng)設(shè)計的轉(zhuǎn)換圖、狀態(tài)遷移圖等。1.1 數(shù)據(jù)流圖設(shè)計的基礎(chǔ)知識1.1.1 考點輔導(dǎo)根據(jù)考綱要求以及近幾年軟件設(shè)計師水平考試試題分布情況來看,數(shù)據(jù)流圖的設(shè)計已經(jīng)成為必考的知識點。數(shù)據(jù)流圖本身的特點使得考查的題型比較集中,常出的考題類型有:找出遺漏的數(shù)據(jù)流,指出錯誤的數(shù)據(jù)流,找出多余的數(shù)據(jù)流,找出數(shù)據(jù)流圖中的多余文件。近幾年把數(shù)據(jù)字典、數(shù)據(jù)庫、面向?qū)ο蟪?/p>

2、序設(shè)計等知識也結(jié)合到了數(shù)據(jù)流圖中考查,但難度都不大。所以,數(shù)據(jù)流圖是拿分的題型,考生一定要好好把握,多做練習(xí),熟悉解題方法,掌握解題技巧。解答數(shù)據(jù)流圖的題目關(guān)鍵在于細心??荚嚂r一定要仔細閱讀題目說明和給出的流程圖。另外,解題時要懂得將說明和流程圖進行對照,將父圖和子圖進行對照,切忌按照常識來猜測。同時應(yīng)按照一定順序考慮問題,以防遺漏,比如可以按說明的順序,或是按數(shù)據(jù)流向的順序逐個排除和分析。下面就一些常見的題型作一下解題分析。1.1.1.1 數(shù)據(jù)流圖的基本概念數(shù)據(jù)流圖的考查中需要考生掌握數(shù)據(jù)流圖的基本概念,另外還會涉及數(shù)據(jù)字典、數(shù)據(jù)庫、面向?qū)ο蠓椒ā⑥D(zhuǎn)換圖、狀態(tài)遷移圖等概念,考生對這些概念都要

3、非常清晰。對于基本概念的考查一般結(jié)合在題目中,有時也會針對這些基本概念出題,比如有的題目要求說明邏輯數(shù)據(jù)流圖和物理數(shù)據(jù)流圖之間的主要區(qū)別。1基本概念數(shù)據(jù)流圖又稱數(shù)據(jù)流程圖(Data Flow Diagram,DFD),是一種便于用戶理解、分析系統(tǒng)數(shù)據(jù)流程的圖形工具。它擺脫了系統(tǒng)的物理內(nèi)容,精確地在邏輯上描述系統(tǒng)的功能、輸入、輸出和數(shù)據(jù)存儲等,是系統(tǒng)邏輯模型的重要組成部分。2DFD的基本成分DFD的基本成分及其圖形表示方法如圖1-1所示。圖1-1 DFD的基本成分及圖形表示方法(1) 外部實體(External Agent)。外部實體是指存在于軟件系統(tǒng)之外的人員或組織,它指出系統(tǒng)所需數(shù)據(jù)的發(fā)源地

4、和系統(tǒng)所產(chǎn)生的數(shù)據(jù)的歸宿地。(2) 加工(Process)。加工描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)流之間的變換,也就是輸入數(shù)據(jù)流經(jīng)過什么處理后變成了輸出數(shù)據(jù)流。每個加工都有一個名字和編號。編號能反映出該加工位于分層DFD 中的哪個層次和哪張圖中,也能夠看出它是哪個加工分解出來的子加工。(3) 數(shù)據(jù)存儲(Data Store)。數(shù)據(jù)存儲用來表示存儲的數(shù)據(jù),每個數(shù)據(jù)存儲都有一個名字。(4) 數(shù)據(jù)流(Data Flow)。數(shù)據(jù)流由一組固定成分的數(shù)據(jù)組成,表示數(shù)據(jù)的流向。值得注意的是,DFD 中描述的是數(shù)據(jù)流,而不是控制流。除了流向數(shù)據(jù)存儲或從數(shù)據(jù)存儲流出的數(shù)據(jù)流不必命名外,每個數(shù)據(jù)流都必須有一個合適的名字,

5、以反映該數(shù)據(jù)流的含義。3分層數(shù)據(jù)流圖的畫法(1) 畫系統(tǒng)的輸入和輸出。把整個軟件系統(tǒng)看作一個大的加工,然后根據(jù)系統(tǒng)從哪些外部實體接收數(shù)據(jù)流,以及系統(tǒng)發(fā)送數(shù)據(jù)流到哪些外部實體,就可以畫出系統(tǒng)的輸入和輸出圖,這張圖稱為頂層圖。(2) 畫系統(tǒng)的內(nèi)部。將頂層圖的加工分解成若干個加工,并用數(shù)據(jù)流將這些加工連接起來,使得頂層圖中的輸入數(shù)據(jù)經(jīng)過若干個加工處理后變換成頂層圖的輸出數(shù)據(jù)流。這張圖稱為0層圖。從一個加工畫出一張數(shù)據(jù)流圖的過程實際上就是對這個加工的分解??梢杂孟率龅姆椒▉泶_定加工:在數(shù)據(jù)流的組成或值發(fā)生變化的地方應(yīng)畫一個加工,這個加工的功能就是實現(xiàn)這一變化;也可根據(jù)系統(tǒng)的功能確定加工。確定數(shù)據(jù)流的方

6、法:當(dāng)用戶把若干個數(shù)據(jù)看作一個單位來處理(這些數(shù)據(jù)一起到達,一起加工)時,可把這些數(shù)據(jù)看成一個數(shù)據(jù)流。對于一些以后某個時間要使用的數(shù)據(jù),可以組織成一個數(shù)據(jù)存儲來表示。(3) 畫加工的內(nèi)部。把每個加工看作一個小系統(tǒng),該加工的輸入/輸出數(shù)據(jù)流看成小系統(tǒng)的輸入/輸出數(shù)據(jù)流。于是可以用與畫0層圖同樣的方法畫出每個加工的DFD 子圖。對第(3)步分解出來的DFD子圖中的每個加工重復(fù)第(3)步的分解,直至圖中尚未分解的加工都足夠簡單(也就是說這種加工不必再分解)為止。至此,就得到了一套分層數(shù)據(jù)流圖。4對圖和加工進行編號對于一個軟件系統(tǒng),其數(shù)據(jù)流圖可能有許多層,每一層又有許多張圖。為了區(qū)分不同的加工和不同的

7、DFD子圖,應(yīng)該對每張圖和每個加工進行編號,以利于管理。1) 父圖與子圖假設(shè)分層數(shù)據(jù)流圖里的某張圖(記為圖A)中的某個加工可用另一張圖(記為圖B)來分解,則稱圖A是圖B的父圖,圖B是圖A的子圖。在一張圖中,有些加工需要進一步分解,有些加工則不必分解。因此,如果父圖中有n個加工,那么它可以有0n張子圖(這些子圖位于同一層),但每張子圖都只對應(yīng)于一張父圖。2) 編號頂層圖只有一張,圖中的加工也只有一個,所以不必編號。0層圖只有一張,圖中的加工號可以分別是0.1, 0.2, 或1, 2, 子圖號就是父圖中被分解的加工號。圖的加工號由圖號、圓點和序號組成。5應(yīng)注意的問題(1) 應(yīng)適當(dāng)?shù)貫閿?shù)據(jù)流、加工、

8、數(shù)據(jù)存儲、外部實體命名,且名字應(yīng)反映該成分的實際含義,避免空洞的名字。(2) 畫數(shù)據(jù)流而不要畫控制流。(3) 每條數(shù)據(jù)流的輸入或者輸出都是加工。(4) 一個加工的輸出數(shù)據(jù)流不應(yīng)與輸入數(shù)據(jù)流同名,即使它們的組成成分相同。(5) 允許一個加工有多條數(shù)據(jù)流流向另一個加工,也允許一個加工有兩個相同的輸出數(shù)據(jù)流流向兩個不同的加工。(6) 保持父圖與子圖平衡。也就是說,父圖中某加工的輸入/輸出數(shù)據(jù)流必須與它的子圖的輸入/輸出數(shù)據(jù)流在數(shù)量和名字上相同。值得注意的是,如果父圖的一個輸入(或輸出)數(shù)據(jù)流對應(yīng)于子圖中幾個輸入(或輸出)數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項全體正好是父圖中的這一個數(shù)據(jù)流,那么它們?nèi)?/p>

9、然算是平衡的。(7) 在自頂向下的分解過程中,若一個數(shù)據(jù)存儲首次出現(xiàn)時只與一個加工有關(guān),那么這個數(shù)據(jù)存儲應(yīng)作為這個加工的內(nèi)部文件而不必畫出。(8) 保持數(shù)據(jù)守恒。也就是說,一個加工所有輸出數(shù)據(jù)流中的數(shù)據(jù)必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者是通過該加工產(chǎn)生的數(shù)據(jù)。(9) 每個加工必須既有輸入數(shù)據(jù)流,又有輸出數(shù)據(jù)流。(10) 在整套數(shù)據(jù)流圖中,每個數(shù)據(jù)存儲必須既有讀的數(shù)據(jù)流,又有寫的數(shù)據(jù)流。但在某一張子圖中可能是只有讀沒有寫,或者是只有寫沒有讀。1.1.1.2 補充和完善數(shù)據(jù)流補充和完善數(shù)據(jù)流是數(shù)據(jù)流圖最常出的題型,也是重點和難點。解答此類問題有一定的技巧,以一些常規(guī)的入口作為突破口,往往能

10、事半功倍。遇到這類問題,首先要想到分層數(shù)據(jù)流圖的數(shù)據(jù)流平衡原則,即父圖和子圖的輸入/輸出數(shù)據(jù)流一致,這是找出遺漏數(shù)據(jù)流非常重要的技巧。其次,每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流,反映此加工的數(shù)據(jù)來源和結(jié)果,加工的輸出數(shù)據(jù)流應(yīng)該都有其對應(yīng)的輸入數(shù)據(jù)流。其三,要找出遺漏的數(shù)據(jù)流,最根本的依據(jù)還是說明。因為除了圖之外,題目中最重要的部分就是說明。說明部分詳細介紹了系統(tǒng)的功能,是找出所缺數(shù)據(jù)流的基本入口。有時數(shù)據(jù)流平衡原則不作為解題的直接方法,而作為排除的手段,然后根據(jù)說明或其他方法找到圖中遺漏的數(shù)據(jù)流。1.1.1.3 找出錯誤或多余的數(shù)據(jù)流要找出錯誤或多余的數(shù)據(jù)流,解題方法可以參考完善數(shù)據(jù)流

11、的方法。一般可以先進行上下層圖的對照和分析,然后檢查是否每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流,是否加工的輸出數(shù)據(jù)流都有其對應(yīng)的輸入數(shù)據(jù)流。而最根本的判斷標(biāo)準(zhǔn)仍然是題目的說明部分。所以考生一定要耐心、認真地閱讀題目中對系統(tǒng)功能的闡述和說明,然后解題時再次閱讀說明,從中找到依據(jù)和突破口。1.1.1.4 找出多余的文件在某層數(shù)據(jù)流圖中,只畫流程圖各加工之間的公共數(shù)據(jù)文件時,如果一個文件僅作用于一個加工,即和該文件有關(guān)的輸入/輸出數(shù)據(jù)流只涉及一個加工,那么該文件可以作為局部文件出現(xiàn)在該加工的子圖中,在父圖中則可以省略。這個規(guī)則是為了使整個流程圖的層次結(jié)構(gòu)更為清晰、科學(xué)。當(dāng)然這些文件如果畫出,并

12、不會造成理解的錯誤。另外,如果某層圖只有一層細化圖,即該層圖沒有子圖,則不存在局部文件和外部文件之分,其中涉及的任何文件都不作為多余的文件。1.1.1.5 添加數(shù)據(jù)字典條目此類題一般難度比較小,可以根據(jù)說明部分找出答案。同時還可以結(jié)合給出的數(shù)據(jù)流圖,查看有關(guān)記錄需要輸入給哪些加工,這些加工輸出哪些字段。1.1.2 典型例題分析例1 閱讀下列說明和圖,回答問題1問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。(2013年5月試題一)【說明】某慈善機構(gòu)欲開發(fā)一個募捐系統(tǒng),以跟蹤、記錄為事業(yè)或項目向目標(biāo)群體進行募捐而組織的集體性活動。該系統(tǒng)的主要功能如下所述。(1) 管理志愿者。根據(jù)募捐任務(wù)給志愿者發(fā)送加入邀請

13、、邀請跟進、工作任務(wù);管理志愿者提供的邀請響應(yīng)、志愿者信息、工作時長、工作結(jié)果等。(2) 確定募捐需求和收集所募捐贈(資金及物品)。根據(jù)需求提出募捐任務(wù)、活動請求和捐贈請求,獲取所募集的資金和物品。(3) 組織募捐活動。根據(jù)活動請求,確定活動時間范圍。根據(jù)活動時間,搜索場館,向場館發(fā)送場館可用性請求,獲得場館可用性。根據(jù)活動時間和地點推廣募捐活動,根據(jù)相應(yīng)的活動信息舉辦活動,從募捐機構(gòu)獲取資金并向其發(fā)放贈品。獲取和處理捐贈,根據(jù)捐贈請求,提供所募集的捐贈;處理與捐贈人之間的交互,即錄入捐贈人信息,處理后存入捐贈人信息表;從捐贈人信息表中查詢捐贈人信息,向捐贈人發(fā)送募捐請求,并將已聯(lián)系的捐贈人存

14、入已聯(lián)系的捐贈人表。根據(jù)捐贈請求進行募集,募得捐贈后,將捐贈記錄存入捐贈表;對捐贈記錄進行處理后,存入已處理捐贈表,向捐贈人發(fā)送致謝函,根據(jù)已聯(lián)系的捐贈人和捐贈記錄進行跟蹤,將捐贈跟進情況發(fā)送給捐贈人。先采用結(jié)構(gòu)化方法對募捐系統(tǒng)進行分析與設(shè)計,獲得如圖1-2圖1-4所示的分層數(shù)據(jù)流圖。圖1-2 0層數(shù)據(jù)流圖圖1-3 1層數(shù)據(jù)流圖圖1-4 2層數(shù)據(jù)流圖【問題1】(4分)使用說明中的詞語,給出圖1-2中的實體E1E4的名稱?!締栴}2】(7分)在建模DFD時,需要對有些復(fù)雜加工(處理)進行進一步精化,圖1-3為圖1-2中處理3的進一步細化的1層數(shù)據(jù)流圖,圖1-4為圖1-3中3.1進一步細化的2層數(shù)據(jù)

15、流圖。補全1-2中加工P1P3的名稱和圖1-3與圖1-4中缺少的數(shù)據(jù)流?!締栴}3】(4分)使用說明中的詞語,給出圖1-4中的數(shù)據(jù)存儲D1D4的名稱。解析:該題以募捐系統(tǒng)為載體來考核考生對數(shù)據(jù)流圖知識點的掌握程度。從題目的問答形式上來看,和往年相似,要求補充外部實體、補充缺失數(shù)據(jù)流、找出外部存儲。解答這類問題,有以兩個原則。(1) 第一個原則是緊扣試題系統(tǒng)說明部分,數(shù)據(jù)流圖與系統(tǒng)說明有著嚴格的對應(yīng)關(guān)系,系統(tǒng)說明部分的每一句話都能對應(yīng)到圖中,解題時可以一句一句地對照圖來分析。(2) 第二個原則即數(shù)據(jù)的平衡原則,這一點在解題過程中也是至關(guān)重要的。數(shù)據(jù)平衡原則有兩方面的含義,一方面是分層數(shù)據(jù)流圖父子圖

16、之間的數(shù)據(jù)流平衡原則,另一方面是每張數(shù)據(jù)流圖中輸入與輸出數(shù)據(jù)流的平衡原則?!締栴}1】根據(jù)募捐系統(tǒng)“根據(jù)募捐任務(wù)給志愿者發(fā)送加入邀請、邀請跟進、工作任務(wù)”和“管理志愿者提供的邀請響應(yīng)、志愿者信息、工作時長、工作結(jié)果等”可知,E1為志愿者。根據(jù)募捐系統(tǒng)錄入捐贈人信息、向捐贈人發(fā)送募捐請求、向捐贈人發(fā)送致謝函等可知,E2為捐贈人。根據(jù)募捐系統(tǒng)“從募捐機構(gòu)獲取資金并向其發(fā)放贈品”可知,E3為募捐機構(gòu)。根據(jù)募捐系統(tǒng)“場館發(fā)送可用性請求,獲得場館可用性”可知,E4為場館?!締栴}2】根據(jù)1層數(shù)據(jù)流圖中P1的輸出流“活動時間”再結(jié)合說明可知,P1為“確定活動時間范圍”。從P2的輸入流“活動時間”和輸出流“場館

17、可用性請求”和“活動時間和地點”可知,P2為“搜索場館”。從說明中“根據(jù)活動時間和地點推廣募捐活動,根據(jù)相應(yīng)的活動信息舉辦活動”,再結(jié)合P3的輸入輸出流可知,P3為“推廣募捐活動”。比較0層數(shù)據(jù)流圖和1層數(shù)據(jù)流圖中的數(shù)據(jù)流可知,P1只有輸出流,故缺少輸入流,根據(jù)說明可知需要根據(jù)活動請求才能確定P1,故該數(shù)據(jù)流為“活動請求”。在0層數(shù)據(jù)流圖中,活動請求的起始加工為“確定募捐需求、收集所募捐贈”。根據(jù)說明中的“根據(jù)捐贈請求進行募集”和2層數(shù)據(jù)流圖可知,募集加工需要的來自E2的數(shù)據(jù)流不僅僅是捐贈,還有捐贈請求,故可知2層數(shù)據(jù)流圖中缺少的數(shù)據(jù)流?!締栴}3】根據(jù)最后的說明和2層數(shù)據(jù)流圖可知,D1為捐贈人

18、信息表,D2為已聯(lián)系的捐贈人表,D3為捐贈表,D4為已處理捐贈表。答案:【問題1】E1:志愿者 E2:捐贈人 E3:募捐機構(gòu) E4:場館【問題2】P1:確定活動時間范圍 P2:搜索場館 P3:推廣募捐活動圖1-3中缺少的數(shù)據(jù)流如下。名稱:活動請求;起點:確定募捐需求、收集所募捐贈;終點:P1【問題3】D1:捐贈人信息表 D2:已聯(lián)系的捐贈人表 D3:捐贈表 D4:已處理捐贈表例2 閱讀下列說明和圖,回答問題1問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。(2012年11月試題一)【說明】某電子商務(wù)系統(tǒng)采用以數(shù)據(jù)庫為中心的集成方式改進購物車的功能,詳細需求如下。(1) 加入購物車。顧客瀏覽商品,點擊加入購

19、物車,根據(jù)商品標(biāo)識從商品表中讀取商品信息,并更新購物車表。(2) 瀏覽購物車。顧客提交瀏覽購物車請求后,顯示出購物車表中的商品信息。(3) 提交訂單。顧客點擊提交訂單請求,后臺計算購物車表中商品的總價(包括運費)加入訂單表,將購物車表中的商品狀態(tài)改為待付款,顯示訂單詳情。若商家改變價格,則刷新后可看到更改后的價格。(4) 改變價格。商家查看訂購自家商品的訂單信息,根據(jù)特殊優(yōu)惠條件修改價格,更新訂單表中的商品價格。(5) 付款。顧客點擊付款后,系統(tǒng)先根據(jù)顧客表中關(guān)聯(lián)的支付賬戶,將轉(zhuǎn)賬請求(驗證碼、價格等)提交給支付系統(tǒng)(如信用卡系統(tǒng))進行轉(zhuǎn)賬;然后根據(jù)轉(zhuǎn)賬結(jié)果返回支付狀態(tài)并更改購物車表中商品的狀

20、態(tài)。(6) 物流跟蹤。商家發(fā)貨后,需按訂單標(biāo)識添加物流標(biāo)識(物流公司、運單號);然后可根據(jù)顧客或商家的標(biāo)識以及訂單標(biāo)識,查詢訂單表中的物流標(biāo)識,并從相應(yīng)物流系統(tǒng)查詢物流信息。(7) 生成報表。根據(jù)管理員和商家設(shè)置的報表選項,從訂單表、商品表以及商品分類表中讀取數(shù)據(jù),調(diào)用第三方服務(wù)Crystal Reports生成相關(guān)報表。(8) 維護信息。管理員維護(增、刪、改、查)顧客表、商品分類表和商品表中的信息。現(xiàn)采用結(jié)構(gòu)化方法實現(xiàn)上述需求,在系統(tǒng)分析階段得到如圖1-5所示的頂層數(shù)據(jù)流圖和如圖1-6所示的0層數(shù)據(jù)流圖。圖1-5 頂層數(shù)據(jù)流圖圖1-6 0層數(shù)據(jù)流圖【問題1】(4分) 使用說明中的詞語,給出

21、圖1-5中的外部實體E1E4的名稱。【問題2】(4分) 使用說明中的詞語,給出圖1-6中的數(shù)據(jù)存儲D1D4的名稱。【問題3】(4分) 圖1-3中缺失了數(shù)據(jù)流,請用說明或圖1-6中的詞語,給出其起點和終點?!締栴}4】(3分) 根據(jù)說明,給出數(shù)據(jù)流“轉(zhuǎn)賬請求”、“顧客訂單物流查詢請求”和“商家訂單物流查詢請求”的各組成數(shù)據(jù)項。解析:本題考查數(shù)據(jù)流圖(DFD)的應(yīng)用,采用結(jié)構(gòu)化方法進行系統(tǒng)分析與設(shè)計,是一道傳統(tǒng)題目,要求考生細心分析題目中所描述的內(nèi)容。DFD是一種便于用戶理解、分析系統(tǒng)數(shù)據(jù)流程的圖形化建模工具,是系統(tǒng)邏輯模型的重要組成部分。【問題1】本問題考查頂層DFD。頂層DFD一般用來確定系統(tǒng)邊

22、界,將待開發(fā)系統(tǒng)看作一個加工,因此圖中只有唯一的一個處理(“購物車”)和一些外部實體,以及這兩者之間的輸入/輸出數(shù)據(jù)流。外部實體可以是使用系統(tǒng)的用戶,也可以是為系統(tǒng)提供輸入或接受系統(tǒng)輸出的外部系統(tǒng)。本問題要求根據(jù)描述確定圖中的外部實體,應(yīng)仔細分析題目中的描述,并結(jié)合已經(jīng)在頂層數(shù)據(jù)流圖中給出的數(shù)據(jù)流進行分析。E1到購物車的數(shù)據(jù)流是和物流相關(guān)的信息,由此定位到“物流跟蹤”段,從此段的描述不難判斷E1是商家;E2到購物車的數(shù)據(jù)流是和轉(zhuǎn)賬相關(guān)的信息,由此定位到“付款”段,從此段的關(guān)鍵字“轉(zhuǎn)賬請求”和“轉(zhuǎn)賬結(jié)果”不難判斷E2是支付系統(tǒng);E3到購物車的數(shù)據(jù)流的關(guān)鍵字為“運單號”和“物流信息”,由此定位到“

23、物流跟蹤”段,從該段的最后不難判斷E3是物流系統(tǒng);E4到購物車的數(shù)據(jù)流的關(guān)鍵字為“報表”,由此定位到“生成報表”段,不難判斷E4是Crystal Reports?!締栴}2】本問題考查DFD中數(shù)據(jù)存儲的確定。本題中涉及的數(shù)據(jù)存儲有5個:商品表、購物車表、訂單表、顧客表和商品分類表,接下來需要結(jié)合圖1-6所示的0層數(shù)據(jù)流圖進行確定。D1與“提交訂單”、“改變價格”、“物流跟蹤”和“付款”等加工相關(guān),而這些加工都使用訂單表,因此可以確定D1是訂單表;然后定位到圖中名為“維護信息”的加工,由“管理員維護(增、刪、改、查)顧客表、商品分類表和商品表中的信息”可知,D2和D3為商品分類表或商品表,D4為購

24、物車表。由D2與“加入購物車”加工的關(guān)系可知D2為商品表,則D3為商品分類表?!締栴}3】本問題考查補充分層DFD中的數(shù)據(jù)流。在分層DFD中,需要保持父圖和子圖的平衡,即父圖中某加工的輸入/輸出數(shù)據(jù)流必須與其子圖的輸入/輸出數(shù)據(jù)流在數(shù)量和名字上相同,或者父圖的一個輸入(或輸出)數(shù)據(jù)流對應(yīng)于子圖中幾個輸入(或輸出)數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項全體正好是父圖中的一個數(shù)據(jù)流。由“付款”段中有關(guān)“根據(jù)轉(zhuǎn)賬結(jié)果返回支付狀態(tài)并更改購物車表中商品的狀態(tài)”的描述,存在一個起點為“付款”、終點為“D4”或“購物車表”的數(shù)據(jù)流;由“提交訂單”段中有關(guān)“將購物車表中的商品狀態(tài)改為待付款,顯示訂單詳情”的描述

25、,存在一個起點為“D4”或“購物車表”、終點為“提交訂單”的數(shù)據(jù)流;由“付款”段中有關(guān)“顧客點擊付款后,系統(tǒng)先根據(jù)顧客表中關(guān)聯(lián)的支付賬戶,將轉(zhuǎn)賬請求(驗證碼、價格等)提交給支付系統(tǒng)(如信用卡系統(tǒng))進行轉(zhuǎn)賬”的描述,存在一個起點為“顧客表”、終點為“付款”的數(shù)據(jù)流;由“生成報表”段中有關(guān)“從訂單表、商品表以及商品分類表中讀取數(shù)據(jù),調(diào)用第三方服務(wù)Crystal Reports生成相關(guān)報表”的描述,存在一個起點為“D1”或“訂單表”、終點為“生成報表”的數(shù)據(jù)流?!締栴}4】數(shù)據(jù)流圖描述了系統(tǒng)的分解,但沒有對圖中各成分進行說明。數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素?!稗D(zhuǎn)賬請求”數(shù)據(jù)流中包含驗證碼、價格

26、、賬號信息等數(shù)據(jù)項;“顧客訂單物流查詢請求”數(shù)據(jù)流中包含顧客標(biāo)識和訂單標(biāo)識等數(shù)據(jù)項;“商家訂單物流查詢請求”數(shù)據(jù)流中包含商家標(biāo)識和訂單標(biāo)識等數(shù)據(jù)項。答案【問題1】E1:商家 E2:支付系統(tǒng) E3:物流系統(tǒng) E4:Crystal Reports【問題2】D1:訂單表 D2:商品表 D3:商品分類表 D4:購物車表【問題3】圖1-6中缺少的數(shù)據(jù)流如表1-1所示。表1-6 圖1-6中缺少的數(shù)據(jù)流起 點終 點付款D4或購物車表D4或購物車表提交訂單顧客表付款D1或訂單表生成報表【問題4】轉(zhuǎn)賬請求=驗證碼+價格+賬號信息顧客訂單物流查詢請求=顧客標(biāo)識+訂單標(biāo)識商家訂單物流查詢請求=商家標(biāo)識+訂單標(biāo)識例3

27、 閱讀下列說明和圖,回答問題1問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。(2012年5月試題一)【說明】 某學(xué)校開發(fā)圖書管理系統(tǒng),以記錄圖書館藏書及其借出和歸還情況,提供給借閱者借閱圖書功能,提供給圖書館管理員管理和定期更新圖書表功能。主要功能的具體描述如下。(1) 處理借閱。借閱者要借閱圖書時,系統(tǒng)必須對其身份(借閱者ID)進行檢查。通過與教務(wù)處維護的學(xué)生數(shù)據(jù)庫、人事處維護的職工數(shù)據(jù)庫中的數(shù)據(jù)進行比對,以驗證借閱者ID是否合法。若合法,則檢查借閱者在逾期未還圖書表中是否有逾期未還圖書,以及罰金表中的罰金是否超過限額。如果沒有逾期未還圖書并且罰金未超過限額,則允許借閱圖書,更新圖書表,并將借閱的圖書

28、存入借出圖書表。借閱者歸還所借圖書時,先由圖書館管理員檢查圖書是否缺失或損壞,若是,則對借閱者處以相應(yīng)罰金并存入罰金表;然后,檢查所還圖書是否逾期,若是,執(zhí)行“處理逾期”操作;最后,更新圖書表,刪除借出圖書表中的相應(yīng)記錄。 (2) 維護圖書。圖書館管理員查詢圖書信息;在新進圖書時錄入圖書信息,存入圖書表;在圖書丟失或損壞嚴重時,從圖書表中刪除該圖書記錄。(3) 處理逾期。系統(tǒng)在每周一統(tǒng)計逾期未還圖書,逾期未還的圖書按規(guī)則計算罰金,并記入罰金表,并給有逾期未還圖書的借閱者發(fā)送提醒消息。借閱者在借閱和歸還圖書時,若罰金超過限額,管理員收取罰金,并更新罰金表中的罰金額度?,F(xiàn)采用結(jié)構(gòu)化方法對該圖書管理

29、系統(tǒng)進行分析與設(shè)計,獲得如圖1-7所示的頂層數(shù)據(jù)流圖和如圖1-8所示的0層數(shù)據(jù)流圖。圖1-7 頂層數(shù)據(jù)流圖圖1-8 0層數(shù)據(jù)流圖【問題1】(4分)使用說明中的詞語,給出圖1-7中的外部實體E1E4的名稱?!締栴}2】(4分)使用說明中的詞語,給出圖1-8中的數(shù)據(jù)存儲D1D4的名稱?!締栴}3】 (5分)在DFD建模時,需要對某些復(fù)雜加工(處理)進行進一步精化,繪制下層數(shù)據(jù)流圖。針對圖1-8中的加工“處理借閱”,在1層數(shù)據(jù)流圖中應(yīng)分解為哪些加工?(使用說明中的術(shù)語)【問題4】(2分)說明問題3中繪制1層數(shù)據(jù)流圖時要注意的問題。解析:【問題1】由題目可知,借閱者要借閱圖書時,系統(tǒng)必須對其身份進行檢查,

30、而身份檢查是通過驗證借閱者ID實現(xiàn)的,而驗證借閱者ID則是通過將其與學(xué)生數(shù)據(jù)庫和職工數(shù)據(jù)庫中的數(shù)據(jù)進行比對實現(xiàn)的,因此,E3和E4分別為學(xué)生數(shù)據(jù)庫和職工數(shù)據(jù)庫。圖書管理系統(tǒng)驗證借閱者的ID后,檢查其是否有逾期未歸還的圖書,有的話,則給借閱者發(fā)送逾期未還提醒,很顯然,E1為借閱者。圖書維護時,要對圖書進行查詢、新書信息錄入、書目刪除等操作,進行這些操作的是圖書管理員,因此E2為圖書管理員?!締栴}2】圖書管理員要從圖書表中查詢圖書信息;新進圖書時,需要將新書信息錄入圖書表;在圖書丟失或損壞嚴重時,需要從圖書表中刪除該圖書記錄。由此可知,D1為圖書表。借閱圖書時,需要檢查借閱者在逾期未還圖書表中是否

31、有逾期未還圖書,以及罰金表中的罰金是否超過限額。D4與罰金的操作相關(guān),因此為罰金表。D3與逾期處理相關(guān),因此為逾期未還圖書表。如果系統(tǒng)允許借閱圖書,則一方面更新圖書表,另一方面將借閱的圖書存入借出圖書表,可見D2為借出圖書表?!締栴}3】加工“處理借閱”涉及借書和還書兩部分。借書時,首先進行對借閱者身份的驗證,通過驗證,則在逾期未借閱圖書表中檢查是否有逾期未還圖書,同時,還要在罰金表中檢查罰金是否超限。還書時,需要檢查圖書是否缺失或損壞,然后檢查圖書是否逾期,最后更新圖書表?!締栴}4】將加工“處理借閱”進一步進行分解,得到的便是0層數(shù)據(jù)流圖的子圖,原來的圖便成為父圖。在繪制子圖的時候,要注意保持

32、與父圖的平衡。答案:【問題1】E1:借閱者 E2:圖書管理員 E3/E4:學(xué)生數(shù)據(jù)庫/職工數(shù)據(jù)庫【問題2】D1:圖書表 D2:借出圖書表 D3:逾期未還圖書表 D4:罰金表【問題3】檢查借閱者身份或檢查借閱者ID;檢查逾期未還圖書;檢查罰金是否超過限額;借閱圖書;歸還圖書?!締栴}4】保持父圖與子圖平衡。父圖中某加工的輸入/輸出數(shù)據(jù)流必須與其子圖的輸入/輸出數(shù)據(jù)流在數(shù)量和名字上相同。如果父圖的一個輸入(或輸出)數(shù)據(jù)流對應(yīng)于子圖中幾個輸入(或輸出)數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項全體正好是父圖中的這一數(shù)據(jù)流,那么它們?nèi)匀凰闶瞧胶獾?。? 閱讀下列說明和圖,回答問題1問題4,將解答填入答題紙的

33、對應(yīng)欄內(nèi)。(2011年11月試題一)【說明】某公司欲開發(fā)招聘系統(tǒng)以提高招聘效率,其主要功能如下。(1) 接受申請。驗證應(yīng)聘者所提供的自身信息是否完整、是否說明了應(yīng)聘職位,受理驗證合格的申請,給應(yīng)聘者發(fā)送致謝信息。(2) 評估應(yīng)聘者。根據(jù)部門經(jīng)理設(shè)計的職位要求,審查已經(jīng)受理的申請;對未被錄用的應(yīng)聘者進行謝絕處理,將未被錄用的應(yīng)聘者信息存入未錄用的應(yīng)聘者表,并給其發(fā)送謝絕決策;對錄用的應(yīng)聘者進行職位安排評價,將評價結(jié)果存入評價結(jié)果表,并給其發(fā)送錄用決策,發(fā)送錄用職位和錄用者信息給工資系統(tǒng)?,F(xiàn)采用結(jié)構(gòu)化方法對招聘系統(tǒng)進行分析和設(shè)計,獲得如圖1-9所示的頂層數(shù)據(jù)流圖、如圖1-10所示的0層數(shù)據(jù)流圖和如

34、圖1-11所示的1層數(shù)據(jù)流圖。圖1-9 頂層數(shù)據(jù)流圖圖1-10 0層數(shù)據(jù)流圖【問題1】(3分)使用說明中的術(shù)語,給出圖1-9中E1E3所對應(yīng)的外部實體名稱。圖1-11 1層數(shù)據(jù)流圖【問題2】(2分)使用說明中的術(shù)語,給出圖1-10中D1D2所對應(yīng)的數(shù)據(jù)存儲名稱?!締栴}3】(6分)使用說明和圖中的術(shù)語,給出圖1-11中加工P1P3的名稱?!締栴}4】(4分)解釋說明圖1-10和圖1-11是否保持平衡,若不平衡請按表1-2所示的格式補充圖1-11中數(shù)據(jù)流的名稱以及數(shù)據(jù)流的起點或終點,使其平衡(使用說明中的術(shù)語或圖中的符號)。表1-2 例3問題4表數(shù)據(jù)流名稱起 點解析:【問題1】由招聘系統(tǒng)“根據(jù)部門經(jīng)

35、理設(shè)計的職位要求,審查已經(jīng)受理的申請”可知,給出職位要求的是部門經(jīng)理,因此E2為部門經(jīng)理。應(yīng)聘者將個人信息和應(yīng)聘職位發(fā)送給招聘系統(tǒng),如果審查未通過,招聘系統(tǒng)會給應(yīng)聘者發(fā)送謝絕決策,因此E1為應(yīng)聘者。由“發(fā)送錄用職位和錄用者信息給工資系統(tǒng)”可知,E3為工資系統(tǒng)?!締栴}2】由題意可知,未被錄用的應(yīng)聘者信息存入未錄用的應(yīng)聘者表,錄用的應(yīng)聘者評價結(jié)果存入評價結(jié)果表,因此D1和D2分別為未錄用的應(yīng)聘者表和評價結(jié)果表,結(jié)合圖1-11可知,D1為未錄用的應(yīng)聘者表,D2為評價結(jié)果表,且二者不能顛倒?!締栴}3】系統(tǒng)首先要驗證應(yīng)聘者的信息和應(yīng)聘職位,驗證合格后才會受理申請,因此P1應(yīng)為“驗證信息”。驗證合格后,“

36、根據(jù)部門經(jīng)理設(shè)計的職位要求,審查已經(jīng)受理的申請”,因此P2為“審查申請”。審查后,對錄用的應(yīng)聘者進行職位安排評價,因此P3為“職位安排評價”?!締栴}4】應(yīng)保持父圖和子圖平衡,即父圖中某加工的輸入/輸出數(shù)據(jù)流必須與其子圖的輸入/輸出數(shù)據(jù)流在數(shù)量和名字上相同。由圖1-10可知,對于未錄用的應(yīng)聘者,在存取應(yīng)聘者表的同時要發(fā)送謝絕決策,而圖1-11中沒有謝絕決策數(shù)據(jù)流。對于錄用者,要將評價結(jié)果存入評價結(jié)果表,并給其發(fā)送錄用決策,發(fā)送錄用職位和錄用者信息給工資系統(tǒng),圖1-10中有錄用職位、錄用決策、錄用者信息數(shù)據(jù)流,而圖1-11中只有錄用決策、錄用者信息數(shù)據(jù)流,缺少錄用職位數(shù)據(jù)流。在圖1-10中有已受理

37、的申請數(shù)據(jù)流,而圖1-11中沒有。答案:【問題1】E1:應(yīng)聘者 E2:部門經(jīng)理 E3:工資系統(tǒng)【問題2】D1:未錄用的應(yīng)聘者表 D2:評價結(jié)果表【問題3】P1:驗證信息 P2:審查申請 P3:職位安排評價【問題4】不平衡。圖1-10中加工的輸入/輸出數(shù)據(jù)流與其子圖1-11中的輸入/輸出數(shù)據(jù)流的數(shù)量不同。表1-3 圖1-11中缺少的數(shù)據(jù)流數(shù)據(jù)流名稱起 點錄用職位P3或2.3職位安排評價已受理的申請1.2受理申請謝絕決策2.2謝絕應(yīng)聘者例5 閱讀下列說明和圖,回答問題1問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。(2011年5月試題一)【說明】某醫(yī)院欲開發(fā)病人監(jiān)控系統(tǒng)。該系統(tǒng)通過各種設(shè)備監(jiān)控病人的生命體征

38、,并在生命體征異常時向醫(yī)生和護理人員報警。該系統(tǒng)的主要功能如下。(1) 本地監(jiān)控:定期獲取病人的生命特征,如體溫、血壓、心率等數(shù)據(jù)。(2) 格式化生命體征:對病人的各項重要生命體征數(shù)據(jù)進行格式化,然后存入日志文件并檢查生命體征。(3) 檢查生命體征:將格式化后的生命體征與生命體征范圍文件中預(yù)設(shè)的正常范圍進行比較,如果超出了預(yù)設(shè)范圍,系統(tǒng)就發(fā)送一條警告信息給醫(yī)生和護理人員。(4) 維護生命體征范圍:醫(yī)生在必要時(如新的研究結(jié)果出現(xiàn)時)添加或更新生命體征值的正常范圍。(5) 提取報告:在醫(yī)生或護理人員請求病人生命體征報告時,從日志文件中提取病人生命體征生成體征報告,并返回給請求者。(6) 生成病歷

39、:根據(jù)日志文件中的生命體征,醫(yī)生對病人的病情進行描述,形成病歷,存入病歷文件。(7) 查詢病歷:根據(jù)醫(yī)生的病歷查詢請求,查詢病歷文件,給醫(yī)生返回病歷報告。(8) 生成治療意見:根據(jù)日志文件中的生命體征和病歷,醫(yī)生給出治療意見,如處方等,并存入治療意見文件。(9) 查詢治療意見:醫(yī)生和護理人員查詢治療意見,據(jù)此對病人進行治療?,F(xiàn)采用結(jié)構(gòu)化方法對病人監(jiān)控系統(tǒng)進行分析與設(shè)計,獲得如圖1-12所示的頂層數(shù)據(jù)流圖和如圖1-13所示的0層數(shù)據(jù)流圖。圖1-12 頂層數(shù)據(jù)流圖圖1-13 0層數(shù)據(jù)流圖【問題1】(3分)使用說明中的詞語,給出圖1-12中的外部實體E1E3的名稱?!締栴}2】(4分)使用說明中的詞語

40、,給出圖1-13中的數(shù)據(jù)存儲D1D4的名稱?!締栴}3】(6分)圖1-13中缺失了4條數(shù)據(jù)流,使用說明、圖1-12和圖1-13中的術(shù)語,給出數(shù)據(jù)流的名稱及其起點和終點。【問題4】(3分)說明外部實體E1和E3之間可否有數(shù)據(jù)流,并解釋其原因。解析:【問題1】病人監(jiān)控系統(tǒng)通過各種設(shè)備監(jiān)控病人的生命體征,很明顯E1為病人。病人監(jiān)控系統(tǒng)將格式化后的生命體征與生命體征范圍文件中預(yù)設(shè)的正常范圍進行比較,如果超出了預(yù)設(shè)范圍,系統(tǒng)就發(fā)送一條警告信息給醫(yī)生和護理人員,因此E2和E3中一個是醫(yī)生、一個是護理人員,而醫(yī)生可以對病人的病情進行描述、給出治療意見、添加或更新生命體征值的正常范圍,可見E3為醫(yī)生,E2為護理

41、人員?!締栴}2】生命體征數(shù)據(jù)保存在生命體征范圍文件中,醫(yī)生和護理人員可以查詢,醫(yī)生可以更新,所以D1為生命體征范圍文件。病人監(jiān)控系統(tǒng)可對病人的各項重要生命體征數(shù)據(jù)進行格式化,然后存入日志文件并檢查生命體征,可見D2為日志文件。病歷是從病歷文件查詢的,所以D3為病歷文件。根據(jù)日志文件中的生命體征和病歷,醫(yī)生給出治療意見,如處方等,并存入治療意見文件,顯然,D4為治療意見文件。【問題3】通過本地監(jiān)控獲得病人的生命體征后,需要對重要的生命體征數(shù)據(jù)進行格式化,很明顯,本地監(jiān)控和格式化生命體征之間缺少一條數(shù)據(jù)流:重要生命體征。格式化生命體征要存入日志文件并檢查生命體征,可見格式化生命體征與檢查生命體征之

42、間缺少一條數(shù)據(jù)流:格式化后的生命體征。根據(jù)日志文件中的生命體征和病歷,醫(yī)生對病人的病情進行描述,形成病歷,并存入病歷文件,因此D2和生成病歷、生成病歷和D3之間各缺少一條數(shù)據(jù)流?!締栴}4】E1為病人,E3為醫(yī)生,都為外部實體,數(shù)據(jù)流的輸入或者輸出要為加工,不能都為外部實體。答案:【問題1】E1:病人 E2:護理人員 E3:醫(yī)生【問題2】D1:生命體征范圍文件 D2:日志文件 D3:病歷文件 D4:治療意見文件【問題3】圖1-13中缺少的數(shù)據(jù)流如表1-4所示。表1-4 圖1-13中缺少的數(shù)據(jù)流數(shù)據(jù)流名稱起 點終 點重要生命體征本地監(jiān)控格式化生命體征格式化后的生命體征格式化生命體征檢查生命體征生成

43、病歷D3或病歷文件D2或日志文件生成病歷【問題4】E1和E3之間不可以有數(shù)據(jù)流,因為數(shù)據(jù)流的起點和終點中必須有一個為加工(處理)。例6 閱讀以下說明和圖,回答問題1問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。(2010年11月試題一)【說明】某時裝郵購提供商擬開發(fā)訂單處理系統(tǒng),用于處理客戶通過電話、傳真、郵件或Web站點所下訂單。其主要功能如下。(1) 增加客戶記錄。將新客戶信息添加到客戶文件,并分配一個客戶號以備后續(xù)使用。(2) 查詢商品信息。接收客戶提交商品信息請求,從商品文件中查詢商品的價格和可訂購數(shù)量等商品信息,返回給客戶。(3) 增加訂單記錄。根據(jù)客戶的訂購請求及該客戶記錄的相關(guān)信息,產(chǎn)生訂

44、單并添加到訂單文件中。(4) 產(chǎn)生配貨單。根據(jù)訂單記錄產(chǎn)生配貨單,并將配貨單發(fā)送給倉庫進行備貨;備好貨后,發(fā)送備貨就緒通知。如果現(xiàn)貨不足,則需向供應(yīng)商訂貨。(5) 準(zhǔn)備發(fā)貨單。從訂單文件中獲取訂單記錄,從客戶文件中獲取客戶記錄,并產(chǎn)生發(fā)貨單。(6) 發(fā)貨。當(dāng)收到倉庫發(fā)送的備貨就緒通知后,根據(jù)發(fā)貨單給客戶發(fā)貨;產(chǎn)生裝運單并發(fā)送給客戶。(7) 創(chuàng)建客戶賬單。根據(jù)訂單文件中的訂單記錄和客戶文件中的客戶記錄,產(chǎn)生并發(fā)送客戶賬單,同時更新商品文件中的商品數(shù)量和訂單文件中的訂單狀態(tài)。(8) 產(chǎn)生應(yīng)收賬戶。根據(jù)客戶記錄和訂單文件中的訂單信息,產(chǎn)生并發(fā)送給財務(wù)部門應(yīng)收賬戶報表?,F(xiàn)采用結(jié)構(gòu)化方法對訂單處理系統(tǒng)進

45、行分析與設(shè)計,獲得如圖1-14所示的頂層數(shù)據(jù)流圖和如圖1-15所示的0層數(shù)據(jù)流圖。【問題1】(3分)使用說明中的詞語,給出圖1-14中的外部實體E1E3的名稱?!締栴}2】(3分)使用說明中的詞語,給出圖1-15中的數(shù)據(jù)存儲D1D3的名稱。圖1-14 頂層數(shù)據(jù)流圖圖1-15 0層數(shù)據(jù)流圖【問題3】(9分)(1) 給出圖1-15中處理(加工)P1和P2的名稱及其相應(yīng)的輸入/輸出數(shù)據(jù)流。(2) 除加工P1和P2的輸入/輸出數(shù)據(jù)流外,圖1-15中還缺失了1條數(shù)據(jù)流,請給出其起點和終點,填入表1-5中。注:名稱使用說明中的詞匯,起點和終點均使用圖1-15中的符號或詞匯。表1-5 例6問題3表起 點終 點

46、解析:【問題1】本問題考查頂層DFD。題目要求根據(jù)描述確定圖中的外部實體。根據(jù)題目信息描述可知,訂單處理系統(tǒng)要處理的是客戶的訂購請求、商品信息查詢請求等,因此E1為客戶;由功能(8)的描述可知,應(yīng)收賬戶報表發(fā)送給財務(wù)部門,所以E2為財務(wù)部門;根據(jù)功能(4)(6)的描述可知,備貨和發(fā)貨是在倉庫中處理的,所以E3為倉庫?!締栴}2】本問題考查0層DFD中數(shù)據(jù)存儲的確定。由題目描述可知,新客戶信息添加到客戶文件,而D1的輸入數(shù)據(jù)流為客戶記錄,所以D1為客戶文件;系統(tǒng)接收客戶提交商品信息請求,從商品文件中查詢商品的價格和可訂購數(shù)量等商品信息并返回給客戶,D2的輸出數(shù)據(jù)流為商品數(shù)量和價格,所以D2為商品文

47、件;客戶訂單添加到訂單文件,從訂單文件中獲取訂單記錄,從客戶文件中獲取客戶記錄,并產(chǎn)生發(fā)貨單,所以D3為訂單文件?!締栴}3】對于題(1),由0層數(shù)據(jù)流圖可以看出,其中缺少了產(chǎn)生配貨單和準(zhǔn)備發(fā)貨單兩個加工。產(chǎn)生配貨單:根據(jù)訂單記錄產(chǎn)生配貨單,并將配貨單發(fā)送給倉庫進行備貨;備好貨后,發(fā)送備貨就緒通知。如果現(xiàn)貨不足,則需向供應(yīng)商訂貨。準(zhǔn)備發(fā)貨單:從訂單文件中獲取訂單記錄,從客戶文件中獲取客戶記錄,并產(chǎn)生發(fā)貨單。由此可以確定兩個加工的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流。對于題(2),由題目可知,創(chuàng)建客戶賬單的功能是根據(jù)訂單文件中的訂單記錄和客戶文件中的客戶記錄,產(chǎn)生并發(fā)送客戶賬單,同時更新商品文件中的商品數(shù)量和訂

48、單文件中的訂單狀態(tài)。圖1-15中,創(chuàng)建客戶賬單的輸入數(shù)據(jù)流只有訂單記錄,而沒有客戶記錄,所以應(yīng)添加一條從客戶文件到創(chuàng)建客戶賬單的數(shù)據(jù)流。答案:【問題1】E1:客戶 E2:財務(wù)部門 E3:倉庫【問題2】D1:客戶文件 D2:商品文件 D3:訂單文件【問題3】P1:產(chǎn)生配貨單,其輸入/輸出數(shù)據(jù)流如表1-6所示。表1-6 P1的輸入/輸出數(shù)據(jù)流輸入/輸出數(shù)據(jù)流數(shù)據(jù)流名稱起 點終 點輸入數(shù)據(jù)流訂單記錄D3P1輸出數(shù)據(jù)流備貨單P1E3P2:準(zhǔn)備發(fā)貨單,其輸入/輸出數(shù)據(jù)流如表1-7所示。表1-7 P2的輸入/輸出數(shù)據(jù)流輸入/輸出數(shù)據(jù)流數(shù)據(jù)流名稱起 點終 點輸入數(shù)據(jù)流訂單記錄D3P2客戶記錄D1P2輸出數(shù)據(jù)

49、流發(fā)貨單P2發(fā)貨圖1-15中缺少的數(shù)據(jù)流如表1-8所示。表1-8 圖1-15中缺少的數(shù)據(jù)流起 點終 點D1創(chuàng)建客戶賬單例7 閱讀下列說明和圖,回答問題1問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。 (2010年5月試題一)【說明】某大型企業(yè)的數(shù)據(jù)中心為了集中管理、控制用戶對數(shù)據(jù)的訪問并支持大量的連接需求,欲構(gòu)建數(shù)據(jù)管理中間件,其主要功能如下。(1) 數(shù)據(jù)管理員可通過中間件進行用戶管理、操作管理和權(quán)限管理。用戶管理維護用戶信息,用戶信息(用戶名、密碼)存儲在用戶表中;操作管理維護數(shù)據(jù)實體的標(biāo)準(zhǔn)操作及其所屬的后端數(shù)據(jù)庫信息,標(biāo)準(zhǔn)操作和后端數(shù)據(jù)庫信息存放在操作表中;權(quán)限管理維護權(quán)限表,該表存儲用戶可執(zhí)行的操

50、作信息。(2) 中間件驗證前端應(yīng)用提供的用戶信息。若驗證不通過,返回非法用戶信息;若驗證通過,中間件將等待前端應(yīng)用提交操作請求。(3) 前端應(yīng)用提交操作請求后,中間件先對請求進行格式檢查。如果格式不正確,返回格式錯誤的信息;如果格式正確,則進行權(quán)限驗證(驗證用戶是否有權(quán)執(zhí)行請求的操作),若用戶無權(quán)執(zhí)行該操作,則返回權(quán)限不足信息,否則進行連接管理。(4) 連接管理連接相應(yīng)的后端數(shù)據(jù)庫并提交操作。連接管理先檢查是否存在空閑的數(shù)據(jù)庫連接,如果不存在,新建連接;如果存在,則重用連接。(5) 后端數(shù)據(jù)庫執(zhí)行操作并將結(jié)果傳給中間件,中間件對收到的操作結(jié)果進行處理后,將其返回給前端應(yīng)用?,F(xiàn)采用結(jié)構(gòu)化方法對系

51、統(tǒng)進行分析與設(shè)計,獲得如圖1-16所示的頂層數(shù)據(jù)流圖和如圖1-17所示的0層數(shù)據(jù)流圖?!締栴}1】(3分)使用說明中的詞語,給出圖1-16中的外部實體E1E3的名稱。【問題2】(3分)使用說明中的詞語,給出圖1-17中的數(shù)據(jù)存儲D1D3的名稱。圖1-16 頂層數(shù)據(jù)流圖圖1-17 0層數(shù)據(jù)流圖【問題3】(6分)給出圖1-17中加工P的名稱及其輸入/輸出數(shù)據(jù)流,填入表1-9中。表1-9 例7問題3表(1)名 稱起 點終 點輸入數(shù)據(jù)流P輸出數(shù)據(jù)流P除加工P的輸入/輸出數(shù)據(jù)流外,圖1-17還缺失了兩條數(shù)據(jù)流,請給出這兩條數(shù)據(jù)流的起點和終點,填入表1-10中。注:名稱使用說明中的詞匯,起點和終點均使用圖1

52、-17中的符號或詞匯。表1-10 例7問題3表(2)起 點終 點【問題4】(3分)在繪制數(shù)據(jù)流圖時,需要注意加工的繪制。請給出三種在繪制加工的輸入、輸出時可能出現(xiàn)的錯誤。解析: 【問題1】本問題考查頂層DFD。題目要求根據(jù)描述確定圖中的外部實體。分析題目中的描述,并結(jié)合已經(jīng)在頂層數(shù)據(jù)流圖中給出的數(shù)據(jù)流進行分析。題目中有信息描述:數(shù)據(jù)管理員可通過中間件進行用戶管理、操作管理和權(quán)限管理;前端應(yīng)用提交操作請求;連接管理連接相應(yīng)的后端數(shù)據(jù)庫并提交操作。由此可知該中間件系統(tǒng)有數(shù)據(jù)管理員、前端應(yīng)用和后端數(shù)據(jù)庫三個外部實體。從圖1-16中數(shù)據(jù)流和外部實體的對應(yīng)關(guān)系可知,E1為前端應(yīng)用,E2為數(shù)據(jù)管理員,E3

53、為后端數(shù)據(jù)庫?!締栴}2】本問題考查0層DFD中數(shù)據(jù)存儲的確定。說明中描述:用戶信息(用戶名、密碼)存儲在用戶表中;標(biāo)準(zhǔn)操作和后端數(shù)據(jù)庫信息存放在操作表中;權(quán)限管理維護信息存放在權(quán)限表中。因此數(shù)據(jù)存儲為用戶表、操作表和權(quán)限表。再根據(jù)圖1-17可知,D1的輸入數(shù)據(jù)流從用戶管理來,D2的輸入數(shù)據(jù)流從操作管理來,D3的輸入數(shù)據(jù)流從權(quán)限管理來,所以D1為用戶表,D2為操作表,D3為權(quán)限表?!締栴}3】本問題考查0層DFD中缺失的加工和數(shù)據(jù)流。比較圖1-16和圖1-17可知,頂層DFD中的操作結(jié)果和處理后的操作結(jié)果沒有在0層DFD中體現(xiàn)。再根據(jù)描述“后端數(shù)據(jù)庫執(zhí)行操作并將結(jié)果傳給中間件,中間件對收到的操作結(jié)

54、果進行處理后,將其返回給前端應(yīng)用”可知,需要有操作結(jié)果處理,因此P為操作結(jié)果處理,其輸入數(shù)據(jù)流為從后端數(shù)據(jù)庫E3來的操作結(jié)果,輸出數(shù)據(jù)流為處理后的操作結(jié)果,并返回給前端應(yīng)用E1??疾橥關(guān)及其輸入/輸出數(shù)據(jù)流之后,對圖1-17的內(nèi)部數(shù)據(jù)流進行考查,以找出缺失的另外兩條數(shù)據(jù)流。從圖中可以看出,D2和D3只有輸入數(shù)據(jù)流沒有輸出數(shù)據(jù)流,這是常見DFD設(shè)計時的錯誤,所以首先考查D2和D3的輸出流。描述中有“權(quán)限驗證是驗證用戶是否有權(quán)執(zhí)行請求的操作,若用戶有權(quán)執(zhí)行該操作,則進行連接管理;連接管理連接相應(yīng)的后端數(shù)據(jù)庫并提交操作;權(quán)限表存儲用戶可執(zhí)行的操作信息”,因此,權(quán)限驗證有從權(quán)限表D3來的輸入數(shù)據(jù)流。而

55、要連接后端數(shù)據(jù)庫,需要數(shù)據(jù)庫信息,從權(quán)限驗證的輸出數(shù)據(jù)流中包含有數(shù)據(jù)庫信息可知,權(quán)限驗證需要獲取數(shù)據(jù)庫信息,所以還需要從操作表D2來的輸入數(shù)據(jù)流。【問題4】本問題考查在繪制數(shù)據(jù)流圖中加工繪制時的注意事項。繪制加工時可能出現(xiàn)的錯誤有:加工的輸入、輸出可能出現(xiàn)只有輸入而無輸出、只有輸出而無輸入、輸入數(shù)據(jù)流無法通過加工產(chǎn)生輸出數(shù)據(jù)流,以及輸入數(shù)據(jù)流與輸出數(shù)據(jù)流名稱相同等錯誤。答案:【問題1】E1:前端應(yīng)用 E2:數(shù)據(jù)管理員 E3:后端數(shù)據(jù)庫【問題2】D1:用戶表 D2:操作表 D3:權(quán)限表【問題3】P:操作結(jié)果處理,其輸入/輸出數(shù)據(jù)流如表1-11所示。表1-11 P的輸入/輸出數(shù)據(jù)流輸入/輸出數(shù)據(jù)流

56、數(shù)據(jù)流名稱起 點終 點輸入數(shù)據(jù)流操作結(jié)果E3P輸出數(shù)據(jù)流處理后的操作結(jié)果PE1圖1-17中缺少的數(shù)據(jù)流如表1-12所示。表1-17 圖1-17中缺少的數(shù)據(jù)流起 點終 點D2權(quán)限驗證D3權(quán)限驗證【問題4】在繪制數(shù)據(jù)流圖的加工時,可能出現(xiàn)的輸入、輸出錯誤如下。(1) 只有輸入而無輸出或者黑洞。(2) 只有輸出而無輸入或者奇跡。(3) 輸入數(shù)據(jù)流無法通過加工產(chǎn)生輸出數(shù)據(jù)流或者灰洞。(4) 輸入數(shù)據(jù)流與輸出數(shù)據(jù)流名稱相同。1.1.3 同步練習(xí)1. 閱讀下列說明,回答問題1問題4,將解答填入答題紙的對應(yīng)欄內(nèi)。(2009年11月試題一)【說明】現(xiàn)準(zhǔn)備為某銀行開發(fā)一個信用卡管理系統(tǒng)(CCMS),該系統(tǒng)的基本

57、功能如下。(1) 信用卡申請。非信用卡客戶填寫信用卡申請表,說明所要申請的信用卡類型及申請者的基本信息,提交CCMS。如果信用卡申請被銀行接受,CCMS將記錄該客戶的基本信息,并發(fā)送確認函給該客戶,告知客戶信用卡的有效期及信貸限額;否則該客戶將會收到一封拒絕函。非信用卡客戶收到確認函后成為信用卡客戶。(2) 信用卡激活。信用卡客戶向CCMS提交激活請求,用信用卡號和密碼激活該信用卡。激活操作結(jié)束后,CCMS將激活通知發(fā)送給客戶,告知客戶其信用卡是否被成功激活。(3) 信用卡客戶信息管理。信用卡客戶的個人信息可以在CCMS中進行在線管理。每位信用卡客戶可以在線查詢和修改個人信息。(4) 交易信息

58、查詢。信用卡客戶使用信用卡進行的每一筆交易都會記錄在CCMS中。信用卡客戶可以通過CCMS查詢并核實其交易信息(包括信用卡交易記錄及交易額)。圖1-18和圖1-19分別給出了該系統(tǒng)的頂層數(shù)據(jù)流圖和0層數(shù)據(jù)流圖的初稿。圖1-18 頂層數(shù)據(jù)流圖圖1-19 0層數(shù)據(jù)流圖【問題1】根據(jù)說明,將圖1-18中的E1E3填充完整?!締栴}2】圖1-18中缺少3條數(shù)據(jù)流,根據(jù)說明分別指出這3條數(shù)據(jù)流的起點和終點。(注:數(shù)據(jù)流的起點和終點均采用圖中的符號和描述。)【問題3】圖1-19中有兩條數(shù)據(jù)流是錯誤的,請指出這兩條數(shù)據(jù)流的名稱并改正。(注:數(shù)據(jù)流的起點和終點均采用圖中的符號和描述。)【問題4】根據(jù)說明,將圖1

59、-19中P1P4處的名稱填充完整。2. 閱讀下列說明,回答問題1和問題2,將解答填入答題紙的對應(yīng)欄內(nèi)。(2009年5月試題一)【說明】假設(shè)某大型商業(yè)企業(yè)由商品配送中心和連鎖超市組成,其中商品配送中心包括采購、財務(wù)、配送等部門。為了實現(xiàn)高效管理,設(shè)計了商品配送中心信息管理系統(tǒng),其主要功能描述如下。(1) 系統(tǒng)接受由連鎖超市提出的供貨請求,并將其記錄到供貨請求記錄文件。(2) 在接到供貨請求后,從商品庫存記錄文件中進行商品庫存信息查詢。如果庫存滿足供貨請求,則給配送處理發(fā)送配送通知;否則,向采購部門發(fā)出缺貨通知。(3) 配送處理接到配送通知后,查詢供貨請求記錄文件,更新商品庫存記錄文件,并向配送部

60、門發(fā)送配送單,在配送貨品的同時記錄配送信息至商品配送記錄文件。(4) 采購部門接到缺貨通知后,與供貨商洽談,進行商品采購處理,合格商品入庫,并將采購清單記錄至采購清單記錄文件,向配送處理發(fā)出配送通知,同時通知財務(wù)部門給供貨商支付貨款。該系統(tǒng)采用結(jié)構(gòu)化方法進行開發(fā),得到待修改的數(shù)據(jù)流圖如圖1-20所示。圖1-20 數(shù)據(jù)流圖【問題1】使用說明中的詞語,給出圖1-20中外部實體E1E4的名稱和數(shù)據(jù)存儲D1D4的名稱?!締栴}2】圖1-20中存在4處錯誤數(shù)據(jù)流,請指出各自的起點和終點,填入表1-13中;若將上述4條錯誤數(shù)據(jù)流刪除,為保證數(shù)據(jù)流圖的正確性,應(yīng)補充3條數(shù)據(jù)流,請給出所補充數(shù)據(jù)流的起點和終點,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論