'다이어그램'에 해당되는 글 1건

  1. 2010.03.23 시퀀스 다이어그램의 간단한 내용.
반응형

시퀀스 다이어그램
1.1. 기본 개념
1) 생성과 소멸
- 객체 생성 : 메시지 화살표의 끝이 객체의 생명선이 아니라, 생성될 객체를 가리킨다.
- 객체 소멸
* 자바에서는 가비지컬렉터가 객체를 자동으로 소멸시키지만, 경우에 따라서 객체가 필요없음을 명확하게 가비지컬렉터에 알리고 싶은 경우도 발생한다.
* 메시지 화살표의 끝이 소멸될 객체의 생명선을 가리키며, 그 끝을 "X"로 표기한다. 소멸된 객체의 생명선도 더 이상 진행되지 않는다.

2) 단순한 반복
- 단순한 반복은 반복할 메시지 주위에 상자를 그리고, 반복조건은 '[]'로 둘러싸서 상자 안쪽에 적는 방식을 사용한다.
- 유용한 표기 관습이기는 하지만 알고리즘을 시퀀스 다이어그램으로 나타내려고 하는 것은 좋은 방법은 아니다.
- 시퀀스 다이어그램은 객체사이의 연결을 드러나개 위해 사용하는 것이지, 알고리즘의 세부사항을 보여주기 위해 사용하는 것이 아니다.

3) 사례와 시나리오
- 수많은 객체와 메시지로 가득 찬 시퀀스 다이어그램을 그리지 마라. 아무도 읽을 수 없고, 읽으려고 하지 않는다.
- 하려는 일의 핵심만 집어서 더 작은 시퀀스 다이어그램을 여러 개 그리는 것이 좋다.
- 코드로 이해하는 것이 쉽다면 시퀀스 다이어그램을 그릴 필요는 없다.

1.2. 고급 개념
1) 반복과 조건
- 시퀀스 다이어그램에서 반복과 조건을 표시할 수는 있지만, 알고리즘을 전부 시퀀스 다이어그램으로 그려도 된다고 생각해서는 안된다.
- 어떤 알고리즘을 표현할 때는 코드 자체가 좋다.

2) 시간이 걸리는 메시지들
- 객체에서 객체로 메시지를 보내는 경우에는 소요 시간이 '0'이라고 가정한다.
- 네트워크 경계를 넘어서 메시지를 송수신할 경우에는 시간이 소요될 수 있다.
- 메시지를 송수신하는 데 시간이 걸리거나, 그 사이 흐름이 끊길 가능성이 있는 시스템의 경우 해당 메시지를 수평으로 표시하지 말고 각도가 있는 선을 그려서 표현한다.
- 이 때 두 메시지 선의 교차는 경쟁조건(race condition)이라고 부른다. 경쟁조건은 비동기적으로 동작하는 두 존재가 동시에 실행할 수 없는 함수를 호출할 때 발생한다.
- 시퀀스 다이어그램은 경쟁조건을 찾아내거나 진단하는데 도움이 될 수 있다.

3) 비동기 메시지
- 동기 메시지 : 객체에게 메시지를 보낼 때 메시지를 받은 객체가 수행을 마칠 때가지는 제어를 되찾을 수 없는 경우 (-----▶)
- 비동기 메시지 : 분산시스템 또는 멀티스레드 시스템에서는 메시지를 보내는 객체가 메시지를 보낸 후 즉시 제어를 다시 받고, 메시지를 받는 객체가 다른 스레드의 제어 흐름에서 실행되는 경우 (∠____  or ----->)


4) 다중 스레드
- 스레드 식별자를 쓰고 뒤에 콜론(:)을 붙인다. (예  T1:)

5) 활동적인 객체
- 활동적인 객체 : 독립된 내부 스레드를 가진 객체
- 시퀀스 다이어그램에서는 해당 객체를 표기할 때 두꺼운 외각선을 사용한다.
Posted by 상피리꿈
이전버튼 1 이전버튼

반응형
블로그 이미지
상피리꿈
Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

글 보관함


반응형