문제

요구 사항 사양(기능적, 비기능적 요구 사항, 제약 조건 등을 포함)을 검토할 때 작든 크든 작성자가 주의해야 할 "대죄"는 무엇입니까?

요구 사항 사양에서 수행된(또는 수행되지 않은) 것이 소프트웨어 제품의 품질에 부정적인 영향을 미치는 가장 중요한 사항을 7개 이하(심각도가 낮은 순서로) 나열하십시오.7 미만이면 완벽하게 괜찮습니다.

도움이 되었습니까?

해결책

좋아, 이것은 7 이상이지만 좋은 요구 사항은 다음과 같은 속성을 가지고 있습니다.

  • 독특한. 비슷한 다른 요구 사항이 있습니까?
  • 식별 가능, 요구 사항을 고유하게 식별 할 수 있습니까? 개발 과정 전체에서 추적 할 수 있습니까?
  • 완벽한. 누락되었거나 잊혀 졌습니까? 철저합니까? 혼자서 독립형으로 만드는 데 필요한 모든 것이 포함되어 있습니까?
  • 정확한. 맞습니까? 목표를 올바르게 정의합니까? 오류가 있습니까?
  • 모호하지 않습니다. 설명이 정확하고 모호하지 않습니까? 단일 상승이 있습니까? 읽고 이해하기 쉽습니까?
  • 일관된. 사양의 다른 항목과 충돌하지 않도록 기능에 대한 설명이 작성됩니까?
  • 관련 있는. 기능에 필요한 진술이 필요합니까? 배제해야 할 추가 정보입니까? 원래 고객의 요구가 추적 할 수 있습니까?
  • 실현 가능 한. 지정된 예산 및 일정 내에서 사용 가능한 직원, 도구 및 리소스와 함께 구현할 수 있습니까?
  • 코드가 없습니다. 사양은 기본 소프트웨어 디자인, 아키텍처 및 코드가 아닌 제품을 정의하는 데 고집됩니까?
  • 테스트 가능. 테스트 할 수 있습니까? 테스터가 요구 사항이 충족되는지 확인하기 위해 테스트를 생성 할 수 있도록 충분한 정보입니까?
  • 우선 순위. 다른 요구 사항보다 다소 중요합니까?
  • 활성 음성을 사용합니다. 사양이 활성 음성을 사용합니까? 패시브 음성이 항상 누가 또는 무엇을 수행하는지 지정하는 것은 아닙니다.
  • 분류. 요구 사항이 유사한 요구 사항으로 논리적으로 그룹화되어 있습니까? 가능한 범주는 행동, 성능, 인터페이스, 데이터 구조/요소, 구현, 준수/품질, 운영 (신뢰성, 안전, 보안), 파생/엔지니어링입니다.

괜찮은 요구 사항 추적 도구는 식별 가능, 우선 순위, 분류와 같은 위의 일부를 자동화/시행 할 수 있지만 팀의 검토 만 나머지를 확인할 수 있습니다. 핵심은 이러한 속성에 대해 팀을 훈련시키고, 요구 사항의 좋은 예와 나쁜 예를 모두 읽고, 다운 스트림 활동에 영향을 줄 수 있도록 수명주기에서 요구 사항을 조기에 확인하는 효율적인 검토 프로세스를 설정하는 것입니다.

다른 팁

요구 사항 누락 - 잡기가 훨씬 어렵습니다. 요구 사항을 명확한 섹션 (예 : 안전, 성능, 스타일 등)으로 분리하면이를 쉽게 찾을 수 있습니다.

특징, 시간, 품질 - 두 가지를 선택하십시오. 요구 사항이 팀에 세 가지 모두를 부과하지 않도록하십시오.

프로세스를 제어하려는 요구 사항을 다시 푸시하십시오.

처음부터 명확한 우선 순위를 요청하십시오.

각 요구 사항에 대한 명확한 수락 기준을 주장합니다.

요구 사항은 필요한 것과 관련하여 구체적이고 모호하지 않아야하지만 요구 사항을 충족하는 방법에 대해서는 덜해야합니다.

가정 - 가정처럼 보이는 모든 것이 실제로 검증되었는지 두 번 확인하십시오.

하나 이상의 요구 사항이 포함 된 잘못된 문구 선고. 그들을 어딘가에 분리하여 더 명확하고 쉽게 똑딱 거리게합니다.

충족되는 것으로 확인하기 쉽지 않은 요구 사항 - 검토시 충족으로 쉽게 표시 할 수있는 양식으로 변경합니다.

요구 사항은 누가/무엇을하는지 지정하지 않습니다.

"The invoice is reconciled to the purchase order."

이것은 시스템이 무언가를하는 것을 의미합니까?

내가 코딩 한 프로젝트에서 본 최악의 것 :-

The system shall interface to SAP as required.

첫째, "필요한대로"에 대한 요구는 바보입니다. 그 한 줄에는 $ 400k가 필요합니다. 고객은 계속 가리키며 당신이 그곳에서 블라, 블라, 블라를 할 것이라고 말합니다.

엄격한 경우 - 가능하면 관련 공차를 지정하십시오.

모호한 요구 사항은 나쁩니다.

검증 할 수없고 정량 할 수없는 요구 사항이 두 배로 늘어납니다.

당연히이 모든 것은 어떤 종류의 요구 사항을 가져 오는지에 달려 있습니다. 나는 일반적인 GUI 또는 웹 응용 프로그램, 배치 프로세스 및

  • 각 사양에서 정의 할 필요가없는 스탠드를 먼저 올리십시오.
  • 가능한 한 작게 만들기 - 200 페이지 문서를 읽을 수는없고 모든 것을 명심하십시오.
  • 구체적이고, 만성적이며, 콘크리트
  • 예제 (도면, 회계 작문)
  • Funtction을 설명하기 전에 목적을 설명하십시오
  • InlCude 성능 표준, 탄력성 스탠드, 배포 지침, 필요한 작업 문서

검토자를위한 하나의 조언도 있습니다. 당신의 주제를 알고 있습니다

요구 사항의 맥락, 특정 고객의 요구, 기술 환경 및이 요구 사항이 해결 될 사람과 그들이 어떤 수준의 글로벌 이해를 할 것인지에 대한 매우 자세한 지식이 있어야합니다.

나는 개별 지식이 매우 얕기 때문에 많은 사람들이 사양을 검토하는 프로젝트에서 매우 나쁜 경험을했습니다. 피드백을 동일한 수준으로, 대부분 공식적인 수정을 받지만 사양의 심오한 부족은 프로젝트에서 매우 최근에만 발견 될 것입니다.

'Weasel Word'를 피하십시오 - 맥락에서 씨름하고 소리가 나지 않는 언어는 나쁘다.

모든 것이 절대적으로 명확 해지는지 확인하십시오 : 모호한 == 나쁜 것 (TM)

내 추천과 새 프로젝트 전에 항상하는 일은 42,43 페이지의 수표 목록을 두 번 확인하는 것입니다. Steve McConnell의 코드가 완성되었습니다

모든 것을 아는 위키피디아에는 요구 사항에 대한 좋은 개요가 있습니다. http://en.wikipedia.org/wiki/Requirement#Good_requirements.그 중에서도 검증 가능성의 부족이 가장 흔한 점이라고 말하고 싶습니다.인생에서는 큰 그림을 이해하는 것이 중요합니다. 그러나 요구 사항에 명시적으로 설명해야 합니다.시스템은 신속하게 응답해야 합니다.대신 시스템은 2초 이내에 모든 요청에 ​​응답해야 합니다.

  • 기능적, 건축, 인터페이스, 비 기능적 요구 사항의 분리.
  • 엔티티를 설명하기위한 모호하고 일관된 표기법 사용
  • 사용 사례에 대한 입력 및 종료 기준
  • 플로우 다이어그램이 있습니다 (마인드 맵은 UML과 동일한 목적으로 사용되며 그리기가 더 쉽습니다).
  • 범위를 명확한 용어로 정의하는 것, 다루지 않은 것 및 미지의 남은 곳을 찾을 수있는 곳을 정의하십시오.
  • 추적 성 매트릭스가 있습니다

당신은 일부를 읽는 것을 고려할 수 있습니다 요구 사항 관리 그리고 CMMI 서류.

또한 방문하십시오 요구 사항 점검표 "좋은 요구 사항의 기준"에 대한 Google.

이들은 소프트웨어 개발에 도움이되는 프로세스를 만들도록 특별히 설계되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top