본문 바로가기
IT기술노트/소프트웨어공학

UML 2.0

by 비트코기 2021. 1. 31.
반응형

Composite Structure, Package, Interaction Overview, Timing


I. 수준 높은 자동화를 지원하는 UML의 진화, UML 2.0의 개요

가. UML 2.0의 정의

   - 웹 기반 어플리케이션과 SOA등 신기술의 등장으로 수준 높은 자동화를 지원하는 UML 기반의 도구의 필요성이 증가함에 따라 원래 표준보다 더 명확한 방식으로 UML 정의

나. UML 2.0의 등장배경

한계

내용

복잡성

크고 복잡하여 배우기 어려움, 적용이나 구현을 위한 접근이 어려움

이해하기 어려움

UML 규격의 Sematics Notation의 상세 내용에 대해 이를 정확하게 이해하기 어려움

간결성 부족

언어의 간결성 부족

서로 다른 도메인과 서로 다른 플랫폼에 효과적 대처 어려움

모델 공유 어려움

서로 다른 모델링 도구들 사이의 모델을 효과적으로 공유하기 어려움

아키텍처 설계 지원 부족

아키텍처 설계를 위한 다이어그램 지원 없음

모델-코드간 불일치

실질적으로 모델의 Behavior 부분을 기술할 수 없음

모델과 코드간 불일치 발생


II. UML 2.0의 구성도 및 다이어그램

가. UML 2.0의 구성도

나. UML 2.0의 다이어그램

다이어그램

설명

계통

Activity

절차적이고 병렬적이 행위 기술

UML 1

Class

클래스와 클래스 간의 관계 기술

UML 1

Communication

객체들 간의 상호작용 연결에 초점을 맞춰 기술

Collaboration

Component

컴포넌트의 구조와 연관관계 기술

UML 1

Composite structure

하나의 클래스 실행 시 내부구조 기술

New to UML 2

Deployment

시스템의 물리적 배치 기술

UML 1

Interaction overview

Sequence Activity diagram의 결합

New to UML 2

Object

특정 시점 객체의 snapshot 기술

UML 1에서 비공식

Package

시스템의 컴파일시의 계층적 구조 기술

New to UML 2

Sequence

객체들 간의 상호작용을 순서에 맞춰 기술

UML 1

State machine

객체 상태에 따른 작업과 event에 따른 상태 변화 기술

UML 1 (State)

Timing

객체들간의 상호작용을 시간 제약에 초점을 맞춰 기술

New to UML 2

Use Case

사용자가 상호작용하는 시스템의 모습을 기술

UML 1


III. UML 2.0 4가지 영역 및 계층구조

가. UML 2.0 4가지 영역

영역

설명

다이어그램

호환 영역

- CASE 도구 벤더들 간의 모델 호환을 위한 정의

OCL 영역

- 모델 요소에서 제어와 제약을 위한 간략한 규약을 정의

- 특정 도메인에 대한 제한을 명시화하기 위해 사용

하부구조

- MOF, UML, CWM (Common Warehouse Metamodel)과 같은 메타 모델을 정의하는데 활용 될 수 있는 메타 언어 규약

- 프로파일을 사용하는 UML을 커스터마이징 할 수 있게 함

- 메타 모델간 상호 호환을 지원

상부구조

- 메타 모델을 사용하여 사용자 정의 모델의 구조와 행위를 정의함

- 구조형 다이어그램, 행위형 다이어그램을 정의

나. UML2.0의 계층구조

계층

설명

M3 (Meta-Meta Model)

- MOF (Meta Object Facility) M2 수준에 속한 메타 모델을 정의하는 메타 메타 모델

M2 (Meta Model)

- UML 기반의 설계를 가능하게 하는 속성, 클래스, 인스턴스 등과 같은 모델 요소를 정의하는 메타모델

- UML 2.0 하부구조는 4계층 메타 모델 관점에서 M2 수준의 UML 메타모델

M1 (User Model)

- 시스템 분석가나 설계자들이 일반적인 모델링 케이스 도구를 통해 특정 도메인 시스템을 설계한다고 했을때의 메타모델 수준

- 사용자 모델을 도식하게 되는 수준

M0 (Real-Time Instance)

- 모델이 만들어낸 코드를 실행하는 수준의 단계

 

반응형

댓글