




免費預覽已結束,剩余12頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
如何使用 IBM Rational Software Architect 實現(xiàn)模型驅動的軟件開發(fā)模型驅動架構(MDA)是OMG提出的新的方法學, 是一種新的系統(tǒng)開發(fā)方法,它強調整個系統(tǒng)開發(fā)過程由對軟件系統(tǒng)的建模行為驅動,完成系統(tǒng)需求分析、架構設計、構建、測試、部署和運維工作。與傳統(tǒng)的UML模型相比,MDA能夠創(chuàng)建出機器可讀和高度抽象的模型,這種模型通過轉換(Transformation)技術可自動轉換為代碼、測試腳本、數(shù)據(jù)庫定義以及各種平臺部署描述。1 MDA概述模型驅動架構(MDA)是OMG提出的新的方法學, 是一種新的系統(tǒng)開發(fā)方法,它強調整個系統(tǒng)開發(fā)過程由對軟件系統(tǒng)的建模行為驅動,完成系統(tǒng)需求分析、架構設計、構建、測試、部署和運維工作。與傳統(tǒng)的UML模型相比,MDA能夠創(chuàng)建出機器可讀和高度抽象的模型,這種模型通過轉換(Transformation)技術可自動轉換為代碼、測試腳本、數(shù)據(jù)庫定義以及各種平臺部署描述。從此,建模語言不僅僅是分析設計語言,更可用作為一種高級編程語言。 MDA通過抽象層次的不同,定義了計算獨立模型(CIM)、平臺獨立模型(PIM)和平臺相關模型(PSM)。計算獨立模型類似于我們常說的業(yè)務模型和用例模型,是一個抽象層次較高、獨立于任何實現(xiàn)技術的系統(tǒng)模型,它著眼于操作環(huán)境中的系統(tǒng)以及系統(tǒng)需求的描述,而不關心系統(tǒng)本身的結構和功能實現(xiàn)細節(jié);平臺獨立模型類似于系統(tǒng)分析模型,它處于中間抽象層次,關注系統(tǒng)的整個架構實現(xiàn),但卻忽略掉與平臺相關的部分。平臺獨立模型可以轉換成多個平臺相關模型;平臺相關模型則與設計模型相像,它把業(yè)務獨立模型與具體使用平臺的細節(jié)相結合,包含了具體平臺的特定實現(xiàn)技術。軟件開發(fā)過程中架構師會跟據(jù)系統(tǒng)架構的質量要求,選擇一種或幾種平臺技術具體實現(xiàn)系統(tǒng)。圖1.1、MDA的模型及其轉換技術不同模型間可以通過模型轉換技術(Model Transformation)實現(xiàn)相互轉化,例如使用模型轉換技術,我們可以將計算獨立模型(CIM)轉化為平臺獨立模型(PIM),平臺獨立模型(PIM)轉化為平臺相關模型(PSM)。由此可見,模型轉化技術是實現(xiàn)MDA的關鍵。模型轉換技術一般包括標記(Markings)和映射(Mapping),映射包含了由一種模型向另一種模型轉化的規(guī)約說明,而標記則用來在源模型中加入額外的信息,用來在轉換時告訴映射如何將源模型中的特定模型元素映射到目標模型。通過MDA技術的使用,可以有效解決傳統(tǒng)軟件開發(fā)過程中的生產(chǎn)效率問題、系統(tǒng)移植問題、互操作問題以及文檔和系統(tǒng)后期維護問題,因此它一出現(xiàn)就受到業(yè)界的廣泛關注,并且越來越多的工具廠商對其提供支持,我們堅信:它的廣泛應用只是時間問題。2 在RSA中實現(xiàn)MDA2.1 RSA概述IBM Rational Software Architect(RSA)是一套設計與開發(fā)工具,它構建在開放的、可擴展的Eclipse3.0平臺之上,實現(xiàn)了多項行業(yè)最新標準,提供了靈活的插件擴展機制。借助UML2.0技術,它實現(xiàn)了模型驅動的軟件開發(fā)模式,可以幫助開發(fā)團隊創(chuàng)建更加強壯的軟件架構。同時,RSA作為IBM Rational業(yè)務驅動軟件開發(fā)平臺的核心構件,提供了與需求管理工具、測試工具、配置和變更管理工具和項目管理工具的完美集成 ,從而真正實現(xiàn)了企業(yè)內部的核心軟件開發(fā)流程、開發(fā)平臺和軟件生產(chǎn)線。2.2 使用RSA實現(xiàn)MDA中的模型轉換 IBM在RSA中缺省提供了UML到Java、UML到C+、UML到EJB的模型轉化實現(xiàn),其整個實現(xiàn)架構基于Eclipse 3.0和Eclipse Model Framework(EMF)、UML2、Graphical Editing Framework(GEF)和插件開發(fā)環(huán)境(PDE),為模型驅動軟件開發(fā)(MDA)的模型轉換方面提供了四個方面的工具支持:圖2.1、RSA對MDA及其轉換技術的支持架構 1) 轉換服務(Transformation Service):支持轉換的交換和發(fā)現(xiàn)功能,為其它轉換工具支持提供基礎。2) 轉換引擎(Transformation Engine):為層次化的轉換源提供遍歷引擎,尤其對UML模型有較好支持3) 轉換應用的GUI界面支持:使用戶能夠瀏覽、查找并應用各種轉換。4) 制作轉換的GUI界面支持:為轉化制作中的創(chuàng)建、打包和維護轉換的各種任務,提供很多自動化支持;在RSA中,MDA的模型轉換以插件的形式存在。RSA提供了向導(Wizard)功能,指導用戶完成模型轉換框架插件項目的創(chuàng)建過程,下面舉例說明具體的MDA的模型轉換開發(fā)過程:1) 新建插件項目:在RSA中選擇File New -Project新建插件項目,選擇帶轉換的插件模板,它是RSA為構建新的轉換提供的實現(xiàn)機制。圖2.2、建立帶轉換的插件項目選擇之后Wizard會自動提示輸入新建轉換源和目標模型類型及相關聯(lián)的屬性,并為轉換創(chuàng)建規(guī)則定義,如圖四所示:在我們例子里將創(chuàng)建 ClassRule 和OperationRule;圖2.3、建立轉換規(guī)則2) 基于RSA提供的模型轉換框架,實現(xiàn)具體的模型轉化規(guī)則。RSA的模型轉換插件項目向導(Wizard)會自動生成模型轉化框架,如圖五所示:圖2.4、模型轉換實現(xiàn)框架基于這一框架,用戶需要根據(jù)具體轉換實現(xiàn)需求,完成ClassRule和OperationRule的具體實現(xiàn),完成具體的Transformation的轉換邏輯。3 在RSA中使用Transformation實現(xiàn)模型驅動的軟件開發(fā)我們實現(xiàn)了三個示例轉換Analysis to Design, BM Business to Use Case,BM Use Case to Analysis,并以插件的方式嵌入倒RSA(如圖3.1)。圖3.1. 三個示例轉換 以下是使用RSA進行模型驅動開發(fā)的步驟:1首先建立一個RSA項目及一個簡單的業(yè)務模型,也就是CIM;2通過BM Business to Use Case轉換,將業(yè)務模型(CIM)轉換為用例模型(PIM1);3進一步通過BM Use Case to Analysis將上一步驟產(chǎn)生的用例模型(PIM1)轉換為分析模型(PIM2);4再將設計模型(PIM2)轉換為設計模型(PSM);5最后將設計模型(PSM)轉換為代碼。3.1 創(chuàng)建RSA項目及業(yè)務模型首先創(chuàng)建模型項目(圖3.1),然后在此項目里添加一個業(yè)務模型;添加業(yè)務模型的方法是選擇空白模型模板,并命名為BusinessModel(圖3.2)。圖3.1. 創(chuàng)建模型項目 圖3.2. 創(chuàng)建業(yè)務模型然后,將已經(jīng)導入的概要文件應用到模型項目上去。概要文件里面包含了一些已定義好的版型,作為對UML的擴展。點擊BusinessModel目錄,打開其屬性,選擇概要文件-添加概要文件,選擇Business Modelling Sample Profile(圖3.3)。圖3.3. 應用概要文件在BusinessModel模型下創(chuàng)建SalesPerson類(如圖3.4所示),我們將在之后的轉換中逐步的把SalesPerson類轉成目標模型中相應的元素。圖3.4. 創(chuàng)建SalesPerson類 修改SalesPerson類的版型(Stereotype),具體過程為選擇SalesPerson類,打開其屬性,選擇版型-添加版型,在彈出的應用版型窗口里選擇BusinessWorker(來自于Business Modelling)(圖3.5)。圖3.5. 應用版型修改SalesPerson的版型后,其圖標也變?yōu)橄鄳嫘偷膱D標。接著,給SalesPerson增添兩個方法,processAnOrder()及takeAnOrder()(圖3.6)。到此階段,業(yè)務模型已經(jīng)產(chǎn)生好,通過應用概要模式到模型及版型到類,我們對業(yè)務模型進行了精確的定義,有了這樣的精確定義,我們就可以通過轉換(transformation),將業(yè)務模型轉換為系統(tǒng)模型。圖3.6. 增加兩個業(yè)務方法3.2 從業(yè)務模型(CIM)轉換為用例模型(PIM1)在轉換之前首先創(chuàng)建目標模型,在這里為用例模型(圖3.7)。圖3.7. 創(chuàng)建用例模型創(chuàng)建了目標模型后,我們可以開始轉換的工作。首先點擊源模型BusinessModel,選擇工具欄上Modeling選項,再選擇Transform-Configure Transformations(圖3.8)圖3.8. 配置轉換因為是從業(yè)務模型轉換到用例模型,在配置轉換窗口選擇BM Business to Use Case,圖3.9. 選擇BM Business to Use Case轉換點擊右下方的New按鈕,新建一個BM Business to Use Case的轉換,并在Target頁面選擇UseCaseModel作為目標模型(圖3.10),圖3.10. 選擇UseCaseModel作為目標模型選擇Common頁面,選擇創(chuàng)建源模型到目標模型的追蹤關系,這樣我們在轉換的同時也保持了源模型與目標模型之間的追蹤關系。最后點擊RUN,開始執(zhí)行轉換(圖3.11)。圖3.11. 創(chuàng)建源模型到目標模型的追蹤關系圖3.12顯示了轉換后的用例模型,對應業(yè)務模型的SalesPerson和其兩個操作,產(chǎn)生了一個SalesPerson主角及兩個用例processAnOrder和takeAnOrder。圖3.13顯示了轉換自動生成的業(yè)務模型和用例模型間的追蹤關系。圖3.12. 由業(yè)務模型產(chǎn)生的用例模型圖3.13. 用例模型與業(yè)務模型的追蹤關系3.3 從用例模型(PIM1)轉換為分析模型(PIM2)我們進一步將用例模型轉換為分析模型(圖3.14)圖3.14. 使用BM Use Case to Analysis轉換經(jīng)轉換后產(chǎn)生的分析模型如圖3.15所示??梢钥吹?,通過轉換,RSA自動產(chǎn)生了對應用例的分析類和用例實現(xiàn),并建立用例模型到分析模型間的追蹤關系。圖3.15. 由用例模型產(chǎn)生的分析模型分析模型與用例模型的追蹤關系(圖3.16)圖3.16. 分析模型與用例模型的追蹤關系3.4 從分析模型(PIM2)轉換為設計模型(PSM)我們進一步通過 IBM Analysis To Design 轉換將分析模型轉換為設計模型(圖3.17)圖3.17. 使用BM Analysis To Design轉換經(jīng)轉換后產(chǎn)生的設計模型包含設計類,子系統(tǒng),接口等,如圖3.18所示:圖3.18. 分析模型轉換為設計模型 3.5 設計模型(PSM)轉換為代碼最后通過RSA本身提供的UML to EJB轉換,將設計模型轉換為EJB代碼。圖3.19. 使用UML到EJB的轉換經(jīng)轉換后產(chǎn)生的Session Bean,如圖3.20所示。圖3.20. 使用UML到EJB的轉換生成的Session Bean4 小結Rational Software Architect是IBM Rational新一代的建模工具,它基于Eclipse 3.0, UML2.0及MDA技術,它的推出讓我們擁有了強大的模型驅動開發(fā)工具。本文介紹了如何通過Rational Software Architect實現(xiàn)模型驅動的軟件開發(fā),包括如何在RSA中建立轉換(transformation)和如何通過這些轉換實現(xiàn)模型到模型、模型到代碼的轉變。從中我們看到,通過MDA技術,我們提高了開發(fā)的效率,如通過轉換能迅速的實現(xiàn)不同模型之間的轉換;同時,我們的業(yè)務模型獨立于任何實現(xiàn)技術,提高了系統(tǒng)的可移植性,保留了企業(yè)寶貴的資
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- N-Methoxy-mephedrone-hydrochloride-N-Methoxy-4-MeMC-hydrochloride-生命科學試劑-MCE
- 科技美工區(qū)未來設計趨勢與實踐探索
- 科技中心在促進城市文化傳播中的角色
- 2025至2030年中國節(jié)能球磨機配件數(shù)據(jù)監(jiān)測研究報告
- 社區(qū)養(yǎng)老設施的綠色環(huán)保建設理念與實踐
- 眼部健康重歸術后注意事項解析
- 2025年江西省交通投資集團有限責任公司校園招聘140人筆試參考題庫附帶答案詳解
- 2025至2030年中國肝炎藥品數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國聚酯漆包鋁圓線數(shù)據(jù)監(jiān)測研究報告
- 2025年度智能交通系統(tǒng)經(jīng)營權整體轉讓合同
- T∕CCCMHPIE 1.3-2016 植物提取物 橙皮苷
- 土石壩設計畢業(yè)設計
- 一季責任制整體護理持續(xù)改進實例
- 清華抬頭信紙
- 毫火針療法PPT課件
- 三年級部編版語文下冊第二單元日積月累
- 蝴蝶蘭溫室工廠化栽培管理技術
- 原發(fā)性肺癌手術臨床路徑(最全版)
- 最新工程招投標實訓課程標準教案
- 企業(yè)職工流動登記表格模板(最新)
- KET核心詞匯中文加音標_完整版
評論
0/150
提交評論