자격증/정보처리기사

필기) 소프트웨어 설계 - 요구사항 확인 - UML

더덕2 2024. 5. 16. 16:52

1. UML 개념

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

 

2. 특징 : 가시화 언어, 구축 언어, 명세화 언어, 문서화 언어 (가구명문)

 

가시화 언어 : 개념 모델 작성 시 오류가 적고 의사소통이 용이

구축 언어 : 다양한 프로그래밍 언어로 실행 시스템의 예측 가능, UML을 소스코드로 변환하여 구축 가능, 역 변환하여 역공학 가능

명세화 언어 : 정확한 모델 제시, 완전한 모델 작성 가능

문서화 언어 : 시스템에 대한 평가 및 의사소통의 문서

 

3. UML 구성요소 : 사물, 관계, 다이어그램

사물 : 추상적인 개념으로, 주제를 나타내는 요소

관계 : 사물의 의미를 확장하고 명확히 하는 요소, 사물과 사물을 연결하여 관계를 표현하는 요소

다이어그램 : 사물과 관계를 모아 그림으로 표현한 형태

 

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

컴포넌트, 배치 다이어그램은 구현단계에서 사용되는 다이어그램이다.

 

UML 구조적(정적) 다이어그램 종류 : 클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지

 

클래스 : 시스템 내 클래스의 정적 구조를 표현, 속성과 동작으로 구성, 클래스의 속성사이의 관계를표현

객체 : 클래스에 속한 객체인 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현, 연관된 모든 인스턴스 표현

컴포넌트 : 코드 컴포넌트 기반의 물리적 구조 표현, 실질적 프로그래밍 작업에 사용됨.

배치 : 컴포넌트 사이의 종속성을 표현, 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현함.

복합체 구조 : 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현

패키지 : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현

 

 

UML 행위(동적) 다이어그램 종류 : 유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 타이밍

 

유스케이스 : 사용자 관점에서 시스템의 기능적 요구 정의를 할 수 있으며 시스템의 활동을 표현

시퀀스 : 객체 간 상호 작용을 메시지 흐름으로 표현, 객체 사이 메시지를 보내는 시간을 표현, 교류 다이어그램의 한 종류

커뮤니케이션 : 시퀀스 다이어그램과 같이 동작에 참여하는 객체들이 주고 받는 메시지를 표현하는데, 메시지 뿐만 아니라 객체 간의 연관 까지 표현

상태 : 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현, 진입 조건, 탈출 조건, 상태 전이 등 기술

활동 : 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현

타이밍 : 객체 상태 변화와 시간 제약을 명시적으로 표현