2011-02-16 72 views
1

非常令人驚訝的是,沒有真正的工具可以從模型中完全生成代碼。我見過所有的UML工具是不是真的實用,除了這一個:來自Model的完整的Java/C#代碼生成工具?

http://www.intrinsarc.com/

A hierarchical component model with full connectors 
At the heart of Evolve is a hierarchical component model with full connectors. Connectors act like 
wires between components, making it simple and intuitive to express detailed structures that are 
difficult or impossible in other approaches such as dependency injection. 
Resemblance and evolution 
These two constructs provide unprecedented levels of support for component reuse. 

Resemblance 
    is a form of component inheritance. Evolution builds on this to allow the structure of an existing 
    system to be remodeled, without destroying the original definition. These facilities can be used to 
    create variants of a system, or to switch in test components. 

是否有人嘗試一下:你認爲怎麼樣?它似乎基於UML,但不是UML類,而是其他類型的圖。

任何其他工具可以做真正的代碼生成UML或不?

我的意思是真實的:EMF不是一個這樣的工具,它只是一個構建UML工具的框架,只要我不能看到它自己的工具,它便於構建和維護應用程序。

與Visual Studio Ultimate相同。雖然裏面的UML工具非常好,但它只是另一個UML工具,它並不能真正幫助ypu模型,但只需通過輸入代碼就可以做圖形化的工作。

+0

我開始懷疑,這更嘗試啓動比真正的問題進行辯論。 – 2011-02-16 16:33:06

回答

2

我寫了一個關於問題的Evolve系統。

Evolve生成代碼來連接來自UML組件模型的類。它也可以爲狀態圖生成完整的代碼,這非常方便。您可以輕鬆導入並連接自己的課程。它有效地允許您以某種方式創建軟件,例如將芯片插入電子電路板的方式。

但真正的好處是它可以協調軟件的創建,重用和進化。換句話說,您可以創建一個系統,將其傳遞給同事,並且可以以任何方式進化或擴展系統,即使沒有源代碼,也無需預先規劃擴展點。您也可以擴展和重用狀態圖表。

。聽起來神奇,但它有一個非常堅實的基礎 - 這是最近的博士研究的結果,它實際上是市場上較爲先進的設計工具之一。監督研究的教授也影響了微軟的COM工作。

這裏是它在行動小視頻:http://intrinsarc.com/movies/evolve.html

試試吧,讓我們知道你如何去!該手冊有一個教程,向您展示如何構建GWT/Hibernate工作示例。 (BTW進化使用EMF在幕後用於存儲UML模型)

0

我使用Sybase Powerdesigner和自定義Ruby代碼(用於訪問數據模型)從UML生成我的ORM模型。對UML生成代碼可能很困難,因爲有很多方法可以自定義模型。我的構造型不是真正的類,而是被用於其他代碼生成的目的,這些目的是針對我正在解決的問題定製的。泛型代碼生成器如何理解我對模型的自定義用法?

+0

ORM不是完整的應用程序。上述工具旨在生成一個完整的應用程序,並使其發展。 – user310291 2011-02-16 16:12:22

+0

上述工具也是一個框架。 – user310291 2011-02-16 16:13:04

0

Eclipse EMF從EMF模型(ECore)生成完整的Java代碼。 EMF通過支持XML或XMI序列化/反序列化,驗證鉤子,可選編輯器等生成類來表示內存模型的實例。


我的意思是真正的是什麼:EMF是沒有這樣的工具,它只是爲構建UML工具,據我所看到的不是本身是一個工具,它有利於應用程序的建設和維護的框架。

你需要做更多的研究,然後再做出類似的陳述。 EMF是基於真實模型構建真實軟件的真正工具。多年來,我成功地使用它來構建和維護生產軟件。

你曾經使用EMF來生成與GUI等一個完全成熟的應用所看到別人?

哦是的。自己做了。無可否認,我正在談論特定類型的應用程序,以及特定類型的GUI。

+0

你曾經使用EMF來生成與GUI等一個完全成熟的應用所看到別人? ? – user310291 2011-02-16 16:17:33