본문 바로가기

0x01 Programming/0x011 CBD 개발 방법론

#3. 유스케이스 모델의 작성 , 상세화, 구조화


+ 유스케이스 모델 - 사용자 및 고개으로부터 요구사항을 누락없이 도출해 명확하게 기술하는 것을 목표
 - 액터 :
  • 시스템과 상호작용을 하는 시스템 외부의 존재
  • 액터는 개발 대상이 되는 시스템에 따라서 달라질 수 있음
  • 일반적으로 사용자, 외부시스템, 장치의 세가지 유형으로 분류


 - 유스케이스 : 

  • 개발 대상이 되는 시스템이 제공하는 개별적인 기능
  • 표현된 기능은 시스템의 사용자가 이용
  • 기능과 이를 이용하는 액터와의 관계를 연관관계를 이요해 명시적으로 표현
  • 시스템의 전체 기능적 요구사항은 표현된 유스케이스로 구체화


+ 유스케이스 상세화
 - 유스케이스에 대한 구체적인 명세를 기술한 문서를 유스케이스 명세서라 한다.
  (유스케이스 이름, 개요, 관련 액터 항목, 우선순위, 선행조건, 후행조건, 시나리오, 비기능적 요구사항)

  1. 개요 : 유스케이스가 뜻하는 시스템의 기능을 간결하고 명확하게 표현
              대부분의 UML모델링 도구들을 유스케이스 다이어그램에서 직접 기록
  2. 관련 액터 : 유스케이스와 상호작용을 하는 모든 액터를 나열
                    유스케이스를 개발 하기 위해 필요한 외부 인터페이스를 파악하는데 도움을 줌
  3. 우선 순위 : 유스케이스의 중요성을 의미, 유스케이스에 대한 프로젝트 관리 시 활용
  4. 선행 조건 : 유스케이스의 수행이 시작되기 위해 필요한 조건을 뜻함.
  5. 후행 조건 : 수행이 완료된 후에 만족되어야 하는 조건을 뜻함.
  6. 시나리오 : 기본시나리오와 대안 시나리오로 분류, 대안시나리오는 기본 시나리오로부터 분기
                      대안 시나리오는 다시 선택 시나리오와, 예외 시나리오로 분류됨.
                      시나리오는 유스케이스의 기능적 행위를 시스템과 관련 액터와의 상호작용으로서 기술
  7. 비기능적 요구사항 : 유스케이스와 관련된 비기능적 요구사항을 기술함.


+ 유스케이스 모델의 구조화
- 목표 : 유스케이스 모델의 복잡도를 낮춤
- 구조화 방법

  • 액터 일반화 : 시스템과 비슷한 방식으로 상호작용을 하는 유사한 액터를 일반화 해 부모액터를 정의
  • 유스케이스 일반화 : 유사한 기능을 제공하는 유스케이스들을 일반화해 부모 유스케이스를 정의
  • 유스케이스 포함 : 여러 유스케이스에 공통적인 시나리오를 별도의 유스케이스로 정의
  • 유스케이스 확장 : 기본 기능에 부가적인 기능을 별도의 유스케이스로 정의