728x90

UML Unified Modeling Language 

- 업무, 어플리케이션, 아키텍처 모델링에 사용하는 모델링 언어로 다양한 언어 코드 생성에 사용

 

UML 구성

- 사물, 관계, 다이어그램으로 구성

 

1. 사물 things

1.1 구조사물 structual 

 - UML 모델의 정적인 부분, 개념적/물리적 요소 표현. 클래스 class, 유스캐이스 use case, 컴포넌트 component, 노드

1.2 행동 사물

 - 시스템 행위. 상호작용 interaction, 상태 state

1.3 그룹 사물

 - 개념을 그룹화하는 사물. 패키지 package

1.4 어노테이션 사물

 - 부가적 개념 설명. 노트 note

 

2. 관계 

2.1 연관 관계 association : 다른 사물과 연관 있음

2.2 집합 관계 aggregation : 전체와 부분간 관계

2.3 포함 관계 coposition : 큰 부분이 소멸시 포함 부분도 함께 소멸됨

2.4 일반화 관계 generalization : 부모/자식 관계로 상속을 나타냄

2.5 실체화 관계 realization : 인터페이스 구현 관계

2.6 의존 관계 dependency : 한사물 변화가 타사물에 영향주는 관계

 

 

3. 다이어그램

3.1 구조적 다이어그램

- 클래스 다이어그램 : 비슷한 객체들의 그룹

- 객체 다이어그램 : 객체의 인스턴스 사이 관계

- 컴포넌트 다이어그램 : 소프트웨어 물리적 단위(exe, dll 등)의 구성과 연결상태 표현

- 배치 다이어그램 deployment diagram : 결과물, 프로세서, 하드웨어 등 물리적연결 표현

- 패키지 다이어그램 package diagram : 유스케이스나 클래스 등 모델 요소들을 그룹화한 패키지들의 관계 표현

 

3.2 행동 다이어그램

- 유스케이스 다이어그램 usecase : 사용자 입장에서 본 시스템

- 시퀀스 다이어그램 sequence : 객체간 메시지 시간 흐름에 따른 표현

- 상태 다이어그램 state : 객체의 상태 변화를 나타냄

- 활동 다이어그램 activity : 유스캐이스 내부나 객체 동작 중 발생활동 표현

- 커뮤니케이션 다이어그램 communication : 객체간 메시지 표현

 

 

 

유스케이스 

- 타원으로 표시하고 안에 유스케이스명 작성

클래스 

- 클래스 : 공통의 속성, 오퍼레이션 및 관계를 갖는 객체들의 집합

1. 클래스 정의

- 클래스 이름은 대문자로 시작, 속성과 오퍼레이션은 소문자로 시작

- 패키지와 함께 표현시 패키지명::클래스이름 -> Dog::Bulldog

2; 속성 정의

- 속성이름:속성타입[=초기값]

- 가시성 visibility : +(public), #(protected), -(private)

- 밑줄 : 해당 클래스에 유일한속성

 

3. 기능 정의

- 오퍼레이션이름(파라미터 리스트):리턴타입

- visibility name(parameter-list):return-type-expression

4. 가시성 visibility

- +(public) : 외부 클래스에서도 사용 가능

- #(protected) : 하위 클래스와 해당 클래스 내에서만 가능

- -(private) : 해당 클래스에서만 가능

- ~(package, default) : 패키지 내에서만 사용 가능

 

5. 추상 클래스 abstract class

- 추상메소드가 1개 이상 존재하는 클래스

*이탤릭체로 표기하여 추상 메소드임을 알림

 

객체 

- 클래스의 인스턴스

- 특정한 속성 값 가짐

- 객체 이름은 밑줄로 표현 ex) 클래스이름:객체이름

 

협력 collaboration

- 목적 달성하기 위한 일련의 행위

- 타원을 점선 표기, 안에 역활 내용 기입

 

상태

- 객체 상태를 순서로 명시

- 이벤트에 대한 객체의 반응

 

 

액티브 클래스

- 하나 이상의 프로세스나 스레드 같는 객체를 파생하는 클래스 기술

- 클래스 표기와 비슷하지만, 양옆에 세로라인 추가

 

 

컴포넌트

- 시스템을 구성하는 물리적인 단위로 독립적인 실행단위 혹은 배포단위

- 배치 컴포넌트 deployment compoenent : dll, exe 같이 실행가능한 구성요소

- 작업 결과물 컴포넌트 word product compoenent : 실행에 쓰이지않으나 개발 작업에 만들어지며, 실행 시스템 생성

  -> ex) 분석/설계 문서, 소스코드 파일, 데이터 파일

- 실행 컴포넌트 executable component : 실행 결과로 생성되는 컴포넌트로 객체, DB레코드, 파일

 

노드

- 물리적인 요소로 시스템 실행때 존제

- 메모리와 처리능력을 가진 자원

- 육면체로 표현하여 필요시 컴포넌트 표기

300x250

+ Recent posts