소프트웨어설계 5장

원래벌레·2022년 4월 9일
0

5장 내용 = 사용사례와 클래스다이어그램을 연결하는 다리를 공부 하는 것이다.

💍 동적 모델링 :

  • 시스템 기능을 만족시키기 위해 각 빌딩 블록이 어떻게 상호작용 하는지를 나타낸 것

  • 즉, 사용사례로 표현된 기능을 만족시키기 위해 시스템 내부의 구성요소들이 어떻게 협력하는지를 나타냄

💍 UML에서의 동적 모델의 표현 :

1) 인터렉션 다이어그램

  • 시퀀스 다이어그램
  • 커뮤니케이션 다이어그램

2) 상태 다이어그램

  • 상태 다이어그램
  • 액티비티 다이어그램

💎 시퀀스 다이어그램

  • 인터랙션 다이어그램
    1) 시퀀스 다이어그램 - 시간 축에 초점을 두고 사건의 흐름을 명시적으로 나타냄
    2) 커뮤니케이션 다이어그램
    -객체와 액터의 관계에 초점을 둠
    -시간의 흐름을 표현은 하지만 이를 초점을 두지는 않고 어떤것이 먼저 실행되고 하는 등 메시지에 순서번호가 매겨져 있다.

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

1) 액터 : 쫄라맨, 왼쪽 상단에 위해

2) 객체 :

인스턴스 이름
: 클래스 이름
  • 박스표시, 밑줄

3) 메시지 : 액터 -> 객체 , 객체 -> 다른 객체로 표시된 화살표, 둘사이의 관계를 나타내는 함수 이름을 적는다.

4) 라이프라인 : 객체에서 점선으로 내려오는 선. 객체가 시스템에 존재하는 기간을 의미

5) 액티베이션박스 : 라이프라인 을 감싸는 박스형태, 객체가 활성화되고 실행되는 시간을 의미

6) 객체 소멸 : 라이프라인 선 끝에서 X 심볼이 있다면 객체가 소멸했다는 의미이다.

7) 포크 : 한 줄기의 라이프라인에서 두개의 라이프 라인으로 분기 하는 그림, 스레드와 같이 병렬 메소드 호출 시, 두개의 라이프 라인으로 나타낸다.
분기 시적점을 포크된 부분이라 하고, 다시 라이프라인이 한 줄이 되는 지점을 join 지점이라 한다.

8) 프레임 : 프레임 안에 시퀀스 다이어그램 일부가 묶여 조건에 의한 택일 구조 또는 반복 구조를 이룰 수 있다.

💍 시퀀스다이어그램 그리는법

1) 다이어그램의 범위를 지정(주로 사용사례, 때때로 시스템.서브시스템.오퍼레이션 이 됨)
2) 객체 요소 파악(유스케이스 or 오퍼레이션 기능을 수행하기 위한 객체 요소)
3) 가능한 시나리오 파악
4) 시퀀스 다이어그램 작성 -> 메시지 작성시 화살표를 수신하는 객체에 오퍼레이션이 있어야 한다.
5) 추가적 시나리오 고려
6) 통합

💍 시퀀스 다이어그램의 특별 사례

1) 반복메시지 : Frame

  • 해당 프레임 안에 있는 내용이 반복된다.

2) 회귀 메시지


3) 다대다 관계에서 튀어나온 객체는 여러 인스턴스를 가진다. 이를 표현하기 위해서

객체를 이런식으로 표현

💍 다양한 메시지 표현

1) 메소드
2) 이벤트 : 버튼이 눌리거나 하는 상황
메시지에 괄호를 적는다. '[조건]메시지' 형태 조건을 만족하면 메시지를 보낸다라는 뜻

3) 시간이 걸리는 메시지

  • 위에 것이 일반적인 메시지, 아래것이 시간이 걸리는 메시지

4) 비동기 메시지

  • 위에가 동기메시지, 아래가 비동기 메시지
  • 비동기 메시지 같은 경우에는 동기적으로 일어나지 않기 때문에 어떤 메시지가 끝날 것을 기다리지 않고, 그냥 또다른 비동기 메시지를 실행한다.
    이럴때 멀티스레드를 이용하게 된다.

5) 다중 스레드

  • 비동기 메시지를 보낸다 > 멀티쓰레드 환경임
  • 다중 쓰레드 표기법
    1) 메시지 이름 옆에 쓰레드 식별자를 붙임
    ex) T1:logMessage(msg), T2:println("Hello")
    2) 포크를 표현하기 위해 라이프 라인을 둘로 나눔

💎 커뮤니케이션 다이어그램

별로 안중요

💍 요소

1) 액터
2) 객체
3) 링크
4) 메시지
5) 프레임

profile
학습한 내용을 담은 블로그 입니다.

0개의 댓글