정보처리기사/필기

UML(Unified Modeling Language) 다이어그램

노랑꼬리 2023. 2. 24. 08:35

1. 개념

요구분석, 시스템 설계, 시스템 구현 등의 시스템 개발 과정에서,

개발자간의 의사소통을 원활하게 이루어지게 하기 위하여 표준화한 모델링 언어

 

소프트웨어 개발 시 산출물들을 비주얼하게 제공하여 개발자와 고객 또는

개발자 상호 간의 의사소통을 원활하게 할 수 있다.

 

 

2. 다이어그램의 구성

1) 액터 : 시스템 외부에서 시스템과 상호작용을 하는 사람이나 다른 시스템 (사용자)

2) 시스템 : 개발하고자 하는 어플리케이션

3) 유스케이스 : 시스템이 액터에게 제공해야 하는 기능

4) 관계 : 액터와 유스케이스들 사이의 의미있는 관계

 

 

3. 다이어그램의 종류

 

1) 구조 다이어그램 (정적 모델링)

- 시스템의 정적 구조와 다양한 추상화 및 구현 수준에서 시스템의 구성 요소, 구성 요소들 간의 관계를 보여줌

- 종류 : 클래스, 객체, 복합체, 배치, 컴포넌트, 패키지 다이어그램

 

2) 행위 다이어그램 (동적 모델링)

- 시스템 내의 객체들의 동적인 행위를 보여주며, 시간의 변화에 따른 시스템의 연속된 변경을 설명

- 종류 : 활동, 상태, 유스케이스, 상호작용 다이어그램

 

 

4. 주요 다이어그램

 

1) 클래스 다이어그램

- 가장 대표적인 UML의 구조 다이어그램으로 시스템을 구성하는 클래스들 간의 관계를 표현

2) 유스케이스 다이어그램

- 사용자 요구사항을 유스케이스를 사용하여 모델링

 

3) 시퀸스 다이어그램

- 각 클래스 간의 관계를 시간의 흐름에 따라서 행위를 표현

 

4) 컴포넌트 다이어그램

- 컴포넌트를 구성하고 각 컴포넌트 간의 관계를 표현

 

5) 액티비티 다이어그램

- 객체의 행위를 표현

 

※ 스테레오 타입

- UML에서 제공하는 기본 요소 외에 추가적인 확장요소를 나타낸다.

길러멧(guillement, 《 》) 사이에 작성한다.

 

 

5. 유스케이스 다이어그램의 관계

 

1) 연관(Association) 관계

두 개 이상의 유스케이스가 서로 관련되어 있는 일반적인 관계

 

2) 포함(Include) 관계 (필수)

기능을 포함하는 유스케이스와 기능에 포함되는 유스케이스 사이의 관계

 

3) 확장(Extend) 관계확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계

 

3) 일반화(Generalization) 관계

유사한 유스케이스 또는 액터들을 모아 일반적인지 구체적인지를 표현