저번 글에서 vs code에서 plant uml을 쉽게 작성하는 방법을 적었었다.
실제로 해봤는지는 모르겠지만 해보면 정말 쉽고 간단하고 편리하다는 생각이 든다. 물론 설치를 해봤어야 알겠지만...
아무튼 그렇게 설치하고 나서 와 진짜 편하다... 하고 드는 생각은 필자로썬 근데 어떻게 쓰는거지... 싶었다. 이런 블로그나 글을 적으면서 대부분은 자신이 아는 것들을 공유하는 차원에서 적지만 하나도 모르는 상태에서 공부하면서 적기엔 모르는 것이 너무 많았다.
그래서 이번 글에서는 Plant UML을 어떻게 사용하는지에 대해 다룰 것이다. 아마도 매우 긴 글이 되지 않을까... UML그리는 법을 다 다뤄야하는데 이걸 어떻게 간단하게 적겠어!
실제로 이 글을 읽는 사람들은 uml을 작성하려다 방법을 모르는 사람들일거고, 그 사람들은 대부분 자신이 필요한 diagram이 있을 것이니, 검색해서 해당 부분만 공부하면서 익히길 바란다.
물론 필자도 필요한 것부터 정리하고 공부 할 것이다. 그래서 처음 보게 될 다이어그램은 Sequence Diagram 인데, 일단 지원하는 다이어그램이 뭔지는 알아야 할 것이기에 목차 개념으로 정리해보자면
Plant UML이 지원하는 Diagram
으로는 아래와 같은 것들이 있다.
- Sequence Diagram ( 시퀀스 다이어그램 )
- Use case Diagram ( 유즈케이스 다이어그램 )
- Class Diagram ( 클래스 다이어그램 )
- Activity Diagram ( 액티비티 다이어그램 )
- Component Diagram ( 컴포넌트 다이어그램 )
- State Diagram ( 상태 다이어그램 )
- Object Diagram ( 객체 다이어그램 )
- Deployment Diagram ( 배포 다이어그램 )
- Timing Diagram ( 타이밍 다이어그램 )
이 있다. 많기도하다... 이 외에도 Salt, Archimate Diagram, Ditaa, Mathematic with... 어쩌고 지원한다는데 관심 밖이니 혹시 위에 있는것 말고 다른 다이어그램을 그리고 싶어서 들어온 사람들이라면... 잘못왔네...
아래에서 다이어그램을 작성하기 전에 이 다이어그램은 무슨 다이어그램이고, 언제 쓰고, 어떻게 쓰는지 등을 간단하게 소개할 예정이다. 자세한건 그 검색어로 검색하면 좋은 글이 많을 테니 그런 글들을 참고 하면 좋을 것 같다.
UML 작성법
Sequence Diagram
기초 시작
' -> '
두 참여자들 사이의 메시지를 그리기 위해서 주로 사용한다. 참여자는 명시적으로 선언하지 않아도 된다.
' --> '
점선 화살표를 사용할때 주로 사용한다. -> --> 모두 반대방향으로도 사용이 가능하다 <- <--
가독성을 위해 방향을 바꾸어 사용해도 괜찮다. 이 규칙은 Sequence Diagram에서만 사용이 가능하다.
@startuml
A -> B : Request
B --> A : Response
A -> B : Another Request
A <-- B : Another Response
@enduml
참여자 ( participant ) 선언
참여자를 선언할 때 사용할 수 있는 키워드가 정해져있다.
- actor
- boundary
- control
- entity
- database
@startuml
actor _ACTOR
boundary _BOUNDARY
control _CONTROL
entity _ENTITY
database _DATABASE
collections _COLLECTIONS
_ACTOR -> _BOUNDARY : To Boundary
_ACTOR -> _CONTROL : To Control
_ACTOR -> _ENTITY : To Entity
_ACTOR -> _DATABASE : To Database
_ACTOR -> _COLLECTIONS : To Collection
@enduml
Actor, Participant 설정 변경하기
참여자들의 속성을 변경할 수 있는데, 색을 변경할수도 있고 이름등이 길 경우 짧은 별명을 만들어서 설정할 수 있다.
'Software 알쓸신잡 > Code Trend' 카테고리의 다른 글
네이티브앱이란? (0) | 2021.04.05 |
---|---|
SPA (Single Page Application) (0) | 2021.04.05 |
Java vs C++ (0) | 2020.11.24 |
Diagram 이란? - 다이어그램 이해하기 (0) | 2020.11.17 |
Visual Studio Code + Plant UML 을 통한 Diagram 작성 (0) | 2020.11.17 |
댓글