プログラム仕様
機能仕様には様々な目的があるが、主な目的はソースコードやテストケース作成という時間のかかる作業に入る前に開発チーム内でプログラムの機能について意識を合わせることである。
機能仕様は、コード作成やテストケース作成にあたって参照される。例えば、ソフトウェアテストでテスト結果が正しいかどうかは機能仕様の記述に照らし合わせて判断される。
プログラム仕様(プログラムしよう、英: Program specification)は、プログラムに求められることを定義したものである。プログラムの設計図や開発者から見たユーザーマニュアルの元となる文書のような「非形式的」な形態の場合と、数学的に厳密に動作を定義する「形式的」な形態の場合がある。実際、最もよい仕様は既存のアプリケーションを理解して改善するために書かれたものであることが多いが、重要なソフトウェアは開発前に注意深く仕様を記述する必要がある。仕様は特に常に安定性が求められる外部インタフェースでは重要である。