반응형
1. 클래스 & 패키지 다이어그램 생성
(1) IntelliJ IDEA (Community Edition - 무료)
- 기능: UML 클래스 다이어그램 자동 생성
- 사용법:
- 프로젝트에서 클래스 선택 → 우클릭 → Diagrams → Show Diagram
- 패키지 전체 다이어그램도 생성 가능
- 장점: 실시간 탐색 + 커스터마이징 가능 (메서드/필드 표시 여부 선택)
(2) Eclipse with ObjectAid (무료 플러그인)
- 기능: 동적 UML 다이어그램 생성
- 설치: Eclipse Marketplace에서 ObjectAid 검색 후 설치
- 장점: 드래그 앤 드롭으로 다이어그램 편집 가능
(3) PlantUML (오픈소스)
- 기능: 코드 기반 다이어그램 생성 (클래스, 시퀀스, 패키지 등)
- 사용법:
-
@startuml class Car { -String model +void start() } Car --> Engine @enduml
- 장점: Git 저장소와 연동해 문서화 가능
- 사이트: PlantUML 공식 페이지
(4) Umlet (무료)
- 기능: 간단한 UML 다이어그램 도구
- 장점: 독립 실행형 프로그램 (설치)
- 다운로드: Umlet 공식 사이트
🔗 2. 의존성 & 호출 흐름 분석
(1) Code Iris (IntelliJ 플러그인 - 무료)
- 기능: 패키지/클래스 의존성 3D 그래프 생성
- 설치: IntelliJ Marketplace에서 Code Iris 검색
(2) JDepend (오픈소스)
- 기능: 패키지 간 의존성 분석 + 리포트 생성
- 사용법:
java -jar jdepend.jar ./src
- 다운로드: JDepend GitHub
(3) CDA (Class Dependency Analyzer - 무료)
- 기능: .jar 파일 분석 → 의존성 그래프 생성
- 다운로드: CDA 공식 페이지
🌐 3. 웹 기반 시각화 도구
(1) Code2Flow (무료 온라인)
- 기능: 코드 → 호출 흐름도 생성 (Java 지원)
- 사이트: code2flow.com
(2) SourceTrail (오픈소스)
- 기능: 코드 탐색 + 시각화 (단종되었으나 로컬에서 사용 가능)
- 설치: GitHub에서 다운로드
📜 4. 문서화 + 시각화 통합
(1) Doxygen (오픈소스)
- 기능: 소스코드 → HTML/PDF 문서 생성 (의존성 그래프 포함)
- 설정: Doxyfile에서 EXTRACT_ALL = YES 및 HAVE_DOT = YES 설정
- 사이트: Doxygen 공식 페이지
(2) Javadoc + Graphviz (무료)
- 기능: Javadoc에 Graphviz 연동해 다이어그램 추가
- 설정:
javadoc -docletpath /path/to/graphviz-doclet.jar -doclet org.spf4j.graphviz.GraphvizDoclet -d ./docs ./src
✅ 추천 조합
- 간단한 다이어그램 → PlantUML
- IDE 통합 → IntelliJ Diagram 또는 Eclipse + ObjectAid
- 대규모 프로젝트 의존성 → JDepend + Doxygen
💡 팁: 코드 시각화 효과적으로 활용하기
- 핵심 모듈부터 분석: 예) Main 클래스 → Service → DAO
- 의존성이 높은 컴포넌트를 주목: 순환 참조(Circular Dependency) 탐지
- 다이어그램을 Git에 저장: 팀원과 공유해 이해도 향상
코드 시각화 도구
-
CodeFlower
-
Gource
-
CodeSee
-
Embold
-
SourceInsight
코드 구조 분석 도구
-
SonarQube
-
Pylint
-
ESLint
-
Checkmarx
-
FlawFinder
각 링크를 통해 도구를 다운로드하고 설치 방법을 확인할 수 있습니다. 필요에 맞는 도구를 선택하여 사용하시기 바랍니다.
반응형