본문 바로가기

[ Project Plan & Design ]/Uml

UML 요점 정리 #1 - UML이란?

UML이 무엇이며 왜 중요한가?

 

UML은 소프트웨어 시스템이나 업무 모델링 그리고 기타 비 소프트웨어 시스템등을 나타내는 가공물을 구체화하고, 시각화하고, 구축하고, 문서화하기 위해 만들어진 언어이다.

 

UML은 Rational Software와 그 협력회사에 의해 개발되었다.

업무 처리과정에서 그 업무의 범위와 규모가 커짐에 따른 시스템의 복잡성을 처리할 필요성을 느끼게 되었는데, 특히 물리적인 시스템의 분산, 동시성, 반복성, 보안, 결점 보완, 시스템들의 부하에 대한 균등화와 같은 반복해서 발생하는 구조적 문제에 대한 프로세스가 필요하게 되었으며다. 또한 웹의 발전에 따라 시스템을 만들기는 쉬워졌으나 이러한 구조적 문제는 더욱 악화되었기에 이러한 모든 필요성에 의해 UML은 만들어졌다.

 

 

모델링의 중요성

 

시스템의 복잡성이 증가함에 따라, 강력한 소프트웨어 시스템을 만들기 위해 구축하고 개선하기에 앞서 모델을 만드는 것이 건물을 만들기 위한 청사진을 만드는 것과 같이 핵심적인 요소가 되었다. 잘 만들어진 모델은 프로젝트 팀간의 통신수단으로써, 구조적인 문제를 해결하기 위한 수단으로써 핵심적인 것이다.

 

 

모델링 언어가 반드시 포함해야 하는 것

 

모델 요소(Model elements): 기본적 모델링 개념과 의미

표기(Notation):                   모델 요소의 시각적인 그림

가이드 라인(Guide Line):     관용적인 사용 방법

 

시스템의 복잡성이 증가함에 따라 객체 지향 시스템과 컴포넌트 기반 시스템을 구축하기 위한 시각적 모델링 언어를 선택하는 것이 필연적이다.  

 

 

UML의 목적

 

. 사용자에게 즉시 사용가능하고 직관적인 시각적 모델링 언어를 제공함으로써 사용자는 의미있는 모델들을 개발하고 서로 교     환할 수  있어야 한다.

. 핵심적인 개념을 확장할 수 있는 확장성과 특수화 방법을 제공한다.

. 특정 개발 프로세스와 언어에 종속되지 않아야 한다.

. 모델링 언어를 이해하기 위한 공식적인 기초를 제공한다.

. 협동(Collaboration), 프레임 워크, 패턴, 컴포넌트 같은 고수준의 개발 개념을 제공한다.

 

 

OMG(Object Management Group)-UML의 범위

 

. UML은 Booch, OMT(Object Modeling Technique), OOSE(Object Oriented Software Engineering)의 개념을 융화시켜 만들었기에

  일반적이고 넓게 사용될 수 있다

. UML은 기존의 방법론들을 가지고 있는 어떠한 작업에도 적합한 방편을 제공한다.

. UML은 표준적인 방법론에 역점을 두지 않고, 표준적인 모델링 언어에 역점을 두었다.

 

 

UML의 범위 외부

 

UML은 모든 것을 포함하는 언어가 아닌, 단순하고 표준화된 모델링의 제공을 목표로 하고 있기에 산업계 전반에 걸쳐 존재하는 다양한 시스템의 디자인에 사용될 수 있는 유연성을 제공한다.

 

 

프로그래밍 언어

 

UML은 비쥬얼 모델링 언어지 비쥬얼 프로그래밍 언어가 아니다. 하나 어떤 의미에서는 시각적이고 의미적인 비쥬얼적 모델링 언어가 제공하는 모든 지원을 가지고 있다. UML은 실제 코드로의 지향을 위해 사용될 수 있다.(코드 제너레이션을 의미하는 듯) UML은 객체 언어와 밀접하게 묶여 사용이 가능하고 이는 최고의 결과를 낼 수 있다.

 

 

툴(Tools)

 

UML은 툴들의 상호 운용성을 위한 툴 인터페이스, 저장소, 실행시간 모델등과 같은 방법을 제공하는 것이 아니라,

의미적 메타 모델(Meta-model)을 제공한다.


- Reference

  http://jedikim72.blog.me/10025703879