[컴퓨터공학]/[소프트웨어공학]

[소프트웨어공학] 유스케이스 다이어그램(Use-case Diagram)

딥러닝 도전기 2022. 3. 18. 00:56

[소프트웨어공학] 유스케이스 다이어그램(Use-case Diagram)

이전 포스팅에서 구조 다이어그램에 해당하는 클래스 다이어그램컴포넌트 다이어그램에 대해 알아보았습니다.

이번 포스팅에서는 행위 다이어그램에 해당하는 유스케이스 다이어그램(Use-case Diagram)에 대해 알아보도록 하겠습니다.

 

 

  • 구조 다이어그램(Structure Diagram)
    • 클래스 다이어그램(Class Diagram)
    • 컴포넌트 다이어그램(Component Diagram)

 

  • 행위 다이어그램(Behavior Diagram)
    • 유스케이스 다이어그램(Use-case Diagram)
    • 시퀀스 다이어그램(Sequence Diagram)
    • 콜라보레이션 다이어그램(Collaboration Diagram)
    • 상태 다이어그램(State chart Diagram)
    • 활동 다이어그램(Acticity Diagram)

 

 


Use Case Diagram

Actor와 Use Case의 관계를 도식화

 

  • Actor는 시스템과 상호 작용하는 어떤 것을 말한다. (사람, 컴퓨터 시스템, 조직)

 

  • 시나리오
    • actor와 시스템의 활동 및 상호간의 활동에 대한 명확한 순서 표현
    • Use Case Instance
    • 하나의 특정한 스토리 또는 경로

 

  • Use Case는 Actor가 목적을 이루기 위해 시스템 사용과 관련된 성공 및 실패 시나리오의 집합

 

 

 

Use Case 예시

 

 

Use Case 텍스트의 내용

 

Use Case 포함관계, 확장관계

  • 포함관계 "Included use case required, not optional"

Use Case 포함관계

Use Case의 포함관계는 하나의 Use Case가 다른 Use Case의 실행을 전제로 할 때 형성됩니다. 

포함하는 Use Case에서 포함되는 Use Case 방향으로 점선 화살표를 표기하고 $<<$include$>>$ 라고 표기합니다.

 

위의 예시에서 "체크아웃"은 "지불"이라는 기능이 반드시 실행되어야 동작함을 나타냅니다.

즉, 포함관계는 기능에 포함되는(화살표가 가르키는) Use Case가 반드시 실행됨을 전제로 하고 있습니다.

 

 

 

 

  • 확장관계 "Extending use case is optional, supplementary"

Use Case의 확장관계는 포함관계와는 다르게 선택적 행위입니다.

확장 기능 Use Case에서 확장 대상 Use Case 방향으로 화살표를 점선으로 연결하고 $<<$extend$>>$라고 표기합니다.

 

Use Case - 확장관계 예시

위의 그림과 같이 Actor가 주문 결제를 하기 위해서는 온라인 송금, 카드 결제, 휴대폰 결제, 마일리지 결제를 선택할 수 있습니다. 하지만 단 한 가지도 선택이 안된다면, 주문 결제를 진행할 수 없기 때문에 최소 한개를 선택해야 합니다.

 

포함관계에서는 화살표의 방향이 Actor에서 나가는 화살표의 방향과 동일하고,

확장관계에서는 화살표의 방향이 Actor에서 나가는 화살표가 가르키는 Use Case로 들어오는 방향임을 확인할 수 있습니다.

반응형