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.