高級軟件工程(第七章)過程建模與數(shù)據(jù)建模(2017課件)_第1頁
高級軟件工程(第七章)過程建模與數(shù)據(jù)建模(2017課件)_第2頁
高級軟件工程(第七章)過程建模與數(shù)據(jù)建模(2017課件)_第3頁
高級軟件工程(第七章)過程建模與數(shù)據(jù)建模(2017課件)_第4頁
高級軟件工程(第七章)過程建模與數(shù)據(jù)建模(2017課件)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

11第七章

過程建模與數(shù)據(jù)建模2概述當(dāng)事件發(fā)生時系統(tǒng)做什么,即活動和交互。在傳統(tǒng)方法中使用的圖形和其他模型。建模必須嚴(yán)格地確定活動和交互的細(xì)節(jié)。分析員和用戶必須共同評估模型的完整性、正確性,以及質(zhì)量。

3用傳統(tǒng)的觀點和OO的觀點看待活動傳統(tǒng)方法和OO方法的區(qū)別:當(dāng)一個事件發(fā)生時所做出的響應(yīng)不同系統(tǒng)建模和實現(xiàn)方法不同

4傳統(tǒng)方法把系統(tǒng)看做是過程的集合體,一些過程由人完成,另一些過程由計算機(jī)完成。把活動描述為由人或計算機(jī)執(zhí)行的過程。包括:過程、數(shù)據(jù)、輸入、輸出在為系統(tǒng)對事件做出的反響進(jìn)行建模的過程中,該方法包括重點強(qiáng)調(diào)這些組件的一系列過程模型。

5OO方法把系統(tǒng)看成是一個相互影響的對象(事物)的集合。不存在常規(guī)的計算機(jī)過程和數(shù)據(jù)文件。對象執(zhí)行活動并記錄下數(shù)值。當(dāng)為系統(tǒng)響應(yīng)事件建模的時候,該方法包括顯示對象、對象的行為,以及對象之間交互的一系列模型。

61.DFD概念與作用DFD:用過程、外部實體、數(shù)據(jù)流,以及數(shù)據(jù)存儲來表示系統(tǒng)需求的過程建模工具。DFD是用得最廣泛的過程模型。它在一張圖中展示軟件系統(tǒng)的主要需求:輸入、輸出、過程和數(shù)據(jù)存儲。工程開發(fā)的人都能從DFD中很快地看出系統(tǒng)一起工作的各個局部。

72.DFD的符號

過程:在DFD中的一個符號,它代表從數(shù)據(jù)輸入轉(zhuǎn)換到數(shù)據(jù)輸出的算法或程序。數(shù)據(jù)流:在DFD中的箭頭,它表示在處理、數(shù)據(jù)存儲和外部實體之間的數(shù)據(jù)移動。數(shù)據(jù)存儲:保存數(shù)據(jù)的地方,以便將來由一個或多個過程來訪問這些數(shù)據(jù)。

外部實體:在系統(tǒng)邊界之外的個人或組織,它提供數(shù)據(jù)輸入或接受數(shù)據(jù)輸出。

83.DFD結(jié)合了事件表和ERDDFD中的過程對應(yīng)于事件表中的一個活動。事件是“客戶想確定商品信息的有效性”,觸發(fā)器是商品查詢,來源是客戶,響應(yīng)是可用條目細(xì)節(jié),響應(yīng)的目標(biāo)是客戶。DFD以圖形的方式顯示系統(tǒng)活動來響應(yīng)一個事件。9DFD與ERDDFD的數(shù)據(jù)存儲(可用條目)信息沒包含在事件表中。DFD中的每一個數(shù)據(jù)存儲在ERD中代表一個數(shù)據(jù)實體。在DFD中的過程使用了在系統(tǒng)的ERD中所提供的數(shù)據(jù)實體及其屬性信息。DFD將事件觸發(fā)的活動和在ERD中定義的數(shù)據(jù)實體相結(jié)合。DFD的建模過程采用自頂向下逐層分解的方法,首先抓住系統(tǒng)的本質(zhì)特性對系統(tǒng)加以抽象概括,形成高層次的概念;然后逐步考慮細(xì)節(jié)問題,把整個系統(tǒng)分解成具有相對獨立性的假設(shè)干小問題。分解可以逐層進(jìn)行,即逐層加進(jìn)細(xì)節(jié)進(jìn)行分解,最后得到一套分層的數(shù)據(jù)流程圖。1011課

統(tǒng)

的DFD抽

次12關(guān)聯(lián)圖〔上下文數(shù)據(jù)流圖〕關(guān)聯(lián)圖(頂層圖):在單個過程符號中概括系統(tǒng)內(nèi)所有過程活動的DFD?;蛘哒f是描述系統(tǒng)抽象概念的DFD。所有的外部實體和進(jìn)出系統(tǒng)的數(shù)據(jù)流都在一張圖中顯示,并且整個系統(tǒng)被表示成一個過程。關(guān)聯(lián)圖在表達(dá)系統(tǒng)邊界時很有用。

13關(guān)聯(lián)圖與事件表二者通常一起被建立。事件表中的一個外部事件的觸發(fā)器變成關(guān)聯(lián)圖的一個輸入數(shù)據(jù)流,而其來源變成一個外部實體。每一個響應(yīng)變成一個輸出數(shù)據(jù)流,并且其目的源變成一個外部實體。注意:關(guān)聯(lián)圖DFD能夠直接從事件表創(chuàng)立。兩種模型從不同角度描述了同一種系統(tǒng)需求信息。

14DFD片段DFD片段:用一個單一過程符號表示系統(tǒng)響應(yīng)一個事件的DFD。DFD片段是為事件表中的事件創(chuàng)立的。DFD片段用一個單個的過程符號代表對一個事件的所有響應(yīng)處理。在DFD片段中的數(shù)據(jù)存儲代表ERD中的實體。每個DFD片段顯示要響應(yīng)該事件的那些數(shù)據(jù)存儲。15事件分割的系統(tǒng)模型事件分割的系統(tǒng)模型或0層圖:一個為系統(tǒng)需求建立模型的DFD,建模過程中對應(yīng)于系統(tǒng)或子系統(tǒng)中每個事件使用單個過程。0層圖:對整個系統(tǒng)或子系統(tǒng)進(jìn)行比關(guān)聯(lián)圖更加詳細(xì)的匯總。16DFD建模中常見的錯誤⑴基于過程的錯誤⑵基于數(shù)據(jù)流的錯誤

17⑴基于過程的錯誤①過程的名稱一般為動賓結(jié)構(gòu),不能只是一個動詞(“增加”→“增加學(xué)生”、“計算”→“計算分?jǐn)?shù)”)。②一個過程至少應(yīng)有一個輸入和一個輸出。假設(shè)只有輸入而沒有輸出(稱為“黑洞”)或只有輸出而沒有輸入(稱為“奇跡”)都是不正確的。③在進(jìn)行過程處理時依據(jù)僅有的輸入無法導(dǎo)出輸出數(shù)據(jù),這說明可能缺少輸入數(shù)據(jù)或處理分解有誤。④流入過程的數(shù)據(jù)應(yīng)與流出處理的數(shù)據(jù)不相同;假設(shè)相同,那么有可能說明該過程沒有存在的價值(流入“處理訂單”的信息為“訂單”,流出的信息為“訂單”→“客戶訂單”、“已處理的訂單”)18⑵基于數(shù)據(jù)流的錯誤①數(shù)據(jù)流說明過程之間數(shù)據(jù)的傳遞關(guān)系,而非控制和時間先后次序關(guān)系。②高層數(shù)據(jù)流與相應(yīng)的底層數(shù)據(jù)流內(nèi)容不一致。③數(shù)據(jù)流不能直接連接兩個外部實體、兩個數(shù)據(jù)存儲,以及數(shù)據(jù)存儲與外部實體,數(shù)據(jù)流的一端至少應(yīng)為過程。DFD質(zhì)量評估DFD圖常見錯誤總結(jié)非法的數(shù)據(jù)流B1B2改正錯誤后的數(shù)據(jù)流B1B2需要一個過程在外部實體之間交換數(shù)據(jù)流DS2DS1需要一個過程從一個數(shù)據(jù)存儲移動數(shù)據(jù)到另一個數(shù)據(jù)存儲DS1DS2B1需要一個過程從一個數(shù)據(jù)存儲中表現(xiàn)數(shù)據(jù)DS1DS1B1B1DS1B1DS1需要一個過程修改/使用一個數(shù)據(jù)存儲20保證數(shù)據(jù)流一致性分析員通過查找DFD中各種類型的不一致性可以發(fā)現(xiàn)錯誤或忽略的東西。三個經(jīng)常發(fā)生且容易判別的一致性錯誤:一個過程和它的過程分解在數(shù)據(jù)流內(nèi)容中有差異;有數(shù)據(jù)流出卻沒有相應(yīng)的數(shù)據(jù)流入;有數(shù)據(jù)流入?yún)s沒有相應(yīng)的數(shù)據(jù)流出。

21平衡進(jìn)出過程的數(shù)據(jù)流與進(jìn)出過程分解DFD的數(shù)據(jù)流在數(shù)據(jù)內(nèi)容上保持一致的狀態(tài)。數(shù)據(jù)流的名稱在不同的層次可能不一樣,其原因很多,如將一個組合的數(shù)據(jù)流分解為更小的數(shù)據(jù)流。分析員必須仔細(xì)地看清楚數(shù)據(jù)流的內(nèi)容而不能只看到它的名稱。只有在所有的數(shù)據(jù)流均己定義前方可進(jìn)行平衡的詳細(xì)分析。22一致性規(guī)那么對數(shù)據(jù)存儲也有效任何從數(shù)據(jù)存儲讀出來的數(shù)據(jù)元素必定在以前寫進(jìn)去過。類似地,任何寫進(jìn)數(shù)據(jù)存儲的數(shù)據(jù)元素必定在以后要讀出來。考查進(jìn)出數(shù)據(jù)存儲的數(shù)據(jù)一致性會由于以下的事實而變得復(fù)雜:一個數(shù)據(jù)元素也許能在完全不同的DFD上進(jìn)出數(shù)據(jù)存儲。

數(shù)據(jù)建模概念過程建模以數(shù)據(jù)在系統(tǒng)中的產(chǎn)生和使用為重點,以進(jìn)行數(shù)據(jù)轉(zhuǎn)換的過程為核心,建立層次結(jié)構(gòu)的過程模型來描述系統(tǒng),它同時描述了系統(tǒng)的行為和數(shù)據(jù)。但是在數(shù)據(jù)說明方面,過程模型更多的是側(cè)重數(shù)據(jù)產(chǎn)生與使用的時間、地點和方式,而沒有描述的數(shù)據(jù)的定義、結(jié)構(gòu)和關(guān)系等特性。數(shù)據(jù)的定義、結(jié)構(gòu)和關(guān)系等特性描述的是問題域內(nèi)事物的客觀存在狀況。過程模型的數(shù)據(jù)說明所描述的那么是系統(tǒng)或者手工對客觀事物的影響和操作方式。23續(xù)數(shù)據(jù)建模技術(shù)能夠彌補過程建模在數(shù)據(jù)說明方面的缺陷,它描述數(shù)據(jù)的定義、結(jié)構(gòu)和關(guān)系等特性。數(shù)據(jù)建模建立的模型稱為數(shù)據(jù)模型,是問題域和解系統(tǒng)共享的知識集合,通常能夠反映企業(yè)業(yè)務(wù)的核心知識。數(shù)據(jù)模型說明了問題域和解系統(tǒng)共享事物、對共享事物和描述和共享事物之間的關(guān)系。24實體關(guān)系圖〔ERD〕:一種數(shù)據(jù)模型,使用幾種圖形符號根據(jù)數(shù)據(jù)描述的實體和關(guān)系來刻畫數(shù)據(jù)。在需求工程中,數(shù)據(jù)建模建立的是概念數(shù)據(jù)模型和邏輯數(shù)據(jù)模型,不涉及物理數(shù)據(jù)模型。25續(xù)實體關(guān)系圖-ERDERD使用實體、屬性和關(guān)系三個根本的構(gòu)建單位來描述數(shù)據(jù)模型。在開展過程中,實體關(guān)系圖經(jīng)過了屢次的擴(kuò)展,開展出了很多分支。這些分支雖然在實體關(guān)系模型的內(nèi)容上大同小異,但是在圖示上卻大不相同,所以它沒有標(biāo)準(zhǔn)的表示法。ERD最常見的表示法是PerterChen表示法和JamesMartin〔IE,信息工程〕表示法。因為沒有標(biāo)準(zhǔn)的表示法,在實踐中常常會混合使用各種表示法。ERD-實體〔Entity〕在實踐中,除了靜態(tài)的事物和抽象的概念之外,行為和事件也是常見的實體類型。稱為進(jìn)程實體〔容易被無視的實體〕。數(shù)據(jù)建模中對行為和事件的建模是為了了解它們在某些時刻的快照或者它們的運行環(huán)境信息,而不是它們所表達(dá)出來的功能和達(dá)成的結(jié)果。例如:在普通商店的管理系統(tǒng)中,如果發(fā)生了一個銷售行為,系統(tǒng)會需要記錄下時間、地點、參與人員等行為發(fā)生時的環(huán)境信息,此時就需要將銷售行為建模為實體。在郵局的郵件投遞系統(tǒng)中,如果發(fā)生了一個投遞行為,系統(tǒng)需要知道投遞行為在各個投遞點時的表現(xiàn),此時系統(tǒng)就需要將投遞行為建模為實體以了解它在不同投遞點上的快照。ERD-屬性在確定了實體以后,還需要了解如何描述實體,屬性就是可以對實體進(jìn)行描述的特征。屬性以數(shù)字、代號、單詞、短語、文本乃至聲音和圖像的形式存在,一系列屬性的存在集成起來就可以描述一個實體的實例。屬性是實體的特征,不是數(shù)據(jù)。屬性會以一定的形式存在,這種存在才是數(shù)據(jù),被稱為屬性的值。在圖形表示法中,屬性通常使用名詞作為自己的名稱。ERD-關(guān)系實體并不是孤立存在的,它們之間互相交互,互相影響,共同支持業(yè)務(wù)任務(wù)的完成。關(guān)系就是存在于一個或多個實體之間的自然聯(lián)系。關(guān)系表達(dá)的不是實體物理上的聯(lián)系〔如車和車輪〕,而是邏輯上的鏈接〔如整體局部關(guān)系〕。所有關(guān)系隱含的都是雙向的,意味著它可以從兩個方向上解釋。在關(guān)系的命名上,通常使用動詞,表達(dá)關(guān)系中實體的相互作用。學(xué)生課程選擇找出下面DFD中的錯誤課堂練習(xí)一32課堂練習(xí)二車間填寫領(lǐng)料單給倉庫要求領(lǐng)料,庫長根據(jù)用料方案審批領(lǐng)料單,未批準(zhǔn)的退回車間,已批準(zhǔn)的領(lǐng)料單送到倉庫保管員處,由他查閱庫存帳。假設(shè)帳上有貨那么通知車間前來領(lǐng)料,否那么將缺貨通知采購人員。

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論