[소프트웨어공학] 유스케이스 모델링
👑 유스케이스 모델링
유스케이스 모델링은 소프트웨어 공학에서 시스템 요구사항을 정의하고 모델링하는 데 중요한
기법 중 하나이다. 이는 시스템과 사용자(액터) 간의 상호작용을 시각적으로 표현하고, 시스템의
기능적 요구사항을 명확히 기술한다.
💡 유스케이스 (Use case)
유스케이스는 시스템이 액터에게 관찰 가능한 가치를 제공하기 위해 수행하는 행동들의 집합이다.
이는 특정 프로세스를 정의하며, 주요 특징은 다음과 같다.
-
시스템의 경계를 정의
-
시스템의 기능적 요구사항을 결정하고 기술
-
시스템이 무엇을 해야 하는지에 대해 명확하고 일관된 설명을 제공
-
유스케이스 모델을 변경하여 시스템의 변경 및 확장을 단순화 가능
-
시나리오가 특정 목표를 달성하기 위해 수행되는 일련의 행동이라면,유스케이스는 주어진 기능에
대한 모든 가능한시나리오의 집합(시나리오는 유스케이스의 한 예시이다.) -
시나리오 예시: 잔액이 부족한 상황에서의 현금 인출 요청 처리
-
유스케이스 예시: 현금 인출 요청 처리
💡 유스케이스 모델링 절차
-
시스템 정의
- 시스템의 경계를 설정하고 시스템이 제공해야 할 주요 기능을 식별
-
액터 찾기
-
시스템과 상호작용하는 외부 에이전트를 식별
-
액터는 유스케이스를 수행
-
예: 고객, 관리자, 외부 시스템
-
-
유스케이스 찾기
-
액터가 시스템에서 수행해야 할 주요 작업을 식별
-
예: 계좌 정보 조회, 제품 주문 등
-
-
유스케이스 기술
- 유스케이스의 목적, 시작 조건, 주요 흐름, 대체 흐름 등을 텍스트나 다이어그램으로 문서화
-
유스케이스 간의 관계 정의
-
일반화 (Generalization): 부모-자식 관계로 유스케이스를 계승 -
포함 관계 (Include relationship): 여러 유스케이스에서 공통적으로 사용되는 행동을 정의 -
확장 관계 (Extend relationship): 특정 조건에서만 실행되는 추가적인 행동 정의
-
-
유스케이스 모델 검증
-
검증과 확인 (Verification & Validation)
-
역할극을 통해 유스케이스 모델이 실제 요구사항을 충족하는지 확인
-
대안 및 개선 사항 도출
-
💡 유스케이스 다이어그램 예시
💡 정리
유스케이스 모델링은 시스템 요구사항을 명확히 하고, 사용자와 개발자 간의 공통된 이해를 제공하는
중요한 도구이다. 유스케이스 모델링은 요구사항을 명확하게 하고, 개발팀과 고객 간 커뮤니케이션 도구로
사용될 뿐만 아니라, 시스템 변경 및 확장을 용이하게 하고, 테스트를 지원하는 등의 이점을 줄 수 있다.
이를 통해 소프트웨어 개발 프로세스를 더욱 체계적이고 효율적으로 진행할 수 있게 한다.
Leave a comment