Zave-Jacksonの枠組み
要求工学における、Requirements・Specification・Domain Knowledge の関係を定式化した枠組み。Pamela Zave と Michael Jackson によって提唱された。
定式化
S ∧ D ⊨ R
- R(Requirements):環境(世界)に対して望む性質。ソフトウェアの外にある
- S(Specification):マシンと環境の境界における振る舞いの契約
- D(Domain Knowledge):環境についての前提知識・物理法則・ビジネスルール
Specification と Domain Knowledge が合わさって、Requirements を論理的に含意(entail)する。
重要な区別
- Requirements はソフトウェアの外にある——世界に対する期待であって、ソフトウェアの性質ではない
- Specification は境界にある——マシンと環境のInterface上の契約
- Requirements を直接実装することはできない。Specification を通じてのみ実現される
意義
この枠組みにより、「仕様」という曖昧な言葉を R(要求)と S(仕様)に明確に区別できる。多くの現場で「仕様と違う」と言われるとき、R と S のどちらの話をしているのかが不明確であることが問題の根本にある。
Requirementsの外部性はこの枠組みの中核的な洞察であり、Contract(ソフトウェアにおける契約)は S に対応する概念だ。