プログラム仕様
From Wikipedia, the free encyclopedia
ウォーターフォール・モデルなどの古典的開発手法では、以下のようにプログラム仕様を分け、トップダウン的に作成していく。
- 基本仕様(Basic specification)は、要求仕様に基づいて、機能概要、機能構成、ハードウェア構成、運用の前提条件、性能や品質の要件などを記述する。最近では、要求分析でかなり詳細な要求仕様が作成されるため、基本仕様という形態では文書を作成しないこともある。
- 機能仕様(Functional specification)は、ソフトウェア開発においてプログラムや大規模なソフトウェアシステムの動作を記述した一連の文書を指す。これら文書は、主にソフトウェアが受け付けるべき入力を列挙し、それら入力に対してそのシステムがどのように動作するかを記述する。
- 詳細仕様(Detail specification)は、具体的なコードの実装を説明する文書である。技術仕様とも呼ばれる。採用する開発手法によってはソースコードドキュメンテーションとしてソースファイル内に詳細仕様を記述することもある。例えばエクストリーム・プログラミングでは、このような仕様を独立した文書として書くことはない。
以下では機能仕様について解説する。
外部エージェントとシステムの相互作用
ソースコードや技術設計文書とは異なり、機能仕様ではシステムの内部の動きがどうなるかを定義しないことが多い。その代わりに外部の各種エージェント(ユーザー、周辺機器、他のコンピュータなど)から見たそのシステムの振る舞いや相互作用を記述する。
例えば、次のように記述される:
- ユーザーがOKボタンをクリックした場合、ダイアログが閉じられ、フォーカスはダイアログが開かれる以前の状態でのメインウィンドウに戻る。
このように、外部エージェント(この場合ユーザー)とソフトウェアシステムの相互作用を記述する。ユーザーがOKボタンをクリックするという入力を与えたとき、プログラムはそのダイアログを閉じるという形でそれに応答する。