UML의 특징은 다음과 같습니다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o1.gif) |
가시화 언어("Language for Visualizing", The UML User's Guide) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
UML은 여러 개의 그래픽 기호로 구성되어 있으며 각 기호들은 정확한 의미를 가지고 있습니다. 그러므로, UML로 모델링한 것은 통일된 의미를 갖기 때문에 UML로 작성된 문서를 보는 사람들은 시스템에 대해 동일한 의미를 공유할 수 있게 됩니다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o2.gif) |
명세화 언어("Language for Specifying", The UML User's Guide) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
명세화란 정확하고, 명백하며, 완전한 모델을 의미하는데, UML은 분석, 설계, 구현에서의 모든 중요한 결정에 대한 명세서를 다룰 수 있게 합니다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o3.gif) |
구축하는 언어("Language for Constructing", The UML User's Guide) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
UML 언어에서는 프로그래밍 코드를 생성하는 것이 가능하고, 또한 구현된 코드로부터 UML 모델을 다시 생성할 수 있는 역공학(reverse engineering)도 가능합니다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o4.gif) |
문서화 언어("Language for Documenting"- The UML User's Guide) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
UML은 시스템 구조와 그것의 모든 상세 내역에 대한 문서화를 다루며, 요구사항을 표현하고 시스템을 시험하는 언어와 프로젝트 계획과 배포관리 액티비티를 모델링하는 기능을 제공합니다. | |
UML 이전의 모델링 체계
![](http://www.e-campus.co.kr/vmc/3310/3310_04/03/grp/tit0101.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
OMT는 James Rumbaugh가 GE 프로젝트들을 수행한 경험을 토대로 개발한 객체지향 모델링 체계입니다. 이것은 1990년 "Object-Oriented Modeling and Design" 출간함으로써 세상에 소개되었으며, 발표 이후 UML에 통합되기 전까지 전 세계에 걸쳐 가장 널리 적용된 객체지향 모델링 체계 중 하나입니다. 그리고 시스템의 표현을 위한 다음과 같은 다양한 모델들을 제공하여 완전한 모델링의 구축을 추구하였습니다.
시스템의 표현을 위한 모델링에 대하여 자세히 살펴봅시다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
|
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
|
|
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o1.gif) |
시스템 아키텍처에 초점 |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
시스템의 구성요소 및 구성요소와 구성요소간 관계와 상호작용을 정의한 아키텍쳐를 중시한 모델링 체계를 제시하였습니다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o2.gif) |
시스템을 다양한 관점에서 분석하는 개념을 제시 |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
여러 종류의 모델링 방법을 제시함으로써 시스템을 다양한 관점에서 분석할 수 있게 하였습니다. 이러한 모델링 관점의 다양화는 보다 완전한 모델 구축을 가능하게 합니다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o3.gif) |
반복적이고, 점증적인 개발 프로세스 제시 |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
시스템을 개발할 때 과거와 같이 한번에 개발하는 대신, 작은 영역으로 쪼개어 여러 번에 걸쳐 나누어 개발하는 방식을 주창하였습니다. 이 방식은 개발과정에 숨겨져 있는 위험(Risk)들을 조기에 발견하여 대처하게 함으로써 시스템 개발이 실패할 위험을 줄여줍니다. | | |
OOSE (Object-Oriented Software Engineering)는 Ivar Jacobson에 의해 제안된 객체지향 개발 방법론입니다. Objectory는 통신, 금융 분야에서의 Ivar Jacobson의 방법론에 기반하여 다양한 시스템에 적용된 방법입니다.
OOSE/Objectory 방법론의 특징은 유스케이스 중심 접근법 (Use-Case Driven Approach)으로 대표됩니다.
유스케이스 모델을 간단히 소개하면, 시스템 개발 초기단계에 작성되어 다른 모든 모델을 유도해 내는 기준 모델이라고 합니다. 즉, 유스케이스 모델은 시스템과 상호 작용하는 방식들을 파악하여 시스템의 모든 기능들을 서술하는 것이라고 할 수 있습니다. | |
UML의 탄생과정과 의의
UML은 1997년 표준으로 채택되었지만, 기존 방법론들의 장점들을 취합한 표기체계입니다. UML이전에도 객체지향 기반의 모델링 체계를 포함한 방법론들이 많이 존재했었지만, 너무 많아서 문제가 있었습니다. 많은 개발자들이 모델링 체계가 달라 의사소통에 불편을 느끼게 되었기 때문입니다. 그래서 자연스럽게 하나의 표준 표기체계가 필요하다는 것을 느끼게 되었습니다. 통합되고 표준화된 객체지향 표기체계의 필요성이 대두되던 이 시점에 UML이 등장하게 된 것입니다.
1960년대부터 현재에 이르기까지 UML의 탄생과 발정과정을 아래의 표와 그림으로 살펴봅시다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
1967년 |
최초의 객체지향 언어 SIMULA 탄생 |
1980년대와 90년대 초반 |
다양한 객체지향기반 표기체계 및 방법론(약 50여 가지)이 난립 |
1995년 |
|
1996년 |
|
1997년 |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/dot2.gif) |
1월 : UML ver. 1.0 발표
|
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/dot2.gif) |
9월 : UML ver. 1.1 발표 |
객체지향 기술표준 기구인 OMG에 표준화안 상정 |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/dot2.gif) |
11월 : OMG 표준 인증 | |
1999년 |
UML ver. 1.3 발표 |
2001년 |
UML ver. 1.4 발표 |
2002년 |
UML ver. 2.0 예정 | |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
* OMG : Objec Management Group. "www.omg.org" |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![]() |
| |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/04/grp/tit0102.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
|
1997년 UML은 버전 1.0이 OMG(Objec Management Group."www.omg.org")의 표준인증을 획득하여 객체지향 모델링 체계의 세계 표준이 되었습니다.
UML은 다음과 같은 의의를 가집니다. | |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o1.gif) |
표기체계의 통합 및 표준화 |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
1980년대에서 90년대에는 50여 가지의 표기체계가 난립하였습니다. UML은 이러한 표기체계를 하나로 통합함으로써 표준화의 대업을 이루었습니다. UML은 개인이나 기업이 아닌 비영리 표준화 단체인 OMG에 의해 사양과 업그레이드가 관리되며, 이것의 등장으로 재사용과 원할한 의사소통 효과를 비롯한 많은 효과를 기대할 수 있게 된 것입니다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o2.gif) |
개발 프로세스와 개발언어에 독립적 표기체계 |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
UML은 특정 개발방법론에 얽매이지 않은 개방적인 표기체계를 제시하였습니다. 방법론에 독립적일 뿐 아니라 개발언어의 물리적 제한사항을 수용하는 추상성을 제공하는 표기체계를 채택함으로써 개발언어에도 독립적입니다. 따라서 우리는 UML의 등장으로 개발 방법론과 개발언어에 제한없이 적용될 수 있는 개방적인 모델링 체계를 갖게 된 것입니다. |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/o3.gif) |
적용에 제한이 없는 범용적 표기체계 |
![](http://www.e-campus.co.kr/vmc/3310/3310_04/00/grp/tlmargin.gif) |
UML은 적용하기 위한 별도의 비용이나 허가가 필요없는 공개된 표준 모델링 체계를 제공합니다. UML을 사용하기 위한 제한된 조건은 없으며, 이것의 등장함으로써 우리는 SW시스템의 개발과정뿐 아니라 비즈니스 영역을 비롯한 적용가능한 모든 분야에서 폭넓게 응용할 수 있는 범용적인 표기체계를 갖게 된 것입니다. | | | | |