Apa yang dimaksud dengan Kebutuhan Non Fungsional?

Definisi


Dalam systems engineering dan requirements engineering, non-functional requirement merupakan kebutuhan yang menentukan kriteria yang dapat digunakan untuk menilai sebuah pengoperasian sistem, daripada perilaku-perilaku tertentu. Non-functional requirement kontras dengan persyaratan fungsional yang menentukan perilaku atau fungsi tertentu. Rencana untuk menerapkan non-functional requirement harus rinci dalam arsitektur sistem, dikarenakan non-functional requirement biasanya memiliki persyaratan Arsitektur yang signifikan.[1]
Secara umum, functional requirement bekerja untuk menentukan apa saja sistem yang seharusnya dilakukan dan non-functional requirement menentukan bagaimana sistem berjalan seperti seharusnya. Non-functional requirement sering juga disebut “quality attributes” dari suatu sistem. Istilah lain untuk non-functional requirement adalah "qualities, “quality goals”, “quality of service requirements”, “constraints” dan “non-behavioral requirements”.[2] Secara tidak resmi kadang-kadang juga disebut “ilities”, dari atribut seperti stabilitas dan portabilitas. Kualitas non-functional requirement dapat dibagi menjadi dua kategori utama.

  1. kualitas eksekusi, seperti security dan usability, yang diamati dengan seiring waktu berjalan.
  2. kualitas evolusi, seperti maintainability yang diwujudkan dalam struktur statis dari sistem perangkat lunak.

Beberapa Kategori Non-Fuctional Requirement


  • Performance requirements
    Persyaratan tentang sumber daya yang diperlukan, waktu respon, tingkat transaksi, spesifikasi patokan atau apa pun yang berkaitan dengan kinerja.

  • Operating constraints
    Daftar kendala run-time. Hal ini dapat mencakup sumber daya sistem, orang, dan perangkat lunak yang diperlukan.

  • Accuracy and Precision
    Persyaratan tentang akurasi dan presisi data.

  • Legal
    Mungkin ada masalah hukum yang melibatkan privasi informasi, hak kekayaan intelektual, ekspor teknologi dibatasi, dan lain lain.

  • Modifiability
    Persyaratan tentang upaya yang diperlukan untuk membuat perubahan dalam perangkat lunak.

  • Security
    Satu atau lebih persyaratan tentang perlindungan sistem anda dan data. pengukuran dapat dinyatakan dalam berbagai cara (usaha, tingkat keterampilan, dan waktu).

  • Reliability
    Memberikan batasan perilaku sistem pada saat beroperasi.

  • Supportability
    Sistem ini diperlukan agar biaya yang dikeluarkan lebih efektif. persyaratan pemeliharaan dapat mencakup tingkatan berbagai dokumentasi, seperti dokumentasi sistem.

  • Maintainability
    Sistem yang diperlukan untuk menemukan dan memperbaiki kesalahan (error) dalam software.

  • Usability
    Terkait dengan penentuan antarmuka dan interaksi pengguna dengan sistem.[3]

Mengidentifikasi Non-functional Requirement


Umumnya Non-functional Requirement dapat dikenali dari keinginan, kebutuhan, atau kepentingan dari para stakeholders.[4]

Keinginan, kebutuhan ataupun kepentingan tersebut umumnya bersifat non-fungsional :

  • Tujuan bisnis
  • Karakteristik sistem
  • Keamanan, performa, fungsionalitas, dan perawatan sistem

[details=Referensi]1. http://ieeexplore.ieee.org/document/6365165/?reload=true&arnumber=6365165)
2. http://www.stellman-greene.com/aspm/
3. http://users.csc.calpoly.edu/~jdalbey/SWE/QA/nonfunctional.html
4. http://slideplayer.info/slide/2382492/
5. http://reqtest.com/requirements-blog/what-are-non-functional-requirements/[/details]

1 Like