예제가 포함된 상호 작용, 협업 및 시퀀스 다이어그램
상호작용 다이어그램이란 무엇입니까?
상호 작용 다이어그램 객체 간 통신을 설정하기 위해 UML에서 사용됩니다. 특정 통신 경로와 관련된 데이터를 조작하지 않습니다. 상호 작용 다이어그램은 주로 메시지 전달과 이러한 메시지가 시스템의 한 기능을 구성하는 방식에 중점을 둡니다. 상호 작용 다이어그램은 개체가 시스템의 특정 요구 사항을 어떻게 실현하는지 표시하도록 설계되었습니다. 상호 작용 다이어그램의 중요한 구성 요소는 수명선과 메시지입니다.
다양한 UML 요소는 일반적으로 상호 작용 다이어그램을 소유합니다. 상호 작용의 세부 사항은 시퀀스 다이어그램, 타이밍 다이어그램, 통신/협업 다이어그램과 같은 여러 표기법을 사용하여 표시할 수 있습니다. 상호 작용 다이어그램은 모든 시스템의 동적 동작을 포착합니다.

다음은 UML에서 정의된 다양한 유형의 상호작용 다이어그램입니다.
- 시퀀스 다이어그램
- 협업 다이어그램
- 타이밍 다이어그램
시퀀스 다이어그램의 목적 UML 다이어그램 시스템의 메시지 흐름 순서를 시각화하는 것입니다. 소프트웨어 엔지니어링의 시퀀스 다이어그램은 시간 순서에 따른 이벤트 시퀀스로 두 라이프라인 간의 상호 작용을 보여줍니다.
UML의 협업 다이어그램은 커뮤니케이션 다이어그램이라고도 합니다. 협업 다이어그램의 목적은 시스템의 구조적 측면, 즉 시스템의 다양한 라이프라인이 연결되는 방식을 강조하는 것입니다.
타이밍 다이어그램은 한 개체에서 다른 개체로 메시지가 전송되는 인스턴스에 중점을 둡니다.
상호작용 다이어그램의 목적
상호 작용 다이어그램은 시스템의 대화형 동작을 시각화하는 데 도움이 됩니다. 상호 작용 다이어그램은 시스템에 있는 하나 이상의 개체가 서로 연결되고 통신하는 방식을 나타내는 데 사용됩니다.
상호 작용 다이어그램은 시스템의 동적 동작에 중점을 둡니다. 상호 작용 다이어그램은 시스템에 있는 하나 이상의 라이프라인 간의 상호 작용 컨텍스트를 제공합니다.
In UML상호작용 다이어그램은 다음과 같은 목적으로 사용됩니다.
- 상호작용 다이어그램은 시스템의 동적 동작을 관찰하는 데 사용됩니다.
- 상호 작용 다이어그램은 시스템에서 전달되는 메시지의 통신 및 순서를 시각화합니다.
- 상호작용 모델링 다이어그램은 시스템의 다양한 개체의 구조적 측면을 나타냅니다.
- 상호작용 다이어그램은 시스템 내 상호작용의 순서화된 순서를 나타냅니다.
- 상호작용 다이어그램은 UML을 통해 실시간 데이터를 시각화하는 수단을 제공합니다.
- UML 상호작용 다이어그램은 객체 지향 시스템이나 분산 시스템의 아키텍처를 설명하는 데 사용할 수 있습니다.
중요한 용어
상호작용 다이어그램에는 수명선, 메시지, 연산자, 상태 불변식 및 제약 조건이 포함됩니다.
생명선
생명선은 상호 작용에 참여하는 단일 참가자를 나타냅니다. 특정 분류자의 인스턴스가 상호 작용에 참여하는 방법을 설명합니다.
라이프라인은 분류자 인스턴스가 상호작용에서 수행할 수 있는 역할을 나타냅니다. 다음은 라이프라인의 다양한 속성입니다.
- 이름
- 특정 상호 작용 내에서 생명선을 참조하는 데 사용됩니다.
- 생명선의 이름은 선택 사항입니다.
- 타입
- 라이프라인이 인스턴스를 나타내는 분류자의 이름입니다.
- 선택자
- 요구 사항을 충족하는 특정 인스턴스를 선택하는 데 사용되는 부울 조건입니다.
- 선택기 속성도 선택 사항입니다.
생명줄 표기법은 표기법 섹션에서 설명합니다.
메시지
메시지는 상호작용에서 두 라이프라인 간의 특정 유형의 커뮤니케이션입니다. 메시지에는 다음 활동이 포함됩니다.
- 작업을 호출하는 데 사용되는 호출 메시지.
- 인스턴스를 생성하라는 메시지입니다.
- 인스턴스를 삭제하라는 메시지입니다.
- 신호를 보내기 위해.
라이프라인이 호출 메시지를 받으면 메시지에 지정된 것과 유사한 서명이 있는 작업을 호출하라는 요청으로 작동합니다. 라이프라인이 메시지를 실행할 때 제어 초점이 있습니다. 상호 작용이 시간이 지남에 따라 진행됨에 따라 제어 초점이 다양한 라이프라인 사이를 이동합니다. 이러한 이동을 제어 흐름이라고 합니다.
시스템 상호작용 다이어그램에서 사용되는 메시지는 다음과 같습니다.
| 메시지 이름 | 의미 |
|---|---|
| Sync경쾌한 메시지 | 메시지 발신자는 수신자가 메시지 실행에서 제어권을 반환할 때까지 계속 기다립니다. |
| 비동기 메시지 | 발신자는 수신자의 반환을 기다리지 않습니다. 대신 다음 메시지 실행을 계속합니다. |
| 메시지 반환 | 이전 메시지의 수신자는 제어의 초점을 발신자에게 반환합니다. |
| 객체 생성 | 발신자는 분류자의 인스턴스를 생성합니다. |
| 객체 파괴 | 발신자는 생성된 인스턴스를 파기합니다. |
| 메시지를 찾았습니다. | 메시지를 보낸 사람은 상호 작용 범위를 벗어났습니다. |
| 잃어버린 메시지 | 메시지는 목적지에 도달하지 못하며 상호 작용 중에 손실됩니다. |
상태 불변성 및 제약 조건
인스턴스 또는 라이프라인이 메시지를 받으면 상태를 변경할 수 있습니다. 상태는 객체의 수명 동안 어떤 제약 조건을 충족하고, 어떤 연산을 수행하고, 어떤 이벤트를 기다리는 조건 또는 상황입니다.
상호 작용 다이어그램에서 모든 메시지가 인스턴스 상태를 변경하는 것은 아닙니다. 일부 메시지에는 일부 속성의 값이 없습니다. 객체의 상태에 부작용이 없습니다.
Opera바위 산
연산자는 피연산자가 실행되는 방법에 대한 연산을 지정합니다. UML의 연산자는 분기와 반복의 형태로 데이터에 대한 연산을 지원합니다. 다양한 연산자를 사용하여 UML 모델에서 반복과 분기를 사용할 수 있습니다. opt 및 alt 연산자는 분기 연산에 사용됩니다. 루프 연산자는 만족스러운 결과가 생성될 때까지 조건이 반복적으로 실행되는 반복 연산을 보장하는 데 사용됩니다. break 연산자는 루프 또는 반복 연산 내부에서 사용됩니다. break 연산자가 발생할 때마다 루프가 종료되도록 합니다. break 조건이 지정되지 않으면 루프가 무한대로 실행되어 프로그램이 충돌합니다.
상호작용 다이어그램에 사용되는 연산자는 다음과 같습니다.
| Opera바위 산 | 이름 | 의미 |
|---|---|---|
| 고르다 | 선택권 | 조건이 참이면 피연산자가 실행됩니다. 예를 들어, 그렇지 않은 경우 |
| 다른 | 대안투자 | 조건이 참인 피연산자가 실행됩니다. 예를 들어 스위치 |
| 고리 | 고리 | 특정 기간 동안 명령을 반복하는 데 사용됩니다. |
| 흩어져 | 흩어져 | 조건이 참 또는 거짓이면 루프를 중단하고 다음 명령이 실행됩니다. |
| 참조 | 참조 | 다른 상호작용을 지칭하는 데 사용됩니다. |
| 로 | 평행 | 모든 피연산자는 병렬로 실행됩니다. |
되풀이
상호 작용 다이어그램에서는 반복 표현식을 사용하여 반복을 표시할 수도 있습니다. 반복 표현식은 반복 지정자와 선택적 반복 절로 구성됩니다. UML 반복에 대해 미리 지정된 구문이 없습니다.
메시지가 병렬로 전송됨을 보여주기 위해 반복에서 병렬 반복 지정자가 사용됩니다. 병렬 반복 지정자는 *//로 표시됩니다. UML에서 반복은 루프 연산자를 사용하여 달성됩니다.
가지
상호작용 다이어그램에서 우리는 메시지에 가드 조건을 추가하여 분기를 표현할 수 있습니다. 가드 조건은 메시지를 전달할 수 있는지 여부를 확인하는 데 사용됩니다. 메시지는 가드 조건이 참일 때만 전달됩니다. 메시지는 여러 개의 가드 조건을 가질 수 있고, 여러 메시지는 동일한 가드 조건을 가질 수 있습니다. UML에서 분기는 alt 및 opt 연산자의 도움으로 달성됩니다.
이들은 중 일부입니다 가장 중요한 UML 상호작용 다이어그램에 사용되는 용어입니다.
상호 작용 다이어그램 및 표기법의 유형
다음은 UML에서 정의된 다양한 유형의 상호작용 다이어그램입니다.
- 시퀀스 다이어그램
- 협업 다이어그램
- 타이밍 다이어그램
상호작용의 기본 표기법은 직사각형 상자의 왼쪽 상단 모서리에 오각형이 있는 직사각형입니다.
시퀀스 다이어그램이란 무엇입니까?
A 시퀀스 다이어그램 단순히 객체 간의 상호 작용을 순차적인 순서로 묘사합니다. UML에서 시퀀스 다이어그램의 목적은 시스템의 메시지 흐름 시퀀스를 시각화하는 것입니다. 시퀀스 다이어그램은 두 라이프라인 간의 상호 작용을 시간 순서에 따른 이벤트 시퀀스로 보여줍니다.
- 시퀀스 다이어그램은 시스템의 시나리오 구현을 보여줍니다. 시스템의 라이프라인은 시스템 실행 중에 참여합니다.
- 시퀀스 다이어그램에서 수명선은 수직 막대로 표시됩니다.
- 둘 이상의 개체 간의 메시지 흐름은 페이지 하단을 가로질러 확장되는 수직 점선을 사용하여 표시됩니다.
- 시퀀스 다이어그램에서는 위에 설명된 다양한 유형의 메시지와 연산자가 사용됩니다.
- 시퀀스 다이어그램에서는 반복과 분기도 사용됩니다.

위의 시퀀스 다이어그램에는 생성, 응답, 비동기 메시지 등 시퀀스 다이어그램에서 사용되는 다양한 메시지의 표기법과 라이프라인 표기법이 포함되어 있습니다.
시퀀스 다이어그램 예
다음 시퀀스 다이어그램 예는 맥도날드의 주문 시스템을 나타냅니다.

주어진 시퀀스 다이어그램에서 순서가 지정된 이벤트 시퀀스는 다음과 같습니다.
- 주문.
- 현금 카운터에 돈을 지불하십시오.
- 주문 확인.
- 주문 준비.
- 서빙을 주문하세요.
연산 순서를 변경하면 프로그램이 충돌할 수 있습니다. 또한 잘못된 결과나 버그가 있는 결과가 생성될 수도 있습니다. 위에 주어진 시퀀스 다이어그램의 각 시퀀스는 다른 유형의 메시지를 사용하여 표시됩니다. 다이어그램의 모든 상호작용을 표시하는 데 동일한 유형의 메시지를 사용할 수 없습니다. 시스템에 복잡성을 초래하기 때문입니다.
특정 상호 작용에 대한 메시지 표기를 선택할 때는 주의해야 합니다. 표기법은 다이어그램 내부의 특정 순서와 일치해야 합니다.
시퀀스 다이어그램의 이점
- 시퀀스 다이어그램은 실제 애플리케이션이나 시스템을 탐색하는 데 사용됩니다.
- 시퀀스 다이어그램은 한 개체에서 다른 개체로의 메시지 흐름을 나타내는 데 사용됩니다.
- 시퀀스 다이어그램은 유지 관리가 더 쉽습니다.
- 시퀀스 다이어그램을 생성하기가 더 쉽습니다.
- 시퀀스 다이어그램은 시스템 내의 변경 사항에 따라 쉽게 업데이트될 수 있습니다.
- 시퀀스 다이어그램은 역방향 엔지니어링과 순방향 엔지니어링을 모두 허용합니다.
시퀀스 다이어그램의 단점
- 시스템에 너무 많은 수명선이 관련되면 시퀀스 다이어그램이 복잡해질 수 있습니다.
- 메시지 순서가 변경되면 잘못된 결과가 생성됩니다.
- 각 시퀀스는 서로 다른 메시지 표기법을 사용하여 표현되어야 하며, 이는 약간 복잡할 수 있습니다.
- 메시지 유형에 따라 다이어그램 내부의 시퀀스 유형이 결정됩니다.
협업 다이어그램이란 무엇입니까?
협업 다이어그램 소프트웨어 객체 간의 관계와 상호 작용을 묘사합니다. 시퀀스 다이어그램에서처럼 메시지의 흐름보다는 시스템 내의 객체 아키텍처를 이해하는 데 사용됩니다. "통신 다이어그램"이라고도 합니다.
객체 지향 프로그래밍(OOP)에 따르면 객체 엔터티에는 연관된 다양한 속성이 있습니다. 일반적으로 객체 지향 시스템 내부에는 여러 객체가 존재하며 각 객체는 시스템 내부의 다른 객체와 연관될 수 있습니다. 협업 다이어그램은 시스템 내부의 객체 아키텍처를 탐색하는 데 사용됩니다. 객체 간의 메시지 흐름은 협업 다이어그램을 사용하여 표현할 수 있습니다.
협업 다이어그램의 이점
- 커뮤니케이션 다이어그램이라고도 합니다.
- 상호 작용 다이어그램의 구조적 측면, 즉 생명선이 연결되는 방식을 강조합니다.
- 구문은 시퀀스 다이어그램과 비슷하지만, 라이프라인에 꼬리가 없습니다.
- 시퀀싱을 통해 전달된 메시지는 각 메시지에 계층적으로 번호를 매겨 표시됩니다.
- 시퀀스 다이어그램에 비해 통신 다이어그램은 의미상 약합니다.
- 객체 다이어그램은 통신 다이어그램의 특별한 경우입니다.
- 이를 통해 시퀀스 다이어그램에 설명된 대로 메시지 흐름에 초점을 맞추는 대신 요소에 집중할 수 있습니다.
- 협업 다이어그램은 그다지 표현력이 부족하기 때문에 시퀀스 다이어그램은 쉽게 협업 다이어그램으로 변환될 수 있습니다.
- 시퀀스 다이어그램으로 협업 다이어그램을 모델링하는 동안 일부 정보가 손실될 수 있습니다.

위의 협업 다이어그램 표기법에는 협업 다이어그램에 사용되는 커넥터, 자체 루프, 정방향 및 역방향 메시지와 함께 수명선이 포함되어 있습니다.
협업 다이어그램의 단점
- 시스템 내에 너무 많은 객체가 존재하면 협업 다이어그램이 복잡해질 수 있습니다.
- 시스템 내부의 각 개체를 탐색하는 것은 어렵습니다.
- 협업 다이어그램은 시간이 많이 걸립니다.
- 프로그램이 종료되면 객체는 파괴됩니다.
- 객체의 상태는 순간적으로 변경되므로 시스템의 객체 내에서 발생하는 모든 단일 변경 사항을 추적하기가 어렵습니다.
협업 다이어그램 예
다음 다이어그램은 학생 관리 시스템의 시퀀싱을 나타냅니다.
위의 협업 다이어그램은 학생 정보 관리 시스템을 나타냅니다. 위 다이어그램의 통신 흐름은 다음과 같습니다.
- 학생이 로그인 시스템을 통해 로그인을 요청합니다.
- 소프트웨어의 인증 메커니즘이 요청을 확인합니다.
- 데이터베이스에 학생 항목이 있으면 접근이 허용됩니다. 그렇지 않으면 오류가 반환됩니다.
타이밍 다이어그램이란 무엇입니까?
타이밍 다이어그램 시간의 인스턴스에서 라이프라인의 상태를 설명하는 데 사용되는 파형 또는 그래프입니다. 개체가 한 형태에서 다른 형태로 변환되는 것을 나타내는 데 사용됩니다. 타이밍 다이어그램에는 시퀀스 및 협업 다이어그램에서 요구하는 표기법이 포함되어 있지 않습니다. 다양한 시간의 인스턴스에서 소프트웨어 프로그램 간의 흐름은 파형을 사용하여 표현됩니다.
- 이는 다양한 개체 간에 전송되는 메시지의 특정 타이밍에 초점을 맞춘 상호 작용을 적절하게 표현한 것입니다.
- 타이밍 다이어그램은 특정 개체의 자세한 시간 처리를 설명하는 데 사용됩니다.
- 타이밍 다이어그램은 개체가 수명 내에 어떻게 변경되는지 설명하는 데 사용됩니다.
- 타이밍 다이어그램은 주로 분산 및 임베디드 시스템에서 사용됩니다.
- UML에서 타이밍 다이어그램은 왼쪽 가장자리에 지정된 수명선 이름에 따라 왼쪽에서 오른쪽으로 읽혀집니다.
- 타이밍 다이어그램은 때때로 라이프라인 내에서 발생하는 다양한 변경 사항을 나타내는 데 사용됩니다.
- 타이밍 다이어그램은 단위 시간당 라이프라인의 다양한 상태를 그래픽으로 표시하는 데 사용됩니다.
- UML은 단위 시간당 두 수명선 간의 전환 상태를 단순화하기 위한 다양한 표기법을 제공합니다.
타이밍 다이어그램 예
아래의 타이밍 다이어그램은 몇 가지 단계를 나타냅니다. 소프트웨어 개발 수명주기.
위의 다이어그램에서 소프트웨어는 먼저 요구 사항 단계를 거쳐 설계 단계를 거쳐 나중에 개발 단계를 거칩니다. 주어진 시간 인스턴스에서 이전 단계의 출력은 두 번째 단계에 입력으로 제공됩니다. 따라서 타이밍 다이어그램은 UML에서 SDLC(소프트웨어 개발 수명 주기)를 설명하는 데 사용할 수 있습니다.
타이밍 다이어그램의 이점
- 타이밍 다이어그램은 특정 시간 인스턴스의 객체 상태를 나타내는 데 사용됩니다.
- 타이밍 다이어그램은 역방향 엔지니어링과 순방향 엔지니어링을 모두 허용합니다.
- 타이밍 다이어그램을 사용하면 시스템 내부의 모든 변경 사항을 추적할 수 있습니다.
타이밍 다이어그램의 단점
- 타이밍 다이어그램은 이해하기 어렵습니다.
- 타이밍 다이어그램은 유지 관리가 어렵습니다.
상호작용 다이어그램을 그리는 방법은 무엇입니까?
상호작용 다이어그램은 시스템의 대화형 동작을 나타내는 데 사용됩니다. 상호 작용 다이어그램은 시스템의 동적 동작에 중점을 둡니다. 상호 작용 다이어그램은 시스템에 있는 하나 이상의 라이프라인 간의 상호 작용 컨텍스트를 제공합니다.
상호작용 다이어그램을 그리려면 먼저 상호작용 다이어그램을 그려야 할 시나리오를 결정해야 합니다. 상황을 결정한 후 상호작용에 관련될 다양한 라이프라인을 식별합니다. 모든 라이프라인 요소를 분류하고 탐색하여 가능한 연결과 라이프라인이 서로 어떻게 관련되어 있는지 식별합니다. 상호작용 다이어그램을 그리려면 다음과 같은 사항이 필요합니다.
- 상호 작용의 일부가 될 생명선의 총 수
- 시스템의 다양한 개체 내에서 메시지 흐름의 순서입니다.
- 상호작용 다이어그램의 기능을 편리하게 만들어주는 다양한 연산자입니다.
- 다양한 유형의 메시지를 통해 상호작용을 더욱 명확하고 정확하게 표시할 수 있습니다.
- 순서가 지정된 메시지 순서입니다.
- 객체의 조직과 구조.
- 객체의 다양한 시간 구성.
상호작용 다이어그램 사용
상호작용 다이어그램은 시퀀스 다이어그램, 협업 다이어그램, 타이밍 다이어그램으로 구성됩니다. 상호작용 다이어그램의 구체적인 목적은 다음과 같습니다.
- 시퀀스 다이어그램은 실제 애플리케이션이나 시스템을 탐색하는 데 사용됩니다.
- 상호 작용 다이어그램은 시퀀스, 협업 및 타이밍 다이어그램의 사용을 탐색하고 비교하는 데 사용됩니다.
- 상호작용 다이어그램은 시스템의 동작을 포착하는 데 사용됩니다. 시스템의 동적 구조를 표시합니다.
- 시퀀스 다이어그램은 한 개체에서 다른 개체로의 메시지 흐름을 나타내는 데 사용됩니다.
- 협업 다이어그램은 메시지 흐름보다는 시스템의 객체 아키텍처를 이해하는 데 사용됩니다.
- 상호 작용 다이어그램은 시간 순서에 따른 이벤트 시퀀스로 시스템을 모델링하는 데 사용됩니다.
- 상호작용 다이어그램은 순방향 엔지니어링뿐만 아니라 역방향 엔지니어링에도 사용됩니다.
- 상호작용 다이어그램은 상호작용 요소의 구조를 구성하는 데 사용됩니다.
제품 개요
- 상호 작용은 단순히 분류기 동작의 단위입니다.
- 상호 작용 다이어그램의 중요한 요소는 수명선과 메시지입니다.
- 상호 작용 다이어그램은 주로 메시지 전달에 중점을 둡니다.
- 상호 작용 다이어그램은 모든 시스템의 동적 동작을 캡처합니다.
- 상호작용 다이어그램에는 시퀀스 다이어그램, 타이밍 다이어그램, 통신/협업 다이어그램이 포함됩니다.
- 시퀀스 UML 다이어그램은 시스템의 메시지 흐름 순서를 시각화하는 것입니다.
- 협업 다이어그램의 목적은 구조적 측면을 강조하는 것입니다.
- 타이밍 다이어그램은 한 개체에서 다른 개체로 메시지가 전송되는 인스턴스에 중점을 둡니다.
