(…lanjutan dari bagian 1)
Ada 2 jenis RE, yaitu (1) user requirement, dan (2) system requirement. User requirement lebih mengutamakan pencatatan secara linguistic (natural language) disertai oleh diagram-diagram yang menggambarkan layanan sistem secara global serta batasan-batasan operasionalnya. Jenis ini ditujukan kepada stakeholder. Sedangkan system requirement merupakan dokumen terstruktur yang mendeskripsikan secara mendetil fungsi-fungsi sistem, layanan, dan batasan operasional. Dokumen ini mendefinisikan implementasi sistem yang (mungkin) merupakan bagian kontrak antara client dengan kontraktor.
Functional requirement
Mendeskripsikan fungsionalitas atau layanan sistem. Functional requirement ini dependent pada tipe software, pengguna, dan sistem (platform). Contoh: sistem harus menyediakan antar muka untuk menampilkan dokumen, setiap pemesanan harus dialokasikan berdasarkan nomor yang unik (ORDER_ID), dll.
Non-functional requirement
Mendefinisikan properti sistem dan batasannya, misalnya reliability, response time, dan storage requirements, device capability, dll. Non-functional requirement (mungkin) lebih critical daripada functional requirement, karena jika kebutuhan ini tidak terpenuhi, dapat dikatakan bahwa software tidak layak. Ada 3 pembagian requirement disini, yaitu (1) product requirement yang berkaitan dengan reliability, usability, portability dan efficiency; (2) organizational requirement yang berkaitan dengan standar, implementasi, dan delivery; dan (3) external requirement yang berkaitan dengan interoperability, etika, privasi, dan keamanan.
Software Requirement Specification (SRS)
Seperti yang telah dijelaskan pada bagian 1, bahwa visualisasi dapat membantu porsentase penerimaan pesan, maka semua requirement harus didokumentasikan. Ada 5 macam pengguna dokumen ini:
- System customer. Digunakan untuk menspesifikasikan requirement dan cek apakah requirement telah memenuhi kebutuhan (need) mereka. Mereka mempunyai hak untuk melakukan perubahan dalam requirement.
- Manager. Menggunakan dokumen ini untuk merencanakan biaya dan system development process.
- System engineer. Untuk memberikan kemudahan dalam memahami sistem seperti apa yang akan di-develop.
- System test engineer. Menggunakan dokumen ini untuk membangun berbagai test-case untuk sistem.
- System maintenance engineer. Menggunakan requirement untuk membantu memahami sistem dan hubungan antar sub-sistem.
Dokumen ini sebaiknya memenuhi 6 hal berikut:
- Menjelaskan perilaku eksternal
- Menjelaskan batasan pada implementasi
- Mudah diubah
- Sebagai alat referensi untuk pemeliharaan system
- Mencatat peringatan awal tentang siklus dari system
- Menjelaskan bagaimana system merespon hal-hal yang tidak biasa
Referensi:
- Nuseibeh, B., Easterbrook, S.(tanpa tahun).Requirement Engineering: A Roadmap.
- Sommerville, Ian. 2004. Software Engineering 7th Edition. Addison Wesley. Massachusetts
NB:
Template-nya bisa di-download disini.