PlantUML

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

PlantUML은 소스 코드 수준에서 UML(Unified Modeling Language)을 표현하는 텍스트 형식으로, 사람이 읽고 이해하기 쉬운 코드를 사용하여 다양한 다이어그램을 그릴 수 있다. 아톰, Confluence, Doxygen, 이클립스, 구글 문서, IntelliJ IDEA, LaTeX, LibreOffice, MediaWiki, Microsoft Word, Notepad++, Obsidian, Org-mode, Rider, Sublime Text, Visual Studio Code, Vnote, Xcode 등 다양한 애플리케이션에서 PlantUML을 지원하며, 다이어그램의 레이아웃을 명시적으로 지정할 필요 없이 다이어그램을 수정할 수도 있다.

PlantUML - [IT 관련 정보]에 관한 문서
개요
이름PlantUML
종류UML 도구
라이선스GNU 일반 공중 사용 허가서
상세 정보
개발자Arnaud Roques
출시일2009년 4월 17일
최신 버전V1.2023.7
최신 버전 출시일2023년 5월 12일
프로그래밍 언어자바
지원 운영체제리눅스
OS X
윈도우
웹사이트PlantUML 공식 웹사이트
파일 포맷 정보
파일 확장자.pu, .puml, .txt
유형텍스트
📚 더 읽어볼만한 페이지
  • 자유 UML 도구 - 넷빈즈
    넷빈즈는 1996년 자바 IDE 학생 프로젝트로 시작되어 썬 마이크로시스템즈를 거쳐 아파치 소프트웨어 재단에 기증된 오픈 소스 통합 개발 환경(IDE)으로, 다양한 언어를 지원하고 GUI 디자인 도구, 프로파일러 등 기능을 제공하며 자바 VM 운영체제에서 동작한다.
  • 자유 UML 도구 - Eclipse (소프트웨어)
    이클립스는 IBM에서 개발한 자바 기반의 통합 개발 환경으로, OSGi 서비스 플랫폼을 런타임 아키텍처로 사용하며, 플러그인을 통해 기능을 확장할 수 있고, 이클립스 퍼블릭 라이선스를 따르며, 한국어를 지원한다.
  • 한국어 위키백과의 링크가 위키데이터와 같은 위키공용분류 - 라우토카
    라우토카는 피지 비치레부섬 서부에 위치한 피지에서 두 번째로 큰 도시이자 서부 지방의 행정 중심지로, 사탕수수 산업이 발달하여 "설탕 도시"로 알려져 있으며, 인도에서 온 계약 노동자들의 거주와 미 해군 기지 건설의 역사를 가지고 있고, 피지 산업 생산의 상당 부분을 담당하는 주요 기관들이 위치해 있다.
  • 한국어 위키백과의 링크가 위키데이터와 같은 위키공용분류 - 코코넛
    코코넛은 코코넛 야자나무의 열매로 식용 및 유지로 사용되며, 조리되지 않은 과육은 100g당 354kcal의 열량을 내는 다양한 영양 성분으로 구성되어 있고, 코코넛 파우더의 식이섬유는 대부분 불용성 식이섬유인 셀룰로오스이며, 태국 일부 지역에서는 코코넛 수확에 훈련된 원숭이를 이용하는 동물 학대 문제가 있다.
  • 자바 플랫폼 소프트웨어 - 자바 데스크톱 시스템
  • 자바 플랫폼 소프트웨어 - 핫자바
    핫자바는 자바 프로그래밍 언어 기반으로 개발된 웹 브라우저이며, 1995년 TED 컨퍼런스에서 처음 시연되고 SunWorld 컨퍼런스에서 공식 발표되었다.

2. PlantUML을 사용하는 애플리케이션

PlantUML은 다양한 확장 기능이나 애드온을 통해 여러 애플리케이션과 통합된다. 이를 통해 사용자는 자신이 선호하는 환경에서 PlantUML을 활용하여 다이어그램을 작성하고 관리할 수 있다.

2.1. 주요 애플리케이션

* 아톰에는 커뮤니티에서 관리하는 PlantUML 구문 강조 표시기 및 뷰어가 있다.
* Confluence 위키에는 페이지를 다시 로드하는 동안 다이어그램을 즉시 렌더링하는 Confluence Server용 PlantUML 플러그인이 있다. Confluence Cloud용 추가 PlantUML 플러그인도 있다.
* Doxygen은 [http://www.doxygen.nl/manual/commands.html#cmdstartuml startuml] 명령 이후 소스가 제공되는 다이어그램을 통합한다.
* 이클립스에는 PlantUML 플러그인이 있다.
* 구글 문서에는 PlantUML.com 서버와 함께 작동하는 PlantUML Gizmo라는 애드온이 있다.
* IntelliJ IDEA는 Markdown (내장) 또는 독립 실행형 파일 (플러그인 사용)에 포함된 다이어그램을 생성하고 표시할 수 있다.
* LaTeX는 Tikz 패키지를 사용하여 PlantUML을 제한적으로 지원한다.
* LibreOffice에는 PlantUML 다이어그램을 사용하기 위한 Libo\_PlantUML 확장이 있다.
* MediaWiki에는 페이지에서 SVG 또는 PNG로 다이어그램을 렌더링하는 PlantUML 플러그인이 있다.
* Microsoft Word는 Word Template Add-in을 통해 PlantUML 다이어그램을 사용할 수 있다. 이와 유사한 방식으로 작동하는 PlantUML Gizmo라는 추가 Visual Studio Tools for Office 애드인이 있다.
* NetBeans에는 PlantUML 플러그인이 있다.
* Notepad++에는 PlantUML 플러그인이 있다.
* Obsidian에는 PlantUML 플러그인이 있다.
* Org-mode는 PlantUML org-babel 지원을 제공한다.
* Rider에는 PlantUML 플러그인이 있다.
* Sublime Text에는 Sublime Text 2 및 3용 PlantUmlDiagrams라는 PlantUML 패키지가 있다.
* Visual Studio Code에는 [https://marketplace.visualstudio.com/ marketplace]에서 다양한 PlantUML 확장이 있으며, 가장 인기 있는 것은 [https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml jebbs의 PlantUML]이다.
* Vnote 오픈 소스 메모 작성 마크다운 응용 프로그램은 PlantUML을 내장 지원한다.
* Xcode는 Swift 소스 코드에서 PlantUML 클래스 다이어그램을 생성하고 보기 위한 커뮤니티에서 관리하는 소스 편집기 확장이 있다.

3. 소스 코드 수준에서 UML을 표현하는 텍스트 형식

PlantUML은 사람이 읽을 수 있는 형식으로 작성된 코드를 사용하여 다이어그램을 그린다.

PlantUML은 다양한 형식의 다이어그램을 지원하며, 레이아웃을 명확하게 지정할 필요가 없다. 필요하다면 다이어그램을 수정하는 것도 가능하다.

3.1. 예시: 퍼사드 패턴 클래스 다이어그램

다음은 퍼사드 패턴의 UML 클래스 다이어그램 예시다.

PlantUML에서 퍼사드 패턴 그리기.
PlantUML에서 퍼사드 패턴 그리기.