《需求工程方法》PPT課件.ppt_第1頁
《需求工程方法》PPT課件.ppt_第2頁
《需求工程方法》PPT課件.ppt_第3頁
《需求工程方法》PPT課件.ppt_第4頁
《需求工程方法》PPT課件.ppt_第5頁
已閱讀5頁,還剩151頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第四講:需求工程方法,目標(biāo)分析方法 領(lǐng)域工程與面向特征的領(lǐng)域分析,面向目標(biāo)的方法,方法概述 建模原語 基于目標(biāo)的建模和分析 應(yīng)用情況,面向目標(biāo)的方法,What You Get Is What You Want (WYGIWYW),什么是目標(biāo),什么是目標(biāo)? A goal is an objective that the system under consideration should achieve Goal formulations refer to intended properties to ensured They are optative statements as opposed

2、to indicative ones, and bounded by the subject matter,什么是目標(biāo),不同層次的目標(biāo),高層策略 型目標(biāo),低層技術(shù) 型目標(biāo),運(yùn)送更多旅客,提供隨處可用的提現(xiàn)服務(wù),及時(shí)發(fā)出加速指令,3次密碼錯(cuò)誤則不退卡,策略性的、粗粒度的、作用于組織范圍的抽象目標(biāo),技術(shù)性的、細(xì)粒度的、作用于系統(tǒng)設(shè)計(jì)層面的具體目標(biāo),什么是目標(biāo),不同類型的目標(biāo) 功能性目標(biāo):要實(shí)現(xiàn)的服務(wù),是需求相關(guān)者期望發(fā)生的所有場(chǎng)景的集合。 非功能性目標(biāo):與提供服務(wù)的質(zhì)量關(guān)聯(lián),如良好的保密性,較高的安全性,較強(qiáng)的準(zhǔn)確性,較好的易用性等 ,或者對(duì)開發(fā)過程質(zhì)量的期望,例如良好的適應(yīng)性,較強(qiáng)的互操作性,較

3、高的可重用性等 酒店管理系統(tǒng)的功能性目標(biāo):盡可能滿足所有客人的房間預(yù)定請(qǐng)求 圖書管理系統(tǒng)的非功能性目標(biāo):用戶的每一次查詢都能夠盡快地返回結(jié)果,什么是目標(biāo),目標(biāo)由誰來滿足:整個(gè)系統(tǒng) 火車運(yùn)輸系統(tǒng): 目標(biāo):安全運(yùn)輸 參與者:火車司機(jī)、列車軌道、車站計(jì)算機(jī)、通訊設(shè)備、旅客、等等 ATM機(jī)系統(tǒng): 目標(biāo):允許合法用戶提取現(xiàn)金 參與者:ATM軟件、感應(yīng)器/actuators、用戶、等等,目標(biāo)類型和層次,可滿足性還不明確,可滿足性可以驗(yàn)證,產(chǎn)生行為使得目標(biāo)特性在將來總要被滿足(拒絕),限制行為要求目標(biāo)特性在將來永久保持(拒絕),比較行為,偏向更好保證軟目標(biāo)特性行為,提供信息的目標(biāo),滿足請(qǐng)求的目標(biāo),采用目標(biāo)的

4、好處,目標(biāo)分析提供一種關(guān)于系統(tǒng)的全局的視角 目標(biāo)的滿足由整個(gè)系統(tǒng)及環(huán)境主體共同完成。例如: 鐵路運(yùn)輸系統(tǒng)的安全性目標(biāo)是由火車司機(jī)、軌道管理系統(tǒng)、車站管理系統(tǒng)、通訊設(shè)備、乘客等共同參與完成的; ATM系統(tǒng)保持用戶合法性的目標(biāo)是由ATM控制軟件、感應(yīng)器、效應(yīng)器、用戶等共同協(xié)作完成的。 只有采用全局的俯瞰的視角才能有效地分析和解決這類目標(biāo)。,采用目標(biāo)的好處,保證需求的完整性 目標(biāo)是需求足夠完整的精確評(píng)判標(biāo)準(zhǔn) 規(guī)格說明相對(duì)于一組目標(biāo)是完整的, 如果可以證明所有目標(biāo)(G)是能實(shí)現(xiàn)的 由規(guī)格說明(S)和所涉及的領(lǐng)域的特性(D)D,S |= G = S相對(duì)于G是完備的,采用目標(biāo)的好處,避免無關(guān)需求(最小性)

5、 目標(biāo)是需求相關(guān)性的精確評(píng)判標(biāo)準(zhǔn) 需求相對(duì)于一組關(guān)于所涉及領(lǐng)域的目標(biāo)是恰當(dāng)或相關(guān)的, 如果其規(guī)格說明至少被用來證明一個(gè)目標(biāo) 若sS, g G ,D,s |= g = S相對(duì)于G是最小相關(guān)的,采用目標(biāo)的好處,向需求相關(guān)者解釋需求 目標(biāo)給出了需求的說明對(duì)應(yīng)于設(shè)計(jì)過程中的設(shè)計(jì)目標(biāo) 出現(xiàn)一個(gè)需求是因?yàn)橛幸粋€(gè)目標(biāo)作為它的基礎(chǔ) 目標(biāo)求精樹提供了從高層策略目的到低層技術(shù)需求的可跟蹤鏈 對(duì)業(yè)務(wù)系統(tǒng)來說,目標(biāo)將未來軟件和組織和業(yè)務(wù)上下文關(guān)聯(lián)起來,采用目標(biāo)的好處,目標(biāo)精化過程,為復(fù)雜需求文檔的結(jié)構(gòu)化提供直觀自然的機(jī)制,增加其可理解性 目標(biāo)精化過程中的選擇,具有恰當(dāng)?shù)某橄蟪潭?采用目標(biāo)的好處,目標(biāo)便于表達(dá)和處理沖突

6、需求。 目標(biāo)的沖突是多視點(diǎn)沖突的根源, 目標(biāo)的不同滿足標(biāo)準(zhǔn)有助于幫助開發(fā)人員對(duì)采用哪種方式處理沖突進(jìn)行決策。,采用目標(biāo)的好處,目標(biāo)相對(duì)比較穩(wěn)定,利于需求演化 實(shí)現(xiàn)目標(biāo)的需求比目標(biāo)演化的要快,它很容易被另一個(gè)實(shí)現(xiàn)相同目標(biāo)的需求替代 越高層的目標(biāo)越穩(wěn)定,不同版本的系統(tǒng)常常具有相同的高層目標(biāo),采用目標(biāo)的好處,目標(biāo)能夠表達(dá)和分析非功能性需求。 非功能性需求是工程研究中的重點(diǎn)和難點(diǎn),目前大多采用非形式化的方法來描述, 常用的建模工具UML也存在著難以為非功能性需求建模的缺陷。 在面向目標(biāo)的需求分析中,非功能性需求用軟目標(biāo)來表示,軟目標(biāo)可以逐步分解為子目標(biāo),目標(biāo)從何而來?,顯式的 系統(tǒng)的需求相關(guān)者(Sta

7、keholders) 需求工程師掌握的初步材料,目標(biāo)從何而來?,隱式的:需要進(jìn)行目標(biāo)抽取 分析當(dāng)前的系統(tǒng),發(fā)現(xiàn)問題和不足(精確構(gòu)型并列舉出來),對(duì)其取否,導(dǎo)致未來系統(tǒng)要實(shí)現(xiàn)的目標(biāo)集 從初步文檔中尋找一些與意圖相關(guān)的關(guān)鍵詞發(fā)現(xiàn)目標(biāo) 對(duì)目標(biāo)進(jìn)行精化和抽象獲得 歸結(jié)目標(biāo)沖突或障礙導(dǎo)致新的目標(biāo),目標(biāo)什么時(shí)候顯式化?,顯式化:從目標(biāo)到軟件行為 用軟件行為實(shí)現(xiàn)目標(biāo)等同于用程序?qū)崿F(xiàn)設(shè)計(jì)規(guī)格說明,方法主線:元模型,領(lǐng)域中所關(guān)心的事情,其實(shí)例會(huì)按狀態(tài)而進(jìn)化,對(duì)象上的輸入/輸出關(guān)系,定義狀態(tài)變遷,由事件觸發(fā)或終止,一種對(duì)象,作為行為的執(zhí)行者,操作化目標(biāo),可以按由某個(gè)Agent可控制的狀態(tài)來構(gòu)型的目標(biāo),方法主線,建

8、模主線:系統(tǒng)的目標(biāo)層次結(jié)構(gòu)。 圍繞目標(biāo)的伸展關(guān)聯(lián): 目標(biāo)操作化為“約束”, 約束由“活動(dòng)”和活動(dòng)所操作的“對(duì)象”來保證, 對(duì)象被區(qū)分為“事件”、“實(shí)體”、“關(guān)系”和“主體”四類, 約束由主體負(fù)責(zé)完成, 主體執(zhí)行活動(dòng)并具有活動(dòng)的能力, 事件可以觸發(fā)或者終止活動(dòng),等等 可以通過在目標(biāo)樹上添加標(biāo)記來表示目標(biāo)間的正向和負(fù)向的強(qiáng)弱影響。,目標(biāo)的表示,目標(biāo)名:每個(gè)目標(biāo)都有名字 簡(jiǎn)短描述:自然語言陳述句描述 例如: 用戶提出“要為核電站設(shè)計(jì)安全的制冷系統(tǒng)”。則“安全的核電站制冷系統(tǒng)”將作為一個(gè)高層抽象目標(biāo)的描述被抽取出來。 會(huì)議調(diào)度系統(tǒng)要滿足的目標(biāo)之一是“每個(gè)會(huì)議都將在所有預(yù)期與會(huì)人參加的情況下召開?!?目

9、標(biāo)的形式化表示,KAOS語言,NFR建??蚣芤约癷*/Tropos語言:特定的語法 一階時(shí)序邏輯斷言算子: P表示“在當(dāng)前狀態(tài)下,性質(zhì)P成立”; P表示“在下一個(gè)狀態(tài),性質(zhì)P成立”; P表示“在當(dāng)前或未來某一狀態(tài),性質(zhì)P成立”; P在當(dāng)前以及未來所有狀態(tài),性質(zhì)P成立; P在前一個(gè)狀態(tài),性質(zhì)P成立; P在當(dāng)前或以前某一狀態(tài),性質(zhì)P成立; P在當(dāng)前和以前所有狀態(tài),性質(zhì)P成立;,目標(biāo)的形式化表示,PQ在所有未來狀態(tài),性質(zhì)P成立則性質(zhì)Q成立; ku P在k個(gè)時(shí)間單位u以內(nèi)的未來某一狀態(tài),性質(zhì)P成立; d P在截止時(shí)刻d到達(dá)前的未來所有狀態(tài),性質(zhì)P成立; P在當(dāng)前狀態(tài)下性質(zhì)P成立,但在上一個(gè)狀態(tài),P不成

10、立; PW Q在所有未來狀態(tài)下,性質(zhì)P成立直到Q成立,允許Q恒假; PU Q在所有未來狀態(tài)下,性質(zhì)P成立直到Q成立,Q必須在未來某一時(shí)刻為真。,目標(biāo)模式,完成型目標(biāo)(Achieve):要求系統(tǒng)最終滿足某性質(zhì); 終止型目標(biāo)(Cease):要求系統(tǒng)最終不再滿足某性質(zhì); 維持型目標(biāo)(Maintain):要求系統(tǒng)始終滿足某性質(zhì); 避免型目標(biāo)(Avoid):要求系統(tǒng)從不滿足某性質(zhì)。,目標(biāo)模式的規(guī)約,完成型目標(biāo)(Achieve):P Q 語義:如果P成立,則將來某個(gè)時(shí)候Q成立 維持型目標(biāo)(Maintain) :P Q 語義: 如果P成立,則將來Q總成立 P P W Q 語義:維持P成立直到Q成立 終止型目

11、標(biāo)(Cease):P Q 語義: 如果P成立,則將來某個(gè)時(shí)候Q不成立 避免型目標(biāo)(Avoid):P Q 語義: 如果P成立,則將來Q總是不成立,目標(biāo)分類,滿足性目標(biāo)(Satisfaction Goals):是滿足各主體愿望的完成型目標(biāo); 信息目標(biāo)(Information Goals):是將環(huán)境狀態(tài)信息通報(bào)給主體的完成型目標(biāo); 安全目標(biāo)(Security Goals):是避免災(zāi)難狀態(tài)/惡意攻擊發(fā)生的持續(xù)型目標(biāo); 精確性目標(biāo)(Accuracy Goals):是促使主體對(duì)環(huán)境的信念保持精確的持續(xù)型目標(biāo)。,目標(biāo)的圖形表示,除了自然語言和形式化表示,目標(biāo)還有圖形化的表示,通常都是在目標(biāo)圖元中加目標(biāo)名。

12、在KAOS中,目標(biāo)的圖形表示是一個(gè)平行四邊形( )。在i*/Tropos中,目標(biāo)的圖形表示是圓角的矩形( )。,軟目標(biāo),軟目標(biāo)主要用于表達(dá)非功能性需求。 軟目標(biāo)與一般目標(biāo)的主要區(qū)別: 一般目標(biāo)的滿足性標(biāo)準(zhǔn)是客觀的,能夠清楚定義和表達(dá)的。 軟目標(biāo)的滿足標(biāo)準(zhǔn)則是主觀的、相對(duì)的、依評(píng)價(jià)者的個(gè)人判斷而定,是滿意度(Satisficing)而非滿足性(Satisfying)的問題。,軟目標(biāo)的表示,NFR框架:軟目標(biāo)的圖形化表示為一個(gè)云形( ) i*和Tropos方法:軟目標(biāo)圖形化表示為一個(gè)不規(guī)則的花生形( )。,軟目標(biāo)的組成,非功能性軟目標(biāo)通常由兩部分組成:類型和主題。例如, 軟目標(biāo)“賬戶的準(zhǔn)確性”中,

13、“準(zhǔn)確性”是類型,“賬戶”是主題。 如果類型改變?yōu)椤绊憫?yīng)時(shí)間”則軟目標(biāo)“賬戶響應(yīng)時(shí)間”的含義也隨之改變。 當(dāng)主題發(fā)生改變,軟目標(biāo)的含義也隨之改變。 “賬戶的準(zhǔn)確性”與“賬戶的響應(yīng)時(shí)間”,或與“存款機(jī)的響應(yīng)時(shí)間”是完全不同的。 一種略微結(jié)構(gòu)化的軟目標(biāo)表示方法是:“軟目標(biāo)類型軟目標(biāo)主題”,例如, 用“響應(yīng)時(shí)間短賬戶”來表示軟目標(biāo)“賬戶的響應(yīng)時(shí)間”。 軟目標(biāo)可以有多于一個(gè)主題,例如, 界面靈活性普通客戶,金卡賬戶。,目標(biāo)的操作化,可操作的目標(biāo)是對(duì)目標(biāo)與軟目標(biāo)進(jìn)行分解和求精的結(jié)果。 可操作的目標(biāo)是目標(biāo)分解樹中靠近底層葉節(jié)點(diǎn)的目標(biāo),用于表示滿足高層目標(biāo)的具體設(shè)計(jì)方案。例如: 要實(shí)現(xiàn)“快的帳戶響應(yīng)時(shí)間”這

14、個(gè)軟目標(biāo),可以“采用索引技術(shù)”,“采用索引技術(shù)”就是一個(gè)可操作的目標(biāo)。,可操作目標(biāo)的表示,NFR框架:圖形表示為邊界加重的云形圖案 KAOS:圓角的矩形 i*和Tropos:表示為任務(wù),目標(biāo)間的關(guān)聯(lián),目標(biāo)間的關(guān)聯(lián): 自頂向下的分解關(guān)系 自底向上的貢獻(xiàn)關(guān)系 橫向的副作用關(guān)系,目標(biāo)的分解,目標(biāo)分解: 與精化:目標(biāo)到一組子目標(biāo) 語義:所有子目標(biāo)被滿足,父目標(biāo)才被滿足 或精化:目標(biāo)到一組精化選擇 語義:只要一個(gè)選擇被滿足,足以讓父目標(biāo)滿足 軟目標(biāo)的分解(軟目標(biāo)類型主題對(duì)象) 按軟目標(biāo)類型進(jìn)行分解 按軟目標(biāo)對(duì)象進(jìn)行分解 軟目標(biāo)的操作化,目標(biāo)的貢獻(xiàn),一個(gè)高層的、抽象的、粗略的軟目標(biāo)可以分解為相對(duì)低層的、具

15、體的和細(xì)化的子(軟)目標(biāo)或操作化目標(biāo)。 每個(gè)單個(gè)的子目標(biāo)可以對(duì)父目標(biāo)的滿足性產(chǎn)生出不同的貢獻(xiàn)。 貢獻(xiàn)類型分為兩個(gè)維度: 貢獻(xiàn)的影響和貢獻(xiàn)的程度。 貢獻(xiàn)的影響可以是正向、負(fù)向或未知; 貢獻(xiàn)的程度可以是完全的、部分的或程度未知。,目標(biāo)的副作用關(guān)系,副作用包括貢獻(xiàn)副作用和沖突副作用。例如: “提高性能”會(huì)導(dǎo)致“成本提高”,是橫向副作用關(guān)系,表明一種沖突。即一個(gè)目標(biāo)被滿足會(huì)阻止另一個(gè)目標(biāo)的滿足。 “信息的保密性”會(huì)提高“信息的安全性”,也是橫向副作用,表明一種貢獻(xiàn)。即一個(gè)目標(biāo)被滿足會(huì)幫助另一個(gè)目標(biāo)的滿足。,建模原語:目標(biāo)與/或樹,建模原語:其它關(guān)聯(lián),目標(biāo)與其它需求建模元素的關(guān)聯(lián) 目標(biāo)與操作:操作的前提

16、條件、后置條件、觸發(fā)條件,保證目標(biāo)目標(biāo)的可滿足性 目標(biāo)與情景:互補(bǔ) 情景:具體、敘述性、過程性、意圖隱含于其中 目標(biāo):抽象、描述性、顯式展現(xiàn)意圖 更進(jìn)一步,情景可以是例子或者是反例,可以展示目標(biāo)的實(shí)現(xiàn)過程,也可以表現(xiàn)阻止目標(biāo)可滿足的情況,建模原語:其它關(guān)聯(lián),目標(biāo)與其它需求建模元素的關(guān)聯(lián) 目標(biāo)模型與對(duì)象模型:具體的目標(biāo)可以涉及實(shí)體、關(guān)系或者agent,支持從目標(biāo)模型系統(tǒng)化地導(dǎo)出對(duì)象模型 目標(biāo)與Agents:職責(zé)關(guān)系,將目標(biāo)賦予一個(gè)Agent完成,有利于識(shí)別系統(tǒng)的邊界 形成目標(biāo)結(jié)構(gòu),目標(biāo)形式化表示框架,Goal 目標(biāo)模式目標(biāo)名 InstanceOf 目標(biāo)分類 Concerns 對(duì)象集合 Refin

17、edTo 子目標(biāo) InformalDef 自然語言陳述 FormalDef 一界時(shí)態(tài)邏輯公式,目標(biāo)形式化表示舉例,Goal Achieve TrainProgress FormalDef Goal Maintain TrainWaiting FormalDef,Goal Achieve ConvenientMeetingHeld Definition “每個(gè)會(huì)議都將在所有預(yù)期與會(huì)人參加的情況下召開” FormalDef m: Meeting: m.Requested m.Holds ( p: Participant): Intended (p, m) Participates (p, m),目

18、標(biāo)形式化表示舉例,Goal AchieveParticipantsConstraintsKnown InstanceOf InformationGoal Concerns Meeting, Participant, Schedule, RefinedTo ConstraintsRequested, ConstraintsProvided InformalDef A meeting scheduler should know the constraints of the various participants invited to the meeting within C days after

19、 appointment FormalDef m:Meeting, p:Participant, s:Scheduler Invited(p,m)Scheduling(s,m) =Cd Knows(s,p,Constraints),目標(biāo)模式,目標(biāo)名,目標(biāo)類型,關(guān)注的對(duì)象,兩個(gè)子目標(biāo),語義定義,目標(biāo)模型中的其它概念,對(duì)象: 客觀世界領(lǐng)域中所關(guān)注的事情, 可能是按狀態(tài)進(jìn)化的。 比如:實(shí)體、關(guān)系、事件 Agent: 一種特殊的對(duì)象 作為行為的執(zhí)行機(jī)制,如果該行為被分配 知道一個(gè)對(duì)象,如果該對(duì)象的狀態(tài)對(duì)它來說是可觀察的話 可以是人、設(shè)備、程序、等等,Agent形式化表示舉例,Agent Staff/主

20、體定義 Has competenceArea, /主體屬性 Invariant /主體不變式 ( st: Staff) (InstanceOf (st: ResearchStaff)InstanceOf(st, SecretaryStaff) Load CapableOf /主體能力集合 AddCopy, RemoveCopy, BiblioQuery, CheckOut, Return, IssueReminder, Performs /主體動(dòng)作集合 AddCopy, RemoveCopy, Knows /主體知識(shí)集合 Borrowing Interface: BorrowingSheet,

21、 ,Agent形式化表示舉例,Agent Participant CapableOf CommunicateConstraints, Has Constraints: TupleExcludedDates:SeqOfTimeInterval, PreferredDates:SeqOfTimeInterval,關(guān)系形式化表示舉例,Relationship Invited Links Participantscard:0:N,Meetingcard:1:N DomInvar p:Participant, m:Meeting Invited(p,m)pRequesting-, m. Particip

22、antsList,目標(biāo)模型中的其它概念,行為/操作: 對(duì)象之間的輸入、輸出關(guān)系,其數(shù)學(xué)含義是作用于對(duì)象集合之上的關(guān)系。動(dòng)作導(dǎo)致狀態(tài)遷移。 動(dòng)作通過前置條件、后置條件和觸發(fā)條件來定義: 前置條件:動(dòng)作執(zhí)行的起始狀態(tài)需要滿足的最弱必要條件 觸發(fā)條件:動(dòng)作執(zhí)行的起始狀態(tài)需要滿足的最弱充分條件 后置條件:動(dòng)作執(zhí)行的終止?fàn)顟B(tài)需要滿足的最強(qiáng)條件 條件被區(qū)分為兩大類: 領(lǐng)域(domain)前置和后置條件,描述操作所引發(fā)的領(lǐng)域中的基本狀態(tài)遷移, 需求(Required)前置和后置條件,描述該操作為確保需求的滿足要引發(fā)的額外狀態(tài)遷移。,行為/操作形式化表示,Action 行為名 Input 行為輸入 Outpu

23、t 行為輸出 DomPre 領(lǐng)域前置條件 DomPost 領(lǐng)域后置條件 RequiredPre 行為執(zhí)行的前置條件 RequiredPost 行為執(zhí)行的后置條件,行為形式化表示舉例,Action CheckOut/動(dòng)作定義 Input BookCopy Arg: bc, Library Arg: bor /動(dòng)作輸入?yún)?shù) Output Library Res: lib/動(dòng)作輸出參數(shù) PreCondition bc lib.available/動(dòng)作前、后置條件 PostCondition bc lib.available bc lib.checkedOut Borrowing(bor, bc) A

24、ction IssueReminder/動(dòng)作定義 Input Borrower Arg: bor, BookCopy Arg: bc /動(dòng)作輸入?yún)?shù) Output Reminder/動(dòng)作輸出參數(shù) TriggerCondition /動(dòng)作觸發(fā)條件 2wBorrowing(bor, bc) 1w ( r: ReminderIssued) Occurs(r) r = (bor,bc, -) PostCondition /動(dòng)作后置條件,行為形式化表示舉例,Action DetermineSchedule Input Requesting, MeetingArg:m Output MeetingRes:

25、m DomPre Requesting(-,m)Scheduled(m) DomPost Feasible(m)Scheduled(m) Feasible(m)DeadEnd(m),行為形式化表示舉例,Action Move Input tr:Train; loc,loc: Location Output At DomPre At(tr,loc) and locloc DomPost At(tr,loc) RequiredPre for DoorsClosedWhileMoving: tr.Doors=closed RequiredPost for DoorsClosedWhileMoving

26、: tr.Doors=closed,目標(biāo)模型中的其它概念,約束(Constraint): 可實(shí)現(xiàn)的目標(biāo),即能夠根據(jù)主體可控制的狀態(tài)來構(gòu)型的目標(biāo)。 所有的目標(biāo)最終都將精化為約束, 約束被操作化為動(dòng)作和對(duì)象, 約束要被分配給主體來完成。,約束形式化表示舉例,WeakConstraint MaintainAgendaUpToDate/約束定義 InstanceOf ConsistencyConstraint/約束實(shí)例 UnderResponsibilityOf Participant/約束的責(zé)任主體 FormalDef/約束的形式化描述 ( p: Participant, tp: Timeinter

27、val ) Free(p, tp) tp BusyPeriods,目標(biāo)模型中的其它概念,情景(Scenario): 由相應(yīng)主體實(shí)例控制的領(lǐng)域相容的狀態(tài)遷移序列。 領(lǐng)域相容性是指當(dāng)操作的領(lǐng)域前置條件和操作涉及對(duì)象的領(lǐng)域不變式滿足時(shí),運(yùn)用該操作所導(dǎo)致的后置條件將滿足領(lǐng)域后置條件。 依據(jù)情景定義找出規(guī)約中遺漏的動(dòng)作和隱含的目標(biāo)。,情景形式化表示舉例,Scenario HandleMeetingRequest/情景定義 Is (IssueRequest:SubmitRequest; ValidateRequest); /動(dòng)作序列 AskParticipantsConstraints; (GetCons

28、traints: FormulateConstraints; CommunicateConstraints; ValidateConstraints)*; PlanMeeting; (NotifyResults: (NotifyDate&Location | NotifyDeadEnd),需求抽取和建模過程,以元模型為基礎(chǔ)的需求抽取,需求抽取過程和策略,策略:遍歷元模型圖來獲取實(shí)例 獲取目標(biāo)結(jié)構(gòu): AND/OR結(jié)構(gòu)(HOW:抽取子目標(biāo);WHY:提取父目標(biāo)) 識(shí)別有沖突的目標(biāo) 將目標(biāo)逐步精化為可實(shí)現(xiàn)的約束 標(biāo)識(shí)目標(biāo)涉及的對(duì)象 描述對(duì)象的領(lǐng)域特性 識(shí)別對(duì)象有意義的狀態(tài)變遷(行為的前置條件和后置條件

29、) 定義行為保證約束的可滿足性 識(shí)別系統(tǒng)的相關(guān)主體,確定主體的職責(zé),并將行為賦予主體,目標(biāo)的精化:基本思路,一組目標(biāo)G1,G2,Gn是目標(biāo)G的完全精化,當(dāng)且僅當(dāng) G1,G2,Gn |- G (必要性) G1,G2,Gn |- false (一致性) n 1(非平凡性) Forany 1jn, G1,Gj-1,Gj+1,Gn |- G (最小性),目標(biāo)的精化:精化模式,抽象目標(biāo)斷言的一級(jí)與樹分解,使得葉子斷言的集合是根斷言的完全求精,目標(biāo)精化策略,時(shí)間驅(qū)動(dòng):尋找中間狀態(tài),按目標(biāo)滿足的先后次序劃分子目標(biāo) 主體驅(qū)動(dòng):按參與目標(biāo)實(shí)現(xiàn)的主體集合進(jìn)行目標(biāo)劃分,使子目標(biāo)有較少的主體參與 案例驅(qū)動(dòng):按照案例分

30、析進(jìn)行劃分,比如:正常案例和例外案例,精化模式:實(shí)現(xiàn)型目標(biāo)的精化,實(shí)現(xiàn)型目標(biāo)的兩種精化模式 時(shí)間驅(qū)動(dòng)的分解 PQ:PR,RQ 案例驅(qū)動(dòng)的分解 PQ:PRQ, PR (PR) P (PR); PRRP PPU (PR);PRP, PRR PR, PP;PP,RR,精化模式:實(shí)現(xiàn)型目標(biāo)的精化,精化模式的作用,支持形式化推理 幫助檢測(cè)不完全的精化 幫助開拓需求 使各種選擇顯式化,其它目標(biāo)精化模式,實(shí)現(xiàn)型目標(biāo) PQ:PRQ,PR, PPWQ PQ:PR, RQ PQ:PR, RRUQ PQ:PP1Q1,PP2Q2, (P1P2) Q1Q2Q ,目標(biāo)的操作化,激勵(lì)響應(yīng)模式 安全需求模式 ,激勵(lì)響應(yīng)模式目

31、標(biāo)精化,可操作的約束,可操作的約束,可操作的約束,安全需求精化模式,可操作的約束,可操作的約束,可操作的約束,從約束到行為,案例研究舊金山灣區(qū)快速交通系統(tǒng)(BART),步驟和模型,四個(gè)子模型 目標(biāo)模型、對(duì)象模型、Agent職責(zé)模型、操作模型 開發(fā)步驟 目標(biāo)抽取和精化(目標(biāo)精化) 從目標(biāo)模型中導(dǎo)出對(duì)象、關(guān)系和屬性(對(duì)象建模) 識(shí)別Agent以及Agent的職責(zé)(職責(zé)分配) 定義操作及其前置條件和后置條件(操作化),目標(biāo)識(shí)別,按關(guān)鍵詞尋找目標(biāo):objective, purpose, intent, concern, in order to, 得到目標(biāo) ServeMorePassengers New

32、TracksAdded MinimizeDevelopmentCosts MinimizeDistanceBetweenTrains SafeTransportation ,目標(biāo)識(shí)別,建立目標(biāo)之間的量化關(guān)聯(lián) Contributes(+), ControbutesStrongly(+), Conflicts(-), ConflictsStrongly(-) 確定目標(biāo)的分類 Maintain, Avoid: always目標(biāo), (PQ), (PQ),表示總是(不)成立 Achieve, Cease: eventually目標(biāo), PQ, PQ,表示將來每個(gè)時(shí)刻(不)成立,目標(biāo)模型,what,what

33、,將目標(biāo)形式化,識(shí)別對(duì)象和關(guān)聯(lián),SpeedLimit,增加屬性,Speed,增加屬性,識(shí)別對(duì)象和關(guān)聯(lián),Loc, WCS-Dist,增加屬性,增加關(guān)聯(lián) following,目標(biāo)模型,why,WHY目標(biāo)抽象,目標(biāo)模型,how,HOW目標(biāo)精化,識(shí)別主體和職責(zé)分配,識(shí)別主體和職責(zé)分配,導(dǎo)出主體接口,Speed/AccelerationControlSystem (判斷目標(biāo)前提,建立目標(biāo)結(jié)論) 監(jiān)測(cè)變量:T 控制變量:CommandMessage.Accel, CommandMessage.Speed,導(dǎo)出系統(tǒng)操作,MaintainSafeCommandMessage,將目標(biāo)操作化,構(gòu)

34、建目標(biāo)模型的啟發(fā)式,抽取初步的需求,H1:分析當(dāng)前系統(tǒng)的目的和問題 企業(yè)的策略目的、業(yè)務(wù)目標(biāo)、政策(高層目標(biāo)) 運(yùn)送更多的旅客、減少運(yùn)營開銷 領(lǐng)域固有的目標(biāo) 圖書的準(zhǔn)確分類 當(dāng)前系統(tǒng)的問題(需要避免、減少、減輕) 當(dāng)前系統(tǒng)只允許圖書館開門時(shí)查詢館藏,導(dǎo)出目標(biāo)“允許任何時(shí)候、任何地方查詢館藏”,抽取初步的需求,H2:在抽取文檔中搜索目標(biāo)相關(guān)的關(guān)鍵詞 規(guī)定的:shall, should, must, has to, to be, may never, may not, should never, should not, 想要的:in order to, so as to, so that, obj

35、ective, aim, purpose, achieve, maintain, avoid, ensure, guarantee, want, wish, motivate, expected to, 需要改進(jìn)的:improve, increase, decrease, reduce, enhance, enable, support, provide, make, ,抽取初步的目標(biāo),H3:實(shí)例化目標(biāo)分類 遵循某個(gè)目標(biāo)分類層次,按照不同目標(biāo)類型的含義捕獲目標(biāo),在目標(biāo)精化過程中識(shí)別目標(biāo),H4:?jiǎn)?HOW 和 WHY 的問題 通過 HOW 問題進(jìn)行目標(biāo)精化 通過 WHY 問題進(jìn)行目標(biāo)抽象,在目標(biāo)

36、精化過程中識(shí)別目標(biāo),H5:分離職責(zé) 幫助將細(xì)粒度的目標(biāo)分配給指定的軟件 Agent,或者定義出對(duì)環(huán)境 Agent 的期望,在目標(biāo)精化過程中識(shí)別目標(biāo),H6:分析可選精化的前提和后置條件,識(shí)別軟目標(biāo),劃定目標(biāo)模型的邊界,H7:精化目標(biāo)直到它被分配給單個(gè) Agent H8:抽象目標(biāo)直到達(dá)到系統(tǒng)的邊界,重用精化模式,創(chuàng)建精化模式類別 檢索可重用的精化模式 調(diào)整重用模式,一組精化模式,里程碑驅(qū)動(dòng)的精化模式 典型場(chǎng)景引入的目標(biāo)分解模式 引入門衛(wèi)條件的模式 目標(biāo)分治模式 不可實(shí)現(xiàn)性驅(qū)動(dòng)的精化模式 不可檢測(cè)驅(qū)動(dòng)的精化模式 不可控制驅(qū)動(dòng)的精化模式,應(yīng)用情況,小結(jié),面向目標(biāo)的方法將“目標(biāo)”看作是軟件需求的源頭和依

37、據(jù),以目標(biāo)為需求獲取的基本線索,誘導(dǎo)需求提供者按目標(biāo)的分解、精化和抽象關(guān)系,逐步構(gòu)建系統(tǒng)目標(biāo)與/或樹。 目標(biāo)驅(qū)動(dòng)需求獲取的步驟: 獲取目標(biāo)結(jié)構(gòu),確定目標(biāo)所關(guān)注的對(duì)象; 初步確定系統(tǒng)的相關(guān)主體和主體能夠完成的動(dòng)作; 將目標(biāo)操作化為約束; 對(duì)對(duì)象和動(dòng)作進(jìn)行精化; 導(dǎo)出對(duì)象和動(dòng)作為確保約束的滿足所需的加強(qiáng)條件; 確定主體職責(zé)分配的各種候選方案; 將動(dòng)作分配給相應(yīng)的責(zé)任主體。,領(lǐng)域工程與面向特征的領(lǐng)域分析,領(lǐng)域工程 軟件復(fù)用與領(lǐng)域工程 領(lǐng)域工程與應(yīng)用工程 領(lǐng)域工程與復(fù)用成熟度 領(lǐng)域工程投資回報(bào)點(diǎn),面向特征的領(lǐng)域分析 特征的一般性定義 特征的應(yīng)用舉例 軟件的特征 面向特征領(lǐng)域分析的基本思想與基本途徑,1

38、03,軟件復(fù)用,需求復(fù)用,軟件復(fù)用的兩點(diǎn)基本思想,104,105,基本思想1,以“空間”換“時(shí)間”,106,基本思想2(基本假設(shè)),9個(gè)月,不同軟件應(yīng)用之間 存在可復(fù)用的成分,領(lǐng)域工程,107,軟件復(fù)用:兩種開發(fā)活動(dòng),消費(fèi),軟件的哪些成分 具有復(fù)用價(jià)值?,Development FOR reuse,Development WITH reuse,反饋,108,軟件:三種基本構(gòu)成成分,通用共性成分,領(lǐng)域共性成分,應(yīng)用特定成分,適用于所有軟件應(yīng)用的構(gòu)成成分,適用于特定軟件應(yīng)用的構(gòu)成成分,適用于一組軟件應(yīng)用的構(gòu)成成分,109,領(lǐng)域,理想情況: 軟件的可復(fù)用成分具有普適性,現(xiàn)實(shí)情況:軟件應(yīng)用所針對(duì)的 問

39、題的差異性 導(dǎo)致 軟件的可復(fù)用成分不可能具有絕對(duì)的普適性,110,領(lǐng)域,一組具有相似或相近軟件需求的 應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域,111,領(lǐng)域,功能區(qū)域,應(yīng)用系統(tǒng),a,b,c,d,e,1,2,3,4,5,6,7,f,112,兩種類型的領(lǐng)域,垂直領(lǐng)域,水平領(lǐng)域,行業(yè)領(lǐng)域,1.行業(yè)領(lǐng)域的子領(lǐng)域 2.貫穿多個(gè)行業(yè)領(lǐng)域,113,與 面向普適的復(fù)用 相比 面向領(lǐng)域的復(fù)用更容易成功,114,領(lǐng)域工程與應(yīng)用工程(面向領(lǐng)域的軟件復(fù)用),115,消費(fèi),Development FOR reuse,Development WITH reuse,反饋,116,117,Development WITH reuse,Dev

40、elopment WITHOUT reuse,1,2,3,應(yīng)用工程,應(yīng)用工程,領(lǐng)域工程 (Development for Reuse),領(lǐng)域分析,領(lǐng)域設(shè)計(jì),領(lǐng)域?qū)崿F(xiàn),領(lǐng)域模型,DSSA,領(lǐng)域構(gòu)件,應(yīng)用工程 (Development with Reuse),需求分析,軟件設(shè)計(jì),構(gòu)件組裝,需求模型,ASSA,應(yīng)用系統(tǒng),可復(fù)用軟件資產(chǎn)庫,生產(chǎn),消費(fèi),反饋,DSSA: Domain Specific Software Architecture ASSA: Application Specific Software Architecture,應(yīng)用工程,應(yīng)用工程,應(yīng)用工程 (Development wit

41、hout Reuse),需求分析,軟件設(shè)計(jì),軟件編碼,需求模型,ASSA,應(yīng)用系統(tǒng),輸入,1,2,3,118,領(lǐng)域工程投資回報(bào)點(diǎn),119,120,累積成本,領(lǐng)域 成員數(shù)量,應(yīng)用工程 (Development WITHOUT reuse),應(yīng)用工程 (Development WITH reuse),領(lǐng)域工程 成本,?,25,軟件復(fù)用成熟度,121,軟件復(fù)用成熟度,第一級(jí):產(chǎn)品的獨(dú)立開發(fā) 不存在任何形式的復(fù)用,領(lǐng)域內(nèi)各個(gè)軟件產(chǎn)品的開發(fā)相互獨(dú)立 第二級(jí):領(lǐng)域無關(guān)型基礎(chǔ)設(shè)施的標(biāo)準(zhǔn)化 軟件中的普適性復(fù)用成分得到了系統(tǒng)的復(fù)用,但仍然不存在對(duì)領(lǐng)域共性的復(fù)用 第三級(jí):軟件平臺(tái) 領(lǐng)域中的共性成分被封裝為一個(gè)軟件

42、平臺(tái),領(lǐng)域中的軟件產(chǎn)品都基于此平臺(tái)進(jìn)行開發(fā) 第四級(jí):軟件產(chǎn)品的手工導(dǎo)出 領(lǐng)域中的可復(fù)用資產(chǎn)具有較強(qiáng)的可定制性,軟件產(chǎn)品的開發(fā)通過手工定制的方式進(jìn)行 第五級(jí):軟件產(chǎn)品的自動(dòng)化導(dǎo)出 領(lǐng)域中的產(chǎn)品通過對(duì)領(lǐng)域可復(fù)用資產(chǎn)的自動(dòng)化定制而產(chǎn)生,122,123,復(fù)用成熟度,領(lǐng)域工程,應(yīng)用工程,通用共性成分的復(fù)用,產(chǎn)品的獨(dú)立開發(fā),領(lǐng)域無關(guān)型基礎(chǔ)設(shè)施的標(biāo)準(zhǔn)化,軟件平臺(tái),軟件產(chǎn)品的手工導(dǎo)出,軟件產(chǎn)品的自動(dòng)化導(dǎo)出,小結(jié),124,領(lǐng)域工程 軟件復(fù)用與領(lǐng)域工程 領(lǐng)域工程與應(yīng)用工程 領(lǐng)域工程與復(fù)用成熟度 領(lǐng)域工程投資回報(bào)點(diǎn),目錄,領(lǐng)域工程 軟件復(fù)用與領(lǐng)域工程 領(lǐng)域工程與應(yīng)用工程 領(lǐng)域工程與復(fù)用成熟度 領(lǐng)域工程投資回報(bào)點(diǎn),面

43、向特征的領(lǐng)域分析 特征的一般性定義 特征的應(yīng)用舉例 軟件的特征 面向特征領(lǐng)域分析的基本思想與基本途徑,125,軟件復(fù)用,需求復(fù)用,面向特征的領(lǐng)域分析,126,什么是特征?,本人丟失一件物品: 該物品是一輛 交通工具, 有 兩個(gè)輪子,人力驅(qū)動(dòng)。 車架為 斜梁結(jié)構(gòu), 車身為 黃顏色, 略微生銹, 車把上有一個(gè) 銀色鈴鐺, ,尋物啟示,將 該物品 與 同類領(lǐng)域中的其它物品 區(qū)分開,將 該物品所屬的類別領(lǐng)域與 其它類別領(lǐng)域 區(qū)分開,領(lǐng)域共性,領(lǐng)域變化性,什么是特征,在一般意義下,特征 是 一個(gè)事物所展現(xiàn)出的 具有區(qū)分作用 的 特點(diǎn),特征概念的一個(gè)具體應(yīng)用,132,對(duì)于 軟件 這個(gè)事物而言, 它的特征

44、體現(xiàn)為什么?,133,研究者 對(duì) 軟件特征 的 定義 存在兩種不同的視角,134,第一種視角下的幾個(gè)定義 (1/2),定義1(Feature Engineering Tur99): A set of functional and extra-functional requirements. :一個(gè)由功能性和非功能性需求構(gòu)成的集合,定義2(Feature-based Software Evolution Meh02): A group of individual requirements that describes a unit of functionality with respect to

45、 a specific point of view relative to a software development life cycle. :一組單個(gè)需求,描述了一個(gè)與軟件開發(fā)生命周期中特定視角相關(guān)的功能單元,135,第一種視角下的幾個(gè)定義 (2/2),定義3(Requirements Engineering Wie99): A set of logically related functional requirements that provides a capability to the user and enables the satisfaction of a business requirement :一組邏輯相關(guān)的功能性需求構(gòu)成的集合,它為用戶提供了一種能夠滿足特定業(yè)務(wù)需求的能力,136,第二種視角下的幾個(gè)定義 (1/2),定義4(IEEE軟件工程術(shù)語詞典 Scc90): A software characteristic specified or implied by requireme

溫馨提示

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

評(píng)論

0/150

提交評(píng)論