Catatan Perkuliahan

Catatan Kecil: Persyaratan Non Fungsional

Persyaratan non fungsional

Persyaratan non fungsional adalah persyaratan yang menyatakan bagaimana perangkat lunak tertentu harus bekerja. Ini tidak berbicara tentang fitur fungsional atau bisnis yang tersedia namun ini berbicara tentang karakteristik atau kualitas perangkat lunak seperti seberapa cepat fitur bekerja, bagaimana menanggapi berbagai kondisi seperti beban pengguna yang berat, penggunaan bersamaan, kemudahan penggunaan atau keandalan sistem, dll.

Di sisi lain dari persyaratan fungsional menyatakan apa yang harus dilakukan perangkat lunak tertentu, misalnya menghitung kuantitas yang tersedia untuk dijanjikan dengan mempertimbangkan permintaan dan produksi.

Misalnya, dalam kasus fungsi pemrosesan kritis, persyaratan non fungsional harus menyatakan berapa lama waktu yang dibutuhkan untuk melakukan tugasnya. Dalam hal ketersediaan server, dapat berbicara tentang berapa persentase waktu server harus tersedia misalnya 99,99% uptime. Persyaratan ini tidak mengubah fitur yang disediakan oleh perangkat lunak tetapi menyatakan bagaimana fitur yang diberikan harus bekerja dalam kondisi yang disebutkan. Persyaratan non fungsional umumnya dinyatakan dalam kuantitas yang harus dipenuhi oleh persyaratan yang diberikan.

Di bawah ini adalah beberapa persyaratan non fungsional yang penting.

Accessibility

Ini menentukan kemudahan penggunaan yang dirancang dalam perangkat lunak untuk pengguna penyandang cacat seperti ketersediaan wajah tipe besar, ketersediaan ucapan ke teks atau pembaca layar, dll. 

Availability

Ini menentukan ketersediaan sistem atau ‘waktu aktif’ yang menunjukkan jumlah waktu operasional dan tersedia untuk digunakan. 

Efficiency

Ini menentukan seberapa baik perangkat lunak menggunakan sumber daya yang tersedia seperti siklus CPU, ruang disk, memori, bandwidth jaringan, dll. 

Flexibility

Ini menentukan bagaimana desain perangkat lunak harus memenuhi persyaratan fungsionalitas yang berubah atau tambahan setelah diterapkan. 

Portability

Ini menentukan platform di mana perangkat lunak diharapkan akan digunakan dan kemudahan perangkat lunak yang dapat diinstal atau porting pada semua platform atau versi yang diperlukan dari platform yang sama. misalnya, aplikasi seluler harus dikembangkan untuk platform Android dan iOS. 

Integrity

Ini menentukan aspek keamanan sistem, akses berbasis peran ke fitur atau data dan aspek yang terkait dengan privasi data. 

Performance

Ini menentukan karakteristik kinerja perangkat lunak. Beberapa fitur mungkin lebih sensitif terhadap waktu daripada yang lain seperti fungsi yang berhubungan dengan pelanggan mungkin lebih kritis terhadap waktu dibandingkan dengan fungsi pelaporan internal tertentu. Persyaratan nonfungsional harus mengidentifikasi fungsi perangkat lunak yang memiliki batasan pada kinerjanya. 

Reliability

Ini menentukan kemampuan perangkat lunak untuk mempertahankan kinerjanya dari waktu ke waktu. Mungkin ada fitur tertentu dalam perangkat lunak yang lebih sensitif terhadap kegagalan daripada yang lain karena mereka membutuhkan kondisi operasi khusus seperti waktu tertentu atau jenis input tertentu. Perangkat lunak yang tidak dapat diandalkan mungkin tidak dapat menangani situasi tersebut dan rentan terhadap kegagalan. 

Reusability

Ini menentukan apakah desain perangkat lunak atau komponennya dapat digunakan kembali dalam situasi atau aplikasi yang berbeda selain yang asli. Komponen perangkat lunak yang dapat digunakan kembali mengurangi biaya pengembangan fungsi serupa di masa mendatang. 

Robustness

Ini menentukan kemampuan perangkat lunak untuk menanggapi situasi yang tidak terduga dalam hal beban pengguna yang tinggi dari yang diharapkan, beban data yang tinggi dari yang diharapkan, bandwidth rendah yang tersedia dari yang diharapkan, masukan pengguna yang tidak terduga atau tidak valid, cacat atau kondisi tidak terduga lainnya. Sistem yang kuat mampu menangani kondisi kesalahan dengan baik, tanpa kegagalan. Ini termasuk toleransi terhadap data yang tidak valid, kerusakan perangkat lunak, dan kondisi pengoperasian yang tidak terduga. 

Scalability

Ini menentukan kemampuan perangkat lunak untuk menangani berbagai macam ukuran konfigurasi sistem seperti server tambahan di lanskap, perangkat keras atau memori yang ditingkatkan. 

Usability

Ini menentukan seberapa mudah perangkat lunak digunakan dan jika desain perangkat lunak faktor dalam tingkat keahlian pengguna yang dituju. 

Contoh Lain

Audit dan kontrol, pencadangan, kapasitas, sertifikasi, kepatuhan, manajemen konfigurasi, ketergantungan, penerapan, dokumentasi, pemulihan bencana, efektivitas (menghasilkan kinerja dalam kaitannya dengan upaya), perlindungan lingkungan, eksploitasi, ekstensibilitas, toleransi kesalahan, aspek hukum, interoperabilitas, pemeliharaan, modifikasi, operabilitas, kompatibilitas platform, harga, privasi, kualitas, pemulihan / pemulihan, keselamatan, keamanan, stabilitas, dukungan, testabilitas, keramahan pengguna, dll.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *