要件と仕様の違いは何ですか?[閉まっている]


122

私は、私たちのグループが始めているプロジェクトの要件と仕様の開発を任されました。

違いがわからないことに気付きました。Googleの検索でさらに混乱しました。仕様要件であると言っている人もいるようですが、レベルは低くなっています。


私は高い投票の答えに同意しますが、用語仕様は、システムまたはソフトウェアの一部を説明するドキュメントを指すソフトウェア業界でより一般的な用語として使用されることもあると思います。証拠として-グーグル「要件仕様」。それがそのように使用されるとき、それは何かを指定する文書を意味します-すなわち:ソフトウェアの一部の要件を指定します。それが単語の正しい用法であるかどうかは判断しませんが、仕様がすべての人にとって常に同じことを意味するわけではないことを指摘したかっただけです。
シェーンWealti

1
はい、それが人々が「ビジネス要件」と「設計仕様」/「技術仕様」などを言うべき理由です。言葉自体はかなりあいまいです。
user606723

次のように考えてください(おおざっぱに言えば):要件=要件のドキュメントと仕様=ユースケース/デザインのドキュメント
PhD

4
これらを作っている人に聞いてみませんか?あなたの特定の場合に必要なことに答えることができるのは彼らだけです。
ヤープ

この記事では徹底した答えを提供しています:ece.cmu.edu/~koopman/des_s99/requirements_specs
ジュリアン-L

回答:


129

適切な答えは、要件はプログラムが行うべきことであり、仕様はそれをどのように計画するかということです。

別の見方をすれば、要件はユーザーまたはビジネス全体から見たアプリケーションを表しているということです。仕様は、技術チームの観点からのアプリケーションを表します。仕様と要件はほぼ同じ情報を伝えますが、まったく異なる2人のユーザーに伝えます。


4
/どのようにどのようなサウンド一口ソートの、権利です。なぜなら、プログラムの仕様を、それがをすべきを説明するものとして、またデザインがそれをどのようにすべきかということで見ることができるからです。もう1つは宣言型pl(プロローグやSQLなど)で、howではなくwhatを指定します。1つの解決策は、それらが抽象化の階層構造であり、親がを記述、子がどのように記述するか(外部対内部)です。私はずっと近いあなたの2番目のビューを、好むと「それは何のために対」それは何「である機能対すなわち利益」。
13ren

私は一般的にあなたに同意しますが、それは単なる「別の」意見であり、正しい答えではありません。たとえば、要件のWikiページ(en.wikipedia.org/wiki/Requirement)を見てください。定義上、技術チーム向けの非機能要件があります。または、アーキテクチャ要件と制約要件、これも技術的ですが、それでも「仕様」とは呼びません。正解はないと思います。会社から会社へ、そして開発者から開発者へと常に「不鮮明」になります。
ジーチ

1
「Adam Wuerl」の回答をご覧ください。投稿された質問に対する最も正確な声明だと思います。
ジーチ

1
@Jeach:「ベローズ」[原文のまま]は相対的です。現時点ではこの投稿の下にあるかもしれませんが、上に移動してコメントを理解しにくくする可能性があります
ブライアンオークリー

1
別の観点..ウィキペディアは仕様を「要件のセット」として定義しています。つまり、仕様は1つの要件、s:= {r1}のみになります。口語の「要件」は「高レベル」の要件であり、「技術仕様」は低レベルの要件であるLODのようです。
ランスポラード

38

要件は、何が必要かを文書化します-方法ではなく、何を指定する必要があります。

仕様は、要件を達成する方法を文書化します-方法を指定する必要があります。

多くの場所で、これらのドキュメントは分離されておらず、交換可能に使用されています。


2
私の会社では、通常、「要件仕様」という用語(指定、詳細を書き留める)を使用し、「設計仕様」を方法(指定、詳細、書き留める)に使用しますそれを実装する計画)。
ジョルジオ

16

私は両方の用語が広く使用されている航空宇宙分野のシステムエンジニアです。区別は明確であり、他の人が行っているほど複雑ではありません。

仕様は、例えば、F-14の主要項目の開発仕様のシステムや製品を、指定した文書です。仕様には、要件、定義、参照文書、用語集、検証情報など、多くのセクション/コンテンツがあります。

要件は、製品やシステムがしなければならない何かの単一のステートメントです。仕様には何百もの要件があります。古い学校の方法論では、要件ステートメントは、事実または定義のステートメントから要件を分離するために、単語「shall」を使用する必要があると述べています。(新しく絡み合ったアジャイルな子供たちがこれをすべて守っているかどうかはわかりません。気難しいことはそれを使用していますが、時には少しうるさいです。)

そのため、仕様とは、要件に加えて、その他のサポート情報および補助情報に満ちたドキュメントです。


4
私が別のコメントで言ったように、それは皆にとって非常にぼやけており、おそらく常にそうでしょう。しかし、この正確な主題に関する私自身の非常に広範な研究に基づいて、あなたの答えは私自身の発見/結論に対して最も正確であると思います。
Jeach

2
実際のエンジニアの意見を得るのに常に役立ちます。ありがとう!
ルウーディ

あるいは、仕様には要件が0ある場合があります。あなたの例は、非常に具体的な航空工学の分野に非常に適しています。一般的にソフトウェア開発/プログラミングの分野に適用できるかどうかはわかりません。ほとんどのソフトウェアがビジネスの要求によって駆動される場合、技術的な制約を評価してソリューションを設計する前に、詳細なビジネス要件ドキュメントから始めるのが理にかなっています。技術仕様はBRDに従い、制約を文書化し、BRDのビジネス要件を満たすための詳細かつ具体的なアプローチを提供します。
ブライアン 'BJ'ホフパウアJr.

1
@ Bryan'BJ'Hoffpauir文書には仕様がラベル付けされていて要件が含まれていない場合もあると確信していますが、用語の誤用であると主張します。仕様は要件ドキュメントであり、ストーリーの終わりです。これは、航空宇宙および防衛よりも多くの分野で広く受け入れられている専門用語であり、システムエンジニアリング内で攻撃することはできません。当てはまる用語を説明する場合でも、BRDは仕様であり、技術仕様も要件の種類が異なるだけのように聞こえます。
アダムヴエル

13

要件:

さまざまな利害関係者の競合する可能性のある要件を考慮して、新製品または変更された製品に適合する必要性または条件を決定します。

仕様:

システムを効率的に設計し、代替設計のコストを見積もることができるように、解決すべき問題の正確なアイデアを提供します。彼らは、各技術要件の検証(資格)のためにテスターに​​ガイダンスを提供します。

引用は「Systems Engineering Fundamentals *」からです。

要件は利害関係者のニーズに基づいており、仕様は内部の詳細な技術文書です。それらは異なりますが、同じことについて話します。

* 2001年、防衛買収大学出版。テキストのPDFバージョン


あなたの定義が仕様が問題を定義していると言っていることが重要だと思います。そのように、問題仕様は要件です。ソリューションまたはデザインの仕様は、デザインの一部です。
ルウーディ

6

要件は、ユーザーの目で見た最終製品が何をすべきかについてのユーザーの説明です。

仕様は、一般的なソリューションの技術的な説明であり、要件など、コスト、技術、問題などをカバーしています。

したがって、主なポイントの1つは、仕様を作成する前に要件を最初に満たす必要があるということです。

(用語- 製品ソリューション -同じことですが、異なる視点から...)


1
ソリューションは通常顧客の問題に関するものであるのに対し、製品は通常売り手(つまり技術的な実装者)に関するものであるため、「製品」と「ソリューション」という用語を入れ替えます。同様のコントラストが利点は、顧客の用語である利点/機能、(何を使用、それは彼らにある)であり、機能が実装条件(実際には何であるであることは、私たちはそれを作ることができます)。
13レン

1
私はあなたの主張を見るが、どちらの角度も状況を適切に説明していると思う。店に行くときと同じように、顧客が製品を購入するという見方をしました。ソフトウェアベンダーは、根本的な問題に対するソリューションを提供します。私の問題の解決策を探しに出かけた場合、「abcの問題の解決策が必要」ではなく、「xyzを実行する製品が必要」と思うでしょう。ただ好みの問題だと思います。
ARJ

面白い。確立された製品カテゴリがある場合、「製品を探している」顧客を見ることができます。しかし、彼らはそれが彼らの問題を解決することをすでに解決したので、彼らはその製品を探します-すなわち、彼らはそれ自身のためではなく、解決策としてその製品を探します。ベンダーが自社の製品を「ソリューション」として販売しているのも事実ですが、それは顧客(問題の解決策を模索しているユーザー)とコミュニケーションを取り、必要なものを構築しようとしているためです。実際に製品(つまり、もの自体とのその機能を独立して構築し、なぜ彼らが必要としているが)
13ren

確立された製品カテゴリがある場合、「製品を探している」顧客を見ることができますが、彼らは彼らが抱えている問題/ニーズの解決策としてそれを求めています。ベンダーは自社の製品を「ソリューション」として販売しています。なぜなら、彼らは顧客(ソリューションを必要とする問題を抱えている)と通信しているからです。製品を構築するとき(モノ自体とその機能、それらを構築する理由ではありません)。1つの議論は、問題が非常に異なる解決策を持つことができるということです-しかし、製品は1つの特定のものです。
13レン

[2つのコメントの理由を説明する]:SOコメントは非常に苦痛です。複数行のテキストエリアであっても、「return」キーを押すとコメントが送信されます。その後、5分以上かけて終了すると、編集は受け入れられません。したがって、2番目のコメントとして送信する必要があります。私はそれが長さに収まるように編集していました。ため息。次回は、そもそも2つのコメントを広めます... [とにかく、視点-バイヤー/ベンダー-が主な違いであることに同意します。私はあなたの用語に悩まされていますが、理由を明確にしようとすることで私の理解が深まると思います。]
13年

4

要件-システムまたはサブシステムがすべきこと(必須)。

仕様-コンポーネント、サブシステム、またはシステムの内容。

有効な仕様(出力)を持っていることを証明するために、要件(入力)に対して検証を行う必要があるため、これは医療機器製造業界では重要です。この業界の典型的な落とし穴は、企業が(1)要件の定義を忘れることです(要件と仕様の違いを理解していないため)。(2)仕様のみに対して検証を実施し、(3)要件がサブアセンブリおよびコンポーネントの仕様に正確に変換されていることを保証しないでください。

これがすべて完了したら、製品のユーザー要件が満たされていることを検証する必要があります。


3

おそらく混乱は、仕様がビジネス要件仕様文書またはIEEE標準SRS(ソフトウェア要件仕様)文書を参照していると聞いたことです。

IEEE標準SRSテンプレートの例

また、仕様という用語は、設計の決定と実装計画を説明する技術仕様をより非公式に指すと聞きました。

編集:リンクが間違っていることに気付いた...すぐに正しいリンクを投稿します。


1
SRS用語の良い点!
ルウォーディ

2
リンクは完全に壊れています。私はそれが指さ何かわからないでも、それはそこにどのような材料すべきを指します。

3

仕様は、実現可能性に合格した要件であり、実装する準備ができています。これは、設計段階に進化した要件です。

言い換えると:

  • 要件は、「計画どおり」または「希望どおり」の動作(または非動作)です。
  • 仕様は、「構築される」または「構築されたまま」の動作(または非動作)です

例:

  • 要件:1.ユーザーが[OK]ボタンを押す2.システムが請求書を印刷する
  • 指定:1.ユーザーが[OK]ボタンを押す2.システムが請求書を印刷する

ご覧のとおり、両方のコンテンツは同じである可能性があります。違いは、要件が分析成果物であることです。仕様は設計成果物です。

最終的なアズビルトドキュメントでは、要件が仕様に変換されているため、通常、「要件」ではなく「仕様」という単語があります。

注:設計上の制約のため、上記の例には設計要素が含まれています。


0

要件はアプリケーションが行うことです

仕様は、アプリケーションが行うことをどのように行うかです。

それらは直交している必要があります!

プロダクトマネージャーが要件を作成し、ヘッドエンジニアが仕様を作成します。


2
少なくとも実際には、それらが完全に直交するかどうかはわかりません。残念ながら灰色がたくさんあります。
ルウーディ

修飾子を省略した場合にのみ灰色になります-ビジネス要件、機能要件、非機能要件はシステムの機能を指します(それが何をするのか)。技術仕様は、ビジネス要件と直交しています(その方法)。
ブライアン「BJ」ホフパウアJr.

0

それを見るための1つの方法、おそらく正しい方法ではありません:

要件は、ユーザーに価値をもたらすもの(機能、機能、動作など)です。内部には関係ありません。ここでは、ボックスの入力と出力(およびサイズ、形状、色)のみが重要です。

仕様とは、ユーザーにその価値をもたらすもの(機能、機能、動作など)です。ここでは、上記の外部インターフェイスおよび特性とともにシステム全体を定義するため、ボックス内部が重要です。


これはあなたの意見だけですか、何らかの形でバックアップできますか?
ブヨ

2
@gnat、それはオープニングラインで対処されたと思いましたか?確かに、これは経験からだと私は何かを主張していないよ-私はこれはかなり主観的なフォーラムで、やや主観的な問題である、と集まるものから、このポストは質問はできるだけ客観的であることを示唆しているが、回答の少し言及して。しかし、私は私の名前で1つを持っています、そしてあなたはもっとたくさんありますので、私は教育を受けたいと思います:
berad 14

0

私の研究では、(契約の一部として)特許および住宅建設に使用される仕様を発見しました。

Webster's Unabridged Dictionary(3rd New Int'l Ed。)の要件の定義は次のとおりです。

a)希望または必要なもの:必要性b)要求または要求されたもの:必須または必須条件:必要な品質、コース、またはトレーニングの種類

上記は明らかに異なることを示していると思います。スペックの下位レベルの要件を呼び出すことができると思いますが、それは要件の私見という用語の倒錯だと思います。


0

商用製品を作成している以前の会社では、次の区別がありました。

要件はシステムがしなければならないことです。それらは、より低いレベルの詳細な要件である場合があり、機能的または非機能的である場合があります。

仕様とは、システムの構築時に実際に行われることです。たとえば、システムの動作Xが-10°Cであることを示す要件があります。システムの実際の仕様は、-5°CでXを実行することです。これは、潜在的な顧客がシステムを購入するときに送信されるシートにあります。

この場合、仕様は要件に等しくありません。


-1

土地に高層ビルを建てようとしていると思います。

開始する前に、次のような要件を考慮する必要があります。

  1. 建築または設計エンジニア
  2. 土壌試験エンジニア
  3. 風圧試験チーム
  4. 破壊者
  5. 掘り
  6. マンパワー
  7. 水供給
  8. 労働者の生活/休憩エリア
  9. 十分な資金
  10. プロジェクト管理
  11. 品質管理
  12. セキュリティと安全管理

等。

現在、上記の内容は、高層ビルを建設するための要件の一部です。上記のチームから、あなたは彼らが職業の一部として保持する技術的な成果を得る。

これはまさに、ソフトウェア業界、UI設計、OO設計、データベース設計、グラフィック設計、テストケース設計、コーディング、統合に携わる人など、技術仕様を構築するための知識を提供するために関与する専門家のグループで起こっていることです、展開チームなど。

上記のパラはハンドブックの一部になり、技術仕様を呼び出すことができます。


1
要件をリソース(en.wikipedia.org/wiki/Resource_%28project_management%29)と混同していると思います。
ジェイエルストン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.