版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第十二章.過程建模南京大學(xué)軟件學(xué)院主要內(nèi)容n過程建模n數(shù)據(jù)流圖DFDn微規(guī)格說明n數(shù)據(jù)字典n模塊結(jié)構(gòu)圖nDFD的類型1. 過程建模結(jié)構(gòu)化建模n怎么理解復(fù)雜世界?q復(fù)雜簡單(分解)n簡單可理解性(最基本單位)n簡單(高內(nèi)聚)n簡單 VS 簡單(低耦合)q簡單復(fù)雜(接口和實現(xiàn))n結(jié)構(gòu)化建模q復(fù)雜世界復(fù)雜處理過程(事情的發(fā)生發(fā)展)q簡單過程(可表達的“函數(shù)”)n軟件“函數(shù)”、程序q復(fù)雜簡單n功能分解結(jié)構(gòu)q簡單復(fù)雜(函數(shù)調(diào)用)1. 過程建模n結(jié)構(gòu)化建模q過程建模,數(shù)據(jù)建模n過程建模是結(jié)構(gòu)化建模的核心方法q系統(tǒng)是過程的集合q過程可以被分解為子過程q最終的子過程可以被映射為計算實體函數(shù)q所有的系統(tǒng)都是由過
2、程構(gòu)建的n主要思想q用圖形的方式建立和描述良好的過程模型1. 過程建模主要內(nèi)容n過程建模n數(shù)據(jù)流圖DFDq基本元素q規(guī)則q層次結(jié)構(gòu)q層次結(jié)構(gòu)的建立qDFD的驗證n微規(guī)格說明n數(shù)據(jù)字典n模塊結(jié)構(gòu)圖nDFD的類型2.1 DFD的基本元素n外部實體q外部實體是指處于待構(gòu)建系統(tǒng)之外的人、組織、設(shè)備或者其他軟件系統(tǒng),它們不受系統(tǒng)的控制,開發(fā)者不能以任何方式操縱它們 q需要進行建模的外部實體是那些和待構(gòu)建的軟件系統(tǒng)之間存在著數(shù)據(jù)交互的外部實體,它們是待構(gòu)建系統(tǒng)的數(shù)據(jù)源或者數(shù)據(jù)目的地q所有的外部實體聯(lián)合起來構(gòu)成了軟件系統(tǒng)的外部上下文環(huán)境 2.1 DFD的基本元素n過程q過程是指施加于數(shù)據(jù)的動作或者行為,它們
3、使得數(shù)據(jù)發(fā)生變化,包括被轉(zhuǎn)換(transformed)、被存儲(stored)或者被分布(distributed) q可能是由軟件系統(tǒng)控制的,也可能是由人工執(zhí)行的,它重在數(shù)據(jù)發(fā)生變化的效果而不是其執(zhí)行者 q可能會表現(xiàn)為不同的抽象層次 n內(nèi)容足夠細節(jié)和具體,能夠?qū)ζ渲苯舆M行“編碼”處理的過程被稱為原始過程(Primitive Process,又稱為基本過程Elementary Process) 2.1 DFD的基本元素n數(shù)據(jù)流q數(shù)據(jù)流是指數(shù)據(jù)的運動,它是系統(tǒng)與其環(huán)境之間或者系統(tǒng)內(nèi)兩個過程之間的通信形式 q數(shù)據(jù)流可以分割和組合 q數(shù)據(jù)字典和ERD通常被用來描述DFD數(shù)據(jù)流的詳細內(nèi)容 xxxxzxy
4、wxxxxzxyw2.1 DFD的基本元素n數(shù)據(jù)存儲 q數(shù)據(jù)存儲是軟件系統(tǒng)需要在內(nèi)部收集、保存,以供日后使用的數(shù)據(jù)集合 q數(shù)據(jù)存儲的詳細內(nèi)容通常也是用數(shù)據(jù)字典和ERD來進行描述的2.1 DFD的基本元素示例: DeMarco2.1 DFD的基本元素示例: Gane-SarsonReturn2.2 規(guī)則n過程是對數(shù)據(jù)的處理,必須有輸入,也必須有輸出,而且輸入數(shù)據(jù)集和輸出數(shù)據(jù)集應(yīng)該存在差異XXXY2.2 規(guī)則n數(shù)據(jù)流是必須和過程產(chǎn)生關(guān)聯(lián)的,它要么是過程的數(shù)據(jù)輸入,要么是過程的數(shù)據(jù)輸出2.2 規(guī)則nDFD當(dāng)中所有的對象都應(yīng)該有一個可以唯一標(biāo)識自己的名稱。q過程使用動詞q外部實體、數(shù)據(jù)流和數(shù)據(jù)存儲使用
5、名詞2.3 層次結(jié)構(gòu)n依據(jù)所含過程的不同抽象程度,DFD可以在不同的抽象層次上進行系統(tǒng)的描述n一個比較抽象的過程可以被展開為一個子過程更加具體的DFD圖nDFD的層次結(jié)構(gòu)q上下文圖q0層圖qN層圖(N0)2.3 層次結(jié)構(gòu)n上下文圖q將整個系統(tǒng)看做是一個過程,這個過程實現(xiàn)系統(tǒng)的所有功能 ,是系統(tǒng)功能的最高抽象 n上下文圖中存在且僅存在一個過程,表示整個系統(tǒng)。這個單一的過程通常編號為0 n上下文圖中需要表示出所有和系統(tǒng)交互的外部實體,并描述交互的數(shù)據(jù)流,包括系統(tǒng)輸入和系統(tǒng)輸出 n上下文圖中不會出現(xiàn)數(shù)據(jù)存儲實例 q它非常適合于描述系統(tǒng)的應(yīng)用環(huán)境、定義系統(tǒng)的邊界 2.3 層次結(jié)構(gòu)n0層圖q位于上下文圖
6、下面一層,是上下文圖中單一過程的細節(jié)描述,是對該單一過程的第一次功能分解 q是整個系統(tǒng)的功能概圖 q0層圖應(yīng)該被描述的簡潔、清晰,需求工程師要根據(jù)系統(tǒng)的復(fù)雜度掌握0層圖中過程的抽象程度q示例 2.3 層次結(jié)構(gòu)nN層圖q對0層圖的過程分解產(chǎn)生的子圖稱為1層圖,對N層圖的過程分解后產(chǎn)生的子圖稱為N+1層圖(N0) ,過程分解是可以持續(xù)進行的,直至最終產(chǎn)生的子圖都是原始DFD圖q原始DFD圖可以進一步展開為n微規(guī)格說明n數(shù)據(jù)字典q在低于0層圖的子圖上通常不顯示外部實體 2.4 層次結(jié)構(gòu)的建立n建立步驟q創(chuàng)建上下文圖 q發(fā)現(xiàn)并建立DFD片斷 q根據(jù)DFD片斷組合產(chǎn)生0層圖;1.對0層圖的過程進行功能分
7、解,產(chǎn)生N層圖 2.4 層次結(jié)構(gòu)的建立1. 創(chuàng)建上下文圖n在需求獲取階段獲得的業(yè)務(wù)需求以及業(yè)務(wù)需求所決定的項目前景與范圍可以用來幫助建立系統(tǒng)的上下文圖 2.4 層次結(jié)構(gòu)的建立2. 發(fā)現(xiàn)并建立DFD片段nDFD片斷是系統(tǒng)對某個事件的響應(yīng)過程的DFD描述,它是為系統(tǒng)中發(fā)生的重要事件創(chuàng)建的。n它將系統(tǒng)對事件的處理看做是一個單一的過程,重點描述這個單一過程與事件外界(包括系統(tǒng)內(nèi)其他部分和系統(tǒng)外的外部實體)的數(shù)據(jù)流交互 2.4 層次結(jié)構(gòu)的建立3. 產(chǎn)生0層圖n往往需要多次調(diào)整DFD片段的整合結(jié)果才能得出n對DFD圖(尤其是0層圖)質(zhì)量的判定有下面幾個準(zhǔn)則:q1、沒有語法錯誤,遵守12.2.2所述的各項規(guī)
8、則。q2、具有良好的語義,過程的功能設(shè)置要高內(nèi)聚、低耦合。q3、保持數(shù)據(jù)一致性,過程的輸入流要足以產(chǎn)生數(shù)據(jù)輸出。同時過程的輸出流是在充分利用輸入數(shù)據(jù)的基礎(chǔ)上產(chǎn)生的,不存在輸入數(shù)據(jù)的浪費。q4、控制復(fù)雜度,不要一次在圖中顯示太多的信息。一般情況下,一個圖中的過程數(shù)量最好控制在59(人腦的最佳信息處理量)個。而且圖中的數(shù)據(jù)流數(shù)量越少越好,越簡潔越好(接口最小化)。2.4 層次結(jié)構(gòu)的建立4. 功能分解產(chǎn)生N層圖n功能分解是一個拆分功能的描述,將單個復(fù)雜的過程變?yōu)槎鄠€更加具體、更加精確和更加細節(jié)的過程 n在功能分解過程當(dāng)中,最重要的是要保證分解過程的平衡性(Balance) ,它要求DFD子圖的輸入流
9、、輸出流必須和父過程的輸入流、輸出流保持一致 Pxya ab bp1p2p3p4p5a ab bc cd de ef fg glevel nlevel n- -1 1level nlevel n2.4 層次結(jié)構(gòu)的建立4. 功能分解產(chǎn)生N層圖n在分解產(chǎn)生的子圖為下述情景之一時,可以判定其為原始DFD圖,此時應(yīng)該停止持續(xù)的功能分解活動:q所有過程都已經(jīng)被簡化為一個選擇、計算或者數(shù)據(jù)庫操作;q所有數(shù)據(jù)存儲都僅僅表示了一個單獨的數(shù)據(jù)實體;q用戶已經(jīng)不關(guān)心比子圖更為細節(jié)的內(nèi)容,或者子圖的描述已經(jīng)詳細的足以支持后續(xù)的開發(fā)活動;q每一個數(shù)據(jù)流都已經(jīng)不需要進行更詳細的切分,以展示對不同數(shù)據(jù)的不同處理方式;q每
10、一個業(yè)務(wù)表單、事務(wù)、計算機的屏幕顯示(computer on-line display)和業(yè)務(wù)報表都已經(jīng)被表示為一個單獨的數(shù)據(jù)流;q系統(tǒng)的每一個最低層菜單選項都能在子圖中找到獨立的過程。 2.4 層次結(jié)構(gòu)的建立 示例n使用DFD描述常見的電梯控制系統(tǒng)。q一個控制系統(tǒng)控制多個電梯。每個電梯被置于一個相應(yīng)甬道之中,在卷揚電機的作用下在甬道內(nèi)做上下運動。甬道內(nèi)安裝有多個傳感器,通常每個電梯停靠點一個,用來感應(yīng)電梯的實時位置。電梯內(nèi)部和建筑的每個電梯??繉佣荚O(shè)置有指示器,用來告知用戶的電梯實時位置和運動狀況。電梯內(nèi)和建筑的每個電梯停靠層都設(shè)有按鈕,用戶可以通過這些按鈕提出服務(wù)申請并進出電梯??刂葡到y(tǒng)調(diào)
11、度用戶的申請,讓電梯以最有效的方式滿足用戶的服務(wù)要求2.4 層次結(jié)構(gòu)的建立 示例:1. 建立上下文圖2.4 層次結(jié)構(gòu)的建立 示例:2.建立DFD片段2.4 層次結(jié)構(gòu)的建立 示例:2.建立DFD片段2.4 層次結(jié)構(gòu)的建立 示例:3.建立0層圖2.4 層次結(jié)構(gòu)的建立 示例:3.建立0層圖2.4 層次結(jié)構(gòu)的建立 示例:4.功能分解建立N層圖n無2.5 DFD的驗證n驗證DFD的語法 q確保DFD中不會發(fā)生語法錯誤 n驗證DFD的結(jié)構(gòu) q驗證DFD層次結(jié)構(gòu)之間的一致性 q驗證DFD層次結(jié)構(gòu)說明的完備性 n驗證DFD的語義 q確保DFD所說明內(nèi)容的正確性和準(zhǔn)確性 主要內(nèi)容n過程建模n數(shù)據(jù)流圖DFDn微規(guī)
12、格說明q結(jié)構(gòu)化英語/偽碼q行為圖q決策表q決策樹n數(shù)據(jù)字典n模塊結(jié)構(gòu)圖nDFD的類型3.1 結(jié)構(gòu)化英語/偽碼n敘述上采用了結(jié)構(gòu)化程序語言的三種控制結(jié)構(gòu):順序、條件決策和循環(huán);n使用了一些類似于結(jié)構(gòu)化程序語言關(guān)鍵字的詞語來表明敘述的邏輯,例如IF、THEN、ELSE、DO、DO WHILE、DO UNTIL等等;n在格式上,使用和結(jié)構(gòu)化程序語言相同的縮進方式來表明敘述的結(jié)構(gòu)。 n簡短語句 ,使用名詞和動詞,避免使用容易產(chǎn)生歧義的形容詞和副詞 自然語言結(jié)構(gòu)化英語偽碼程序語言3.1 結(jié)構(gòu)化英語/偽碼n示例3.2 行為圖n結(jié)構(gòu)化英語的一種特殊表達方式 ,用特定的圖示來表示過程的邏輯結(jié)構(gòu) 復(fù)復(fù)合合語語句
13、句順順序序條條件件選選擇擇set of activities treated as a unitaction 1 action 2one or more action executed in order they appearmutually exclusive set of actions executed conditionallyIF condition 1 action 1ELSE action 2循循環(huán)環(huán)嵌嵌套套從從嵌嵌套套中中退退出出REPEAT WHILE conditionIF condition3.2 行為圖示例Produce Customer InvoiceEnter cu
14、stomer name and address on invoiceIF customer SPECIAL get discount from discount file ELSE set discount to 0%FOR EACH sales itemCopy stock number and quantity to invoice Get unit price from price file Set subtotal to unit price x quantity x (100-discount)Set invoice total to sum of item subtotalsSet
15、 amount due to invoice total - amount paid3.3 決策表n條件聲明是進行決策時需要參考的變量列表n條件選項是那些變量可能的取值n動作聲明是決策后可能采取的動作n動作選項表明那些動作會在怎樣的條件下發(fā)生 條件和行動規(guī)則條件聲明(Condition Statement)條件選項(Condition Entry)行動聲明(Action Statement)行動選項(Action Entry)3.3 決策表示例條件和行動規(guī)則account-typeNOWNOWREGULARREGULARdaily-balance=300=100set service-char
16、ge to $5Xset service-charge to $0XXset service-charge to greater of $3 or $.20 timesX3.4 決策樹n通常是一顆平放的樹,樹根在左邊,樹枝從左向右展開。樹枝上是有關(guān)條件和行動的描述 主要內(nèi)容n過程建模n數(shù)據(jù)流圖DFDn微規(guī)格說明n數(shù)據(jù)字典n模塊結(jié)構(gòu)圖nDFD的類型4. 數(shù)據(jù)字典n數(shù)據(jù)字典是一個儲存庫,包含軟件使用和產(chǎn)生的所有數(shù)據(jù)對象的描述,其中也包括DFD當(dāng)中數(shù)據(jù)流和數(shù)據(jù)存儲的定義 n有組織地列出DFD中的涉及的所有數(shù)據(jù)元素(數(shù)據(jù)流、數(shù)據(jù)存儲),并定義每個數(shù)據(jù)元素的q名稱q表示方法q單位/格式q范圍q使用地點q
17、使用方法q其他描述信息 4. 數(shù)據(jù)字典數(shù)據(jù)結(jié)構(gòu)描述n數(shù)據(jù)字典要求對數(shù)據(jù)元素(尤其是其結(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)部的多個選項nm循環(huán),最少n次,最多m次Area_No=3Number4數(shù)據(jù)存儲的標(biāo)識符(關(guān)鍵字) Student=ID+Name+.*注釋Area_No=3Number4*區(qū)號為3到4位數(shù)字4. 數(shù)據(jù)字典數(shù)據(jù)結(jié)構(gòu)描述示例定義說明telephone n
18、o. = local extension | outside no. | 0 local extension = 30-93outside no. = 9 + service code | domestic no. service code = 110 | 120| domestic no. = (area code ) + local numberarea code = 30-94local number= 80-98電話號碼可能是內(nèi)線、外線或者轉(zhuǎn)接主機(撥0)內(nèi)線號碼是3位數(shù)字外線要先撥9,然后再撥特服號碼或普通電話號碼特服號碼有110、120、普通電話號碼為可選的區(qū)號加本地號區(qū)號是3到4
19、位數(shù)字本地號是8位數(shù)字4. 數(shù)據(jù)字典n數(shù)據(jù)字典為每個數(shù)據(jù)元素組織描述信息 名稱數(shù)據(jù)元素的原始名稱別名數(shù)據(jù)元素的其他名稱使用地點會使用該數(shù)據(jù)元素的過程使用方法該數(shù)據(jù)元素扮演的角色(輸入流、輸出流或者數(shù)據(jù)存儲等)使用范圍該數(shù)據(jù)元素存在的范圍描述對數(shù)據(jù)元素內(nèi)容的描述單位/格式數(shù)據(jù)元素的數(shù)據(jù)類型,可能事先設(shè)置的取值4. 數(shù)據(jù)字典示例名稱telephone number別名phone number, number使用的地點和方法read-phone-number (input)display-phone-number (output)analyze-long-distance-calls (input)描述telephone no. = local extension | outside no. | 0 local extension = 30-93outside no. = 9 + service code | domestic no. service code = 110 | 120| dome
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電影制作、發(fā)行和放映合同
- 職高電氣基礎(chǔ)課程設(shè)計答案
- 自動倒角機現(xiàn)狀課程設(shè)計
- 芣苢課程設(shè)計
- 自動化編程講解課程設(shè)計
- 苯乙醇課程設(shè)計
- 希臘國際高中課程設(shè)計
- 支教特色美術(shù)課程設(shè)計
- 碳匯課程設(shè)計
- 稅收情況工作總結(jié)
- 2024年01月11073法律文書期末試題答案
- 體系工程師年終總結(jié)
- 牙科診所復(fù)診患者就診流程圖
- 人教版初中語文名著導(dǎo)讀復(fù)習(xí)資料
- 湘藝版 四年級上冊音樂教案- 第五課 踩雨
- 魔方社團活動記錄-副本
- 第一節(jié)植物細胞的結(jié)構(gòu)和功能 (3)
- D502-15D502等電位聯(lián)結(jié)安裝圖集
- 設(shè)計風(fēng)速、覆冰的基準(zhǔn)和應(yīng)用
- 愛麗絲夢游仙境話劇中英文劇本
- 生物工程工廠設(shè)計
評論
0/150
提交評論