2011-02-16 4 views
1

모델에서 코드를 완전히 생성 할 수있는 실제 도구가 없다는 것은 매우 놀라운 일입니다. 내가 본 모든 UML 도구는이 일을 제외하고 정말 실용적이지 있습니다모델의 전체 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 도구가 꽤 좋긴하지만 실제로는 ypu 모델을 실제로는 도움이되지 않지만 코드를 입력하여 그래픽으로 할 수있는 또 다른 UML 도구입니다.

+0

저는 실제 질문보다 더 많은 논쟁을 시작하려고합니다. –

답변

2

나는이 질문에 관한 Evolve 시스템을 작성했다.

Evolve는 UML 구성 요소 모델의 클래스를 연결하는 코드를 생성합니다. 또한 상태 다이어그램에 대한 전체 코드를 생성 할 수 있습니다. 이는 매우 편리합니다. 자신 만의 클래스를 쉽게 가져 와서 연결할 수 있습니다. 칩을 전자 회로 보드에 연결하는 방법과 같이 효과적으로 소프트웨어를 만들 수 있습니다.

진짜 장점은 소프트웨어 작성, 재사용 및 진화를 조정한다는 것입니다. 즉, 시스템을 만들어 동료에게 전달할 수 있으며, 소스 코드가 없어도 확장 점을 미리 계획 할 필요없이 어떤 방식 으로든 시스템을 확장하거나 확장 할 수 있습니다.상태 차트를 확장하고 다시 사용할 수도 있습니다.

그것은 마술이지만, 근본적인 phd 연구의 결과였으며, 사실 시장에서 더 정교한 디자인 도구 중 하나입니다. 이 연구를 감독 한 교수도 Microsoft의 COM 작업에 영향을주었습니다.

여기에 행동에 그것의 작은 비디오는 다음과 같습니다 http://intrinsarc.com/movies/evolve.html

그것을 시도하고 우리가 당신이 갈 방법을 알고하자! 매뉴얼에는 GWT/Hibernate 작업 예제를 빌드하는 방법을 보여주는 자습서가 있습니다. (BTW Evolve는 UML 모델을 저장하기 위해 EMF를 사용합니다)

+0

내가보기에 문제는 내가 설명서를 읽는 데 문제가되지 않는다는 것입니다. 예를 들어 doc에서는 IRun 인터페이스를 만들기 위해 패키지를 가져 오는 방법을 설명하지 않습니다. 누락 된 것처럼 보이는 많은 세부 사항이 있습니다. – user310291

+0

예, 현재 문서에 사과드립니다. 나는 지난 몇 주 동안 어떤 사람들과 일해 왔으며 문서가 너무 광범위하고 따라하기 쉽지 않다는 것을 깨달았습니다. IRun 인터페이스는 backbone.jar 파일의 com.intrinsarc.backbone.runtime.api 패키지에 있습니다. 언제든지 [email protected]으로 이메일을 보내거나 문제가있을 경우 지원 포럼에 게시하십시오. –

+0

그건 그렇고, 우리는 항상 의견, 비판 및 개선을위한 제안에 관심이 있습니다. Evolve 도구는 도구 모음에 대한 거의 10 년간의 연구를 압축했기 때문에 매우 강력하지만 학습 곡선을 넘어 사람들이 점점 어려워지고 있습니다. 가까운 장래에 문서 등을 개선하기를 바랍니다. 의견이 있으시면 언제든지 [email protected]으로 보내주십시오. –

0

저는 UML에서 ORM 모델을 생성하기 위해 Sybase Powerdesigner와 사용자 정의 루비 코드 (데이터 모델에 액세스하기 위해)를 사용합니다. 모델을 사용자 정의 할 수있는 여러 가지 방법이 있기 때문에 UML에 대해 코드를 생성하는 것은 어려울 수 있습니다. 나는 정말로 클래스는 아니지만 문제를 해결하는 다른 코드 생성 목적에 사용되는 고정 관념을 가지고 있습니다. 제네릭 코드 생성기는 모델의 사용자 정의 용도를 어떻게 이해합니까?

+0

ORM이 완전한 응용 프로그램이 아닙니다. 위의 도구는 완전히 날아간 응용 프로그램을 생성하고 그것을 진화시키는 것을 의미합니다. – user310291

+0

위의 도구는 프레임 워크이기도합니다. – user310291

0

Eclipse EMF은 EMF 모델 (ECore)에서 완전한 Java 코드를 생성합니다. EMF는 XML 또는 XMI 직렬화/비 직렬화, 유효성 검사를위한 후크, 선택적 편집기 등을 사용하여 모델의 인스턴스를 나타내는 클래스를 생성합니다.


나는 진짜가 무엇을 의미 : EMF 그것은 단지 내가 응용 프로그램의 구축 및 유지 보수를 용이하게 그 자체로 도구가되지 볼 수까지 UML 도구를 구축하기위한 프레임 워크의 이러한 도구가 아닙니다.

그런 진술을하기 전에 더 많은 연구를해야합니다. EMF는 실제 모델을 기반으로 실제 소프트웨어를 제작하기위한 진정한 도구입니다. 나는 수년에 걸쳐 생산 소프트웨어를 구축하고 유지 보수하는데 성공적으로 사용 해왔다.

누군가 EMF를 사용하여 GUI 등으로 전체 응용 프로그램을 생성 한 것을 본 적이 있습니까?

오 예. 직접 해봐. 틀림없이, 특정 종류의 응용 프로그램과 특정 종류의 GUI에 대해 이야기하고 있습니다.

+0

EMF를 사용하여 GUI 등으로 가득 찬 응용 프로그램을 생성하는 사람을 본 적이 있습니까? ? – user310291

+0

EMF는 UML 도구를 제작하기위한 프레임 워크로서, 응용 프로그램의 작성 및 유지 관리를 용이하게하는 도구는 그 자체로 볼 수 없습니다. – user310291

+0

그건 저의 요지입니다. 위의 것을 제외하고 볼 수있는 한 일반적인 것이 없습니다. – user310291

관련 문제