회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
AWS 이용 중이라면 최대 700만 원 지원받으세요
UML은 개발자와 개발 프로젝트를 위한 시각적 도구입니다. 마치 우리가 조별과제를 하면서 서로 소통에 문제가 생기거나, 잘못된 결과를 만들기도 하듯이 개발자들이 함께 모여 작업을 할 때는 여러 가지 문제가 생깁니다. 내가 생각하는 것과 남이 생각하는 것, 그 두 가지가 일치하지 않기 때문이죠. 이런 문제를 해결하기 위해 나온 것이 바로 UML(Unified Modeling Language)입니다.
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!
확인
UML은 개발자와 개발 프로젝트를 위한 시각적 도구입니다. 마치 우리가 조별과제를 하면서 서로 소통에 문제가 생기거나, 잘못된 결과를 만들기도 하듯이 개발자들이 함께 모여 작업을 할 때는 여러 가지 문제가 생깁니다. 내가 생각하는 것과 남이 생각하는 것, 그 두 가지가 일치하지 않기 때문이죠. 이런 문제를 해결하기 위해 나온 것이 바로 UML(Unified Modeling Language)입니다.
UML이란 개발 프로젝트를 위한 설계도라고 생각하면 됩니다. Unified Modeling Language(통합 모델링 언어)라는 거창한 이름을 갖고 있지만, 실제로 알고 보면 아주 단순합니다. UML은 서비스에 들어가는 정보와 복잡한 구조들을 단순하게 보여줄 때 주로 사용됩니다.
실제로 UML은 크게 구조를 다루는 타입과 특성을 다루는 타입, 두 가지로 나뉩니다. 하지만 이 글에서는 가장 자주 사용되는 세 가지를 집중적으로 다루도록 하겠습니다.
실무에서 자주 사용되는 UML은 크게 세 가지 타입이 있습니다.
유즈 케이스 UML은 우리가 가장 손쉽게 이해할 수 있는 케이스입니다. 현실의 사용자가 누구와 어떤 행동을 하는지, 그 과정에서 누가, 어떤 결과를 가져오는지, 사람, 역할을 중심으로 전체 서비스를 보여줍니다. 위의 UML은 레스토랑의 사례를 나타낸 것입니다.
유즈 케이스 UML은 서비스의 큰 틀을 이해할 때 도움이 됩니다. 그러나 각각의 행동이나 과정에서 어떤 정보가 오고 가는지, 그 정보가 어떤 것인지는 자세히 알 수 없습니다.
클래스 UML은 서비스의 중요 정보들을 박스로 연결해 보여줍니다. 그리고 이 박스들이 무엇을 중심으로 묶여 있는지, 각각의 박스 안에 중요한 정보는 무엇을 담고 있는지를 보여주죠. 위의 UML은 온라인 쇼핑몰의 클래스 UML입니다.
클래스 UML은 서비스에 들어가는 핵심 정보를 한눈에 보여줍니다. 하지만 클래스 UML은 어디까지나 중요한 정보만을 압축해 보여준 것입니다. 그래서 모든 정보를 담고 있는 게 아니고, 실제 개발을 위해서는 더 많은 정보가 필요합니다.
시퀀스 UML은 사다리 게임을 하듯, 왼쪽부터 오른쪽 아래로 내려가는 그림입니다. 데이터가 어떻게 흘러가고, 최종적으로 어디에서 어떤 결과가 나오는지를 알려주게 되죠. 위의 UML을 순서대로 정리해보자면 다음과 같습니다.
시퀀스 UML은 말 그대로 순서대로 흘러가는 그림이기 때문에, 개발에 대해 높은 이해도가 있지 않아도 데이터의 흐름을 읽어낼 수 있습니다. 하지만 제한된 부분만 보여주기 때문에, 서비스 전체를 그려낼 수는 없습니다.
UML에는 이외에도 여러 가지 규격이 있습니다. 하지만 실무에서 자주 사용되지 않아 이 글에서는 소개하지 않은 규격들도 많습니다.
UML은 여러 사람이 똑같이 이해하기 위해 만들어진 도구입니다. 그래서 꼭 지켜야 하는 여러 가지 규칙들이 있습니다. 그중 하나가 바로 화살표의 의미입니다. A와 B라는 데이터가 서로 단순한 연결 관계인지, 영향을 받는다면 누가 더 중요한지 화살표만 보고도 그 의미를 알 수 있어야 하죠.
다만 UML의 가짓수가 워낙 많고, 실무자들도 이런 문법을 엄격하게 지키며 작업하는 경우는 많지 않습니다. 물론 규모가 크고, 복잡한 서비스를 만들어야 하는 경우라면 상황이 달라질 겁니다.
UML은 정해진 툴이 따로 없습니다. 그림판이나, PPT 등으로 그려서 만들더라도 크게 문제가 없죠. 하지만 좀 더 손쉬운 방법을 찾아야 한다면, 다음 도구들을 사용해보는 것도 좋은 방법이 될 겁니다.
지금까지 알아본 UML에 대해서 간단히 정리해보면 다음과 같습니다.
1. UML은 개발자들이 서로 헷갈리지 않게 개발 설계도를 그리기 위한 방법이다.
2. UML에는 여러 규격들이 있지만, 가장 자주 사용되는 건 유즈 케이스, 클래스, 시퀀스 UML이다.
3. 유즈 케이스 UML은 실제 세상에서 벌어지는 일을 사람과 역할을 위주로 그려낸 UML이며,
4. 클래스 UML은 서비스에 들어가는 중요한 정보를 박스로 만들어 연결시킨 UML이다.
5. 시퀀스 UML은 데이터의 흐름을 순서대로 표현해, 어떤 결과가 나오는지 보여주는 UML이다.
6. UML에는 엄격한 문법이 있지만, 실무에서 이 부분을 철저하게 지키는 경우는 드물다.
지금까지 UML이 무엇이고, 어떤 것들이 주로 사용되는지에 대해 알아보았습니다. 본인이 UML을 직접 그려보고 싶거나, 간단한 것부터 시작해보고 싶다면 다음 참고자료를 활용해보세요.
<참고 자료>