Star UML 다운로드 https://staruml.softonic.kr/
Star UML 사용 https://github.com/Woon-2/cpp-study/discussions/172
https://plantuml.com/ko/
구조적 모델링 다이어그램(Structural Modeling Diagram)
- 패키지 다이어그램(Package Diagram) – 모델을 구성하는 여러 구성 요소를 컨테이너라고 하는 논리적 집합으로 묶어서 보여주는 다이어그램으로써 모델 구성 요소간의 연관 관계를 보다 상위레벨로 정의한다.
- 클래스 다이어그램(Class or Structural Diagram) – 클래스를 이용해서 시스템의 구성을 보여주는 다이어그램으로써 주요 클래스와 그들 간의 연관 관계를 정의한다.
즉, 클래스 다이어그램은 프로그래밍 언어에서 전통적으로 사용되는 구문을 반영하는 구문을 사용하여 설계되었다. 이러한 유사성은 개발자에게 친숙한 환경을 조성하여 보다 쉽고 직관적인 다이어그램 생성 프로세스를 촉진한다.이러한 디자인 접근 방식은 간결할 뿐만 아니라 간결하고 표현력이 풍부한 표현을 생성할 수 있다. 또한 시퀀스 다이어그램의 구문을 반영하는 구문을 통해 클래스 간의 관계를 묘사할 수 있어 클래스 상호 작용을 유연하고 통찰력 있게 묘사할 수 있는 길을 열어준다. 구조적 및 관계형 표현 외에도 클래스 다이어그램 구문은 메모 포함 및 색상 적용과 같은 추가 강화를 지원하여 사용자가 유익하고 시각적으로 매력적인 다이어그램을 만들 수 있도록 해준다.
- 오브젝트 다이어그램(Object Diagram) – 실행시점에 시스템이 어떻게 구성되는 지를 보여주는 다이어그램으로써 클래스의 인스턴스인 오브젝트와 그들간의 연관 관계를 정의한다.
- 컴포지트 스트럭처 다이어그램(Composite Structure Diagram) – 구성 요소들 간의 계층적 연관 관계를 보여주는 다이어그램으로써 한 구성 요소가 어떠한 내부 구조를 가지고 있는지, 각 내부 구조의 구성 요소들이 어떠한 연관 관계를 가지면서 계층구조를 형성하는 지 등을 정의한다.
- 컴포넌트 다이어그램(Component Diagram) – 컴포넌트를 이용해서 시스템의 구성을 보여주는 다이어그램으로써 주요 컴포넌트와 인터페이스 그리고 그들간의 연관 관계를 정의한다.
- 디플로이먼트 다이어그램(Deployment Diagram) – 실제 시스템의 물리적인 모습을 보여주는 다이어그램으로써 시스템을 구성할 때 각 구성 요소를 물리적으로 어떻게 배치할 것인가를 정의한다.
행위적 모델링 다이어그램(Behavioral Modeling Diagram)
- 유스케이스 다이어그램(Use Case Diagram) – 시스템을 사용하는 사용자와 시스템 간의 상호작용을 보여주는 다이어그램으로써 사용자의 행동, 시스템의 기능, 요구사항, 제약사항 등을 정의한다.
즉, 유스 케이스 다이어그램은 시스템 행위자 와 시스템 자체 간의 상호 작용을 묘사하기 위해 소프트웨어 엔지니어링에서 사용되는 시각적 표현이다 . 사용 사례 와 시스템과 상호 작용하는 역할을 보여줌으로써 시스템의 동적 동작을 포착한다 . 이러한 다이어그램은 시스템의 기능 요구 사항을 지정 하고 사용자가 시스템과 상호 작용하는 방식을 이해하는 데 필수적이다. 사용 사례 다이어그램은 높은 수준의 보기를 제공함으로써 이해 관계자가 시스템 기능과 잠재적 가치를 이해하는 데 도움이 된다.
- 액티비티 다이어그램(Activity Diagram) – 시스템이 동작하는 과정을 보여주는 다이어그램으로써 각 프로세스의 기본 흐름, 조건 분기, 예외 흐름, 주요 작업 등을 정의한다.
- 스테이트 머신 다이어그램(State Machine Diagram) – 시스템이 동작하는 동안에 특정 구성 요소가 어떠한 상태를 가지는 지를 보여주는 다이어그램으로써 특정 시점에서의 구성 요소의 상태, 상태 변화 이벤트, 상태 변화 흐름 등을 정의한다.
- 커뮤니케이션 다이어그램(Communication Diagram) – 시스템을 구성하는 각 구성 요소가 서로 어떻게 의사소통 하는지를 보여주는 다이어그램으로써 시스템 구성 요소의 네트워크 구성, 교환하는 메시지 정보나 커뮤니케이션 정보 등을 정의한다.
- 시퀀스 다이어그램(Sequence Diagram) – 시스템을 구성하는 객체들 간의 메시지 흐름을 보여주는 다이어그램으로써 시스템을 구성하는 주요 객체와 이들이 주고 받는 메시지들을 세로 방향으로 나 있는 시간흐름 선(Time line)에 따라 정의한다.
- 타이밍 다이어그램(Timing Diagram) – 시퀀스 다이어그램과 스테이트 머신 다이어그램을 합쳐놓은 다이어그램으로써 시간에 따른 각 객체의 상태와 그 상태를 변경시키는 방아쇠 역할을 하는 메시지 들을 정의한다.
- 인터랙션 오버뷰 다이어그램(Interaction Overview Diagram) – 액티비티 다이어그램과 시퀀스 다이어그램을 합쳐놓은 다이어그램으로써 프로세스의 흐름에 따른 여러 상호작용 부분들을 전체적으로 조망할 수 있도록 정의한다.