UML이란 뭘까? - Unified Modeling Language

2020. 5. 5. 19:14카테고리 없음

반응형
이 문서는 GeeksforGeeks의 Unified Modeling Language(UML) 문서를 참조했습니다. (https://www.geeksforgeeks.org/unified-modeling-language-uml-activity-diagrams/)

 

 

 

 활동 다이어그램(Activity Diagram)을 이용해서 시스템에서 제어 흐름을 설명할 수 있고, 사용 예시(Use case)를 실행하는 것과 관련된 순차적 단계들을 참조할 수 있답니다. 따라서, 기본적으로는 활동 다이어그램(Activity Diagram)을 이용해서 실행 과정의 흐름을 쉽게 묘사할 수 있는 것이지요. 이것은 흐름의 조건(condition of flow)과 실행 순서(sequence)에 중점을 두게 됩니다. 그렇기 때문에 특정 액션이 발생 되었을때 이것의 원인을 쉽게 설명할 수 있습니다.

UML 모델은 기본적으로 다음 3가지 유형의 다이어그램을 모델링 합니다.

 

  • 구조 다이어그램(Structure Diagrams)

  • 상호 작용 다이어그램(Interaction Diagrams)

  • 동작 다이어그램(Behavior Diagrams)

 

앞에서 언급한 다이어그램 중 활동 다이어그램(Activity Diagram)과 동작 다이어그램(Behavior Diagram)의 이름이 비슷해서 헷갈리다고요? 활동 다이어그램은 곧 행동 다이어그램 이기도 합니다. 시스템의 행동을 나타내기 때문이죠. 이 활동 다이어그램은 활동이 실행되는 동안 존재하는 다양한 결정 경로를 보여주는 시작점에서 종료점까지의 제어 흐름(Control Flow)을 나타냅니다. 또한 활동의 순차적 처리와 동시적이니 처리를 모두 묘사할 수 있습니다. 비즈니스 및 프로세스 모델링에서 주로 사용되며, 시스템의 동적인 측면을 설명하게 됩니다. 그럼 이쯤에서 무엇인가랑 헷갈리게 되는데요, 순서도(Flow Chart)와 그 기능이 매우 유사하다고 생각될 겁니다. 활동 다이어그램은 이것과 매우 유사하지만, 엄연히 다른 모델링 기술입니다.

 

활동 다이어그램과 순서도는 어떻게 다를까요? 일반적으로 순서도가 활동 다이어그램보다는 먼저 발명되었습니다. 프로그래머가 아닌 사람들은 이 순서도(Flow Chart)를 이용해서 일의 처리 흐름을 모델링하게 됩니다. 예를 들어, 제조업체는 이 순서도를 활용하여 특정 제품의 제조 방법을 설명하고 묘사합니다. 이 순서도는 활동 다이어그램의 가장 기본 버전이라고 할 수도 있겠습니다. 의사 결정과 관련된 비즈니스 프로세스는 순서도를 사용해서 표현됩니다. 따라서 프로그래머는 활동 다이어그램(조금 더 고급 버전의 순서도라고나 할까요?)을 사용해서 수행의 처리 흐름을 묘사합니다. 또한 특정 액션을 발생하게 하는 제약 조건을 더 쉽게 파악할 수 있습니다. 복잡한 결정이 내려지면 순서도는 활동 다이어그램으로 수렴된다고도 할 수 있습니다. Brevity is the soul of wit. 간결함은 지혜의 영혼이라는 말입니다. 많은 정보를 명확하고 짧게 전달하기 위해서 사업가와 개발자 모두 시스템과 상호작용하고 이해하는데 큰 도움이 되기에 이것들을 사용합니다.

 

사용 예시 다이어그램(Use Case Diagram)과 활동 다이어그램(Activity Diagram)은 어떻게 다를까요? 활동 다이어그램은 조건(conditions), 제한 조건(constraints), 연속적 및 동시적 활동을 나타내는 일의 흐름을 모델링하는데 사용됩니다. 반면에, 사용 예시 다이어그램의 목적은 기능, 즉 시스템이 수행하는 기능만 묘사하고 그것이 '어떻게' 수행되는 지에 대한 방식은 다루지 않습니다. 표현이 약간 애매한데, 간단히 말해서 활동 다이어그램은 'How'를 표현하는 반면 사용 예시 다이어그램은 특정 시스템에 대한 'What'을 표현합니다. 또한 추상화 수준(the levels of abstraction) 역시 다릅니다. 활동 다이어그램은 비즈니스 프로세스(고수준의 구현)을 독립형 알고리즘(Ground Level Implementation)으로 설명할 수 있습니다. 하지만 사용 예시 다이어그램은 추상화 수준이 낮습니다. 

 

다이어그램에 사용되는 다양한 구성요소와 표준 표기법은 다음 게시물에서 작성하겠습니다. 이 게시물을 통해 UML에 대한 전반적인 이해가 되었길 바랍니다.

반응형