




已閱讀5頁,還剩12頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
如何使用 IBM Rational Software Architect 實現模型驅動的軟件開發模型驅動架構(MDA)是OMG提出的新的方法學, 是一種新的系統開發方法,它強調整個系統開發過程由對軟件系統的建模行為驅動,完成系統需求分析、架構設計、構建、測試、部署和運維工作。與傳統的UML模型相比,MDA能夠創建出機器可讀和高度抽象的模型,這種模型通過轉換(Transformation)技術可自動轉換為代碼、測試腳本、數據庫定義以及各種平臺部署描述。1 MDA概述模型驅動架構(MDA)是OMG提出的新的方法學, 是一種新的系統開發方法,它強調整個系統開發過程由對軟件系統的建模行為驅動,完成系統需求分析、架構設計、構建、測試、部署和運維工作。與傳統的UML模型相比,MDA能夠創建出機器可讀和高度抽象的模型,這種模型通過轉換(Transformation)技術可自動轉換為代碼、測試腳本、數據庫定義以及各種平臺部署描述。從此,建模語言不僅僅是分析設計語言,更可用作為一種高級編程語言。 MDA通過抽象層次的不同,定義了計算獨立模型(CIM)、平臺獨立模型(PIM)和平臺相關模型(PSM)。計算獨立模型類似于我們常說的業務模型和用例模型,是一個抽象層次較高、獨立于任何實現技術的系統模型,它著眼于操作環境中的系統以及系統需求的描述,而不關心系統本身的結構和功能實現細節;平臺獨立模型類似于系統分析模型,它處于中間抽象層次,關注系統的整個架構實現,但卻忽略掉與平臺相關的部分。平臺獨立模型可以轉換成多個平臺相關模型;平臺相關模型則與設計模型相像,它把業務獨立模型與具體使用平臺的細節相結合,包含了具體平臺的特定實現技術。軟件開發過程中架構師會跟據系統架構的質量要求,選擇一種或幾種平臺技術具體實現系統。圖1.1、MDA的模型及其轉換技術不同模型間可以通過模型轉換技術(Model Transformation)實現相互轉化,例如使用模型轉換技術,我們可以將計算獨立模型(CIM)轉化為平臺獨立模型(PIM),平臺獨立模型(PIM)轉化為平臺相關模型(PSM)。由此可見,模型轉化技術是實現MDA的關鍵。模型轉換技術一般包括標記(Markings)和映射(Mapping),映射包含了由一種模型向另一種模型轉化的規約說明,而標記則用來在源模型中加入額外的信息,用來在轉換時告訴映射如何將源模型中的特定模型元素映射到目標模型。通過MDA技術的使用,可以有效解決傳統軟件開發過程中的生產效率問題、系統移植問題、互操作問題以及文檔和系統后期維護問題,因此它一出現就受到業界的廣泛關注,并且越來越多的工具廠商對其提供支持,我們堅信:它的廣泛應用只是時間問題。2 在RSA中實現MDA2.1 RSA概述IBM Rational Software Architect(RSA)是一套設計與開發工具,它構建在開放的、可擴展的Eclipse3.0平臺之上,實現了多項行業最新標準,提供了靈活的插件擴展機制。借助UML2.0技術,它實現了模型驅動的軟件開發模式,可以幫助開發團隊創建更加強壯的軟件架構。同時,RSA作為IBM Rational業務驅動軟件開發平臺的核心構件,提供了與需求管理工具、測試工具、配置和變更管理工具和項目管理工具的完美集成 ,從而真正實現了企業內部的核心軟件開發流程、開發平臺和軟件生產線。2.2 使用RSA實現MDA中的模型轉換 IBM在RSA中缺省提供了UML到Java、UML到C+、UML到EJB的模型轉化實現,其整個實現架構基于Eclipse 3.0和Eclipse Model Framework(EMF)、UML2、Graphical Editing Framework(GEF)和插件開發環境(PDE),為模型驅動軟件開發(MDA)的模型轉換方面提供了四個方面的工具支持:圖2.1、RSA對MDA及其轉換技術的支持架構 1) 轉換服務(Transformation Service):支持轉換的交換和發現功能,為其它轉換工具支持提供基礎。2) 轉換引擎(Transformation Engine):為層次化的轉換源提供遍歷引擎,尤其對UML模型有較好支持3) 轉換應用的GUI界面支持:使用戶能夠瀏覽、查找并應用各種轉換。4) 制作轉換的GUI界面支持:為轉化制作中的創建、打包和維護轉換的各種任務,提供很多自動化支持;在RSA中,MDA的模型轉換以插件的形式存在。RSA提供了向導(Wizard)功能,指導用戶完成模型轉換框架插件項目的創建過程,下面舉例說明具體的MDA的模型轉換開發過程:1) 新建插件項目:在RSA中選擇File New -Project新建插件項目,選擇帶轉換的插件模板,它是RSA為構建新的轉換提供的實現機制。圖2.2、建立帶轉換的插件項目選擇之后Wizard會自動提示輸入新建轉換源和目標模型類型及相關聯的屬性,并為轉換創建規則定義,如圖四所示:在我們例子里將創建 ClassRule 和OperationRule;圖2.3、建立轉換規則2) 基于RSA提供的模型轉換框架,實現具體的模型轉化規則。RSA的模型轉換插件項目向導(Wizard)會自動生成模型轉化框架,如圖五所示:圖2.4、模型轉換實現框架基于這一框架,用戶需要根據具體轉換實現需求,完成ClassRule和OperationRule的具體實現,完成具體的Transformation的轉換邏輯。3 在RSA中使用Transformation實現模型驅動的軟件開發我們實現了三個示例轉換Analysis to Design, BM Business to Use Case,BM Use Case to Analysis,并以插件的方式嵌入倒RSA(如圖3.1)。圖3.1. 三個示例轉換 以下是使用RSA進行模型驅動開發的步驟:1首先建立一個RSA項目及一個簡單的業務模型,也就是CIM;2通過BM Business to Use Case轉換,將業務模型(CIM)轉換為用例模型(PIM1);3進一步通過BM Use Case to Analysis將上一步驟產生的用例模型(PIM1)轉換為分析模型(PIM2);4再將設計模型(PIM2)轉換為設計模型(PSM);5最后將設計模型(PSM)轉換為代碼。3.1 創建RSA項目及業務模型首先創建模型項目(圖3.1),然后在此項目里添加一個業務模型;添加業務模型的方法是選擇空白模型模板,并命名為BusinessModel(圖3.2)。圖3.1. 創建模型項目 圖3.2. 創建業務模型然后,將已經導入的概要文件應用到模型項目上去。概要文件里面包含了一些已定義好的版型,作為對UML的擴展。點擊BusinessModel目錄,打開其屬性,選擇概要文件-添加概要文件,選擇Business Modelling Sample Profile(圖3.3)。圖3.3. 應用概要文件在BusinessModel模型下創建SalesPerson類(如圖3.4所示),我們將在之后的轉換中逐步的把SalesPerson類轉成目標模型中相應的元素。圖3.4. 創建SalesPerson類 修改SalesPerson類的版型(Stereotype),具體過程為選擇SalesPerson類,打開其屬性,選擇版型-添加版型,在彈出的應用版型窗口里選擇BusinessWorker(來自于Business Modelling)(圖3.5)。圖3.5. 應用版型修改SalesPerson的版型后,其圖標也變為相應版型的圖標。接著,給SalesPerson增添兩個方法,processAnOrder()及takeAnOrder()(圖3.6)。到此階段,業務模型已經產生好,通過應用概要模式到模型及版型到類,我們對業務模型進行了精確的定義,有了這樣的精確定義,我們就可以通過轉換(transformation),將業務模型轉換為系統模型。圖3.6. 增加兩個業務方法3.2 從業務模型(CIM)轉換為用例模型(PIM1)在轉換之前首先創建目標模型,在這里為用例模型(圖3.7)。圖3.7. 創建用例模型創建了目標模型后,我們可以開始轉換的工作。首先點擊源模型BusinessModel,選擇工具欄上Modeling選項,再選擇Transform-Configure Transformations(圖3.8)圖3.8. 配置轉換因為是從業務模型轉換到用例模型,在配置轉換窗口選擇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頁面,選擇創建源模型到目標模型的追蹤關系,這樣我們在轉換的同時也保持了源模型與目標模型之間的追蹤關系。最后點擊RUN,開始執行轉換(圖3.11)。圖3.11. 創建源模型到目標模型的追蹤關系圖3.12顯示了轉換后的用例模型,對應業務模型的SalesPerson和其兩個操作,產生了一個SalesPerson主角及兩個用例processAnOrder和takeAnOrder。圖3.13顯示了轉換自動生成的業務模型和用例模型間的追蹤關系。圖3.12. 由業務模型產生的用例模型圖3.13. 用例模型與業務模型的追蹤關系3.3 從用例模型(PIM1)轉換為分析模型(PIM2)我們進一步將用例模型轉換為分析模型(圖3.14)圖3.14. 使用BM Use Case to Analysis轉換經轉換后產生的分析模型如圖3.15所示??梢钥吹?,通過轉換,RSA自動產生了對應用例的分析類和用例實現,并建立用例模型到分析模型間的追蹤關系。圖3.15. 由用例模型產生的分析模型分析模型與用例模型的追蹤關系(圖3.16)圖3.16. 分析模型與用例模型的追蹤關系3.4 從分析模型(PIM2)轉換為設計模型(PSM)我們進一步通過 IBM Analysis To Design 轉換將分析模型轉換為設計模型(圖3.17)圖3.17. 使用BM Analysis To Design轉換經轉換后產生的設計模型包含設計類,子系統,接口等,如圖3.18所示:圖3.18. 分析模型轉換為設計模型 3.5 設計模型(PSM)轉換為代碼最后通過RSA本身提供的UML to EJB轉換,將設計模型轉換為EJB代碼。圖3.19. 使用UML到EJB的轉換經轉換后產生的Session Bean,如圖3.20所示。圖3.20. 使用UML到EJB的轉換生成的Session Bean4 小結Rational Software Architect是IBM Rational新一代的建模工具,它基于Eclipse 3.0, UML2.0及MDA技術,它的推出讓我們擁有了強大的模型驅動開發工具。本文介紹了如何通過Rational Software Architect實現模型驅動的軟件開發,包括如何在RSA中建立轉換(transformation)和如何通過這些轉換實現模型到模型、模型到代碼的轉變。從中我們看到,通過MDA技術,我們提高了開發的效率,如通過轉換能迅速的實現不同模型之間的轉換;同時,我們的業務模型獨立于任何實現技術,提高了系統的可移植性,保留了企業寶貴的資
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理腫瘤病人禮儀培訓
- 江西省婺源縣2024-2025學年初三學生調研考試數學試題含解析
- 江蘇省永豐初級中學2024-2025學年七校聯考高考物理試題一模試卷含解析
- 中國計量大學現代科技學院《中醫藥學概論》2023-2024學年第二學期期末試卷
- 麗水職業技術學院《音樂文獻檢索與論文寫作》2023-2024學年第二學期期末試卷
- 渭南市澄城縣2024-2025學年五年級數學第二學期期末教學質量檢測模擬試題含答案
- 山西藥科職業學院《醫學細胞生物學討論》2023-2024學年第一學期期末試卷
- 江蘇省泰州市泰興市黃橋教育聯盟重點名校2025屆初三下學期聯考(二)語文試題試卷含解析
- 江蘇大學京江學院《校園音樂活動策劃》2023-2024學年第二學期期末試卷
- 內蒙古藝術學院《教你玩轉信息化學習》2023-2024學年第二學期期末試卷
- 室內裝修趕工措施方案
- 場地移交確認書
- 叉車保養計劃表(共10頁)
- 空調維修材料費清單
- (完整版)最全安全檢查表
- 安全生產檢查記錄表(范表)
- 企業總經理聘用合同范本
- 土木工程行業人才需求缺口與本科院校就業壓力之間的矛盾分析
- U型管卡標準(共7頁)
- 漢字書法課件模板:虛_篆書41種寫法
- 工程部(資料員)績效考核
評論
0/150
提交評論