それで、私は条件で少し迷っていました、それで最初に私はあなたがこれまでに学んだことをあなたに提示します:
システム要件の仕様-ユーザーが望むもの、システムが行うべきこと機能要件-ユーザーが望むものが実際にアプリケーションでどのように機能するか
また後者は設計書だと思います。それは正しいですか、またはこれらに加えて別のドキュメントがありますか?
機能仕様は設計ドキュメントです。システムの機能を正確に説明しています。 John Bodeが提案するのは別のことです。OPのコンテキストでのシステム仕様は、ビジネスアナリストが行うソフトウェアシステムの仕様を意味します。 システム要件の仕様は、ユーザーが望むシステムの機能を説明します。
IME、システム仕様は新しいアプリケーションが動作するハードウェアおよびソフトウェア環境を定義し、機能仕様はアプリケーションが何をするかを定義します(ただし、私の経験は一般的ではないかもしれません)。
デザインドキュメントは別の動物です。これらは、アプリケーションの構造を定義し、コンポーネントに分割し、各コンポーネントの実装、コンポーネント間のインターフェース、コンポーネントが操作を実行する順序などを指定します(「コンポーネント」は非常に高レベルであることを意味します)。ここでの抽象的な用語。クラス、モジュール、または個々の関数やメソッドにさえも対応する可能性があります)。設計ドキュメントには、設計の特定の要素がどの要件を満たしているかを示す「トレーサビリティマトリックス」も含まれていることがよくあります。
愚かな単純な例の場合:
システム仕様:アプリケーションはLinux上でbashシェルのコマンドラインアプリとして実行されます。
機能仕様:アプリケーションは「Hello、World」というテキストをコンソールに出力して終了します。
設計ドキュメント:アプリケーションは、引数なしの関数main
で構成される単一のCプログラムとして実装されます。エントリ時に、標準のライブラリ関数printf
を、文字列リテラル「Hello、World\n」を唯一の引数として呼び出します。 printf
呼び出しの後、アプリケーションは実行環境に0を返します。
「設計ドキュメント」は通常、コードの個々の行を指定するほど詳細ではありませんが、アイデアを理解する必要があります。
基本的にそうです。ソフトウェア要件仕様は、ビジネスユーザーがシステムに何を実行したいかを示し、機能仕様は、通常ビジネス要件にリンクされたシステムの実際の機能を記述します。
例:ビジネス要件(ユーザー):取引数とそのエクスポージャーを確認したい
機能仕様:グリッドが1つの列TradeにIDを表示し、もう1つの列にエクスポージャーを表示します。露出はテーブルTRADE_EXPOSURESから取得されます...
設計は要件から分離する必要があります。 FSはSRSの下位レベルです。FSは機能テストのテストケース導出に使用され、SRSは通常受け入れテストに使用されます。SRSはベースとしても使用されますシステムテストの場合、違反が検証されます(顧客の希望に合っているか)。
ソフトウェア要件仕様(SRS)のほかに、さまざまな設計ドキュメントがあり、プロジェクトの複雑さによってその数は増えます。
ソフトウェア設計ドキュメントの場合、Data, Architecture, Interface, Structured Programming concepts
など.
また、記事 効果的な設計ドキュメントの書き方 を参照することもできますが、もちろんWikiリファレンス ソフトウェア設計ドキュメント -も参考になるかもしれません。