資源描述:
《試析基于uml面向方面建模研究》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、西南農(nóng)業(yè)大學(xué)碩士學(xué)位論文基于UML面向方面建模研究姓名:吳春明申請(qǐng)學(xué)位級(jí)別:碩士專業(yè):農(nóng)業(yè)機(jī)械化工程指導(dǎo)教師:余建橋20040501西南農(nóng)業(yè)大學(xué)碩士學(xué)位論文中文摘要中文摘要軟件規(guī)模的刁斷擴(kuò)大使得系統(tǒng)分析和設(shè)計(jì)變得日益復(fù)雜。軟件開發(fā)中的許多關(guān)注點(diǎn)往往橫切系統(tǒng)的多個(gè)模塊,利用現(xiàn)有的編程技術(shù)(如面向過程編程、面向?qū)ο缶幊?.這些橫切關(guān)注點(diǎn)很難被鑒別、理解和模塊化。典型的橫切關(guān)注點(diǎn)包括設(shè)計(jì)約束和特征、體系質(zhì)量以及系統(tǒng)級(jí)屬性或行為,如事務(wù)處理、日志與錯(cuò)誤恢復(fù)等。面向方面編程(AspectOrientedProgramming,AOP)是一種全新的編程
2、思想,由Xerox公司的帕羅阿爾托研究中心在1997年的歐洲面向?qū)ο缶幊檀髸?huì)(ECOOP)上首次被提出:2001年3月,首種支持AOP的語言Aspect)誕生。AOP被看作是標(biāo)志軟件設(shè)計(jì)和編寫方法基礎(chǔ)性轉(zhuǎn)變的三大運(yùn)動(dòng)之一,并被《MIT技術(shù)評(píng)論》雜志評(píng)為21世紀(jì)十種對(duì)經(jīng)濟(jì)和人類生活1二作方式最具影響力的技術(shù)之一。AOP從編程方法學(xué)的角度對(duì)橫切關(guān)注點(diǎn)問題進(jìn)行了有效的解決,并通過AOP語言提供的精確捕獲橫切關(guān)注點(diǎn)的機(jī)制,將那些分散的應(yīng)用組織成單獨(dú)模塊,避免了由于橫切現(xiàn)象帶來的代碼交織(code-tangling)以及與此相關(guān)的一系列問題,同時(shí)減少
3、了由于重建軟件項(xiàng)目而帶來的代碼改動(dòng),大大提高了系統(tǒng)的模塊性和重用性。隨著AOP技術(shù)的日漸成熟,AO的思想已不再局限于編程層次,而是開始影響到軟件開發(fā)的各個(gè)階段,形成了面向方面軟件開發(fā)(AOSD)技術(shù)。AOSD允許開發(fā)人員在系統(tǒng)分析、建模、編碼、調(diào)試和維護(hù)的各個(gè)階段,都可利用AO的思想進(jìn)行處理。而在系統(tǒng)開發(fā)與設(shè)計(jì)的初始階段就將問題分解為核心組件和方面組件,并將橫切關(guān)注點(diǎn)模塊化為獨(dú)立的aspect,可使系統(tǒng)結(jié)構(gòu)更加清晰,為卜一個(gè)階段的代碼生成、系統(tǒng)維護(hù)等工作帶來便利和保障。面向方面建模(AOM)是實(shí)現(xiàn)這一目的的有效手段。AOM利用建模語言(如U
4、ML)為系統(tǒng)進(jìn)行墓于AO的分析和表示,將使所設(shè)計(jì)的組件有更好的重用性,并使在更高水平區(qū)分關(guān)注點(diǎn)的AOP系統(tǒng)在自動(dòng)代碼生成上成為可能,并能保持需求、設(shè)計(jì)和實(shí)施間的連續(xù)性。正如rational公司官方網(wǎng)站指出:建模“提供了解決問題的結(jié)構(gòu),為探索多重解決方案提供了試驗(yàn)場(chǎng)地,提供抽象性來控制問題的復(fù)雜度,為商業(yè)問題的解決縮短了從開發(fā)到市場(chǎng)的時(shí)間,減少了開發(fā)投入,并使得錯(cuò)誤風(fēng)險(xiǎn)可控”?,F(xiàn)在,AOM已成為AOSD中重要的研究?jī)?nèi)容。然而,目前AOP自身還并未提供正式的建模技術(shù)和建模工具,研究人員只是分別從建模語言、建模L具、建模方法以及建模思想等不同角度
5、對(duì)AOM進(jìn)行了研究。如SuzukiJ等人開發(fā)了一種基于XML的aspect描述語言,用來在CASE開發(fā)工具與aspect聯(lián)結(jié)器間進(jìn)行信息交流;ClarkeS等人利用UML模板,提出了一種用于在設(shè)計(jì)階段處理橫切需求的組件模式;Omar'Aldawud等利用11191.狀態(tài)圖和類圖來為代表橫切關(guān)注點(diǎn)的不同子模塊進(jìn)行建模和內(nèi)部聯(lián)結(jié),該方法不需對(duì)UML進(jìn)行擴(kuò)展。但同時(shí)他們也提出了另一種通過對(duì)UML版類包(profile)進(jìn)行擴(kuò)展以支持AO建模的方法:JeanMarieLions等人則對(duì)支持AOM的CASE:E具進(jìn)行了研究,提出了一種基于元模型的Op
6、enTool技術(shù),利用OTScript元語來擴(kuò)展UML的屬性和結(jié)構(gòu),以支持西南農(nóng)業(yè)大學(xué)碩士學(xué)位論文中文摘要AO系統(tǒng)的建模。目前,在AOM語言的選擇上,通常選用支持面向?qū)ο蟮腢ML做為AO建模語言,因?yàn)锳O是對(duì)00技術(shù)的補(bǔ)充,自然地,人們可通過擴(kuò)展UML來表達(dá)AO系統(tǒng)。LIE是一種用來指定、可視化、構(gòu)建和記錄軟件系統(tǒng)的建模語言,它定義良好、易于表達(dá):功能強(qiáng)大且普遍適用,被OMG組織確定為面向?qū)ο蟮臉?biāo)準(zhǔn)建模語言。然而,現(xiàn)實(shí)需求是多種多樣的,作為在標(biāo)準(zhǔn)化符號(hào)要求和特定領(lǐng)域需求之間折衷的選擇,UML被設(shè)計(jì)成一種可擴(kuò)展的形式,即用戶可通過引入特定領(lǐng)域
7、的模型元素來擴(kuò)展UML,以適應(yīng)其特定的需要,另一方面,這種引入的元素將象UML標(biāo)準(zhǔn)元素一樣使用,給不同用戶間的交流帶來了方便。這使得UML的作用域不僅局限于面向?qū)ο蟮姆治雠c設(shè)計(jì),還能適應(yīng)于不同類型的系統(tǒng)、領(lǐng)域和方法。UML的這種擴(kuò)展性也為利用它來表達(dá)AO系統(tǒng)提供了理論依據(jù)。實(shí)踐上,目前的CASE工具大多支持UML,以RationalRos。為代表的建模工具更提供了豐富的擴(kuò)展機(jī)制,允許用戶按一定規(guī)則對(duì)UML元模型進(jìn)行任意擴(kuò)充,以表達(dá)特定的領(lǐng)域需求。這也為利用UML來表達(dá)AO系統(tǒng)的提供了實(shí)踐基礎(chǔ)。本論文分析了AOP的核心思想和AOM的重要意義,
8、并深入剖析了支持AOP思想的Aspect3語言的語法結(jié)構(gòu),探討了UML語言的可擴(kuò)展性,提出了一種以Aspect3語法為特征,通過擴(kuò)展UML元模型來支持Aspect)系統(tǒng)建模的方法