仕様
システム使用者がシステムを使用する際の各種手続き(入力)と、それに対応する、システムの応答(出力)を、システム使用者の視点での外部的動作が具体的に分かるように記述する仕様。ここで言う「システム使用者」とは接続される「他システム」の事を示し、オペレーターなどの実際の使用者、エンドユーザ、システム管理者、クラスやサブルーチンを使うプログラマまでさまざまであり、内外の境界線はそれらによって異なる。
仕様(しよう、英: specification スペシフィケーション)とは、材料・製品・サービスなどが明確に満たさなければならない要求事項の集まりである。日常的には英語を短縮して「スペック」とも。
プログラム仕様は、プログラムがすべきことを定義したものである。「非形式的」な仕様記述の場合、開発者から見ればそれは青写真またはユーザーマニュアルのようなもので、「形式的」であれば、数学的またはプログラム的に定義された明確な意味を持つ。実際、ほとんどの成功した仕様は、既存の安定したアプリケーションを理解し保守するために書かれたものである。ただし、安全性が重視されるソフトウェアシステムでは、アプリケーション開発に先駆けて仕様を慎重に書くことがある。仕様は、安定して存続すべき外部インタフェースのためにも非常に重要である。