주제

설명 페이지 맨 위

상위 유스 케이스는 상위 유스 케이스를 좀더 명확한 형식으로 표시하는 하나 이상의 하위 유스 케이스로 분화시킬 수 있습니다. 대부분의 경우 상위는 추상적이지만 상위 또는 하위가 반드시 추상적일 필요는 없습니다. 하위는 상위의 모든 구조, 작동 및 관계를 상속합니다. 동일한 상위를 갖는 하위들은 상위의 모든 분화입니다. 이것이 유스 케이스에 적용 가능한 일반화입니다(가이드라인: 일반화도 참조).

작동, 구조 및 목적에 공통사항이 있는 둘 이상의 유스 케이스가 있을 때 일반화가 사용됩니다. 이러한 경우 하위 유스 케이스로 분화시킬 수 있는 새로운 유스 케이스(종종 추상적)로 공유 부분을 설명할 수 있습니다.

예:

캡션에 설명된 다이어그램

전화 주문 및 인터넷 주문 유스 케이스는 추상적 유스 케이스인 주문하기의 분화입니다.

주문 관리 시스템에서 전화 주문 및 인터넷 주문 유스 케이스는 구조 및 작동에서 많은 것을 공유합니다. 구조 및 공통 작동이 정의된 일반 유스 케이스인 주문하기가 정의됩니다. 추상적 유스 케이스인 주문하기는 자체적으로 완성될 필요가 없지만 하위 유스 케이스가 완성할 수 있는 일반 작동 프레임워크를 제공합니다.

상위 유스 케이스가 항상 추상적인 것은 아닙니다.

예:

이전 예의 주문 관리 시스템을 생각해봅시다. 고객을 대신하여 주문을 시스템에 입력할 수 있는 주문 등록 직원 액터를 추가하고자 합니다. 이 액터는 일반 주문하기 유스 케이스를 시작하고 이에 대해 설명된 전체 이벤트 플로우를 가지고 있어야 합니다. 하위 유스 케이스는 상위 유스 케이스가 제공하는 구조에 작동을 추가하고 상위에 있는 작동을 수정할 수 있습니다.

캡션에 설명된 다이어그램

액터 주문 등록 직원은 일반 유스 케이스 주문하기를 인스턴스화할 수 있습니다. 또한 주문하기는 전화 주문 및 인터넷 주문 유스 케이스로 분화될 수 있습니다.

하위 유스 케이스는 상위 유스 케이스의 구조에 종속됩니다(이벤트 플로우 구조에 대한 논의는 가이드라인: 유스 케이스 참조). 하위 유스 케이스는 작동 세그먼트를 상속된 작동에 삽입하거나 하위 유스 케이스에 포함 및 확장 관계를 선언하여 상위에 추가 작동을 추가할 수 있습니다. 상위의 목적이 보존되도록 유의하여 수행한다면 하위는 상위로부터 상속된 작동 세그먼트를 수정할 수 있습니다. 상위 유스 케이스 구조는 하위에 의해 보존됩니다. 이것은 상위 이벤트 플로우의 서브플로우 또는 단계로 설명되는 모든 작동 세그먼트가 여전히 존재해야 하지만 이러한 작동 세그먼트의 컨텐츠가 하위에서 수정될 수 있다는 것을 의미합니다.

상위가 추상적 유스 케이스인 경우 불완전한 작동 세그먼트를 가질 수 있습니다. 그러면 하위가 이러한 작동 세그먼트를 완성하여 액터에게 의미 있게 만들어야 합니다.

추상적 유스 케이스인 경우 상위 유스 케이스는 액터와의 관계를 가질 필요가 없습니다.

두 개의 하위 유스 케이스가 동일한 상위(또는 기본)를 분화하는 경우, 분화는 서로 독립적입니다(별도의 유스 케이스 인스턴스로 실행된다는 것을 의미). 이것은 동일한 기본 유스 케이스를 실행하는 한 개의 유스 케이스 인스턴스를 몇 가지 추가 유스 케이스가 암시적 또는 명시적으로 수정하는 확장 또는 포함 관계가 아닙니다.

유스 케이스 일반화 및 포함은 모두 모델의 유스 케이스 간의 작동을 다시 사용하기 위해 사용할 수 있습니다. 차이점은 유스 케이스 일반화에서 하위의 실행은 상위(다시 사용되는 부분)의 구조 및 작동에 종속되고 포함 관계에서 기본 유스 케이스의 실행은 포함 유스 케이스(다시 사용되는 부분)가 수행하는 기능의 결과에만 종속된다는 것입니다. 또 다른 차이점은 일반화에서 하위는 목적 및 구조에서 유사성을 공유하지만 포함 관계에서 동일한 포함을 다시 사용하는 기본 유스 케이스는 완전히 다른 목적을 가질 수 있으며 그럼에도 동일한 기능을 수행해야 한다는 것입니다.

유스 케이스 일반화 실행 페이지 맨 위

하위 유스 케이스를 실행하는 유스 케이스 인스턴스는 하위 유스 케이스의 이벤트 플로우에 정의된 대로 작동을 수정하고 추가 작동을 삽입하여 상위 유스 케이스에 설명된 이벤트 플로우를 따라갑니다.

캡션에 설명된 다이어그램

유스 케이스 인스턴스는 하위 유스 케이스에 설명된 대로 수정되었거나 삽입된 작동과 함께 상위 유스 케이스를 따라갑니다.

유스 케이스 일반화 설명 페이지 맨 위

일반적으로 일반화 관계 자체를 설명하지 않습니다. 대신 하위 유스 케이스의 이벤트 플로우에서 상속된 작동에 새 단계를 삽입하는 방법과 상속된 작동을 수정하는 방법을 지정합니다.

하위가 둘 이상의 상위에서 분화되는 경우(다중 상속) 하위 분화에 상위로부터의 작동 순서가 하위에서 삽입된 방식을 명시적으로 지정해야 합니다.

사용법 예 페이지 맨 위

단순한 전화 시스템의 유스 케이스에 대한 다음 단계별 개요를 생각해봅시다.

시내 전화걸기

  1. 통화자가 수화기를 듭니다.
  2. 시스템이 발신음을 냅니다.
  3. 통화자가 번호를 누릅니다.
  4. 시스템이 발신음을 끕니다.
  5. 통화자가 나머지 번호를 누릅니다.
  6. 시스템이 번호를 분석합니다.
  7. 시스템이 해당하는 상대방을 찾습니다.
  8. 시스템이 상대방에게 연결합니다.
  9. 상대방이 연결을 끊습니다.

시외 전화걸기

  1. 통화자가 수화기를 듭니다.
  2. 시스템이 발신음을 냅니다.
  3. 통화자가 번호를 누릅니다.
  4. 시스템이 발신음을 끕니다.
  5. 통화자가 나머지 번호를 누릅니다.
  6. 시스템이 번호를 분석합니다.
  7. 시스템이 다른 시스템에 번호를 보냅니다.
  8. 시스템이 회선을 연결합니다.
  9. 상대방이 연결을 끊습니다.

파란색 텍스트는 두 가지 유스 케이스에서 매우 유사합니다. 두 유스 케이스가 많이 유사한 경우 이들을 하나로 병합하는 것을 고려하고 선택적 서브플로우로 시내 전화와 시외 전화 간의 차이점을 보여주어야 합니다.

그러나 이들의 차이점이 상당히 중요하고 유스 케이스 모델에 시내 전화와 시외 전화 간의 관계를 명백히 보여주는 값이 있는 경우 공통적인 작동을 추출하여 전화 걸기라는 보다 일반적인 새 유스 케이스를 만들 수 있습니다.

유스 케이스 다이어그램에서 작성된 일반화 관계는 다음과 같이 설명됩니다.

캡션에 설명된 다이어그램

시내 전화 및 시외 전화 유스 케이스는 추상적 유스 케이스인 전화 걸기에서 상속됩니다.



Rational Unified Process   2003.06.15