第12章過程建模_第1頁
第12章過程建模_第2頁
第12章過程建模_第3頁
第12章過程建模_第4頁
第12章過程建模_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第12章.過程(guòchéng)建模共五十七頁主要(zhǔyào)內(nèi)容過程建模數(shù)據(jù)流圖DFD微規(guī)格說明數(shù)據(jù)字典(zìdiǎn)模塊結(jié)構(gòu)圖DFD的類型共五十七頁1.過程(guòchéng)建模

——結(jié)構(gòu)化建模怎么理解(lǐjiě)復(fù)雜世界?復(fù)雜->簡單(分解)簡單->可理解性(最基本單位)簡單(高內(nèi)聚)簡單VS簡單(低耦合)簡單->復(fù)雜(接口和實現(xiàn))結(jié)構(gòu)化建模復(fù)雜世界->復(fù)雜處理過程(事情的發(fā)生發(fā)展)簡單->過程(可表達(dá)的“函數(shù)”)軟件“函數(shù)”、程序復(fù)雜簡單功能分解結(jié)構(gòu)簡單->復(fù)雜(函數(shù)調(diào)用)共五十七頁1.過程(guòchéng)建模結(jié)構(gòu)化建模過程建模,數(shù)據(jù)(shùjù)建模過程建模是結(jié)構(gòu)化建模的核心方法系統(tǒng)是過程的集合過程可以被分解為子過程最終的子過程可以被映射為計算實體——函數(shù)所有的系統(tǒng)都是由過程構(gòu)建的主要思想用圖形的方式建立和描述良好的過程模型共五十七頁1.過程(guòchéng)建模共五十七頁主要(zhǔyào)內(nèi)容過程建模數(shù)據(jù)流圖DFD基本元素(yuánsù)規(guī)則層次結(jié)構(gòu)層次結(jié)構(gòu)的建立DFD的驗證微規(guī)格說明數(shù)據(jù)字典模塊結(jié)構(gòu)圖DFD的類型共五十七頁2.1DFD的基本(jīběn)元素外部實體外部實體是指處于待構(gòu)建系統(tǒng)之外的人、組織、設(shè)備或者其他軟件系統(tǒng),它們不受系統(tǒng)的控制,開發(fā)者不能以任何方式操縱它們需要進(jìn)行(jìnxíng)建模的外部實體是那些和待構(gòu)建的軟件系統(tǒng)之間存在著數(shù)據(jù)交互的外部實體,它們是待構(gòu)建系統(tǒng)的數(shù)據(jù)源或者數(shù)據(jù)目的地所有的外部實體聯(lián)合起來構(gòu)成了軟件系統(tǒng)的外部上下文環(huán)境共五十七頁2.1DFD的基本(jīběn)元素過程過程是指施加于數(shù)據(jù)的動作或者行為,它們使得數(shù)據(jù)發(fā)生變化,包括被轉(zhuǎn)換(transformed)、被存儲(stored)或者被分布(distributed)可能是由軟件系統(tǒng)控制的,也可能是由人工執(zhí)行的,它重在數(shù)據(jù)發(fā)生變化的效果而不是其執(zhí)行者可能會表現(xiàn)為不同的抽象層次內(nèi)容足夠細(xì)節(jié)和具體,能夠(nénggòu)對其直接進(jìn)行“編碼”處理的過程被稱為原始過程(PrimitiveProcess,又稱為基本過程ElementaryProcess)共五十七頁2.1DFD的基本(jīběn)元素數(shù)據(jù)流數(shù)據(jù)流是指數(shù)據(jù)的運動,它是系統(tǒng)與其環(huán)境之間或者系統(tǒng)內(nèi)兩個過程之間的通信形式數(shù)據(jù)流可以分割(fēngē)和組合數(shù)據(jù)字典和ERD通常被用來描述DFD數(shù)據(jù)流的詳細(xì)內(nèi)容共五十七頁2.1DFD的基本(jīběn)元素數(shù)據(jù)(shùjù)存儲數(shù)據(jù)存儲是軟件系統(tǒng)需要在內(nèi)部收集、保存,以供日后使用的數(shù)據(jù)集合數(shù)據(jù)存儲的詳細(xì)內(nèi)容通常也是用數(shù)據(jù)字典和ERD來進(jìn)行描述的共五十七頁2.1DFD的基本元素(yuánsù)

——示例:DeMarco共五十七頁2.1DFD的基本(jīběn)元素

——示例:Gane-SarsonReturn共五十七頁2.2規(guī)則(guīzé)過程是對數(shù)據(jù)的處理(chǔlǐ),必須有輸入,也必須有輸出,而且輸入數(shù)據(jù)集和輸出數(shù)據(jù)集應(yīng)該存在差異XXXY共五十七頁2.2規(guī)則(guīzé)數(shù)據(jù)流是必須和過程(guòchéng)產(chǎn)生關(guān)聯(lián)的,它要么是過程(guòchéng)的數(shù)據(jù)輸入,要么是過程(guòchéng)的數(shù)據(jù)輸出共五十七頁2.2規(guī)則(guīzé)DFD當(dāng)中所有的對象都應(yīng)該有一個可以唯一標(biāo)識自己的名稱。過程使用動詞外部(wàibù)實體、數(shù)據(jù)流和數(shù)據(jù)存儲使用名詞共五十七頁2.3層次結(jié)構(gòu)依據(jù)所含過程的不同抽象(chōuxiàng)程度,DFD可以在不同的抽象層次上進(jìn)行系統(tǒng)的描述一個比較抽象的過程可以被展開為一個子過程更加具體的DFD圖DFD的層次結(jié)構(gòu)上下文圖0層圖N層圖(N>0)共五十七頁2.3層次結(jié)構(gòu)上下文圖將整個(zhěnggè)系統(tǒng)看做是一個過程,這個過程實現(xiàn)系統(tǒng)的所有功能,是系統(tǒng)功能的最高抽象上下文圖中存在且僅存在一個過程,表示整個系統(tǒng)。這個單一的過程通常編號為0上下文圖中需要表示出所有和系統(tǒng)交互的外部實體,并描述交互的數(shù)據(jù)流,包括系統(tǒng)輸入和系統(tǒng)輸出上下文圖中不會出現(xiàn)數(shù)據(jù)存儲實例它非常適合于描述系統(tǒng)的應(yīng)用環(huán)境、定義系統(tǒng)的邊界共五十七頁2.3層次結(jié)構(gòu)0層圖位于上下文圖下面一層,是上下文圖中單一過程的細(xì)節(jié)描述,是對該單一過程的第一次功能分解是整個系統(tǒng)的功能概圖0層圖應(yīng)該(yīnggāi)被描述的簡潔、清晰,需求工程師要根據(jù)系統(tǒng)的復(fù)雜度掌握0層圖中過程的抽象程度示例共五十七頁2.3層次結(jié)構(gòu)N層圖對0層圖的過程分解產(chǎn)生的子圖稱為1層圖,對N層圖的過程分解后產(chǎn)生的子圖稱為N+1層圖(N>0),過程分解是可以持續(xù)進(jìn)行(jìnxíng)的,直至最終產(chǎn)生的子圖都是原始DFD圖原始DFD圖可以進(jìn)一步展開為微規(guī)格說明數(shù)據(jù)字典在低于0層圖的子圖上通常不顯示外部實體共五十七頁2.4層次結(jié)構(gòu)的建立(jiànlì)建立步驟創(chuàng)建(chuàngjiàn)上下文圖發(fā)現(xiàn)并建立DFD片斷根據(jù)DFD片斷組合產(chǎn)生0層圖;對0層圖的過程進(jìn)行功能分解,產(chǎn)生N層圖共五十七頁2.4層次結(jié)構(gòu)的建立(jiànlì)

——1.創(chuàng)建上下文圖在需求獲取階段(jiēduàn)獲得的業(yè)務(wù)需求以及業(yè)務(wù)需求所決定的項目前景與范圍可以用來幫助建立系統(tǒng)的上下文圖共五十七頁2.4層次結(jié)構(gòu)的建立

——2.發(fā)現(xiàn)(fāxiàn)并建立DFD片段DFD片斷是系統(tǒng)對某個事件的響應(yīng)過程的DFD描述,它是為系統(tǒng)中發(fā)生的重要事件創(chuàng)建的。它將系統(tǒng)對事件的處理看做是一個(yīɡè)單一的過程,重點描述這個單一過程與事件外界(包括系統(tǒng)內(nèi)其他部分和系統(tǒng)外的外部實體)的數(shù)據(jù)流交互共五十七頁2.4層次結(jié)構(gòu)的建立(jiànlì)

——3.產(chǎn)生0層圖往往需要多次調(diào)整DFD片段的整合結(jié)果才能得出對DFD圖(尤其是0層圖)質(zhì)量(zhìliàng)的判定有下面幾個準(zhǔn)則:1、沒有語法錯誤,遵守12.2.2所述的各項規(guī)則。2、具有良好的語義,過程的功能設(shè)置要高內(nèi)聚、低耦合。3、保持?jǐn)?shù)據(jù)一致性,過程的輸入流要足以產(chǎn)生數(shù)據(jù)輸出。同時過程的輸出流是在充分利用輸入數(shù)據(jù)的基礎(chǔ)上產(chǎn)生的,不存在輸入數(shù)據(jù)的浪費。4、控制復(fù)雜度,不要一次在圖中顯示太多的信息。一般情況下,一個圖中的過程數(shù)量最好控制在5~9(人腦的最佳信息處理量)個。而且圖中的數(shù)據(jù)流數(shù)量越少越好,越簡潔越好(接口最小化)。共五十七頁2.4層次結(jié)構(gòu)的建立

——4.功能(gōngnéng)分解產(chǎn)生N層圖功能分解(fēnjiě)是一個拆分功能的描述,將單個復(fù)雜的過程變?yōu)槎鄠€更加具體、更加精確和更加細(xì)節(jié)的過程在功能分解過程當(dāng)中,最重要的是要保證分解過程的平衡性(Balance),它要求DFD子圖的輸入流、輸出流必須和父過程的輸入流、輸出流保持一致共五十七頁2.4層次結(jié)構(gòu)的建立

——4.功能(gōngnéng)分解產(chǎn)生N層圖在分解產(chǎn)生的子圖為下述情景之一時,可以判定其為原始DFD圖,此時應(yīng)該停止持續(xù)的功能分解活動:所有過程都已經(jīng)被簡化為一個選擇、計算或者數(shù)據(jù)庫操作;所有數(shù)據(jù)存儲都僅僅表示了一個單獨的數(shù)據(jù)實體;用戶已經(jīng)不關(guān)心(guān〃xīn)比子圖更為細(xì)節(jié)的內(nèi)容,或者子圖的描述已經(jīng)詳細(xì)的足以支持后續(xù)的開發(fā)活動;每一個數(shù)據(jù)流都已經(jīng)不需要進(jìn)行更詳細(xì)的切分,以展示對不同數(shù)據(jù)的不同處理方式;每一個業(yè)務(wù)表單、事務(wù)、計算機(jī)的屏幕顯示(computeron-linedisplay)和業(yè)務(wù)報表都已經(jīng)被表示為一個單獨的數(shù)據(jù)流;系統(tǒng)的每一個最低層菜單選項都能在子圖中找到獨立的過程。共五十七頁2.4層次結(jié)構(gòu)的建立(jiànlì)

——

示例使用DFD描述常見的電梯控制系統(tǒng)。一個控制系統(tǒng)控制多個電梯。每個電梯被置于一個相應(yīng)甬道(yǒngdào)之中,在卷揚(yáng)電機(jī)的作用下在甬道(yǒngdào)內(nèi)做上下運動。甬道(yǒngdào)內(nèi)安裝有多個傳感器,通常每個電梯??奎c一個,用來感應(yīng)電梯的實時位置。電梯內(nèi)部和建筑的每個電梯??繉佣荚O(shè)置有指示器,用來告知用戶的電梯實時位置和運動狀況。電梯內(nèi)和建筑的每個電梯??繉佣荚O(shè)有按鈕,用戶可以通過這些按鈕提出服務(wù)申請并進(jìn)出電梯。控制系統(tǒng)調(diào)度用戶的申請,讓電梯以最有效的方式滿足用戶的服務(wù)要求共五十七頁2.4層次結(jié)構(gòu)的建立(jiànlì)

——

示例:1.建立上下文圖共五十七頁2.4層次結(jié)構(gòu)的建立(jiànlì)

——

示例:2.建立DFD片段共五十七頁2.4層次結(jié)構(gòu)的建立

——

示例(shìlì):2.建立DFD片段共五十七頁2.4層次結(jié)構(gòu)的建立(jiànlì)

——

示例:3.建立0層圖共五十七頁2.4層次結(jié)構(gòu)的建立(jiànlì)

——

示例:3.建立0層圖共五十七頁2.4層次結(jié)構(gòu)的建立

——

示例(shìlì):4.功能分解建立N層圖無共五十七頁2.5DFD的驗證(yànzhèng)驗證DFD的語法(yǔfǎ)

確保DFD中不會發(fā)生語法錯誤驗證DFD的結(jié)構(gòu)驗證DFD層次結(jié)構(gòu)之間的一致性驗證DFD層次結(jié)構(gòu)說明的完備性驗證DFD的語義確保DFD所說明內(nèi)容的正確性和準(zhǔn)確性共五十七頁主要(zhǔyào)內(nèi)容過程建模數(shù)據(jù)流圖DFD微規(guī)格說明結(jié)構(gòu)化英語/偽碼行為(xíngwéi)圖決策表決策樹數(shù)據(jù)字典模塊結(jié)構(gòu)圖DFD的類型共五十七頁3.1結(jié)構(gòu)化英語(yīnɡyǔ)/偽碼敘述上采用了結(jié)構(gòu)化程序語言的三種控制結(jié)構(gòu):順序、條件決策和循環(huán);使用了一些類似于結(jié)構(gòu)化程序語言關(guān)鍵字的詞語來表明敘述的邏輯,例如IF、THEN、ELSE、DO、DOWHILE、DOUNTIL等等;在格式上,使用和結(jié)構(gòu)化程序語言相同的縮進(jìn)方式來表明敘述的結(jié)構(gòu)。簡短語句,使用名詞和動詞,避免使用容易產(chǎn)生歧義(qíyì)的形容詞和副詞共五十七頁3.1結(jié)構(gòu)化英語(yīnɡyǔ)/偽碼示例(shìlì)共五十七頁3.2行為(xíngwéi)圖結(jié)構(gòu)化英語的一種特殊(tèshū)表達(dá)方式,用特定的圖示來表示過程的邏輯結(jié)構(gòu)共五十七頁3.2行為(xíngwéi)圖示例共五十七頁3.3決策表條件(tiáojiàn)聲明是進(jìn)行決策時需要參考的變量列表條件選項是那些變量可能的取值動作聲明是決策后可能采取的動作動作選項表明那些動作會在怎樣的條件下發(fā)生條件和行動規(guī)則條件聲明(ConditionStatement)條件選項(ConditionEntry)行動聲明(ActionStatement)行動選項(ActionEntry)共五十七頁3.3決策表

——示例(shìlì)條件和行動規(guī)則account-typeNOWNOWREGULARREGULARdaily-balance<300>=300<100>=100setservice-chargeto$5Xsetservice-chargeto$0XXsetservice-chargetogreaterof$3or$.20timesX共五十七頁3.4決策樹通常是一顆平放的樹,樹根在左邊(zuǒbian),樹枝從左向右展開。樹枝上是有關(guān)條件和行動的描述共五十七頁主要(zhǔyào)內(nèi)容過程(guòchéng)建模數(shù)據(jù)流圖DFD微規(guī)格說明數(shù)據(jù)字典模塊結(jié)構(gòu)圖DFD的類型共五十七頁4.數(shù)據(jù)(shùjù)字典數(shù)據(jù)字典是一個儲存庫,包含軟件使用和產(chǎn)生的所有數(shù)據(jù)對象的描述,其中也包括DFD當(dāng)中數(shù)據(jù)流和數(shù)據(jù)存儲的定義有組織地列出DFD中的涉及的所有數(shù)據(jù)元素(數(shù)據(jù)流、數(shù)據(jù)存儲),并定義每個數(shù)據(jù)元素的名稱(míngchēng)表示方法單位/格式范圍使用地點使用方法其他描述信息共五十七頁4.數(shù)據(jù)(shùjù)字典

——數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)字典要求對數(shù)據(jù)元素(yuánsù)(尤其是其結(jié)構(gòu))的描述要精確、嚴(yán)格和明確符號含義示例=包含,由…構(gòu)成Name=first_name+last_name+指明序列結(jié)構(gòu)()內(nèi)容可選Phone_No.=(Area_No.)+Local_No.[]內(nèi)容多選一Number=[0|1|2|3|4|5|6|7|8|9]|分割[]內(nèi)部的多個選項n{}m循環(huán),最少n次,最多m次Area_No=3{Number}4@數(shù)據(jù)存儲的標(biāo)識符(關(guān)鍵字)Student=@ID+Name+...**注釋Area_No=3{Number}4**區(qū)號為3到4位數(shù)字共五十七頁4.數(shù)據(jù)(shùjù)字典

——數(shù)據(jù)結(jié)構(gòu)描述示例定義說明telephoneno.=[localextension|outsideno.|0]localextension=3{0-9}3outsideno.=9+[servicecode|domesticno.]servicecode=[110|120|…]domesticno.=(areacode)+localnumberareacode=3{0-9}4localnumber=8{0-9}8電話號碼可能是內(nèi)線、外線或者轉(zhuǎn)接主機(jī)(撥0)內(nèi)線號碼是3位數(shù)字外線要先撥9,然后再撥特服號碼或普通電話號碼特服號碼有110、120、…普通電話號碼為可選的區(qū)號加本地號區(qū)號是3到4位數(shù)字本地號是8位數(shù)字共五十七頁4.數(shù)據(jù)(shùjù)字典數(shù)據(jù)字典為每個數(shù)據(jù)元素(yuánsù)組織描述信息名稱數(shù)據(jù)元素的原始名稱別名數(shù)據(jù)元素的其他名稱使用地點會使用該數(shù)據(jù)元素的過程使用方法該數(shù)據(jù)元素扮演的角色(輸入流、輸出流或者數(shù)據(jù)存儲等)使用范圍該數(shù)據(jù)元素存在的范圍描述對數(shù)據(jù)元素內(nèi)容的描述單位/格式數(shù)據(jù)元素的數(shù)據(jù)類型,可能事先設(shè)置的取值共五十七頁4.數(shù)據(jù)字典(zìdiǎn)

——示例名稱telephonenumber別名phonenumber,number使用的地點和方法read-phone-number(input)display-phone-number(output)analyze-long-distance-calls(input)描述telephoneno.=[localextension|outsideno.|0]localextension=3{0-9}3outsideno.=9+[servicecode|domesticno.]servicecode=[110|120|…]domesticno.=(areacode)+localnumberareacode=3{0-9}4localnumber=8{0-9}8格式alphanumericdata共五十七頁主要(zhǔyào)內(nèi)容過程建模數(shù)據(jù)流圖DFD微規(guī)格說明數(shù)據(jù)字典(zìdiǎn)模塊結(jié)構(gòu)圖功能分解圖過程依賴圖DFD的類型共五十七頁5.1功能(gōngnéng)分解圖在一個圖內(nèi)自上至下的集中顯示系統(tǒng)的功能分解結(jié)構(gòu)最頂層的單獨功能通常是對整個系統(tǒng)的使命描述,是對系統(tǒng)業(yè)務(wù)需求的概括系統(tǒng)使命說明的下一層被稱為(chēnɡwéi)功能的最頂層,描述了系統(tǒng)應(yīng)該具備的一些重要功能,它們支撐著系統(tǒng)使命的實現(xiàn)功能最頂

溫馨提示

  • 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

提交評論