Share via


사용자 스토리 모델링

팀에서 예측하거나 개발하려고 하는 사용자 스토리를 이해하는 데 도움이 되는 모델을 만들 수 있으며, 질문이 적절히 복잡한 경우 개발 중에 제품 소유자와 진행 중인 논의에서 모델을 사용할 수도 있습니다.

예를 들어 팀에 새로운 개념 집합이 프로젝트에 포함될 수 있습니다. 팀에서는 제품 소유자와 작업하여 이러한 개념과 개념 간의 관계를 포착하기 위해 도메인 클래스 다이어그램을 개발할 수 있습니다. 팀에서 사용자 동작의 주요 시퀀스를 이해해야 하는 경우 동작 다이어그램을 만들 수 있습니다.

자세한 내용은 사용자 요구 사항 모델링을 참조하십시오.

도메인 모델: 사용자의 언어

도메인 클래스 다이어그램

도메인 클래스 다이어그램은 응용 프로그램과 관련된 개념과 관계를 보여 줍니다. 응용 프로그램과 관련된 모든 사용자는 이러한 개념을 사용하여 보다 일관성 있게 이해할 수 있습니다.

Order 클래스에 연결된 주석의 규칙

위의 그림에 있는 예제는 몇 가지 다른 방식으로 이러한 관계를 나타낼 수 있는 소프트웨어 솔루션의 클래스 다이어그램은 아니지만 사용자 스토리를 작성하는 데 사용할 수 있는 용어를 제시합니다.

고객은 Order를 만들기 위해 Menu를 선택한 다음, Menu에서 Menu Items를 선택하여 Order에서 Order Items를 만듭니다.

이 다이어그램은 프로그램의 개체가 아니라 개념의 모델이기 때문에 이 용도로 사용되는 경우에는 일반적으로 클래스에 작업을 할당하지 않습니다. 대신 동작 다이어그램을 사용하여 사용자가 수행하는 작업에 대해 설명할 수 있습니다.

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

동작 다이어그램

팀에서 동작 다이어그램을 사용하여 사용자가 수행할 수 있는 동작의 흐름에 대해 설명하고 각 지점에서 동작의 대체 경로를 보여 줄 수 있습니다.

동작 세 개와 루프 하나가 포함된 작업입니다.

팀에서 테스트를 만드는 경우 동작 다이어그램을 참조하고 동작 다이어그램을 통해 각 경로에 대한 테스트를 만들 수 있습니다.

사용자 스토리에서 기존 동작 다이어그램에 경로를 도입할 수도 있습니다. 예를 들어 사용자 스토리가 "고객으로서 나는 지금 지불하는 대신 이후에 처리하기 위해 주문을 저장하도록 선택할 수 있습니다."일 수 있습니다. 개발을 위해 이 스토리를 스프린트로 가져오는 경우 동작 다이어그램을 업데이트하여 새 기능을 표현할 수 있습니다.

팀에서 구현한 모든 사용자 스토리를 반영하기 위해 다이어그램을 업데이트하는 경우 동작 다이어그램은 응용 프로그램의 특정 릴리스를 사용하여 사용자가 따라갈 수 있는 경로의 전체 집합에 대해 설명할 수 있습니다.

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

모델을 사용하여 간격 드러내기

팀에서 다이어그램이 지원하지 않는 대화에서 발생하는 오해를 방지하여 사용자의 요구 사항을 보다 효과적으로 이해할 수 있습니다. 예를 들어 다이어그램은 주문의 항목과 메뉴의 항목을 명확하게 구분합니다.

모델을 만들면 팀에서 개발이 많이 진행될 때까지 묻지 않을 수도 있는 질문을 하는 데 도움이 됩니다. 몇 가지 방법은 다음과 같습니다.

  • 클래스 다이어그램에서 카디널리티에 대해 묻기(예: "메뉴 항목이 둘 이상의 메뉴에 나타날 수 있습니까?")

  • 클래스 다이어그램에서 루프에 대해 묻기(예: "어떠한 주문에서든 모든 항목이 동일한 메뉴에서 제공됩니까?")

이러한 유형의 질문에 대한 대답은 다이어그램에서 주석으로 추가될 수 있습니다.

모델 일관성

팀에서 모델과 사용자 스토리가 일치하는지 확인하여 모호성을 해결할 수 있습니다.

  • 사용자 스토리는 모델에 정의되고 모델이 정의하는 관계와 일치하는 용어를 사용합니다. 모델이 메뉴 항목을 정의하는 경우 스토리에서는 동일한 항목을 나타내기 위해 "제품"이라는 용어를 사용해서는 안 됩니다. 클래스 다이어그램에서 메뉴 항목이 정확히 하나의 메뉴에만 속하는 것으로 나타날 경우 스토리에서는 메뉴 간의 항목 공유를 언급해서는 안 됩니다.

  • 모든 사용자 스토리에서는 동작 다이어그램이 허용하는 일련의 단계를 기술합니다.

  • 사용자 스토리 또는 동작은 클래스 다이어그램의 각 클래스 및 관계가 만들어지고 삭제되는 방식을 기술합니다. 예를 들어 메뉴 항목을 만드는 사용자 스토리가 무엇인지, 주문이 삭제되는 때는 언제인지 등을 기술합니다.

모델 및 제품 백로그

팀에서는 모델과 스토리보드를 표시하여 각 사용자 스토리에서 변경할 부분을 보여 줄 수 있으며 개발 계획에 도움이 되도록 모델에서 색을 지정하거나 주석을 추가할 수 있습니다. 예를 들어 팀에서는 동작 다이어그램의 작업에 색을 지정하여 완료된 작업과 다음 스프린트에 완료될 작업을 나타낼 수 있습니다.

자세한 내용은 사용자 요구 사항 모델링을 참조하십시오.

모델 및 테스트

팀에서는 도메인 모델을 시스템 테스트의 기초로 사용하여 테스트와 사용자 요구 사항의 관계를 명확히 할 수 있습니다. 이 관계는 팀에서 테스트를 신속하고 정확하게 업데이트하는 데 도움이 되고 제품이 새로운 요구 사항을 충족하도록 하는 데 유용합니다.

팀에서는 UML(Unified Modeling Language) 모델의 요소를 테스트 등의 어떠한 작업 항목에도 연결할 수 있습니다. 모델의 특정 부분이 변경되면 모델은 팀에서 해당 부분과 관련된 테스트를 찾는 데 도움이 됩니다.

도메인 모델을 사용하여 테스트를 쉽게 만들 수 있습니다.

  • 메뉴 항목 또는 주문 항목과 같은 각 형식 또는 연결의 생성과 관련된 테스트를 하나 이상 만들고 각 형식 또는 연결의 소멸과 관련된 테스트를 하나 이상 만듭니다.

  • 동작 다이어그램에서 설명하는 모든 경로가 테스트되었는지 확인합니다.

    참고

    테스트에서는 일반적으로 동작 다이어그램에서 나타내지 않을 예외적인 경로도 다뤄야 합니다.

  • 도메인 모델의 용어를 사용하여 테스트를 정의합니다. 예를 들어 테스트에는 Select Menu Item 작업의 테스트가 포함되어 이 작업이 Order에 새로운 Order Item이 포함되게 하는지 확인합니다. 자동화된 테스트를 작성하려면 다이어그램을 직접 기반으로 하는 클래스와 관계를 사용할 수 있습니다.

자세한 내용은 모델에서 테스트 개발을 참조하십시오.