정보처리기사 01. UML 다이어그램
본문 바로가기

정보처리기사

정보처리기사 01. UML 다이어그램

728x90
반응형

 

 

01 UML (Unified Modeling Language)

 

 

- UML은 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호 간의 의사소통이 원활하게 이루어지도록 표준화한 대표적 객체지향 모델링 언어

 

- 6개의 구조 다이어그램, 7개의 행위 다이어그램 작성 가능

 

 

UML의 구성 요소

1. 사물 2. 관계 3. 다이어그램

 

1. 사물: 다이어그램 안에서 관계가 형성될 수 있는 대상들

2. 관계: 사물과 사물 사이의 연관성을 표현하는 것이다.

3. 다이어그램: 사물과 관계를 도형으로 표현

 

 

https://liveyourit.tistory.com/199

 

 

다이어그램
정적 모델링에서는 주로 구조적 다이어그램을, 동적 모델링에서는 주로 행위 다이어그램을 사용한다

http://www.ask.com/wiki/Unified_Modeling_Language#UML_2.x

 

 

구조적(Structural) 다이어그램의 종류 

 

클래스 다이어그램 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현 (대표적)
객체 다이어그램 - 클래스가 속한 사물들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현함
- 럼바우(Rumbaugh) 객체지향 분석 기법에서 객체 모델링에 활용됨
컴포넌트 다이어그램 - 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현함
- 구현 단계에서 사용됨
배치 다이어그램 - 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현함
- 구현 단계에서 사용됨
복합체 구조 다이어그램 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현함
패키지 다이어그램 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현함 

 

√ 정적 모델링

 

- 정적 모델링은 사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적인 구조를 표현한 것이다.

- 시스템에 의해 처리되거나 생성될 객체들 사이에 어떤 관련이 있는지를 구조적인 관점(View)에서 표현한다.

- 정적 모델링은 객체(Object)들을 클래스(Class)로 추상화하여 표현한다.

- UML을 이용한 정적 모델링의 대표적인 것이 클래스 다이어그램이다.

 


01 클래스 다이어그램

 

클래스 다이어그램은 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것이다.

 

구성 요소 표현 방법 내용
클래스(Class)
- 각각의 객체들이 갖는 속성와 오퍼레이션)동작)을 표현한 것
- 일반적으로 3개의 구획(Compartment)으로 나눠 클래스의 이름, 속성, 오퍼레이션을 표기함
- 속성(Attribute): 클래스의 상태나 정보를 표현함
- 오퍼레이션(Operation): 클래스가 수행할 수 있는 동작으로, 함수(메소드, Method)라고도 함
제약조건
- 속성에 입력될 값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정해야 할 조건이 있다면 이를 적음
- 클래스 안에 제약조건을 기술할 때는 중괄호 { }를 이용함
관계(Relationships)   - 관계는 클래스와 클래스 사이의 연관성을 포현함
- 클래스 다이어그램에 표현하는 관계에는 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계가 있음

 

 


02 패키지 다이어그램

 

패키지 다이어그램은 유스케이스나 클래스 등의 요소들을 그룹화한 패키지 간의 의존 관계를 표현한 것이다.

대규모 시스템에서 주요 요소 간의 종속성을 파악하는 데 사용한다.

 

 

구성 요소 표현 방법 의미
패키지(Package)
- 객체들을 그룹화한 것
- 단순 표기법: 패키지 안에 패키지 이름만 표현
- 확장 표기법: 패키지 안에 요소까지 표현
객체(Object)
유스케이스, 클래스, 인터페이스, 테이블 등 패키지에 포함될 수 있는 다양한 요소들
의존 관계(Dependency)
- 패키지와 패키지, 패키지와 객체 간을 점선 화살표로 연결하여 표현함
- 스테레오 타입을 이용해 의존 관계를 구체적으로 표현할 수 있음
- 의존 관계의 표현 형태는 사용자가 임의로 작성할 수 있으며, 대표적으로 import와 access가 사용됨
- ≪import≫ : 패키지에 포함된 객체들을 직접 가져와서 이용하는 관계
- ≪include≫ : 인터페이스를 통해 패키지 내의 객체에 접근하여 이용하는 관계

 


 

행위적(Behavioral) 다이어그램의 종류

 

유스케이스 다이어그램 - 사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용ㅇ함
- 사용자와 사용 사례로 구성됨
시퀀스 다이어그램 상호 작용하는 시스템이나 객체들이 주고받는 메시지를 표현함
커뮤니케이션 다이어그램 동작에 참여하는 객체들이 주고받는 메시지와 객체들 간의 연관 관계를 표현함
상태 다이어그램 - 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현함
활동 다이어그램 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현함
상호작용 개요 다이어그램  상호작용 다이어그램 간의 제어 흐름을 표현함
타이밍 다이어그램 객체 상태 변화와 시간 제약을 명시적으로 표현함

 


01 유스케이스 다이어그램

 

유스케이스 다이어그램은 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것이다.

 

구성 요소 표현 방법 내용
시스팀(System) / 시스템 범위
시스템 내부의 유스케이스들을 사각형으로 묶어 시스템의 범위를 표현한 것
액터
- 시스템과 상호작용을 하는 모든 외부 요소
- 주로 사람이나 외부 시스템을 의미함
- 주액터: 시스템을 사용함으로써 이득을 얻는 대상으로 주로 사람이 해당됨.
- 부액터: 주액터의 목적 달성을 위해 시스템에 서비스를 제공하는 외부 시스템으로, 조직이나 기관 등이 될 수 있음
유스케이스
사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스나 기능을 표현한 것
관계
- 유스케이스 다이어그램에서 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있음
- 유스케이스에서 나타날 수 있는 관계 : 포함(include) 관계, 확장(extends) 관계, 일반화(Generalization) 관계

 


02 활동 다이어그램

 

활동 다이어그램은 사용자의 관점에서 시스템이 수행하는 기능을 처리 흐름에 따라 순서대로 표현한 것이다.

하나의 유스케이스 안에서 혹은 유스케이스 사이에 발생하는 복잡한 처리의 흐름을 명확하게 표현할 수 있다.

 

구성 요소 표현 방법 내용
액션(Action)/액티비티(Activity)
- 액션: 더 이상 분해할 수 없는 단일 작업
- 액티비티: 몇 개의 액션으로 분리될 수 있는 작업
시작 노드
액션이나 액티비티가 시작됨을 표현한다.
종료 노드
액티비티 안의 모든 흐름이 종료됨을 표현한다.
조건 노드
- 제어의 흐름이 분리됨을 표현
- 제어 흐름이 하나 들어오고 여러개로 나감
병합 노드
- 여러 경로의 흐름이 하나로 합쳐짐
- 제어 흐름은 여러개 들어오고 한개로 나간다.
포크 노드
- 액티비티 흐름이 분리되어 수행됨
- 액티비티 흐름은 여러개 들어오고 나가는 흐름은 여러개
조인 노드
- 분리되어 수행되던 액티비티의 흐름이 다시 합쳐짐
- 액티비티 흐름은 여러개 들어오고 한개로 나감
스윔레인
- 액티비티 수행을 담당하는 주체를 구분하는 선
- 가로 또는 세로 실선을 그어 구분함

 


03 시퀀스 다이어그램

 

시퀀스 다이어그램은 어떠한 순서로 어떤 객체들과 어떻게 상호 작용하는지 과정을 표현하는 다이어그램이다.

현재 존재하는 시스템이 어떠한 시나리오로 움직이고 있는지를 나타내는데 장점을 가진다.

 

구성 요소 표현 방법 내용
액터
시스템으로부터 서비스를 요청하는 외부 요소로 사람이나 외부 시스템을 의미한다.
객체
메세지를 주고받는 주체
생명선
- 객첵가 메모리에 존재하는 기간으로 객체 아래쪽에 점선을 그어 표현한다.
- 객체 소멸이 표시된 기간까지 존재한다.
실행 상자
객체가 메세지를 주고받으며 구동되고 있음을 표현한다.
메세지

객체가 상호 작용을 위해 주고받는 메세지
객체 소멸
해당 객체가 더 이상 메모리에 존재하지 않음을 표현한다.
프레임
다이어그램을 전체 또는 일부로 묶어 표현한다.

 

 


04 상태 다이어그램

 

객체들 사이에 발생하는 이벤트에 의한 객체들의 상태 변화를 표현.

특정 객체가 어떤 이벤트에 의해 상태 변환 과정이 진행되는지 확인한다.

 

구성 요소 표현 방법 내용
상태
객체의 상태를 표현
시작 상태
상태의 시작을 표현
종료 상태
상태의 종료를 표현
상태 전환
상태 사이의 흐름, 변화를 화살표로 표현
이벤트(Event)
- 상태에 변화를 주는 현상
- 이벤트에는 조건, 외부 신호 등 있다.
프레임(Frame)
상태 다이어그램 범위를 표현

 

 


 

스테레오 타입(Stereotype)

 

- 스테레오 타입은 UML표현하는 기본 기능 외에 추가적인 기능을 표현하는 것이다.

- 길러멧(Guilemet)이라고 부르는 겹화살괄호(≪≫) 사이에 표현할 형태를 기술한다.

 

≪include≫ 연결된 다른 UML 요소에 대해 포함 관계에 있는 경우
≪extend≫ 연결된 다른 UML 요소에 대해 확장 관계에 있는 경우
≪interface≫ 인터페이스를 정의하는 경우
≪exception≫ 예외를 정의하는 경우
≪constructor≫ 생성자 역할을 수행하는 경우

 

 


 

반응형