*** 유스 케이스
– 시스템이 제공하는 각 기능
** 유스케이스 이름
* 명명 규칙1 : 행위 또는 동작을 뜻하는 명사 사용
– 시스템의 기능을 나타내어야 함
– ex) 수강 -> 수강신청, 출석부 -> 출석부 조회
* 명명 규칙2 : 사용자가 얻고자 하는 목적이 명확히 나타나야 함.
– ex) 수강 과목 선택 -> 수강 신청
* 명명 규칙3 : 사용자(액터)의 입장에서 명명되어야 함
– ex) 성적 관리 -> 성적 등록
– ex) 수강 신청 관리 -> 수강 신청
* 요약 : 사용자의 관점에서 바라보고 시스템이 제공하는 기능을 이용하여 궁극적으로 하고자 하는 행위를 나타내는 명사를 사용한다.
** 유스케이스 설명
* 유스케이스를 이용하는 사용자에게 이 유스케이스를 통해서 시스템이 어떤 기능을 제공하는 지를 한/두 문장으로 간단하고 명확하게 기술하는 것
** 유스케이스의 특성
* 특성 1 : 하나의 유스케이스는 일련의 액션들로 표현
* 특성 2 : 하나의 유스케이스는 여러 variants를 포함
– 기본 흐름(basic flow) : 가장 전형적이고, 정상적인 경우
– 대안 흐름(alternative) : 기본 흐름을 벗어나는 다른 상황을 나타냄
– 각 대안 흐름 별로 별도의 유스케이스를 정의하지 않음
– ex) 카드 판독 실패 이벤트 흐름
+ 카드 판독이 불가능함을 사용자에게 알리고 카드를 배출시킨다.
+ 사용자는 카드를 회수한다.
– ex) 잔액 부족 이벤트 흐름
+ 잔액 부족을 사용자에게 알리고, 카드를 배출하고, 영수증을 인자한다.
+ 사용자는 카드와 영수증을 회수한다.
* 특성 3 : 유스케이스는 시스템이 제공하는 기능
– 시스템에서 제공하지 않을 기능이 유스케이스에 포함되어서는 안됨
– 수작업을 통해서하는 작업을 유스케이스에 포함시켜서는 안됨
– ex) 학교에서 배포된 성적표로 성적 확인은 유스케이스에 포함시켜서는 안됨
* 특성 4 : 유스케이스는 액터가 관찰할 수 있는 결과를 산출
– ex) 현금 자동 인출기 시스템의 출금 유스케이스
+ 카드 판독의 성공 표시 및 거래 종류의 일력을 요청하는 화면
+ 암호의 입력을 요청하는 화면
+ 암호의 확인 성공 표시 및 인출할 금액의 입력을 요청하는 화면
+ 출금이 진행 중임을 표시하는 화면
+ 출금 시 배출된 현금과 영수증
– 유스케이스는 액터가 궁극적으로 원하는 결과를 내야 한다.
* 특성 5 : 유스케이스는 액터에 의해서 수행이 시작
– ex) 출금 유스케이스 : 사용자 액터가 카드를 삽입함으로써 수행
– 유스케이스의 이벤트 흐름은 반드시 액터에 의해서 시작된다.
* 특성 6 : 한 유스케이스 내의 액션들을 트랜젝션처럼 수행
– 한 유스케이스의 이벤트 흐름을 구성하는 각 이벤트들은 유스케이스가 수행될 때 모두 발생하는 것이며 부분적인 발생은 허용되지 않음.
– 이벤트 흐름의 부분만을 수행하는 것이 가능하면 그것을 하나의 유스케이스라고 볼 수 없음.
– ex) 성적 등록
– ex) 출석부 조회
** 유스케이스 찾기
– 질문1 : 사용자 액터가 시스템이 제공하기를 원하는 기능은 무엇인가?
+ ex) ATM : 입금, 출금, 조회, 이체, 통장 정리
+ ex) 대학 정보 시스템 : 학생(수강신청, 성적조회), 교수(출석부 조회, 성적 등록)
– 질문2 : 시스템이 어떤 기능을 제공하면 사용자 액터의 일상 작업이 효율적이고 편해지는가?
+ 수업 담당자 : 수강료 청구서 발급
– 질문3 : 사용자 액터가 시스템에 어떤 정보를 생성/조회/수정/삭제하고 싶어 하는가?
– 질문4 : 시스템의 입력과 출력은 무엇인가?
Tags: Software Engineering, 소프트웨어 공학