Generalization

일반 사용자가 할 수 있는 일은 운영자도 할 수 있다.

사용자는 로그인할 수 있고 운영자도 로그인 할 수 있다.

 

여기서 운영자는 로그인을 할 수 있고 권한 설정을 할 수 있다. 하지만 일반사용자는 권한설정을 할 수 없다.

include : 동시에 다른 것도 해야한다

include란 포함(호출)한다는 뜻이다. include는 일단 리펙토링 후에 공통으로 사용되는 유즈케이스나 사용자의 요구로 인해 분리시켜야 할 유즈케이스가 있다면 이를 include 로 연결시킨다.  다시말해 하위작업의 관계를 표시할 때 사용한다.
 연결은 기반 유즈케이스에서 시작하여 include 할 대상 유즈케이스를 향해 점선 화살표로 표시한다.

 만약 고객이 로그인시에 SSO를 원한다면 다음과 같이, include를 통해 관계를 표시할 수 있다. 여기서 다시 한번 강조하지만 고객의 눈높이에서 작성해야 한다는 점이다. 

extend : 다른 방법이 있다.

extend란 확장이란 의미이다. include 와 비슷하지만, extend는 선택적인 유즈케이스와의 관계를 표시할 때 사용된다. 쉽게 말해 필수적이지 않고 옵션이라고 할 수 있다.
표시방법은 필수적인 유즈케이스인 include와 다르게 반대이다. 
 

 위의 다이어그램을 보면 손님은 계산을 할 수 있지만 현금결제, 카드결제, 외상등의 방법이 있음을 알수 있다.

시스템 경계


Scenario

시스템을 분석하는 것은 기능 모델링을 수행한 것입니다.

이제 각 사용사례에 대해 기능들이 시간에 따라 어떻게 동작하는지, 어떤 정보들을 주고 받는지 등을 파악하는 분석을 수행합니다.

이러한 모델링을 동적 모델링, 정보 모델링이라고 합니다.

 

유스케이스 시나리오는 행위자가 어떤 사용사례를 수행하기 위한 시나리오를 작성해보는 것입니다.

예를들어, 제가 엘레베이터를 탑승한다고 가정해보겠습니다.

올라가기 버튼 누르기 -> 엘레베이터 문이 열린다 -> 문이 잠시 멈춰있는다 -> 올라가는 층을 누른다 ->문이 닫힌다 -> 엘레베이터가 올라간다 ...

엘레베이터라는 시스템은 이와 같은 과정을 수행할 것입니다.

 

이처럼 기능에 대한 사용 사례를 알기 쉽게 풀어쓴 것을 유스케이스 시나리오 작성이라고 합니다.

지금 수행하고 있는 요구사항 분석의 결과물인 요구사항 명세서는 기술적인 배경이 없어도 이해할 수 있도록 작성되어야 한다는 것을 기억해주세요. 아래의 시나리오는 이후 시스템 테스트의 절차가 됩니다. 물론 요구사항 명세서의 한 문서가 됩니다.

'📌 java > Object-oriented Programming' 카테고리의 다른 글

Homework_10  (0) 2020.05.19
Homework_9  (0) 2020.05.13
ATM_Implementation  (0) 2020.05.09
ATM_Design  (0) 2020.05.09
java - UML  (0) 2020.05.07
복사했습니다!