List

월요일, 12월 14, 2015

Usecase 정의

유스케이스(Use-cases) 개념

유스케이스는 우리말로는 쓰임새라고도 합니다. 두 가지를 동시에 사용하는 혼돈을
막기 위해서 여기서는 원어로 유스케이스라고 표기하는 것을 원칙으로 하겠습니다.
유스케이스라 함은 말 그대로 '쓰이는 경우' 혹은 '용도' 같은 의미로 받아들여도
큰 무리가 없다고 보여집니다. 즉, 어떤 일에 쓰느냐 하는 것을 의미합니다.
시스템이 쓰여지는 용도를 모아서 시스템을 만들어낸다면 다용도 시스템이
만들어지겠죠. 이처럼 유스케이스들을 모아서 시스템으로 연결시키는 것을
개발 과정의 간단한 정의로 보아도 무리가 없을 만큼 유스케이스는 가치 있는 것
입니다.
유스케이스는 사용자 시각에 맞춘 분석입니다.
어떤 시스템을 만드느냐를 사용자 입장에서 조망하는 것이라고 할 수
있습니다. 유스케이스는 시스템 보다는 그것을 사용하는 인간, 즉 사용자의
입장을 우선해서 시스템이 어떠해야 하는가를 알아보는 것입니다. 
유스케이스는 시스템의 행위를 결정하는 것입니다.
구체적으로는 시스템의 기능을 정의하고, 범위를 결정함으로써 시스템과
외부 환경 변수를 구분하고, 상호 관계를 정립하는 것이라고 볼 수 있습니다.
유스케이스 모델
유스케이스를 나타내는 유스케이스 모델(Model)은 유스케이스 다이어그램으로
표현
됩니다. 유스케이스 다이어그램은 액터(Actor, 행위자), 유스케이스, 그리고
관계(Relationship)로 나타내는데, 다음 그림과 같습니다.
위의 유스케이스 다이어그램은 온라인으로 수강신청을 하는 시스템의 일부를
나타낸 것입니다. 위 다이어그램에서 액터는 학생과 은행시스템이고, 유스케이스는
수강신청입니다. 화살표는 액터와 유스케이스간의 관계를 나타낸 것인데,
위의 예제에서는 단방향으로의 관계만 나타내고 있습니다.
위의 다이어그램은 학생이 웹에 접속해서 수강신청을 하면, 그 정보가 은행
시스템에 입력이 되는 과정을 나타내고 있습니다. 유스케이스 다이어그램으로 표현된
요구사항을 자연어로 표기해보면 다음과 같습니다.
유스케이스
다이어그램
으로 표현
자연어로
표현
학생은 수강신청을 한다.수강신청을 통해 들어온
학생의 정보는 은행시스템에
입력이 된다.

액터(Actors)
액터는 시스템의 일부가 아닙니다.
액터는 시스템과 상호작용을 하는 모든 것들을
나타냅니다. 시스템을 사용하게 될 사람은 물론이고,
연관된 다른 시스템도 액터입니다.
액터는 다이어그램 상에서 막대인간으로 표현됩니다.
대체로 액터의 행위는 정보의 입력과 출력으로 살펴볼 수 있습니다. 정보를 입력
하거나 출력하는 액터가 있고, 입출력을 모두 행하는 액터가 있을 것입니다.
액터를 뽑아내는 일은 매우 중요한 일입니다. 모든 주요 액터를 고려해야만 모두에게
가치 있는 시스템이 될 수 있습니다. 다음과 같은 질문들이 요구사항 분석에서 액터를
뽑아내는데 도움을 줍니다.
특정 요구사항에 이해관계자는 누구인가?
어떠한 부서나 집단에서 시스템을 사용하는가?
시스템을 사용함으로써 이익을 얻는 이는 누구인가?
누가 시스템에 정보를 입력하고 사용하고 삭제하는가?
누가 시스템의 유지보수를 수행하는가?
시스템이 외부 자원을 사용하는가?
한 사람이 복수의 역할을 수행하는가?
여러 사람이 한 가지 역할을 수행하는가?
시스템이 기존 시스템(legacy system)과 상호작용하는가?
유스케이스(Use-case)
유스케이스 모델은 시스템과 액터와의
의사소통을 표현
합니다. 각각의 유스케이스는
시스템이 제공해야 하는 기능을 묘사하고,
이러한 유스케이스들이 시스템 전체의 기능을
나타냅니다. 유스케이스는 다이어그램 상에서
타원으로 표현됩니다.
하나의 유스케이스는 액터가 원하는 기능을 수행하기 위해 시스템이 수행하는 일련의
처리들의 연속
입니다. 다음과 같은 질문들이 유스케이스를 뽑아내는데 도움을 줍니다.
각각의 액터의 업무는 무엇인가?
액터가 시스템의 정보를 생성, 저장, 수정, 삭제하고 읽는가?
어떠한 유스케이스가 시스템의 정보를 생성, 저장, 수정, 삭제하고 읽는가?
액터가 돌연한 외부 변화에 대한 정보를 시스템에게 알릴 필요가 있는가?
시스템에 갑자기 발생한 일들을 액터가 알아야 하는가?
어떠한 유스케이스들이 시스템을 지원하고 유지하는가?
유스케이스들이 모든 요구되는 기능을 포괄하여 수행하는가?
관계(Relationship)
관계는 다음과 같이 크게 두 가지로 볼 수 있습니다.
액터와 유스케이스의 관계
액터와 유스케이스와의 관계는 연관(Association) 혹은 커뮤니케이션 연관
(Communicates Association)
이라고 합니다. 이는 액터와 유스케이스간의
의사소통을 나타내기 때문입니다. 또한 연관(Association)은 진행되는 방향에
따라 2가지로 나뉩니다.
연관의 종류의미
단방향 연관액터 혹은 유스케이스만이 연관을 유발
양방향 연관액터와 유스케이스 양쪽 모두에서 연관을 유발
유스케이스간의 관계
유스케이스간의 관계는 2가지로 나눌 수 있습니다.
종류의미
포함
(Inclusion)
여러 유스케이스들이 하나의 기능 조각을 공유할 때 이를
모든 유스케이스에 각각 집어 넣는 것보다는 이를 분리해
두고 필요한 유스케이스들이 이를 포함해서 사용하게 됨.
인터넷 사이트에 접속해서 각종 서비스를 제공받기 전에
늘 수행하는 회원 인증과 같은 유스케이스
확장
(Extension)
기본 유스케이스에서 특정 조건이나 액터의 선택에 따라
발생하는 유스케이스를 말함.
ATM에서 사용자의 메뉴 선택에 따라 달라지는
유스케이스의 경우나 긴급 상황시에 발생할 수 있는
유스케이스
액터나 유스케이스간의 관계는 으로 표기하며, 관계의 방향성은 화살표
나타냅니다.

댓글 없음:

댓글 쓰기