|
2005 年 4 月 01 日 本文來(lái)自于 Rational Edge: 在這個(gè)由三部分文章組成的系列的第一篇中,Brown 解釋了模型和建模的重要性,并介紹了四個(gè)關(guān)鍵的 MDA 的原則,同時(shí)讓你了解一下 IBM 在定義 MDA 方法和支持標準上扮演的領(lǐng)導者的角色。 ![]() 在最近的幾個(gè)月很多組織已經(jīng)開(kāi)始對模型驅動(dòng)的體系架構(MDA) 1 進(jìn)行關(guān)注,MDA 是一種應用系統設計和實(shí)現的方法。對于幾個(gè)原因來(lái)說(shuō)這都是非常積極的發(fā)展。 MDA 鼓勵在軟件的開(kāi)發(fā)過(guò)程中有效的使用系統的模型,并且它支持創(chuàng )建類(lèi)似系統的最佳實(shí)踐的重用。所謂由對象管理組織 (OMG)定義的標準,MDA 是一種組織和管理被自動(dòng)化工具支持的企業(yè)體系架構和用于定義模型和推動(dòng)不同模型類(lèi)型之間的轉換的服務(wù)的方法。 當被 OMG 定義的 MDA 標準和用于創(chuàng )建和進(jìn)化企業(yè)級軟件系統的術(shù)語(yǔ)在業(yè)界被廣泛的引用時(shí),僅僅到目前為止, OMG 和它的成員,包括 IBM Rational ,已經(jīng)能夠在 MDA 意味著(zhù)什么、MDA 將向哪里發(fā)展、MDA 的哪些方面對于今天的技術(shù)是可能的和如何在實(shí)踐中利用 MDA 上提供清晰的指導。 本文是這個(gè)由三篇文章組成的系列的第一部分,這個(gè)系列將覆蓋:在現今的工業(yè)中建模將如何被使用和 MDA 與當今軟件系統的關(guān)系(第一部分);MDA 工具支持的分類(lèi)(第二部分);和在 IBM 的模型驅動(dòng)的開(kāi)發(fā)技術(shù)環(huán)境中 MDA 的使用樣例(第三部分)。 在這個(gè)第一部分的文章中,我們解釋了模型和建模的重要性,并介紹了四個(gè)關(guān)鍵的 MDA 的原則,同時(shí)讓你了解一下 IBM 在定義 MDA 方法和支持標準上扮演的領(lǐng)導者的角色 2 。 有效的企業(yè)軟件開(kāi)發(fā)
這兩種思想對對象管理組織(OMG)的思想有著(zhù)重大意義的影響,一個(gè)開(kāi)發(fā)和支持規范以改進(jìn)企業(yè)軟件開(kāi)發(fā)和部署實(shí)踐的軟件組織聯(lián)盟(在下一個(gè)部分 OMG 將扮演更重要的角色)。OMG 已經(jīng)創(chuàng )建了一個(gè)概念性的框架 5 ,這個(gè)概念性的框架將平臺選擇與獨立的面向業(yè)務(wù)的決定分離開(kāi)來(lái)以使在架構和演進(jìn)這些系統時(shí)允許更大的靈活性。這個(gè)概念性框架和幫助實(shí)現它的標準就是 OMG 稱(chēng)為的"模型驅動(dòng)的體系架構(MDA)."。 6 應用的架構師使用 MDA 框架作為表示他們企業(yè)架構的藍圖,并且使用在 MDA 中的開(kāi)發(fā)標準作為他們獨立于供應商和技術(shù)的"未來(lái)的證明 "。 OMG 的 MDA 的概念通過(guò) OMG 的構建模型的標準對系統的交互性提供了一種開(kāi)放的、供應商中立的方法:統一建模語(yǔ)言(UML),Meta-Object Facility (MOF), XML Metadata Interchange (XMI) 和 Common Warehouse Meta-model (CWM) 。企業(yè)應用的描述能夠使用這些建模標準被建立并被轉化到一種主流的開(kāi)發(fā)的或者是私有的平臺上,包括 CORBA ,J2EE ,.NET 和基于 Web 的平臺。 在我們開(kāi)始深入的了解 MDA 之前,讓我們考慮一下在軟件開(kāi)發(fā)中進(jìn)行建模的基本概念和好處。
建模的基本原理
系統和模型轉換
模型、建模和 MDA
追溯到程序設計的最早的日子,在軟件工程的世界里,建模有著(zhù)悠久的傳統。多數近期的革新都是關(guān)注于符號和工具的,這些工具允許用戶(hù)非常容易的映射到在特定的操作系統上能夠被編譯的編程語(yǔ)言代碼的方式來(lái)表示對軟件的架構師和開(kāi)發(fā)人員有價(jià)值的系統透視圖。這些實(shí)踐的當前情況是使用統一建模語(yǔ)言(UML)作為首選的建模符號。UML 允許開(kāi)發(fā)團隊在相應的模型中獲取一個(gè)系統的各方面的重要特征。這些模型之間的轉換主要是手工進(jìn)行的。UML 建模工具典型的支持需求的跟蹤和模型元素之間的依賴(lài)關(guān)系,通過(guò)支持文檔和補充的咨詢(xún)信息提供如何作為大范圍開(kāi)發(fā)工作的一部分來(lái)維護同步模型的最佳實(shí)踐的指導。 一個(gè)有用的刻畫(huà)當前實(shí)踐特色的方法是看一下用于同步模型和源代碼的不同的方法。這在圖 1 中被列舉 7 圖 1 顯示了今天軟件從業(yè)者使用的建模方法的光譜。每一個(gè)類(lèi)型代表了一種獨特的幫助軟件從業(yè)者創(chuàng )建能夠運行在特定運行時(shí)平臺上的應用(代碼)和模型與代碼之間的關(guān)系的模型的使用。 8
圖 1: 建模的光譜 今天,多數的軟件開(kāi)發(fā)人員仍然在使用 單獨-代碼的方法(在建模光譜的左端,圖 1)并且根本沒(méi)有分離的定義模型。他們幾乎完全的依靠他們編寫(xiě)的代碼,并且他們直接在一種集成的開(kāi)發(fā)環(huán)境(IDE)中(比如,IBM WebSphere Studio , Eclipse 或者 Microsoft VisualStudio 9 )通過(guò)第三代的編程語(yǔ)言如 Java 、C++ 或者 C# 直接的表示他們正在建立的系統的模型。他們所做的任何"建模"都是以嵌入在代碼中的編程的抽象形式進(jìn)行的(比如,包、模塊和接口等等),這些方式是通過(guò)程序庫和對象層次的機制進(jìn)行管理的。任何分離的體系架構的設計模型都是不正規的和依靠直覺(jué)的,并且存在于白板上、PowerPoint 幻燈片上或者開(kāi)發(fā)人員的腦袋中。然而這種方法對于個(gè)體開(kāi)發(fā)者和小的開(kāi)發(fā)團隊也許是足夠的,但是這種方法使在業(yè)務(wù)邏輯實(shí)現的細節中理解系統的關(guān)鍵特性十分的困難。此外,隨著(zhù)系統的范圍和復雜度的增加,系統的演進(jìn)或者在原來(lái)的設計團隊成員不能直接的與維護系統的團隊溝通時(shí),這種方法對于管理這些方案的演進(jìn)將是更加困難的。 一個(gè)改進(jìn)是在一些適當的建模符號中提供了 代碼可視化。當開(kāi)發(fā)人員創(chuàng )建或者分析一個(gè)應用時(shí),他們通常希望通過(guò)一些輔助理解代碼的結構或者行為的圖形化符號來(lái)可視化代碼。作為一種編輯基于文本代碼的可選方式利用圖形化的符號也是可能的, 所以可視化的描寫(xiě)變成了一種代碼的直接表示。這種描寫(xiě)有時(shí)稱(chēng)作代碼模型,或者實(shí)現模型。在允許這種畫(huà)圖的工具中(比如,IBM WebSphere Studio 和 Borland Together/J),代碼的視圖和模型的視圖可以被同時(shí)顯示;當開(kāi)發(fā)人員對其中的一個(gè)進(jìn)行操作時(shí),另一個(gè)視圖也將立即進(jìn)行同步。在這種方法中,圖與代碼表示緊緊的聯(lián)系在一起,并提供了在代碼級別上觀(guān)看和編輯的可選方法。 建模的更深層次的利益是通過(guò) 雙向工程(RTE)得到的,雙向工程提供了一種在描述系統的架構或者設計和代碼的模型之間進(jìn)行雙向交換的機制。典型的情況下,開(kāi)發(fā)人員將系統設計細化到一定的詳細級別,然后通過(guò)應用模型-代碼的轉換創(chuàng )建第一輪的實(shí)現,這通常是手工完成的。例如,一個(gè)工作在高級別設計的團隊也許會(huì )向工作在實(shí)現級別上的團隊提供設計模型(也許是通過(guò)簡(jiǎn)單的打印出模型圖或者為實(shí)現團隊提供包含模型的文件)。實(shí)現團隊轉換這個(gè)抽象、高級別的設計成為詳細的設計模型的集合和編程語(yǔ)言的實(shí)現。其中表示上的重復將作為錯誤出現,這些錯誤既可以在設計模型中更正也可以在實(shí)現模型中更正。因此,如果沒(méi)有良好的紀律,抽象模型和實(shí)現模型常常 — 并很快 — 的因為步調不一致而結束。 工具能夠自動(dòng)化的進(jìn)行最初的轉換,也可以在設計模型和實(shí)現模型進(jìn)行演進(jìn)時(shí)幫助他們保持步調一致。典型的,工具可以從用戶(hù)必須進(jìn)一步細化的設計模型生成代碼的框架。 10 對代碼的更改必須要在一些點(diǎn)上與原有的模型相一致(也就是術(shù)語(yǔ)"雙向工程"或者 RTE)。為了實(shí)現這一點(diǎn),你需要一種方法來(lái)識別出被產(chǎn)生的用戶(hù)定義的代碼;在代碼中放置標記就是一種方法。實(shí)現這個(gè)方法的工具,比如 IBM Rational Rose 能夠支持在模型與不同實(shí)現語(yǔ)言之間雙向提供多種轉換服務(wù)。 在一種 以模型為中心的方法中,系統模型具有足夠的細節能夠從這些模型中生成整個(gè)系統的實(shí)現。為了實(shí)現這一點(diǎn),模型也許應該包括,比如持久數據和非持久數據、業(yè)務(wù)邏輯和表示層元素的表示法。如果存在任何與遺留數據和服務(wù)的集成,對那些元素的接口也需要被建模。然后代碼生成過(guò)程應用一系列的模式將模型轉換成代碼,通常允許開(kāi)發(fā)人員對被應用的模式進(jìn)行一些選擇(比如,選擇各種不同的部署拓撲)。這種方法常常使用標準的或者私有的應用框架和運行時(shí)服務(wù),這些應用框架和運行時(shí)服務(wù)能夠通過(guò)限制被生成應用的類(lèi)型使代碼生成任務(wù)更加容易。因此,使用這種方法的工具典型的專(zhuān)攻于特定應用類(lèi)型的生成(例如,用于實(shí)時(shí)嵌入式系統的 IBM Rational Rose Technical Developer 和用于企業(yè) IT 系統的 IBM Rational Rapid developer)。然而,在所有的情況下,模型都是被開(kāi)發(fā)人員創(chuàng )建和操作的主要產(chǎn)物。 一個(gè) 單獨模型的方法在圖 1 中的編碼/建模光譜的最右端。在這種方法中開(kāi)發(fā)人員把模型純粹的作為理解業(yè)務(wù)或者方案領(lǐng)域,或者分析被提議的方案架構的輔助手段。模型通常被作為討論、交流和在一個(gè)單獨的組織或者是跨多個(gè)組織的項目中進(jìn)行分析的基礎來(lái)使用。這些模型常常出現在新工作的建議中,或者裝飾在辦公室的墻上和在軟件實(shí)驗室中作為一種促進(jìn)對一些復雜領(lǐng)域理解的方法并建立一個(gè)共享的在完全不同的團隊中的詞匯表和概念集。實(shí)際上,一個(gè)系統的實(shí)現,不論是從打草稿開(kāi)始還是作為一個(gè)已有方案的更新,都可以從模型中分離出來(lái)。一個(gè)有趣的例子是越來(lái)越多的組織將他們的系統的實(shí)現和維護進(jìn)行外包,而他們自己維護整個(gè)的企業(yè)架構的控制。 MDA:成長(cháng)中的公認輿論
MDA 的理論
OMG 已經(jīng)重新關(guān)注它的策略、標準和定位來(lái)支持 MDA 方法。OMG 正在將 MDA 作為一種開(kāi)發(fā)更加準確的滿(mǎn)足客戶(hù)需要并且在系統的演進(jìn)中具有更好靈活性的系統方法來(lái)促進(jìn)它的發(fā)展。MDA 方法構建在較早期的系統規范標準的工作上,并且為定義相互連接的系統提供一種全面的具有互操作能力的框架。 MDA 原則
為了支持這些原則,OMG 已經(jīng)定義了一系列的層次和轉換,他們?yōu)?MDA 提供了概念性的框架和詞匯表。特別的,OMG 確定了四種模型類(lèi)型:計算無(wú)關(guān)的模型(CIM),平臺無(wú)關(guān)的模型(PIM),被一個(gè)平臺模型(PM)描述的平臺相關(guān)的模型(PSM)和一個(gè)實(shí)現相關(guān)的模型(ISM)。 對于 MDA 來(lái)說(shuō),“平臺”僅僅是相對特定的視圖觀(guān)點(diǎn)有意義的 --換句話(huà)說(shuō),一個(gè)人的 PIM 可以是另一人的 PSM 。例如,如果一個(gè)模型沒(méi)有 規定一種特定的中間件技術(shù)的選擇,那這個(gè)模型對于通訊中間件來(lái)說(shuō)就是一個(gè) PIM 。然而,當一個(gè)使用特定的中間件(比如CORBA)被決定使用時(shí),這個(gè)模型就被轉化成了一個(gè) CORBA 相關(guān)的 PSM 。新的模型在 ORB 的選擇上也許仍然是一個(gè) PIM -- 在目標操作系統和硬件的方面這個(gè)模型也是一個(gè) PIM 。如圖 2 所示。 ![]() 圖 2: PIM 到 PSM 轉化的例子 作為結果,一個(gè) MDA 工具也許通過(guò)幾個(gè)步驟支持轉化一個(gè)模型,從最初的分析模型到可執行的代碼。例如,IBM Rational XDE 的模式工具就支持這種多種轉換的開(kāi)發(fā)。相比之下,一個(gè)工具(比如,IBM Rational Rose Technical Developer)能夠僅用一個(gè)步驟就將模型從 UML 轉化成可執行的代碼。 MDA 的從業(yè)者認可轉換能夠被應用到一個(gè)系統的各個(gè)方面的抽象描述以添加細節,使描述更加準確,或者在表示法之間進(jìn)行轉換。不同類(lèi)型模型之間的區別允許我們將軟件和系統開(kāi)發(fā)想象成為一系列在不同模型表示法之間的細化。對于包括了在表示系統不同方面的模型之間的細化,對一個(gè)模型的細節的添加,或者在不同的模型類(lèi)型之間的轉換的情況下,這些模型和他們的細化是開(kāi)發(fā)方法的重要組成部分。 這里是關(guān)于模型的抽象本質(zhì)和模型所表達的詳細實(shí)現的三種重要思想:
在這些模型表示法和支持的轉換之下是一系列的元模型。分析、自動(dòng)化和轉換模型的能力需要一個(gè)清晰、明確的方法來(lái)描述模型的語(yǔ)義。因此,對于一個(gè)建模方法模型的本質(zhì)本身也必須能夠以模型來(lái)表示,我們稱(chēng)這種模型為元模型。例如,UML 的標準語(yǔ)義和符號就是用元模型描述的,工具的提供商以一種標準的方法使用元模型來(lái)實(shí)現 UML 。UML 元模型精確的描述了類(lèi)、屬性和這兩個(gè)概念之間的關(guān)系的細節。 OMG 認可對于建模來(lái)說(shuō)元模型和正規語(yǔ)義的重要性,,并且還定義了一系列元建模級別和用于表示元模型的標準語(yǔ)言:Meta Object Facility (MOF)。元模型使用 MOF 正式的定義一系列建模構想的抽象語(yǔ)法。 模型和模型之間的轉換將使用開(kāi)放的標準被說(shuō)明。作為工業(yè)的聯(lián)盟,OMG 一直擁護多種用于說(shuō)明系統和系統間的互連性的重要工業(yè)標準。通過(guò)這些標準,例如 CORBA、 IIOP、 UML 和 CWM ,軟件行業(yè)能夠實(shí)現以前不可能的系統互操作能力的級別,此外,工具交換標準,例如 MOF 和 XMI ,也促進(jìn)了工具的互操作。 一個(gè)簡(jiǎn)單的例子
![]() 圖 3:PIM 到 PSM 轉換的簡(jiǎn)單例子 在圖 3 中的簡(jiǎn)單的 PIM 表示了一個(gè)客戶(hù)和賬號。在這個(gè)抽象級別上,模型通過(guò)類(lèi)和類(lèi)的屬性描述了領(lǐng)域的重要特征,但是并沒(méi)有描述任何關(guān)于什么樣的技術(shù)將被使用的平臺相關(guān)的選擇。圖 3 指出了三個(gè)特定的被定義的映射,或者轉換,和一些用來(lái)表示這些映射的標準來(lái)創(chuàng )建 PSM 。例如,一個(gè)方法是使用被 XML Schema Definitions (XSD) 或者 Document Type Definitions (DTD)表示的標準定義將以 UML 表示的 PSM 輸出成為 XMI 格式。然后這能被用作代碼生成工具的輸入,這個(gè)代碼生成工具為每一個(gè)以 UML 定義的類(lèi)生成 Java 語(yǔ)言的接口定義。 通常,一系列的規則被建立在代碼生成工具中以執行轉換。然而,代碼生成工具往往允許那些規則通過(guò)腳本語(yǔ)言的形式被明確的定義。 11 簡(jiǎn)單的介紹 MDA 的理論
IBM 和 MDA
在過(guò)去的十多年中, IBM Rational 工具一直強調建模作為一種提升系統抽象級別的方法的重要性,軟件的從業(yè)者在這個(gè)抽象的級別上理解和構建軟件解決方案。在過(guò)去的幾年中,軟件開(kāi)發(fā)行業(yè)不斷的意識到更高級別抽象的價(jià)值 — 從在機器語(yǔ)言級別上的代碼描述到 MDA 的出現 — 見(jiàn)圖 4 。 ![]() 圖 4: 對于軟件從業(yè)者漸增的抽象級別 我們已經(jīng)看到了一系列的軟件從業(yè)者理解的軟件密集的解決方案的基本轉變。這些轉變改變了絕大多數軟件工程師們的思想。從前,他們只是關(guān)心他們自己的低級別的操作數據位和在 CPU 的寄存器之間移動(dòng)字節的細節;現在,他們將主要的時(shí)間花費在根據被支持的用例來(lái)理解用戶(hù)的問(wèn)題領(lǐng)域和設計提供行為的服務(wù)之間的協(xié)作的方案來(lái)實(shí)現那些用例上。只有存在著(zhù)支持高效的允許新概念被清晰的表達和共享的工具,這個(gè)在思想上意義深遠的轉變才有可能。 這個(gè)轉變的基礎當然是 UML 。它提供了一個(gè)公共概念的單一集合,這些公共概念被廣泛的應用到軟件工業(yè)中,很快的結束了當設計軟件系統時(shí)應該使用哪一種概念集合的長(cháng)期爭論。IBM Rational 在定義 UML 中的領(lǐng)導角色被廣泛的認可,IBM Rational Rose 產(chǎn)品在實(shí)現 UML 來(lái)支持大型軟件系統的架構方面也是同樣出眾的。相同的原則已經(jīng)被應用到了 IBM Rational Rose XDE 產(chǎn)品家族當中,它合并了豐富的建模環(huán)境和面向代碼的工具集以為在各種架構類(lèi)型和特定的目標運行時(shí)平臺中創(chuàng )建方案提供全面的從業(yè)者桌面。 通過(guò) IBM 的支持 OMG 定義的 MDA 可視化建模和開(kāi)發(fā)工具,和隨著(zhù)時(shí)間的推移對 MDA 的支持, IBM 將繼續這種在建模支持上的傳統。 IBM 對 MDA 的觀(guān)點(diǎn)
IBM 將 MDA 視為一種新興的關(guān)注于一種軟件開(kāi)發(fā)的特殊方式的標準和技術(shù)的集合 -- 它指明了某種模型類(lèi)型被使用,這些模型如何被準備和不同模型類(lèi)型之間的關(guān)系。 MDA 和 實(shí)現 MDA 的工具提供下面的方法:
總而言之,IBM 相信兩種軟件開(kāi)發(fā)工具將為 MDA 提供強有力的支持:
IBM Rational 提供了這兩類(lèi)產(chǎn)品。 13 在第一類(lèi)產(chǎn)品中,IBM Rational Rose Technical Developer 提供了高度自動(dòng)化的模型轉換和強大的代碼生成能力 — 這種能力對于嵌入式系統和其他技術(shù)軟件產(chǎn)品的開(kāi)發(fā)人員尤其重要。類(lèi)似的,IBM Rational Rapid Developer 提供了高度自動(dòng)化的面向 J2EE 應用的 MDA 的實(shí)現,它能夠集成和擴展已有的遺留系統。在第二個(gè)種類(lèi)中,IBM Rational Rose XDE Developer 提供了模式能力、代碼模板和應用接口的合并,這允許開(kāi)發(fā)人員和供應商為更加普遍的領(lǐng)域適用性自己開(kāi)發(fā)他們的 MDA 實(shí)現。 IBM 在 MDA 上的領(lǐng)導地位
總結
我們已經(jīng)利用這個(gè)機會(huì )表明了 IBM Rational 對于 MDA 的觀(guān)點(diǎn)和我們的工具是如何支持被 OMG 定義的 MDA 的?;旧?,當前我們的可視化和開(kāi)發(fā)工具以?xún)煞N方式支持 MDA:1)通過(guò)在特定的方案領(lǐng)域提供高度自動(dòng)化,和 2)通過(guò)允許組織容易的為自己的特定領(lǐng)域構建定制的模型驅動(dòng)的方法來(lái)提供綜合目的的能力。隨著(zhù)時(shí)間的遷移,我們也將堅定的支持 MDA 。 IBM 將 MDA 視為一系列新興的關(guān)注于軟件開(kāi)發(fā)的特殊方式的標準和技術(shù) -- 這種開(kāi)發(fā)方式強調在各種抽象的級別上利用建模,最重要的是通過(guò)這些模型的信息整合和信息流。這種方法允許開(kāi)發(fā)人員通過(guò)使用與他們的信息和決定最匹配的模型類(lèi)型對項目作出貢獻。它也允許高級的項目成員通過(guò)他們對模型到模型轉換的定義和實(shí)現使他們的工作效率最大化。系統的分析人員、測試人員和質(zhì)量保證人員能夠在系統被完成之前利用模型分析系統和系統的性能。 今天,IBM 正積極的與被選擇的客戶(hù)一起工作來(lái)改進(jìn) MDA 的實(shí)踐。這些經(jīng)驗將隨著(zhù)時(shí)間的推移驅動(dòng)我們支持 MDA 的方法。
鳴謝
進(jìn)一步的讀物
![]() ![]() ![]() ![]() 注釋
2 對于那些有興趣更多的了解一些在實(shí)踐中應用 MDA 的人有一些幫助的資源。本文末尾的"進(jìn)一步的讀物"部分提供了一個(gè)有用的開(kāi)始點(diǎn)。 3 D.K. Barry, Web Services and Service Oriented Architectures。 Morgan Kaufman , 2003 。 4 P. Clements and L. Northrop , Software Product Lines: Practices and Patterns。Addison Wesley , 2001 。 5 在本文中,一個(gè)概念性的框架是指導計劃、理解和企業(yè)方案實(shí)現的重要的概念和機構集合。 6 Richard Soley and OMG Staff Strategy Group , "Model Driven Architecture," November 2000 。 7 圖 1 是基于最初被 John Daniels 使用的圖的。 8 許多其他的重要生命周期產(chǎn)物也會(huì )從模型驅動(dòng)方法中受益(比如,需求列表、測試用例和構建腳本)。為了簡(jiǎn)單起見(jiàn),我們將經(jīng)理放在主要的開(kāi)發(fā)周期產(chǎn)物上 -- 代碼。 9 對于這個(gè)討論我們將忽略代碼本身就是一種編程模型實(shí)現的事實(shí),這個(gè)編程模型將開(kāi)發(fā)人員從在內存、寄存器中操作單個(gè)的位的機器代碼中抽象了出來(lái)。 10 在一些情況下,更多的代碼框架根據模型被真實(shí)的產(chǎn)生出來(lái)。 11 本文中涉及到的更加詳細的樣例將在本系列文章的后續部分中被討論。然而,你就=可能希望了解一下 MDA 在商業(yè)工具中的例子,比如 IBM Rational Rose Technical Developer 和 Rapid Developer 產(chǎn)品( http://www.ibm.com/rational)或者應用這種方法的開(kāi)放源碼的 MDA 工具(比如,AndroMDA ( http://www.andromda.org和 Jamda ( http://jamda.sourceforge.net))。 12 看一下,比如
13 使用 IBM Rational 工具創(chuàng )建 MDA 方案的詳細例子將會(huì )在本系列文章的后續部分被提供。這里提供的是 IBM Rational 工具對 MDA 支持的簡(jiǎn)單介紹。 參考資料 T. Sloan, "Business Model Collaborations: Pushing Software Revolution." Software Magazine, September 2003: www.softwaremag.com A. Kleppe, J. Warmer, and W. Bast, MDA Explained: The Model Driven Architecture Practice and Promise. Addison Wesley, 2003. D. Frankel, Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley Press, 2003. Richard Soley and OMG Staff Strategy Group, "Model Driven Architecture." November 2000. P. Harman, "MDA: An Idea Whose Time Has Come." Cutter Consortium, 2003. B. Selic, "The Pragmatics of Model-Driven Development," IEEE Software, Vol. 20, #5, September 2003. T. Gardner, C. Griffin, J. Koehler, and R. Hauser, "A review of OMG MOF 2.0 Query/View/Transformation Submissions and Recommendations Towards the Final Standard." IBM Whitepaper submitted to the OMG, September 17, 2003. D.K. Barry, Web Services and Service Oriented Architectures. Morgan Kaufman, 2003. P. Clements and L. Northrop, Software Product Lines: Practices and Patterns. Addison Wesley, 2001. A. Thomas Manes, Web Services: A Manager‘s Guide. Addison Wesley, 2003. S. Mellor et al., MDA Distilled.Forthcoming from Addison Wesley, 2004. S. Mellor et al., Executable UML: A Foundation for MDA. Addison Wesley, 2003. J. Warmer and A. Kleppe, The Object Constraint Language: Getting Your Models Ready for MDA, second edition. Addison Wesley, 2003. J. Daniels, "Modeling with a Sense of Purpose." IEEE Software, pp8-10, Jan/Feb 2002. 關(guān)于作者
|
||||||||||||||||||||||||||||||
聯(lián)系客服