System Engineering/SysML

SysML/UML - Use Case Diagram (유즈케이스 다이어그램) : 관계 및 명세서

habana4 2024. 12. 8. 02:35
728x90
반응형
 

유즈케이스 다이어그램은 직관적 표현으로 사용자가 원하는 기능을 설명할 수 있습니다.

이번 포스팅에서는 유즈케이스 다이어그램을 언제 작성해야 하며

어떻게 유즈케이스 다이어그램 명세서까지 작성할 수 있는지에 대해 알아 보겠습니다.

 

 

 

1. 유즈케이스 다이어그램의 의미와 목적

유즈케이스 다이어그램은 시스템과 사용자 간의 상호작용을 시각적으로 표현한 다이어그램입니다. 즉, 사용자가 시스템을 통해 어떤 일을 할 수 있는지를 간결하고 명확하게 보여주는 그림이라고 할 수 있습니다. 유즈케이스 다이어그램은 시스템 초기 단계부터 활용될 수 있지만, 프로젝트의 특성, 개발방식, 그리고 요구사항 명확성에 따라 작성 시점 및 목적이 달라질 수 있습니다.

 

유즈케이스 작성을 위한 표기법과 구성요소에 대해서는 별도로 정리된 포스팅을 참고 바랍니다. 

참고: 2024.11.26 -OMG SysML 다이어그램 마스터하기::모델링 가이드

1-1. 요구사항 분석 초기 단계에서의 유즈케이스 다이어그램 목적

  • 시스템에 대한 이해도를 높이기 위해: 개발팀이 시스템에 대한 공통된 이해를 갖도록 돕고, 누락된 기능이나 중복되는 기능을 파악하는 데 도움을 줍니다.
  • 사용자와의 의사소통을 위한 도구: 사용자와 개발팀 간의 요구사항에 대한 오해를 줄이고, 시스템의 기능에 대한 공감대를 형성하는 데 활용됩니다.
  • 스템 요구사항 명확화: 시스템이 제공해야 할 기능을 사용자의 관점에서 명확하게 정의하고 문서화합니다.

1-2. 시스템 설계 단계의 유즈케이스 다이어그램 목적

  • 시스템의 기능을 구체화하기 위해: 유즈 케이스 다이어그램을 바탕으로 시스템의 기능을 상세하게 설계하고, 각 기능 간의 관계를 파악합니다.
  • 시스템 구조를 정의하기 위해: 시스템의 구성 요소와 그들 간의 관계를 정의하고, 시스템의 전체적인 구조를 설계하는 데 기반이 됩니다.
  • 개발팀 간 의사소통 도구: 개발팀 구성원들이 시스템에 대한 공통된 이해를 도모하고 효과적인 협업을 가능하게 합니다.

1-3. 시스템 개발 단계의 유즈케이스 다이어그램 목적

  • 개발 작업의 가이드라인 제공: 개발팀에게 개발해야 할 기능과 그 기능을 수행하는 방법에 대한 명확한 지침을 제공합니다.
  • 테스트 케이스 생성: 유즈 케이스를 기반으로 테스트 케이스를 생성하여 시스템의 품질을 보장합니다.

반응형

 

2. 유즈케이스 다이어그램의 관계 

다음 유즈케이스는 원격 감시 시스템(Surveillance System)에 대한 유즈케이스 다이어그램입니다. 유즈케이스 다이어그램에 기술된 유즈케이스들은 상호 서로 연관되어 있을 수 있습니다. 이러한 관계는 포함(Inclusion), 확장(Extension), 일반화(Generalization)의 3가지로 분류됩니다.

2-1. 포함 관계 (Inclusion)

 

  • 기본 유즈 케이스가 다른 유즈 케이스(포함된 유즈 케이스)의 기능을 포함하는 관계입니다.
  • 포함된 유즈 케이스는 항상 기본 유즈 케이스가 실행될 때 함께 실행됩니다.
  • 기본 유즈 케이스의 참여자는 포함된 유즈 케이스에도 참여할 수 있습니다.

2-2. 확장 관계 (Extension)

 

  • 기본 유즈 케이스의 기능에 추가적인 기능을 제공하는 관계입니다.
  • 확장 유즈 케이스는 기본 유즈 케이스의 일부분으로 간주되지 않으며, 종종 예외적인 상황이나 선택적인 기능을 나타냅니다.
  • 기본 유즈 케이스는 확장 포인트를 정의하여 확장 유즈 케이스가 적용될 수 있는 위치를 지정합니다.
  • 확장 유즈 케이스는 기본 유즈 케이스의 참여자와 다를 수 있습니다.

2-3. 일반화 (Generalization)

 

  • 상위 유즈 케이스하위 유즈 케이스 간의 관계입니다.
  • 하위 유즈 케이스는 상위 유즈 케이스의 특수한 경우입니다.
  • 상위 유즈 케이스의 액터는 하위 유즈 케이스에도 참여할 수 있습니다.

 

 

 

이를 이용하여 원격 감시 시스템에 대한 유즈케이스 다이어그램에서 활용할 수 있는 관계(Relationship)를 알아 보겠습니다.

  • 관리자(Supervisor)는 원격 관리 시스템 기능 중 카메라 결함을 처리(Handle Camera Fault)하는 기능을 수행합니다.
  • 환경 모니터링(Monitor Environment) 기능에는 추가 기능으로 카메라 결함 처리(Handle Camera Fault)가 있습니다. 이때 조건으로 "카메라 결함이 감지된 경우"라고 정의되며, 이때 추가 기능으로 수행될 수 있습니다. 확장 포인트로 Fault를 표현하고 있습니다. 즉, 환경을 모니터링 하는 중 확장 포인트인 결함이 탐지되면, 확장 기능으로 카메라 결함 처리 기능을 수행합니다. 
  • 환경 모니터링(Monitor Environment) 기능에는 시스템 초기화(Initialize System)와 시스템 셧다운(Shutdown System) 기능을 포함합니다.
  • 환경 모니터링은 최소 한명 이상의 운영자(Operator)가 수행할 수 있으며, 이 기능을 통해 침입자(Intruder)를 감시 할 수 있습니다.
  • 수동 환경 모니터링(Manually Monitor Environment) 기능은 환경 모니터링(Monitor Environment)로부터 상속 받은 유즈케이스 입니다.
  • 수동 환경 모니터링(Manually Monitor Envrionment) 기능은 고급 운영자(Advanced Operator)에 의해 실행되며, 고급 운영자는 수동 환경 모니터링과 추적 설정(Setup Track) 기능을 수행할 수 있습니다.

 

3. 유즈 케이스 명세서

유즈 케이스 명세서는 유즈 케이스의 정의를 보완하기 위해 사용되는 텍스트 기반의 설명입니다. 이러한 설명은 유즈 케이스의 가치를 크게 향상시킬 수 있습니다.

유즈 케이스 설명의 일반적인 구성 요소:

  • 전제 조건(Preconditions): 유즈 케이스가 시작되기 위해 충족되어야 하는 조건
  • 후제 조건(Postconditions): 유즈 케이스가 완료된 후 충족되어야 하는 조건
  • 주 흐름(Primary Flow): 가장 빈번하게 발생하는 시나리오
  • 대체 흐름 및 예외 흐름(Alternate and/or Exception Flows): 덜 빈번하거나 예외적인 시나리오

예시:

Use Case ID UC-101
Use Case Name 감시 시스템의 Monitor Environment
Use Case Diagram
Precondition 감시 시스템이 전원이 꺼져 있습니다.
Primary Flow 운영자는 감시 시스템을 사용하여 감시 대상 시설의 환경을 모니터링합니다. 운영자는 시스템을 작동하기 전에 시스템을 초기화하고(Initialize System 참조), 시스템을 종료할 때 시스템을 종료합니다(Shutdown System 참조). 일반적인 작동 중에, 시스템의 카메라는 탐지 가능성을 최적화하기 위해 설정된 사전 설정된 경로를 자동으로 따라갑니다. 침입자가 감지되면, 시스템은 내부적으로 경보를 발령하고 중앙 모니터링 스테이션에 경보를 전송합니다. 중앙 모니터링 스테이션은 필요한 지원을 요청할 책임이 있습니다. 지능형 침입자 추적 시스템이 사용 가능한 경우, 시스템은 표준 카메라 검색 경로를 무시하고 의심되는 침입자를 추적합니다. 사용할 수 없는 경우, 운영자는 의심되는 침입자를 시각적으로 추적하고, 필요한 경우 응급 서비스에 이 정보를 전달합니다.
Alternative Flow 시스템 초기화 직후, 정상적인 작동이 시작되기 전에 오류가 발생할 수 있습니다. 이 경우 오류를 처리할 수 있습니다(Fault 확장 포인트 참조). 그러나 이후에는 오류가 처리되지 않습니다.
Postcondition 감시 시스템의 전원이 꺼져 있습니다.

 

 

728x90
반응형