CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·방탄소년당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·자전거당 ·개발한당 ·이륜차당 ·바다건너당 ·클다방 ·안드로메당 ·노젓는당 ·AI당 ·가상화폐당 ·소시당 ·물고기당 ·찰칵찍당 ·여행을떠난당 ·소셜게임한당 ·걸그룹당 ·콘솔한당 ·갖고다닌당 ·VR당 ·골프당 ·캠핑간당 ·개판이당 ·전기자전거당 ·e북본당 ·나스당 ·키보드당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·사과시계당 ·육아당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·동숲한당 ·날아올랑 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·리눅서당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·창업한당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

PC/모바일 [개발자 팁] 무료 UML 다이어그램 작성. Visual Studio Code + PlantUML Extension 13

33
2019-03-01 19:18:19 수정일 : 2019-03-01 19:23:16 217.♡.224.25
kleinstein

요즘 VS Code 많이들 쓰시죠?


그리고 현장에서 UML 다이어그램을 자주 사용하지는 않지만..  (저만 그런가요? ㅎㅎ)

   

가끔씩 정말 UML 다이어그램이 필요할때가 있습니다. 

   

복잡한 코드들이 여기 저기 점프해 다닐때, 잘 그려진 Sequence Diagram 하나 만들어두면 두고두고 편하겠다 싶을때도 있구요..

   

제가 C++ 을 사용하는 관계로..

   

삼성의 상속관계보다 더 복잡한 상속들이 난무하는 복잡한 클래스들을 보고 있자면..

   

잘 그려진 Class Diagram 하나쯤 만들어 두면 두고두고 편하겠다 싶을때도 있지요.

   


   

그래서 UML 다이어그램을 그려주는 툴들을 살펴보자니..

   

정말 수많은 툴 들이 많았습니다.

   

저도 회사에서 사용하기 위해서.. 무료 툴들을 정말 수도없이 이것 저것 써봤는데요..

   

   


   

최근에 알게된  Visual Studio Code + PlantUML Extension + GraphViz 조합이 개꿀이라는 결론에 다다랐습니다.


   

네. 개꿀입니다. 여러분.

   


   


   


   

VS Code 의 Extension 에서 PlantUML 을 검색하시면 곧바로 PlantUML Extension 을 설치하실수 있습니다.

   

설치 하신후에는 기본으로 Sequence Diagram 을 그리실수 있습니다. 

   


   

추가로 Class Diagram 을 그리시려면 GraphViz 를 설치하시고 

   

환경변수에 GRAPHVIZ_DOT 를 새 변수로 넣어주고 

   

그 값은 설치한 GraphViz 폴더안의 bin 폴더에 있는 dot.exe 파일을 전체경로와 함께 지정해 주면 되겠습니다.

   


   

그런데 UML 다이어그램을 어떻게 그리느냐? 

   


   

네. 개발자 여러분 마음에 쏙 들게 스크립트로 그립니다.

   

스크립트에 사용되는 문법들은 한글로 된 아주 쉬운 문서가 있습니다.

   

요기: http://plantuml.com/ko/guide


문서에서 보시다시피 정말 쉽습니다.

   


   

일단 VS Code 에서 텍스트 파일을 하나 만들고 확장자는 plantuml 로 저장해주세요.

   

그 다음 

   

@startuml 로 첫 줄을 시작해 주시고

   


   

제일 마지막은

   

@enduml 로 마지막 줄을 적어주시고 이 둘 사이에다가 스크립트를 적으면 됩니다.

   


   

스크립트 하면 .. 또 어렵지 않을까 겁 내시는 분들도 계실텐데..

   

(위의 저 문서를 보시면 아시겠지만.. )

   

예를 하나씩 들어가면서 설명된 너무도 잘 정리된 저 문서를 보시면.. 정말 쉽다는걸 느끼실 겁니다.

   


   

가장 간단한 예로 아래의 내용을 적어준 다음, 

   


   

@startuml

   

title 나의 첫번째 시퀀스 다이어그램

   

A -> B : 부르는 함수이름

   

@enduml

   


   

Alt + D 키를 눌러주세요. 그려면 VS Code 의 화면 오른쪽에 지금 적어준 저 내용의 UML Sequence Diagram 이 실시간으로 보여집니다.

   

잘못된 형식의 이미지 링크입니다.

   


   

..

   


   

또 하나의 장점은..

   


   

이게 텍스트 파일이라서 Git 으로 버전관리가 되고 협업도 된다는 사실이죵.

   


   

함 써보세요~ 강추입니다.

   


* 참고로 저렇게 생성된 이미지를 저장하시려면 Ctrl + Shift + P 를 누르신후

PlantUML: Export Current File Diagram 을 대소문자 관계없이 입력하시다보면

PlantUML: Export Current File Diagram 이 이미 뜰겁니다. 

이걸 선택하신후 png 나 svg(벡터 그래픽)를 선택해주시면 저 plantuml 파일이 있는 곳의 아래에 자동으로 폴더가 하나 만들어 지면서 거기에 저장이 됩니다. 저걸 pdf 로 저장하는건 복잡합니다. 그냥 포기하시고 이미지 파일로 저장하세용.


kleinstein 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [13]
삭제 되었습니다.
gourri
IP 175.♡.11.233
03-01 2019-03-01 20:07:46
·
좋은 익스텐션이 있었네요. plant uml도 참 좋죠^^
삭제 되었습니다.
므그므그
IP 39.♡.36.37
03-01 2019-03-01 21:12:55
·
와 정말 감사합니다.

잘 그리진 않아요 저도 ^^;;;
문서화를 잘 해야 하는데.. 코딩 실력도 없고, 문서화도 잘 못하고 ㅋ
스크랩합니다. 절대 지우지 말아주세요 ㅋㅋ
아범테크
IP 219.♡.130.64
03-01 2019-03-01 21:49:57
·
저도 PlantUML 이랑 Graphviz 애용합니다.
이런 마크업 언어들이 git 소스트래킹이 잘 되다보니 이런 마크업 랭기지만 쓰네요.

저는 평소에 VS Code쓰지만 문서 작성용으로는 VNote씁니다.
https://github.com/tamlok/vnote
VNote가 PlantUML이랑 같이 써먹는 데에는 최고입니다 ㅎㅎ
낮달.
IP 121.♡.51.133
03-01 2019-03-01 21:59:29
·
vscode에서 UML은 생각조차 못하고 있었는데 ㅋㅋㅋ
역시 갓븘코드네요

감사합니다
크라비클
IP 118.♡.106.72
03-01 2019-03-01 22:51:29
·
요새도 UML 쓰나보네요. 너무 오래전 기억만 있어서..
eto2000
IP 124.♡.193.29
03-01 2019-03-01 23:37:03
·
유용한 정보 감사합니다.
단비
IP 210.♡.220.78
03-02 2019-03-02 07:48:45
·
와… 예전에 staruml로 그렸던 기억이 새록새록…
기무라자쿠야
IP 175.♡.193.197
03-02 2019-03-02 09:37:28
·
플로우차트는 안되나요?
NAXS
IP 114.♡.0.25
03-02 2019-03-02 10:35:07
·
감사합니다 스크랩해뒀다가 출근하면 해봐야겠네요
하늘사이
IP 116.♡.156.110
03-02 2019-03-02 10:42:24
·
얼마전 뒤적뒤적해서 staruml 집어들었는데 쓰레기통에 버려야겠군요..
아이로드
IP 125.♡.243.190
03-02 2019-03-02 11:56:55
·
회사에서 쓰고 있는데 이걸 git으로 버전관리해볼 생각을 안해봤네요! 감사합니다
y123
IP 175.♡.222.17
03-02 2019-03-02 23:31:38
·
eclipse에도 플러그인이 있고, confluence 등에도 플러긴이 있어 공유시 유용합니다.
진짜 스크립트로 작성하여 이력관리가 된다는게 막힌 속을 뚫어 주는 느낌이죠 ㅋ
가을남
IP 220.♡.29.38
03-04 2019-03-04 16:35:27 / 수정일: 2019-03-04 17:09:09
·
java 설치가 되어 있어야 하는군요.
설치하고 본문에 내용대로 해보니 뭔가 그림이 그려지는것이
지금 진행중인 플젝에 써봐야겠네요
좋은 정보 감사합니다.
삭제 되었습니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.