已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
如何使用 IBM Rational Software Architect 實(shí)現(xiàn)模型驅(qū)動(dòng)的軟件開(kāi)發(fā)模型驅(qū)動(dòng)架構(gòu)(MDA)是OMG提出的新的方法學(xué), 是一種新的系統(tǒng)開(kāi)發(fā)方法,它強(qiáng)調(diào)整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程由對(duì)軟件系統(tǒng)的建模行為驅(qū)動(dòng),完成系統(tǒng)需求分析、架構(gòu)設(shè)計(jì)、構(gòu)建、測(cè)試、部署和運(yùn)維工作。與傳統(tǒng)的UML模型相比,MDA能夠創(chuàng)建出機(jī)器可讀和高度抽象的模型,這種模型通過(guò)轉(zhuǎn)換(Transformation)技術(shù)可自動(dòng)轉(zhuǎn)換為代碼、測(cè)試腳本、數(shù)據(jù)庫(kù)定義以及各種平臺(tái)部署描述。1 MDA概述模型驅(qū)動(dòng)架構(gòu)(MDA)是OMG提出的新的方法學(xué), 是一種新的系統(tǒng)開(kāi)發(fā)方法,它強(qiáng)調(diào)整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程由對(duì)軟件系統(tǒng)的建模行為驅(qū)動(dòng),完成系統(tǒng)需求分析、架構(gòu)設(shè)計(jì)、構(gòu)建、測(cè)試、部署和運(yùn)維工作。與傳統(tǒng)的UML模型相比,MDA能夠創(chuàng)建出機(jī)器可讀和高度抽象的模型,這種模型通過(guò)轉(zhuǎn)換(Transformation)技術(shù)可自動(dòng)轉(zhuǎn)換為代碼、測(cè)試腳本、數(shù)據(jù)庫(kù)定義以及各種平臺(tái)部署描述。從此,建模語(yǔ)言不僅僅是分析設(shè)計(jì)語(yǔ)言,更可用作為一種高級(jí)編程語(yǔ)言。 MDA通過(guò)抽象層次的不同,定義了計(jì)算獨(dú)立模型(CIM)、平臺(tái)獨(dú)立模型(PIM)和平臺(tái)相關(guān)模型(PSM)。計(jì)算獨(dú)立模型類似于我們常說(shuō)的業(yè)務(wù)模型和用例模型,是一個(gè)抽象層次較高、獨(dú)立于任何實(shí)現(xiàn)技術(shù)的系統(tǒng)模型,它著眼于操作環(huán)境中的系統(tǒng)以及系統(tǒng)需求的描述,而不關(guān)心系統(tǒng)本身的結(jié)構(gòu)和功能實(shí)現(xiàn)細(xì)節(jié);平臺(tái)獨(dú)立模型類似于系統(tǒng)分析模型,它處于中間抽象層次,關(guān)注系統(tǒng)的整個(gè)架構(gòu)實(shí)現(xiàn),但卻忽略掉與平臺(tái)相關(guān)的部分。平臺(tái)獨(dú)立模型可以轉(zhuǎn)換成多個(gè)平臺(tái)相關(guān)模型;平臺(tái)相關(guān)模型則與設(shè)計(jì)模型相像,它把業(yè)務(wù)獨(dú)立模型與具體使用平臺(tái)的細(xì)節(jié)相結(jié)合,包含了具體平臺(tái)的特定實(shí)現(xiàn)技術(shù)。軟件開(kāi)發(fā)過(guò)程中架構(gòu)師會(huì)跟據(jù)系統(tǒng)架構(gòu)的質(zhì)量要求,選擇一種或幾種平臺(tái)技術(shù)具體實(shí)現(xiàn)系統(tǒng)。圖1.1、MDA的模型及其轉(zhuǎn)換技術(shù)不同模型間可以通過(guò)模型轉(zhuǎn)換技術(shù)(Model Transformation)實(shí)現(xiàn)相互轉(zhuǎn)化,例如使用模型轉(zhuǎn)換技術(shù),我們可以將計(jì)算獨(dú)立模型(CIM)轉(zhuǎn)化為平臺(tái)獨(dú)立模型(PIM),平臺(tái)獨(dú)立模型(PIM)轉(zhuǎn)化為平臺(tái)相關(guān)模型(PSM)。由此可見(jiàn),模型轉(zhuǎn)化技術(shù)是實(shí)現(xiàn)MDA的關(guān)鍵。模型轉(zhuǎn)換技術(shù)一般包括標(biāo)記(Markings)和映射(Mapping),映射包含了由一種模型向另一種模型轉(zhuǎn)化的規(guī)約說(shuō)明,而標(biāo)記則用來(lái)在源模型中加入額外的信息,用來(lái)在轉(zhuǎn)換時(shí)告訴映射如何將源模型中的特定模型元素映射到目標(biāo)模型。通過(guò)MDA技術(shù)的使用,可以有效解決傳統(tǒng)軟件開(kāi)發(fā)過(guò)程中的生產(chǎn)效率問(wèn)題、系統(tǒng)移植問(wèn)題、互操作問(wèn)題以及文檔和系統(tǒng)后期維護(hù)問(wèn)題,因此它一出現(xiàn)就受到業(yè)界的廣泛關(guān)注,并且越來(lái)越多的工具廠商對(duì)其提供支持,我們堅(jiān)信:它的廣泛應(yīng)用只是時(shí)間問(wèn)題。2 在RSA中實(shí)現(xiàn)MDA2.1 RSA概述IBM Rational Software Architect(RSA)是一套設(shè)計(jì)與開(kāi)發(fā)工具,它構(gòu)建在開(kāi)放的、可擴(kuò)展的Eclipse3.0平臺(tái)之上,實(shí)現(xiàn)了多項(xiàng)行業(yè)最新標(biāo)準(zhǔn),提供了靈活的插件擴(kuò)展機(jī)制。借助UML2.0技術(shù),它實(shí)現(xiàn)了模型驅(qū)動(dòng)的軟件開(kāi)發(fā)模式,可以幫助開(kāi)發(fā)團(tuán)隊(duì)創(chuàng)建更加強(qiáng)壯的軟件架構(gòu)。同時(shí),RSA作為IBM Rational業(yè)務(wù)驅(qū)動(dòng)軟件開(kāi)發(fā)平臺(tái)的核心構(gòu)件,提供了與需求管理工具、測(cè)試工具、配置和變更管理工具和項(xiàng)目管理工具的完美集成 ,從而真正實(shí)現(xiàn)了企業(yè)內(nèi)部的核心軟件開(kāi)發(fā)流程、開(kāi)發(fā)平臺(tái)和軟件生產(chǎn)線。2.2 使用RSA實(shí)現(xiàn)MDA中的模型轉(zhuǎn)換 IBM在RSA中缺省提供了UML到Java、UML到C+、UML到EJB的模型轉(zhuǎn)化實(shí)現(xiàn),其整個(gè)實(shí)現(xiàn)架構(gòu)基于Eclipse 3.0和Eclipse Model Framework(EMF)、UML2、Graphical Editing Framework(GEF)和插件開(kāi)發(fā)環(huán)境(PDE),為模型驅(qū)動(dòng)軟件開(kāi)發(fā)(MDA)的模型轉(zhuǎn)換方面提供了四個(gè)方面的工具支持:圖2.1、RSA對(duì)MDA及其轉(zhuǎn)換技術(shù)的支持架構(gòu) 1) 轉(zhuǎn)換服務(wù)(Transformation Service):支持轉(zhuǎn)換的交換和發(fā)現(xiàn)功能,為其它轉(zhuǎn)換工具支持提供基礎(chǔ)。2) 轉(zhuǎn)換引擎(Transformation Engine):為層次化的轉(zhuǎn)換源提供遍歷引擎,尤其對(duì)UML模型有較好支持3) 轉(zhuǎn)換應(yīng)用的GUI界面支持:使用戶能夠?yàn)g覽、查找并應(yīng)用各種轉(zhuǎn)換。4) 制作轉(zhuǎn)換的GUI界面支持:為轉(zhuǎn)化制作中的創(chuàng)建、打包和維護(hù)轉(zhuǎn)換的各種任務(wù),提供很多自動(dòng)化支持;在RSA中,MDA的模型轉(zhuǎn)換以插件的形式存在。RSA提供了向?qū)В╓izard)功能,指導(dǎo)用戶完成模型轉(zhuǎn)換框架插件項(xiàng)目的創(chuàng)建過(guò)程,下面舉例說(shuō)明具體的MDA的模型轉(zhuǎn)換開(kāi)發(fā)過(guò)程:1) 新建插件項(xiàng)目:在RSA中選擇File New -Project新建插件項(xiàng)目,選擇帶轉(zhuǎn)換的插件模板,它是RSA為構(gòu)建新的轉(zhuǎn)換提供的實(shí)現(xiàn)機(jī)制。圖2.2、建立帶轉(zhuǎn)換的插件項(xiàng)目選擇之后Wizard會(huì)自動(dòng)提示輸入新建轉(zhuǎn)換源和目標(biāo)模型類型及相關(guān)聯(lián)的屬性,并為轉(zhuǎn)換創(chuàng)建規(guī)則定義,如圖四所示:在我們例子里將創(chuàng)建 ClassRule 和OperationRule;圖2.3、建立轉(zhuǎn)換規(guī)則2) 基于RSA提供的模型轉(zhuǎn)換框架,實(shí)現(xiàn)具體的模型轉(zhuǎn)化規(guī)則。RSA的模型轉(zhuǎn)換插件項(xiàng)目向?qū)В╓izard)會(huì)自動(dòng)生成模型轉(zhuǎn)化框架,如圖五所示:圖2.4、模型轉(zhuǎn)換實(shí)現(xiàn)框架基于這一框架,用戶需要根據(jù)具體轉(zhuǎn)換實(shí)現(xiàn)需求,完成ClassRule和OperationRule的具體實(shí)現(xiàn),完成具體的Transformation的轉(zhuǎn)換邏輯。3 在RSA中使用Transformation實(shí)現(xiàn)模型驅(qū)動(dòng)的軟件開(kāi)發(fā)我們實(shí)現(xiàn)了三個(gè)示例轉(zhuǎn)換Analysis to Design, BM Business to Use Case,BM Use Case to Analysis,并以插件的方式嵌入倒RSA(如圖3.1)。圖3.1. 三個(gè)示例轉(zhuǎn)換 以下是使用RSA進(jìn)行模型驅(qū)動(dòng)開(kāi)發(fā)的步驟:1首先建立一個(gè)RSA項(xiàng)目及一個(gè)簡(jiǎn)單的業(yè)務(wù)模型,也就是CIM;2通過(guò)BM Business to Use Case轉(zhuǎn)換,將業(yè)務(wù)模型(CIM)轉(zhuǎn)換為用例模型(PIM1);3進(jìn)一步通過(guò)BM Use Case to Analysis將上一步驟產(chǎn)生的用例模型(PIM1)轉(zhuǎn)換為分析模型(PIM2);4再將設(shè)計(jì)模型(PIM2)轉(zhuǎn)換為設(shè)計(jì)模型(PSM);5最后將設(shè)計(jì)模型(PSM)轉(zhuǎn)換為代碼。3.1 創(chuàng)建RSA項(xiàng)目及業(yè)務(wù)模型首先創(chuàng)建模型項(xiàng)目(圖3.1),然后在此項(xiàng)目里添加一個(gè)業(yè)務(wù)模型;添加業(yè)務(wù)模型的方法是選擇空白模型模板,并命名為BusinessModel(圖3.2)。圖3.1. 創(chuàng)建模型項(xiàng)目 圖3.2. 創(chuàng)建業(yè)務(wù)模型然后,將已經(jīng)導(dǎo)入的概要文件應(yīng)用到模型項(xiàng)目上去。概要文件里面包含了一些已定義好的版型,作為對(duì)UML的擴(kuò)展。點(diǎn)擊BusinessModel目錄,打開(kāi)其屬性,選擇概要文件-添加概要文件,選擇Business Modelling Sample Profile(圖3.3)。圖3.3. 應(yīng)用概要文件在BusinessModel模型下創(chuàng)建SalesPerson類(如圖3.4所示),我們將在之后的轉(zhuǎn)換中逐步的把SalesPerson類轉(zhuǎn)成目標(biāo)模型中相應(yīng)的元素。圖3.4. 創(chuàng)建SalesPerson類 修改SalesPerson類的版型(Stereotype),具體過(guò)程為選擇SalesPerson類,打開(kāi)其屬性,選擇版型-添加版型,在彈出的應(yīng)用版型窗口里選擇BusinessWorker(來(lái)自于Business Modelling)(圖3.5)。圖3.5. 應(yīng)用版型修改SalesPerson的版型后,其圖標(biāo)也變?yōu)橄鄳?yīng)版型的圖標(biāo)。接著,給SalesPerson增添兩個(gè)方法,processAnOrder()及takeAnOrder()(圖3.6)。到此階段,業(yè)務(wù)模型已經(jīng)產(chǎn)生好,通過(guò)應(yīng)用概要模式到模型及版型到類,我們對(duì)業(yè)務(wù)模型進(jìn)行了精確的定義,有了這樣的精確定義,我們就可以通過(guò)轉(zhuǎn)換(transformation),將業(yè)務(wù)模型轉(zhuǎn)換為系統(tǒng)模型。圖3.6. 增加兩個(gè)業(yè)務(wù)方法3.2 從業(yè)務(wù)模型(CIM)轉(zhuǎn)換為用例模型(PIM1)在轉(zhuǎn)換之前首先創(chuàng)建目標(biāo)模型,在這里為用例模型(圖3.7)。圖3.7. 創(chuàng)建用例模型創(chuàng)建了目標(biāo)模型后,我們可以開(kāi)始轉(zhuǎn)換的工作。首先點(diǎn)擊源模型BusinessModel,選擇工具欄上Modeling選項(xiàng),再選擇Transform-Configure Transformations(圖3.8)圖3.8. 配置轉(zhuǎn)換因?yàn)槭菑臉I(yè)務(wù)模型轉(zhuǎn)換到用例模型,在配置轉(zhuǎn)換窗口選擇BM Business to Use Case,圖3.9. 選擇BM Business to Use Case轉(zhuǎn)換點(diǎn)擊右下方的New按鈕,新建一個(gè)BM Business to Use Case的轉(zhuǎn)換,并在Target頁(yè)面選擇UseCaseModel作為目標(biāo)模型(圖3.10),圖3.10. 選擇UseCaseModel作為目標(biāo)模型選擇Common頁(yè)面,選擇創(chuàng)建源模型到目標(biāo)模型的追蹤關(guān)系,這樣我們?cè)谵D(zhuǎn)換的同時(shí)也保持了源模型與目標(biāo)模型之間的追蹤關(guān)系。最后點(diǎn)擊RUN,開(kāi)始執(zhí)行轉(zhuǎn)換(圖3.11)。圖3.11. 創(chuàng)建源模型到目標(biāo)模型的追蹤關(guān)系圖3.12顯示了轉(zhuǎn)換后的用例模型,對(duì)應(yīng)業(yè)務(wù)模型的SalesPerson和其兩個(gè)操作,產(chǎn)生了一個(gè)SalesPerson主角及兩個(gè)用例processAnOrder和takeAnOrder。圖3.13顯示了轉(zhuǎn)換自動(dòng)生成的業(yè)務(wù)模型和用例模型間的追蹤關(guān)系。圖3.12. 由業(yè)務(wù)模型產(chǎn)生的用例模型圖3.13. 用例模型與業(yè)務(wù)模型的追蹤關(guān)系3.3 從用例模型(PIM1)轉(zhuǎn)換為分析模型(PIM2)我們進(jìn)一步將用例模型轉(zhuǎn)換為分析模型(圖3.14)圖3.14. 使用BM Use Case to Analysis轉(zhuǎn)換經(jīng)轉(zhuǎn)換后產(chǎn)生的分析模型如圖3.15所示??梢钥吹?,通過(guò)轉(zhuǎn)換,RSA自動(dòng)產(chǎn)生了對(duì)應(yīng)用例的分析類和用例實(shí)現(xiàn),并建立用例模型到分析模型間的追蹤關(guān)系。圖3.15. 由用例模型產(chǎn)生的分析模型分析模型與用例模型的追蹤關(guān)系(圖3.16)圖3.16. 分析模型與用例模型的追蹤關(guān)系3.4 從分析模型(PIM2)轉(zhuǎn)換為設(shè)計(jì)模型(PSM)我們進(jìn)一步通過(guò) IBM Analysis To Design 轉(zhuǎn)換將分析模型轉(zhuǎn)換為設(shè)計(jì)模型(圖3.17)圖3.17. 使用BM Analysis To Design轉(zhuǎn)換經(jīng)轉(zhuǎn)換后產(chǎn)生的設(shè)計(jì)模型包含設(shè)計(jì)類,子系統(tǒng),接口等,如圖3.18所示:圖3.18. 分析模型轉(zhuǎn)換為設(shè)計(jì)模型 3.5 設(shè)計(jì)模型(PSM)轉(zhuǎn)換為代碼最后通過(guò)RSA本身提供的UML to EJB轉(zhuǎn)換,將設(shè)計(jì)模型轉(zhuǎn)換為EJB代碼。圖3.19. 使用UML到EJB的轉(zhuǎn)換經(jīng)轉(zhuǎn)換后產(chǎn)生的Session Bean,如圖3.20所示。圖3.20. 使用UML到EJB的轉(zhuǎn)換生成的Session Bean4 小結(jié)Rational Software Architect是IBM Rational新一代的建模工具,它基于Eclipse 3.0, UML2.0及MDA技術(shù),它的推出讓我們擁有了強(qiáng)大的模型驅(qū)動(dòng)開(kāi)發(fā)工具。本文介紹了如何通過(guò)Rational Software Architect實(shí)現(xiàn)模型驅(qū)動(dòng)的軟件開(kāi)發(fā),包括如何在RSA中建立轉(zhuǎn)換(transformation)和如何通過(guò)這些轉(zhuǎn)換實(shí)現(xiàn)模型到模型、模型到代碼的轉(zhuǎn)變。從中我們看到,通過(guò)MDA技術(shù),我們提高了開(kāi)發(fā)的效率,如通過(guò)轉(zhuǎn)換能迅速的實(shí)現(xiàn)不同模型之間的轉(zhuǎn)換;同時(shí),我們的業(yè)務(wù)模型獨(dú)立于任何實(shí)現(xiàn)技術(shù),提高了系統(tǒng)的可移植性,保留了企業(yè)寶貴的資
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語(yǔ)文-山東省淄博市2024-2025學(xué)年第一學(xué)期高三期末摸底質(zhì)量檢測(cè)試題和答案
- 幼兒園后勤個(gè)人工作總結(jié)6篇
- 小學(xué)數(shù)學(xué)二年級(jí)加減法練習(xí)題
- 《新聞采訪和寫(xiě)作》課件
- 高考語(yǔ)文試題分類匯編詞語(yǔ)運(yùn)用
- 《小講課糖尿病》課件
- 《淘寶網(wǎng)用戶特征》課件
- 早餐行業(yè)客服工作總結(jié)微笑服務(wù)增添早餐味道
- 《淋病醫(yī)學(xué)》課件
- 泌尿科醫(yī)生的工作總結(jié)
- 中央2024年國(guó)家藥品監(jiān)督管理局中國(guó)食品藥品檢定研究院招聘筆試歷年典型考題及考點(diǎn)附答案解析
- 小學(xué)語(yǔ)文四年級(jí)上冊(cè)單元作業(yè)整體設(shè)計(jì)案例
- DB32-T 4752-2024 一體化污水處理設(shè)備通.用技術(shù)要求
- 2024年新高考Ⅰ卷作文審題立意及寫(xiě)作指導(dǎo)+課件
- 2024年山東臨沂市恒源熱力集團(tuán)限公司高校畢業(yè)生招聘9人重點(diǎn)基礎(chǔ)提升難、易點(diǎn)模擬試題(共500題)附帶答案詳解
- 2024年房屋頂賬協(xié)議模板(二篇)
- 美國(guó)史智慧樹(shù)知到期末考試答案章節(jié)答案2024年?yáng)|北師范大學(xué)
- 售后服務(wù)方案及運(yùn)維方案
- 機(jī)加工工作計(jì)劃安排
- 2024年巴西手游市場(chǎng)市場(chǎng)前景及投資研究報(bào)告
- 習(xí)慣性違章培訓(xùn)
評(píng)論
0/150
提交評(píng)論