통신 다이어그램과 시퀀스 다이어그램은 모두 UML 상호작용 다이어그램으로, 서로 변환 가능하며 유사한 책임 주체를 가지고 메시지로 구동되며 순차성을 갖습니다.
그러나 명확한 차이점도 있습니다. 통신 다이어그램은 객체 간의 협력 관계를 표현하고, 시퀀스 다이어그램은 객체 간 협력이 발생하는 메시지의 시간 순서를 표현합니다.
협업 다이어그램은 통신 다이어그램이라고도 하며, UML 상호작용 다이어그램의 일종으로, 시스템 이벤트에 의해 객체 간의 협업을 보여주며, 객체 간의 협력 관계에 중점을 둡니다. 협업 다이어그램은 객체가 특정 상호작용에 참여할 때 객체 간의 연결 방식과 어떤 메시지를 전달하는지에 대해 집중합니다.
협업 다이어그램은 주로 객체, 메시지 및 링크 세 가지 요소로 구성되며, 객체 간의 링크를 설정하고 링크에 메시지를 추가하여 객체 간의 상호작용을 나타냅니다. 메시지 이름은 참조 객체의 의도를 반영합니다.
협업 다이어그램은 그림 또는 그리드 형식으로 객체 상호작용을 설명하며, 객체는 다이어그램의 어느 위치에든 배치될 수 있습니다. 협업 다이어그램을 사용할 때 객체 간의 링크를 설정하고 그 위에 정보를 추가하여 객체 간의 상호작용을 나타내며, 메시지 이름은 참조 객체와 상호작용할 때의 의도를 반영합니다.
UML 2.0 이후로는 협업 다이어그램을 더 이상 사용하지 않으며, 모두 통신 다이어그램으로 통일하여 사용합니다. 아래에서는 통신 다이어그램으로 통일하여 설명합니다.
실시간 다중 사용자 공동 작업 및 공유 링크를 통한 즉각적인 정보 전달
텍스트 입력으로 자동 생성 및 스타일 최적화
사전 제작 테마 및 완전한 사용자 지정
아이콘, 이미지, 라벨, LaTeX 수식, 코드 블록, 링크, 첨부 파일 지원
내보내기: PNG, VISIO, PDF, SVG | 가져오기: VISIO, Mermaid
실시간 클라우드 저장, 다중 기기 동기화, 버전 기록 및 데이터 보안
통신 다이어그램과 시퀀스 다이어그램은 모두 UML 상호작용 다이어그램으로, 서로 변환 가능하며 유사한 책임 주체를 가지고 메시지로 구동되며 순차성을 갖습니다.
그러나 명확한 차이점도 있습니다. 통신 다이어그램은 객체 간의 협력 관계를 표현하고, 시퀀스 다이어그램은 객체 간 협력이 발생하는 메시지의 시간 순서를 표현합니다.
통신 다이어그램은 주로 객체, 메시지, 링크 세 가지 요소로 구성됩니다.
객체:협력 다이어그램과 시퀀스 다이어그램에서 객체의 개념은 동일하지만, 협력 다이어그램에서는 객체의 생성과 소멸을 표현할 수 없으므로 객체의 위치에 제한이 없습니다.
메시지:메시지는 발신자, 수신자, 메시지 이름 세 부분으로 구성되며, 상호작용 과정에서 메시지 발신 순서를 설명하기 위해 메시지에 번호를 부여해야 합니다.
링크:링크는 객체 간의 연결이며, 클래스 연관의 한 인스턴스입니다. 링크는 실선이나 호를 사용하여 두 객체를 연결합니다.
메시지는 일반적으로 동기 메시지, 비동기 메시지, 반환 메시지, 자기 연관 메시지로 나뉩니다.
동기 메시지:객체가 메시지를 보낸 후, 메시지를 받은 객체가 응답을 완료하고 메시지를 반환할 때까지 다른 작업을 수행하지 않으며, '실선 화살표'로 표시됩니다;
비동기 메시지:객체가 메시지를 보낸 후, 수신 객체의 반환 메시지를 기다리지 않고 다른 작업을 계속 수행할 수 있으며, '실선+보다 크다 기호'로 표시됩니다;
반환 메시지:프로세스 호출에서 반환되며, '점선 화살표'로 표시됩니다;
자기 연관 메시지:메서드의 자기 호출 또는 객체 내의 한 메서드가 다른 메서드를 호출하는 것을 나타내며, '반폐쇄된 직사각형+아래쪽 실선 화살표'로 표시됩니다.
메시지 번호는 두 가지가 있으며, 하나는 계층이 없는 번호(순차적으로 번호 매김)로, 간단하고 직관적입니다; 다른 하나는 중첩 번호로, 메시지의 포함 관계를 표현하기에 더 용이합니다.
1, 상호작용의 맥락 설정
2, 상호작용의 장면 설정
3, 각 객체에 초기 특성 설정
4, 객체 간에 정보가 전달될 수 있는 링크 설명
5, 메시지의 순서 번호 설정
유스케이스에 대해:객체 간 메시지 전달 상황을 설명하여 구체적인 사용 맥락의 논리적 표현을 반영합니다
객체에 대해:객체 및 그 상호작용 관계의 공간적 조직 구조를 표시합니다
클래스에 대해:클래스 작업의 구현을 표현합니다
통신 다이어그램과 시퀀스 다이어그램은 객체 상호작용을 설명할 때 메시지 전달에 중점을 두지만, 각각의 초점이 다르므로 완전히 대체할 수 없습니다.
시퀀스 다이어그램은 객체 간 메시지 전달의 시간 순서에 중점을 두고, 통신 다이어그램은 객체 간 구조와 메시지 전달 방식을 더 중시합니다.
통신 다이어그램의 객체와 시퀀스 다이어그램의 객체 개념은 동일하며, 명명 방식은 일반적으로 세 가지가 있습니다:
1)객체명과 클래스명을 모두 표시
2)객체명만 표시하고 클래스명은 표시하지 않음
3)클래스명만 표시하고 객체명은 표시하지 않음
이 세 가지 명명 방식 모두 표준에 부합하며, 어떤 것이 가장 쉽게 이해될 수 있는지를 선택하면 됩니다.
아닙니다. 각 메시지에는 번호가 있으며, 번호는 일반적으로 정수로, 메시지의 전송 순서를 나타냅니다.
시퀀스 다이어그램의 시간 순서는 위에서 아래로의 순서이며, 통신 다이어그램의 시간 순서는 메시지 번호를 통해 표시됩니다.
링크는 일반적으로 두 가지 형태가 있습니다. 하나는 두 개의 다른 객체를 연결하며, 직선으로 표시되고, 다른 하나는 객체가 자신과 연결되는 것으로, 호를 통해 연결됩니다.
통신 다이어그램에서는 화살표로 메시지 방향을 표시하며, 잘못된 화살표는 제어 흐름을 뒤집을 수 있으므로 화살표 방향을 엄격하게 표시하여 메시지 수신자를 가리켜야 합니다.
통신 다이어그램은 객체 간 구조가 명확한 상호작용 장면을 표현하는 데 적합하며, 전체 시스템 프로세스를 하나의 그림에 그리기에 적합하지 않습니다. 이는 객체와 선이 혼란스럽고 구별하기 어려울 수 있으므로 각 그림은 하나의 유스케이스 또는 모듈 상호작용에 집중하며, 객체 수는 5~7개로 제한합니다.