atitit.提升開發效率---mda 軟體開發方式的革命--(2)

來源:互聯網
上載者:User

標籤:style   blog   http   io   使用   ar   java   for   檔案   

 

atitit.提升開發效率---mda 軟體開發方式的革命--(2) 

 

1. 一個完整的MDA規範包括: 1

2. 一個完整的MDA應用程式套件組合括: 1

3. MDA可以帶來的最大的三個優點是什嗎? 2

4. 三大MDA工具 2

5. 代碼補充 3

6. Mda的問題 3

7. EMF與MDA 4

8. MDA跟代碼自己主動產生的差別 4

9. openMDX-開源MDA平台 5

10. openMDX 的開發過程 5

11. MDA的兩種實現 5

12. 參考 6

 

1.  一個完整的MDA規範包括:

  1、一個權威的基於UML的平台無關模型PIM;
  2、一個或者多個與特定平台相關的模型PSM;
  3、介面定義集合- 每一個集合描寫敘述了基本模型再不同中介軟體平台上的實現。

2.   一個完整的MDA應用程式套件組合括:

  1、一個權威的PIM;
  2、一個或者多個PSM;
  3、一個或者多個完整的實現- 開發人員決定支援的全部平台上的應用程式實現。

將PIM映射到某個特定平台的PSM的工作是由工具自己主動完畢的,當我們須要支援新的技術的時候,這就簡化了我們的工作。

 

作者:: 老哇的爪子 Attilax 艾龍,  EMAIL:[email protected]

轉載請註明來源: http://blog.csdn.net/attilax

 

 

 

3. MDA可以帶來的最大的三個優點是什嗎?

  使用MDA方式可以帶來非常多的優點,最重要的三個是:基於MDA的架構總是可以隨時應付昨天的、今天的和未來的下一 個主流技術。MDA將會使得應用程式和工具可以跨越中介軟體的邊界,從而變得更easy整合。OMG Domain Task Forces小組負責在MDA中定義領域相關的工具,它將會提供更廣闊的互通性。由於這些工具將會在特定領域的首選平台上可以使用,並且假設須要,也可 以在多種平台上被使用。

4. 三大MDA工具

 

   ArcStyler簡單介紹

 

ArcStyler是德國Interactive Objects Software GmbH公司開發的MDA開發軟體,它遵循OMG的MDA 規範,純JAVA 開發,跨平台。是當前最流行的三大MDA工具之中的一個,支援J2EE和.NET平台,支援橋接器的動態載入。

 

4.3        建立PIM模型

 

如同使用一些通用的UML工具一樣,能夠在UML工具區建立系統的PIM模型,包含下面工作:

?         建立一個名為iBank的包;

?         在iBank包中建立一個名為iBankDiagram的類圖;

?         在iBankDiagram圖中建立Account,Bank,Transfer三個組件;

?         為上面三個組件加入對應的方法和屬性;

完畢之後得到的模型例如以:

建立PSM模型

 

事實上在ArcStyler中並沒有區分PIM和PSM,由於ArcStyler並沒有提供從PIM到PSM的自己主動轉換工具,它是選擇了通過標註的方式來體現PSM的思想。

為了清晰起見,筆者將建模環節區分為建立PIM和建立PSM兩個部分,那麼建立PSM事實上僅僅是給上面的PIM作出一些技術相關的標註,包含下面內容:

?         將Bank和Account組件標註為Entity Bean;

?         將Bank和Account組件的永久儲存管理員模式標註為容器管理;

?         將Transfer組件標註為Session Bean;

5. 代碼補充

 

代碼產生之後,我們須要進行代碼的補充工作,這是使用ArcStyler的唯一的代碼工作,補充的代碼主要是Bean方法實現以及測試類中的方法,須要進行代碼補充的源碼檔案例如以下:

?         AccountBean.java

?         TransferBean.java

?         BankBean.java

?         iBankTestClient.java

補充的內容參看說明文檔Tutorial.pdf第47頁Component Code Customization這一節。

ArcStyler能夠自己主動產生Jbuilderproject,當我們進行代碼的補充工作的時候,能夠直接開啟產生的JBuilderproject,當中包括全部產生的源碼,也能夠直接使用其它代碼編輯工具改動。注意:代碼的加入和改動都在安全區中,進行重複的代碼產生工作並不會被覆蓋。

6. Mda的問題

因為眼下流行的建模語言(比如UML)在語義方面的功能還非常弱,所以眼下的MDA工具差點兒僅僅支援結構型的系統,可是我相信隨著建模語言的進一步強化,MDA技術會越來越豐富,工具也將越來越好。

 

 

7.  EMF與MDA

EMF這個名字,EMF是Eclipse Modeling Framework的縮寫,它是Eclipse的一個重要的子項目,假設翻譯成中文就是“Eclipse建模架構”。事實上僅僅從這個名字還真是難以確定它的作用是什麼,我覺得要全然掌握EMF應該對模型驅動開發(MDA)有一定的瞭解,而EMF可以看作是Eclipse上的MDA一個實現(代碼產生是MDA 的重要組成部分之中的一個),它可以產生在Eclipse上啟動並執行代碼。

MDA講究的是把模型和應用系統實現分開,模型是最重要的部分,能夠說有了清楚的模型,就完畢了一半的工作

用EMF構造一個應用的步驟非常easy:1、構造模型,2、產生代碼,前者能夠通過UML類圖、Java介面、 XML Schema等多種方式定義,後者能夠選擇僅僅產生模型部分的代碼,也能夠同一時候產生編輯器部分的代碼,對這個編輯器做一些定製就能夠得到符合需求的應用程式。

 

 

8.  MDA跟代碼自己主動產生的差別

1) MDA不是代碼自己主動產生的規範,相反它的目標是盡量降低自己主動產生的程式碼。

2) MDA不是取代RUP,XP等軟體project的傳統開發過程,而是對這些開發過程一個故意的補充,特別是直接將分析設計階段所產生的模型應用於編敲代碼,並終於影響部署後的系統行為方式。

3) 你所說的這樣的MDA實現還沒有達到開發企業級應用的階段,換句話說,根本不實際。事實上,如今不唯獨商業化的實現,也有非常優秀的開源MDA平台,比如,openMDX

 

9. openMDX-開源MDA平台

 

 

基於openMDX的應用能夠非常輕鬆的移植到多個不同平台,採用了MOF,JMI,XRI,XML等標準和協議,不用過多考慮會被綁定於某一平台。

高速開發、部署和彈性配置

建立了成熟模型之後,開發測試的工作量減少到了難以想象的地步,舉例來說,openCRX總共兩百天的開發過程中,建模佔了100天,介面設計定製用了70天,10天用於實現,20天用於測試部署。

極強的系統互通性

openMDX平台上公布的功能模組,對於資料的匯入匯出都是基於Schema-XML,並且能夠方便的公布為Webservice,跟其它異種系統的互動達到了輕鬆自如的地步。

 

缺點

penMDX也沒有提供一個IDE來支援整個開發測試和配置應用。

10. openMDX 的開發過程

不象大多數商業工具,openMDX 沒有實現PIM到PSM映射的方法。 而是提供了一個普通的,分布式的對象引擎(作為PIM 平台)。商業邏輯(模型的匯出屬性和方法)是作為外掛程式加入進去的

 

自己主動產生代碼和手工編寫的代碼是分放在兩個不同的檔案夾中,而對於匯出屬性和操作則是通過delegate(託付)的方式去運行手工編寫代碼的

 

11.  MDA的兩種實現

I)使用模型驅動應用開發過程;II)直接利用模型驅動執行時應用系統的行為方式。前一種實現,大部分支援從UML模型轉換的代碼產生工具都能夠歸入此類,比如AndroMDA,而後一種實現就比較少,比如openMDX。

這兩種方式沒有優劣之分,僅僅是取決於你的應用目的而有不同的側重。

 

12. 參考

ArcStyler實戰-網上銀行系統 - MDA之路 - BlogJava.htm

eclipse EMF介紹系列(EMF與MDA) - Linyda工作室 - 愛好者博墅 《電腦愛好者》雜誌官方網站 - 電腦世界旗下網站! - powered by X-Space.txt

openMDX-開源MDA平台(1).htm

atitit.提升開發效率---mda 軟體開發方式的革命--(2)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.