Java 프로젝트에서 UML 클래스 다이어그램 생성 [닫기]


200

Java 클래스를 UML로 리버스 엔지니어링하여 클래스가 서로 어떻게 관련되어 있는지에 대한 개요를 보여주는 유용한 도구가 있습니까? 소스가 있기 때문에 JAR 파일에서 디 컴파일 할 필요가 없습니다. 나는 거기에 꽤 많은 것이 있지만 대부분은 개별 클래스 만 생성 할 수 있다는 것을 알고 있습니다. 현재의 모든 클래스와 패키지가 함께 작동하는 방식에 대한 개요를 보여주는 클래스 다이어그램을 생성하여 현재 아키텍처 디자인을 분석 할 수있는 도구가 있기를 바랍니다. 물론 분석은 한 가지입니다. 다른 하나는 문서화를위한 것입니다.

나는 지금까지 몇 가지를 알고 있습니다. 그러나 개요 클래스 다이어그램은 수행 할 수 없습니다. 여기에 내가 시도하고 리버스 엔지니어링을 수행 할 수 있지만 전체 프로젝트의 개요 클래스 다이어그램을 수행 할 수없는 Java UML 도구 목록이 있습니다.

  • StarUML (정말 좋은 오픈 소스 UML 도구이지만 개요 클래스 다이어그램을 생성 할 수 없음)
  • ArgoUML (느리고 느리고 충돌이 계속됨)
  • UModel (이것은 상용 소프트웨어입니다. 얼마 전에 사용했지만 사용하기가 어렵다는 것을 알게되었습니다)
  • MS Visio (Java UML 리버스 엔지니어를 지원하지 않습니다. VB 전용)

이 목록에 추가 할 다른 권장 사항이 있습니까? 바라건대, 개요 Java 클래스 다이어그램을 생성 할 수 있기를 바랍니다. 그건 그렇고 이클립스를 사용하고 있습니다.


1
몇 가지 가능성을 더하기 위해 Eclipse에는 Papyrus가 있습니다. 그러나 슬프게도 코드 생성 플러그인은 작동하지 않았습니다. 설치하기에 너무 많은 종속성이 있습니다. 나는 결국 eUML2를 사용했다.
Carven

상업적인 UML Lab을 확인할 수 있지만 매우 정교하고 사용자 정의 가능한 리버스 엔지니어링 (및 왕복)이 있습니다.
기독교

JGrasp 라는 무료 도구 가 도움이 될 수 있습니다.
HRJ

나는이 방법을 사용하고있다 : youtube.com/watch?v=HwBep8DmBVw 유일한 단점은 무료는 아니지만 30 일 평가판을 사용할 수 있으며 내 경우에는 충분했습니다. 참고 : 그것은 내 비디오가 아니며 인터넷 검색 중에 방금 찾았습니다.
dazito

@Carven, 어떤 플러그인을 사용했는지 알려주십시오. 현재 junit / test 실행시 자동으로 시퀀스 다이어그램을 생성하려고합니다.
27854

답변:


46

Eclipse에서 Soyatec의 eUML2 플러그인을 사용 하며 소스 코드를 제공하는 UML 생성에 적합합니다. 이 도구는 Eclipse 4.4.x까지 유용합니다


무료 버전에이 기능이 있습니까?
Carven

예. 나는 무료 버전을 사용합니다.
Heisenbug

1
감사! ;) 무료 버전에는 UML 생성에 대한 코드가 없다고 항상 생각했기 때문에 시도하지 않았습니다.
Carven

38
짜증나 단단한. 지침에서는 사용자가 모든 속성 앞에 'f'문자를 붙여서 스니핑하도록합니다. 또한 파괴적이며 모든 클래스 파일에 자체 주석을 추가합니다. 또한 지침은 직관적이지 않습니다. 누군가가 내 경험을 반박 할 수 있다면 (케플러의 현재 버전을 기준으로) 그렇게하십시오. 그리고 3 주 동안의 재판. 지금 제거 중입니다.
ingyhere

1
나는 그것을 좋아하지 않았다. 최신 버전의 Eclipse / oxygen과 호환되지 않습니다.
Tayfun Yaşar

109

Class Visualizer를 작성 했습니다. 그것은 언급 된 모든 기능을 가진 무료 도구입니다-나는이 게시물에 설명 된 것과 같은 목적으로 개인적으로 사용합니다. 탐색 된 각 클래스에 대해 2 개의 즉시 생성 된 클래스 다이어그램 : 클래스 관계 및 클래스 UML보기가 표시됩니다. 클래스 관계 다이어그램을 통해 전체 구조를 탐색 할 수 있습니다. 주석 및 제네릭을 완벽하게 지원하고 JPA 엔터티를 특별 지원합니다. 대규모 프로젝트 (수천 개의 클래스)와 매우 잘 작동합니다.


8
이 프로그램은 정말 좋습니다. 그것을 만들고 링크 주셔서 감사합니다.
Igor Rodriguez

17
Jonatan은 예의에 따라 제품, 서비스 등을 제안 할 때 답변에 면책 조항을 추가 할 수 있습니다.
dbm

2
이것은 정말 멋지다. 수십 년 전의 매우 복잡한 프로젝트 인 코드의 대부분은 JDK 1.1 빈티지입니다. 이것은 사물이 어떻게 연결되어 있는지에 대한 훌륭한 개요를 제공합니다. 소스 코드와 Javadoc에 대한 보완책으로 놀라운 가격으로 엄청난 가치를 제공합니다.
gerardw

2
Class Visualizer는 뛰어난 유용한 도구입니까? 그렇습니다. 우리는 그것을 어떻게 지불합니까? 무료로 다운로드 할 수 있습니다! 우리는 그것을 사용하는 법을 어떻게 배우나요? 비디오를 보면서 10 분을 보냈습니다!
Martin Meeser

2
동일한 프로젝트 / 폴더에서 다른 클래스의 메서드를 호출하는 클래스가 있지만 다른 클래스는 표시되지 않습니다. 모든 jdk8 jar을 포함하여 가능한 모든 종속성을 추가했습니다. 내가 뭐 놓친 거 없니?
물병 자리 힘

2

Eclipse 용 Omondo 플러그인 은 어떻습니까 ? 나는 그것을 사용했고 그것이 매우 유용하다는 것을 알았습니다. 큰 소스에 대한 다이어그램을 생성하는 경우 더 많은 메모리로 Eclipse를 시작해야 할 수도 있습니다.


작동하지 않는 링크
Blip

2

나는 MoDisco 가 지금까지 가장 강력 하다고 말할 입니다 (아마도 가장 쉬운 것은 아닙니다).

MoDisco는 일반적인 리버스 엔지니어링 프레임 워크입니다 (리버스 엔지니어링 프로젝트를 사용자 정의 할 수 있도록 MoDisco를 사용하면 구조 및 서명뿐만 아니라 Java 메소드의 동작도 리버스 엔지니어링 할 수 있음)뿐만 아니라 클래스 생성과 같은 사전 정의 된 기능도 포함됩니다 필요한 Java 코드 다이어그램.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.