포함 관계는 기본 유스 케이스를 포함 유스 케이스에 연결합니다. 포함 유스 케이스는 항상 추상적입니다. 기본 유스 케이스를 실행하는 유스 케이스 인스턴스로 삽입되는 동작 세그먼트를 설명합니다. 기본 유스
케이스에서는 포함에 대한 관계를 제어하고 포함을 수행한 결과에 종속될 수 있습니다. 그러나 기본 및 포함 모두 각각의 기타 속성에는 액세스할 수 없습니다. 이 점에서 포함은 캡슐화되었으며 다른 기본 유스 케이스에서
재사용될 수 있습니다.
포함 관계를 사용하여 다음을 수행할 수 있습니다.
-
유스 케이스의 기본 목적을 이해하는 데 필요하지 않은 기본 유스 케이스의 동작을 분리하십시오. 이 경우 해당 결과만 중요합니다.
-
두 개 이상의 유스 케이스에서 공통되는 동작을 분리하십시오.
예제:
ATM 시스템에서 현금 인출, 현금 입금 및 잔고 이체 유스 케이스 모두 시스템에서 고객이 식별되는 방법을 포함해야 합니다. 이 동작은 고객 식별이라는 새 포함 유스 케이스로 추출될 수 있습니다. 이 새 유스
케이스는 세 개의 기본 유스 케이스에 포함됩니다. 기본 유스 케이스는 식별 시 사용되는 방법과 독립되어 있습니다. 따라서 포함 유스 케이스에 캡슐화됩니다. 기본 유스 케이스의 관점에서 식별 방법(마그네틱 은행 카드
읽기 또는 망막 스캔 수행)은 중요하지 않습니다. 고객의 ID에 해당하는 고객 식별 결과에만 종속되어 있습니다. 그 반대로 고객 식별 유스 케이스의 관점에서는 기본 유스 케이스에서 고객 ID를 사용하는 방법 또는
포함을 실행하기 전에 기본 유스 케이스에서 발생한 사항은 중요하지 않습니다. 식별 방법은 여전히 동일합니다.
ATM 시스템에서 현금 인출, 현금 입금 및 잔고 이체 유스 케이스 모두 고객 식별 유스 케이스를 포함합니다.
기본 유스 케이스에 포함이 여러 개일 수 있습니다. 하나의 포함 유스 케이스는 여러 기본 유스 케이스에 포함될 수 있습니다. 이 사항은 기본 유스 케이스 사이의 관계를 표시하지는 않습니다. 포함이 기본 유스
케이스의 서로 다른 위치에 삽입된 경우 동일한 포함 유스 케이스 및 기본 유스 케이스 사이의 포함 관계가 여러 개일 수도 있습니다. 포함 관계는 위치에 대한 개념을 정의합니다. 모든 추가 사항은 중첩될 수
있습니다. 즉, 포함 유스 케이스는 다른 포함을 통해 기본 유스 케이스 역할을 수행할 수 있음을 의미합니다.
포함 유스 케이스는 추상적이므로 액터를 연관시키지 않아도 됩니다. 액터에 대한 커뮤니케이션 연관 관계는 포함의 동작이 명시적으로 액터와의 상호작용과 관련된 경우에만 필요합니다.
포함의 동작은 기본 유스 케이스의 한 위치에 삽입됩니다. 기본 유스 케이스의 설명에 따르는 유스 케이스 인스턴스가 기본 유스 케이스에서 포함 관계를 정의한 위치에 도달한 경우 대신 포함 유스 케이스의 설명에
따릅니다. 포함을 수행하면 유스 케이스 인스턴스는 기본 유스 케이스를 떠난 위치에서 재개됩니다.
해당 포함을 포함하는 기본 유스 케이스의 설명에 따르는 유스 케이스 인스턴스
포함 관계는 조건부가 아닙니다. 유스 케이스 인스턴스가 포함 관계를 정의한 기본 유스 케이스의 위치에 도달하면 항상 실행됩니다. 조건을 표현할 경우 기본 유스 케이스의 파트로 수행해야 합니다. 포함 관계를 정의한
위치에 유스 케이스 인스턴스가 도달하지 않으면 실행되지 않습니다.
유스 케이스 인스턴스 #1이 기본 유스 케이스에서 포함 관계를 정의한 위치에 도달하면 포함을 수행합니다. 유스 케이스 인스턴스 #2는 해당 위치에 도달하지 않으므로 포함은 해당 인스턴스의 파트로 수행되지 않습니다.
포함 유스 케이스는 하나의 연속적인 동작 세그먼트입니다. 모두 기본 유스 케이스의 한 위치에 포함되어 있습니다. 별도의 동작 세그먼트를 다른 위치에 삽입해야 하는 경우 대신 확장 관계(중간 산출물 가이드라인: 확장 관계 참조) 또는 유스 케이스 일반화(중간 산출물
가이드라인: 유스 케이스 일반화 참조)를 고려해야 합니다.
포함 관계의 경우 기본 유스 케이스의 동작 시퀀스에서 포함을 삽입할 위치를 정의해야 합니다. 이 위치는 기본 유스 케이스의 이벤트 플로우 내부 서브플로우 또는 특정 단계를 참조하여 정의할 수 있습니다.
예제:
ATM 시스템에서 현금 인출 유스 케이스는 고객 식별 유스 케이스를 포함합니다. 현금 인출에서 고객 식별로의 포함 관계는 다음과 같이 설명할 수 있습니다.
고객 식별은 1.1 유스 케이스 시작 및 1.2 현금 인출 이벤트 플로우에서 금액을 묻는 섹션 사이에 삽입될 수 있습니다.
또한 명확히 하기 위해 기본 유스 케이스의 이벤트 플로우를 설명하는 텍스트에서 포함을 언급해야 합니다.
유스 케이스가 수행 방법과는 독립적이지만 기능 결과에 종속된 상황을 확인할 수 있는 유스 케이스의 동작 세그먼트가 있는 경우 단순히 포함 유스 케이스에 이 동작을 추출하여 유스 케이스를 단순화할 수 있습니다. 포함
유스 케이스는 여러 기본 유스 케이스에 포함될 수 있습니다. 즉, 모델의 유스 케이스 사이에서 동작을 재사용할 수 있음을 의미합니다. 단순 전화 시스템의 유스 케이스에 대해 다음 단계별 아웃라인을 고려하십시오.
전화 걸기
-
발신자가 수화기를 듭니다.
-
발신음이 들립니다.
-
발신자가 숫자를 눌러 전화를 겁니다.
-
발신음이 꺼집니다.
-
발신자가 나머지 숫자를 입력합니다.
-
숫자를 분석하고 수신측의 네트워크 주소를 판별합니다.
-
가상 회선을 발신자와 수신측 사이에 설정할 수 있는지 판별합니다.
-
가상 회선에 모든 자원을 할당하고 연결합니다.
-
수신측 전화기가 울립니다.
-
기타 등등.
시스템 시작
-
운영자가 시스템을 활성화합니다.
-
모든 컴포넌트에서 진단 테스트를 수행합니다.
-
모든 인접 시스템에 대한 연결을 테스트합니다. 각 인접 시스템에서 자체 시스템과 인접 시스템 사이에 가상 회선을 설정했는지 판별합니다. 가상 회선에 모든 자원을
할당하고 연결합니다.
-
오퍼레이션 준비를 마쳤음을 응답합니다.
-
기타 등등.
파란색으로 표시한 텍스트는 서로 유사합니다. 두 경우 모두 이유는 서로 다르지만 동일한 동작을 수행합니다. 이 유사성을 이용할 수 있습니다. 가상 회선 관리와 같은 새 유스 케이스로 공통 동작을 추출할 수
있습니다.
다음은 공통 동작을 추출한 유스 케이스입니다.
전화 걸기
-
발신자가 수화기를 듭니다.
-
발신음이 들립니다.
-
발신자가 숫자를 눌러 전화를 겁니다.
-
발신음이 꺼집니다.
-
발신자가 나머지 숫자를 입력합니다.
-
숫자를 분석하고 수신측의 네트워크 주소를 판별합니다.
-
가상 회선 관리 유스 케이스를 포함하여 네트워크 내부의 연결성을 설정하십시오.
-
수신측 전화기가 울립니다.
-
기타 등등.
시스템 시작
-
운영자가 시스템을 활성화합니다.
-
모든 컴포넌트에서 진단 테스트를 수행합니다.
-
모든 인접 시스템에 대한 연결을 테스트합니다. 각 인접 시스템(루프)에서 가상 회선 관리를 포함하여 네트워크에서 연결성을 설정하십시오.
-
오퍼레이션 준비를 마쳤음을 응답합니다.
-
기타 등등.
유스 케이스 다이어그램에서 작성된 포함 관계는 다음과 같이 표시됩니다.
전화 걸기 및 시스템 시작 유스 케이스 모두 가상 회선 관리라는 추상 유스 케이스의 동작을 포함합니다.
|