UML (Unified Modeling Language)
- 객체지향 소프트웨어 개발과정에서 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화 범용 모델링 언어
- 특징
: 가시화 언어
: 구축 언어
: 명세화 언어
: 문서화 언어
- 구성요소
: 사물
: 관계
: 다이어그램
UML 다이어그램
- 정적 다이어그램 (구조적 다이어그램)
: 클래스
: 객체
: 컴포넌트
: 배치
: 복합체 구조
: 패키지
- 동적 다이어그램 (행위적 다이어그램)
: 유스케이스
: 시퀀스
: 커뮤니케이션
: 상태
: 활동
: 타이밍
UML 확장 모델의 스테레오 타입
- UML의 기본적 요소 외의 새로운 요소를 만들기 위한 확장 메커니즘
: <<>> (길러멧) 기호 사용
- <<include>>
: 하나의 유스케이스가 반드시 다른 유스케이스를 실행하는 포함 관계
- <<extend>>
: 하나의 유스케이스가 다른 유스케이스를 실행할수도 안할 수도 있는 확장 관계
- <<interface>>
: 추상 메서드와 상수만으로 구성된 클래스
- <<entity>>
: 유스케이스 처리 흐름이 수행되는 과정에서 기억장치에 저장되어야할 정보를 표현하는 클래스
- <<boundary>>
: 시스템과 외부 액터와의 상호작용을 담당하는 클래스
- <<control>>
: 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스
클래스 다이어그램
- 객체지향 모델링시 클래스의 속성 및 연산과 클래스간 정적인 관계를 표현한 다이어그램
- 구성요소
ㆍ클래스
: 공통의 속성, 연산, 관계, 의미를 공유하는 객체들의 집합
ㆍ속성
: 클래스의 구조적 특성
ㆍ연산 (메서드)
: 객체에 요청하여 행동에 영향을 줄 수 있는 서비스
ㆍ접근제어자 (접근제한자)
: 클래스에 접근할 수 있는 정도를 표현
: - (private, 내부만 허용)
: + (public, 외부 접근 허용)
: # (protected, 동일 패키지 / 파생 클래스에서 접근 가능)
: ~ (default, 동일 패키지 / 클래스에서 접근 가능)
- 클래스간의 관계
ㆍ연관 관계
: 클래스가 서로 개념적으로 연결된 선
ㆍ집합 관계
: 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계
ㆍ복합 관계
: 집합 관계보다 강하고 영구적인 관계
ㆍ일반화 관계
: 일반적인 개념(부모)를 상위에 두고 구체적인 개념(자식)을 하위에 두는 관계
ㆍ의존 관계
: 하나의 클래스가 또 다른 클래스를 사용하는 관계
ㆍ실제화 관계
: 추상클래스나 인터페이스를 상속받아 자식 클래스가 추상 메서드를 구현하는 관계
※ 추상클래스
: 객체 인스턴스를 생성하지 않고 단지 유사 클래스들의 공통된 특징을 정의하고 일반 메서드를 포함하는 클래스
※ 인터페이스
: 기능을 모아놓은 클래스로 추상 메서드와 상수만을 포함하는 추상 클래스
유스케이스 다이어그램
- 시스템이 제공하고 있는 기능과 외부 요소를 사용자의 관점에서 표현하는 다이어그램
- 구성요소
ㆍ유스케이스
: 시스템이 제공해야하는 서비스, 기능
: 액터가 시스템을 통해 수행하는 일련의 행위
ㆍ액터
: 시스템과 상호작용 하는 사람 또는 사물
: 이벤트를 시작하게 하는 객체
ㆍ시스템 : 전체 시스템의 영역
ㆍ시나리오 : 발생되는 이벤트의 흐름
시퀀스 다이어그램
- 객체간 상호작용을 메시지 흐름으로 표현한 다이어그램
: 객체간 동적 상호작용을 시간적 개념을 중심으로 모델링
: 유스케이스를 실현
- 구성요소
ㆍ객체
ㆍ생명선
ㆍ실행
ㆍ메시지
패키지 다이어그램
- 시스템의 서로 다른 패키지들 사이의 의존 관계를 표현하기 위한 다이어그램
- 구성요소
ㆍ패키지
ㆍ의존관계
: 하나의 패키지가 다른 패키지를 사용하는 관계
활동 다이어그램 (Activity Diagram)
- 시스템이 어떤 기능을 수행하는지에 대한 처리의 흐름을 순서대로 표현하는 다이어그램
: 하나의 유스케이스 안이나 유스케이스 사이에서 발생하는 복잡한 처리의 흐름을 명확하게 표현 가능
- 구성요소
ㆍ시작점
ㆍ전이 : 실행희 흐름
ㆍ액션 : 어떠한 일들의 처리와 실행
ㆍ종료점
ㆍ조건 노드
ㆍ병합 노드 : 여러 경로의 흐름이 하나로 합쳐짐
ㆍ포크 노트 : 평행적으로 수행되는 흐름을 나누는 노드
ㆍ조인 노드 : 포크로 나누어진 흐름들 다시 합치는 노드
ㆍ구획면 : 액티비티 수행을 담당하는 주체를 구분하는 면
상태 다이어그램
- 하나의 객체에 대한 상태변화를 표현
: 객체는 파악된 상태들 이외의 상태를 가질 수없고 특정 순간에는 오직 한 상태로만 존재 가능
- 구성요소
ㆍ상태
ㆍ시작상태 / 종료상태
ㆍ전이
ㆍ이벤트
ㆍ전이조건
커뮤니케이션 다이어그램
- 시퀀스 다어그램과 같이 동작에 참여하는 객체간 메시지와 연관까지 표현
: 메시지를 주고 받으며 흐름에 따라 상호작용하는 과정을 표현
- 구성요소
ㆍ액터
ㆍ객체
ㆍ링크
ㆍ메시지
컴포넌트 다이어그램
- 시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 표현
: 실질적 프로그래밍 작업에 사용
- 구성요소
ㆍ컴포넌트
ㆍ인터페이스
ㆍ의존 관계
'Certification > 정보처리기사' 카테고리의 다른 글
물리 데이터 모델 (0) | 2021.04.09 |
---|---|
논리 데이터 모델 (0) | 2021.04.09 |
UI 요구사항 확인 (0) | 2021.04.08 |
요구사항 확인 (0) | 2021.04.08 |
현행 시스템 분석 (0) | 2021.04.08 |