第10章 面向軟件行為和視點的需求建模與檢測方法_第1頁
第10章 面向軟件行為和視點的需求建模與檢測方法_第2頁
第10章 面向軟件行為和視點的需求建模與檢測方法_第3頁
第10章 面向軟件行為和視點的需求建模與檢測方法_第4頁
第10章 面向軟件行為和視點的需求建模與檢測方法_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第第 10 章章 面向軟件行為和視面向軟件行為和視點的需求建模與檢測方法點的需求建模與檢測方法第10章 面向軟件行為和視點的需求建模與檢測方法目的目的 (1)試圖將理論研究與實際應(yīng)用能較好的結(jié)合; (2)將需求分析與需求驗證階段的活動通過一個實際的方法給予有機(jī)地結(jié)合 ; (3)在綜合和分析現(xiàn)有需求建模方法的基礎(chǔ)上研究新的需求建模方法。2021-12-92第10章 面向軟件行為和視點的需求建模與檢測方法10.1 基本原理基本原理10.2 視點表示模型和視點管理視點表示模型和視點管理10.3 需求模型的具體構(gòu)建方法需求模型的具體構(gòu)建方法10.4 需求模型的檢測方法需求模型的檢測方法10.5 基于

2、行為模型的需求可視化基于行為模型的需求可視化10.6 需求建模方法的特點需求建模方法的特點10.7 進(jìn)一步的研究進(jìn)一步的研究2021-12-9310.1 基本原理n復(fù)雜系統(tǒng)復(fù)雜系統(tǒng): 是一個抽象概念,通常指規(guī)模大且內(nèi)部邏輯關(guān)系復(fù)雜、涉及相關(guān)人員較多的軟件系統(tǒng)。 特點:特點: 相關(guān)的問題域復(fù)雜 利用分解策略; 涉及人員較多 根據(jù)不同用戶建立相應(yīng)視點。 需求建模方法應(yīng)提供的內(nèi)容:需求建模方法應(yīng)提供的內(nèi)容: 使用該方法的步驟 從自然語言逐步過渡到行為模型; 描述問題的手段 視點表示模型和行為描述語言(BDL)。2021-12-9410.1 基本原理n軟件的行為軟件的行為: 指主體施用一個服務(wù)、操作或

3、動作于客體。n為什么研究軟件行為1.軟件行為的正確與否決定了軟件能否滿足用戶需求 2.軟件特性如可信特性也是通過軟件行為來驗證的 3.可以從自然語言抽取和描述與軟件行為相關(guān)的細(xì)節(jié) 2021-12-9510.1 基本原理n研究軟件行為的方法(4個如何)(1)如何根據(jù)自然語言描述的需求,建立相應(yīng)場景信息;(2)如何根據(jù)場景信息抽取與行為相關(guān)的信息,并利用行為描述語言建立行為表達(dá)式;(3)如何建立行為描述語言的語義模型,為檢驗復(fù)雜系統(tǒng)的各種特性奠定基礎(chǔ);(4)如何利用模型檢驗方法和技術(shù)檢測復(fù)雜系統(tǒng)的一些特性。2021-12-9610.1 基本原理n基本概念(1)視點 一個觀察者(視點源)根據(jù)其關(guān)注點

4、和某個問題域而提出的需求信息的集合構(gòu)成一個視點。(2)視點模板 視點模板是視點信息的存放形式,并由一些信息槽構(gòu)成。每個信息槽記錄了視點某方面的信息。2021-12-9710.1 基本原理(3)視點間關(guān)系 視點間關(guān)系是指兩個視點之間在問題域或者需求信息方面的聯(lián)系。 重疊關(guān)系重疊關(guān)系:指兩個視點的視點源的觀察領(lǐng)域存在一定程度的重合,其包括兩種情況:部分重合和完全重合。 順序關(guān)系順序關(guān)系:指兩個視點在行為方面存在著先后關(guān)系,如兩個視點間存在著傳遞信息的行為等。 無關(guān)系無關(guān)系:指兩個視點在觀察領(lǐng)域上不存在重合,并且不具備行為上的先后關(guān)系,如兩個并行的視點等。u當(dāng)且僅當(dāng)兩個視點是重疊關(guān)系或者順序關(guān)系時,

5、它們具備依賴關(guān)系。 2021-12-9810.1 基本原理(4)軟件行為 軟件的行為是指軟件運(yùn)行時作為主體,依照自身的功能對客體的施用、操作或動作的過程,或主體施用一個服務(wù)、操作或動作于客體。 軟件的行為由行為主體和客體、操作或動作、行為輸入/出和行為屬性等組成。(5)行為主體 行為主體可以是用戶或者問題域中的實體或概念。 行為主體可以是復(fù)合主體,即一個行為可以有多個主體,且行為的主體必須是確定的。(6)行為客體 即行為的受體,通常指人或問題域中的實體或概念等。行為客體可以是復(fù)合客體,并且也可以是未確定的。2021-12-9910.1 基本原理(7)行為的分類: 目標(biāo)行為:為實現(xiàn)目標(biāo)需求而施行

6、的行為。功能行為:直接面向功能需求的行為。目標(biāo)行為可 以分解成一系列的功能行為,目標(biāo)是通 過這些功能行為達(dá)到的。復(fù)合行為:由功能行為分解出的行為,且功能行為 也可視為復(fù)合行為。每個功能行為可分 解為一系列的復(fù)合行為,功能是由這些 復(fù)合行為完成的。每個復(fù)合行為還可進(jìn) 一步分解為原子行為。原子行為:不能再被分解的行為,具體為某個動作 或操作。2021-12-91010.1 基本原理(8) 場景: (見第3.7節(jié)的介紹) 此處場景是指軟件系統(tǒng)在某一執(zhí)行期間內(nèi)按順序出現(xiàn)的一系列行為。 場景描寫的范圍并不是固定的,既可以包括系統(tǒng)中發(fā)生的全部行為,也可以只包括由某些特定對象的行為。 軟件需求可被描述成一系

7、列場景,而每個場景則由一個或多個具體的行為所組成。2021-12-91110.1 基本原理(9)行為描述語言 用于描述軟件系統(tǒng)行為的語言(10)行為的操作語義 行為的操作語義是行為描述語言的語義模型,其又分為靜態(tài)操作語義(用于定義行為表達(dá)式)和動態(tài)操作語義。動態(tài)操作語義是以動作作為對象來研究在給定環(huán)境中行為狀態(tài)的變化。2021-12-91210.1 基本原理2021-12-913基于軟件行為和視點的需求建模方法基于軟件行為和視點的需求建模方法10.2視點表示模型和視點管理視點表示模型2021-12-91410.2視點表示模型和視點管理n劃分問題域的具體步驟(1)開發(fā)人員與客戶、應(yīng)用(問題)領(lǐng)域

8、專家等對問題 進(jìn)行交流;(2)確定待開發(fā)系統(tǒng)問題域的邊界;(3)將系統(tǒng)按照合理的方式劃分成多個問題子域;(4)在系統(tǒng)中新建或增添問題子域名。在問題子域名被建立后通常不允許再被修改,否則必須修改所有與該問題子域相關(guān)的信息。 2021-12-91510.2視點表示模型和視點管理n標(biāo)識視點的具體步驟 (對于每個問題域:)(1)分析并確定出該問題子域中存在的需求源即視點源;(2)確定每個視點源對問題子域的關(guān)注點;(3)根據(jù)關(guān)注點創(chuàng)建視點,生成視點模板;(4)填寫視點基本信息,如視點標(biāo)識、視點責(zé)任人等; 2021-12-91610.2視點表示模型和視點管理n視點管理1.問題域管理 2.術(shù)語表及行為表管理

9、 3.視點的創(chuàng)建4.視點的修改 5.視點的刪除6.視點的查詢2021-12-91710.3需求模型的具體構(gòu)建方法1.描述手段:行為描述語言(BDL: Behavior Description Language)作用: 主要用于描述復(fù)雜系統(tǒng)的行為,以建立視 點行為模型和系統(tǒng)行為模型(或需求模型) 由于系統(tǒng)特性與系統(tǒng)行為密切相關(guān),描述行 為有利于檢測系統(tǒng)特性2021-12-91810.3需求模型的具體構(gòu)建方法2021-12-919系統(tǒng)行為模型的結(jié)構(gòu)系統(tǒng)行為模型的結(jié)構(gòu) 系統(tǒng)名: 視點ID1的行為模型; . 視點IDn的行為模型。 視點行為模型的結(jié)構(gòu)視點行為模型的結(jié)構(gòu) 視點ID: VPBEGIN 視點

10、內(nèi)共享數(shù)據(jù)存儲池ID; 場景ID1 的行為模型 . 場景IDn的行為模型 VPBehID = 視點行為表達(dá)式 = 場景的BehID 場景間關(guān)系符 場景的BehID VPEND10.3需求模型的具體構(gòu)建方法2021-12-920視點行為模型的結(jié)構(gòu)視點行為模型的結(jié)構(gòu) 場景場景ID : BEGIN ABEH: ABehID:原子行為1 . . ABehID:原子行為n . BEH: BehID = 場景行為表達(dá)式. BehID = 子行為表達(dá)式1 . . BehID = 子行為表達(dá)式m . END 10.3需求模型的具體構(gòu)建方法nBDL的語法結(jié)構(gòu)定義1.原子行為假設(shè)ABehID為原子行為標(biāo)識,Beh

11、ID為行為標(biāo)識原子行為: 5)CALL (場景ID)2021-12-92110.3需求模型的具體構(gòu)建方法2.復(fù)合行為1)順序行為:(a) (b) (c)2)確定選擇行為3)非確定選擇行為 2021-12-9221212|&|;A B e h I DA B e h I DA B e h I DA B e h I D11|&|;A B e h I DB e h I DA B e h I DB e h I D1212|& |& .& |;.;nnBehIDBehIDBehIDBehIDBehIDBehID1212|&|&|BehIDBehIDb

12、If bThenBehID ElseBehID Fi 為布爾表達(dá)式1212|&|&.&|.nnBehIDBehIDBehIDBehIDBehIDBehID10.3需求模型的具體構(gòu)建方法4)并行行為 2021-12-9231212|& |& .& | .|nnBehIDBehIDBehIDBehIDBehIDBehID10.3需求模型的具體構(gòu)建方法n行為描述語言的動態(tài)語義2021-12-92410.3需求模型的具體構(gòu)建方法2021-12-92510.3需求模型的具體構(gòu)建方法n構(gòu)建行為模型的具體過程q確定系統(tǒng)的所有行為和主體 q確定有效行為和主體 q

13、建立行為間的關(guān)系 q建立場景 q使用行為描述語言描述場景 (1) 用BDL描述場景內(nèi)的原子行為 (2) 建立場景內(nèi)行為之間的關(guān)系 (3) 建立視點行為模型內(nèi)場景之間的關(guān)系q部分異類需求模型2021-12-92610.3需求模型的具體構(gòu)建方法n實例說明 (銀行自動取款機(jī)系統(tǒng))具體的需求描述見5.4.4節(jié) (1) 劃分問題域劃分問題域 將與該系統(tǒng)相關(guān)的問題域劃分為三個:ATM,總行,分行 (2) 確定系統(tǒng)中所有的原子行為確定系統(tǒng)中所有的原子行為 直接提取動詞短語得到行為: ATM、中央計算機(jī)、分行計算機(jī)及柜員終端組成的網(wǎng)絡(luò)系統(tǒng); 總行擁有多臺ATM; 分行負(fù)責(zé)提供分行計算機(jī)和柜員終端; ATM分別

14、設(shè)在全市各主要街道上; 。2021-12-92710.3需求模型的具體構(gòu)建方法 問題中隱含的行為: 總行由各個分行組成; 分行保管賬戶; 總行擁有中央計算機(jī); 。 (3) 標(biāo)識視點標(biāo)識視點 假設(shè)每個問題子域有一個視點,并分別標(biāo)識為: ATM視點(VPATM);總行視點(VPHeadBank);分行視點(VPLocalBank)。2021-12-92810.3需求模型的具體構(gòu)建方法 (4) 建立場景建立場景 將ATM系統(tǒng)劃分為如下4個場景 ATM場景場景: ATM在顯示屏上顯示問候信息: 顧客將磁卡插入ATM; ATM讀出磁卡上的代碼,并檢索該卡能否使用; 如果磁卡能使用,ATM要求顧客輸入密碼

15、。 ATM等待密碼輸入; 總行的場景總行的場景 : . 分行的場景分行的場景 : . 柜員終端的場景柜員終端的場景 : . 2021-12-92910.3需求模型的具體構(gòu)建方法 (5) 使用行為描述語言建立行為模型使用行為描述語言建立行為模型 2021-12-930 根據(jù)劃分出的視點和場景分別建立各視點的行為模型(其中一個視點包含2個場景)。ATM系統(tǒng)的行為模型(ATMSBM)ATM視點視點 VPATM: / ATM的視點行為模型 VPBEGIN /ATM場景 BEGIN ABEH/ 可以在此不寫原子行為,而在BEH中寫出。 BEH BehATM = ATMdisp1: 顯示(ATM,屏幕)

16、OUTTo(屏幕)( 提示信息=歡迎使用ATM). ATMidle1: idle. / ATM等待插入磁卡 Incard: 插入(用戶, 磁卡) . GetCardInfo: 讀(ATM,磁卡)/ ATM讀取磁卡信息; OUTTo( )(卡信息). ATMdisp2: 顯示(ATM,屏幕) OUTTo(屏幕)( 提示信息=請輸入密碼). 。10.3需求模型的具體構(gòu)建方法n圖形化輸入主要功能 以圖形的方式輸入行為模型,定義原子行為、復(fù)合 行為、行為表達(dá)式; 檢查圖形文法; 將圖形化的行為模型轉(zhuǎn)換為BDL語言描述的行為模型。圖形化表示(1)視點表示(2)場景表示(3)行為表示 (4)行為間關(guān)系表示

17、2021-12-93110.3需求模型的具體構(gòu)建方法2021-12-932nBEHHeadBank /總行場景nBEGINn ABEHn/略nBEHnBEHHeadBank = n Hbank1.nHbank2.nHidel. n If (響應(yīng)類型 = ATM請求)n Then Behhbank1. n Else Behhbank2. n Fi.n Returnto.nBehhbank1= nHresponse.nIf (驗證請求=正確)n Then Hreceive1.n Discern.n TranRequest1.n Else /中央計算機(jī)接收ATM傳來的事務(wù)請求n Hreceive2.

18、n TranRequest2.n Fi.nBehhbank2=n If (回答驗證請求=正確) n Then /中央計算機(jī)將驗證結(jié)果發(fā)送到ATM機(jī)nRecRespon1.n Tranresult1.n Else /中央計算機(jī)將分行答復(fù)發(fā)送到ATM機(jī)n RecRespon2.n Tranresult2.n Fi.nEND.實例10.3需求模型的具體構(gòu)建方法n異類視點需求模型的轉(zhuǎn)換實現(xiàn)2021-12-933l背景l(fā)UML狀態(tài)圖l狀態(tài)符號與BDL結(jié)構(gòu)的對應(yīng)關(guān)系 l轉(zhuǎn)換實現(xiàn)的流程 10.4 需求模型的檢測方法2021-12-9341. 監(jiān)測內(nèi)容監(jiān)測內(nèi)容(1)行為表達(dá)合法性 指一個行為表達(dá)式能滿足行為描

19、述語言的語法。(2)含輸入/出行為的一致性 分為視點內(nèi)的與視點間的含輸入/出行為的一致性。 (3)行為的完整性 指在一個行為模型中行為與行為之間至少存在一條執(zhí)行路徑,即行為間存在可達(dá)關(guān)系。(4)視點間行為一致性 指在一個由多個視點構(gòu)成的系統(tǒng)行為模型中,如果其中兩個視點出現(xiàn)重疊,則對于重疊部分中相同行為的理解和描述應(yīng)該是相同的。(5)行為有效性 表示一個行為模型總能夠按照預(yù)期的方式運(yùn)行。這里指的預(yù)期的方式就是一組行為蹤跡的集合,也可以用時序邏輯公式表示。 10.4 需求模型的檢測方法2021-12-935模型檢測的基本思想10.4 需求模型的檢測方法2021-12-936否檢查各視點行為模型內(nèi)的

20、行為表達(dá)合法性、含輸入/出行為的一致性和行為連續(xù)性根據(jù)視點的相關(guān)關(guān)系檢測視點行為模型間的一致性合并視點,得到系統(tǒng)行為模型以上檢測是否有問題?檢測系統(tǒng)行為模型的行為有效性和檢測系統(tǒng)的特性等修改需求及行為模型否是需求建模獲得需求模型退出檢測以上檢測是否有問題?修改視點行為模型(V1, V2 )是系統(tǒng)行為模型的檢測過程 10.4 需求模型的檢測方法3.各檢測方法的具體實現(xiàn)q行為表達(dá)合法性 根據(jù)行為描述語言的語法,設(shè)計等價的LALR(1)文法,利用輔助工具(FLEX, BISON)設(shè)計一個語法分析器,檢查行為表達(dá)式是否滿足描述語言的語法。 q含輸入/出行為的行為一致性 根據(jù)行為表達(dá)式構(gòu)建行為樹,然后遍歷行為樹,搜索相關(guān)行為的輸入與輸出。 q行為連續(xù)性 遍歷行為樹,記錄所有可達(dá)的行為,然后與行為表達(dá)式中定義的行為比較,判斷是否有行為不可達(dá)。 2021-12-93710.4 需求模型的檢測方法2021-12-938否是確定待檢測視點V1和V2及其模型M1,M2獲得M1,M2的操作語義模型L(M1)和L(M2)找到V1與V2重疊部分中相同的行為集(V1, V2 )分別在L(M1)和L(M2)的狀態(tài)上作與(V1, V2 )相關(guā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

提交評論