본문 바로가기
나혼자 스터디/정보처리기사

UML

by jungwonyu 2022. 6. 29.
728x90

UML

: 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어

 

UML 특징

- 가시화 언어

- 구축 언어

- 명세화 언어

- 문서화 언어

 

UML 구성요소

- 사물

- 관계

- 다이어그램

 

구조적 다이어그램(= 정적 다이어그램)

- 클래스 다이어그램: 클래스의 속성 및 연산과 클랙스 간 정적인 관계를 표현

- 객체 다이어그램: 클래스에 속한 사물들의 관계로 표현

- 컴포넌트 다이어그램: 의존 관계 표현

- 배치 다이어그램: 물리적 요소들의 위치를 표현

- 복합체 구조 다이어그램: 내부 구조를 표현

- 패키지 다이어그램: 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계 표현

 

행위적 다이어그램(= 동적 다이어그램) 화살표로 표현됨

- 유스케이스 다이어그램: 사용자의 관점에서 표현

- 시퀀스 다이어그램: 메시지 흐름으로 표현

- 커뮤니케이션 다이어그램: 객체들이 주고 받는 메시지 표현 + 객체 간의 연관까지 표현

- 상태 다이어그램: 상태가 어떻게 변화하는지 표현

- 활동 다이어그램: 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현

- 타이밍 다이어그램: 시간 제약을 명시적으로 표현

 

스테레오 타입

: UML의 기본적 요소 이외의 새로운 요소를 만들어내기 위한 확장 매커니즘 / 길러멘( << >> ) 기호를 사용하여 표현

 

스테레오 타입 유형

 - <<include>> : 하나의 유스케이스가 어떤 시점에 반드시 다른 유스케이스를 실행하는 포함 관계

- <<extend>> : 하나의 유스케이스가 어떤 시점에 다른 유스케이스를 실행할 수도 그렇지 않을 수도 있는 확장 관계

- <<interface>> : 모든 메서드가 추상 메서드이며 바로 인스턴스를 만들 수 없는 클래스로 추상 메서드와 상수만으로 구성된 클래스

- <<entity>> : 기억 장치에 저장되어야 할 정보를 표현하는 클래스

- <<boundary>> : 시스템과 외부 액터와의 상호작용을 담당하는 클래스

- <<control>> : 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스

 

클래스 다이어그램

: 객체지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램

 

클래스 다이어그램 구성요소

- 클래스: 공통의 속성, 연산(메서드), 관계, 의미를 공유하는 객체들의 집합

- 속성: 클래스의 구조적 특성에 이름을 붙인 것 / 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술

- 연산/메서드: 이름, 타입, 매개변수들과 연관된 행위를 호출하는 데 요구되는 제약사항들을 명시하는 클래스의 행위적 특징

- 접근 제어자: 클래스에 접근할 수 있는 정도를 표현

private(-) 클래스 내부 접근만 허용

public(+) 클래스 외부 접근을 허용

protected(#) 동일 패키지/파생 클래스에서 접근 가능

default(~) 동일 패키지 클래스에서 접근 가능

 

UML의 관계

- 연관 관계(association): 실선

- 의존 관계(dependency): 점선

- 일반화 관계(generalization): 실선 + 삼각형

- 실체화 관계(realization): 점선 + 삼각형

- 포함 관계/합성 관계(composition): 색칠된 마름모

- 집합 관계/집약 관계(aggregation): 빈 마름모

 

추상 클래스/인터페이스

- 추상 클래스: 객체 인스턴스를 생성하지 않고, 단지 유사 클래스들의 공통된 특징을 정의하고, 하나 이상의 추상 메서드와 일반 필드 및 일반 메서드를 포함하는 클래스

- 인터페이스: 기능을 모아놓은 클래스로 추상 메서드와 상수만을 포함하는 추상 클래스

 

유스케이스 다이어그램(< 동적다이어그램)

: 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램

- 액터 / 시스템 / 유스케이스

 

유스케이스 다이어그램의 관계

- 포함 관계

- 확장 관계

- 일반화 관계(실선 + 삼각형)

 

시퀀스 다이어그램

: 객체 관 상호작용을 메시지 흐름으로 표현한 다이어그램

- 객체 / 실행 / 메시지 / 생명선

 

패키지 다이어그램

: 시스템의 서로 다른 패키지들 사이의 의존 관계를 표현하기 위한 다이어그램

- 패키지 / 의존 관계

 

활동 다이어그램

: 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현하는 다이어그램

 

상태 다이어그램

: 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현하는 다이어그램

 

커뮤니케이션 다이어그램

: 시퀀스 다이어그램과 같이 동작에 참여하는 객체들이 주고받는 메시지를 표현하고, 메시지뿐만 아니라 객체 간의 연관까지 표현하는 다이어그램

 

컴포넌트 다이어그램

: 시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 나타내는 다이어그램

 

'나혼자 스터디 > 정보처리기사' 카테고리의 다른 글

데이터 모델  (0) 2022.06.29
UI 흐름 설계  (0) 2022.06.29
UI 프로토타입 제작 및 검토  (0) 2022.06.29
스토리보드  (0) 2022.06.29
UI 지침  (0) 2022.06.29