actor : 시스템을 사용하는 사람, 프로세스(시스템)을 가리킨다.
Primary Actor : 시스템을 사용하는 액터
ex) 학원관리 시스템의 액터 - 매니저, 강사, 학생, 출입관리 시스템, 타이머
Secondary/Supplementary Actor : 우리가 개발할 시스템이 사용하는 외부 시스템
ex) 네이버 지도, 주소 검색 시스템, 결제 시스템
서브액터(학생,강사)는 수퍼액터(회원)의 역할을 포함한다. 즉, 수퍼액터가 사용할 수 있는 기능(로그인, 로그아웃, 회원탈퇴)을 서브액터도 사용할 수 있다.
(주의) 관리자의 로그인과 로그아웃은 회원과는 다르고, 회원탈퇴의 개념도 없기에 같이 묶으면 안된다.
1) 각각의 액터들을 먼저 생각한다.
2) 둘 이상의 액터 사이의 공통점이 있다면, 그것을 추출해서 수퍼액터로 만든다.
Use-case : 액터가 시스템을 사용하여 처리하고자 하는 업무
(우리가 개발할) 시스템을 통해 수행하는 업무
한 액터가 수행하는 업무
ex) 상품구매 : (1) 상품조회 - (2) 결제 - (3) 배송
상품구매는 너무 use-case가 크다 -> 쪼개는 것이 낫다.
(2)결제 에는 사용자가, (3)배송 에는 택배사가 수행한다.
-> 여러 액터가 참여하면 그것은 좋은 use-case가 아니다.
ex) '회원관리' 몇 번 했나?
'회원관리'라는 것의 횟수를 셀 수 있나? 못센다.
[회원관리:조회] , [회원관리:등록] , [회원관리:삭제] 는 셀 수 있다.
3.한번에, 한 순간 수행하는 업무
ex) 상품구매 : (1) 상품조회 - (2) 결제 - (3) 배송
(1) ~ (3) 까지의 과정이 한순간에 이루어지는 것이 아니라, 일정 시간을 두고 이루어진다.
하나의 use-case 로 적절하지 않다.