본문 바로가기
  • Always Awake
정보처리기사/1과목

[정보처리기사 필기] UML(Unified Modeling Language)

by NerdyBoy 2022. 2. 6.
반응형

UML 개요

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

  • Rumbaugh(OMT), Booch, Jacobson 등의 객체지향 방법론을 통합. 국제표준화기구 OMG(Object Management Group)에서 표준으로 지정
  • 시스템의 구조를 표현하는 6개의 구조 다이어그램 시스템의 동작을 표현하는 7개의 행위 다이어그램 작성 가능
  • 사물, 관계, 다이어그램 등의 구성

1. 사물(Things)

모델을 구성하는 가장 기본적인 요소. 다이어그램 안에서 관계가 형성될 수 있는 대상을 말함

사물 내용
구조 사물(Structural Things) 시스템의 개념적, 물리적 요소를 표현
클래스(Class), 유즈 케이스(Use Case), 컴포넌트(Component), 노드(Node) 등
행동 사물(Behavioral Things) 시간과 공간에 따른 요소들의 행위를 표현
상호작용, 상태 머신(State Machine) 등
그룹 사물(Grouping Things) 요소들을 그룹으로 묶어서 표현
패키지(Package)
주해 사물(Annotation things) 부가적인 설명이나 제약조건 등을 표현
노트(Note)

 

2. 관계(Relationships)

사람과 사물사이의 연관성 표현

연관(Association) 관계

2개이상의 사물이 서로 관련되어 있음을 뜻함

다중도 의미
1 1개의 객체와 연관
n n개의 객체와 연관
0..1 없거나 1개
0..* or * 없가나 다수
1..* 적어도 1개
n..* 적어도 n개
n..m n개에서 m개

집합(Aggregation) 관계

하나의 사물이 다른 사물에 포함되어 있는 관계를 표현

  • 포함하는쪽(전체, Whole)과 포함되는 쪽(부분, Part)은 서로 독립적
  • 포함되는쪽에서 포함하는 쪽으로 속이 빈 마름모 꼴로 표현한다.

포함(Composition) 관계

포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계 표현

  • 포함하는쪽(전체, Whole)과 포함되는 쪽(부분, Part)은 서로 독립적일 수 없고 생명주기를 함께한다.
  • 포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모 꼴로 표현한다

일반화(Generalization) 관계

하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현

  • 예시로 사람은 남자와 여자보다 더 일반적인 표현, 반대의 경우는 구체적인 표현
  • 구체적(하위)인 사물에서 일반적(상위)인 사물 쪽으로 속이 빈 화살표

의존(Dependency) 관계

연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간동안만 연관을 유지하는 관계

  • 소유관계는 아니지만 사물의 변화가 다른 사물에도 영향을 미친다.
  • 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타난다.
  • 영향을 받는(제공자) 쪽으로 점선 화살표 연결

실체화(Realization) 관계

사물이 할 수 있거나 해야 하는  기능(오퍼레이션, 인터페이스)로 서로를 그룹화 할 수 있는 관계를 표현

  • 한 사물이 다른 사물에게 오퍼레이션을 수행하도록 지정하는 의미적 관계
  • 사물에서 기능 쪽으로 속이 빈 점선 화살표

 

3. 다이어 그램(Diagram)

사물과 관계를 도형으로 표현한 것

여러 관점에서 시스템을 가시화한 뷰 제공

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

 

구조적 다이어그램의 종류

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

 

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

유스케이스 다이어그램 사용자의 요구 분석. 기능 모델링 작업에 사용
사용자(Actor) 와 사용사례(Use Case)로 구성. 사례간 여러 형태의 관계  이룸
시퀀스 다이어그램 상호 작용하는 시스템이나 객체들이 주고 받는 메시지
커뮤니케이션 다이어그램 시퀀스 다이어그램같이 동작에 참여하는 객체들이 주고받는 메시지 표현. 메시지뿐만 아니라 객체들간 연관까지 표현
상태 다이어그램 하나의 객체가 자신이 속한 클래스의 상태변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현
럼바우(Rumbaugh) 객체지향 분석기법에서 독적 모델링에 활요
활동 다이어그램 시스템이 어떤 기능 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에따라 표현
상호작용 개요 다이어그램 상호작용 다이어 그램 간 제어흐름 표현
타이밍 다이어그램 객체 상태 변화와 시간 제약 명시적으로 표현

*구조적 다이어그램은 정적, 행위 다이어그램은 동적 다이어그램인 것을 숙지

 

주요 UML 다이어그램

1. 유스케이스(Use Case) 다이어 그램

개발될 시스템과 관련된 외부 요소들, 즉 사용자와 다른 외부 시스템들이 개발될 시스템을 이용해 수행할 수 있는 기능을 사용자의 관점에서 표현한 것

  • 외부요소와 시스템간 상호작용 확인가능
  • 사용자의 요구사항을 분석하기 위한 도구로 사용
  • 시스템의 범위파악

구성 요소

시스템/ 시스템 범위 시스템 내부에서 수행되는 기능들을 외부와 구분하기 위해 사각형으로 묶어 시스템 범위 표현
액터(Actor) 시스템과 상호작용하는 모든 외부요소
주액터: 시스템을 사용하는 사람
부액터: 주액터의 목적달성을 위해 서비스 제공하는 외부 시스템
유스케이스(Use Case) 사용자가 보는 관점에서 시스템이 액터에게 제공하는 서비스 또는 기능
관계(Relationship) 포함 관계, 확장 관계, 일반화 관계의 3가지 종류

 

2. 클래스(Class) 다이어그램

시스템을 구성하는 클래스, 클래스의 특성인 속성과 오퍼레이션, 제약조건, 관계 표현

  • 구조적 다이어그램
  • 구성요소를 문서화 하는데 사용
  • 객체의 속성, 함수 등의  정보를 잘표현하고 있어서 모델링등에 주로 활용

구성 요소

클래스 일반적으로 3개의 구획(Compartment)로 나눠 이름, 속성, 오퍼레이션 표기
속성(Attribute): 클래스의 상태나 정보
오퍼레이션(Operation): 수행할 수 있는 동작. 함수라고도함
제약조건 속성에 입력될 값에 대한 지정해야 할 조건있다면 적음
관계 클래스와 클래스사이 연관성
연관, 집합, 포함, 일반화, 의존 

접근 제어자

접근제어자 표현법
public +
private -
protected #
package ~

 


 

3.시퀀스 다이어그램

시스템이나객체들이 메시지를 주고받으며 시간의 흐름에 다라 상호작용 하는 과정

  • 각 동작에 참여하는 시스템이나 객체들의 수행 기간 확인 가능
  • 클래스 내부의 객체들을 기본 단위로 함
  • 주로 기능 모델링에서 작성한 유스케이스 명세서를 하나의 표현 범위로함 하나의 클래스에 포함된 오퍼레이션을 하나의 범위로 하기도함

구성 요소

액터(Actor) 서비스를 요청하는 외부요소. 사람이나 서비스
객체(Object) 메시지를 주고받는 주체
생명선(Lifeline) 객체가 메모리에 존재하는 기간. 점선을 그어 표현
실행 상자(Active Box) 객체가 구동되고 있음을 표현
메시지(Message) 상호작용을 위해 주고 받는 메시지

 

 


 

출처

자료 참고: 

시나공 정보처리기사 필기 2022

표지

 

반응형

댓글