版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向特征的領(lǐng)域建模技術(shù)
(Feature-OrientedDomainModeling)北京大學(xué)高可信軟件技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室1領(lǐng)域工程與應(yīng)用工程2主要內(nèi)容DomainAnalysisDRMDomainDesignDSSARequirementsAnalysisARM主要問(wèn)題1DRM的結(jié)構(gòu)2DRM的建立3基于DRM的ARM的建立4基于DRM的DSSA的設(shè)計(jì)3領(lǐng)域需求模型(DRM)的結(jié)構(gòu)相關(guān)研究成果發(fā)表于[ICRE05],[REJ06],[SoSyM06]
.4DRM的結(jié)構(gòu)使用特征模型作為DRM基本思想把特征作為問(wèn)題空間的基本實(shí)體使用特征以及特征間的關(guān)系刻畫(huà)問(wèn)題空間ProblemspaceFeatureRelationbetweenfeaturesFeature-orientedviewoftheproblemspace5特征什么是特征?從外延來(lái)看:一個(gè)特征描述了一種具有用戶/客戶價(jià)值的軟件特點(diǎn)。從內(nèi)涵來(lái)看:一個(gè)特征是由一組緊密關(guān)聯(lián)的單個(gè)需求構(gòu)成的單元。6特征模型FM三種視圖FeaturesTheRefinementViewsTheConstraintViewsTheInteractionViews記錄了特征間的精化關(guān)系記錄了特征間的交互關(guān)系記錄了特征間的約束關(guān)系特征模型=特征+關(guān)系(精化+約束+交互)7特征的屬性名稱(chēng)(Name)特征的助記符號(hào)描述(Description)對(duì)特征所指需求的詳細(xì)敘述可選性(Optionality)Optional;Mandatory綁定時(shí)間(Binding-Time)Reuse-time,Compile-time,Install-time,Load-time,Run-time,…綁定狀態(tài)(Binding-State)Bound;Removed;Undecided8精化關(guān)系(Refinements)精化是一種存在于不同粒度/抽象層次的特征之間的關(guān)系不同粒度/抽象層次的特征通過(guò)精化關(guān)系形成層次式的結(jié)構(gòu)層次結(jié)構(gòu)提供了一種描述復(fù)雜系統(tǒng)的手段9三種精化關(guān)系分解(Decomposition)把一個(gè)特征精化為一組作為其構(gòu)成成分的子特征稱(chēng)為分解屬性化(Characterization)識(shí)別出一個(gè)特征具有的屬性型特征稱(chēng)為屬性化特殊化(Specialization)把一個(gè)特征精化為一個(gè)包含更多細(xì)節(jié)的特征稱(chēng)為特殊化10三種精化關(guān)系編輯拷貝粘貼刪除圖元移動(dòng)移動(dòng)模式移動(dòng)約束虛框移動(dòng)整體移動(dòng)水平約束垂直約束DecompositionCharacterizationSpecializationSpecialization整體部分實(shí)體行為屬性簡(jiǎn)單示例11約束關(guān)系(Constraints)約束是一種特征間的靜態(tài)依賴關(guān)系更嚴(yán)格而言,約束是不同特征的綁定狀態(tài)之間的依賴關(guān)系約束提供了對(duì)特征模型的剪裁結(jié)果進(jìn)行驗(yàn)證的手段剪裁是對(duì)特征模型進(jìn)行復(fù)用的手段約束有助于驗(yàn)證剪裁結(jié)果的完整性和一致性12約束關(guān)系幾種不同類(lèi)型的約束二元約束(BinaryConstraints)組約束(GroupConstraints)綁定謂詞(BindingPredicates)組合約束(CompositeConstraints)13二元約束requiresmutual-requiresexcludesmutual-requires(A,B:Feature)=def
require(A,B)ANDrequire(B,A)requires(A,B:Feature)=def
(A.Binding-State=bound)(B.Binding-State=bound)excludes(A,B:Feature)=defNOT((A.Binding-State=bound)AND(B.Binding-State=bound))14組約束mutex-group一組相互排斥的特征all-group一組相互依賴的特征none-group一組松散的特征mutex-group(P:setFeature)=def
A,BP:exclude(A,B)all-group(P:setFeature)=defA,BP:mutual-require(A,B)none-group(P:setFeature)=defTRUE15綁定謂詞single-bound一組特征中只有一個(gè)特征處于綁定狀態(tài)multiple-bound一組特征中有多個(gè)特征處于綁定狀態(tài)all-bound一組特征全部處于綁定狀態(tài)single-bound(P:setFeature)=def
oneAP:(A.Binding-State=bound)multiple-bound(P:setFeature)=def
someAP:(A.Binding-State=bound)all-bound(P:setFeature)=def
AP:(A.Binding-State=bound)16組合約束multiple-boundall-bound+single-bound
multiple-bound+all-bound
single-boundrequiresmutual-requires
excludes示例:
single-bound(A,B,C)requires
multiple-bound(D,E)17圖形化約束標(biāo)記(require)(mutualrequire)(exclude)(single-bound)(multiple-bound)(all-bound)CompositeConstraints:BasicConstraints:GroupConstraints:BindingPredicates:(Mutex-Group)(None-Group)(All-Group)18圖形化約束標(biāo)記簡(jiǎn)單示例Constraints:ArequireE,CexcludeF,mutex-group(A,B,C),single-bound(A,B,C)requireD.GraphicalNotation:19交互關(guān)系交互是一種特征間的動(dòng)態(tài)依賴關(guān)系交互是約束在軟件系統(tǒng)運(yùn)行時(shí)刻的體現(xiàn)交互提供了將各個(gè)相對(duì)獨(dú)立的成分組裝生成系統(tǒng)的手段即:系統(tǒng)=構(gòu)成成分+構(gòu)成成分之間的交互同時(shí),關(guān)注交互和約束之間的追蹤關(guān)系20幾種特征之間的交互關(guān)系InvokeMeta-levelconfigureResourceconfigureNotifyFlow21Invoke–調(diào)用定時(shí)郵件收取郵件收取郵件收取用例invokeinvoke嘗試從預(yù)先設(shè)定的郵件服務(wù)器上收取郵件當(dāng)用戶點(diǎn)擊特定的UI構(gòu)件時(shí),嘗試從預(yù)先設(shè)定的郵件服務(wù)器上收取郵件在每一個(gè)預(yù)先設(shè)置的時(shí)間點(diǎn)上嘗試從預(yù)先設(shè)定的郵件服務(wù)器上收取郵件22Meta-levelconfigure–元層配置定時(shí)郵件收取定時(shí)郵件收取配置器Meta-levelconfigure根據(jù)用戶的請(qǐng)求設(shè)定定時(shí)郵件收取的綁定狀態(tài),即在bound和undecided兩個(gè)狀態(tài)之間切換這是一個(gè)運(yùn)行時(shí)刻綁定的特征23Resourceconfigure–資源配置郵件過(guò)濾器郵件過(guò)濾配置器Resourceconfigure根據(jù)預(yù)先設(shè)定的過(guò)濾規(guī)則對(duì)收到的郵件進(jìn)行過(guò)濾根據(jù)用戶的請(qǐng)求修改郵件過(guò)濾規(guī)則過(guò)濾規(guī)則集合ReadrulesWriterules<<資源容器>>24Notify–通知對(duì)特征A和B,“AnotifyB”表示:A向B發(fā)送一條消息,以指明某種條件已滿足或某事件已發(fā)生。ABNotify25Flow–流郵件收取郵件解密郵件過(guò)濾垃圾箱收件箱FlowFlow過(guò)濾規(guī)則集合ReadrulesPutinto26二元交互分類(lèi)框架二元交互中的角色TriggerTriggeeTriggerInteractionTriggeeAinvokeBAmeta-levelconfigureBAresourceconfigureBAinvokeBAflowB27二元交互分類(lèi)框架DIMENSION2:Trigger和Triggee是否存在如下的約束
requires(trigger,triggee).VALUES :Explicit(顯式),Implicit(隱式).DIMENSION1:Trigger是否于Triggee發(fā)生直接的交互.VALUES :Direct(直接),Indirect(間接).28二元交互分類(lèi)框架DIMENSION2DIMENSION1directindirectexplicitimplicitnotifyinvokeresourceconfigureflowmeta-levelconfigure29領(lǐng)域需求模型(DRM)的建立DomainAnalysisDRMDomainrelatedresource相關(guān)研究成果發(fā)表于[COMPSAC03].30幾種具體類(lèi)型的特征功能(Function)輸入和輸出之間的關(guān)系行為特點(diǎn)(BehaviorCharacteristic)對(duì)從輸入到輸出的變換過(guò)程的限制服務(wù)(Service)一組相關(guān)的功能以及行為特點(diǎn)構(gòu)成的單元用例(Use-Case)用戶和軟件之間的交互序列質(zhì)量屬性(Quality)對(duì)軟件的非功能性需求31一種更具體的特征模型BehaviorCharacteristicLayerFunctionLayerServiceLayerQualitySectionUse-CaseSectionInteractionSectionConstraintSection32支持工具實(shí)踐應(yīng)用:在與云南昆明863軟件企業(yè)孵化器的合作中,在辦公自動(dòng)化和公路工程管理等領(lǐng)域中得到了成功的應(yīng)用33基于DRM的ARM的建立DRMRequirementsAnalysisARMTheReusecontext相關(guān)研究成果發(fā)表于[ICFEM04].34基于DRM的ARM的建立ARM
的生產(chǎn)過(guò)程是對(duì)DRM
進(jìn)行復(fù)用的過(guò)程這種復(fù)用是通過(guò)定制達(dá)到的剪裁:從DRM中選擇一組符合當(dāng)前復(fù)用上下文的特征擴(kuò)充:把特定于當(dāng)前應(yīng)用的需求添加到剪裁后的DRM中DRMRequirementsAnalysisARMTheReusecontext35基于DRM的ARM的建立DRMARMCustomizationPartially-CustomizedFeatureModel1Partially-CustomizedFeatureModel2Partially-CustomizedFeatureModelN在綁定時(shí)間1做出的剪裁決策在綁定時(shí)間2做出的剪裁決策復(fù)用過(guò)程在綁定時(shí)間N做出的剪裁決策在綁定時(shí)間N+1做出的剪裁決策36剪裁決策AnUndecidedFeatureARemovedFeatureABoundFeature刪除綁定37基于DRM的ARM的建立一個(gè)問(wèn)題目前的研究缺乏對(duì)非完全綁定的特征模型進(jìn)行驗(yàn)證的有效手段后果增加了定制過(guò)程的困難性在當(dāng)前綁定時(shí)間中做出的錯(cuò)誤的剪裁決策得不到及時(shí)的檢查,從而進(jìn)一步向后續(xù)的綁定時(shí)間傳播38三條驗(yàn)證準(zhǔn)則對(duì)所有待綁定的特征至少存在一種綁定結(jié)果,其滿足特征間的約束關(guān)系。準(zhǔn)則1在不破壞特征間約束關(guān)系的前提下,每一個(gè)待綁定的特征都有被綁定的可能。準(zhǔn)則2在不破壞特征間約束關(guān)系的前提下,每一個(gè)待綁定的特征都有被刪除的可能。準(zhǔn)則339三條驗(yàn)證準(zhǔn)則
I
CRSet:I|=
i=1,...,nCi準(zhǔn)則1
f
UFSet,
I
CRSet:
I|=(
i=1,...,nCi)(f.Binding-State=bound)準(zhǔn)則2
f
UFSet,
I
CRSet:
I|=(
i=1,...,nCi)(f.Binding-State=removed)準(zhǔn)則340基于DRM的DSSA的設(shè)計(jì)相關(guān)研究成果發(fā)表于[MODELS05],[REJ06]41基于DRM的DSSA的設(shè)計(jì)ResponsibilityAclusterofspecifications在設(shè)計(jì)階段如何利用特征模型中的信息我們的途徑:OperationalizedintoAssignedtoFeaturesDependenciesbetweenFeaturesComponentsInteractionsbetweenComponentsGAP(THEPROBLEMSPACE)(THESOLUTIONSPACE)42三個(gè)重要的層次需求層單個(gè)需求被聚集成具有更大粒度的特征一個(gè)特征包含了一組緊密關(guān)聯(lián)的單個(gè)需求規(guī)約層規(guī)約是對(duì)需求的操作化(Operationalization)軟件開(kāi)發(fā)人員按照規(guī)約去編寫(xiě)軟件,從而滿足需求規(guī)約被聚集成具有更大粒度的責(zé)任(Responsibility)一個(gè)責(zé)任包含了一組緊密關(guān)聯(lián)的規(guī)約實(shí)現(xiàn)層該層中包含了預(yù)先編程實(shí)現(xiàn)的軟件構(gòu)件,使用這些構(gòu)件能夠快速實(shí)現(xiàn)特定的責(zé)任稱(chēng)之為基礎(chǔ)設(shè)施構(gòu)件43基于DRM的DSSA的設(shè)計(jì)44基于DRM的DSSA的設(shè)計(jì)A:特征的操作化每一個(gè)特征分別被操作化為一組責(zé)任以及責(zé)任之間/責(zé)任與資源容器之間的交互Direct-InteractionInteractionResponsibility1..*Operationalized-into1FeatureResourceContainerDirect-Interaction45基于DRM的DSSA的設(shè)計(jì)B:資源容器分析從特征之間的間接交互中發(fā)現(xiàn)資源容器資源容器往往是間接交互的特征之間的媒介從特征的描述中發(fā)現(xiàn)資源容器InteractionResourceContainerFeature46基于DRM的DSSA的設(shè)計(jì)通過(guò)A.特征操作化和B.資源容器分析,特征以及特征之間的交互被轉(zhuǎn)化為責(zé)任、資源容器、以及直接的交互Direct-InteractionRequirement1..*InteractionResponsibilityResourceContainer1..*Operationalized-into1FeatureDirect-InteractionTheRequirementLevelTheSpecificationLevel47基于DRM的DSSA的設(shè)計(jì)C:種子構(gòu)件創(chuàng)建對(duì)于每一個(gè)特征,在規(guī)約層上建立一個(gè)對(duì)應(yīng)的實(shí)體,稱(chēng)為種子構(gòu)件種子構(gòu)件解決了構(gòu)件的“原罪問(wèn)題”,即:構(gòu)件從哪里來(lái)在后繼活動(dòng)中,將對(duì)種子構(gòu)件進(jìn)行進(jìn)一步的合并,以獲取更大粒度的構(gòu)件ComponentSeed11Feature48基于DRM的DSSA的設(shè)計(jì)D:責(zé)任分配把責(zé)任分配到種子構(gòu)件上從這種意義上,特征構(gòu)件可以被視為責(zé)任容器根據(jù)責(zé)任分配的結(jié)果可以區(qū)分兩種類(lèi)型的責(zé)任核心責(zé)任(Core-Responsibility)附加責(zé)任(Added-Responsibility)ComponentSeedCoreResponsibilityAddedResponsibilityResponsibility**49核心責(zé)任和附加責(zé)任<<Feature>>A<<Feature>>B<<ComponentSeed>>AC<<ComponentSeed>>BCAR1AR2AR3OperationalizedintoBR3BR2BR1OperationalizedintoAR1AR2AR3AssignedtoBR2BR1BR3Assignedto:Core-Responsibility:Added-Responsibility50基于DRM的DSSA的設(shè)計(jì)E:概念構(gòu)件分析把種子構(gòu)件/資源容器聚集成更大粒度的單元,稱(chēng)為概念構(gòu)件把具有較緊密聯(lián)系的種子構(gòu)件/資源容器聚集成概念構(gòu)件把具有相同相同交互上下文的種子構(gòu)件聚集成概念構(gòu)件Direct-InteractionComponentSeedCoreResponsibilityAddedResponsibilityResponsibilityConceptualComponentResourceContainer**Direct-Interaction**Direct-Interaction51基于DRM的DSSA的設(shè)計(jì)F:基礎(chǔ)設(shè)施構(gòu)件分析分析概念構(gòu)件的實(shí)現(xiàn)上下文,發(fā)掘出對(duì)其實(shí)現(xiàn)有益的基礎(chǔ)設(shè)施構(gòu)件ConceptualComponentInfrastructureComponentDepend-on52一個(gè)簡(jiǎn)單的示例一個(gè)簡(jiǎn)單的文檔編輯軟件特征1:Save將當(dāng)前文檔保存到磁盤(pán)上特征2:Copy將當(dāng)前文檔中被選擇的文字拷貝到粘貼板上特征3:Cut將當(dāng)前文檔中被選擇的文字剪切到粘貼板上特征4:Paste將粘貼板上的文字粘貼到當(dāng)前文檔光標(biāo)所在位置特征5:Un/Re-do根據(jù)用戶的請(qǐng)求,撤銷(xiāo)/重做那些未被存盤(pán)的編輯操作53一個(gè)簡(jiǎn)單的示例特征間的交互分析<<Feature>>Save<<Feature>>Copy<<Feature>>Cut<<Feature>>Paste<<Feature>>Un/Re-doNotify23451ResourceconfigureResourceconfigureResourceconfigure54種子構(gòu)件建立<<ComponentSeed>>Save<<ComponentSeed>>Copy<<ComponentSeed>>Cut<<ComponentSeed>>Paste<<ComponentSeed>>Un/Re-do2345155特征操作化;資源容器分析;責(zé)任分配<<ComponentSeed>>Save<<ComponentSeed>>Copy<<ComponentSeed>>Cut<<ComponentSeed>>Paste<<ComponentSeed>>Un/Re-doCopyCutPasteSave<<ResourceContainer>>Clipboard234516:CoreResponsibility:AddedResponsibility56交互分析<<ComponentSeed>>Save<<ComponentSeed>>Copy<<ComponentSeed>>Cut<<ComponentSeed>>Paste<<ComponentSeed>>Un/Re-doCopyCutPasteSave<<ResourceContainer>>Clipboardwritewriteread234516:CoreResponsibility:AddedResponsibility57特征Un/Re-do的操作化;資源構(gòu)件分析;責(zé)任分配<<ComponentSeed>>Save<<ComponentSeed>>Copy<<ComponentSeed>>Cut<<ComponentSeed>>Paste<<ComponentSeed>>Un/Re-doCopyCutPasteSaveInformSavedUndoRedoClearURIRecordURIRecordURIRecordURI<<ResourceContainer>>Clipboardwritewriteread<<ResourceContainer>>Un/Re-doInfo(URI)2345167:CoreResponsibility:AddedResponsibility58交互分析<<ComponentSeed>>Save<<ComponentSeed>>Copy<<ComponentSeed>>Cut<<ComponentSeed>>Paste<<ComponentSeed>>Un/Re-doCopyCutPasteSaveInformSavedUndoRedoClearURI<<ResourceContainer>>Un/Re-doInfo(URI)RecordURIRecordURIRecordURI<<ResourceContainer>>Clipboardinformwritewritereadwritewritewriteconsumeconsumeclear2345167:CoreResponsibility:AddedResponsibility59概念構(gòu)件分析<<ComponentSeed>>Save<<ComponentSeed>>Copy<<ComponentSeed>>Cut<<ComponentSeed>>Paste<<ComponentSeed>>Un/Re-doCopyCutPasteSaveInformSavedUndoRedoClearURI<<ResourceContainer>>Un/Re-doInfo(URI)RecordURIRecordURIRecordURI<<ResourceContainer>>Clipboardinformwritewritereadwritewritewriteconsumeconsumeclear2345167:CoreResponsibility:AddedResponsibility60概念構(gòu)件及其之間的交互<<ConceptualComponent>>Clipboard<<ResourceContainer>>Clipboard<<ConceptualComponent>>Edit<<ComponentSeed>>Copy<<ComponentSeed>>Cut<<ComponentSeed>>Paste<<ConceptualComponent>>URI<<ResourceContainer>>URI<<ConceptualComponent>>Save<<Component
Seed>>Save<<ConceptualComponent>>Un/Re-do<<ComponentSeed>>Un/Re-do61概念構(gòu)件分析<<ComponentSeed>>Save<<ComponentSeed>>Copy<<ComponentSeed>>Cut<<ComponentSeed>>Paste<<ComponentSeed>>Un/Re-doCopyCutPasteSa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 意外保險(xiǎn)基礎(chǔ)知識(shí)
- 2024年中國(guó)熔鹽閥行業(yè)發(fā)展策略、市場(chǎng)環(huán)境及前景研究分析報(bào)告
- 吸氧治療流程圖解
- 拿下試卷的秘密武器
- 腹腔鏡結(jié)直腸癌根治術(shù)中改良體位擺放對(duì)體位并發(fā)癥的影響
- 應(yīng)急預(yù)案的應(yīng)對(duì)能源危機(jī)的策略
- 科創(chuàng)孵化器行業(yè)現(xiàn)狀與競(jìng)爭(zhēng)分析
- 二零二五年度個(gè)人傭金協(xié)議書(shū)體育賽事推廣傭金結(jié)算標(biāo)準(zhǔn)4篇
- 路基壓實(shí)施工方案
- 二零二五年度互聯(lián)網(wǎng)+教育行業(yè)加盟經(jīng)營(yíng)合同2篇
- 中央2025年國(guó)務(wù)院發(fā)展研究中心有關(guān)直屬事業(yè)單位招聘19人筆試歷年參考題庫(kù)附帶答案詳解
- 2024年09月北京中信銀行北京分行社會(huì)招考(917)筆試歷年參考題庫(kù)附帶答案詳解
- 外呼合作協(xié)議
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法800道題
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 2024年公司領(lǐng)導(dǎo)在新年動(dòng)員會(huì)上的講話樣本(3篇)
- 眼科護(hù)理進(jìn)修專(zhuān)題匯報(bào)
- 介入手術(shù)室感染控制管理
- 人教版道德與法治二年級(jí)下冊(cè)《第一單元 讓我試試看》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- 2024北京初三(上)期末英語(yǔ)匯編:材料作文
- 2024年大型風(fēng)力發(fā)電項(xiàng)目EPC總承包合同
評(píng)論
0/150
提交評(píng)論