UML 사용 사례 다이어그램: 지침

Visual Studio Ultimate에서는 사용 사례 다이어그램을 그려 응용 프로그램 또는 시스템의 사용자와 해당 사용자가 응용 프로그램이나 시스템으로 수행할 수 있는 작업을 요약할 수 있습니다. UML 사용 사례 다이어그램을 만들려면 아키텍처 메뉴에서 새 다이어그램을 클릭합니다.

비디오 데모는 Organizing Features into Use Cases를 참조하십시오.

사용 사례 다이어그램을 사용하면 다음과 같은 내용을 논의하고 전달할 수 있습니다.

  • 시스템이나 응용 프로그램이 사용자, 조직 또는 외부 시스템과 상호 작용하는 시나리오

  • 해당 행위자가 달성할 목표

  • 시스템의 범위

사용 사례 다이어그램에서는 사용 사례의 세부 정보를 나타내지 않으며 사용 사례, 행위자 및 시스템 간의 일부 관계를 요약만 합니다. 특히 이 다이어그램에서는 각 사용 사례의 목표를 달성하기 위해 수행하는 단계의 순서를 나타내지 않습니다. 이러한 세부 정보는 각 사용 사례에 연결할 수 있는 다른 다이어그램 및 문서에 기술할 수 있습니다. 자세한 내용은 이 항목의 사용 사례 세부 내용 기술을 참조하십시오.

사용 사례에 제공하는 설명에는 Sale, Menu, Customer 등과 같이 시스템이 동작하는 도메인과 관련된 몇 가지 용어가 사용됩니다. 이러한 용어 및 용어의 관계를 정의하는 것이 중요하며 UML 클래스 다이어그램을 사용하여 이를 수행할 수 있습니다. 자세한 내용은 UML 클래스 다이어그램: 지침을 참조하십시오.

사용 사례는 시스템의 기능 요구 사항만 다룹니다. 비즈니스 규칙, 서비스 품질 요구 사항 및 구현 제약 조건과 같은 다른 요구 사항은 별도로 나타내야 합니다. 또한 아키텍처 및 내부 세부 사항도 별도로 기술해야 합니다. 사용자 요구 사항을 정의하는 방법에 대한 자세한 내용은 사용자 요구 사항 모델링을 참조하십시오.

이 항목에 사용되는 예제는 고객이 시내 식당에서 식사를 주문할 수 있는 웹 사이트와 관련이 있습니다.

사용 사례 다이어그램의 요소

  • 행위자(1)는 시스템과 상호 작용하는 사용자, 조직, 장치 또는 외부 소프트웨어 구성 요소의 클래스입니다. 예제에서 행위자는 Customer, Restaurant, Temperature Sensor, Credit Card Authorizer입니다.

  • 사용 사례(2)는 특정 목표를 위해 하나 이상의 행위자가 수행하는 동작을 나타냅니다. 예제에서 사용 사례는 Order Meal, Update Menu, Process Payment입니다.

    사용 사례 다이어그램에서 사용 사례는 각 사용 사례를 수행하는 행위자와 연결됩니다(3).

  • 시스템(4)은 개발하는 모든 것을 말합니다. 예를 들어 다른 소프트웨어 구성 요소가 행위자인 소규모 소프트웨어 구성 요소이거나 전체 응용 프로그램일 수 있습니다. 또는 여러 컴퓨터와 장치를 통해 배포된 대규모 응용 프로그램 모음일 수도 있습니다. 예제에서 하위 시스템은 Meal Ordering Website, Meal Delivery Business, Website Version 2입니다.

    사용 사례 다이어그램에는 시스템 또는 하위 시스템에서 지원하는 사용 사례를 나타낼 수 있습니다.

항목 내용

사용 사례 다이어그램을 그리는 기본 단계

행위자 및 사용 사례 그리기

사용 사례 세부 내용 기술

사용 사례 구성

하위 시스템 경계 사용

사용 사례 다이어그램을 그리는 기본 단계

참고

모델링 다이어그램을 만드는 자세한 단계는 방법: UML 모델 및 다이어그램 편집를 참조하십시오.

새 사용 사례 다이어그램을 만들려면

  1. 아키텍처 메뉴에서 새 다이어그램을 클릭합니다.

  2. 템플릿에서 UML 사용 사례 다이어그램을 클릭합니다.

  3. 다이어그램 이름을 지정합니다.

  4. 모델링 프로젝트에 추가에서 솔루션의 기존 모델링 프로젝트를 선택하거나 새 모델링 프로젝트 만들기를 선택하고 확인을 클릭합니다.

사용 사례 다이어그램을 그리려면

  1. 도구 상자의 하위 시스템 경계를 다이어그램으로 끌어 와 전체 시스템 또는 주요 구성 요소를 나타냅니다.

    • 시스템 또는 시스템 구성 요소에서 지원하는 사용 사례를 기술하지 않으려면 시스템 경계 없이 사용 사례 다이어그램을 그릴 수 있습니다.

    • 필요한 경우 시스템의 모서리를 끌어 더 크게 만듭니다.

    • 시스템 이름을 적절하게 바꿉니다.

  2. 도구 상자의 행위자를 다이어그램으로 끌어 와 시스템 경계 외부에 둡니다.

    • 행위자는 시스템과 상호 작용하는 사용자, 조직 및 외부 시스템의 클래스를 나타냅니다.

    • 행위자 이름을 바꿉니다. 예를 들어 Customer, Restaurant, Credit card agency 등으로 바꿉니다.

  3. 도구 상자의 사용 사례를 적절한 시스템으로 끌어 옵니다.

    • 사용 사례는 행위자가 시스템을 사용하여 수행하는 동작을 나타냅니다.

    • 행위자가 이해할 수 있는 제목을 사용하여 사용 사례 이름을 바꿉니다. 코드와 관련된 제목은 사용하지 마십시오. 예를 들어 Order Meal, Pay for Meal, Deliver Meal 등의 제목을 사용합니다.

    • Select Menu Item과 같은 더 작은 상호 작용을 남겨 두고 Order Meal과 같은 주요 트랜잭션으로 시작합니다.

    • 각 사용 사례를 시스템 또는 이를 지원하는 주요 하위 시스템에 배치합니다. 이때 사용자 연결에만 참여하는 구성 요소나 외관은 무시합니다.

    • 사용 사례를 시스템 경계 외부에 그리면 특정 버전 또는 릴리스를 사용하는 시스템에서 지원되지 않는 사용 사례임을 나타낼 수 있습니다.

  4. 도구 상자에서 연결을 클릭하고 사용 사례, 이 사용 사례에 참여하는 행위자를 차례로 클릭합니다. 이 방식으로 각 행위자를 사용 사례에 연결합니다.

  5. 포함, 확장일반화 관계를 사용하여 사용 사례를 구성합니다. 이러한 각 링크를 만들려면 도구를 클릭한 다음, 소스 사용 사례와 대상을 차례로 클릭합니다. 자세한 내용은 아래에 나오는 사용 사례 구성 단원을 참조하십시오.

  6. 사용 사례를 좀 더 상세하게 기술합니다. 자세한 내용은 아래에 나오는 사용 사례 세부 내용 기술 단원을 참조하십시오.

  7. 관련된 사용 사례의 다른 그룹이나 다른 하위 시스템에 중점을 두기 위해 별도의 다이어그램을 그립니다. 한 모델링 프로젝트의 모든 다이어그램은 같은 모델의 뷰입니다.

행위자 및 사용 사례 그리기

사용 사례 다이어그램의 주 목적은 시스템과 상호 작용하는 사용자 및 이 사용자가 시스템을 통해 달성할 목표를 나타내는 것입니다.

  • 행위자를 만들어 시스템 또는 하위 시스템과 상호 작용하는 사용자, 조직, 다른 시스템, 소프트웨어 또는 장치의 클래스를 나타냅니다.

    • 행위자 및 다른 요소를 그리는 방법에 대한 자세한 내용은 방법: UML 모델 및 다이어그램 편집를 참조하십시오.

    • 고유한 각 목표 집합에 대해 형식 또는 역할에 따라 행위자를 식별합니다. 이때 실제 사용자나 엔터티가 같은 경우도 있습니다. 예를 들어 식당 종업원이 고객이 되는 경우도 있지만 Restaurant와 Customer는 별개의 행위자입니다.

  • 각 행위자가 시스템을 사용하여 달성하려는 각 목표에 대해 사용 사례를 만듭니다.

    • 용어를 구현하는 대신 행위자가 이해할 수 있는 단어로 사용 사례를 기술하고 이름을 지정합니다.
  • 연결을 사용하여 행위자를 사용 사례에 연결합니다.

행위자 간 상속

상속을 보여 주는 사용 사례 다이어그램

행위자 간에 일반화 링크를 그릴 수 있습니다. 예제의 Club Customer와 같이 특수화된 행위자는 Customer와 같이 일반화된 행위자의 사용 사례를 상속합니다. 화살촉은 좀 더 일반적인 행위자, 즉 Customer를 가리켜야 합니다. 링크를 만들 때는 먼저 좀 더 특수화된 행위자를 가리킵니다.

특수화된 행위자는 다른 행위자에 없는 고유한 추가 사용 사례를 가질 수 있습니다.

경고

행위자가 자신을 일반화하게 되는 일반화 관계 루프를 만들면 안 됩니다. 루프를 만들면 오류가 발생할 수 있습니다.

대체 행위자 아이콘

표준 사람 모양 대신 행위자를 나타내는 사용자 지정 아이콘을 사용할 수 있습니다. 예를 들어 장치, 식당, 은행 등과 비슷하게 변경할 수 있습니다.

행위자 모양을 변경하려면

  1. 행위자를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

    속성 창이 나타납니다.

  2. 이미지 경로 속성을 이미지 파일의 위치로 설정합니다.

    • .gif, .jpg, .bmp 등을 포함하여 여러 가지 이미지 형식 중 하나를 사용할 수 있습니다.

    • 솔루션이 이동되거나 복사되더라도 계속 사용할 수 있도록 솔루션 또는 프로젝트 소스 제어에 포함된 파일을 사용합니다.

  3. 이 모양을 다른 사용 사례 다이어그램에 복제하려면 행위자를 복사한 후 다른 다이어그램에 붙여넣습니다.

    • 이미지 변경은 특정 다이어그램의 뷰에만 적용되며 기본 모델 요소에는 적용되지 않습니다. UML 모델 탐색기의 행위자를 다른 다이어그램으로 끌어 오면 표준 사람 모양으로 나타납니다.

행위자와 사용 사례 간의 복합성

행위자와 사용 사례 간 연결의 각 끝에 복합성을 나타낼 수 있습니다.

행위자가 포함된 일대일 사용 사례

참고

연결의 복합성은 둘 다 1인 경우에는 사용 사례 다이어그램에서 숨겨집니다.

기본적으로 각 복합성은 1입니다. 모델을 엄밀하게 해석하면 복합성 1은 예를 들어 각 식사 주문과 관련된 고객은 한 명만 있을 수 있으며 각 고객은 식사를 한 번에 하나만 주문할 수 있다는 의미입니다.

이러한 복합성을 변경할 수 있습니다.

예를 들면 다음과 같습니다.

다대다 복합성을 보여 주는 사용 사례

  • 사용 사례가 한 번 발생할 때 같은 클래스의 여러 행위자가 참여할 수 있음을 나타내려면 연결의 행위자 끝에서 복합성을 **1..***로 설정합니다.

    그림에서는 같은 식사 주문을 처리하는 데 하나 이상의 식당이 참여할 수 있습니다.

  • 사용 사례가 여러 번 발생할 때 각 행위자가 동시에 참여할 수 있음을 나타내려면 연결의 사용 사례 끝에서 복합성을 *****로 설정합니다.

    그림에서는 각 식당이 한 번에 여러 개의 주문을 처리할 수 있습니다.

연결에 복합성을 설정하려면

  1. 연결을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  2. 첫 번째 역할 또는 두 번째 역할을 확장합니다.

    역할은 연결의 한 쪽 끝에 있는 요소를 의미합니다.

  3. 목록에서 다음과 같이 선택하여 복합성 속성을 설정합니다.

    • 이 역할의 인스턴스 중 하나만 각 링크에 참여한다는 것을 나타내려면 1을 선택합니다.

    • 이 역할의 인스턴스 중 하나 이상이 각 링크에 참여한다는 것을 나타내려면 **1..***를 선택합니다.

    • 참여 여부를 선택할 수 있다는 것을 나타내려면 0..1을 선택합니다.

    • 이 역할의 인스턴스 중 0개 이상이 링크에 참여한다는 것을 나타내려면 *****를 선택합니다.

참고

대부분의 팀은 복합성을 기본값 1로 두고 사용 사례 다이어그램에 복합성 정보를 설정하지 않습니다. 대신 별도로 사용 사례를 기술할 때 정보를 제공합니다. 이 경우 사용 사례 다이어그램에서 복합성이 모두 숨겨집니다.

행위자 또는 사용 사례를 여러 다이어그램에 사용

같은 행위자와 사용 사례를 여러 다이어그램에 나타낼 수 있습니다. 예를 들면 다음과 같습니다.

  • 한 행위자가 참여하는 여러 사용 사례를 서로 다른 다이어그램에 기술할 수 있습니다.

  • 사용 사례가 연결된 하위 시스템 및 행위자를 나타내기 위해 하나의 다이어그램을 사용하고, 사용 사례가 포함된 사용 사례 및 확장된 사용 사례로 구성되는 방식을 나타내기 위해 다른 다이어그램을 사용할 수 있습니다.

같은 행위자 또는 사용 사례를 여러 다이어그램에 나타내려면

  1. 한 다이어그램에서 행위자 또는 사용 사례를 만듭니다.

  2. 다른 사용 사례 다이어그램을 만듭니다.

  3. 모델 탐색기의 행위자 또는 사용 사례를 새 다이어그램으로 끌어 옵니다.

    참고

    이미 연결되어 있는 행위자와 사용 사례를 새 다이어그램에 놓으면 두 항목 간의 연결이 새 다이어그램에 자동으로 나타납니다.

사용 사례 세부 내용 기술

사용 사례는 다음을 나타냅니다.

  • 행위자의 시스템 사용 목표(예: Buy a Meal)

  • 하나 이상의 시나리오, 즉 목표를 달성하기 위해 수행하는 단계 시퀀스(예: {Order Meal, Pay, Deliver}). 성공 시나리오뿐만 아니라 Credit Card Rejected와 같은 예외 또는 실패 시나리오도 여러 개 있을 수 있습니다.

사용 사례를 다양한 세부 수준으로 구분하여 기술할 수 있습니다. 디자인 초기 단계에서는 사용 사례 다이어그램에 이름만 있어도 충분합니다. 이후에 디자인을 진행하면서 시나리오를 더 자세하게 작성할 수 있습니다.

Visual Studio Ultimate에서는 여러 가지 방법으로 사용 사례를 기술할 수 있으며, 이러한 방법은 다음과 같이 단독으로 또는 함께 사용될 수 있습니다.

  • 프로젝트에서 하나 이상의 다른 다이어그램에 사용 사례를 연결합니다.

    • 동작 다이어그램을 사용하여 루프, 분기, 병렬 스레드 등이 있는 복잡한 프로세스를 설명할 수 있습니다. 또한 프로세스의 파트 간에 데이터 흐름도 표시할 수 있습니다. 자세한 내용은 UML 동작 다이어그램: 지침을 참조하십시오.

    • 시퀀스 다이어그램을 사용하여 여러 행위자 간의 복잡한 상호 작용을 설명할 수 있습니다. 또한 각 사용 사례에 대응하여 시스템 내에서 발생하는 일도 나타낼 수 있습니다. 자세한 내용은 UML 시퀀스 다이어그램: 지침을 참조하십시오.

  • 사용 사례를 세부적으로 기술하는 OneNote 페이지, 섹션 또는 단락에 사용 사례를 연결합니다.

  • 텍스트, 스크린 샷 등을 사용하여 사용 사례의 시나리오를 기술하는 Word 문서에 사용 사례를 연결합니다. 자세한 내용은 사용자 요구 사항 모델링을 참조하십시오.

사용 사례를 동일한 솔루션의 다이어그램 또는 파일에 연결하려면

  1. 시퀀스 다이어그램 또는 동작 다이어그램과 같은 다이어그램을 그려 사용 사례의 시나리오를 나타냅니다.

  2. 사용 사례 다이어그램으로 돌아갑니다.

  3. 솔루션 탐색기의 다이어그램 또는 파일을 사용 사례 다이어그램의 빈 부분으로 끌어 옵니다.

  4. 종속성을 사용하여 아티팩트에서 사용 사례까지 연결합니다.

Word 문서 또는 PowerPoint 프레젠테이션 등의 솔루션 파일에 연결하려면

  1. 텍스트, 스크린 샷 등을 사용하여 사용 사례의 시나리오를 기술하는 문서를 작성합니다.

  2. 솔루션에 문서를 추가합니다.

    1. Word 문서를 솔루션과 같은 Windows 폴더로 이동합니다.

    2. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음, 기존 항목을 클릭합니다.

    3. Word 문서를 찾아서 추가를 클릭합니다.

      Word 문서가 솔루션 탐색기의 솔루션 폴더에 나타납니다.

  3. 솔루션 탐색기의 Word 문서를 사용 사례 다이어그램의 빈 부분으로 끌어 옵니다.

    새 아티팩트가 나타납니다.

  4. 종속성을 사용하여 아티팩트에서 사용 사례까지 연결합니다.

공유 문서, OneNote 요소 또는 웹 페이지에 연결하려면

  1. 공유 요소의 URL을 가져옵니다. 이 URL은 예를 들어 '\\'로 시작하는 네트워크 파일 경로이거나, 'http://'로 시작하는 웹 페이지 또는 Sharepoint URL이거나, 'onenote:'로 시작하는 OneNote 섹션, 페이지 또는 단락에 대한 링크일 수 있습니다.

  2. 도구 상자에서 아티팩트를 클릭하고 사용 사례 다이어그램을 클릭합니다.

  3. 새 아티팩트가 선택된 상태에서 하이퍼링크 속성에 해당 URL을 입력하거나 붙여 넣습니다.

참고

아티팩트를 두 번 클릭하면 다이어그램 또는 다이어그램이 연결되는 문서를 열 수 있습니다.

사용 사례를 작업 항목에 연결

프로젝트에서 Visual Studio Team Foundation Server 2010를 사용하고 팀 탐색기가 있는 경우 각 사용 사례를 Team Foundation의 작업 항목에 연결할 수 있습니다. 이러한 링크를 만드는 방법에 대한 자세한 내용은 방법: 모델 요소에서 작업 항목으로 연결을 참조하십시오.

사용 사례를 작업 항목에 연결하면 다음과 같이 할 수 있습니다.

  • 링크된 작업 항목에 사용 사례를 기술할 수 있습니다. 특히 프로젝트에 Visual Studio 공식 프로세스 템플릿이 사용되는 경우에는 사용 사례 작업 항목에 연결할 수 있습니다. 이 작업 항목 형식은 사용 사례의 목표와 시나리오를 기술하기 위한 필드를 제공합니다.

  • 테스트 사례를 사용 사례에 연결하여 개발 중인 코드가 사용 사례를 어느 정도 구현하는지에 대한 보고서를 가져올 수 있습니다.

  • 작업을 사용 사례에 연결하여 개발 작업의 진행률을 추적할 수 있습니다.

사용 사례 구성

주요 사용 사례를 몇 개 정도만 사용하여 시스템 동작을 기술하도록 해야 합니다. 규모가 큰 각 사용 사례는 제품 구매 또는 공급업체의 경우 판매용 제품 제공 등과 같이 행위자가 달성해야 할 주요 목표를 정의합니다.

이러한 목표를 정했으면 각 목표를 달성하는 방법과 기본 목표에서 가능한 변동 등에 대해 좀 더 자세히 논의할 수 있습니다.

사용 사례를 세부적으로 너무 많이 나누지 마십시오. 사용 사례는 시스템의 내부 작동 방식보다는 사용자의 시스템 환경에 초점을 둡니다. 또한 사용 사례를 세부적으로 자세하게 작성하는 데 시간을 소비하는 것보다는 초기 작업 코드를 만드는 것이 일반적으로 더 효율적입니다.

사용 사례 다이어그램에서 주요 사용 사례와 세부 사용 사례 간의 관계를 요약할 수 있습니다. 다음 단원에서 이에 대해 설명합니다.

  • 포함 관계를 사용하여 사용 사례의 세부 항목 표시

  • 일반화 관계를 사용하여 목표 공유

  • 확장 관계를 사용하여 변형 사례 분리

포함 관계를 사용하여 사용 사례의 세부 항목 표시

포함 관계를 사용하면 한 사용 사례가 다른 사용 사례의 일부 세부 항목을 기술한다는 것을 나타낼 수 있습니다. 그림에서는 Order a Meal에 Pay, Choose Menu 및 Choose Menu Item이 포함되어 있습니다. 포함된 각 사용 사례, 즉 세부 사용 사례는 포함하는 사용 사례의 전체 목표를 달성하기 위해 하나 이상의 행위자가 수행해야 하는 단계입니다. 화살표는 세부 사용 사례, 즉 포함된 사용 사례를 가리켜야 합니다.

경고

사용 사례가 자신을 포함하게 되는 포함 관계 루프를 만들면 안 됩니다. 루프를 만들면 오류가 발생할 수 있습니다.

포함된 사용 사례를 공유할 수 있습니다. 예제에서 Order a Meal 및 Subscribe to Reviews 사용 사례는 둘 다 Pay를 포함합니다.

포함을 사용하여 분해된 사용 사례

포함된 사용 사례는 나중에 디자인되는 사용 사례에 포함될 수 있도록 그 목표와 시나리오가 개별적으로도 의미가 있어야 합니다.

포함하는 사용 사례와 포함되는 사용 사례로 구분하면 다음과 같은 목표를 달성하는 데 유용합니다.

  • 세부 계층 수준을 다양하게 구성하여 사용 사례를 기술할 수 있습니다.

  • 공유 시나리오를 여러 사용 사례에서 반복하지 않도록 할 수 있습니다.

세부 단계의 순서 정의

사용 사례 다이어그램에는 세부 단계가 수행되는 순서 및 각 항목이 항상 필요한지 여부에 대해 아무 것도 나타나지 않습니다.

단계의 순서를 명확하게 나타내려면 아티팩트를 사용하여 별도의 문서를 상위 사용 사례, 즉 포함하는 사용 사례에 연결할 수 있습니다. 다음 예제에서는 동작 다이어그램이 Order a Meal 사용 사례에 연결되었습니다. 또는 단계 목록이나 스크린 샷 시퀀스가 포함된 텍스트 문서를 사용할 수도 있습니다. 자세한 내용은 사용 사례 세부 내용 기술을 참조하십시오.

동작 다이어그램을 사용하는 경우 다음과 같은 명명 규칙에 주의하십시오.

  • 전체 동작의 이름은 포함하는 사용 사례와 같습니다.

  • 동작 다이어그램의 각 동작은 포함된 사용 사례와 이름이 같습니다.

자세한 내용은 UML 동작 다이어그램: 지침을 참조하십시오.

연결된 동작 다이어그램에 표시된 사용 사례 단계

일반화 관계를 사용하여 목표 공유

일반화 관계를 사용하면 특수 사용 사례가 일반적인 다른 사용 사례에 의해 표현된 목표를 달성하기 위한 특정 방법임을 나타낼 수 있습니다. 열린 화살촉은 좀 더 일반적인 사용 사례를 가리켜야 합니다.

일반화 관계를 보여 주는 사용 사례

예를 들어 Pay는 Pay by Credit Card 및 Pay by Cash를 일반화합니다.

경고

행위자가 자신을 일반화하게 되는 일반화 관계 루프를 만들면 안 됩니다. 루프를 만들면 오류가 발생할 수 있습니다.

특수 사용 사례는 시스템에서 같은 목표를 달성할 수 있는 다양한 방법을 나타내는 데 도움이 됩니다.

특수 사용 사례는 일반적인 사용 사례의 목표와 행위자를 상속한다고 간주됩니다. 특수 사용 사례에서 목표를 달성하는 다양한 방법을 기술하므로 일반적인 사용 사례는 자체의 시나리오를 가질 필요가 없습니다.

둘 이상의 사용 사례에서 공통 목표를 리팩터링하려면

  1. 일반적인 사용 사례를 새로 만들고 이름을 지정합니다.

  2. 새로 만든 일반적인 사용 사례를 가리키는 큰 화살표가 포함된 일반화 관계를 만듭니다.

    1. 도구 상자에서 일반화를 클릭합니다.

    2. 특수 사용 사례(이 예제의 경우 Pay by Credit Card)를 클릭합니다.

    3. 일반적인 사용 사례(이 예제의 경우 Pay)를 클릭합니다.

  3. 특수 사용 사례의 목표를 기술했으면 공통 목표를 일반적인 사용 사례 설명으로 이동합니다.

  4. 특수 사용 사례 간에 공유되는 행위자를 일반적인 사용 사례로 이동할 수 있습니다.

확장 관계를 사용하여 변형 사례 분리

확장 링크를 사용하면 경우에 따라 한 사용 사례에서 다른 사용 사례에 기능을 추가할 수 있음을 나타낼 수 있습니다. 화살표는 주요 사용 사례, 즉 확장된 사용 사례를 가리켜야 합니다.

다른 사용 사례를 확장하는 사용 사례

경고

행위자가 자신을 확장하게 되는 확장 관계 루프를 만들면 안 됩니다. 루프를 만들면 오류가 발생할 수 있습니다.

예를 들어 일반 웹 사이트의 Login 사용 사례는 Register New User를 포함할 수 있지만 사용자에게 계정이 없는 경우에만 해당합니다.

사용 사례를 주요 사용 사례와 확장 사용 사례로 분리하려면

  1. 확장 사용 사례를 새로 만들고 이름을 지정합니다.

  2. 확장된 사용 사례를 가리키는 화살표가 포함된 확장 관계를 만듭니다.

    1. 도구 상자에서 확장을 클릭합니다.

    2. 확장 사용 사례(이 예제의 경우 Register New User)를 클릭합니다.

    3. 확장된 사용 사례(이 예제의 경우 Login)를 클릭합니다.

      참고

      다이어그램에서 확장 관계 루프를 만들면 안 됩니다. 사용 사례가 저절로 확장되는 것은 잘못되었습니다.

  3. 확장된 사용 사례에 대한 시나리오를 이미 만들었으면 관련 단계를 확장 시나리오로 이동합니다.

  4. 확장 사용 사례(이 예제의 경우 Register New User)를 기술하는 경우 주요 사용 사례 시나리오에서 이 확장 사례가 발생하는 위치 및 상황에 대한 세부 사항을 포함해야 합니다. 주요 사례의 설명을 수정하는 것으로 생각하면 이해하기 쉽습니다.

확장 사용 사례는 주요 사용 사례 시나리오의 일부일 수도 있는 시나리오 단계를 나타냅니다. 확장 사례의 시나리오와 목표는 항상 주요 사용 사례의 컨텍스트에서 읽게 되므로 개별적으로는 유용하지 않아도 됩니다.

확장을 분리하면 다음과 같은 경우를 기술할 때 유용할 수 있습니다.

  • 확장 사용 사례에만 참여하는 추가 확장자가 있습니다. 예를 들어 관리자는 고객의 웹 사이트 등록을 승인하는 데 필요합니다.

  • 별도의 하위 시스템에서 확장 사용 사례를 처리합니다.

  • 특정 버전의 시스템에서만 이 확장을 사용할 수 있습니다. 사용 사례 다이어그램에서 각 버전을 별도의 하위 시스템으로 나타낼 수 있습니다.

하위 시스템 경계 사용

하위 시스템 경계를 사용하면 시스템 범위 내에 포함되는 사용 사례를 나타낼 수 있습니다.

하위 시스템 경계를 그리려면

  1. 도구 상자에서 하위 시스템을 클릭하고 다이어그램을 클릭합니다.

    하위 시스템이 다이어그램에 나타납니다.

  2. 하위 시스템의 모서리를 끌어 크기를 조정합니다.

  3. 기존 사용 사례를 하위 시스템의 내부 또는 외부로 끌어 콘텐츠를 조정합니다.

-또는-

하위 시스템에서 새 사용 사례를 직접 만들려면 도구 상자에서 사용 사례를 클릭하고 하위 시스템 안쪽을 클릭합니다.

참고

사용 사례의 제목 속성은 해당 사용 사례가 포함되는 하위 시스템을 나타냅니다.

시스템 범위 외부의 사용 사례

비즈니스에 포함되지만 현재 개발 중인 시스템에서 처리하지 않는 사용 사례를 다이어그램에 포함하면 유용할 때가 많습니다. 이렇게 하면 개발자가 자신의 작업 컨텍스트를 이해하는 데 도움이 됩니다. 예를 들어 Deliver Meal을 Restaurant 및 Customer 행위자를 포함하지만 Meal Ordering Web Site의 책임 범위에 없는 사용 사례로 표시할 수 있습니다.

여러 하위 시스템

시스템의 다양한 구성 요소에서 각 사용 사례를 어떻게 처리하는지 나타내기 위해 하위 시스템 경계를 여러 개 만들 수 있습니다. 예를 들어 Add Restaurant Appraisal을 별도의 포럼 웹 사이트에서 처리할 수 있습니다. 사용 사례 다이어그램은 사용자에게 보이는 것만 처리한다는 것을 기억하십시오. 시스템에서 작업 내부의 분할을 기술하려면 구성 요소 다이어그램을 사용하는 것이 좋습니다.

시스템 버전

시스템의 다양한 버전을 나타내기 위해 서로 다른 하위 시스템 경계를 사용할 수 있습니다. 예를 들어 Pay 사용 사례가 웹 사이트 버전 2에만 포함되고 버전 1에는 포함되지 않을 수 있습니다. 이는 시스템이 고객의 주문을 도와준다는 것을 의미합니다. 그러나 고객은 식당에 직접 지불해야 합니다.

종속성 관계를 사용하면 다른 버전 또는 변형을 나타내는 하위 시스템을 연결할 수 있습니다.

시스템의 다양한 버전을 보여 주는 하위 시스템

참고 항목

개념

사용자 요구 사항 모델링

UML 시퀀스 다이어그램: 지침

방법: UML 모델 및 다이어그램 편집

UML 사용 사례 다이어그램: 참조

UML 클래스 다이어그램: 참조

UML 구성 요소 다이어그램: 참조

UML 구성 요소 다이어그램: 참조

기타 리소스

Video: Organizing Features into Use Cases