[SWAD] Ep. 9 OOD(4)

GLICO·2024년 10월 25일

SWAD

목록 보기
9/12
post-thumbnail

Contents

  • Dynamic Object Modeling
  • Sequence Diagram
  • Communication Diagram

Dynamic Object Modeling

동적 모델링

  • 시스템 기능을 만족시키기 위하여 각 빌딩 블록이 어떻게 상호작용하는지를 나타내는 것
    클래스의 인스턴스로 생성된 객체특정 시간에 다른 객체에 어떻게 메시지를 보내 상호작용하는지 나타냄

Interaction Diagrams

Interaction Diagram의 종류

Sequence diagram

  • 시간의 순으로 어떤 객체가 어떤 객체와 메시지를 교환하며 상호작용 하는지 나타냄

Communication diagram

  • 상호작용 객체 간의 연관을 표현하며 주고 받는 메시지로 구성
public class A{
	private B myB = new B();
    
    public void doOne(){
    	myB.doTwo();
        myB.doThree();
    }
    ...
    
}

Example scenario

public class Sale {
	private Payment payment;
    
    public void makePayment(Money cashTendered){
    	payment = new Payment(cashTendered);
        ...
    }
...
}

Sequence vs Communication

시퀀스 다이어그램과 커뮤니케이션 다이어그램 비교

  • 시퀀스 다이어그램 : 시간 축에 초점을 두고 사건의 흐름을 나타냄
  • 커뮤니케이션 다이어그램 : 객체의 관계에 초점을 두고 흐름을 네트워크 형태로 나타냄

Sequence Diagram

시퀀스 다이어그램의 기본 요소

  • 객체 (Object) : box로 표기
  • 메시지 (Message) : 보내진 방향으로 화살표로 표기
    actor가 있으면 actor가 시작점이 될 수도 있음
  • 라이프라인 (Lifeline) : 객체가 시스템에 존재하는 기간
  • 활성 박스 (Activation box) : 객체가 활성화 되어서 실행되는 기간

Order of Messages

Type of Messages

  • Synchronous message
    Sender가 response message를 받을 때까지 기다려야 하는 메시지
  • Asynchronous message
    Sender가 응답을 기다리지 않고 진행할 수 있는 메시지
  • Response message
    요청 메시지에 응답에 해당하는 메시지
    명확한 응답의 경우 생략 가능함

Message Syntax

Ohter Types of Messages

  • Found message
    보낸 사람이 누군지 모르는 경우, 보통 시작점
  • Lost message
    받는 사람이 누군지 모르는 경우
  • Self message
    자기 자신에게 보내는 메시지
  • Time-consuming message
    보내서 받는데 걸리는 시간

Instance creation and destruction messages

  • 생성의 경우 관용적으로 점선에 << create >> 메시지 표시
  • 소멸의 경우 << destroy >> 메시지와 X 로 표시

Guard notations

  • 조건 : 단일 메시지에 대해 조건을 명시하는 표기법
    [Condition] message와 같이 표기
  • 반복 : 단일 메시지를 여러 번 보내는 경우의 표기법
    *[for loop condition] message와 같이 표기

Example of Sequence Diagram



Communication Diagram

커뮤니케이션 다이어그램 구성 요소

  • 대부분의 표기법은 시퀀스 다이어그램과 유사
  • 연관된 객체는 화살표 없는 직선(link)으로 연결해줌
  • Message 표기

Recap.

Sequence diagram

  • 시간의 순으로 어떤 객체가 어떤 객체와 메시지를 교환하며 상호작용 하는지 나타냄 (특정 Use-case 또는 특정 Operation을 대상)

Communication diagram

  • 상호작용 객체 간의 연관을 표현하며 주고 받는 메시지로 구성

Sequence vs Communication

  • 각각의 용도와 장단점 파악
  • 각 diagram의 구성 요소 및 notation 파악
profile
Its me Glico

0개의 댓글