JustDoEat

UML 다이어그램이란 무엇인지 알아보자 본문

Study/정보처리기사

UML 다이어그램이란 무엇인지 알아보자

kingmusung 2024. 6. 18. 21:14

UML다이어그램이란

소프트웨어 시스템의 설계와 모델링을 위해 사용하는 방법이자, 도구이다.

 

크게 두 가지로 나누어 구분할 수 있고 각각 여러 개의 다이어그램들을 포함하고 있다.

더보기

1. 구조다이어 그램

-> 요소들 간의 정적인 관계를 이해하는데 도움,  시스템 요소들이 어떻게 연결되어있는지.

2. 행위다이어 그램

-> 동적인 관계를 이해하는데 도움,  객체들이 시간의 흐름에 따라 메시지를 주고받는 행위 등.

 

구조다이어그램

구조다이어그램은 "클래스다이어그램, 객체다이어그램, 컴포넌트다이어그램, 배치다이어그램, 패키지다이어그램"으로 다시 나누어진다.

 

클래스 다이어그램

이름 그대로 클래스와 클래스 간의 관계를 나타내는 다이어그램이다.

스프링을 예시로 들자면 컨트롤러 클래스와 서비스 클래스의 관계를 표시하는 것처럼 클래스 간의 관계를 다이어그램으로 표시하는 행위이다.

출처:https://seulhee030.tistory.com/56

 

작성규칙

더보기

1. 다이어그램 상단에는 클래스명을 작성한다.

2. 클래스의 속성(변수, 자료형 등등) 은 그림상 두 번째 블록, 메서드는 맨 아래 블록에 적어준다

3. 각 클래스 간의 관계는 화살표로 표기를 하고, 실선은 일반적인 연관관계, 점선은 의존관계를 나타낸다.

4. 인터페이스도 마찬가지로 클래스와 유사하게 표현한다, 위 그램에서 Car가 인터페이스가 되겠다.

객체다이어그램

객체다이어그램은 객체 간의 관계를 시각적으로 나타내주는데, 클래스다이어그램에서 작성한 클래스들의 객체가 어떻게 상호작용하는지 나타내주는 다이어그램이다.

 

클래스다이어그램으로 충분한 표현이 가능하고, 부수적인 이해를 돕기 위해 사용하는 게 객체다이어그램이다.

 

출처: https://www.ibm.com/docs/ko/rsas/7.5.0?topic=classifiers-object-diagrams

 

컴포넌트다이어그램

컴포넌트들이 어떤 식으로 조립되고 실행이 되는지 시각적으로 보여준다.

대표적으로 React가 컴포넌트 기반 아키텍처를 사용하는데, 필자의 예시를 돕기 위해 리엑트 컴포넌트로 컴포넌트다이어그램을 이해하였다.

출처: https://blog.coderifleman.com/2023/02/27/hands_on_react_making_it_cohesive/

 

실전! 리액트, 응집성 있게 가자!

React.js에서 로직을 어떻게 응집성 있게 관리할 수 있는지 간단한 송금 예제와 함께 소개한다.

blog.coderifleman.com

배치다이어그램

위에서 소프트웨어, 추상적인 다이어그램이었다면. 배치다이어그램은 시스템의 물리적인 배치와 구성요소 간의 관계를 시각화해 주는 다이어그램이라고 할 수 있다.

 

예를 들자면 웹서버로는 NGINX를 사용하고 애플리케이션 서버로는 TomCat, DB로는 MySQL을 사용한다고 했을 때 그들 간의 관계를 자세하게 표현해 주는 다이어그램이라고 보면 되겠다.

 

출처: https://ocwokocw.tistory.com/24

 

UML - 배치 다이어그램

- 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 배치 다이어그램(Deployment Diagrams) 여기서 말하는 배치는 Batch가 아닌 Deployment 이다. 시스템의 물리적인 구조를 보여주며, 어떤

ocwokocw.tistory.com

이건 프로젝트를 했을 때 작성한 시스템 아키텍처인데 크게 크게 보면 유사한 거 같아서 가지고 와보았다.

 

패키지다이어그램

시스템 구조의 모듈화랑 패키지구조를 시각화하기 위한 다이어그램이다, 내가 생각하는 자바의 패키지의 패키지가 맞다.

 

https://ocwokocw.tistory.com/22

 

UML - 패키지 다이어그램 - 개요와 의존

- 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다. - 패키지 다이어그램 UML 에서 패키지는 어떤 구성요소라도 더 높은 수준의 단위로 묶을 수 있도록 해주는 구조이다. 각각의 패

ocwokocw.tistory.com

 

이분의 블로그를 참고하여 공부를 하였는데, 설명을 너무 잘해주셨다.

 

유스케이스다이어그램

간단히 설명하자면 사용자 간의 상호작용을 시각적으로 나타내는 다이어그램이다.

더보기

유스케이스: 시스템이 제공하는 특정기술이나 서비스를 나타냄

+ "사용자=엑터"라고 한다.

 

출처: https://velog.io/@seolang2/UML-%EB% B0% B0% EC% 9B% 8C% EB% B3% B4% EA% B8% B0-%EC% 8B% 9C% EB% A6% AC% EC% A6%88-3-%EC% 9C% A0% EC% 8A% A4% EC% BC%80% EC% 9D% B4% EC% 8A% A4-%EB% 8B% A4% EC% 9D% B4% EC%96% B4% EA% B7% B8% EB% 9E% A8

https://googry.tistory.com/2

 

 

(UML) 유스케이스 다이어그램 - Usecase Diagram

유스케이스 다이어그램 시스템과 사용자의 상호작용을 다이어그램으로 표현한 것으로 사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여주는 것이다.사용자가 시

googry.tistory.com

 

시퀀스다이어그램

객체지향시스템에서 시간의 순서에 따라 객체들의 상호작용을 시각화하여 표현하는 방식이다.

출처: https://www.edrawsoft.com/kr/diagram-tutorial/what-is-the-sequence-diagram.html

 

Introducing EdrawMax 10

Plan, brainstorm or design anything, faster

www.edrawsoft.com

 

더보기

엑터: 행위의 주체자

객체: 시스템 내의 객체를 나타냄, 객체의 수직방향의 선으로 나타냄

메시지: 객체들 간의 주고받는 데이터를 나타냄, 즉 객체 간의 상호작용을 나타낸다고 볼 수 있음. 메서드 호출 등이 메시지의 예시임.

생명선: 시간의 흐름을 나타내는 선, 객체의 생명주기를 보여줌.

활성: 객체가 메시지를 처리하는 동안의 상태를 시각적으로 보여줌.

커뮤니케이션다이어그램

클래스-객체 다이어그램 간의 관계처럼, 시퀀스-커뮤니케이션 다이어그램도 관계가 있다.

시퀀스다이어그램과 유사하지만 차이점은, 조금 더 명확하게 나타내주는데 명확하다의 기준은

더보기

1. 시퀀스다이어그램에서는 수직방향으로 시간의 흐름에 따라 표현을 했다면, 커뮤니케이션은 번호까지 붙여서 표현을 한다.

2. 시퀀스다이어그램에는 없는 "링크"라는 개념이 추가가 된다.

 

더보기

엑터(Actor): 외부요소로 행위의 주체이자, 외부 시스템 혹은 사람을 의미함.

객체(Object): 시스템 내부에서 메시지를 주고받는 주체.

링크: 각 객체들의 관계를 나타냄.

메시지: 객체들 간 주고받는 데이터, 메서드 호출을 의미라고, 시퀀스와 다르게 번호를 붙여 표기함.

출처: https://boardmix.com/kr/skills/communication-diagram/

 

커뮤니케이션 다이어그램 쉽게 만드는 방법

커뮤니케이션 다이어그램의 뜻과 구성요소를 좀더 자세히 알아보려고 합니다. 그리고 유용한 도구를 통해 쉽게 만드는 방법도 소개하겠습니다.

boardmix.com

 

활동다이어그램

비즈니스 프로세스나 시스템의 흐름을 모델링하고 분석하는 데 사용된다.

 

https://boardmix.com/kr/reviews/activity-diagram-tools/#:~:text=%EC%95%A1%ED%8B%B0%EB%B9%84%ED%8B%B0%20%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8(Activity%20 Diagram)% EC% 9D%80,%EB% 8B% A4% EC% 9D% B4% EC%96% B4% EA% B7% B8% EB% 9E% A8% EC% 9D% B4% EB% 9D% BC% EA% B3% A0%20% EB% B6%80% EB% A5% B4% EA% B8% B0% EB% 8F%84%20% ED%95% A9% EB% 8B%88% EB% 8B% A4.

 

액티비티 다이어그램 그리기 Top3 비교하기

액티비티 다이어그램은 시스템이나 프로세스에서 활동들 간의 흐름과 워크 플로우 등을 시각화 하여 표현하기 위해 사용합니다.

boardmix.com

 

타이밍다이어그램

시스템의 시간적 동작을 시각적으로 표현하는 도구입니다. 주로 디지털 시스템이나 신호 처리 시스템에서 사용되며, 시간 축을 기반으로 한 신호들의 변화를 보여줍니다.

 

https://brunch.co.kr/@lkj28/120

 

Ch3-5. 타이밍 다이어그램

이미 우리는 디지탈 신호 및 파형, 그리고 클락(clock)에 대해 살펴보았다. 이제 이 기반지식들을 가지고 타이밍 다이어그램(Timing Diagram)을 공부해보자! 타이밍 다이어그램이란 각 신호들이 시간

brunch.co.kr