1. interaction diagram 종류
- 우리가 이제까지 배운 sequence diagram은 interaction을 표현하기 위한 방법이였다.
- 표기법만 다른, 동일한 목적과 역할을 수행하는 diagram도 있다. 서로 정확하게 대응이 가능하다.
- communication diagram이라고 한다. Interaction diagram의 한 종류이다.
- timing diagram이라고 한다. 역시 Interaction diagram의 한 종류이다.
- 각 개체의 state를 고려한 interaction을 표현할 때 유리하다.
- activity diagram과 sequence diagram을 합한 모습이다.
- Interaction overview diagram이라고 한다. 역시 Interaction diagram의 한 종류이다.
- Interaction Diagrams은 메시지를 통해 object들이 상호작용하는 것을 묘사하는 모델이다. 여러 dynamic object modeling을 위해 사용된다.
- 위의 종류중 sequence Diagram 은 Communication Diagram와 서로 동일하게 변환이 가능하다.
- sequence diagram은 time에 따른 interaction을 부각한다.
- communication diagram은 누가 누구와 communication하는지를 강조한다.
- 이번 장에서는 communication diagram에 대해 알아보자.
2. Communication Diagram
link, connection path, 화살표, 이름
- link, connection path를 통해 두 object간의 navigation, visibility를 나타낸다.
- 메시지의 이름, 순서, 방향을 나타낼 수 있다.
create, new message
- 얘는 조금 특별한 메시지 이다. create, new 라는 이름을 쓴다.
- 예시에서는 새로운 Sale 객체를 만들어내는 이벤트를 나타낸다.
conditional, mutual exclusion
- 메시지를 보내는 조건을 표시할수도 있다.
- color가 red일때만 calculate메시지가 전달된다.
- 1a, 1b 라는 표시를 더하면 A가 1a, 1b중 하나로만 mutual exclusive하게 상태가 결정된다는 것을 의미한다.
iterative message message
- 반복적인 Loop message도 나타낼 수 있다. 1부터 n까지 반복해서 메시지를 보낸다.
static method call
- 이전까지 살펴본 message 전달은 전부 객체를 대상으로 하고 있다.
- 이번에는 정적인 class와 주고받는 메시지를 알아보자.
- <<metaclass>> 키워드를 써서 class임을 명료하게 나타낸다.
polymorphic message
- 다형성도 나타낼 수 있다.
- 예를들어 payment 추상클래스를 debitpayment, creditpayment가 상속하고 있다고 하자. 누구의 authorize 메서드를 호출하냐에 따라 총 세가지 경우가 나올 수 있다.
- 이런 경우는 위처럼 나타낼 수 있다.
asynchronous message
- 화살표 모양을 달리해서 동기, 비동기 콜을 구분할수도 있다.
- clock run은 asynchronous 비동기 메시지로 화살표가 좀 특이하다.
- 그리고 :Clock은 활동중인 비동기 object임을 나타내기 위해 박스 모양도 좀 다르다.
'ComputerScience > Software Engineering' 카테고리의 다른 글
소프트웨어공학 - 18. SOLID (0) | 2022.05.19 |
---|---|
소프트웨어공학 - 17. GRASP (0) | 2022.05.12 |
소프트웨어공학 - 15. MVC Architecture pattern (0) | 2022.05.04 |
소프트웨어공학 - 14. Object-Oriented Paradigm (0) | 2022.04.28 |
소프트웨어공학 - 13. Logical Architecture (0) | 2022.04.28 |