UML
(Unified Modeling Language)
시스템 개발 과정에서
개발자↔고객
개발자↔개발자
간의 의사소통이 원활하게 이루어지도록 표준화한 객체지향 통합 모델링 언어
UML의 구성요소
사관다 : 사물 / 관계 / 다이어그램
사물(Things)
다이어그램 안에서 관계가 형성될 수 있는 대상
구행그주 : 구조 사물 / 행동 사물 / 그룹 사물 / 주해 사물
구조 사물
개념적, 물리적 요소
ex) 김지인씨는 구강구조가 모난 곳이 없다.
행동 사물
시간, 공간에 따른 요소들의 행위
ex) 김지인씨는 12월에 외로워서 소개팅에 나갔다.
그룹 사물
요소들을 그룹으로 묶어서 표현
ex) 김지인씨는 기독교인이다.
주해 사물
부가적인 설명이나 제약조건
ex) "니 죄를 알라. 아 아니... 니 주해를 알라."
관계(Relationship)
사물과 사물 사이의 연관성
연관 관계(Association)
집합 관계(Aggregation)
포함 관계(Composition)
일반화 관계(Generalization)
의존 관계(Dependency)
실체화 관계(Realization)
연관 관계(Association)
2개 이상의 사물이 서로 관련되어 있음.


ex) 네이버, 구글, 네이트는 모두 검색엔진이므로 관련이 있다.
집합 관계(Aggregation)
하나의 사물이 다른 사물에 포함되어 있는 관계. 서로 독립적임


ex) B씨에겐 아들과 딸이 있다. B씨는 가끔씩 자식들을 집합시킨다. "집합!"
포함 관계(Composition)
집합관계인데, 다르다.
포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계이다.


일반화 관계(Generalization)
하나의 사물이 다른 사물에 비해 더 일반적이거나 더 구체적임.


ex) 김지인은 사람이다.
의존 관계(Dependency)
서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계


실체화 관계(Realization)
서로를 그룹화 할 수 있는 관계.

정리

다이어그램(Diagram)
사물과 관계를 도형으로 표현한 것
구조적 다이어그램 (정적 모델링) / 행위적 다이어그램 (동적 모델링)
정적 모델링 : 논리적인 구조
동적 모델링 : 시스템 내부의 상태 변화, 상호작용
구조적 다이어그램
클객 컴배 복패 : 클래스 / 객체 / 컴포넌트 / 배치 / 복합체 / 패키지
클래스 다이어그램 (Class) | 오퍼레이션 = 함수 연관 클래스 : 연관 관계에 있는 두 클래스에 추가적으로 표현해야할 속성이나 오퍼레이션이 있는 경우 생성함. |
객체 다이어그램 (Object) | 럼바우 |
컴포넌트 다이어그램 (Component) | 구현 단계에서 사용 |
배치 다이어그램 (Deployment) | 구현 단계에서 사용 물리적 요소들의 위치를 표현함. |
복합체 구조 다이어그램 (Composite Structure) | 내부 구조를 표현함 |
패키지 다이어그램 (Package) | 패키지 간의 의존 관계를 표현함. 패키지 : 유스케이스나 클래스 등의 요소들을 그룹화 |
행위적 다이어그램
유시커 상활타 : 유스케이스 / 순차 / 커뮤니케이션 / 상태 / 활동 / 타이밍
유스케이스 다이어그램 (Use Case) | 사용자의 요구를 분석하는 것![]() 사용자의 관점에서 표현됨. 시유액관 : 시스템 / 유스케이스 / 액터 / 관계 ![]() 시스템 : 시스템의 범위 🔲 유스케이스 : 시스템이 액터에게 제공하는 서비스/기능 ⭕ 액터 : 시스템과 상호작용을 하는 모든 외부 요소(사람 또는 시스템) 🚶 관계 : 연결선 ⇢ <<include>> / ⇠ <<extends>> / ← 일반화 ex) 라면을 끓이려면 불을 켜야한다. 라면 끓이기 ⇢ 불키기 |
순차 다이어그램 (Sequence) | 시스템, 객체들이 주고받는 메시지![]() 수행 기간을 확인할 수 있다. ![]() 액터, 객체, 생명선, 실행상자, 메시지, 객체 소멸(X), 프레임 으로 구성됨. 생명선 : 객체가 메모리에 존재하는 기간 (점선) 실행 상자 : 객체가 구동되고 있음을 표현 (직사각형) |
커뮤니케이션 다이어그램 (Communication) | 상호작용하는 과정, 객체들간의 연관![]() 액터, 객체, 링크, 메시지로 구성됨. 객체 : 메시지를 주고 받는 주체 링크 : 객체들 간의 관계를 표현 |
상태 다이어그램 (State) | 객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화![]() (이벤트로 인해 객체의 표정 상태가 변화함.) 럼바우 |
활동 다이어그램 (Activity) | 처리의 흐름을 순서에 따라 표현함 (설명보고 순차 다이어그램이랑 헷갈릴 수 있음. 순차 아님) ![]() 액션/액티비티, 노드 (조건 노드, 병합 노드, 포크 노드, 조인 노드), 스윔레인으로 구성됨. 액티비티는 n개의 액션으로 쪼갤 수 있음. 액션은 더 이상 못쪼갬 ![]() 스윔레인 : 액티비티 수행을 담당하는 주체를 구분하는 선 |
타이밍 다이어그램 (Timing) |
럼바우

객체 다이어그램, 상태 다이어그램
(걍 외워)
스테레오타입
UML에서 표현하는 기본 기능 외에 추가적인 기능
<< >> 이것은 길러멧이다. 길로틴이 아니다.
<<include>> : 포함
<<extends>> : 확장
<<interface>> : 인터페이스
<<exception>> : 예외
<<constructor>> : 생성자
'TIL > 정보처리기사' 카테고리의 다른 글
5. SW 개발 방법론, 비용산정기법 (0) | 2025.02.26 |
---|---|
3. 요구사항 (0) | 2025.02.21 |
2. 개발 기술 환경 파악 (0) | 2025.02.21 |
1. 소프트웨어 생명주기 (0) | 2025.02.21 |
정처기 시작 & 당분간 공부 계획 (0) | 2025.02.21 |