협업 다이어그램 이름이 커뮤니케이션 다이어그램으로 바뀌었습니다. 자세한 정보는 UML 1.x 및 UML 2.0의 차이점을 참조하십시오.
커뮤니케이션 다이어그램은 특정 유스 케이스 또는 유스 케이스의 파트에서 동작을 수행하기 위해 오브젝트가 상호작용하는 방법을 표시할 때 사용합니다. 디자이너가 시퀀스 다이어그램과 함께 커뮤니케이션 다이어그램을
사용하여 유스 케이스의 특정 이벤트 플로우를 수행하는 오브젝트의 역할을 정의하고 명확히 합니다. 커뮤니케이션 다이어그램은 클래스 책임 및 인터페이스를 판별할 때 사용하는 기본 정보 소스입니다.
시퀀스 다이어그램과 달리 커뮤니케이션 다이어그램은 오브젝트 사이의 관계를 표시합니다. 시퀀스 다이어그램 및 커뮤니케이션 다이어그램은 유사한 정보를 표현하지만 표시하는 방법은 서로 다릅니다. 커뮤니케이션 다이어그램은
오브젝트 사이의 관계를 표시하고 프로시저 디자인 및 지정된 오브젝트에 대한 모든 영향을 이해하는 경우에 더 적합합니다.
커뮤니케이션 다이어그램의 형식 때문에 분석 타스크에 더 적합합니다(타스크: 유스 케이스
분석 참조). 특히 더 적은 오브젝트의 더 단순한 상호작용을 표시하는 데 더 적합합니다. 오브젝트 및 메시지 수가 많을 수록 다이어그램을 읽기 어렵습니다. 또한 추가 설명 정보(예: 타이밍, 결정 지점 또는
시퀀스 다이어그램의 노트에서 쉽게 추가할 수 있는 구성되지 않은 기타 정보)를 표시하기 어렵습니다.
커뮤니케이션 다이어그램의 컨텐츠
커뮤니케이션 다이어그램에는 오브젝트 및 액터 인스턴스와 함께 이들의 관계 및 상호작용 방법을 설명하는 링크 및 메시지가 있을 수 있습니다. 다이어그램에서는 오브젝트가 다른 오브젝트에 메시지를 송신하여
커뮤니케이션하는 방법과 관련하여 오브젝트 참가 시 나타나는 상황을 설명합니다. 유스 케이스의 이벤트 플로우가 변형될 때마다 커뮤니케이션 다이어그램을 작성할 수 있습니다.
재활용품 수집기 시스템에서 보관 항목 수신 유스 케이스의 이벤트 플로우 파트를 설명하는 커뮤니케이션 다이어그램입니다.
오브젝트 이름 및 밑줄 친 해당 클래스(콜론으로 구분됨)를 표시하는 오브젝트 기호로 오브젝트를 표시합니다.
objectname : classname
다음과 같은 방법으로 커뮤니케이션 다이어그램의 오브젝트를 사용할 수 있습니다.
-
오브젝트 클래스를 지정할 수 없습니다. 보통 먼저 오브젝트를 포함하는 커뮤니케이션 다이어그램을 작성하고 나중에 해당 클래스를 지정합니다.
-
오브젝트 이름을 지정할 수 없습니다. 그러나 동일한 클래스의 서로 다른 오브젝트를 구별하는 경우 이름을 지정해야 합니다.
-
오브젝트 클래스가 상호작용에 적극적으로 참가하는 경우 그 자체로 커뮤니케이션 다이어그램에 표시될 수 있습니다.
보통 액터 인스턴스는 커뮤니케이션 다이어그램에서 상호작용의 호출자로 나타납니다. 동일한 다이어그램에 액터 인스턴스가 여러 개인 경우 다이어그램 주변에서 액터를 유지하십시오.
링크는 다음과 같이 정의됩니다.
-
링크는 메시지를 송신할 수 있는 오브젝트 사이의 관계입니다. 커뮤니케이션 다이어그램에서 링크는 두 오브젝트 사이에서 실선으로 표시됩니다.
-
오브젝트는 기타 오브젝트와의 링크를 통해 기타 오브젝트와 상호작용하거나 기타 오브젝트를 탐색합니다.
-
링크는 연관의 인스턴스이거나 익명(해당 연관이 지정되지 않음)일 수 있습니다.
-
메시지 플로우는 링크에 첨부됩니다(메시지 참조).
메시지는 활동이 계속된다고 예상하는 경우 정보를 제공하는 오브젝트 사이의 커뮤니케이션입니다. 커뮤니케이션 다이어그램에서 메시지는 링크 가까이 위치한 레이블이 지정된 화살표로 표시됩니다. 즉, 링크를 사용하여
전송하거나 그렇지 않으면 대상 오브젝트에 대한 메시지 전달을 구현함을 의미합니다. 화살표는 링크에 따라 대상 오브젝트(메시지를 받는 오브젝트)가 있는 방향을 지시합니다. 메시지의 이름 및 매개변수가 화살표 레이블로
지정됩니다. 또한 전반적인 상호작용에서 메시지의 순서를 표시하도록 화살표 레이블에 시퀀스 번호가 지정될 수 있습니다. 시퀀스 번호는 메시지의 상대적인 시퀀스를 설명하는 유일한 방법이기 때문에 종종 커뮤니케이션
다이어그램에서 사용됩니다.
메시지는 지정되지 않을 수 있습니다. 즉, 해당 이름이 전반적인 메시지 내용을 설명하는 임시 문자열임을 의미합니다. 메시지의 대상 오브젝트 오퍼레이션을 지정하여 나중에 메시지를 지정할 수 있습니다. 메시지 이름은
지정된 오퍼레이션으로 바뀝니다.
|