[소프트웨어공학] 유스케이스 모델링

👑 유스케이스 모델링

유스케이스 모델링은 소프트웨어 공학에서 시스템 요구사항을 정의하고 모델링하는 데 중요한

기법 중 하나이다. 이는 시스템과 사용자(액터) 간의 상호작용을 시각적으로 표현하고, 시스템의

기능적 요구사항을 명확히 기술한다.



💡 유스케이스 (Use case)

유스케이스는 시스템이 액터에게 관찰 가능한 가치를 제공하기 위해 수행하는 행동들의 집합이다.

이는 특정 프로세스를 정의하며, 주요 특징은 다음과 같다.

  • 시스템의 경계를 정의

  • 시스템의 기능적 요구사항을 결정하고 기술

  • 시스템이 무엇을 해야 하는지에 대해 명확하고 일관된 설명을 제공

  • 유스케이스 모델을 변경하여 시스템의 변경 및 확장을 단순화 가능

  • 시나리오가 특정 목표를 달성하기 위해 수행되는 일련의 행동이라면, 유스케이스는 주어진 기능에
    대한 모든 가능한 시나리오의 집합 (시나리오는 유스케이스의 한 예시이다.)

  • 시나리오 예시: 잔액이 부족한 상황에서의 현금 인출 요청 처리

  • 유스케이스 예시: 현금 인출 요청 처리



💡 유스케이스 모델링 절차

  1. 시스템 정의

    • 시스템의 경계를 설정하고 시스템이 제공해야 할 주요 기능을 식별


  1. 액터 찾기

    • 시스템과 상호작용하는 외부 에이전트를 식별

    • 액터는 유스케이스를 수행

    • 예: 고객, 관리자, 외부 시스템


  1. 유스케이스 찾기

    • 액터가 시스템에서 수행해야 할 주요 작업을 식별

    • 예: 계좌 정보 조회, 제품 주문 등


  1. 유스케이스 기술

    • 유스케이스의 목적, 시작 조건, 주요 흐름, 대체 흐름 등을 텍스트나 다이어그램으로 문서화


  1. 유스케이스 간의 관계 정의

    • 일반화 (Generalization) : 부모-자식 관계로 유스케이스를 계승

    • 포함 관계 (Include relationship) : 여러 유스케이스에서 공통적으로 사용되는 행동을 정의

    • 확장 관계 (Extend relationship) : 특정 조건에서만 실행되는 추가적인 행동 정의


  1. 유스케이스 모델 검증

    • 검증과 확인 (Verification & Validation)

    • 역할극을 통해 유스케이스 모델이 실제 요구사항을 충족하는지 확인

    • 대안 및 개선 사항 도출



💡 유스케이스 다이어그램 예시



💡 정리

유스케이스 모델링은 시스템 요구사항을 명확히 하고, 사용자와 개발자 간의 공통된 이해를 제공하는

중요한 도구이다. 유스케이스 모델링은 요구사항을 명확하게 하고, 개발팀과 고객 간 커뮤니케이션 도구로

사용될 뿐만 아니라, 시스템 변경 및 확장을 용이하게 하고, 테스트를 지원하는 등의 이점을 줄 수 있다.

이를 통해 소프트웨어 개발 프로세스를 더욱 체계적이고 효율적으로 진행할 수 있게 한다.

Categories:

Updated:

Leave a comment