MDA 與實現 MDA 的 Rational 工具 RSA —— RSA“嘗鮮會”歸來
最後更新:2017-02-28
來源:互聯網
上載者:User
MDA 與實現 MDA 的 Rational 工具 RSA
——RSA“嘗鮮會”歸來
IT小混混
Mar.18, 2005
(轉載請註明出處)
聲明
IBM Rational工作群組和UML軟體工程組織聯合在上海浦東軟體園舉辦了IBM Rational 新產品“嘗鮮會”,作者見到了即將發布的實現MDD的Rational新品。現將作者所能感受到的東西介紹給大家,由於發文時,作者還沒有拿到講座的slice,任何與原講座內容有出入的地方,與顧春華(講座人)無關,也與UML軟體工程組織和IBM RSA無關。
任何錯誤或不足,請指正!
前言
MDA是對象管理組織OMG力圖制定的實現MDD(Model-Driven Development)的標準,各大軟體領導廠商也都積极參与MDA標準化的工作。現在IBM已經實現了MDD的基於Eclipse平台的產品Rational Software Architect,並在其中整合了過程管理、版本控制、代碼複審等功能。由於Eclipse架構的平台開放性以及IBM和現今Eclipse的影響,相信會有很多人會採用RSA。今天的講座對於RSA只是介紹性,作者也沒有親身操作體驗RSA,有些特性領會也不深刻,只能結合講座內容和作者在Eclipse開發上的經驗對MDA和RSA做一個簡要介紹。
1. MDA
1.1. MDD
MDD是Model-Driven Development是首字母簡寫,它以模型(Model)為開發過程的主要製品(Artifact),通過Model Transformation,Model Manipulation和Model Execution實現最終產品。所有這些都是基於UML2.0的。
1.2. MDA
MDA(Model-Driven Architecture)相關spec, article可以在OMG官方網站上找到。MDA定義了幾個模型以及模型的轉化。
l CIM (Computation-independent Model) 這個模型是來自於業務領域的,通過對業務領域建模產生。
l PIM (Platform-Independent Model) 這個模型通過CIM mapping過來,經過修改PIM進行平台無關建模。
l PSM (Platform-Specific Model) 這個模型通過PIM mapping過來,經過修改PSM進行平台相關的部分進行建模。
有了以上模型,就可以直接mapping到code,並實現模型與code的同步。根據實現的情況,可以對劃分模型驅動成熟度等級(這部分沒有記全,暫略)。
1.3. UML2.0
MDA實現的基礎是基於UML 2.0的,由於有了UML2.0對模型描述的更加精確,才使得實現MDA成為了可能。
2. RSA
Rational Software Architect是IBM實現MDD的新一代工具,包含了IBM同時發布(上海大概會在月底展示)的幾個版本中為Architect量身定做的版本。下面的介紹將不區分具體版本。
RSA具有以下幾大特性:
l 基於Eclipse平台 由於Eclipse平台的開放性,她所實現的plug-in的extension/extension point機制,為對各個公司和廠商實現自己特定平台支援提供了強大IDE平台,況且現在Eclipse社區已經有了眾多的contributors。
l Java的全面支援 RSA支援直接從Java代碼產生模型,code和model即時同步以及從代碼裡提模數式等資訊。並且已經預置了對GOF Patterns, J2EE Patterns等等的全面支援。
l 遷移Rose & XDE 對遷移Rational Rose和XDE的支援,使得對以往用他們做的模型都可以遷移到RSA。
l c/c++的支援 未做示範。
l RUP整合 Rational Unified Process實現的是對開發流程的指導,RSA整合了RUP,並且建模過程中可隨時調出RUP相應的指導。
l 組態管理 RSA整合了ClearCase來實現組態管理。
l Code Review RSA實現的代碼複審,可以有使用者自己編輯規則,對代碼進行檢查,給出修改建議,實現修改協助等。
l MDD 在第3部分詳細介紹
l 其他
3. 用RSA實現MDD
這部分主要講RSA在實現MDD上的表現。
任何實現MMD的工具,都是在模型的實現和模型的mapping上。RSA主要是通過對Eclipse Wizard, View, Editor的貢獻來實現的。具體到MDA上又與RUP的幾個模型視圖對應起來。
l CIM -- Business Model
l PIM1 – Use Case Model
l PIM2 – Analysis Model
l PSM – Design Model
每個model都有相應的profile,在創立模型的時候就對模型之間進行了映射,所以不管你在哪個模型上做了修改,其它模型也會相應地改變。
很多通用的model和profile都可以通過IBM RAS(Reusable Asset Specification)獲得,你所做的RAS也可以作為自己的資產庫以備今後重用(模型複用)。當然Contribute到相應的社區,也反過來能推動整個RAS的發展。
採用RSA,你所做的工作就是如果沒有相應的支援,只要做了相應的支援工作(最多的工作還是PSM的實現,有了對自己各個特定平台PSM的實現,就可以用統一的上層統一的模型轉化過來),就可以更加專註於業務領域的模型。
關於作者
田海立,系統分析師,興趣方向:系統分析、軟體架構。
個人blog: http://blog.csdn.net/thl789,可以通過haili.tian@gmail.com或tianhaili@nju.org.cn直接與他聯絡。