본문 바로가기
IT License/정처기-1과목

2021 #정보처리기사 필기요약 #1-1. UML

by 시뮝 2021. 2. 19.
728x90
2021년 NCS기반 정처기 필기입니다. 이기적2020과 수제비2021 수험서를 함께 보고 공부한 기록입니다.

제 1과목 소프트웨어 설계 > 요구사항 확인 > UML


UML(Unified Modeling Language)의 개념

  • UML은 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어이다.
  • UML은 비즈니스 프로세스 개발 분야에 특화되어 사용 · 발전되었다.
  • UML은 방법론을 통합한 것으로, 표준화된 모델링 기법을 제공한다.

 

UML 도입 효과

  1. 개발 기획과 산출물에 대한 확인
  2. 프로그램 개발이라는 행위에 대해 전문가와 비전문가가 서로 대화할 수 있는 도구

 

UML의 특징 (가구명문)

특징 설명
시화 언어 개념 모델 작성 시 오류가 적고 의사소통이 용이
축 언어 다양한 프로그래밍 언어로 실행 시스템의 예측 가능
UML을 소스 코드로 변환하여 구축 가능, 역 변환하여 역공학 가능
세화 언어 정확한 모델 제시, 완전한 모델 작성 가능
서화 언어 시스템에 대한 평가 및 의사소통의 문서

 

UML 구성요소

  • 사물 Things
  • 관계 Relationships
  • 다이어그램 Diagrams

UML 다이어그램 유형

UML 다이어그램은 구분에 따라 구조적(정적) 다이어그램, 행위적(동적) 다이어그램으로 구분된다.

 

구조적 다이어그램 (클객 컴배 복패)

래스 / 체 / 포넌트 / 치 / 합체 구조 / 키지

 

 

클래스 다이어그램(Class Diagram)

객체지향 모델링 시 구성요소간 정적인 관계를 표현한 다이어그램이다.

 

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

  • 클래스 이름(Class Name)
  • 속성(Attribute)
  • 연산(Operation)
  • 접근 제어자(접근 제한자)

 

클래스 다이어그램 접근 제어자

- 클래스 내부 접근만 허용(private)
+ 클래스 외부 접근을 허용(public)
# 동일 패키지, 파생 클래스에서 접근 가능(protected)
~ 동일 패키지 클래스에서 접근 가능(default)

 

 

행위적 다이어그램 (유시커 상활타)

스케이스 / 퀀스 / 뮤니케이션 / 태 / 동 / 이밍

 

 

유스케이스 다이어그램(Usecase Diagram, 사용 사례 다이어그램)

사용자의 관점에서 표현하는 다이어그램이다. 기능 모델링 작업에 사용된다.

 

유스케이스 다이어그램의 구성요소

  • 유스케이스(Usecase)
  • 액터(Actor)
  • 시스템(System)

 

 

시퀀스 다이어그램(Sequence Diagram)

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

 

시퀀스 다이어그램의 구성요소 (어람? OLAM) [2020년 3회]

  • 객체(Object) : 사각형 안에 밑줄 친 이름으로 명시
  • 생명선(Lifeline) : 객체로부터 뻗어나가는 점선
  • 실행(Activation) : 점선 위 직사각형, 직사각형은 실행 시간을 의미
  • 메시지(Message) : 화살표

 


UML의 관계(Relationships)

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

 

UML의 관계

구분 설명 예시
연관 관계
(Association)
2개 이상의 사물이 서로 관련된 상태를 화살표 실선으로 표현

양방향 관계의 경우 화살표를 생략하고 실선 표현
집합 관계
(Aggregation)
포함되는 쪽(부분)에서 포함하는 쪽(Whole)으로 속이 빈 마름모를 연결하여 표현
포함 관계
(Composition)
포함 관계는 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에 영향을 미치는 관계를 표현

포함되는 쪽(부분)에서 포함하는 쪽(전체)으로 속이 채워진 마름모를 연결하여 표현
일반화 관계
(Generalization)
일반화 관계는 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현

일반적인 개념을 부모(상위)라고 하고, 구체적인 개념을 자식(하위)이라 함

구체적(하위)인 사물에서 일반적(상위)인 사물 쪽으로 속이 빈 화살푤르 연결하여 표현
의존 관계
(Dependency)
의존 관계는 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현

영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표를 연결하여 표현
실체화 관계
(Realization)
실체화 관계는 사물이 할 수 있거나, 해야하는 기능(행위, 인터페이스)으로 서로를 그룹화할 수 있는 관계를 표현

사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현

 

UML 확장 모델의 스테레오 타입(Stereotype)

  • UML의 기본적 요소 이외에 새로운 요소를 만들어 내기 위한 확장 메커니즘이다.
  • 형태는 기존의 UML의 요소를 그대로 사용하지만 내부 의미는 다른 목적으로 사용하도록 확장한다.
  • UML의 스테레오 타입은 '<<>>'(길러멧; Guillemet) 기호를 사용하여 표현한다.
타입 설명 예시
<<include>> 하나의 유스케이스가 어떤 시점에 반드시 다른 유스케이스를 실행하는 포함 관계
<<extend>> 하나의 유스케이스가 어떤 시점에 다른 유스케이스를 실행할 수도 있고, 그렇지 않을 수도 있는 확장 단계
<<interface>> 모든 메소드가 추상 메소드이며, 바로 인스턴스를 만들 수 없는 클래스로 추상 메소드와 상수만으로 구성된 클래스
<<entity>> 일반적으로 정보 또는 오래 지속되는 연관된 행위를 형상화하는 클래스로 유스케이스 처리 흐름이 수행되는 과정에서 기억 장치에 저장되어야 할 정보를 표현하는 클래스

 

<<boundary>> 시스템과 외부 액터와의 상호작용을 담당하는 클래스
<<control>> 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스

 


 

*직접 만든 약어: 어람?OLAM

728x90

댓글