《軟件需求分析》教學PPT
《軟件需求分析》教學PPT,軟件需求分析,軟件,需求,分析,教學,PPT
第12章.過程建模主要內容1.過程建模2.數據流圖DFD3.微規(guī)格說明4.數據字典5.模塊結構圖6.DFD的類型1.過程建模結構化建模n怎么理解復雜世界?q復雜簡單(分解)n簡單可理解性(最基本單位)n簡單(高內聚)n簡單 VS 簡單(低耦合)q簡單復雜(接口和實現(xiàn))n結構化建模q復雜世界復雜處理過程(事情的發(fā)生發(fā)展)q簡單過程(可表達的“函數”)n軟件“函數”、程序q復雜簡單n功能分解結構q簡單復雜(函數調用)1.過程建模n結構化建模q過程建模,數據建模n過程建模是結構化建模的核心方法q系統(tǒng)是過程的集合q過程可以被分解為子過程q最終的子過程可以被映射為計算實體函數q所有的系統(tǒng)都是由過程構建的n主要思想q用圖形的方式建立和描述良好的過程模型1.過程建模主要內容1.過程建模2.數據流圖DFD1.基本元素2.規(guī)則3.層次結構4.層次結構的建立5.DFD的驗證3.微規(guī)格說明4.數據字典5.模塊結構圖6.DFD的類型2.1 DFD的基本元素n外部實體q外部實體是指處于待構建系統(tǒng)之外的人、組織、設備或者其他軟件系統(tǒng),它們不受系統(tǒng)的控制,開發(fā)者不能以任何方式操縱它們 q需要進行建模的外部實體是那些和待構建的軟件系統(tǒng)之間存在著數據交互的外部實體,它們是待構建系統(tǒng)的數據源或者數據目的地q所有的外部實體聯(lián)合起來構成了軟件系統(tǒng)的外部上下文環(huán)境 2.1 DFD的基本元素n過程q過程是指施加于數據的動作或者行為,它們使得數據發(fā)生變化,包括被轉換(transformed)、被存儲(stored)或者被分布(distributed)q可能是由軟件系統(tǒng)控制的,也可能是由人工執(zhí)行的,它重在數據發(fā)生變化的效果而不是其執(zhí)行者 q可能會表現(xiàn)為不同的抽象層次 n內容足夠細節(jié)和具體,能夠對其直接進行“編碼”處理的過程被稱為原始過程(Primitive Process,又稱為基本過程Elementary Process)2.1 DFD的基本元素n數據流q數據流是指數據的運動,它是系統(tǒng)與其環(huán)境之間或者系統(tǒng)內兩個過程之間的通信形式 q數據流可以分割和組合 q數據字典和ERD通常被用來描述DFD數據流的詳細內容 2.1 DFD的基本元素n數據存儲 q數據存儲是軟件系統(tǒng)需要在內部收集、保存,以供日后使用的數據集合 q數據存儲的詳細內容通常也是用數據字典和ERD來進行描述的2.1 DFD的基本元素示例:DeMarco2.1 DFD的基本元素示例:Gane-SarsonReturn2.2 規(guī)則n過程是對數據的處理,必須有輸入,也必須有輸出,而且輸入數據集和輸出數據集應該存在差異XXXY2.2 規(guī)則n數據流是必須和過程產生關聯(lián)的,它要么是過程的數據輸入,要么是過程的數據輸出2.2 規(guī)則nDFD當中所有的對象都應該有一個可以唯一標識自己的名稱。q過程使用動詞q外部實體、數據流和數據存儲使用名詞2.3 層次結構n依據所含過程的不同抽象程度,DFD可以在不同的抽象層次上進行系統(tǒng)的描述n一個比較抽象的過程可以被展開為一個子過程更加具體的DFD圖nDFD的層次結構q上下文圖q0層圖qN層圖(N0)2.3 層次結構n上下文圖q將整個系統(tǒng)看做是一個過程,這個過程實現(xiàn)系統(tǒng)的所有功能,是系統(tǒng)功能的最高抽象 n上下文圖中存在且僅存在一個過程,表示整個系統(tǒng)。這個單一的過程通常編號為0 n上下文圖中需要表示出所有和系統(tǒng)交互的外部實體,并描述交互的數據流,包括系統(tǒng)輸入和系統(tǒng)輸出 n上下文圖中不會出現(xiàn)數據存儲實例 q它非常適合于描述系統(tǒng)的應用環(huán)境、定義系統(tǒng)的邊界 2.3 層次結構n0層圖q位于上下文圖下面一層,是上下文圖中單一過程的細節(jié)描述,是對該單一過程的第一次功能分解 q是整個系統(tǒng)的功能概圖 q0層圖應該被描述的簡潔、清晰,需求工程師要根據系統(tǒng)的復雜度掌握0層圖中過程的抽象程度q示例 2.3 層次結構nN層圖q對0層圖的過程分解產生的子圖稱為1層圖,對N層圖的過程分解后產生的子圖稱為N+1層圖(N0),過程分解是可以持續(xù)進行的,直至最終產生的子圖都是原始DFD圖q原始DFD圖可以進一步展開為n微規(guī)格說明n數據字典q在低于0層圖的子圖上通常不顯示外部實體 2.4 層次結構的建立n建立步驟1.創(chuàng)建上下文圖 2.發(fā)現(xiàn)并建立DFD片斷 3.根據DFD片斷組合產生0層圖;4.對0層圖的過程進行功能分解,產生N層圖 2.4 層次結構的建立1.創(chuàng)建上下文圖n在需求獲取階段獲得的業(yè)務需求以及業(yè)務需求所決定的項目前景與范圍可以用來幫助建立系統(tǒng)的上下文圖 2.4 層次結構的建立2.發(fā)現(xiàn)并建立DFD片段nDFD片斷是系統(tǒng)對某個事件的響應過程的DFD描述,它是為系統(tǒng)中發(fā)生的重要事件創(chuàng)建的。n它將系統(tǒng)對事件的處理看做是一個單一的過程,重點描述這個單一過程與事件外界(包括系統(tǒng)內其他部分和系統(tǒng)外的外部實體)的數據流交互 2.4 層次結構的建立3.產生0層圖n往往需要多次調整DFD片段的整合結果才能得出n對DFD圖(尤其是0層圖)質量的判定有下面幾個準則:q1、沒有語法錯誤,遵守12.2.2所述的各項規(guī)則。q2、具有良好的語義,過程的功能設置要高內聚、低耦合。q3、保持數據一致性,過程的輸入流要足以產生數據輸出。同時過程的輸出流是在充分利用輸入數據的基礎上產生的,不存在輸入數據的浪費。q4、控制復雜度,不要一次在圖中顯示太多的信息。一般情況下,一個圖中的過程數量最好控制在59(人腦的最佳信息處理量)個。而且圖中的數據流數量越少越好,越簡潔越好(接口最小化)。2.4 層次結構的建立4.功能分解產生N層圖n功能分解是一個拆分功能的描述,將單個復雜的過程變?yōu)槎鄠€更加具體、更加精確和更加細節(jié)的過程 n在功能分解過程當中,最重要的是要保證分解過程的平衡性(Balance),它要求DFD子圖的輸入流、輸出流必須和父過程的輸入流、輸出流保持一致 2.4 層次結構的建立4.功能分解產生N層圖n在分解產生的子圖為下述情景之一時,可以判定其為原始DFD圖,此時應該停止持續(xù)的功能分解活動:q所有過程都已經被簡化為一個選擇、計算或者數據庫操作;q所有數據存儲都僅僅表示了一個單獨的數據實體;q用戶已經不關心比子圖更為細節(jié)的內容,或者子圖的描述已經詳細的足以支持后續(xù)的開發(fā)活動;q每一個數據流都已經不需要進行更詳細的切分,以展示對不同數據的不同處理方式;q每一個業(yè)務表單、事務、計算機的屏幕顯示(computer on-line display)和業(yè)務報表都已經被表示為一個單獨的數據流;q系統(tǒng)的每一個最低層菜單選項都能在子圖中找到獨立的過程。2.4 層次結構的建立 示例n使用DFD描述常見的電梯控制系統(tǒng)。q一個控制系統(tǒng)控制多個電梯。每個電梯被置于一個相應甬道之中,在卷揚電機的作用下在甬道內做上下運動。甬道內安裝有多個傳感器,通常每個電梯??奎c一個,用來感應電梯的實時位置。電梯內部和建筑的每個電梯??繉佣荚O置有指示器,用來告知用戶的電梯實時位置和運動狀況。電梯內和建筑的每個電梯停靠層都設有按鈕,用戶可以通過這些按鈕提出服務申請并進出電梯。控制系統(tǒng)調度用戶的申請,讓電梯以最有效的方式滿足用戶的服務要求2.4 層次結構的建立 示例:1.建立上下文圖2.4 層次結構的建立 示例:2.建立DFD片段2.4 層次結構的建立 示例:2.建立DFD片段2.4 層次結構的建立 示例:3.建立0層圖2.4 層次結構的建立 示例:3.建立0層圖2.4 層次結構的建立 示例:4.功能分解建立N層圖n無2.5 DFD的驗證n驗證DFD的語法 q確保DFD中不會發(fā)生語法錯誤 n驗證DFD的結構 q驗證DFD層次結構之間的一致性 q驗證DFD層次結構說明的完備性 n驗證DFD的語義 q確保DFD所說明內容的正確性和準確性 主要內容1.過程建模2.數據流圖DFD3.微規(guī)格說明1.結構化英語/偽碼2.行為圖3.決策表4.決策樹4.數據字典5.模塊結構圖6.DFD的類型3.1 結構化英語/偽碼n敘述上采用了結構化程序語言的三種控制結構:順序、條件決策和循環(huán);n使用了一些類似于結構化程序語言關鍵字的詞語來表明敘述的邏輯,例如IF、THEN、ELSE、DO、DO WHILE、DO UNTIL等等;n在格式上,使用和結構化程序語言相同的縮進方式來表明敘述的結構。n簡短語句,使用名詞和動詞,避免使用容易產生歧義的形容詞和副詞 3.1 結構化英語/偽碼n示例3.2 行為圖n結構化英語的一種特殊表達方式,用特定的圖示來表示過程的邏輯結構 3.2 行為圖示例3.3 決策表n條件聲明是進行決策時需要參考的變量列表n條件選項是那些變量可能的取值n動作聲明是決策后可能采取的動作n動作選項表明那些動作會在怎樣的條件下發(fā)生 條件和行動規(guī)則條件聲明(Condition Statement)條件選項(Condition Entry)行動聲明(Action Statement)行動選項(Action Entry)3.3 決策表示例條件和行動規(guī)則account-typeNOWNOWREGULARREGULARdaily-balance=300=100set service-charge to$5Xset service-charge to$0XXset service-charge to greater of$3 or$.20 timesX3.4 決策樹n通常是一顆平放的樹,樹根在左邊,樹枝從左向右展開。樹枝上是有關條件和行動的描述 主要內容1.過程建模2.數據流圖DFD3.微規(guī)格說明4.數據字典5.模塊結構圖6.DFD的類型4.數據字典n數據字典是一個儲存庫,包含軟件使用和產生的所有數據對象的描述,其中也包括DFD當中數據流和數據存儲的定義 n有組織地列出DFD中的涉及的所有數據元素(數據流、數據存儲),并定義每個數據元素的q名稱q表示方法q單位/格式q范圍q使用地點q使用方法q其他描述信息 4.數據字典數據結構描述n數據字典要求對數據元素(尤其是其結構)的描述要精確、嚴格和明確 符號含義示例=包含,由構成Name=first_name+last_name+指明序列結構()內容可選Phone_No.=(Area_No.)+Local_No.內容多選一Number=0|1|2|3|4|5|6|7|8|9|分割內部的多個選項nm循環(huán),最少n次,最多m次Area_No=3Number4數據存儲的標識符(關鍵字)Student=ID+Name+.*注釋Area_No=3Number4*區(qū)號為3到4位數字4.數據字典數據結構描述示例定義說明telephone no.=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電話號碼可能是內線、外線或者轉接主機(撥0)內線號碼是3位數字外線要先撥9,然后再撥特服號碼或普通電話號碼特服號碼有110、120、普通電話號碼為可選的區(qū)號加本地號區(qū)號是3到4位數字本地號是8位數字4.數據字典n數據字典為每個數據元素組織描述信息 名稱數據元素的原始名稱別名數據元素的其他名稱使用地點會使用該數據元素的過程使用方法該數據元素扮演的角色(輸入流、輸出流或者數據存儲等)使用范圍該數據元素存在的范圍描述對數據元素內容的描述單位/格式數據元素的數據類型,可能事先設置的取值4.數據字典示例名稱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|domestic no.=(area code)+local numberarea code=30-94local number=80-98格式alphanumeric data主要內容1.過程建模2.數據流圖DFD3.微規(guī)格說明4.數據字典5.模塊結構圖1.功能分解圖2.過程依賴圖6.DFD的類型5.1 功能分解圖n在一個圖內自上至下的集中顯示系統(tǒng)的功能分解結構 q最頂層的單獨功能通常是對整個系統(tǒng)的使命描述,是對系統(tǒng)業(yè)務需求的概括 q系統(tǒng)使命說明的下一層被稱為功能的最頂層,描述了系統(tǒng)應該具備的一些重要功能,它們支撐著系統(tǒng)使命的實現(xiàn) q功能最頂層下面的分支是對最頂層功能執(zhí)行分解后形成的層次關系 q最底層的是基本的業(yè)務功能。這些基本的業(yè)務功能是人們所能找到的最基本的、不可再細分的功能或處理n能夠更加集中、更加直觀的展示大量過程之間的層次關系 5.1 功能分解圖5.1 功能分解圖5.2 過程依賴圖n描述功能和過程之間的依賴關系 q數據依賴關系q資源依賴關系q約束依賴關系 主要內容1.過程建模2.數據流圖DFD3.微規(guī)格說明4.數據字典5.模塊結構圖6.DFD的類型6.DFD的類型6.DFD的類型本章小結n結構化分析的主要方法是過程建模和數據建模,其中過程建模是其核心n過程建模以DFD為中心,結合使用微規(guī)格說明、數據字典、ERD、FDD、PDD等技術一起完成結構化分析的建模任務nDFD建立在四種簡單的元素之上,使用層次結構表達了功能分解關系,它是一種簡潔、易于理解和使用的技術,但是它較用于建模復雜系統(tǒng)
收藏
編號:67120358
類型:共享資源
大小:13.48MB
格式:ZIP
上傳時間:2022-03-30
35
積分
- 關 鍵 詞:
-
軟件需求分析
軟件
需求
分析
教學
PPT
- 資源描述:
-
《軟件需求分析》教學PPT,軟件需求分析,軟件,需求,分析,教學,PPT
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。