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

블로그 메뉴

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

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
chlqhrud0208

나 혼자 코딩

소프트웨어공학

설계 (Part 5) 동적모델링 - 상태, 액티비티 다이어그램

2024. 12. 15. 13:15
  • 상태 다이어그램 (State Diagram)
    - 하나의 객체가 생존기간동안 다른 객체와 상호작용하면서 어떻게 상태가 변해가는지를 표현하는 다이어그램
    - 객체들 사이에서 발생하는 이벤트에 의해서 객체의 상태가 변화

 

  • 상태 다이어그램의 용도 
    - 한 객체의 상태 변화를 상세히 분석
    - 이벤트에 대한 객체의 반응 분석
    - 객체의 속성이나 동작 검증
       -> 객체의 상태는 속성값(변수)로 정의
       -> 이벤트는 객체의 동작(메소드)로 정의
       -> 향후 클래스 다이어그램에 정의된 클래스의 속성과 동작을 검증할 수 있음
    +) 객체 다이어그램의 하나의 객체는 상태 다이어그램의 한 순간임

 

  • 상태 다이어그램의 구성요소
    - 시작 상태
    - 종료 상태
    - 상태 (state)
    - 상태 전환 (전이, transition)
       -> 상태 사이의 흐름을 화살표로 표현
    - 이벤트
       -> 상태 전환을 유발하는 자극
       -> ' 트리거 [가드] / 액티비티 '로 표현됨
            - 트리거 : 전이를 유발하는 이벤트의 이름
            - 가드 : 전이가 일어나는 조건 (boolean)
            - 액티비티 : 전이가 일어나는 동안 수행되는 행동
    - 프레임
       -> 상태 다이어그램의 범위 ( 주석 처리 같은 것 -> 구현 때 도움 )

 

  • 액티비티 다이어그램(Activity Diagram) - 활동 다이어그램
    - 시스템이 어떻게 동작하는지 시스템의 전체적인 흐름을 모델링하기 위해 사용
    - 객체들의 상호관계를 순서에 따라 도식화

 

  • 액티비티 다이어그램의 용도
    - 유스케이스 다이어그램의 실현화
       -> 유스케이스 다이어그램에서는 알 수 없는 시간의 흐름을 액티비티 다이어그램을 통해 표현할 수 있다.

 

  • 액티비티 다이어그램의 구성요소
    - 시작점에서 시작하여 액티비티를 거쳐 끝나는 흐름 (기본)
    - 분기 : 둘 중 어떤 것을 선택할지 나누는 흐름 ( 마름모를 사용해서 분기와 병합을 표현 )
    - 병렬 : 두 가지 업무가 동시에 진행됨
       -> 포크 노드와 조인 노드를 이용하여 병렬을 나타냄
       -> 액티비티를 실행하는 주체를 알 수 없음
    - 파티션
       -> 액티비티를 진행하는 객체에 따라 파티션을 나눠서 객체를 표시
       -> 액티비티 다이어그램의 Swim Lane화

 

  • 동적 다이어그램 비교
    - 시퀀스 다이어그램 vs 액티비티 다이어그램
       -> 시퀀스 다이어그램 : 객체 중심, 객체간의 어떤 메세지를 주고 받는지
       -> 액티비티 다이어그램 : 액티비티 중심, 어떻게 객체들이 소통하는지

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

설계(Part 7) : 모듈화  (0) 2024.12.15
설계 (Part 6) : 절차지향 모델링 (데이터 흐름도(DFD))  (0) 2024.12.15
설계(part 4) - 동적 모델링 (시퀀스 다이어그램)  (1) 2024.12.15
설계(Part3) - 정적모델링  (2) 2024.10.21
설계 (Part2) UML 모델링  (0) 2024.10.21
    '소프트웨어공학' 카테고리의 다른 글
    • 설계(Part 7) : 모듈화
    • 설계 (Part 6) : 절차지향 모델링 (데이터 흐름도(DFD))
    • 설계(part 4) - 동적 모델링 (시퀀스 다이어그램)
    • 설계(Part3) - 정적모델링
    chlqhrud0208
    chlqhrud0208

    티스토리툴바