ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OOP/UML] Sequence Diagram
    Learn/OOP&UML 2022. 8. 14. 22:33

    # Interaction Diagrams

    Interaction Diagram은 실제 존재하는 Diagram은 아니고 개념적인 것. (아래 4개를 통칭하는 이름)

    Interaction Diagram은 functional requirement별로 하나씩 그림

     

    [OOP] 4. UML

    OMG라는 회사에서 만든 Unified Modeling Language # MOF (Meta Object Facility) - Layer M3: Meta-meta model layer (The MOF model) - Layer M2: Meta model layer (The UML meta model) - Layer M1: Model lay..

    push-and-sleep.tistory.com

        - Sequence diagram

        - Communication diagram 

        - Interactive overview diagram : 

        - timing diagram

    이 중 Sequence Diagram이 가장 많이 쓰임

     

    간단한 정의는 이전 정리 참고

    https://push-and-sleep.tistory.com/31?category=957235 

     

    [OOP] 4. UML

    OMG라는 회사에서 만든 Unified Modeling Language # MOF (Meta Object Facility) - Layer M3: Meta-meta model layer (The MOF model) - Layer M2: Meta model layer (The UML meta model) - Layer M1: Model lay..

    push-and-sleep.tistory.com

     

    # Sequence and Communication Diagram

    sequence diagram

    doOne은 밖에서 호출됨. 

    doOne이 호출되면 A는 B에 정의된 doTwo, doThree를 호출함. 

     

    위를 코드로 적어보면

    Class diagram에는 structure만 있고 구현을 하려면 sequence diagram이 필요함. 

     

    위를 Communication diagram으로 표현하면

    doOne은 밖에서 들어오는 system operation이기 때문에 번호가 없음. 

     

    # Order of Messgaes

    아래 그림에서 왼쪽같은 경우는 위에서부터 a, c순으로 실행된다. 

    다만 오른쪽처럼 의존관계가 없을때는 어떤걸 먼저 해도 상관없다. 

    # Type of Messages

    Synchronous message

    - Response message가 올때까지 기다린다. 

    - thread를 제외한 나머지 소프트웨어 메시지는 모두 여기에 해당한다. 

    Asynchronous message

    - thread는 언제 실행될지 모르고 무작정 기다릴 수 없으므로 response를 기다리지 않는다. 

    Response message

    - Synchronous messsage와 쌍으로 나온다. 

    - 명확한 경우에는 생략 가능

    # Message Syntax

    return = message (parameter: parameterType) : returnType

        > 이게 full description이고 꼭 이렇게 다 써야하는건 아니다. 

     

    # Singleton Object

    박스에 1을 적어주면 singleton

    # Instance Creation

    create() 형태로 적는다. 

    create를 요청하는 객체가 위, create 되는 객체가 아래에 위치한다. 

    # Fragments

    alt Fragment

    - switch 문

    - nested가 가능함

     

    opt Fragment

    - else가 없는 if문

    alt와 opt가 같이 나타난 예시

    loop Fragment

    - 최소, 최대 실행 횟수를 표시

    - 아래 예시는 최소 1회 최대 무한하게 실행하는데 아래 컨디션 a<1을 만족하지 않으면 종료한다. 

    break Fragment

    - 다른 것 안에 들어가있어야됨. 

    - 아래의 경우 조건문을 만족하면 b,c를 실행하고 d는 실행하지 않는다. 

        > 그리고 박스 밖으로 나가서 e를 실행한다. 

    - 조건문을 만족하지 않으면 break문은 실행하지 않는다. 

    seq Fragment

    위에서부터 a > b > c > d > e는 당연히 가능. 

    "seq"가 붙어있다는 뜻은 다른 경우도 있다는 뜻. (사실 sequence diagram에서는 seq없어도 이게 가능함)

        - 아래 케이스에서 (a, b)와 c는 의존성이 없으므로 전후가 바뀌어도 된다. (물론 a, b의 순서는 지켜져야됨)

     

    use case기반으로 sequence diagram을 먼저 그리고 class diagram을 그리는게 더 쉽다. 

     

    # QUIZ

    정답 1번. 

    2번 - 똑같다. 그냥 서로 장단점이 있을 뿐. 

    3번 - 똑같다. 

    4번 - "여러개의 Interaction Diagram" 또는 "하나의 Flow Chart"

     

    정답 4번. 전송시간이 없는 메시지이다. 전송시간이 있으면 기울어진 화살표로 표시한다. 

     

    a다음 b, c다음 d라는 순서만 지켜지면 가능하고 그 이후 e가 나와야하낟. 

    정답 4번. a, b전에  e가 나오므로 틀렸다. 

     

     

    'Learn > OOP&UML' 카테고리의 다른 글

    [OOP/UML] Activity Diagram  (0) 2022.08.17
    [OOP/UML] Statechart Diagram  (0) 2022.08.17
    [OOP/UML] Class Diagram  (0) 2022.08.12
    [OOP/UML] Use Case Diagram  (0) 2022.08.10
    [OOP/UML] UML  (0) 2022.08.09

    댓글

Designed by Tistory.