




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
如何使用 IBM Rational Software Architect 實現(xiàn)模型驅(qū)動的軟件開發(fā)模型驅(qū)動架構(gòu)(MDA)是OMG提出的新的方法學(xué), 是一種新的系統(tǒng)開發(fā)方法,它強調(diào)整個系統(tǒng)開發(fā)過程由對軟件系統(tǒng)的建模行為驅(qū)動,完成系統(tǒng)需求分析、架構(gòu)設(shè)計、構(gòu)建、測試、部署和運維工作。與傳統(tǒng)的UML模型相比,MDA能夠創(chuàng)建出機器可讀和高度抽象的模型,這種模型通過轉(zhuǎn)換(Transformation)技術(shù)可自動轉(zhuǎn)換為代碼、測試腳本、數(shù)據(jù)庫定義以及各種平臺部署描述。1 MDA概述模型驅(qū)動架構(gòu)(MDA)是OMG提出的新的方法學(xué), 是一種新的系統(tǒng)開發(fā)方法,它強調(diào)整個系統(tǒng)開發(fā)過程由對軟件系統(tǒng)的建模行為驅(qū)動,完成系統(tǒng)需求分析、架構(gòu)設(shè)計、構(gòu)建、測試、部署和運維工作。與傳統(tǒng)的UML模型相比,MDA能夠創(chuàng)建出機器可讀和高度抽象的模型,這種模型通過轉(zhuǎn)換(Transformation)技術(shù)可自動轉(zhuǎn)換為代碼、測試腳本、數(shù)據(jù)庫定義以及各種平臺部署描述。從此,建模語言不僅僅是分析設(shè)計語言,更可用作為一種高級編程語言。 MDA通過抽象層次的不同,定義了計算獨立模型(CIM)、平臺獨立模型(PIM)和平臺相關(guān)模型(PSM)。計算獨立模型類似于我們常說的業(yè)務(wù)模型和用例模型,是一個抽象層次較高、獨立于任何實現(xiàn)技術(shù)的系統(tǒng)模型,它著眼于操作環(huán)境中的系統(tǒng)以及系統(tǒng)需求的描述,而不關(guān)心系統(tǒng)本身的結(jié)構(gòu)和功能實現(xiàn)細節(jié);平臺獨立模型類似于系統(tǒng)分析模型,它處于中間抽象層次,關(guān)注系統(tǒng)的整個架構(gòu)實現(xiàn),但卻忽略掉與平臺相關(guān)的部分。平臺獨立模型可以轉(zhuǎn)換成多個平臺相關(guān)模型;平臺相關(guān)模型則與設(shè)計模型相像,它把業(yè)務(wù)獨立模型與具體使用平臺的細節(jié)相結(jié)合,包含了具體平臺的特定實現(xiàn)技術(shù)。軟件開發(fā)過程中架構(gòu)師會跟據(jù)系統(tǒng)架構(gòu)的質(zhì)量要求,選擇一種或幾種平臺技術(shù)具體實現(xiàn)系統(tǒng)。圖1.1、MDA的模型及其轉(zhuǎn)換技術(shù)不同模型間可以通過模型轉(zhuǎn)換技術(shù)(Model Transformation)實現(xiàn)相互轉(zhuǎn)化,例如使用模型轉(zhuǎn)換技術(shù),我們可以將計算獨立模型(CIM)轉(zhuǎn)化為平臺獨立模型(PIM),平臺獨立模型(PIM)轉(zhuǎn)化為平臺相關(guān)模型(PSM)。由此可見,模型轉(zhuǎn)化技術(shù)是實現(xiàn)MDA的關(guān)鍵。模型轉(zhuǎn)換技術(shù)一般包括標(biāo)記(Markings)和映射(Mapping),映射包含了由一種模型向另一種模型轉(zhuǎn)化的規(guī)約說明,而標(biāo)記則用來在源模型中加入額外的信息,用來在轉(zhuǎn)換時告訴映射如何將源模型中的特定模型元素映射到目標(biāo)模型。通過MDA技術(shù)的使用,可以有效解決傳統(tǒng)軟件開發(fā)過程中的生產(chǎn)效率問題、系統(tǒng)移植問題、互操作問題以及文檔和系統(tǒng)后期維護問題,因此它一出現(xiàn)就受到業(yè)界的廣泛關(guān)注,并且越來越多的工具廠商對其提供支持,我們堅信:它的廣泛應(yīng)用只是時間問題。2 在RSA中實現(xiàn)MDA2.1 RSA概述IBM Rational Software Architect(RSA)是一套設(shè)計與開發(fā)工具,它構(gòu)建在開放的、可擴展的Eclipse3.0平臺之上,實現(xiàn)了多項行業(yè)最新標(biāo)準(zhǔn),提供了靈活的插件擴展機制。借助UML2.0技術(shù),它實現(xiàn)了模型驅(qū)動的軟件開發(fā)模式,可以幫助開發(fā)團隊創(chuàng)建更加強壯的軟件架構(gòu)。同時,RSA作為IBM Rational業(yè)務(wù)驅(qū)動軟件開發(fā)平臺的核心構(gòu)件,提供了與需求管理工具、測試工具、配置和變更管理工具和項目管理工具的完美集成 ,從而真正實現(xiàn)了企業(yè)內(nèi)部的核心軟件開發(fā)流程、開發(fā)平臺和軟件生產(chǎn)線。2.2 使用RSA實現(xiàn)MDA中的模型轉(zhuǎn)換 IBM在RSA中缺省提供了UML到Java、UML到C+、UML到EJB的模型轉(zhuǎn)化實現(xiàn),其整個實現(xiàn)架構(gòu)基于Eclipse 3.0和Eclipse Model Framework(EMF)、UML2、Graphical Editing Framework(GEF)和插件開發(fā)環(huán)境(PDE),為模型驅(qū)動軟件開發(fā)(MDA)的模型轉(zhuǎn)換方面提供了四個方面的工具支持:圖2.1、RSA對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)換源提供遍歷引擎,尤其對UML模型有較好支持3) 轉(zhuǎn)換應(yīng)用的GUI界面支持:使用戶能夠瀏覽、查找并應(yīng)用各種轉(zhuǎn)換。4) 制作轉(zhuǎn)換的GUI界面支持:為轉(zhuǎn)化制作中的創(chuàng)建、打包和維護轉(zhuǎn)換的各種任務(wù),提供很多自動化支持;在RSA中,MDA的模型轉(zhuǎn)換以插件的形式存在。RSA提供了向?qū)В╓izard)功能,指導(dǎo)用戶完成模型轉(zhuǎn)換框架插件項目的創(chuàng)建過程,下面舉例說明具體的MDA的模型轉(zhuǎn)換開發(fā)過程:1) 新建插件項目:在RSA中選擇File New -Project新建插件項目,選擇帶轉(zhuǎn)換的插件模板,它是RSA為構(gòu)建新的轉(zhuǎn)換提供的實現(xiàn)機制。圖2.2、建立帶轉(zhuǎn)換的插件項目選擇之后Wizard會自動提示輸入新建轉(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)換框架,實現(xiàn)具體的模型轉(zhuǎn)化規(guī)則。RSA的模型轉(zhuǎn)換插件項目向?qū)В╓izard)會自動生成模型轉(zhuǎn)化框架,如圖五所示:圖2.4、模型轉(zhuǎn)換實現(xiàn)框架基于這一框架,用戶需要根據(jù)具體轉(zhuǎn)換實現(xiàn)需求,完成ClassRule和OperationRule的具體實現(xiàn),完成具體的Transformation的轉(zhuǎn)換邏輯。3 在RSA中使用Transformation實現(xiàn)模型驅(qū)動的軟件開發(fā)我們實現(xiàn)了三個示例轉(zhuǎn)換Analysis to Design, BM Business to Use Case,BM Use Case to Analysis,并以插件的方式嵌入倒RSA(如圖3.1)。圖3.1. 三個示例轉(zhuǎn)換 以下是使用RSA進行模型驅(qū)動開發(fā)的步驟:1首先建立一個RSA項目及一個簡單的業(yè)務(wù)模型,也就是CIM;2通過BM Business to Use Case轉(zhuǎn)換,將業(yè)務(wù)模型(CIM)轉(zhuǎn)換為用例模型(PIM1);3進一步通過BM Use Case to Analysis將上一步驟產(chǎn)生的用例模型(PIM1)轉(zhuǎn)換為分析模型(PIM2);4再將設(shè)計模型(PIM2)轉(zhuǎn)換為設(shè)計模型(PSM);5最后將設(shè)計模型(PSM)轉(zhuǎn)換為代碼。3.1 創(chuàng)建RSA項目及業(yè)務(wù)模型首先創(chuàng)建模型項目(圖3.1),然后在此項目里添加一個業(yè)務(wù)模型;添加業(yè)務(wù)模型的方法是選擇空白模型模板,并命名為BusinessModel(圖3.2)。圖3.1. 創(chuàng)建模型項目 圖3.2. 創(chuàng)建業(yè)務(wù)模型然后,將已經(jīng)導(dǎo)入的概要文件應(yīng)用到模型項目上去。概要文件里面包含了一些已定義好的版型,作為對UML的擴展。點擊BusinessModel目錄,打開其屬性,選擇概要文件-添加概要文件,選擇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),具體過程為選擇SalesPerson類,打開其屬性,選擇版型-添加版型,在彈出的應(yīng)用版型窗口里選擇BusinessWorker(來自于Business Modelling)(圖3.5)。圖3.5. 應(yīng)用版型修改SalesPerson的版型后,其圖標(biāo)也變?yōu)橄鄳?yīng)版型的圖標(biāo)。接著,給SalesPerson增添兩個方法,processAnOrder()及takeAnOrder()(圖3.6)。到此階段,業(yè)務(wù)模型已經(jīng)產(chǎn)生好,通過應(yīng)用概要模式到模型及版型到類,我們對業(yè)務(wù)模型進行了精確的定義,有了這樣的精確定義,我們就可以通過轉(zhuǎn)換(transformation),將業(yè)務(wù)模型轉(zhuǎn)換為系統(tǒng)模型。圖3.6. 增加兩個業(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)模型后,我們可以開始轉(zhuǎn)換的工作。首先點擊源模型BusinessModel,選擇工具欄上Modeling選項,再選擇Transform-Configure Transformations(圖3.8)圖3.8. 配置轉(zhuǎn)換因為是從業(yè)務(wù)模型轉(zhuǎn)換到用例模型,在配置轉(zhuǎn)換窗口選擇BM Business to Use Case,圖3.9. 選擇BM Business to Use Case轉(zhuǎn)換點擊右下方的New按鈕,新建一個BM Business to Use Case的轉(zhuǎn)換,并在Target頁面選擇UseCaseModel作為目標(biāo)模型(圖3.10),圖3.10. 選擇UseCaseModel作為目標(biāo)模型選擇Common頁面,選擇創(chuàng)建源模型到目標(biāo)模型的追蹤關(guān)系,這樣我們在轉(zhuǎn)換的同時也保持了源模型與目標(biāo)模型之間的追蹤關(guān)系。最后點擊RUN,開始執(zhí)行轉(zhuǎn)換(圖3.11)。圖3.11. 創(chuàng)建源模型到目標(biāo)模型的追蹤關(guān)系圖3.12顯示了轉(zhuǎn)換后的用例模型,對應(yīng)業(yè)務(wù)模型的SalesPerson和其兩個操作,產(chǎn)生了一個SalesPerson主角及兩個用例processAnOrder和takeAnOrder。圖3.13顯示了轉(zhuǎn)換自動生成的業(yè)務(wù)模型和用例模型間的追蹤關(guān)系。圖3.12. 由業(yè)務(wù)模型產(chǎn)生的用例模型圖3.13. 用例模型與業(yè)務(wù)模型的追蹤關(guān)系3.3 從用例模型(PIM1)轉(zhuǎn)換為分析模型(PIM2)我們進一步將用例模型轉(zhuǎn)換為分析模型(圖3.14)圖3.14. 使用BM Use Case to Analysis轉(zhuǎn)換經(jīng)轉(zhuǎn)換后產(chǎn)生的分析模型如圖3.15所示??梢钥吹剑ㄟ^轉(zhuǎn)換,RSA自動產(chǎn)生了對應(yīng)用例的分析類和用例實現(xiàn),并建立用例模型到分析模型間的追蹤關(guān)系。圖3.15. 由用例模型產(chǎn)生的分析模型分析模型與用例模型的追蹤關(guān)系(圖3.16)圖3.16. 分析模型與用例模型的追蹤關(guān)系3.4 從分析模型(PIM2)轉(zhuǎn)換為設(shè)計模型(PSM)我們進一步通過 IBM Analysis To Design 轉(zhuǎn)換將分析模型轉(zhuǎn)換為設(shè)計模型(圖3.17)圖3.17. 使用BM Analysis To Design轉(zhuǎn)換經(jīng)轉(zhuǎn)換后產(chǎn)生的設(shè)計模型包含設(shè)計類,子系統(tǒng),接口等,如圖3.18所示:圖3.18. 分析模型轉(zhuǎn)換為設(shè)計模型 3.5 設(shè)計模型(PSM)轉(zhuǎn)換為代碼最后通過RSA本身提供的UML to EJB轉(zhuǎn)換,將設(shè)計模型轉(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ù),它的推出讓我們擁有了強大的模型驅(qū)動開發(fā)工具。本文介紹了如何通過Rational Software Architect實現(xiàn)模型驅(qū)動的軟件開發(fā),包括如何在RSA中建立轉(zhuǎn)換(transformation)和如何通過這些轉(zhuǎn)換實現(xiàn)模型到模型、模型到代碼的轉(zhuǎn)變。從中我們看到,通過MDA技術(shù),我們提高了開發(fā)的效率,如通過轉(zhuǎn)換能迅速的實現(xiàn)不同模型之間的轉(zhuǎn)換;同時,我們的業(yè)務(wù)模型獨立于任何實現(xiàn)技術(shù),提高了系統(tǒng)的可移植性,保留了企業(yè)寶貴的資
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 百色2025年廣西百色市事業(yè)單位招聘1701人筆試歷年參考題庫附帶答案詳解
- ???025年海南海口市美蘭區(qū)公費師范招聘4人筆試歷年參考題庫附帶答案詳解
- 中央編辦面試題及答案
- D-二聚體和凝血4項檢測在孕婦產(chǎn)前檢查中的應(yīng)用
- 館校共建協(xié)議書(2篇)
- 4s店流程置換協(xié)議書(2篇)
- 旅游度假商業(yè)計劃書
- 腦癱的分類及臨床表現(xiàn)
- 網(wǎng)絡(luò)小說的心
- 2025年消防執(zhí)業(yè)資格考試題庫:消防監(jiān)督檢查要點與法規(guī)應(yīng)用試題
- 《養(yǎng)老護理員》-課件:老年人安全防范及相關(guān)知識
- 2024年英語專業(yè)四級考試真題及詳細答案
- 成語故事葉公好龍
- 肺占位性病變查房
- MHT:中小學(xué)生心理健康檢測(含量表與評分說明)
- 制度修訂培訓(xùn)課件
- 項目立項申請說明(共6篇)
- 特種設(shè)備作業(yè)人員體檢表(叉車)
- 委托付款三方協(xié)議中英文版
- 含有邏輯謬論的句子
- 個人簡歷word模板免費4篇
評論
0/150
提交評論