본문 바로가기
SW 공부/OOP_OOAD_UML

[UML] Sequence Diagram

by 꼬냉상 2022. 8. 29.

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

댓글