UML의 활동 다이어그램: 기호, 구성 요소 및 예

UML의 활동 다이어그램이란 무엇입니까?

활동 다이어그램 기본적으로 한 활동에서 다른 활동으로의 흐름을 나타내는 흐름도입니다. 활동은 시스템의 작동으로 설명될 수 있습니다. 활동 다이어그램의 기본 목적은 시스템의 동적 동작을 포착하는 것입니다. 객체 지향 흐름도라고도 합니다.

UML 다이어그램 구현보다는 시스템 동작의 실행과 흐름에 중점을 둡니다. 활동 다이어그램은 행동 모델링 기술에 적용되는 작업으로 구성된 활동으로 구성됩니다.

활동 다이어그램의 구성 요소

활동

하나 이상의 동작으로 구분되는 동작입니다. 활동은 가장자리로 연결된 노드 네트워크입니다. 작업 노드, 제어 노드 또는 개체 노드가 있을 수 있습니다. 작업 노드는 일부 작업을 나타냅니다. 제어 노드는 활동의 제어 흐름을 나타냅니다. 개체 노드는 활동 내부에서 사용되는 개체를 설명하는 데 사용됩니다. Edge는 실행 경로나 흐름을 표시하는 데 사용됩니다. 활동은 초기 노드에서 시작하여 최종 노드에서 종료됩니다.

활동 칸막이/수영 레인

활동 파티션 또는 스윔레인은 관련 작업 집합을 상위 수준으로 그룹화한 것입니다. 단일 파티션은 클래스, 사용 사례, 구성 요소, 인터페이스 등 다양한 항목을 참조할 수 있습니다.

파티션을 명확하게 표시할 수 없는 경우 활동 이름 위에 파티션 이름이 기록됩니다.

포크 및 조인 노드

포크와 조인 노드를 사용하면 활동 내의 동시 흐름을 생성할 수 있습니다. 포크 노드에는 들어오는 에지 하나와 나가는 에지가 여러 개 있습니다. 이는 결정 매개변수가 너무 많은 것과 유사합니다. 데이터가 들어오는 에지에 도착하면 복제되어 동시에 여러 나가는 에지에 분할됩니다. 단일 들어오는 흐름은 여러 개의 병렬 흐름으로 나뉩니다.

조인 노드는 포크 노드와 반대입니다. 들어오는 에지가 많고 나가는 에지가 하나 있기 때문입니다. 모든 들어오는 에지에 대해 논리적 AND 연산을 수행합니다. 이를 통해 단일 출력 에지에서 입력 흐름을 동기화하는 데 도움이 됩니다.

흐름이 많은 활동 다이어그램은 매우 복잡하고 지저분해집니다.

핀은 물건을 정리하는 데 사용됩니다. 모든 흐름을 정렬하고 지저분한 부분을 정리하여 활동의 실행 흐름을 관리하는 방법을 제공합니다. 이는 작업에 대한 하나의 입력 또는 출력을 나타내는 개체 노드입니다.

입력 핀과 출력 핀 모두 정확히 하나의 모서리를 갖습니다.

활동 다이어그램을 사용하는 이유는 무엇입니까?

활동 다이어그램 UML 가장자리로 연결된 노드 컬렉션을 포함하는 활동으로 이벤트를 생성할 수 있습니다. 활동을 모든 모델링 요소에 연결하여 해당 동작을 모델링할 수 있습니다. 활동 다이어그램은 모델링에 사용됩니다.

  • 사용 사례
  • 클래스
  • 인터페이스
  • 구성 요소들
  • 협력

활동 다이어그램은 프로세스와 워크플로우를 모델링하는 데 사용됩니다. 유용한 활동 다이어그램의 본질은 시스템 동적 동작의 특정 측면을 전달하는 데 중점을 둡니다. 활동 다이어그램은 시스템의 동적 요소를 포착합니다.

활동 다이어그램은 한 활동에서 다른 활동으로의 흐름을 시각화하는 순서도와 유사합니다. 활동 다이어그램은 순서도와 동일하지만 순서도는 아닙니다. UML 흐름도의 다양한 제어 요소를 사용하여 활동 흐름을 제어할 수 있습니다. 간단히 말해서 활동 다이어그램은 여러 활동 간의 실행 흐름을 설명하는 활동 다이어그램에 사용됩니다.

활동 다이어그램 표기법

활동 다이어그램 기호는 다음 표기법을 사용하여 생성할 수 있습니다.

  • 초기 상태: 활동이 발생하기 전의 시작 단계를 초기 상태로 표시합니다.
  • 최종 상태: 특정 프로세스가 종료될 때 시스템이 도달하는 상태를 최종 상태라고 합니다.
  • 상태 또는 활동 상자:
  • 결정 상자: 대체 경로가 있는 결정을 나타내는 다이아몬드 모양의 상자입니다. 제어 흐름을 나타냅니다.
활동 다이어그램 표기법
활동 다이어그램 표기 및 기호

활동 다이어그램을 그리는 방법은 무엇입니까?

활동 다이어그램은 활동의 흐름도입니다. 이는 다양한 시스템 활동 간의 워크플로를 나타냅니다. 활동 다이어그램은 순서도와 유사하지만 순서도는 아닙니다. 활동 다이어그램은 몇 가지 고유한 기능을 포함하는 흐름도를 발전시킨 것입니다.

활동 다이어그램에는 스윔레인, 분기, 병렬 흐름, 제어 노드, 확장 노드 및 개체 노드가 포함됩니다. 활동 다이어그램은 예외 처리도 지원합니다.

활동 다이어그램을 그리려면 전체 시스템을 이해하고 탐구해야 합니다. 다이어그램 내에서 사용될 모든 요소와 엔터티는 사용자가 알고 있어야 합니다. 활동에 불과한 중심 개념이 사용자에게 명확해야 합니다. 모든 활동을 분석한 후에는 이러한 활동을 탐색하여 활동에 적용되는 다양한 제약사항을 찾아야 합니다. 그러한 제약이 있는 경우 활동 다이어그램을 개발하기 전에 이를 참고해야 합니다.

모든 활동, 조건, 연관성을 알아야 합니다. 필요한 모든 것을 모은 후, 추상화나 프로토타입을 생성하고, 나중에 실제 다이어그램으로 변환합니다.

활동 다이어그램을 개발하는 동안 다음 규칙을 따라야 합니다.

  1. 시스템의 모든 활동에는 이름이 지정되어야 합니다.
  2. 활동 이름은 의미가 있어야 합니다.
  3. 제약 조건을 식별해야 합니다.
  4. 활동 연관성을 알아야 합니다.

활동 다이어그램의 예

메일 처리 활동을 활동 다이어그램의 샘플로 생각해 봅시다. 다음 다이어그램은 이메일 처리 활동을 나타냅니다.

활동 다이어그램
활동 다이어그램

위의 활동 다이어그램에서 세 가지 활동이 지정되었습니다. 메일 확인 프로세스가 시작되면 사용자는 메일이 중요한지 스팸인지 확인합니다. 두 가지 보호 조건 [필수] 및 [스팸]은 프로세스의 실행 흐름을 결정합니다. 활동을 수행한 후 마지막으로 프로세스는 종료 노드에서 종료됩니다.

활동 다이어그램을 사용할 때

활동 다이어그램은 비즈니스 프로세스와 워크플로우를 모델링하는 데 사용됩니다. 이러한 다이어그램은 소프트웨어 모델링과 비즈니스 모델링에 사용됩니다.

가장 일반적으로 활동 다이어그램은 다음과 같은 용도로 사용됩니다.

  1. 쉽게 이해할 수 있는 그래픽 방식으로 워크플로우를 모델링합니다.
  2. 시스템의 다양한 엔터티 간의 실행 흐름을 모델링합니다.
  3. 시스템 내부에서 사용되는 기능이나 알고리즘에 대한 자세한 정보를 모델링합니다.
  4. 비즈니스 프로세스와 해당 워크플로를 모델링합니다.
  5. 시스템의 동적 동작을 캡처합니다.
  6. 모든 애플리케이션의 워크플로를 나타내는 상위 수준의 순서도를 생성합니다.
  7. 객체 지향 또는 분산 시스템의 상위 수준 보기를 모델링합니다.

요약

  • 활동 다이어그램이라고도 합니다. 객체지향 순서도.
  • 활동 다이어그램은 더 작은 작업으로 구성된 활동으로 구성됩니다.
  • 활동은 하나 이상의 작업으로 구분되는 동작입니다.
  • 이는 작업 노드, 제어 노드 및 개체 노드를 사용합니다.
  • 활동 파티션 또는 스윔레인은 관련 작업 집합을 상위 수준으로 그룹화한 것입니다.
  • 포크 및 조인 노드는 활동 내에서 동시 흐름을 생성하는 데 사용됩니다.
  • 활동 다이어그램은 비즈니스 프로세스와 워크플로우를 모델링하는 데 사용됩니다.