상태 모델 디자인 고려사항

이 주제에서는 효과적인 상태 모델이 디자인 단계에서 다루어야 하는 문제를 설명합니다.

데드 엔드

모델에서 변경 요청을 처리할 수 있지만 간과될 수 있는 상태가 없는지 확인해야 합니다. 예를 들어, 모델에 Postponed 상태가 있으나 이 상태의 레코드를 처리하도록 지정된 사용자가 없는 경우 일부 변경 요청은 발견되거나 수정될 수 없습니다.

이 문제점의 원인은 구별하기 어려운 것일 수 있습니다. 컴포넌트 필드의 값이 각각 빨간색, 녹색 및 파란색인 변경 요청을 Open 상태에서 처리하기 위해 세 명의 엔지니어를 지정할 수 있습니다. 컴포넌트 필드 값이 노란색이거나 비어 있는 변경 요청은 인식하지 못할 수 있습니다.

상태 수

각각의 더 많은 개발 활동에 더 적은 상태가 있는 모델과 더 적은 개발 활동에 더 많은 상태가 있는 모델 간의 트레이드-오프 관계를 고려해 보아야 합니다. 예를 들어, 변경 요청 라이프사이클에서 여러 시점에 검증 활동이 발생하는 경우, 검증 활동을 다른 상태로 통합하지 않고 하나의 검증 상태를 포함할 수 있습니다. 이러한 활동을 하나의 상태로 그룹화하면 검증을 쉽고 올바르게 처리할 수 있습니다. 그러나 상태를 많이 작성함으로써 규모가 증가하여 유지보수가 어렵게 됩니다.

중복 레코드

Duplicate 조치는 중복 레코드 세트에서 하나의 레코드를 활성 레코드로 표시하고 다른 레코드를 중복 레코드로 표시할 수 있는 방법을 제공합니다. 레코드는 수정할 수 없는 중복 레코드로 표시됩니다. 이 조치로 인해 변경 요청에서의 모든 작업이 한 레코드로 추적됩니다. 이 조치는 내장 필드를 사용하므로 양식에 Duplicate Dependent 및 Duplicate Base 제어 도구를 추가하고 Duplicate 및 Unduplicate 조치를 작성하여 스키마에 추가할 수 있습니다. Unduplicate 조치는 Duplicate로 표시되기 전에 레코드를 해당 상태로 리턴합니다.

사전 정의된 스키마

특정 기능 또는 구성을 통합하는 사전 정의된 여러 스키마를 사용할 수 있습니다. 이러한 스키마를 스키마 개발을 위한 시작점으로 사용할 수 있지만 사전 정의된 스키마의 기능을 사용자의 요구사항과 주의 깊게 비교해야 합니다. 사전 정의된 스키마에 대한 자세한 정보는 Rational ClearQuest 사전 정의 스키마를 참조하십시오.

병렬 개발

공통 아티팩트를 공유하는 여러 제품(또는 제품 변형)에 대한 병렬 개발을 지원하도록 스키마를 디자인하는 것은 어려운 작업입니다. 스키마를 디자인할 때는 보고된 결함이 여러 제품에 수정사항이 필요한 공유 아티팩트를 추적하는 경우에 맞는 정보를 캡처하고 처리하는 방법을 찾거나 여러 개의 빌드(잠재적으로 다른 스케줄)가 필요한 경우에 결함의 현재 상태를 추적하는 방법을 찾는 것과 같은 상황을 고려해야 합니다.

단일 레코드를 사용하여 이러한 다른 경우를 추적하는 것은 효과적인 방법이 아닙니다.

다른 방법은 각 활동의 상태를 독립적으로 추적할 수 있도록 영향을 받는 각 제품에 대해 여러 레코드를 제출하는 것입니다. 처음 입력한 레코드에 대해 기본값 저장 메커니즘을 사용하고 후속 레코드에 대해 로드 메커니즘을 사용하는 경우, 사용자가 각 사본에 대해 데이터 입력을 복제할 수 없습니다.(이 기능은 Rational ClearQuest Web 클라이언트에 사용할 수 없습니다.) 문제점은 각 레코드가 다른 레코드와 분리되어 있어 다른 관련 문제가 있는 작업과 통합되지 않은 경우에는 소용이 없게 된다는 것입니다.

보다 효율적인 방법은 상위 레코드가 문제를 규정하고 하위 레코드를 사용하여 각 제품, 변형 또는 버전에 대한 문제를 추적할 수 있는 계층 구조를 사용하는 것입니다. 상위 레코드와 하위 레코드의 유형은 서로 다를 수도 있고 같을 수도 있습니다. 일부 스키마는 상위 및 하위 레코드에 대해 동일한 레코드 유형을 사용하여 모든 정보를 하위에 포함할 수 있으며 이러한 경우 상위와 하위 사이를 탐색하는 수고를 덜 수 있습니다. 기타 스키마는 단순 하위 레코드 유형을 사용하여 리마인더를 구현함으로써 영향을 받은 나머지 제품, 변형 또는 버전에 대한 동일한 문제를 해결하거나 해당 상태를 추적할 수 있습니다. 계층 구조를 사용하는 스키마에 대한 자세한 정보는 Rational ClearQuest ALM 사용 스키마 문서를 참조하십시오.


피드백