プログラム仕様
ソースコードや技術設計文書とは異なり、機能仕様ではシステムの内部の動きがどうなるかを定義しないことが多い。その代わりに外部の各種エージェント(ユーザー、周辺機器、他のコンピュータなど)から見たそのシステムの振る舞いや相互作用を記述する。
例えば、次のように記述される:
ユーザーがOKボタンをクリックした場合、ダイアログが閉じられ、フォーカスはダイアログが開かれる以前の状態でのメインウィンドウに戻る。
このように、外部エージェント(この場合ユーザー)とソフトウェアシステムの相互作用を記述する。ユーザーがOKボタンをクリックするという入力を与えたとき、プログラムはそのダイアログを閉じるという形でそれに応答する。