UML
- UML이란 상호간 의사소통을 원활하게 하기위해 공통된 표현법을 사용하여 개발할 대상물을 다이어그램으로 표현하는 도구이다.
UML의 구성 요소
- 사물 (Things)
- 관계 (Relationships)
- 다이어그램 (Diagram)
사물 (Things)
- 사물은 다이어그램 안에서 관계가 형성될 수 있는 대상들을 말한다. (엔터티? 객체? 같은건가...)
- 사물의 종류는 구조 사물, 행동 사물, 그룹 사물, 주해 사물 있다.
사물 | 내용 |
구조 사물 (Structural Things) | - 시스템의 개념적, 물리적 요소를 표현 - 클래스, 유스케이스, 컴포넌트, 인터페이스, 노드 등 |
행동 사물 (Behavioral Things) | - 시간과 공간에 따른 요소들의 행위를 표현 - 상호작용, 상태 머신 등 |
그룹 사물 (Grouping Things) | - 요소들을 그룹으로 묶어서 표현 - 패키지 |
주해 사물 (Annotation Things) | - 부가적인 설명이나 제약조건 등을 표현 - 노트 |
관계 (Relationship)
- 관계는 사물과 사물 사이의 연광성을 표현하는 것이다.
관계의 종류
- 연관 관계
- 집합 관계
- 포함 관계
- 일반화 관계
- 의존 관계
- 실체화 관계
연관 관계 (Association)
- 2개 이상의 사물이 서로 관련되어 있는 관계
- 실선으로 연결, 방향은 화살표, 양방향일경우 실선만
- 다중도를 선 위에 표시
집합 관계 (Aggregation)
- 하나의 사물이 다른 사물에 포함되어 있는 관계
- 포함되는 쪽에서 포함하는 쪽으로 속이 빈 마름모로 연결
포함 관계 (Composition)
- 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계이다.
- 포함되는 쪽에서 포함하는 쪽으로 속이 찬 마름모로 연결
일반화 관계 (Generalization)
- 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계
- 일반적인 개념을 상위(부모), 구체적인 개념을 하위(자식)라고 부른다.
- 구체적인 사물에서 일반적인 사물 쪽으로 속이 빈 화살표를 연결
- 상속 느낌
의존 관계 (Dependency)
- 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계
- 영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표를 연결
실체화 관계 (Realization)
- 사물이 할 수 있거나 해야 하는 기능으로, 서로를 그룹화 할 수 있는 관계
- 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결
다이어그램 (Diagram)
- 사물과 관계를 도형으로 표현한 것
- 정적 모델링은 주로 구조적 다이어그램을 사용
- 동적 모델링은 주로 행위 다이어그램 사용
구조적(Structural) 다이어그램의 종류
종류 | 내용 |
클래스 다이어그램 (Class Diagram) |
- 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현함 |
객체 다이어그램 (Object Diagram) |
- 클래스에 속한 사물(객체), 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현함 - 럼바우 객체지향 분석 기법에서 객체 모델링에 활용됨 |
컴포넌트 다이어그램 (Component Diagram) |
- 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현함 - 구현 단계에서 활용 |
배치 다이어그램 (Deployment Diagram) |
- 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현함 - 구현 단계에서 활용 |
복합체 구조 다이어그램 (Composite Structure Diagram) |
- 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현함 |
패키지 다이어그램 (Package Diagram) |
- 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현함 |
행위(Behavioral) 다이어그램의 종류
종류 | 내용 |
유스케이스 다이어그램 (Use Case Diagram) |
- 사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용함 |
순차 다이어그램 (Sequence Diagram) |
- 상호 작용하는 시스템이나 객체들이 주고받는 메시지를 표현함 |
커뮤니케이션 다이어그램 (Communication Diagram) |
- 동작에 참여하는 객체들이 주고받는 메시지와 객체들 간의 연관 관계를 표현함 |
상태 다이어그램 (State Diagram) |
- 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 어떻게 변화하는지를 표현 - 럼바우 객체지향 분석 기법에서 동적 모델링에 활용됨 |
활동 다이어그램 (Activity Diagram) |
- 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현함 |
상호작용 개요 다이어그램 (Interaction Overview Diagram) |
- 상호작용 다이어그램 간의 흐름을 표현함 |
타이밍 다이어그램 (Timing Diagram) |
- 객체 상태 변화와 시간 제약을 명시적으로 표현함 |
스테레오 타입 (Stereotype)
- 스테레오 타입은 UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현 하는 것이다.
- 길러멧(Guilemet) 이라고 부르는 겹화살괄호 << >> 사이에 표현할 형태를 기술한다.
<<include>> - 연결된 다른 UML 요소에 대해 포함 관계에 있는 경우
<<extends>> - 연결된 다른 UML 요소에 대해 확장 관계에 있는 경우
<<interface>> - 인터페이스를 정의하는 경우
<<exception>> - 예외를 정의하는 경우
<<constructor>> - 생성자 역할을 수행하는 경우
클래스 다이어그램 (Class Diagram)
정적 모델링
- 사용자가 요구한 기능을 구현하는데 필요한 자료들의 논리적인 구족를 표현한 것
- 정적 모델링은 객체들을 클래스로 추상화하여 표현한다.
- UML을 이용한 정적 모델링의 대표적인 것이 클래스 다이어그램이다.
클래스 다이어그램
- 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한 것
- 시스템을 구성하는 요소에 대해 이해할 수 있는 구조적 다이어그램이다.
구성요소
- 클래스 : 클래스의 이름, 속성, 오퍼레이션을 표기
- 제약조건
- 관계
순차 다이어그램 (Sequence Diagram)
동적 모델링
- 시스템의 내부 구성 요소들의 상태 변화 과정과 과정에서 발생하는 상호 작용을 표현한 것
- 시스템이 실행될 때 구성 요소들 간의 메시지 호출, 즉 오퍼레이션을 통한 상호 작용에 초첨을 둔다
- 동적 모델링의 종류 :
순차 다이어그램, 상태 다이어그램, 커뮤니케이션 다이어그램
순차 다이어그램
- 시스템이나 객체들이 메시지를 주고받으며 상호 작용하는 과정을 그림으로 표현한 것
구성요소
- 액터
- 객체
- 생명선
- 실행 상자
- 메시지
- 객체 소멸
- 프레임
패키지 다이어그램 (Package Diagram)
패키지 다이어그램
- 유스케이스나 클래스 등의 요소들을 그룹화한 패키지간의 의존 관계를 표현한 것
- 패키지는 또 다른 패키지의 요소가 될 수 있다.
- 대규모 시스템에서 주요 요소 간의 종속성을 파악하는 데 사용한다.
구성요소
- 패키지 : 객체들을 그룹화 한 것
- 객체 : 유스케이스, 클래스, 인터페이스, 테이블 등 패키지에 포함될 요소들
- 의존 관계 : 패키지와 패키지, 패키지와 객체 간을 점선 화살표로 표현
스테레오타입을 이용해 의존 관계를 구체적으로 표현할 수 있음 ex) <<import>>, <<access>>
'정보처리기사' 카테고리의 다른 글
[정보처리기사] - 트랜잭션 / 클러스터 (0) | 2024.07.14 |
---|---|
[정보처리기사] - 정규화 / 반정규화 (1) | 2024.07.13 |
[정보처리기사] - 관계형 데이터베이스 (1) | 2024.07.13 |
[정보처리기사] - 데이터베이스 (0) | 2024.07.05 |
[정보처리기사] - 요구사항 확인 (0) | 2024.07.01 |