- 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다.
- 커뮤니케이션 다이어그램
교류 다이어그램의 일종으로 요소들 간의 데이터 연결을 강조한다. 시퀀스 다이어그램은 모든 참여 요소들의 생명선을 있고, 수직방향으로 메시지의 순서를 표시한다. 반면 커뮤니케이션 다이어그램에서는 번호를 붙여 메시지의 순서를 나타낸다.
위 그림은 중앙 집중 제어방식의 커뮤니케이션 다이어그램이다. 커뮤니케이션 다이어그램을 통해서 참여 요소들이 어떻게 연결되었는지 보여줄 수 있다.
연관에서의 링크 뿐만 아니라 흐름상에서 발생하는 임시 링크(transient link)도 나타낼 수 있다. 주문에서 상품을 보면 <<local>> 이라고 되어있는데, 이는 지역 변수를 의미한다. <<parameter>>나 <<global>>도 있는데 UML2 에서는 없어졌지만 유용하므로 관례적으로 사용하면 더 명확한 의미를 보여할 수 있다. 객체의 생성과 제거는 <<create>>와 <<delete>> 키워드를 사용하기도 한다.
- 순서 Numbering
위 다이어그램에서 1~7과 같이 순서를 표기한 형식은 엄격한 잣대로 보면 적법한 UML은 아니다. 엄격한 기준에 따르면 아래 다이어그램과 같이 Numbering을 해야 한다.
할인 계산하기(1.5:) 와 할인 정보 가져오기(1.5.1:) 을 살펴보자. 왜 이렇게 번호를 붙였을까? 1.5.1은 1.5의 메소드에서 호출된다는것을 명확하게 나타낼 수 있기 때문이다. 1~7과 같이 단계없이 번호를 붙이면 해당 메소드가 어떤 메소드에서 호출된것인지 아니면 자체적으로 호출된것인지 알 수 없다.
하지만 적법하다고 해서 꼭 좋은것은 아닌데, 단계가 복잡해져서 1.1.3.2.1과 같이 번호가 붙으면 명확함에서 얻는 이익보다 복잡함으로 인한 손해가 더 클수도 있기 때문이다.
- 언제 사용하는가?
성향에 따라 시퀀스 다이어그램이나 커뮤니케이션 다이어그램을 사용하면 된다. 시퀀스 다이어그램은 호출의 순서에 더 중점을 두고 있고, 커뮤니케이션 다이어그램은 서로간의 연결을 강조하는데 좋다.
'Concepts > UML' 카테고리의 다른 글
UML - 컴포넌트 다이어그램 (0) | 2021.05.06 |
---|---|
UML - 복합 구조(Composite structure) (0) | 2021.05.05 |
UML - 액티비티 다이어그램 - 플로우 끝과 조인조건 (0) | 2021.04.12 |
UML - 액티비티 다이어그램 - 플로우와 엣지 (0) | 2021.04.12 |
UML - 액티비티 다이어그램 - 시그널 (0) | 2021.02.22 |
댓글