Kebutuhan Fungsional dan Kebutuhan Non - Fungsional dalam Rekayasa Perangkat Lunak
Nama : Lailatul Maghfiroh
NIM : 23102017
Prodi : S1 Informatika
Tugas : RPL 3
DITANYA =
Berikan Penjelasan tentang Kebutuhan Fungsional dan Kebutuhan Non - Fungsional dalam Rekayasa Perangkat Lunak
DIJAWAB =
Dalam rekayasa perangkat lunak, kebutuhan perangkat lunak
dikelompokkan menjadi dua kategori utama: kebutuhan fungsional dan kebutuhan
non-fungsional. Keduanya merupakan elemen penting dalam menentukan
bagaimana sebuah sistem dirancang, dikembangkan, dan dioperasikan.
1. Kebutuhan Fungsional
Definisi
Kebutuhan fungsional menggambarkan apa yang harus
dilakukan oleh sistem perangkat lunak. Ini adalah fungsi-fungsi atau
layanan spesifik yang harus disediakan sistem untuk memenuhi tujuan bisnis atau
pengguna.
Karakteristik
- Berhubungan
langsung dengan operasi sistem.
- Memperinci
perilaku sistem dalam berbagai skenario.
- Biasanya
dijabarkan dalam bentuk kasus penggunaan (use case) atau user story.
Contoh Kebutuhan Fungsional
- Sistem
harus memungkinkan pengguna untuk masuk (login) menggunakan email dan
kata sandi.
- Sistem
harus menyediakan fitur pencarian data berdasarkan nama.
- Sistem
harus mengirim notifikasi email ketika pesanan berhasil dibuat.
- Sistem
harus memproses pembayaran melalui gateway tertentu (misalnya, PayPal
atau kartu kredit).
Pentingnya Kebutuhan Fungsional
- Menentukan apa
saja fungsi inti yang harus tersedia dalam sistem.
- Membantu
memastikan sistem memenuhi kebutuhan dan harapan pengguna.
2. Kebutuhan Non-Fungsional
Definisi
Kebutuhan non-fungsional menggambarkan bagaimana
sistem bekerja, bukan apa yang dikerjakannya. Ini mencakup batasan,
kualitas, atau atribut yang memengaruhi pengalaman pengguna dan efisiensi
sistem.
Karakteristik
- Berhubungan
dengan kualitas atau properti sistem.
- Biasanya
didefinisikan dengan parameter yang dapat diukur.
- Tidak
secara langsung menggambarkan fungsi spesifik, tetapi berfokus pada aspek
kinerja, keamanan, dan keandalan.
Kategori Kebutuhan Non-Fungsional
Kinerja (Performance): Sistem harus dapat menangani 10.000 permintaan per detik.
Keandalan (Reliability): Sistem harus tersedia 99,9% waktu operasi.
Keamanan (Security): Sistem harus
mendukung autentikasi dua faktor untuk akses pengguna.
Skalabilitas (Scalability): Sistem harus
dapat menangani peningkatan jumlah pengguna hingga 1 juta pengguna aktif
bulanan.
Usabilitas (Usability): Sistem harus
dapat digunakan oleh pengguna tanpa pelatihan tambahan dalam waktu 30 menit.
Pemeliharaan (Maintainability): Sistem
harus dapat diperbarui tanpa waktu henti (downtime).
Contoh Kebutuhan Non-Fungsional
- Aplikasi
web harus memuat halaman dalam waktu kurang dari 2 detik.
- Data
pengguna harus dienkripsi menggunakan algoritma AES-256.
- Sistem
harus mendukung berbagai bahasa (multilingual).
- Sistem
harus tetap berfungsi ketika salah satu server mengalami kegagalan (fault
tolerance).
Pentingnya Kebutuhan Non-Fungsional
- Memastikan
sistem berkinerja baik dalam berbagai situasi.
- Menentukan
tingkat kepuasan pengguna dan keberlanjutan sistem dalam jangka panjang.
Perbedaan Utama Kebutuhan Fungsional dan Non-Fungsional
Aspek |
Kebutuhan Fungsional |
Kebutuhan Non-Fungsional |
Fokus |
Apa yang harus dilakukan oleh sistem |
Bagaimana sistem harus bekerja |
Tujuan |
Menyediakan fungsi atau layanan spesifik |
Memastikan kualitas, performa, dan batasan |
Contoh |
Login, pencarian data, proses pembayaran |
Waktu respons, keamanan, keandalan |
Pendekatan Verifikasi |
Diuji dengan fungsionalitas (use case) |
Diuji dengan parameter kinerja (benchmark) |
Kesimpulan
Dalam rekayasa perangkat lunak, kebutuhan fungsional dan
non-fungsional saling melengkapi. Kebutuhan fungsional memastikan bahwa
perangkat lunak melakukan tugas-tugas yang diperlukan, sedangkan kebutuhan
non-fungsional memastikan bahwa tugas-tugas tersebut dilakukan secara efisien,
aman, dan dengan kualitas tinggi. Definisi dan dokumentasi yang jelas untuk
kedua jenis kebutuhan ini sangat penting untuk kesuksesan proyek perangkat
lunak.
Komentar
Posting Komentar