UseCase(객체지향의 사실과 오해)

Eungho won·2023년 6월 1일
0

OOP

목록 보기
2/2

1. UseCase는 사용자와 시스템 간의 상호작용을 보여주는 '텍스트다'

책에서 소개한 Usecase 작성 예제를 참고하면

UseCase명: 중도 해지 이자액을 계산한다

일차 액터: 예금주
주요 성공 시나리오:
	1.예금주가 정기예금 계좌를 선택한다.
    2.시스템은 정기예금 계좌 정보를 보여준다.
    3.예금주가 금일 기준으로 예금을 해지할 경우 지급받을 수 있는 이자 계산을 요청한다.
    4.시스템은 중도 해지 시 지급받을 수 있는 잉자를 계산한 후 결과를 사용자에게 제공한다.
확장:
	3a.사용자는 해지 일자를 다른 일자로 입력할 수 있다.

이 처럼 UseCase는 그림이 아니다.

2. UseCase는 하나의 시나리오가 아니라 여러 시나리오들의 집합이다

위에서 3a 시나리오로 분기되는 것처럼, 각 시나리오에 따른 여러 시나리오 Instance의 집합이다.

3. UseCase는 단순한 feature 목록과 다르다

단순히 여러기능을 나열한 것을 feature라고 한다면, 이야기와 기능을 연관시킬 수 있는 것이 UseCase다

4. UseCase는 인터페이스와 관련된 세부 정보를 포함하지 말아야 한다

위 시나리오에는 사용자 인터페이스에 대한 언급이 전혀없다. 인터페이스 요소를 완전히 배제하고, 시스템의 행위에만 집중해야한다.

5. UseCase는 내부 설계와 관련된 정보를 포함하지 않는다

UseCase의 목적은 시스템 기능을 이야기 형식으로 나타내는 것이므로,내부구조나 실행 매커니즘에 관한 어떤 정보도 제공하지 않는다.

여기서 주의 할 점은, 유스케이스와 객체의 구조 사이에는 아주 큰 간격이 존재하므로 유스케이스 안에 모든 정보가 포함되어있지는 않다.

* 참고할만한 서적: 'Writing Effective Use Cases', 'structuring use cases with goals'

profile
kill to code

0개의 댓글