본문 바로가기
정보처리기사

정보처리기사 : UML

by 스노위13 2023. 3. 27.

1. UML
- 정의 : 시스템 개발 과정에서 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
- 구성요소 : 사물, 관계, 다이어그램

2. 사물 : 다이어그램 안에서 관계가 형성될 수 있는 대상
- 구조 사물 : 시스템의 개념적, 물리적 요소를 표현 / 클래스, 유스케이스, 컴포넌트, 노드 등
- 행동 사물 : 시간과 공간에 따른 요소들의 행위를 표현 / 상호작용, 상태머신 등
- 그룹 사물 : 요소들을 그룹으로 묶어서 표현 / 패키지
- 주해 사물 : 부가적인 설명이나 제약조건 등을 표현 / 노트

3. 관계
1) 연관(Association) 관계
- 2개 이상의 사물이 서로 관련되어 있는 관계
- 방향성은 화살표로 표현, 양방향인 경우 화살표를 생략하고 실선으로만 연결
- 다중도를 선 위에 표기한다.  
- 예시 : "고객 - 제품", 한 명의 고객은 여러 개의 제품을 주문할 수 있으며, 한 개의 제품은 여러 명의 고객에 의해 주문될 수 있다. 

출처 : ChatGPT

2) 집합(Aggregation) 관계 
- 하나의 사물이 다른 사물에 포함되어 있는 관계, 서로 독립적
- 포함하는 쪽(전체)에 속이 빈 마름모를 연결하여 표현
- 예시 : 프린터는 컴퓨터에 연결해야 사용할 수 있지만 다른 컴퓨터에도 연결이 가능함

3) 포함(Compositon) 관계
- 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
- 서로 독립될 수 없고 생명주기를 함께 한다
- 포함하는 쪽에 검은색 마름모를 연결하여 포현
- 예시 : 문을 열 수 있는 열쇠는 하나이며, 해당 열쇠로는 다른 문을 열 수 없다. 문이 없어지면 열쇠도 필요하지 않게 된다.

4) 일반화(Generalization) 관계 
- 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계
- 보다 일반적인 개념인 상위(부모)와 보다 구체적인 개념인 하위(자식)으로 나뉨
- 예시 : 펭귄과 비둘기는 새로 일반화 할 수 있다

5) 의존(Dependency) 관계
- 서로에게 영향을 주는 잠시 동안에만 연관을 유지하는 관계
- 영향을 주는 사물이 영향을 받는 쪽으로 점선 화살표를 연결하여 표현
- 예시 : 세일기간 중 등급에 따라 할인율이 달라지는 경우

6) 실체화(Realization) 관계
- 할 수 있거나 해야하는 기능으로 서로를 그룹화할 수 있는 관계
- 예시 : 연필과 펜은 쓸 수 있다는 기능으로 그룹화할 수 있다

댓글