자격증/정보처리기사

요구사항 확인 (3) - UML

카늬 2024. 6. 11. 09:17

UML(Unified Modeling Language)

UML

  • 시스템 개발 과정에서 고객 또는 개발자 간의 의사소통이 원할하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
  • Rumbaugh, Booch, Jacobson 등의 장점을 통합하였다.
  • UML 구성요소
    1. 사물(Thtings)
    2. 관계(Relationships)
    3. 다이어그램(Diagram)

 

사물

  • 다이어그램 안에서 관계가 형성될 수 있는 대상들
  • 사물의 종류
사물 내용
구조 사물
(Structurl Things)
- 시스템의 개념적, 물리적 요소를 표현
- 클래스, 유즈케이스, 컴포넌트, 인터페이스, 노드 등
행동 사물
(Behavioral Things)
- 시간과 공간에 따른 요소들의 행위를 표현
- 상호작용, 상태 머신 등
그룹 사물
(Grouping Things)
- 요소들을 그룹으로 묶어서 표현
- 패키지(Package)
주해 사물
(Annotations Things)
- 부가적인 설명이나 제약조건 등을 표현
- 노트(Note)

UML - 관계(Relationship)

관계

  • 사물과 사물 사이의 연관성을 표현하는 것
  • 관계의 종류
    1. 연관 관계
    2. 집합 관계
    3. 표함 관계
    4. 일반화 관계
    5. 의존 관계
    6. 실체화 관계

 

연관 (Association)  관계

  • 2개 이상의 사물이 서로 관련되어 있는 관계
  • 사물 사이를 실선으로 연결하여 표현
  • 방향성은 화살표로 표현
  • 양방향 관계의 경우 화살표 생략하고 실선으로면 표시
  • 다중도를 선 위에 표시
다중도 의미
1 1개의 객체가 연관되어 있음
n n개의 객체가 연관되어 있음
0..1 연관된 객체가 없거나 1개임
0..* 또는 * 연관된 객체가 없거나 다수일 수 있음
1..* 연관된 객체가 1개 이상임
n..* 연관된 객체가 n개 이상임
n..m 연관된 객체가 최소 n부터 최대 m까지임

 

 

집합(Aggregation) 관계

  • 하나의 사물이 다른 사물에 포함되어 있는 관계
  • 속이 빈 마름모를 사용

포함(Composition) 관계

  • 포함하는 사물의 변화가 포함되는 사물에게 영향을 끼치는 관계
  • 속이 채워진 마름모 사용

일반화(Generalization) 관계

  • 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계
  • 하위 사물에서 상위 사물쪽으로 속이 빈 화살표를 연결

의존(Dependency) 관계

  • 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계
  • 영향을 주는 사물이 영향을 받는 사물쪽으로 점선 화살표를 연결하여 표현한다.

실체화(Realization) 관계

  • 할 수 있거나 해야하는 기능으로, 서로를 그룹화 할 수 있는 관계
  • 사물에서 기능쪽으로 속이 빈 점선 화살표를 연결하여 표현

UML - 다이어그램(Diagram)

다이어그램

  • 사물의 관계를 도형으로 표현한 것

구조적(Structural) 다이어그램의 종류

종류 내용
클래스 다이어그램
(Class Diagram)
- 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현함
객체 다이어그램
(Object Diagram)
- 클래스에 속한 객체들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현함
- 럼바우 객체지향 분석 기법에서 객체 모델링에 활용됨
컴포넌트 다이어그램
(Component Diagram)
- 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현함
- 구현 단계에서 사용됨
배치 다이어그램
(Deployment Diagram)
- 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현함
- 구현 단계에서 사용됨
복합체 구조 다이어그램
(Composite Structure Diagram)
- 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현함
패키지 다이어그램
(Package Diagram)
- 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현함

 

 

행위(Begavioral) 다이어그램 종류

종류 내용
유즈케이스 다이어그램
(Use Case Diagram)
- 사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용함
순차 다이어그램
(Sequence Digram)
- 상호 작용하는 시스템이나 객체들이 주고받는 메시지를 표현함
커뮤니케이션 다이어그램
(Communication Diagram)
- 동작에 참여하는 객체들이 주곳받는 메시지와 객체들 간의 연관 관계를 표현함
상태 다이어그램
(State Diagram)
- 하나의 객체가 자신이속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현함
- 럼바우 객체지향 분석 기법에서 동적 모델링에 활용됨
활동 다이어그램
(Activity Diagram)
- 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현함
상호작용 개요 다이어그램
(Interaction Overview Diagram)
- 상호작용 다이어그램 간의 제어 흐름을 표현함
타이밍 다이어그램
(Timing Diagram)
- 객체 상태변화와 시간 제약을 명시적으로 표현함

 

 

스테레오 타입

  • UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하는 것
  • 표현되는 형태
표현형태 의미
<<include>> - 연결된 다른 UML요소에 대해 포함 관계에 있는 경우
<< extend >> - 연결된 다른 UML요소에 대한 확장 관계에 있는 경우
<< interface >> - 인터페이스를 정의하는 경우
<< exception >> - 예외를 정의하는 경우
<< constructor >> - 생성자 역할을 수행하는 경우

'자격증 > 정보처리기사' 카테고리의 다른 글

요구사항 확인(6)  (0) 2024.06.15
요구사항 확인 (5)  (1) 2024.06.12
요구사항 확인 (4) - 다이어그램  (0) 2024.06.11
요구사항 확인 (2)  (1) 2024.06.10
요구사항 확인 (1)  (0) 2024.06.04