Apa Persyaratan Fungsional dalam Rekayasa Perangkat Lunak?
โก Ringkasan Cerdas
Persyaratan Fungsional menjelaskan setiap layanan yang harus ditawarkan oleh sistem perangkat lunak, mencakup masukan, perilaku, dan keluaran sehingga pengembang, penguji, dan pemangku kepentingan bisnis memiliki definisi tunggal dan terverifikasi tentang apa yang sebenarnya harus dilakukan oleh produk tersebut.
Apa yang dimaksud dengan Persyaratan Fungsional?
A Persyaratan Fungsional (FR) adalah deskripsi layanan yang harus ditawarkan oleh perangkat lunak. FR mendeskripsikan sistem perangkat lunak atau komponennya. Sebuah fungsi didefinisikan oleh input, perilaku, dan output. Fungsi tersebut dapat berupa perhitungan, manipulasi data, proses bisnis, atau interaksi pengguna yang mendefinisikan apa yang harus dilakukan oleh sistem. Persyaratan Fungsional dalam Rekayasa Perangkat Lunak juga disebut Spesifikasi Fungsional.
Persyaratan Fungsional berkisar dari kebutuhan pemangku kepentingan tingkat tinggi hingga spesifikasi matematis yang terperinci. Perangkat lunak fungsional Persyaratan tersebut mencerminkan perilaku yang diinginkan dari sistem.
Apa yang Harus Dicantumkan dalam Dokumen Persyaratan Fungsional
Berikut adalah hal-hal yang harus tercakup dalam Dokumen Persyaratan Fungsional:
Contoh Persyaratan Fungsional
Dokumen Persyaratan Fungsional biasanya mencakup:
- Rincian operasi yang dilakukan pada setiap layar
- Logika penanganan data yang harus diterapkan oleh sistem.
- Description dari laporan sistem dan keluaran lainnya
- Informasi lengkap tentang alur kerja yang dilakukan sistem.
- Siapa yang diizinkan untuk membuat, memodifikasi, atau menghapus data dalam sistem?
- Bagaimana sistem tersebut memenuhi kebutuhan regulasi dan kepatuhan yang berlaku.
Manfaat Persyaratan Fungsional
Manfaat utama dari Dokumen Persyaratan Fungsional yang ditulis dengan baik adalah:
- Memverifikasi bahwa aplikasi menjalankan setiap fungsi yang telah ditentukan.
- Mendefinisikan fungsionalitas sistem dan subsistemnya di satu tempat.
- Dipadukan dengan analisis kebutuhan, persyaratan fungsional membantu mengidentifikasi kebutuhan yang belum terpenuhi dan memperjelas perilaku sistem yang diharapkan.
- Kesalahan yang terdeteksi pada tahap persyaratan adalah yang paling murah untuk diperbaiki.
- Mendukung tujuan, tugas, dan aktivitas pengguna.
Jenis Persyaratan Fungsional
Kategori umum persyaratan fungsional meliputi:
- Penanganan Transaksi
- Aturan Bisnis
- Persyaratan sertifikasi
- Persyaratan pelaporan
- Fungsi Administratif
- Tingkat Otorisasi
- Audit Tracking
- Antarmuka Eksternal
- Manajemen Data Historis
- Persyaratan Hukum dan Peraturan
Contoh Persyaratan Fungsional
Berikut adalah contoh praktis dari persyaratan fungsional:
- Perangkat lunak tersebut akan secara otomatis memvalidasi pelanggan terhadap Sistem Manajemen Kontak ABC.
- Sistem penjualan harus memungkinkan pengguna untuk mencatat penjualan pelanggan.
- Warna latar belakang untuk semua jendela dalam aplikasi adalah biru dengan nilai heksadesimal RGB 0x0000FF.
- Hanya karyawan tingkat manajerial yang berhak melihat data pendapatan.
- Sistem perangkat lunak tersebut harus terintegrasi dengan API perbankan.
- Sistem perangkat lunak harus memenuhi Bagian 508 persyaratan aksesibilitas.
Persyaratan Fungsional vs. Persyaratan Non-Fungsional
Berikut perbedaan utama antara persyaratan fungsional dan non-fungsional. Rekayasa Perangkat Lunak:
| Parameter Teknis | Persyaratan Fungsional | Persyaratan Non-Fungsional |
|---|---|---|
| Apa itu | Kata kerja | atribut |
| Kebutuhan | Itu wajib | Ini tidak wajib |
| Tipe penangkapan | Itu ditangkap dalam kasus penggunaan. | Itu ditangkap sebagai atribut kualitas. |
| Hasil akhir | Fitur Produk | Properti produk |
| Menangkap | Mudah ditangkap | Sulit ditangkap |
| Tujuan | Membantu Anda memverifikasi fungsionalitas perangkat lunak. | Membantu Anda memverifikasi kinerja perangkat lunak. |
| Area fokus | Fokus pada kebutuhan pengguna | Berkonsentrasi pada harapan pengguna. |
| Dokumentasi | Jelaskan fungsi produk tersebut | Menjelaskan cara kerja produk |
| Jenis Pengujian | Pengujian Fungsional seperti Sistem, Integrasi, End to End, Pengujian API, Dll | Pengujian Non-Fungsional seperti Kinerja, Stres, Kegunaan, Pengujian keamanan, Dll |
| Eksekusi Tes | Eksekusi pengujian dilakukan sebelum pengujian non-fungsional. | Setelah pengujian fungsional |
| Info Produk | Fitur Produk | Properti Produk |
Praktik Terbaik untuk Menulis Persyaratan Fungsional
Praktik terbaik yang paling penting untuk menulis Dokumen Persyaratan Fungsional adalah:
- Jangan menggabungkan dua persyaratan menjadi satu; jaga agar setiap persyaratan tetap terperinci.
- Buat setiap persyaratan selengkap dan seakurat mungkin.
- Cantumkan semua persyaratan teknis dalam dokumen tersebut.
- Petakan setiap persyaratan ke dalam tujuan dan prinsip yang mendorong keberhasilan pengiriman perangkat lunak.
- Mengumpulkan persyaratan melalui wawancara, lokakarya, dan percakapan informal.
- Dokumentasikan setiap kendala yang diketahui dan terverifikasi yang secara material memengaruhi suatu persyaratan.
- Catat setiap asumsi dalam dokumen tersebut.
Kesalahan Umum Saat Menulis Persyaratan Fungsional
Kesalahan umum yang sering terjadi saat membuat Dokumen Persyaratan Fungsional meliputi:
- Menambahkan informasi tambahan yang tidak perlu dan membingungkan pengembang.
- Mengabaikan detail yang dibutuhkan pengembang untuk membangun fitur tersebut.
- Aturan pencampuran, contoh, skorping pernyataan, atau tujuan yang dimasukkan ke dalam persyaratan itu sendiri.
- Dengan menghilangkan informasi yang penting untuk menyatakan persyaratan secara lengkap dan akurat.
- Mempertahankan persyaratan yang sudah ada ketika ada permintaan perubahan, alih-alih mencari jawaban yang tepat.
- Persyaratan penulisan yang tidak dipetakan ke tujuan atau prinsip apa pun.


