chlqhrud0208
나 혼자 코딩
chlqhrud0208
전체 방문자
오늘
어제
  • 분류 전체보기 (23)
    • Git & Github (2)
    • 그로스 해킹 (2)
    • 소프트웨어공학 (19)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 그로스 해킹

공지사항

인기 글

태그

  • 그로스 해킹
  • GitHub
  • Git
  • 그로스해킹

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
chlqhrud0208

나 혼자 코딩

소프트웨어공학

설계(part 4) - 동적 모델링 (시퀀스 다이어그램)

2024. 12. 15. 12:27
  • UML 모델링
    - 기능적 관점 : 사용자 관점에서 요구사항 중심으로 보는 것 ( 유스케이스 다이어그램 )
    - 정적 관점 : 시간적인 흐름 없음, 시스템의 구조를 보는 것 ( 클래스 다이어그램 )
    - 동적 관점 : 시간적인 흐름 있음, 객체의 소통이나 시스템의 처음과 끝 같은 시스템의 내부 동작을 보는 것 ( 시퀀스 다이어그램 )

 

  • 동적 모델링을 하는 이유
    - 시스템의 동작을 이해하기 위해서
       -> 시스템의 객체들 사이의 인터렉션을 보고 이해
    - 요구사항을 충족하는지 검증하기 위해서
    - 시스템의 동작을 추적해서 문제 해결을 하기 위해서

 

  • 동적 모델링의 다이어그램
    - 시퀀스 다이어그램 (시스템 관점) : 객체들의 메세지(인터렉션) 순서를 이용해 어떻게 상호작용하는지 초점을 맞춰서 나타낸 것
    - 상태 다이어그램 (객체 관점) : 하나의 객체가 이벤트 발생에 의해 어떻게 상태가 변화하는지에 초점을 맞춰서 나타낸 것
    - 액티비티 다이어그램 (시스템 관점) : 객체보다는 시스템의 전체적인 흐름을 순차적으로 나타내는 것

 

  • 시퀀스 다이어그램 (Sequence Diagram)
    - 객체들이 상호작용하는 인터렉션을 순서에 맞춰서 시각화한 것
    - 클래스 다이어그램 기반으로 작성 (클래스 다이어그램만을 이용해서는 순서를 모르기 때문에 코딩을 구현할 수 없음)|
    - 시스템의 동적인 측면을 캡처한 것 - 동적 뷰(Dynamic View)
    - 각 클래스의 오퍼레이션을 파악하는데 유용

 

  • 시퀀스 다이어그램의 구성 요소
    - 액터
    - 객체
       -> Kim : Person
            Kim : 객체 이름 / Person : class 이름 / 명시되어있지 않음 : 자유
    - 생명선 (life line)
       -> 객체의 생성, 소멸, 활성화될 때를 표현 (소멸시 생명선 아래에 X)
       -> 점선으로 표현 (위에서 아래)
    - 활성박스 (Activation Box)
       -> 객체가 다른 객체와 상호작용 하는 것을 표현
    - 메세지
       -> 객체간 주고받는 데이터를 표현
       -> 일반적으로 요청(request)와 응답(response)로 구성
       - 동기 메세지 : 요청을 보낸 후 반환이 올때까지 대기 (채워진 화살표 사용)
       - 비동기 메세지 : 요청을 보낸 후 반환을 기다리지 않음
       - 자체 메세지 : 자기 자신에게 요청을 보내는 것
       - 반환 메세지 : 요청에 응답하는 메세지
    - 프레그먼트
       -> 시퀀스 다이어그램에서 범위를 명시하기 위한 표현 (박스 형태)
       -> 대괄호로 조건 표현 ex. [N > 2000]
       - opt(옵션) : if, switch
       - alt(대한) : else if 같은 대안이 있는 조건문
       - loop(반복) : 반복문, for, while
       - par(병렬) : 병렬처리, 동시에 수행

 

  • 시퀀스 다이어그램 그리는 순서
    1. 다이어그램의 범위 확정
    2. 필요한 객체 요소 파악
    3. 다양한 시나리오 고려
    4. 구체적인 그림 그리기
       - 프레임 생성, 라이프 라인을 왼쪽부터 배치, 메세지의 순서는 위에서 아래로
    5. 다른 시나리오에 대한 시퀀스 다이어그램 그리기
    6. 종합하여 하나의 시퀀스 다이어그램으로 종합하기

 

  • 시퀀스 다이어그램의 장단점
    - 장점 : 메세지의 순서나 시간 순서를 명확히 알 수 있음
                객체 사이의 상호작용을 한눈에 볼 수 있음
                코딩을 구현하기 쉬움
    - 단점 : 복잡한 상호작용을 표현하기 어려움 (한계점)
                이미 완성된 시퀀스 다이어그램을 수정하기 어려움 (유지보수때 상당히 큰 단점)

'소프트웨어공학' 카테고리의 다른 글

설계 (Part 6) : 절차지향 모델링 (데이터 흐름도(DFD))  (0) 2024.12.15
설계 (Part 5) 동적모델링 - 상태, 액티비티 다이어그램  (0) 2024.12.15
설계(Part3) - 정적모델링  (2) 2024.10.21
설계 (Part2) UML 모델링  (0) 2024.10.21
설계 (Part1)  (0) 2024.10.21
    '소프트웨어공학' 카테고리의 다른 글
    • 설계 (Part 6) : 절차지향 모델링 (데이터 흐름도(DFD))
    • 설계 (Part 5) 동적모델링 - 상태, 액티비티 다이어그램
    • 설계(Part3) - 정적모델링
    • 설계 (Part2) UML 모델링
    chlqhrud0208
    chlqhrud0208

    티스토리툴바