Q. UML(Unified Modeling Language)란 뭘까요?
우선, Language라고 적혀 있긴 하지만 언어는 아닙니다. UML은 그림입니다. 그것도 개발 작업 과정에서 함께 작업하는 사람들의 의사소통을 보다 원활하게 되도록 만들어주기 위한 시각적 모델 언어이죠.
객체지향 방법론에 의거해서 만들어져서 객체지향 모델링 언어라고 불리기도 한다고 합니다.
항상 만들 필요는 없고 필요에 따라서 만드는 것이 좋습니다.
Q, UML은 어떻게 구성되나요?
UML에서 우리가 알아야 할 것은 사물과 관계입니다.
UML에서 표현하고자 하는 것은 각 사물과 그 사물 사이의 관계를 시각적으로 표현하고자 하기 때문입니다.
우선 사물. 사물은 다양한 용어로 불립니다. Things라고 불리기도 하고 객체라고 불리기도 합니다. 모두 같은 의미이니 부르고 싶은 대로 부르면 됩니다.
그다음 관계입니다.
UML에서 관계를 표시할 때는 다양한 종류를 다양한 방법으로 표시합니다. 하나씩 차근차근 알아보겠습니다.
1. 연관 관계: 객체와 객체 사이에 무슨 관계가 있더라!
연관관계의 경우 두 객체 사이를 선으로 표시합니다. 만약 방향성이 정해진 경우 즉, 단방향인 경우 화살표로 표시하기도 합니다. 양방향이면 실선으로 표시를 합니다.
그런데 만약 여러 개가 연결되어 있다면?(다중성) n이라고 실선 위에 표시할 수 있습니다.
실선 위에 표기가 되어있는 경우가 있는 데 각 표기 별 의미가 있습니다.
[표기]
n : n개의 객체와 연관
0,,1 : 연관된 객체가 없거나 1개
* : 연관된 객체가 다수 존재
1,,* : 연관된 객체가 1개이거나 다수인 경우
2. 집합 관계: 한 객체가 다른 객체에 포함되어 있더라!
두 객체를 보다 보니까 한 객체가 다른 객체에 포함된 것을 이야기합니다. 여기서 중요한 것은 두 객체는 각각 존재할 수 있어야 한다는 것입니다. 무슨 말이냐? A라는 객체를 B라는 객체가 포함하고 있을 때 B라는 객체가 없어져도 A라는 객체가 스스로 존재할 수 있어야 한다는 것입니다.
집합 관계인 경우 실선에 투명한 마름모로 두 객체 사이의 관계를 표시합니다.
3. 포함 관계: 다른 객체를 포함하고 있는 객체가 변화하면 포함되어이 있는 객체들에게 영향을 주더라!
두 객체를 보니 종속적인 관계인 것입니다. 무슨 말이냐? A라는 객체를 B라는 객체가 포함하고 있을 때 B라는 객체가 없어지면 A라는 객체가 영향을 받는 것입니다. 앞선 집합 관계에서는 두 객체가 스스로(독립적으로) 존재할 수 있었는 데 이 포함관계에서는 없어지면 영향을 받습니다.
이런 포함 관계인 경우 실선에 진한 마름모로 두 객체 사이 관계를 표시합니다.
4. 일반화 관계: 두 객체를 보다 보니 한 객체가 다른 객체보다 훨씬 더 넓은 범위의 표현이더라!
훨씬 더 넓은 표현이란 무엇일까요? 만약 한 객체를 강아지이라고 가정하고 다른 객체를 시추라고 한다면 시추라는 것보다는 강아지라는 것이 더 일반적이고 넓은 범위의 표현입니다. 이런 경우 이 두 객체는 일반화 관계에 있다고 합니다.
일반화 관계인 경우 실선에 투명한 세모로 두 객체 사이의 관계를 표시합니다.
5. 의존 관계: 두 객체가 연관성은 있으나 서로 필요해서 잠깐 동안 관계를 유지하는구나!
둘의 객체는 연관성이 있는 데 계속 함께 하는 것이 아니라 잠깐 동안 관계를 유지하는 것을 말합니다.
휴대폰과 휴대폰 케이스는 서로 관계가 있지만 잠깐 동안 함께할 뿐 시간이 지나면 다른 케이스로 바꿔 끼울 수도 있습니다. 이렇게 일정 시간 동안에만 함께 하는 관계를 의존관계라고 하며 점선에 화살표로 두 객체 사이의 관계를 표시합니다.
6. 실체화 관계: 두 객체가 인터페이스의 형태로 묶어서 정리할 수 있겠구나!
만약 한 객체가 TV 리모컨 다른 하나가 DVD 리모컨이라고 할 때 이 둘은 멀리서 버튼을 통해 조작한다는 인터페이스로 특징을 묶을 수 있습니다. 이처럼 인터페이스적인 공통점으로 묶어놓은 관계를 실체화 관계라고 합니다.
점선에 투명 세모로 두 객체 사이의 관계를 표현합니다.
Q. UML 다이어그램은 뭔가요?
UML 다이어그램이란 앞서 설명한 UML의 객체와 관계 표시방법을 이용하여 그린 도면을 이야기합니다.
정적인 모델링과 동적인 모델링으로 나뉘게 됩니다.
정적인 모델에서 그려지는 다이어그램을 구조 다이어그램이라고 하며 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지 총 6개의 다이어그램으로 나뉘어 있습니다.
그중 클래스 다이어그램이 가장 대표적이며 시스템의 일부 또는 전체적인 구조를 나타낼 수 있습니다. 이 클래스 다이어그램을 이용하면 의존관계를 명확하게 확인할 수 있다는 특징이 있습니다.
컴포넌트 다이어그램과 배치 다이어그램은 구현 단계에서 사용되는 다이어그램이라는 특징을 가지고 있습니다.
동적 모델링에 대해서 그린 다이어그램을 행위 다이어그램이라고 하며 유스 케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍 총 7개의 다이어그램이 있습니다.
그중 유스 케이스 다이어그램이 대표적이며 사용자의 요구사항과 사례로 구성되어있는 다이어그램입니다.
'소년의 IT 쉽게 이해하기 > 기획 쉽게 이해하기' 카테고리의 다른 글
인터페이스 요구사항 쉽게 이야기하기 (0) | 2022.02.12 |
---|---|
사용자 인터페이스(User Interface) 쉽게 이야기하기 (0) | 2022.01.30 |
애자일 모델의 종류 쉽게 이야기 (0) | 2022.01.28 |
CX(Customer Experience) 쉽게 이야기하기 (0) | 2022.01.20 |
RFI(Request For Information) 쉽게 이야기하기 (0) | 2022.01.12 |
댓글