私は、私たちのグループが始めているプロジェクトの要件と仕様の開発を任されました。
違いがわからないことに気付きました。Googleの検索でさらに混乱しました。仕様は要件であると言っている人もいるようですが、レベルは低くなっています。
私は、私たちのグループが始めているプロジェクトの要件と仕様の開発を任されました。
違いがわからないことに気付きました。Googleの検索でさらに混乱しました。仕様は要件であると言っている人もいるようですが、レベルは低くなっています。
回答:
適切な答えは、要件はプログラムが行うべきことであり、仕様はそれをどのように計画するかということです。
別の見方をすれば、要件はユーザーまたはビジネス全体から見たアプリケーションを表しているということです。仕様は、技術チームの観点からのアプリケーションを表します。仕様と要件はほぼ同じ情報を伝えますが、まったく異なる2人のユーザーに伝えます。
私は両方の用語が広く使用されている航空宇宙分野のシステムエンジニアです。区別は明確であり、他の人が行っているほど複雑ではありません。
仕様は、例えば、F-14の主要項目の開発仕様のシステムや製品を、指定した文書です。仕様には、要件、定義、参照文書、用語集、検証情報など、多くのセクション/コンテンツがあります。
要件は、製品やシステムがしなければならない何かの単一のステートメントです。仕様には何百もの要件があります。古い学校の方法論では、要件ステートメントは、事実または定義のステートメントから要件を分離するために、単語「shall」を使用する必要があると述べています。(新しく絡み合ったアジャイルな子供たちがこれをすべて守っているかどうかはわかりません。気難しいことはそれを使用していますが、時には少しうるさいです。)
そのため、仕様とは、要件に加えて、その他のサポート情報および補助情報に満ちたドキュメントです。
要件:
さまざまな利害関係者の競合する可能性のある要件を考慮して、新製品または変更された製品に適合する必要性または条件を決定します。
仕様:
システムを効率的に設計し、代替設計のコストを見積もることができるように、解決すべき問題の正確なアイデアを提供します。彼らは、各技術要件の検証(資格)のためにテスターにガイダンスを提供します。
引用は「Systems Engineering Fundamentals *」からです。
要件は利害関係者のニーズに基づいており、仕様は内部の詳細な技術文書です。それらは異なりますが、同じことについて話します。
* 2001年、防衛買収大学出版。テキストのPDFバージョン。
要件は、ユーザーの目で見た最終製品が何をすべきかについてのユーザーの説明です。
仕様は、一般的なソリューションの技術的な説明であり、要件など、コスト、技術、問題などをカバーしています。
したがって、主なポイントの1つは、仕様を作成する前に要件を最初に満たす必要があるということです。
(用語- 製品とソリューション -同じことですが、異なる視点から...)
要件-システムまたはサブシステムがすべきこと(必須)。
仕様-コンポーネント、サブシステム、またはシステムの内容。
有効な仕様(出力)を持っていることを証明するために、要件(入力)に対して検証を行う必要があるため、これは医療機器製造業界では重要です。この業界の典型的な落とし穴は、企業が(1)要件の定義を忘れることです(要件と仕様の違いを理解していないため)。(2)仕様のみに対して検証を実施し、(3)要件がサブアセンブリおよびコンポーネントの仕様に正確に変換されていることを保証しないでください。
これがすべて完了したら、製品のユーザー要件が満たされていることを検証する必要があります。
おそらく混乱は、仕様がビジネス要件仕様文書またはIEEE標準SRS(ソフトウェア要件仕様)文書を参照していると聞いたことです。
また、仕様という用語は、設計の決定と実装計画を説明する技術仕様をより非公式に指すと聞きました。
編集:リンクが間違っていることに気付いた...すぐに正しいリンクを投稿します。
仕様は、実現可能性に合格した要件であり、実装する準備ができています。これは、設計段階に進化した要件です。
言い換えると:
例:
ご覧のとおり、両方のコンテンツは同じである可能性があります。違いは、要件が分析成果物であることです。仕様は設計成果物です。
最終的なアズビルトドキュメントでは、要件が仕様に変換されているため、通常、「要件」ではなく「仕様」という単語があります。
注:設計上の制約のため、上記の例には設計要素が含まれています。
要件はアプリケーションが行うことです
仕様は、アプリケーションが行うことをどのように行うかです。
それらは直交している必要があります!
プロダクトマネージャーが要件を作成し、ヘッドエンジニアが仕様を作成します。
それを見るための1つの方法、おそらく正しい方法ではありません:
要件は、ユーザーに価値をもたらすもの(機能、機能、動作など)です。内部には関係ありません。ここでは、ボックスの入力と出力(およびサイズ、形状、色)のみが重要です。
仕様とは、ユーザーにその価値をもたらすもの(機能、機能、動作など)です。ここでは、上記の外部インターフェイスおよび特性とともにシステム全体を定義するため、ボックス内部が重要です。
土地に高層ビルを建てようとしていると思います。
開始する前に、次のような要件を考慮する必要があります。
等。
現在、上記の内容は、高層ビルを建設するための要件の一部です。上記のチームから、あなたは彼らが職業の一部として保持する技術的な成果を得る。
これはまさに、ソフトウェア業界、UI設計、OO設計、データベース設計、グラフィック設計、テストケース設計、コーディング、統合に携わる人など、技術仕様を構築するための知識を提供するために関与する専門家のグループで起こっていることです、展開チームなど。
上記のパラはハンドブックの一部になり、技術仕様を呼び出すことができます。