Rekayasa Persyaratan (Requirement Engineering)
Rekayasa persyaratan (RE) merujuk pada proses mendefinisikan, mendokumentasikan, dan memelihara persyaratan dalam proses desain rekayasa. Rekayasa persyaratan menyediakan mekanisme yang sesuai untuk memahami apa yang diinginkan oleh pelanggan, menganalisis kebutuhan, menilai kelayakan, bernegosiasi solusi yang masuk akal, menyatakan solusi dengan jelas, memvalidasi spesifikasi, dan mengelola persyaratan saat mereka diubah menjadi sistem yang berfungsi. Dengan demikian, rekayasa persyaratan adalah penerapan disiplin dari prinsip-prinsip, metode, alat, dan notasi terbukti untuk menggambarkan perilaku yang diinginkan dari sistem yang diusulkan dan batasan yang terkait dengannya.
Proses Rekayasa Persyaratan
- Studi Kelayakan: Tujuan dari studi kelayakan adalah untuk menciptakan alasan pengembangan perangkat lunak yang dapat diterima oleh pengguna, fleksibel untuk berubah, dan sesuai dengan standar yang telah ditetapkan.Jenis Kelayakan:
- Kelayakan Teknis: Mengevaluasi teknologi saat ini yang diperlukan untuk mencapai persyaratan pelanggan dalam waktu dan anggaran yang ada.
- Kelayakan Operasional: Menilai kemampuan perangkat lunak yang diperlukan dalam serangkaian tingkatan untuk memecahkan masalah bisnis dan persyaratan pelanggan.
- Kelayakan Ekonomi: Menentukan apakah perangkat lunak yang diperlukan dapat menghasilkan keuntungan finansial bagi sebuah organisasi.
- Elicitation dan Analisis Persyaratan: Ini juga dikenal sebagai pengumpulan persyaratan. Di sini, persyaratan diidentifikasi dengan bantuan pelanggan dan proses sistem yang ada, jika tersedia.Analisis persyaratan dimulai dengan perolehan persyaratan. Persyaratan dianalisis untuk mengidentifikasi inkonsistensi, cacat, kelalaian, dll. Kami mendeskripsikan persyaratan dalam hubungan dan juga menyelesaikan konflik jika ada.
- Spesifikasi Persyaratan Perangkat Lunak: Spesifikasi persyaratan perangkat lunak adalah jenis dokumen yang dibuat oleh seorang analis perangkat lunak setelah persyaratan dikumpulkan dari berbagai sumber – persyaratan yang diterima oleh pelanggan ditulis dalam bahasa yang sederhana. Tugas analis adalah menulis persyaratan dalam bahasa teknis sehingga dapat dimengerti dan bermanfaat oleh tim pengembangan.Model-model yang digunakan pada tahap ini meliputi diagram ER, diagram aliran data (DFD), diagram dekomposisi fungsi (FDD), kamus data, dll.
- Validasi Persyaratan Perangkat Lunak: Setelah spesifikasi persyaratan dikembangkan, persyaratan yang dibahas dalam dokumen ini divalidasi. Pengguna mungkin menuntut solusi yang ilegal atau tidak mungkin atau ahli mungkin salah mengartikan kebutuhan. Persyaratan diperiksa berdasarkan kondisi berikut:
- Apakah mereka dapat diimplementasikan secara praktis.
- Apakah mereka benar dan sesuai dengan fungsionalitas dan spesial dari perangkat lunak.
- Apakah ada ambigu.
- Apakah mereka lengkap.
- Apakah mereka dapat menjelaskan.
Manajemen Persyaratan Perangkat Lunak: Manajemen persyaratan adalah proses mengelola perubahan persyaratan selama proses rekayasa persyaratan dan pengembangan sistem.
Persyaratan Prasyarat: Pengumpulan persyaratan perangkat lunak adalah dasar dari seluruh proyek pengembangan perangkat lunak. Oleh karena itu, mereka harus jelas, benar, dan terdefinisi dengan baik.
Sebuah Dokumen Spesifikasi Persyaratan Perangkat Lunak yang lengkap harus:
- Jelas
- Benar
- Konsisten
- Kohesif
- Mudah dimodifikasi
- Verifikasi
- Diprioritaskan
- Tidak ambigu
- Dapat dilacak
- Sumber yang kredibel
Persyaratan Perangkat Lunak: Persyaratan perangkat lunak sebagian besar harus dikategorikan menjadi dua kategori:
- Persyaratan Fungsional: Persyaratan fungsional mendefinisikan fungsi yang harus diberikan oleh suatu sistem atau elemen sistem dan harus didokumentasikan dalam berbagai bentuk.
- Persyaratan Non-fungsional: Ini adalah kebutuhan yang menentukan kriteria yang dapat digunakan untuk menentukan operasi daripada perilaku khusus dari sistem.
Persyaratan non-fungsional dibagi menjadi dua kategori utama:
- Kualitas Eksekusi seperti keamanan dan kegunaan, yang dapat diamati saat waktu runtime.
- Kualitas Evolusi seperti uji coba, pemeliharaan, ekstensibilitas, dan skalabilitas yang tercermin dalam struktur statis sistem perangkat lunak.
//TC