[정보처리기사] UI 설계 - UML ( Unified Modeling Language )

junjun·2023년 9월 25일
0

정보처리기사

목록 보기
10/21

UI 설계를 위한 UML

UML(Unified Modeling Language)의 개념

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

UML의 특징

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

UML의 구성요소

  • 사물, 관계, 다이어그램으로 구성

사물(Things)

  • 추상적인 개념으로, 주제를 나타내는 요소
  • 단어 관점에서 '명사' 또는 '동사'를 의미

관계(Relationships)

  • 사물의 의미를 확장하고 명확히 하는 요소
  • 사물과 사물을 연결하여 관계를 표현하는 요소
  • 단어 관점에서 '형용사' 또는 '부사'를 의미

다이어그램(Diagram)

  • 사물과 관계를 모아 그림으로 표현한 형태
  • 형식과 목적에 따라 9가지로 정의

UML 다이어그램

  • 구조적(정적) 다이어그램, 행위적(동적) 다이어그램으로 구분됨.
  • 컴포넌트, 배치 다이어그램은 구현 단계에서 사용되는 다이어그램

[ UML 다이어그램 ]

구조적 다이어그램 ( Structural Diagram )

  • 클래스(Class)
    : 객체지향 모델링 시, 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램
  • 객체(Object)
    : 클래스에 속한 사물(객체)들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현한 다이어그램
    : 연관된 모든 인스턴스를 표현
  • 컴포넌트(Component)
    : 컴포넌트 다이어그램은 시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 나타내는 다이어그램
  • 배치(Deployment)
    : 배치 다이어그램은 컴포넌트 사이의 종속성을 표현, 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현하는 다이어그램
  • 복합체 구조(Composite Structure)
    : 복합체 구조 다이어그램은 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현하는 다이어그램
  • 패키지(Package)
    : 패키지 다이어그램은 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현한 다이어그램

행위적 다이어그램(Behavioral Diagram), 동적 다이어그램(Dynamic Diagram)

  • 유스케이스( Usecase )
    : 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현한 다이어그램
  • 시퀀스( Sequence )
    : 객체 간 동적 상호작용을 시간적 개념을 중심으로 메시지 흐름으로 표현한 다이어그램
  • 커뮤니케이션( Communication )
    : 커뮤니케이션 다이어그램은 동작에 참여하는 객체들이 주고 받는 메시지를 표현하고, 메시지 뿐만 아니라, 객체 간 연관까지 표현하는 다이어그램
  • 상태( State )
    : 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현하는 다이어그램
  • 활동( Activity )
    : 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현하는 다이어그램
  • 타이밍( Timing )
    : 객체 상태 변화와 시간 제약을 명시적으로 표현하는 다이어그램t
  • 컴포넌트 다이어그램과 배치 다이어그램은 구현 단계에서 사용되는 다이어그램이다.

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

  • UML의 기본적 요소 이외의 새로운 요소를 만들어내기 위한 확장 매커니즘.
  • 형태는 기존 UML의 요소를 그대로 사용하지만, 내부 의미는 다른 목적으로 사용하도록 확장한다.
  • UML의 스테레오 타입은 '<<>>'(길러멧, Guillemet) 기호를 사용하여 표현한다.

UML 스테레오 타입의 유형

  1. << include >>
  • 하나의 유스케이스가 어떤 시점에 반드시 다른 유스케이스를 실행하는 포함관계
  1. << extend >>
  • 하나의 유스케이스가 어떤 시점에 다른 유스케이스를 실행할 수도 있고, 그렇지 않을 수도 있는 확장 관계
  1. << interface >>
  • 모든 메서드가 추상 메서드이며, 바로 인스턴스를 만들 수 없는 클래스로 추상 메서드와 상수만으로 구성된 클래스
  1. << entity >>
  • 일반적으로 정보 또는 오래 지속되는 연관된 행위를 형상화하는 클래스, 유스케이스 처리 흐름이 수행되는 과정에서 기억 장치에 저장되어야 할 정보를 표현하는 클래스
  1. << boundary >>
  • 시스템과 외부 엑터와의 상호작용을 담당하는 클래스
  1. << control >>
  • 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스

0개의 댓글