요구 사항과 사양의 차이점은 무엇입니까? [닫은]


122

나는 우리 그룹이 시작하는 프로젝트에 대한 요구 사항과 사양을 개발하는 임무를 맡았습니다.

나는 그 차이를 모른다는 것을 깨달았다. 구글 검색은 저를 더 혼란스럽게 만들었습니다. 어떤 사람들은 사양 요구 사항이지만 더 낮은 수준 이라고 말합니다 .


나는 높은 투표 답변에 동의하지만 시스템 용어 나 소프트웨어를 설명하는 문서를 언급 할 때 사양이라는 용어가 소프트웨어 산업에서보다 일반적인 용어로 사용되기도합니다. 증거로-구글 "요구 사항 사양". 그런 식으로 사용될 때 무언가를 지정하는 문서를 의미합니다. 즉, 소프트웨어의 요구 사항을 지정합니다. 나는 그것이 그것이 단어의 올바른 사용법인지 아닌지 판단하지 않을 것이며, 단지 사양이 항상 모든 사람에게 같은 것을 의미하지는 않는다고 지적하고 싶었습니다.
Shane Wealti

1
그렇기 때문에 사람들은 "비즈니스 요구 사항"과 "디자인 사양"/ "기술 사양"등을 말해야합니다. 그들 자신의 말은 꽤 모호하다.
user606723

이것을 다음과 같이 생각하십시오 (정말로 말하기) : 요구 사항 = 요구 사항 문서 및 사양 = 유스 케이스 / 디자인 문서
PhD

4
왜 당신이 이것들을 만드는 사람에게 물어 보지 않겠습니까? 그들 만이 당신의 특정한 경우에 필요한 것에 대답 할 수 있습니다 .
Jaap

이 기사는 철저한 답변을 제공합니다. ece.cmu.edu/~koopman/des_s99/requirements_specs
Julien-L

답변:


129

딱딱한 대답은 요구 사항이 프로그램에서 수행해야하는 사양이고 사양은 계획하는 방식입니다.

그것을 보는 또 다른 방법은 요구 사항이 사용자 또는 비즈니스 전체의 관점에서 응용 프로그램을 나타내는 것입니다. 사양은 기술 팀의 관점에서 응용 프로그램을 나타냅니다. 사양과 요구 사항은 대략 동일한 정보를 전달하지만 완전히 다른 두 대상에게 전달됩니다.


4
무엇을 / 어떻게 사운드 물린 권리, 종류의; 그러나 프로그램의 사양을 프로그램의 기능과 디자인 방식 을 설명 하는 것으로 볼 수 있기 때문에 혼란 스럽 습니다. 또 다른 당신이 언급하는 (프롤로그 및 SQL 등) 선언 (PL)이며, 무엇을 하지 않는 방법을 . 한 가지 해결책은 그것들이 추상화의 계층 적이며, 부모는 무엇을 , 아이들은 어떻게 (외부 대 내부)를 말하고 있는지에 관한 것 입니다. 나는 훨씬 더 가까운 두 번째보기를 선호에 "그것이 무엇 을위한 대"는 무엇 " 이다 기능 대, 즉 이익".
13ren

나는 일반적으로 당신에게 동의하지만, 그것은 단지 또 다른 의견이며 정답은 아닙니다. 예를 들어, 요구 사항 ( en.wikipedia.org/wiki/Requirement ) 의 Wiki 페이지를보십시오 . 비 기능적 요구 사항이 있으며, 이는 기술 팀에 대한 정의입니다. 또는 건축 및 구속 조건 요구 사항은 다시 기술적이지만 '사양'이라고 부르지는 않습니다. 나는 정답이 없다고 생각하며 회사마다, 개발자마다 개발자가 항상 '흐리게'보일 것입니다.
Jeach

1
아래의 'Adam Wuerl'답변을 살펴보십시오. 게시 된 질문에 대한 가장 정확한 진술이라고 생각합니다.
Jeach

1
@Jeach : "벨로우"[sic]는 상대적입니다. 이 시점에서이 게시물 아래에있을 수 있지만 위에 올라 와서 의견을 이해하기 어렵게 만들 수 있습니다.
Bryan Oakley

1
또 다른 관점 .. Wikipedia는 스펙을 "요구 사항 세트"로 정의합니다. 이는 스펙이 단 하나의 요구 사항 일 수 있음을 의미합니다. s : = {r1}. 구어체 "요구 사항"은 "높은 수준의"요구 사항 인 반면, "기술 사양"은 LOD 인 낮은 수준의 요구 사항 인 것 같습니다.
랜스 폴라드

38

요구 사항은 필요한 것을 문서화합니다-방법을 지정하지 말고 무엇을 지정해야합니다.

사양은 요구 사항을 달성하는 방법을 문서화합니다. 방법을 지정해야합니다.

많은 곳에서이 문서들은 분리되어 있지 않으며 상호 교환 적으로 사용됩니다.


2
우리 회사에서는 일반적으로 "요구 사항 사양"이라는 용어를 대상 (지정한 내용, 세부 사항을 적어 놓은 내용)에, "디자인 사양"을 사용하는 방법 (사용자 지정, 세부 사항을 적어 놓은 방법)에 대해 사용합니다. 구현 계획).
조르지오

16

저는 항공 우주 분야의 시스템 엔지니어로서 두 용어가 광범위하게 사용됩니다. 구별은 명확하고 다른 사람들이 만드는 것만 큼 복잡하지 않습니다.

사양은 예를 들어 F-14에 대한 주요 항목 개발 사양 시스템 또는 제품을 지정하는 문서입니다. 사양에는 요구 사항, 정의, 참조 문서, 용어집, 검증 정보 등 많은 섹션 / 컨텐츠가 있습니다.

요구 사항은 제품 또는 시스템이해야 할 일의 하나의 문입니다. 스펙에는 수백 가지 요구 사항이있을 수 있습니다. 구식 방법론에 따르면 요구 사항 설명은 요구 사항을 사실 또는 정의와 구분하기 위해 "shall"이라는 단어를 사용해야합니다. (새롭고 번민 한 애들이이 모든 것을 지키는 지 아닌지는 확실하지 않습니다. 까다 로움은 사용되지만 때때로 까다로울 수 있습니다.)

따라서 사양은 요구 사항과 기타 지원 및 보조 정보로 가득 찬 문서입니다.


4
다른 의견에서 말했듯이 모든 사람에게는 매우 모호하며 아마도 항상있을 것입니다. 그러나이 정확한 주제에 대한 매우 광범위한 연구를 바탕으로 귀하의 답변이 내 발견 / 결론에 가장 정확하다고 말하고 싶습니다.
Jeach

2
실제 엔지니어의 의견을 얻는 데 항상 도움이됩니다. 감사!
LeWoody

또는 스펙에 0 요구 사항이있을 수 있습니다. 귀하의 예는 매우 구체적인 항공 공학 분야에 정말 좋습니다. 소프트웨어 개발 / 프로그래밍 도메인에 일반적으로 적용되는지 확실하지 않습니다. 대부분의 소프트웨어가 비즈니스 요구에 의해 구동되는 경우, 기술적 제약을 평가하고 솔루션을 설계하기 전에 자세한 비즈니스 요구 사항 문서로 시작하는 것이 좋습니다. 기술 사양은 BRD를 따르고 제약 조건을 문서화하며 BRD의 비즈니스 요구 사항을 충족시키기위한 상세하고 구체적인 접근 방식을 제공합니다.
Bryan 'BJ'Hoffpauir Jr.

1
@ Bryan'BJ'Hoffpauir 문서에 사양이라는 레이블이 붙어 있고 요구 사항이없는 경우가 있다고 확신하지만 용어를 잘못 사용하는 경우에는 이의를 제기합니다. 사양은 요구 사항 문서-이야기의 끝입니다. 항공 우주 및 방위 산업 분야에서 널리 인정되는 예술 용어로, 시스템 엔지니어링 내에서 요구할 수없는 요구 사항 및 검증 분야입니다. 용어가 적용되는 경우에도 BRD는 사양이며, 기술 사양도 다른 유형의 요구 사항과 마찬가지로 하나처럼 들립니다.
Adam Wuerl

13

요구 사항 :

다양한 이해 관계자의 상충 될 수있는 요구 사항을 고려하여 새로운 제품 또는 변경된 제품을 충족시킬 필요성 또는 조건을 결정하십시오.

사양:

시스템을 효율적으로 설계하고 설계 대안 비용을 추정 할 수 있도록 해결해야 할 문제에 대한 정확한 아이디어를 제공합니다. 각 기술 요구 사항의 검증 (자격)을위한 테스터에게 지침을 제공합니다.

인용문은 "Systems Engineering Fundamentals * "입니다.

요구 사항은 이해 관계자의 요구를 기반으로하며 사양은보다 상세하고 기술적 인 문서입니다. 그들은 다르지만 같은 것에 대해 이야기합니다.

국방 취득 대학 출판사, 2001. PDF 버전 의 텍스트.


나는 스펙이 문제를 정의한다는 것을 당신의 정의가 말하는 것이 중요하다고 생각합니다. 그런 식으로 PROBLEM 사양이 필요합니다. 솔루션 또는 디자인 사양은 디자인의 일부입니다.
LeWoody

6

요구 사항은 완제품이 눈으로 무엇을 해야하는지에 대한 사용자의 설명입니다.

사양은 일반적으로 솔루션에 대한 기술적 인 설명으로 요구 사항 등을 포함합니다 (예 : 비용, 기술, 문제 등).

따라서 주요 요점 중 하나는 사양을 작성하기 전에 요구 사항이 우선되어야한다는 것입니다.

( 제품솔루션 이라는 용어 는 동일하지만 다른 관점에서 볼 수 있습니다 ...)


1
솔루션은 일반적으로 고객의 문제와 관련이있는 반면, 제품은 일반적으로 판매자 (기술 구현 자)와 관련이 있기 때문에 "제품"과 "솔루션"이라는 용어를 바꾸겠습니다. 비슷한 대비 혜택 (무슨 소용이 그들에게 임) 고객 측면에 장점 / 특징이며, 기능은 (실제로 어떻게 구현 측면에 있다 를, 그래서 우리는 그것을 만들 수 있습니다).
13ren

1
나는 당신의 요점을 보지만, 어느 각도가 상황을 적절히 묘사한다고 생각합니다. 상점에 갈 때와 마찬가지로 고객이 제품을 구매할 것이라고 생각했습니다. 그러면 소프트웨어 공급 업체가 근본적인 문제에 대한 솔루션을 제공 할 것입니다. 내 문제에 대한 해결책을 찾기 위해 쇼핑을하려고한다면 아마도 "xyz를 수행하는 제품이 필요하다"는 것이 아니라 "abc 문제에 대한 해결책이 필요하다"고 생각할 것이다. 내가 생각하는 것은 단지 선호의 문제입니다.
Arj

흥미 롭군 확립 된 제품 카테고리가있을 때 고객이 "제품을 찾는"것을 볼 수 있습니다. 그러나 그들은 이미 문제를 해결하기 위해 노력해 왔기 때문에 그 제품을 찾고 있습니다. 또한 공급 업체가 제품을 "솔루션"으로 마케팅한다는 것은 사실입니다. 그러나 고객이 문제에 대한 솔루션을 찾는 고객과 의사 소통하고 원하는 것을 구축하려고하기 때문입니다. 실제로 제품을 구축하는 것 (즉, 필요한 이유 와 무관하게 제품 자체와 기능 )
13ren November

제품 카테고리가 설정되어있을 때 고객이 "제품을 찾는다"는 것을 알 수 있지만 고객은 문제가 있거나 필요한 문제에 대한 해결책으로 찾고 있습니다. 공급 업체는 제품을 "솔루션"으로 판매합니다. 솔루션을 요구하는 데 문제가있는 고객과 통신하기 때문입니다. 제품을 만들 때 (물건 자체와 기능, 제품을 만드는 이유 가 아님 ). 한 가지 주장은 문제가 매우 다른 해결책을 가질 수 있다는 것입니다. 그러나 제품은 하나의 특정한 것입니다.
13ren

[두 가지 의견을 설명하는 이유] : SO 의견은 너무 고통 스럽습니다. "반환"을 누르면 여러 줄의 텍스트 영역이더라도 의견을 제출할 수 있습니다. 그 후 5 분 이상이 지나면 편집 내용이 적용되지 않습니다. 따라서 두 번째 의견으로 제출해야합니다. 길이에 맞게 편집하기 만했습니다. 한숨 . 다음 번에는 처음에 두 가지 의견을 퍼뜨릴 것입니다 ... [어쨌든, 구매자 / 공급 업체-관점이 주요 차이점이라는 데 동의합니다. 나는 당신의 용어에 문제가 있지만 그 이유를 분명히
밝히는

4

요구 사항-시스템 또는 하위 시스템이 수행해야하는 작업

사양-구성 요소, 서브 시스템 또는 시스템이 무엇인가.

요구 사항 (입력)에 대해 검증을 수행해야 유효한 사양 (출력)이 있음을 입증해야하기 때문에 이는 의료 기기 제조 산업에서 중요합니다. 이 산업의 일반적인 함정은 회사가 (1) 요구 사항을 정의하는 것을 잊어 버리는 것입니다 (요구 사항과 스펙의 차이를 이해하지 못하기 때문에). (2) 사양에 대해서만 확인을 수행하고 (3) 요구 사항이 하위 어셈블리 및 구성 요소 사양으로 정확하게 변환되는지 확인하지 마십시오.

이 작업이 모두 완료되면 제품의 사용자 요구 사항이 충족되었는지 확인해야합니다.


3

아마도 혼란은 사양이 비즈니스 요구 사항 사양 문서 또는 IEEE 표준 SRS ​​(Software Requirement Specification) 문서를 참조한다고 들었습니다.

IEEE 표준 SRS ​​템플릿 예

또한 사양 이라는 용어는 설계 결정 및 구현 계획을 설명 하는 기술 사양 을 보다 비공식적으로 지칭 한다고 들었습니다 .

편집 : 방금 링크가 잘못되었음을 알았습니다 ... 곧 올바른 링크를 게시 할 것입니다.


1
SRS 용어에 대한 좋은 지적!
LeWoody

2
링크가 완전히 끊어졌습니다. 나는 그것을 지적하거나 거기가 어떤 재료를 어떻게 잘 모르겠습니다 한다 가리 킵니다.

3

사양은 타당성을 통과하여 구현할 준비가 된 요구 사항입니다. 디자인 단계로 발전한 요구 사항입니다.

다시 말해:

  • 요구 사항은 "계획된대로"또는 "원하는대로"행동 (또는 비 동작)입니다.
  • 사양은 동작 (또는 동작하지 않음) "구축"또는 "구축"

예:

  • 요구 사항 : 1. 사용자가 확인 버튼을 누릅니다 2. 시스템 송장을 인쇄
  • 사양 : 1. 사용자가 확인 버튼을 누릅니다. 2. 시스템 송장을 인쇄합니다

보시다시피, 둘 다의 내용은 동일 할 수 있습니다. 차이점은 요구 사항이 분석 결과라는 점입니다. 사양은 디자인 아티팩트입니다.

최종 빌드 문서에서는 일반적으로 요구 사항이 사양으로 변환되었으므로 "요구 사항"대신 "사양"이라는 단어가 있습니다.

비고 : 위의 예에는 디자인 제약으로 인해 디자인 요소가 포함되어 있습니다.


0

요구 사항은 응용 프로그램이하는 일입니다

사양은 응용 프로그램이 수행하는 방식입니다.

그들은 직교해야합니다!

제품 관리자는 요구 사항을 작성하고 헤드 엔지니어는 사양을 작성합니다.


2
나는 적어도 실제로는 완전히 직교인지 확실하지 않습니다. 불행히도 많은 회색이 있습니다.
LeWoody

비즈니스 요구 사항, 기능 요구 사항, 비 기능 요구 사항은 수정자를 생략 한 경우에만 회색으로 표시됩니다. 기술 사양은 비즈니스 요구 사항 (직접 수행 방법)과 직교합니다.
Bryan 'BJ'Hoffpauir Jr.

0

그것을 보는 한 가지 방법, 아마도 올바른 방법은 아닙니다.

요구 사항 은 사용자에게 가치를 제공하는 기능 (기능, 기능, 동작 등)입니다. 내부와 관련이 없습니다. 여기서는 상자의 입력 및 출력 (및 크기, 모양 및 색상) 만 중요합니다.

사양 은 사용자에게 그 가치를 부여하는 기능 (기능, 기능, 동작 등)입니다. 위에서 언급 한 외부 인터페이스 및 특성과 함께 전체 시스템을 정의하기 때문에 상자 내부가 중요합니다.


이것이 당신의 의견일까요, 아니면 어떻게 든 백업 할 수 있습니까?
gnat

2
@ gnat, 나는 그것이 오프닝 라인에서 해결되었다고 생각 했습니까? 물론 이것은 경험에 의한 것이며 다른 것을 주장하지 않습니다. 내가 수집 한 것에서 이것은 다소 주관적인 포럼에서 다소 주관적인 질문이며, 이 게시물 은 질문이 가능한 한 객관적이어야하지만 답변에 대해서는 거의 언급하지 않는다고 제안합니다. . 그러나 나는 내 이름으로 하나를 가지고 있고 당신은 훨씬 더 많은 것을 가지고 있으므로 교육받을 수 있습니다 :-)
berad

0

연구 결과, 특허 및 주택 건설 (계약의 일부)에 사용되는 사양을 찾았습니다.

Webster의 Unabridged Dictionary (3rd New Int'l Ed.)의 요구 사항 정의는 다음과 같습니다.

a) 필요하거나 필요한 것 : 필요성 b) 요구되거나 요구되는 것 : 필수 또는 필수 조건 : 요구되는 품질, 과정 또는 종류의 훈련

위의 내용이 분명히 다르다는 것을 보여줍니다. 나는 당신이 spec의 하위 레벨 요구 사항을 부를 수 있다고 생각하지만 그것이 요구 사항 imho라는 용어의 왜곡이라고 생각합니다.


0

상용 제품을 만드는 이전 회사에서는 다음과 같은 차이점이있었습니다.

요구 사항은 시스템이 수행해야하는 것입니다. 더 낮은 수준의 세부 요구 사항 일 수 있으며 기능적이거나 기능적이지 않을 수 있습니다.

사양은 시스템이 실제로 구축 된 것들입니다. 예를 들어, 시스템이 –10 ° C에서 동작 X를 가져야한다는 요구 사항이있을 수 있습니다. 시스템의 실제 사양은 시스템이 –5 ° C에서 X를 수행하는 것일 수 있습니다. 이것은 잠재적 인 고객이 시스템을 구매하려고 할 때 전송되는 시트에 있습니다.

이 경우 NB는 사양이 요구 사항과 같지 않습니다.


-1

당신은 육지에 고층 건물을 지을 것이라고 생각하십시오.

이제 시작하기 전에 다음과 같은 요구 사항을 고려해야합니다.

  1. 건축 또는 설계 엔지니어
  2. 토양 테스트 엔지니어
  3. 풍압 시험팀
  4. 철거 자
  5. 파는 사람
  6. 인력
  7. 상수도
  8. 근로자 생활 / 휴게실
  9. 충분한 기금
  10. 프로젝트 관리
  11. 품질 관리
  12. 보안 및 안전 관리

기타.

위의 내용은 고층 빌딩 건설 요구 사항의 일부입니다. 위 팀에서 기술 결과를 얻습니다. 기술 결과는 직업의 일부로 유지됩니다.

이것은 소프트웨어 산업에서 일어나고있는 일입니다. 누군가 UI 디자인, OO 디자인, 데이터베이스 디자인, 그래픽 디자인, 테스트 케이스 디자인, 코딩, 통합과 같은 기술 사양을 작성하는 데 필요한 지식을 제공하는 전문가 그룹입니다. 배포 팀 등

위의 단락은 기술 사양에 전화 할 수있는 핸드북의 일부입니다.


1
요구 사항을 리소스와 혼동한다고 생각합니다 ( en.wikipedia.org/wiki/Resource_%28project_management%29 ).
Jay Elston 1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.