web-dev-qa-db-ja.com

ユースケースと機能要件の間に違いはありますか?

この件については皆が異なる意見を持っているように思えます。 SRSドキュメントを作成するとき、ユースケースと機能要件の両方が必要ですか、それともユースケースで使用機能要件が拡張されるため、1つだけ必要ですか?

11
hey hey

...ユースケースと機能要件の両方が必要ですか、それとも1つだけです...

違いは、これらの手法の主要な作成者をよく読んだ場合のアプローチのみです。

ユースケースアプローチは、必須要件を収集するためのより効率的な手段と見なされますが、機能要件アプローチは、冗長性、重複、および不要な機能を除外できる完全な仕様を保証します。

ユースケースアプローチでは、最初に外部のアクター(ユーザー、プロセス、エージェントなど)とそれらがシステムとどのようにインターフェイスするかを考慮しますが、機能要件ではソリューションの角度から問題にアプローチします(この機能を使用して問題を解決する方法問題?)

ユースケースは、アクター、ユーザー、メソッド、ドメインの知識、独自の手法などをキャプチャします。ユースケースは、完全なパッケージソリューションにつながる可能性があります。機能的アプローチは、製品カテゴリ、製品のバリエーション、市場の差別化を捉えます。機能的アプローチは、機能が開発され、以前のリリースに重ねられた、きめ細かく調整されたリリース戦略の開発に役立ちます。

もう1つの説明方法は、ユースケースがよりユーザー指向の仕様であり、機能的アプローチが開発者の仕様であることです。言語とコミュニケーションの観点からは、ユースケースアプローチにより、エンドユーザーの言語イディオムに既にキャストされているドキュメントを理解しやすくなると言われています。一方、機能的なアプローチは、システムを完全に統合するものです。

現代のSRSでは、完全で有用なシステムには両方の視点が不可欠です。理想的には、一方を他方にマッピングする必要があります。どちらのアプローチのメリットも、プロセスをどこから始めても、割り引くことはできません。

10
Emacs User

両方を使用する必要がある場合(システムが大規模または複雑なため)、機能仕様をユースケースよりも高いレベルに維持してください。機能仕様(BFDや他の表記など)を定義すると、後のビューに応じて、プロセスモデル、ストーリーマッピング、平準化されたDFD、または下位レベルのユースケースのいずれかを便利に追加できます。 DFDとエンティティモデルは相互にクロスチェックします。

2
user898617

どちらを使用するか、または両方を使用するかは、完全にあなた次第です。

機能要件は一連の要件であり、主に開発中のシステム機能を定義するテキスト形式です。ユースケース図は、ソフトウェアシステムの要件抽出です。どちらも使用でき、使用には明らかな利点があります。機能要件は単体テストケースとして簡単に使用できますが、ユースケースはユーザーの受け入れテストと統合テストに使用できます。詳細レベルに応じて、ユースケース図は単体テストにも使用できます。

歴史的な観点から、UMLがオブジェクト指向ソフトウェア開発の標準になる前に、機能要件が使用されました。したがって、最近のユースケースは、両方を使用しない場合に、システムの機能要件を取得するための好ましい方法です。

主な違いは、ユースケース図はシステム要件のグラフィック表示であるのに対し、機能要件はテキスト形式であることです。ユースケースにもテキストを含めることができますが、主な目的は図自体にありますが、機能要件では、書かれたテキストに焦点が当てられます。

1
i-tms