Apa perbedaan antara persyaratan fungsional dan non fungsional? [Tutup]


283

Apa perbedaan antara persyaratan fungsional dan non-fungsional dalam konteks merancang sistem perangkat lunak?

Berikan contoh untuk setiap kasus.



@ TravisJ Sekali lagi, mari kita simpan tag pada pertanyaan sampai kita selesai dengan fase pertama tag burnination.
TylerH

Jawaban:


525

Persyaratan fungsional menggambarkan apa yang harus dilakukan sistem perangkat lunak, sementara persyaratan non-fungsional menempatkan kendala pada bagaimana sistem akan melakukannya.

Biarkan saya uraikan.

Contoh dari persyaratan fungsional adalah:

  • Suatu sistem harus mengirim email setiap kali kondisi tertentu dipenuhi (mis. Pesanan dilakukan, pelanggan mendaftar, dll)

Sebuah terkait persyaratan non-fungsional untuk sistem mungkin:

  • Email harus dikirim dengan latensi tidak lebih dari 12 jam dari aktivitas semacam itu.

Persyaratan fungsional menggambarkan perilaku sistem yang berkaitan dengan fungsionalitas sistem. Persyaratan non-fungsional menguraikan karakteristik kinerja sistem.

Persyaratan non-fungsional biasanya jatuh ke bidang-bidang seperti:

  • Aksesibilitas
  • Kapasitas, saat ini, dan perkiraan
  • Pemenuhan
  • Dokumentasi
  • Pemulihan bencana
  • Efisiensi
  • Efektivitas
  • Kemungkinan diperpanjang
  • Toleransi kesalahan
  • Interoperabilitas
  • Maintabilitas
  • Pribadi
  • Portabilitas
  • Kualitas
  • Keandalan
  • Ketangguhan
  • Waktu merespon
  • Kekokohan
  • Skalabilitas
  • Keamanan
  • Stabilitas
  • Dukungan
  • Testabilitas

Daftar yang lebih lengkap tersedia di entri Wikipedia untuk persyaratan non-fungsional .

Persyaratan non-fungsional kadang-kadang didefinisikan dalam hal metrik (yaitu sesuatu yang dapat diukur tentang sistem) untuk membuatnya lebih nyata. Persyaratan non-fungsional juga dapat menggambarkan aspek sistem yang tidak terkait dengan pelaksanaannya, tetapi lebih kepada evolusinya dari waktu ke waktu (mis. Rawatan, ekstensibilitas, dokumentasi, dll.).


Saya tentu saja akan memberi hormat kepada Anda mengingat reputasi dan riwayat kerja profesional Anda (yang saya lihat sebelum menulis ini): tidak bisakah contoh kebutuhan non-fungsional Anda dianggap sebagai perilaku? Atau apakah poin Anda lebih pada fakta bahwa persyaratan non-fungsional menggambarkan kendala di sekitar perilaku?
Thomas

1
Untuk sedikit memperjelas pertanyaan saya (dan mungkin tidak bisa dijawab): apakah ada cara untuk menjelaskan dengan lebih baik batasan apa yang merupakan perilaku?
Thomas

plus 1 untuk memberikan contoh sistem email yang bagus. :)
Ahtisham

33

persyaratan fungsional adalah hal utama yang diharapkan pengguna dari perangkat lunak, misalnya jika aplikasi tersebut adalah aplikasi perbankan, aplikasi tersebut harus dapat membuat akun baru, memperbarui akun, menghapus akun, dll. persyaratan fungsional dirinci dan ditentukan dalam desain sistem

Persyaratan non-fungsional tidak langsung persyaratan sistem melainkan terkait dengan kegunaan (dalam beberapa hal) misalnya untuk aplikasi perbankan persyaratan non-fungsional utama akan tersedia aplikasi harus tersedia 24/7 tanpa downtime jika memungkinkan.


27

Persyaratan fungsional

  1. Persyaratan fungsional menentukan fungsi yang harus dapat dilakukan oleh suatu sistem atau komponen sistem. Itu dapat didokumentasikan dengan berbagai cara. Yang paling umum adalah deskripsi tertulis dalam dokumen, dan kasus penggunaan.

  2. Use case dapat berupa daftar enumerasi teks serta diagram, yang menggambarkan tindakan pengguna. Setiap use case menggambarkan skenario perilaku melalui satu atau lebih persyaratan fungsional. Namun, sering kali seorang analis akan mulai dengan memunculkan satu set kasus penggunaan, dari mana analis dapat memperoleh persyaratan fungsional yang harus diterapkan untuk memungkinkan pengguna melakukan setiap kasus penggunaan.

  3. Persyaratan fungsional adalah apa yang seharusnya dicapai oleh suatu sistem . Itu mungkin

    • Perhitungan
    • Rincian teknis
    • Manipulasi data
    • Pengolahan data
    • Fungsionalitas spesifik lainnya
  4. Persyaratan fungsional yang khas akan berisi nama dan nomor yang unik, ringkasan singkat, dan alasan. Informasi ini digunakan untuk membantu pembaca memahami mengapa kebutuhan itu diperlukan, dan untuk melacak kebutuhan melalui pengembangan sistem.

Persyaratan non-fungsional

LBushkin telah menjelaskan lebih lanjut tentang persyaratan Non-fungsional. Saya akan menambahkan lebih banyak.

  1. Persyaratan non-fungsional adalah persyaratan selain persyaratan fungsional. Ini adalah persyaratan yang menentukan kriteria yang dapat digunakan untuk menilai operasi suatu sistem, bukan perilaku tertentu .

  2. Persyaratan non-fungsional dalam bentuk "sistem harus" , properti keseluruhan sistem sebagai keseluruhan atau dari aspek tertentu dan bukan fungsi tertentu. Properti keseluruhan sistem biasanya menandai perbedaan antara apakah proyek pengembangan telah berhasil atau gagal.

  3. Persyaratan non-fungsional - dapat dibagi menjadi dua kategori utama:

    • Kualitas eksekusi , seperti keamanan dan kegunaan, yang dapat diamati pada saat dijalankan.
    • Kualitas evolusi , seperti testability, maintainability, extensibility dan skalability, yang terkandung dalam struktur statis sistem perangkat lunak.
  4. Persyaratan non-fungsional menempatkan pembatasan pada produk yang dikembangkan, proses pengembangan, dan menentukan batasan eksternal yang harus dipenuhi oleh produk.
  5. The IEEE-Std 830 - 1993 daftar persyaratan 13 non-fungsional untuk dimasukkan dalam Software Persyaratan Dokumen.
  1. Persyaratan kinerja
  2. Persyaratan antarmuka
  3. Kebutuhan operasional
  4. Persyaratan sumber daya
  5. Persyaratan verifikasi
  6. Persyaratan penerimaan
  7. Persyaratan dokumen
  8. Persyaratan keamanan
  9. Persyaratan portabilitas
  10. Persyaratan kualitas
  11. Persyaratan keandalan
  12. Persyaratan pemeliharaan
  13. Persyaratan keamanan

Apakah suatu persyaratan dinyatakan sebagai persyaratan fungsional atau non-fungsional dapat bergantung:

  • pada tingkat detail untuk dimasukkan dalam dokumen persyaratan
  • tingkat kepercayaan yang ada antara pelanggan sistem dan pengembang sistem.

Ex. Suatu sistem mungkin diperlukan untuk menyajikan tampilan jumlah catatan dalam database kepada pengguna. Ini adalah persyaratan fungsional. Seberapa up-to-date [perbarui] nomor ini perlu, adalah persyaratan non-fungsional. Jika nomor perlu diperbarui secara real time, arsitek sistem harus memastikan bahwa sistem mampu memperbarui jumlah catatan [ditampilkan] dalam interval pendek yang dapat diterima dari jumlah catatan yang berubah.

Referensi:

  1. Persyaratan fungsional
  2. Persyaratan non-fungsional
  3. Kuantifikasi dan Ketertelusuran Persyaratan

1
dijelaskan dengan baik. Terima kasih!
Arslan Ramay

1
Jawaban yang bagus dengan referensi yang bagus. Saya hanya ingin menambahkan standar yang lebih diperbarui, karena IEEE 830-1993 digantikan. Standar terbaru adalah ISO / IEC / IEEE 29148: 2018 "Rekayasa sistem dan perangkat lunak - Proses siklus hidup - Rekayasa persyaratan" ( iso.org/standard/72089.html )
logoff

8

Persyaratan fungsional adalah yang terkait dengan fungsionalitas teknis sistem.

persyaratan non-fungsional adalah persyaratan yang menentukan kriteria yang dapat digunakan untuk menilai operasi suatu sistem dalam kondisi tertentu, daripada perilaku tertentu.

Misalnya, jika Anda mempertimbangkan situs belanja, menambahkan item ke troli, menelusuri item yang berbeda, menerapkan penawaran dan penawaran, dan berhasil melakukan pemesanan berada di bawah persyaratan fungsional.

Sedangkan kinerja sistem dalam jam sibuk, waktu yang dibutuhkan sistem untuk mengambil data dari DB, keamanan data pengguna, kemampuan sistem untuk menangani jika sejumlah besar pengguna masuk dengan persyaratan non fungsional.


Jawaban yang sangat bagus.
Iftekhar

3

PERSYARATAN FUNGSIONAL kegiatan yang harus dilakukan oleh sistem

  • fungsi penggunaan bisnis yang dilakukan pengguna
  • contoh penggunaan kasus jika Anda sedang mengembangkan fungsi yang dibutuhkan sistem penggajian
  • menghasilkan transfer dana elektronik
  • jumlah komisi perhitungan
  • menghitung pajak gaji
  • melaporkan pengurangan pajak ke IRS

2

Saya pikir persyaratan fungsional adalah dari sisi klien ke pihak pengembang yang berkaitan dengan fungsionalitas kepada pengguna oleh perangkat lunak dan persyaratan non-fungsional adalah dari pengembang ke klien yaitu persyaratan tidak diberikan oleh klien tetapi disediakan oleh pengembang untuk menjalankan sistem dengan lancar misalnya keselamatan, keamanan, fleksibilitas, skalabilitas, ketersediaan, dll.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.