UML은 시스템의 설계를 시각화하는 표준 방법 중 하나이다. 하지만 여러 UML 도구를 사용해 봤지만, 사용법을 익히고 그리는 데까지 시간이 걸리고 번거롭다.

PlantUML을 이용하면 텍스트 설명만으로 마치 코딩하듯이 작성하여 UML 다이어그램을 작성해 주는 도구이다. 이는 다이어그램 작성 소요 시간과 노력을 줄여주고, 실제 내용과 설계에 더 집중할 수 있게 해준다.

UML(Unified Modeling Language)

소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어로서 객체 지향 프로그래밍 소프트웨어 집약 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화할 때 사용한다.

시퀀스 다이어그램

@startuml

title Example Title
header Example Header
footer Footer Footer

autonumber

actor A order 0
participant B order 1
database C order 2

A -> B: request Hello World!
activate B
B --> C: request Hello World!
C -> C: processing
B <- C: response Hello World!
deactivate B
A <-- B: response Hello World!

A -> B: requset Authentication

alt successful case
  B -> C: Authentication Accepted 
else some kind of failure
  B -> C: Authentication Failure
end

@enduml

시퀀스

  • -> : 실선 오른쪽
  • –> : 점선 오른쪽
  • <- : 실선 왼쪽
  • <– : 점선 왼쪽

참여자

  • actor
  • boundary
  • control
  • entity
  • database
  • collections
  • queue
participant Alice
actor Bob

출력 순서

  • order 키워드를 이용하여 참여자의 출력 순서를 지정할 수 있다.
participant Alice order 1
actor Bob order 0

자기 자신에게 보내기

Alice -> Alice
Alice <- Alice
Alice --> Alice
Alice <-- Alice

메시지 순서에 번호 매기기

  • autonumber 키워드를 이용하여 자동으로 번호를 매길 수 있다.
  • autonumber <시작 번호> <증가 값>로 증가 값도 조정이 가능하다.

페이지 제목, 머리말과 꼬리말

title Page Title
header Page Header
footer Page Footer

생명선 활성화 및 비활성화

activate Alice
Alice -> Bob

Alice <- Bob
deactivate Alice

메시지 그룹화

  • alt/else
Alice -> Bob : Authentication Request
alt successful case
  Bob -> Alice : Authentication Accepted
else some kind of failure
  Bob -> Alice : Authentication Failure
end

https://github.com/qjebbs/vscode-plantuml

https://plantuml.com/ko/

https://plantuml.com/ko/sequence-diagram