블링블링 범블링

UML(Unified Modeling Language) 본문

Technology/객체 지향 디자인 패턴

UML(Unified Modeling Language)

뻠스키 2018. 4. 17. 02:04

UML(Unified Modeling Language)


소프트웨어 개발을 할 때 가장 먼저 하는 일은 소프트웨어 설계다. 전체적인 시스템이 어떻게 구성하고 있고, 동작하는 지, UML 클래스 다이어그램으로 표현해 사용해보고 싶었다. 그리고 요즘 알아보기 시작한 디자인패턴에서도 자주 등장하는 게 UML 클래스다이어그램이다. 


결론은 이러한 여러가지(?) 이유 때문에 더 깊이 알아보고 싶어서 UML을 공부하기 시작했다. UML을 사용해보기 앞서서 개념을 먼저 알아가는게 좋다고 생각해 개념에 대해 간단해 정리해봤다. 


소프트웨어 회사들은 소프트웨어를 개발할 때 보다 시간과 비용을 절감하고, 소프트웨어의 질을 향상시킬 수 있는 기술을 필요로 한다. 그리고 소프트웨어의 업무의 범위와 규모가 커지면서 시스템의 복잡성을 처리할 필요성을 느끼게 되었다. 


특히 물리적인 시스템의 분산, 동시성, 반복성, 보안, 결점보안 시스템들의 부하에 대한 균등화와 같은 반복해서 발생하는 구조적 문제에 대한 처리가 필요하게 됐다. 웹의 발전에 따라 시스템을 만들기는 쉬워졌지만 이러한 구조적 문제는 더욱 악화되었고, UML은 이러한 모든 필요성에 의해 만들어졌다.


[UML이란]


UML은 Unified Modeling Language의 약자로 1997년 OMG에서 표준으로 채택한 통합모델링언어다. 즉, 분석과 설계를 시각화하고 문서화 하기위한 그래픽언어다.

 

UML을 통해서 개발자들의 의사소통을 원활하게 하며 기업간의 시스템 통합을 가능하게 한다. 그리고 소프트웨어를 제작할 때 관련한 개발자, 운영자, 사용자, 엔지니어등이 기호와 도식화된 UML을 통해서 의견을 공유하고, 시스템의 의도를 쉽게 전달할 수 있다. 


모델은 실제 물건을 만들 때 잘 작동할지 미리 검증해보는 것이며 실제 물건을 만드는 비용보다 비용이 훨씬 적을 경우에 모델을 만들어 설계를 검사한다. 건축이나 항공 등과 같은 모델과 소프트웨어에서의 모델은 다르다. 건물을 짓고, 항공기를 만드는 것과 설계를 만드는 것은 엄청난 비용의 차이가 있다.


하지만 소프트웨어 개발에서는 UML 다이어그램을 그리며 모델을 만드는 일은 개발보다 비용이 적긴하지만 때로는 오히려 개발보다 비용이 많이 들 수 있다. 그래서 UML은 개발을 할 때 시험해 볼만한 구체적인 것이고, 그것을 코드로 시험해 보는 것 보다 UML으로 시험해 보는 쪽이 비용이 적을 때 주로 사용한다. 


[UML 목적]


1. 가시화 언어

개념 모델을 작성할 때 오류가 적고, 의사소통을 용이하게 한다.

2. 구축 언어

다양한 프로그래밍 언어와 실행 시스템 예측이 가능하다.

3. 문서화 언어

시스템에 대한 평가, 통제, 의사소통의 문서(요구사항, 아키텍처, 설계, 소스, 코드, 프로젝트, 계획)를 말한다.

4. 명세화 언어

정확한 모델을 제시하고 완전한 모델작성, 분석, 설계의 표현이다.


[UML 요소]



UML의 요소는 크게 Thing(사물), Relationship(관계), Diagrams(도해)로 이뤄져 있다. 각각을 설명하면 글이 길어질 것 같아서 다음 게시물을 통해서 하나씩 올려볼 생각히다. 각각이 무엇이고, 하위 개념을 설명해보려고 한다. 



[참고]

wikipedia


블로그 출처

http://meylady.tistory.com/41?category=794465

'Technology > 객체 지향 디자인 패턴' 카테고리의 다른 글

객체 지향 프로그래밍(Object-Oriented Programs)  (0) 2018.04.18
객체지향의 원칙-SOLID  (0) 2018.04.17
UML-Diagram(다이어그램)  (0) 2018.04.17
UML-Relationship(관계)  (0) 2018.04.17
UML-Things(사물)  (0) 2018.04.17
Comments