자격증/정보처리기사

[정보처리기사] 화면 설계 - UI 설계(1)

h00ddu 2024. 1. 31. 08:56

 

1️⃣ UML

 


(1) UML(Unified Modeling Language)의 개념

 

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

(2) UML의 특징


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

 


(3) UML의 구성 요소

 

구성요소 내용
사물(Things) • 추상적인 개념으로, 주제를 나타내는 요소
• 
단어 관점에서 '명사' 또는 '동사'를 의미
관계
(Relationships)
 사물의 의미를 확장하고 명확히 하는 요소
 사물과 사물을 연결하여 관계를 표현하는 요소
• 
단어 관점에서 '형용사' 또는 '부사'를 의미
다이어그램
(Diagrams)
사물과 관계를 모아 그림으로 표현한 형태
형식과 목적에 따라 9가지로 정의

                                            `


(4) UML 다이어그램

 

1. 구조적  다이어그램(Structural Diagram) / 정적 다이어그램(Static Diagram)

 

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

※ 인스턴스(Instance) : 객체 지향 프로그래밍(OOP, Object Oriented Programming)에서 해당 클래스의 구조로 컴퓨터 저장공간에서 할당된 실체


2. 행위적 다이어그램(Behavioral Diagram) / 동적 다이어그램(Dynamic Diagram)

 

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

 


(5) UML 스테레오 타입(Stereotype)

 

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

< UML 스테레오 타입의 유형 >

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