情報科学 › ソフトウェア設計とテスト › 契約による設計

仕様・実装・インターフェース

定義 2.1(「契約による設計」§2)

入力の集合 XX と出力の集合 YY を固定する。

  • 仕様とは、関係 S⊆X×YS \subseteq X \times Y と部分集合 D⊆XD \subseteq X(仕様が何かを約束する入力の範囲)の組 (D,S)(D, S) をいう。(x,y)∈S(x, y) \in S は「入力 xx に対して出力 yy は許される」ことを表す。
  • 実装とは、XX から YY への部分関数 ff(止まらない入力では値が定まらない)をいう。
  • 実装 ff が仕様 (D,S)(D, S) を満たすとは、すべての x∈Dx \in D について f(x)f(x) が定まり、(x,f(x))∈S(x, f(x)) \in S であることをいう。

モジュール(関数・クラス・パッケージ)が外に見せる操作の名前と、その仕様の集まりをインターフェースという。インターフェースに現れない実装の詳細(データの持ち方、補助関数)を外から使えないようにすることを情報隠蔽という。

本文で読む(前後の説明と例)→

閉包の状態

定義

定義は閉包の起点です(証明を要しません)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

これを使っている定理

証明で明示的に参照している定理は、まだありません。