[1과목-1장-009] UML(Unified Modeling Language)
* 개념
: 시스템 개발 과정에서 시스템 개발자와 고객 or 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한
대표적 객체지향 모델링 언어
** 모델링 언어: 우리가 만들고자 하는 것을 시각적으로 표현할 수 있는 표기법, 도구 등
* 특징
1) 객체지향 방법론의 장점을 통합. OMG(Object Management Group)에서 표준으로 지정
2) UML을 이용해 시스템의 구조를 표현하는 6개의 구조 다이어그램 + 시스템의 동작을 표현하는 7개의 행위 다이어그램 작성 가능
3) 각 다이어그램은 사물-사물 간 관계를 용도에 맞게 표현
* 구성 요소
1. 사물 (Things)
: 모델을 구성하는 가장 중요한 기본 요소
: 다이어그램 안에서 관계가 형성될 수 있는 대상들
1) 구조 사물(Structural Things)
: 시스템의 개념적, 물리적 요소를 표현
- 클래스, 유스케이스, 컴포넌트, 노드 등
** 컴포넌트: 모듈화된 자원. 재사용 가능
2) 행동 사물(Behavioral Things)
: 시공간에 따른 요소들의 행위를 표현
- 상호작용, 상태 머신 등
3) 그룹 사물(Grouping Things)
: 요소들을 그룹으로 묶어서 표현
- 패키지
4) 주해 사물(Annotation Things)
: 부가적인 설명이나 제약조건 등 표현
- 노트
~사물 종류들만 기억~
2. 관계 (Relationships)
: 사물-사물 사이의 연관성을 표현하는 것
~개별적 개념, 표현 방법 알아두기~
1) 연관(Association) 관계
: 2개 이상의 사물이 서로 관련되어 있음을 표현
- 사물 사이를 실선으로 연결하여 표현 / 방향성은 화살표로 표현
- 양방향 관계인 경우) 화살표 생략, 실선으로만
- 다중도(Multiplicity, 연관에 참여하는 객체의 개수)를 선 위에 표기
2) 집합(Aggregation) 관계
: 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현
- 포함하는 쪽(전체, whole)과 포함되는 쪽(부분, part)은 서로 독립적
- 포함되는 쪽에서 포함하는 쪽으로 속이 빈 마름모를 연결
3) 포함(Composition) 관계
: 집합 관계의 특수한 형태
: 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
- 포함하는 쪽과 포함되는 쪽은 서로 독립될 수 X, 생명주기를 함께함
- 포함되는 쪽에서 포함하는 쪽으로 속 채워진 마름모를 연결
4) 일반화(Generalization) 관계
: 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현
- 상위(부모): 보다 일반적인 개념
- 하위(자식): 보다 구체적인 개념
- 구체적인 사물에서 일반적인 사물 쪽으로 속이 빈 화살표를 연결
5) 의존(Dependency) 관계
: 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현
- 하나의 사물과 다른 사물이 소유 관계는 X, 사물의 변화가 다른 사물에도 영향을 미치는 관계
- 영향을 주는 사물(이용자)이 영향을 받는 사물(제공자) 쪽으로 점선 화살표를 연결
6) 실체화(Realization) 관계
: 사물이 '할 수 있거나 해야 하는 기능(행위, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현
- 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결
3. 다이어그램 (Diagram)
: 사물과 관계를 도형으로 표현한 것
- 시스템을 가시화한 뷰(View)를 제공 > 의사소통에 도움
- 정적 모델링) 구조적 다이어그램
- 동적 모델링) 행위 다이어그램
1) 구조적(Structural) 다이어그램
(1) 클래스 다이어그램
- 시스템의 구조 파악, 구조상의 문제점 도출 가능
(2) 객체 다이어그램
- 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현
(3) 컴포넌트 다이어그램
- 실제 구현 모듈인 컴포넌트 간 관계 or 컴포넌트 간의 인터페이스를 표현
- 구현 단계에서 사용됨
(4) 배치 다이어그램 (Deployment Diagram)
- 물리적 요소들의 위치를 표현
- 노드와 의사소통(통신) 경로로 표현
- 구현 단계에서 사용됨
(5) 복합체 구조 다이어그램 (Composite Structure Diagram)
- 클래스나 컴포넌트가 복합 구조를 갖는 경우, 그 내부 구조를 표현
(6) 패키지 다이어그램
- 유스케이스, 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현
2) 행위(Behavioral) 다이어그램
(1) 유스케이스 다이어그램
- 사용자 요구 분석하는 것, 기능 모델링 작업에 사용
- 사용자와 사용 사례로 구성, 사용 사례 간에는 여러 형태의 관계로 이루어짐
(2) 시퀀스 다이어그램
- 상호작용하는 시스템이나 객체들이 주고받는 메시지를 표현
(3) 커뮤니케이션 다이어그램
- 메시지뿐만 아니라 객체들 간의 연관까지 표현
(4) 상태 다이어그램
- 하나의 객체가 자신이 속한 클래스의 상태 변화 or 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현
(5) 활동 다이어그램
- 시스템이 어떤 기능 수행하는지 객체 처리 로직 or 조건에 따른 처리의 흐름을 순서에 따라 표현
(6) 상호작용 개요 다이어그램
- 상호작용 다이어그램 간의 제어 흐름을 표현
(7) 타이밍 다이어그램
- 객체 상태 변화와 시간 제약을 명시적으로 표현
'정보처리기사 > 필기' 카테고리의 다른 글
[1과목-2장-011] UI 표준 및 지침 (0) | 2020.03.22 |
---|---|
[1과목-2장-010] 사용자 인터페이스 (0) | 2020.03.21 |
[1과목-1장-008] 요구사항 확인 기법 (0) | 2020.03.21 |
[1과목-1장-007] 요구사항 분석 기법 (0) | 2020.03.21 |
[1과목-1장-006] 요구사항 정의 (0) | 2020.03.20 |
댓글