도도한 개발자
[정보처리기사] UML 다이어그램 본문
@ UML(Unified Modeling Language) : 객체 지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해 만든 표준화된 범용 모델링 언
@ UML 구성요소
- 사물(Things) : 추상적인 개념으로, 주제를 나타내는 요소. '명사' 또는 '동사'
- 관계(Relationships) : 사물의 의미를 확장하고 명확히 하는 요소. '형용사' 또는 '부사'
- 다이어그램(Diagrams) : 사물과 관계를 모아 그림으로 표현한 형태. 9가지로 정의
@ UML 다이어그램
구분 | 다이어그램 | 설명 |
구조적(정적) 다이어그램 Structural(Static) |
클래스(Class) | 객체 지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계 표현 |
객체(Object) | 클래스에 속한 사물(객체), 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현 | |
컴포넌트(Component) | 시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 나타냄 | |
배치(Deployment) | 컴포넌트 사이의 종속성을 표현하고, 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현 | |
복합체 구조(Composite Structure) | 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현 | |
패키지(Package) | 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계 표현, 패키지 사이의 의존관계 표현 | |
행위적(동적) 다이어그램 Behavioral(Dynamic) |
유스케이스(Usecase) | 시스템이 제공하는 기능 및 관련된 외부 요소를 사용자의 관점에서 표현 |
시퀀스(Sequence) | 객체 간 동적 상호 작용을 시간적 개념을 중심으로 메시지 흐름으로 표현 | |
커뮤니케이션(Communication) | 동작에 참여하는 객체들이 주고 받는 메시지를 표현하고, 메시지뿐만 아니라 객체 간의 연관까지 표현 | |
상태(State) | 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 객체 간의 연관까지 표현 | |
활동(Activity) | 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현 | |
타이밍(Timing) | 객체 상태 변화와 시간 제약을 명시적으로 표현 |
@ 클래스 다이어그램 구성요소
- 클래스 : 공통의 속성, 연산(메서드), 관계, 의미를 공유하는 객체들의 집합
- 속성 : 인스턴스가 보유할 수 있는 값의 범위 기술
- 연산 : 이름, 타임, 매개변수와 연관된 행위를 호출하는 클래스의 행위적 특징
- 접근 제어자 : 클래스에 접근할 수 있는 정도 private(-), public(+), protected(#), default(~)
@ 클래스 간의 관계
- 연관(Association) : 클래스가 서로 개념적으로 연결된 선
- 의존(Dependency) : 하나의 클래스가 또 다른 클래스를 사용하는 관계
- 일반화(Generalization) : 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현
- 실체화(Realization) :추상 클래스나 인터페이스를 상속받아 자식 클래스가 추상 메서드 구현
- 포함(Composition) : 영구적이고, 집합 관계보다 더 강한 관계로 구성
- 집합(Aggreegation) : 하나의 사물이 다른 사물에 포함되어 있는 관계
@ 유스케이스 다이어그램 구성요소
- 유스케이스 : 액터가 시스템을 통해 수행하는 일련의 행위
- 액터 : 사용자가 시스템에 대해 수행하는 역할
- 시스템 : 전체 시스템의 영역
- 시나리오 : 발생되는 이벤트의 흐름
- 이벤트의 흐름 : 사람, 시스템, 하드웨어, 시간의 흐름에 의해 시작
@ 유스케이스 다이어그램의 관계
- 포함 관계 : 유스케이스를 수행할 때 다른 유스케이스가 반드시 수행되는 관계. <<include>>
- 확장 관계 : 특정 조건이 만족되는 상황에서만 확장 유스케이스의 이벤트 흐름이 발생. <<extend>>
- 일반화 관계 : 추상적인 액터와 좀 더 구체적인 액터 사이를 맺어주는 관계
@ 시퀀스 다이어그램 구성요소
- 객체(Object) : 객체는 위, 아래로 생명선. 객체 사각형 안에 밑줄 친 이름으로 명시
- 생명선(Lifeline) : 객체로부터 뻗어 나가는 점선. 객체 생명주기 동안 발생하는 이벤트 명시
- 실행(Activation) : 직사각현은 함수가 실행되는 시간. 길어질수록 함수 수행 시간이 길어짐
- 메시지(Message) : 객체 간의 상호 작용은 메시지 교환으로 이뤄짐
@ 활동 다이어그램 구성요소
- 시작점 : 활동의 시작을 의미
- 전이 : 실행의 흐름. 화살표로 표현
- 액션/액티비티 : 어떠한 일들의 처리와 실행
- 종료점 : 처리의 종료
- 조건(판단) 노드 : 조건에 따른 제어 흐름의 분리
- 병합 노드 : 여러 경로의 흐름이 하나로 합쳐진 것
- 포크 노드 : 평행적으로 수행되는 흐름을 나누는 노드
- 조인 노드 : 포크 노드로 나눠진 흐름을 다시 하나로 합치는 노드
- 구획면 : 액티비티 수행을 담당하는 주체를 구분하는 면
@ 커뮤니케이션 다이어그램 구성요소
- 액터 : 시스템으로부터 서비스를 요청하는 외부 요소(사람, 외부 시스템)
- 객체 : 메시지를 주고 받은 주체. 콜론 기준 앞쪽에는 객체명, 뒤쪽에는 클래스 명
- 링크 : 객체들 간의 관계. 실제 객체와의 관계를 직접적으로 보여주는 객체들 사이의 링크
- 메시지 : 객체가 상호 작용을 위해 주고 받는 메시지
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 복습 D-2 (0) | 2022.05.05 |
---|---|
[정보처리기사] 복습 D-3 (0) | 2022.05.04 |
[정보처리기사] 복습 D-4 (0) | 2022.05.03 |
[정보처리기사] 디자인 패턴 (0) | 2022.05.01 |
[정보처리기사] 애플리케이션 테스트 (0) | 2022.04.30 |