需求建模流程行為和模式.ppt_第1頁
需求建模流程行為和模式.ppt_第2頁
需求建模流程行為和模式.ppt_第3頁
需求建模流程行為和模式.ppt_第4頁
需求建模流程行為和模式.ppt_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第6章 需求建模:流程、行為和模式,主要內容,需求建模策略 面向流程建模 生成行為模型 需求建模的模式 小結,需求建模,面向流程的建模提供了一種如何利用處理功能轉換數據對象的表示方法。行為建模描述了系統(tǒng)及其類的狀態(tài),以及事件對這些類的影響?;谀J降慕@矛F有領域的知識使得需求分析更為容易。,需求建模策略,一種考慮數據和處理的分析建模方法被稱作結構化分析,其中數據作為獨立實體轉換。數據對象建模定義了對象的屬性和關系,操作數據對象的處理建模應表明當數據對象在系統(tǒng)內流動時處理如何轉換數據。 分析建模的第二種方法稱作面向對象的分析,這種方法關注于定義類和影響客戶需求的類之間的協(xié)作方式。UML和統(tǒng)一

2、過程主要是面向對象的。,面向流程的建模,面向流的數據建模至今仍是廣泛使用的分析表達法之一。盡管數據流圖及相關的圖和信息不是UML的正式組成部分,但是它們可以補充UML圖并提供對系統(tǒng)需求和流的補充認識。 DFD采取了系統(tǒng)的輸入-處理-輸出觀點。流入軟件的數據對象,經由處理元素轉換,最后以結果數據對象的形式流出軟件。數據對象由帶標記的箭頭表示,轉換由圓圈(也稱作泡泡)表示。DFD使用分層的方式表示,即第一個數據流模型從整體上表現系統(tǒng),隨后的數據流圖改進環(huán)境圖,提供每個后續(xù)層增加的細節(jié)。,創(chuàng)建數據流模型,數據流圖有助于軟件工程師開發(fā)信息域的模型,并同時開發(fā)功能域的模型。當DFD被改進到非常詳細的程度

3、時,分析師同時也就完成了系統(tǒng)功能分解。,創(chuàng)建數據流模型,導出數據流圖時有一些很有用的簡單的指導原則: 第0層的數據流圖應將軟件或系統(tǒng)描述為一個泡泡 ; 應仔細標記主要的輸入和輸出; 通過把在下一層表示的候選處理過程、數據對象和數據存儲分離,開始求精過程; 應使用有意義的名稱標記所有的箭頭和泡泡; 當從一個層轉到另一個層時要保持信息流連續(xù)性; 一次精化一個泡泡。 Safehome安全功能的DFD如圖6-1所示,SafeHome安全功能的DFD圖,圖6-1 SafeHome安全功能的DFD圖,創(chuàng)建數據流模型,第0層的DFD現在要擴展到第1層。 有個簡單而有效的方法是對描述環(huán)境層泡泡的敘述進行“語法

4、分析”,即將第一次需求收集會議中獲得的SafeHome處理敘述中的所有名詞與動詞分離開來。,SafeHome實例25,創(chuàng)建數據流模型,這里提到的語法分析,開始形成一種模式。動詞是SafeHome處理,它們最終將被表示為后來的DFD中的泡泡;名詞是外部實體(方框)、數據或控制對象(箭頭)、數據存儲(雙橫線)。通過對任何DFD層次中某個泡泡的處理敘述文字進行語法分析,可以產生許多關于如何精化到下一個層次的有用信息。使用這些信息,第1層DFD如圖6-2所示。在第0層和第1層之間要保持信息流的連續(xù)性。,SafeHome安全功能的第1層DFD圖,圖6-2 SafeHome安全功能的第1層DFD圖,創(chuàng)建數

5、據流模型,在DFD第1層中表示的處理可以被進一步精化到更低的層次。例如,監(jiān)測傳感器處理可以被精化為如圖6-3所示的第2層DFD。在這兩層之間保持了信息流的連續(xù)性。 DFD的求精持續(xù)地進行,直到每個泡泡都執(zhí)行一個簡單的操作,即直至每個泡泡所代表的處理都執(zhí)行一個功能,并且該功能可以很容易地被程序實現。,精化監(jiān)測傳感器處理的第2層DFD圖,圖6-3 精化監(jiān)測傳感器處理的第2層DFD圖,創(chuàng)建控制流模型,有一大類應用問題是事件驅動的而不是數據驅動的;這類問題產生控制信息而不是報告或顯示信息,并且,處理信息時非常關注時間和性能。這樣的應用除了數據流建模外還需要使用控制流建模。,創(chuàng)建控制流模型,事件或控制項

6、可以實現為布爾值(例如,true或false,on或off,1或0)或條件的離散列表(空、擁擠、滿)。為了選擇潛在的候選事件,建議使用如下的指導原則: 列出所有被軟件“讀”的傳感器。 列出所有的中斷條件。 列出操作人員能夠啟動的所有“開關”。 列出所有的數據條件。 回顧對處理敘述所進行的名詞/動詞語法分析,考察所有可能作為控制流輸入/輸出的“控制項”。 通過標識其狀態(tài)來描述系統(tǒng)的行為,標識這些狀態(tài)是如何達到的,并定義狀態(tài)間的遷移。 關注可能的疏忽刻畫控制中非常普遍的錯誤;例如,提問“有什么其他途徑可以達到或離開這個狀態(tài)嗎?”,控制規(guī)格說明,控制規(guī)格說明(CSPEC)使用兩種不同的方式表現系統(tǒng)的

7、行為。CSPEC包含一個狀態(tài)圖,該圖是行為的序列說明;也可能包括處理激活表行為的組合說明。 圖6-4為SafeHome的第1層控制流模型描述了一個初步的狀態(tài)圖,圖中顯示了當系統(tǒng)在這個層次上定義的四個狀態(tài)之間來回移動的時候,系統(tǒng)如何對事件作出響應。,SafeHome安全功能的狀態(tài)圖,圖6-4 SafeHome安全功能的狀態(tài)圖,控制規(guī)格說明,狀態(tài)圖(圖6-4)指明:當系統(tǒng)被重置、激活或斷電時,可能會發(fā)生Idle(空閑)狀態(tài)的轉換;如果系統(tǒng)被激活(即打開報警系統(tǒng)),將會轉換到MonitoringSystemStatus狀態(tài)(監(jiān)測系統(tǒng)狀態(tài)),顯示信息也將變化,并調用處理monitorAndContro

8、lSystem。源自MonitoringSystemStatus狀態(tài)的轉換有兩種:(1)當系統(tǒng)撤銷激活時,發(fā)生回到idle狀態(tài)的轉換;(2)當傳感器被觸發(fā)時,發(fā)生到ActingOnAlarm狀態(tài)的轉換。,控制規(guī)格說明,行為表達的一種非常不同的模式是處理激活表(PAT),它表示了在狀態(tài)圖中處理環(huán)境所包含的信息,不包括狀態(tài)。這張表指出了當有事件發(fā)生時會引入流程模型中哪個處理(泡泡)。 SafeHome第1層流程模型的處理激活表如圖6-5所示。,SafeHome安全功能的狀態(tài)圖,圖6-5 SafeHome安全功能的處理激活表,處理規(guī)格說明,處理規(guī)格說明(PSPEC)用于描述出現在求精過程中最終層次的

9、所有流模型的處理。處理規(guī)格說明的內容可以包括敘述性正文、處理算法的程序設計語言描述、數學方程、表、圖或圖表。通過為流模型中的每個泡泡提供PSPEC,軟件工程師創(chuàng)建了“小規(guī)格說明”,小規(guī)格說明可以作為實現處理的軟件構件的設計指南。,SafeHome實例26,生成行為模型,行為模型顯示了軟件如何對外部事件或激勵作出響應。要生成模型,分析師必須按如下步驟進行: 評估所有的用例,以保證完全理解系統(tǒng)內的交互序列。 識別驅動交互序列的事件,并理解這些事件如何和特定的對象相互關聯(lián)。 為每個用例生成序列。 創(chuàng)建系統(tǒng)狀態(tài)圖。 評審行為模型以驗證準確性和一致性。,識別用例事件,用例表現了涉及的參與者和系統(tǒng)的活動順

10、序。一般而言,只要系統(tǒng)和參與者之間交換了信息就發(fā)生事件。 一旦確定了所有的事件,這些事件將被分配到所涉及的對象,對象負責生成事件或識別已經在其他地方發(fā)生的事件。,SafeHome實例27,狀態(tài)表現,在行為建模的場合下,必須考慮兩種不同的狀態(tài)描述:(1)系統(tǒng)執(zhí)行其功能時每個類的狀態(tài);(2)系統(tǒng)執(zhí)行其功能時從外部觀察到的系統(tǒng)狀態(tài)。 類狀態(tài)具有被動和主動兩種特征。被動狀態(tài)很簡單,是某個對象所有屬性的當前狀態(tài)。一個對象的主動狀態(tài)指的是對象進行持續(xù)變換和處理時的當前狀態(tài)。必須發(fā)生事件才能迫使對象做出從一個活動狀態(tài)到另一個活動狀態(tài)的轉移。,分析類的狀態(tài)圖,行為模型的組成之一是UML狀態(tài)圖,UML狀態(tài)圖為每

11、個類表現活動狀態(tài)和導致這些活動狀態(tài)變化的事件(觸發(fā)器)。圖7-20說明了SafeHome安全功能中ControlPanel類的狀態(tài)圖。,分析類的狀態(tài)圖,圖7-20 ControlPanel類的狀態(tài)圖,分析類的狀態(tài)圖,除了說明導致轉換發(fā)生的事件外,分析師還可以說明保護和動作。保護是為了保證轉變發(fā)生而必須滿足的一個布爾條件。一般而言,導致狀態(tài)轉移的保護通常依賴于某個對象的一個或多個屬性值。即保護依賴于對象的被動狀態(tài)。 動作和狀態(tài)轉移同時發(fā)生或作為狀態(tài)轉移的結果,而且通常動作包含對象的一個或多個操作。,順序圖,第二種表現行為的方式在UML中稱作順序圖,說明事件如何引發(fā)一個對象到另一個對象的轉移。一旦通過檢查用例確認了事件,建模人員就創(chuàng)建了一個順序圖用時間函數表現事件如何引發(fā)流從一個對象到另一個對象。它表現了導致行為從一個類流到另一個類的關鍵類和事件。 圖6-7列舉了SafeHome安全功能的部分順序圖。 一旦完成了完整的順序圖,所有導致系統(tǒng)對象之間轉移的事件都可以被整理為輸入事件集合和輸出事件集合。,順序圖,圖6-7 SafeHome安全功能的順序圖(部分),需求建模的模式,軟件模式是獲取領域知識的一種機制從而遇到新問題時可以反復使用。在某些情況下,領域知識在同一應用領域中用于解決新問題。在另外一些情況下,通過模式獲取的領域知識可借助模擬用于完全不同的應用領

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論