본문 바로가기

자격/정보처리기사

[정보처리기사][실기] 개인적인 정리 (UML 다이어그램)

반응형

집중 암기


UML

객체 지향 소프트웨어 개발과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기수과 방법론을 통합하여 만든 표준화된 범용 모델링 언어

UML의 특징

가시화 언어

개념 모델 작성시 오류가 적고 의사소통을 용이하게 한다

구축 언어

다양한 객체 지향 프로그램 언어로 변환 가능(순공학, 역공학)하다

문서화 언어 

시스템에 대한 평가, 통제, 의사소통 문서이다

명세화 언어

단순 표기법이 아닌 구현에 필요한 개발적 요소 및 기능에 대한 명세를 제공

 

UML 구성요소

View

모델화된 시스템의 서로 다른 모형 제공

Diagram

View의 내용을 나타내기 위한 9가지 다이어그램 제공

모델 요소 (Model Element)

객체지향 개념을 표현하기 위해 사용되는 요소

클래스, 속성, 오퍼레이션으로 구성

General Mechanism

모델 요소에 대하여 주석 정보와 의미 제공

 

의존관계

- - - - >

연관관계

----->

일반화 관계

------▷

실체화 관계

- - - - -▷

집합 관계

--------◇

합성 관계

--------◆

 


UML 다이어그램 (Unified Modeling Language Diagram)

  : 객체 모델링 기술과 방법론을 표준화한 통합 모델링 언어이자 표기법

 

구조 다이어그램(Structure Diagram)

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

시스템 내 클래스들의 정적 구조를 표현

클래스는 객체들의 집합으로 속성(Attribute)과 동작(Behavior)으로 구성

 

객체 다이어그램(Object Diagram)

클래스의 여러 Object 인스턴스(Instance)를 나타내는 대신 실제 클래스를 사용함

관계있는 모든 인스턴스를 표현

 

복합체 구조 다이어그램(Complex Structure Diagram)

전체 클래스 안에 각 컴포넌스 클래스 표현함

클래스 내부 구조 파악 용이

 

배치 다이어그램(Deployment Diagram)

시스템 하드웨어와 소프트웨어 간의 물리적 구조를 표현하며, 실질적인 컴퓨터와 Device 간의 관계를 표현하는데 이용

컴포넌트(Component) 사이의 종속성을 표현

 

컴포넌트 다이어그램(Component Diagram) (UML 2.0에서 추가)

코드 컴포넌트(Code component)에 바탕을 둔 코드의 물리적 구조를 표현

컴포넌트(Component)는 논리적 클래스 혹은 클래스 자신의 구현에 대한 정보를 포함하고 실질적인 프로그래밍 작업에 사용함

 

패키지 다이어그램(Package Diagram) (UML 2.0에서 추가)

시스템 계층적인 구조를 표현

클래스들로 이루어진 패키지와 그들 간의 의존 관계를 보여줌

 

행위 다이어그램(Behavior Diagram)

활동 다이어그램(Activity Diagram)

행위(Activity)의 순서적 흐름을 표현

순서도나 병렬적인 처리를 요하는 행위를 표현할 때 사용함

 

상태 머신 다이어그램(State Machine Diagram)

클래스의 객체가 가질 수 있는 모든 가능한 상태와 상태간의 전이를 표현

진입 조건, 탈출 조건, 상태전이에 필요한 사건 등 자세한 사항이 기술

설계 단계에서 클래스 객체의 동적인 행동 방식을 표현하는데 사용

 

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

사용자의 입장에서 본 시스템의 행동을 표현

Use Case들은 시스템의 기증적인 요구를 정의

 

상호작용 다이어그램(Interaction Diagram)

커뮤니케이션 다이어그램(Communication Diagram)

상호작용에 참여하는 객체/컴포넌트 간의 관계를 명시적으로 표현

 

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

객체와 객체간의 상호 작용을 메시지 흐름으로 표현

오브젝트(Object)사이에 메시지를 보내는 시간 또는 순서를 보여주기 위해 사용함

 

Interaction Overview (UML 2.0에서 추가)

Activity Diagram과 Sequence Diagram의 혼합

상호작용에 대한 제어흐름을 표현

 

Timing (UML 2.0에서 추가)

시간적 제약과 객체상태 변화를 표현

인스턴스 간의 상태전이와 상호작용을 시간(Time) 제약으로 표현

 

 

반응형