Software Engineering

[소프트웨어공학] 제11장 액티비티 다이어그램

iseop 2023. 5. 18. 21:28   인쇄용 버전

1. 단원 요약

4+1 View

  • 액티비티, 액션, 제어흐름
    • 액티비티: 일련의 액션들과 그 제어흐름으로 구성된 작업 단위, 모서리가 둥근 사각형
    • 액션: 액티비티 수행에 필요한 더 이상 분해 불가한 단일 작업, 모서리가 둥근 사각형
    • 제어흐름: 각 액션에 대한 입력흐름과 출력흐름, 화살표
  • 제어노드
    • 시작/종료: 액티비티의 시작과 종료를 표현
      • 액티비티 시작 노드: ⬤
      • 액티비티 종료 노드: ⦿
    • 흐름 종료: 액티비티가 아닌 특정 흐름의 종료를 표현
      • 흐름 종료 노드: ⊗
    • 조건 노드: 조건문과 같은 의미이며, 마름모로 표시
    • 병합 노드: 조건에 따른 흐름들이 합쳐지는 부분이며, 마름모로 표시
    • 포크/조인 노드: 병렬 처리를 표현하며, 굵은 막대로 표시
  • 객체, 객체흐름
    • 객체란 액션의 입/출력 데이터로, 간혹 물리적인 객체이기도 함
    • 객체 노드는 사각형으로 표시하며, 이름에 밑줄을 그어 인스턴스(=객체)임을 강조할 수 있음
    • 객체 흐름이란 어떤 액션에서 출력된 객체가 다른 액션의 입력으로 쓰이는 경우를 말함
    • 액션에 입출력이 필요함을 강조할 때는 객체 노드를 액션 노드 좌/우에 입력 핀과 출력 핀으로 표시한다.
    • 객체 흐름에서 객체의 일부 필드 혹은 일부 정보만 전달되는 경우 스테레오타입을 사용한다.
      • 객체 노드에서 액션 노드로 이어지는 화살표에 점선을 표시하고, 그 끝에 스테레오타입과 그 조건을 표시한다.
  • 확장영역
    • 입력 객체가 컬렉션인 경우, 컬렉션을 처리하는 구간을 확장 영역이라고 함
    • 사각형(객체 노드) 대신에 세로로 연결된 4개의 사각형(▤, 확장 노드)으로 표시함
  • 시그널
    • 오목 오각형으로 표시
    • 외부 액터(사람, 시스템, 프로세스)와의 상호작용을 의미함
    • 시그널이 수신되는 경우 액션이 실행됨(시그널의 송/수신은 비동기적이다.)
    • 시그널을 이용하여 인터럽트를 표현할 수 있다.
      • 이 때에는, 시그널 수신 액션에서 다음 액션으로 나가는 화살표를 지그재그로 표시한다.
  • 파티션
    • 스윔레인(swimlane)이라고도 하며, 각 액션에 (수행)책임을 갖는 참여자를 표시한다.
    • 가로 또는 세로로 구역을 구분하여 책임(수행) 주체를 표시한다.
  • 액티비티의 재사용성
    • 자주 사용되는 액션들이 중복될 때, 별도의 다이어그램을 만들고 그 자리에 포크 모양 아이콘(⫚)을 배치한다.
    • 이를 호출 액티비티 액션(노드)이라고 부른다.

 

2. 연습문제 요약

  • 시그널에 의해 액티비티가 실행되는 경우, 시작 노드가 생략될 수 있다.