올해는 머신러닝이다.
[펌]UML Diagram의 종류 본문
출처 : http://hyeonstorage.tistory.com/14
UML Diagram의 종류
(1) Class Diagram
- 개요 : 객체 타입(클래스)들을 정의하고 그들 간에 존재하는 정적인 관계를 다양한 방식(Association, Aggregation, Generalization, Realization, Dependency) 으로 표현한 Diagram
- Class Diagram 사용 용도
요구분석 -> Class Diagram (개념)
분석 -> Class Diagram (분석)
설계 -> Class Diagram (설계), Class Diagram (구현)
- Association 표기법
- Multiplicity 표기법
Multiplicity : 한 Class A의 Instance가 생성되었을 때, 다른 Class B의 Instance와 몇 개의 연관이 있는 지를 나타내며 Integer값을 사용함
Abbreviations : Asterisk(*) 는 Zero or more를 나타냄
Multiplicity를 표시하지 않을 수도 있음
Association은 양방향으로 표현되므로 왼쪽으로 또는 오른쪽으로 읽을 수 있음
Left-to-right : 하나의 Car 객체는 2개와 2개의 Door 객체와 연관됨
Right-to-left : 하나의 Door 객체는 연관된 Car 객체가 없거나, 하나의 Car 객체와 연관됨
(2) Component Diagram
- 개요 : 시스템을 구성하는 물리적 단위인 컴포넌트와 그들 간의 관계를 표현
- Component의 종류
UML에서의 컴포넌트
> 배치 컴포넌트 (Deployment component)
> DLL, EXE, DB 테이블
> 작업 결과물 컴포넌트 (Work product component)
> 분석/설계 문서, 소스코드 파일, 데이터 파일
> 실행 컴포넌트(Execution component)
> 메모리, DB 레코드
CBD에서의 컴포넌트
> 계약상의 명시된 인터페이스와 명시적인 의존성을 가진 조합의 단위이며, 독립적으로 전개될 수 있고, 제 3의 컴포넌트와 잘 맞는 SW 부품
UML 1.x
> CBD 프로젝트에서 Component Diagram은 주로 Package를 이용하여 그림
UML 2.x
(3) Deployment Diagram
- 개요 : 전체 시스템을 구성하는 하드웨어의 연결 관계와 SW 컴포넌트의 배치 상태를 표현함
- 구성 요소
> Node : 물리적인 요소로서 시스템이 실행될 때 존재하며 어느 정도의 메모리와 처리 능력을 갖는 전산 자원을 의미
육면체로 표현하며 이름을 표기하고 필요에 따라 탑재되는 컴포넌트를 표기
노드의 성격을 잘 표현할 수 있는 이미지를 사용하여 표현할 수도 있음
> Link : 물리적으로 연결되어 있는 두 노드의 연결 관계를 표현함
연결의 특성을 Stereotype으로 표현함
> Component : 노드에 탑재되는 컴포넌트를 표현하기 위해 사용
> Dependency : 노드와 컴포넌트는 의존 관계로 연결
(4) Use Case Diagram
- 개요 : 개발 주기 초기에 사용자의 기능적 요구사항을 시작적으로 기술하는데 사용
사용자의 시각에서 SW 시스템의 범위와 기능을 정의한 모델
Actor와 Use Case간의 관계를 정적으로 표현
- 구성요소
- Use Case Model 이란?
> UML의 대표적 모델
> Use Case Diagram(Actor와 시스템 사이의 관계를 시각적으로 표현)과 Use Case Description(각각의 내용을 상세히 기술)으로 구성
> 요구사항, 즉 구현해야 하는 기능이 '무엇'인지를 정의하지 '어떻게' 제시할지는 기술하지 않음
> 일반적으로 Use Case는 기능적 요구 사항을 나타내지만 Use Case Description에 해당 Use Case에 관련된 비기능적 요구 사항을 함께 기록하기도 함
(5) Activity Diagram
- 개요 : 기존에 활용하던 DFD나 Flow Chart의 객체 지향 버전의 일종
업무영역, 시스템 영역에서의 처리흐름을 표현한 Diagram
특정 비즈니스 프로세스, 오퍼레이션, Use Case의 내부 업무 흐름 등을 파악할 때 사용
- 표기법
- Activity Diagram의 사용 용도
> 비즈니스 프로세스를 나타내는 용도
> Use Case 내부를 기술하는 용도
> 행위(함수 혹은 메소드)의 내부 프로세스를 표현
(6) Sequence Diagram
- 개요 : 객체간의 동적인 상호관계를 시간 순서에 따라 표현한 모델
Use Case의 기능을 구체적으로 실현
실제 프로그램으로 구현 가능하게 자세히 작성
- 사용 용도
> 분석 -> Use Case flow 마다 하나
> 컴포넌트 상호작용 -> Use Case flow 마다 하나
> 설계 -> 컴포넌트의 Interface에 선언된 각각의 Operation마다 하나
- 구성 요소
(7) State Machine Diagram
- 개요 : 하나의 객체를 대상으로 생존 기간 동안 가질 수 있는 상태의 변화를 표현
정적 모델링(Class)과 동적 모델링(Activity)이 동시에 표현
정적 모델링과 동적 모델링 간의 검증
- 사용 용도 : 분석
- 구성 요소
- 사례
(8) Communication Diagram
- 개요 : 객체간의 동적 메시지 전달 관계를 표현한 모델
객체간의 상호관계를 효과적으로 정의
Sequence Diagram과 상호 매핑 됨
- 사용 용도 : Sequence Diagram이 작성되는 태스크와 동일
- 구성 요소
'웹 관련 팁 모음' 카테고리의 다른 글
[펌] 티스토리에서 코드 예쁘게 넣기, syntaxhighlighter 설치/적용/사용법 (0) | 2014.11.28 |
---|---|
제로보드로 포인트몰 개설 (1) | 2014.11.27 |
검색엔진에 등록하는 Robot.txt (0) | 2014.11.18 |
c++ 관련 책 모음 (0) | 2013.06.11 |
<meta> 태그 활용법 (0) | 2012.10.04 |