Requirement Engineering adalah proses untuk menentukan software requirements (kebutuhan) dari user (pengguna) dan customer (pelanggan) dikumpulkan, dipahami dan ditetapkan. Requirement Engineering terdiri dari Requirement Development dan Requirement Management. Requirement Development terdiri dari Elicitation, Analysis, Specification, dan Validation.

Analisis

adalah proses pengklasifikasian informasi kebutuhan ke dalam beberapa kategori, mengevaluasi kebutuhan untuk mencapai goal yang diinginkan, merepresentasikan kebutuhan dalam bentuk yang berbeda-beda, menterjemahkan kebutuhan menjadi kebutuhan fungsional, dan sebagainya

kata kunci :

Spesifikasi

adalah proses dokumentasi kebutuhan aplikasi perangkat lunak dalam bentuk yang terstruktur, dapat dibagikan, dan dikelola seperti Spesifikasi Kebutuhan Perangkat Lunak (SKPL) atau Software Requirement Specification (SRS)

Software Requirement Specification (SRS)

adalah dokumen yang menjelaskan tentang berbagai kebutuhan yang harus dipenuhi oleh suatu software, baik kebutuhan fungsional maupun non fungsional.Terdiri dari :

  1. Introduction
  2. Tujuan, konvensi dokumen, batasan project, referensi
    Overall Description
  3. Perspektif produk, kelas dan karakteristik pengguna, lingkungan operasi, kendala desain dan implementasi, asumsi dan dependensi
    System Features
  4. Fitur sistem, deskripsi, kebutuhan fungsional, dan sebagainya
    Data Requirements
  5. Model data logi, kamus data, laporan, akuisisi data, integritas, penyimpanan, dan pembuangan
    External Interface Requirements
  6. Tampilan pengguna, tampilan perangkat lunak, tampilan perangkat keras, tampilan komunikasi
    Quality Attributes
  7. Kegunaan, kinerja, keamanan, dan sebagainya
    Internationalization and Localization Requirements
  8. Other Requirements
  9. Appendix A : Glossary
  10. Appendix B : Analysis Models

Kebutuhan yang baik memiliki kriteria berikut ini :

luas, tepat, valid dan terkini, disepakati, perlu, bisa dimengerti, dapat dilacak, dinilai, dapat diterapkan, konsisten, dapat diklasifikasikan, dapat diuji, dan jelas

Requirement Template

Template kebutuhan adalah sebuah blueprint yang menggambarkan struktur sintaksis suatu kebutuhan

Template kebutuhan terdiri dari 5 step yang akan digambarkan dalam diagram berikut ini :

  1. Step 1

Menentukan proses yang akan dinyatakan sebagai kebutuhan:

  1. Step 2

Mencirikan aktivitas sistem, seperti menentukan apakah aktivitas sistem tersebut bersifat independent atau berupa interaksi pengguna atau lainnya

Contoh : The system provides the receptionist with the ability to print (sistem memberikan resepsionis kemampuan untuk melakukan pencetakan)

  1. Step 3

Menentukan tingkat kewajiban hukum

Gunakan kata kerja modal seperti shall (mengikat), should (opsional namun baik jika memiliki) , will (tujuan)

Contoh : The system shall provides the receptionist with the ability to print (sistem harus memberikan resepsionis kemampuan untuk melakukan pencetakan)

  1. Step 4

Sempurnakan kebutuhan, tambahkan objek dan komplemen yang kurang

Contoh : The system shall provides the receptionist with the ability to print a bill on the network printer (sistem harus memberikan resepsionis kemampuan untuk melakukan pencetakan tagihan pada network printer)

  1. Step 5

Frase kondisi logis dan temporal

Kondisi yang harus dipenuhi sebelum kebutuhan valid harus diletakkan di depan kebutuhan tersebut

Contoh : If the option "Bill required" has been selected on the mobile device, the system shall provide the receptionist with the ability to print a bill on the network printer (Jika opsi "Tagihan diperlukan" telah dipilih pada perangkat seluler, sistem harus memberikan resepsionis kemampuan untuk melakukan pencetakan tagihan pada network printer)

  1. Step 6

Gunakan buku aturan SHOPIST untuk memastikan kelengkapan makna semantik