Interation Diagrams
- Interaction diagrams illustrate how objects interact via messages. (Dynamic object modeling)
Sequence Diagram
- Lifeline boxes : Represent the participants (roles) : 아래로 lifelines 표시됨
- Messages
3 Types of Messages
- Synchronous message : 무조건 Response message를 기다림
- Sender waits until it has received a response message before continuing.
- An execution specification is inserted at target.
- Asynchronous message : Thread only
- Sender continues without waiting for a response message.
- Response message : ACK
- May be omitted if content and location are obvious
- Found message : system action
- Sender of a message is unknown or not relevant.
- Lost message : ACK
- Receiver of a message is unknown or not relevant.
- Time-consuming message : 사선으로 표시
- Usually messages are assumed to be transmitted without any loss of time.
Instance Creation / Obeject Destruction
Creation은
생성되는 Instance가 아래에 있고
-----▶ 점선으로 가서
Lifeline box 정중앙에 받음
<<destory>> 로 표시되는 메세지와
largeX로 lifeline을 끊는 순간 삭제
Combined Fragments and Operators
- 길어지는 Sequence diagram을 이쁘게 한장에 정리할 수 있게 하는 nested fragments
- alt Fragment : To model alternative sequences
aka. 스위치 구문
- opt Fragment : To model optional sequences
aka. else가 없는 if
- loop Fragment : To model repeatedly-executed sequences
guard의 조건이 참이면 (Min,Max) 까지 계속 반복 가능
loop = loop(*) = loop (0,*)
- seq Frament : Default order of events
여러가지 시나리오 (가이드)
순서가 다양할 수 있으니 잘 보라는 의미
* dependency 가 없는 다른 순서가 있을수 도 있다!
- break Frament : Similar to exception handling
다른 Fragment 안에 들어가 있음
break의 [ a<1 ] 조건이 참이면
b,c 만 수행하고 seq 바깥 박스를 나가는 것 !
→ d 가 수행되지 않음
Interaction Reference
- Integrates one sequence diagram in another sequence diagram
- 미리 sequence diagram을 정리해두고, 사용할때 ref 박스로 sd 이름 연결
Quiz) UML Interaction Diagrams에 대한 다음의 설명 중 올바른 것은?
① Interaction Diagram은 4가지 다이어그램에 대한 통칭이며, 실제로 그릴 수 있는 Diagram은 아니다.
② Sequence Diagram은 Communication Diagram 보다 더 Expressive Power가 강력하다.
③ Communication Diagram은 Sequence Diagram 보다 더 Expressive Power가 강력하다.
→ 똑같다
④ Interaction Overview Diagram은 더 큰 시나리오를 하나의 Interaction Diagram으로 그리는 방법이다.
→ 여러개의 interaction diagram, 하나의 activity/ flowchar로 그리는 방법
Quiz) 다음의 Sequence Diagram의 Message에 대한 설명 중 올바르지 않은 것은?
① Synchronous Message는 Sender가 메시지를 보낸 후, Response Message가 올 때까지 기다린다.
② Asynchronous Message는 Sender가 메시지를 보낸 후, Response Message를 기다리지 않는다.
③ Response Message는 생략이 가능하다.
④ 일반적으로 수평선으로 그려진 Message는 전송시간을 적게 소비하는 Message이다.
→ 전송시간이 적은 것이 아니라 없다고 보는 것이 맞다.
Quiz) 다음의 Sequence Diagram에서 해석이 불가능한 메시지 전송 순서를 고르세요.
① a – b – c – d – e
② a – c – b – d – e
③ c – a – d – b – e
④ c – d – e – a – b
Quiz) 다음의 Sequence Diagram에서에서, Operation enterItem( )의 body를 수도코드 수준으로 작성하세요.
enterItem(itemID,quantity) {
ProductCatalog productCatalog;
ProductDescription desc = productCatalog.getProductDesc(itemID)
}
본 글은 개인의 S/W 구조설계 역량 강화를 위한 학습 목적으로 정리된 내용입니다.
일부 타/개인 단체에 저작권이 있는 자료를 포함하고 있으므로, 절대 영리 목적으로 사용하실 수 없습니다.
'SW 공부 > OOP_OOAD_UML' 카테고리의 다른 글
[UML] Activity Diagram (2) | 2022.08.29 |
---|---|
[UML] Statechart Diagram (2) | 2022.08.29 |
[UML] Class Diagram (2) | 2022.08.29 |
[UML] Use Case Diagram (0) | 2022.08.29 |
[UML] 13개의 UML Diagrams 소개 (2) | 2022.08.29 |
댓글