유스케이스란?
시스템에서 제공해야하는 기능이나 서비스를 명세한 다이어그램으로 사용자와 시스템 사이의 상호 작용에 집중해 도식화 시킨다. 내부 기능보다는 외부에서 본 시스템의 기능을 표현해 사용자가 수행하는 기능을 파악하고 싶을 때 작성한다. 일단 바로 작성한 게시판 유스케이스를 보겠다.
유스케이스 작성
draw io에서 diagram.net 으로 바뀐 사이트에서 다양한 다이어그램을 위한 서비스를 제공하고 깃허브와 연동해 커밋까지 날려줘서 이용하게 됐다. 게시판 서비스 외부의 사용자와 DB는 액터고 게시판 서비스 내부의 시스템들의 기능은 유스케이스라고 한다.
액터
프라이머리 액터는 시스템을 사용하는 액터로 대체로 보통 외부 객체가 사람일 때를 말하며 사람모양으로 시스템의 왼쪽에 위치한다.
세컨더리 액터는 시스템에게 도움을 주는 액터로 보통 외부 시스템을 의미하며 시스템의 오른쪽에 위치한다.
다음은 이해하기 쉽게 큼직한 유스케이스들의 예시를 가져왔다.
유스케이스 내의 관계
연관관계
액터와 유스케이스끼리 상호작용이 있을 때는 실선으로 연결하고 이를 연관관계에 있다고 한다.
이 다이어그램에선 사용자와 회원가입, 게시판 보기, 게시글 보기 등의 관계이다.
포함관계(include)
포함관계는 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성된다.
예시로 가져온 사진의 출처인 쿠팡은 아니지만 구현할 게시판에서는 로그인을 해야 게시글을 볼 수 있다고 기능 요구사항을 정하고 구현할 것이라 로그인과 게시판 보기, 게시글 보기 사이의 관계이다.
확장관계(extend)
확장관계는 확장장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성 되는 관계이다.
게시글에 딸려오는 기능들인 게시글 작성, 삭제, 수정등 사이의 관계들이다. 댓글, 좋아요, 해쉬태그 등의 추가 기능들이 생기면 게시글과의 확장관계가 생기는 것이다.
참조