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