Materi
Daftar periksa NASA (Appendix C.2) meminta kebutuhan bebas dari implementasi: kebutuhan menyatakan apa yang dibutuhkan, bukan bagaimana menyediakannya — nyatakan masalahnya, bukan solusinya. Bila sebuah pernyataan memuat solusi, tanyakan mengapa kebutuhan itu perlu; jawabannya bisa menunjuk kebutuhan yang sebenarnya. Pernyataan juga harus bebas dari uraian operasi: kalimat yang dimulai “Operator harus …” hampir selalu pernyataan operasional, bukan kebutuhan produk. Penugasan orang atau pekerjaan juga tidak dicampur ke kebutuhan produk (C.4).
NASA memakai tiga kata kerja dengan arti tetap: shall untuk kebutuhan, will untuk fakta atau pernyataan maksud, dan should untuk sasaran. Bentuk kalimatnya “Produk ABC shall XYZ”; di kelas ini ditulis “Sistem harus …”. §4.2 meminta satu shall per pernyataan, dan C.4 meminta satu pikiran per pernyataan dengan satu subjek dan satu predikat. Pernyataan disertai rasional: alasan kebutuhan itu ada.
Pernyataan awal : Sistem harus menonaktifkan tombol Pesan dengan JavaScript bila stok 0.
Mengapa perlu? : Supaya pesanan untuk barang tanpa stok tidak masuk.
Kebutuhan : Sistem harus menolak pesanan untuk barang yang stoknya 0.
Rasional : Pesanan tanpa stok memaksa toko membatalkan dan mengembalikan dana.