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.
- kualitas eksekusi, seperti security dan usability, yang diamati dengan seiring waktu berjalan.
- 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. Characterizing Architecturally Significant Requirements | IEEE Journals & Magazine | IEEE Xplore)
2. Applied Software Project Management | Building Better Software
3. Nonfunctional Requirements
4. Functional Requirements (FR) dan Non-Functional Requirements (NFR) - ppt download
5. http://reqtest.com/requirements-blog/what-are-non-functional-requirements/[/details]