REKAYASA PERANGKAT LUNAK : 05. KEBUTUHAN PERANGKAT LUNAK


Dalam pengembangan perangkat lunak, memahami kebutuhan adalah langkah krusial yang menentukan kesuksesan proyek. Berikut ini adalah pembahasan mendalam mengenai kebutuhan perangkat lunak.

1. Rekayasa Kebutuhan (Requirement Engineering)

1.1 Pengertian: Rekayasa Kebutuhan adalah disiplin dalam rekayasa perangkat lunak yang berfokus pada identifikasi, dokumentasi, dan pemeliharaan kebutuhan perangkat lunak. Tujuannya adalah untuk memastikan bahwa kebutuhan pengguna dan stakeholder lainnya dipahami dan dapat dipenuhi oleh sistem yang dikembangkan.

1.2 Jenis Kebutuhan:

  1. Kebutuhan Pengguna: Menjelaskan apa yang dibutuhkan oleh pengguna akhir agar sistem dapat memenuhi tujuan mereka. Kebutuhan ini biasanya ditulis dari perspektif pengguna dan mencakup interaksi pengguna dengan sistem.
  2. Kebutuhan Sistem: Menjelaskan apa yang harus dilakukan oleh sistem perangkat lunak untuk memenuhi kebutuhan pengguna dan memenuhi persyaratan organisasi. Kebutuhan ini lebih teknis dan mendetail, mencakup aspek-aspek seperti fungsionalitas, kinerja, keamanan, dan lain-lain.

1.3 Kegiatan pada Rekayasa Kebutuhan:

  1. Elicitation (Pengumpulan Kebutuhan): Mengidentifikasi dan memahami kebutuhan dari berbagai stakeholder melalui wawancara, survei, observasi, dan workshop.
  2. Analysis (Analisis): Memeriksa dan memperjelas kebutuhan untuk memastikan konsistensi, kelengkapan, dan kelayakan.
  3. Specification (Spesifikasi): Mendokumentasikan kebutuhan dalam format yang terstruktur dan dapat dipahami oleh semua stakeholder.
  4. Validation (Validasi): Memastikan bahwa kebutuhan yang didokumentasikan benar-benar mencerminkan kebutuhan stakeholder dan akan memenuhi tujuan yang diinginkan.
  5. Management (Manajemen): Mengelola perubahan kebutuhan selama siklus hidup proyek dan memastikan keterlacakan dari setiap kebutuhan.

2. Kebutuhan Fungsional dan Non-Fungsional

2.1 Kebutuhan Fungsional: Kebutuhan fungsional adalah deskripsi mengenai fungsi atau layanan yang harus disediakan oleh sistem. Contohnya termasuk:

  • Sistem harus memungkinkan pengguna untuk login dengan nama pengguna dan kata sandi.
  • Sistem harus menyimpan dan mengelola data pelanggan.
  • Sistem harus menghasilkan laporan penjualan bulanan.

2.2 Kebutuhan Non-Fungsional:

2.2.1 Pengertian: Kebutuhan non-fungsional adalah deskripsi mengenai atribut kualitas sistem, yang mencakup kinerja, keamanan, skalabilitas, dan lain-lain. Mereka tidak berhubungan langsung dengan fungsi spesifik tetapi mempengaruhi pengalaman pengguna dan operasional sistem.

2.2.2 Karakteristik Kebutuhan Non-Fungsional:

  • Kinerja (Performance): Kebutuhan terkait dengan kecepatan, responsif, dan efisiensi sistem.

    • Contoh: Sistem harus mampu memproses 100 transaksi per detik.
  • Keamanan (Security): Kebutuhan terkait dengan perlindungan data dan akses tidak sah.

    • Contoh: Sistem harus mengenkripsi data pengguna selama transmisi.
  • Keandalan (Reliability): Kebutuhan terkait dengan kemampuan sistem untuk berfungsi secara konsisten dan bebas dari kegagalan.

    • Contoh: Sistem harus memiliki uptime 99,9%.
  • Usability (Kegunaan): Kebutuhan terkait dengan kemudahan penggunaan dan interaksi pengguna dengan sistem.

    • Contoh: Sistem harus memiliki antarmuka pengguna yang intuitif dan mudah dipelajari.
  • Skalabilitas (Scalability): Kebutuhan terkait dengan kemampuan sistem untuk menangani peningkatan jumlah pengguna atau data.

    • Contoh: Sistem harus dapat mendukung hingga 10.000 pengguna secara bersamaan.
  • Maintainability (Kemudahan Pemeliharaan): Kebutuhan terkait dengan kemudahan dalam pemeliharaan, pembaruan, dan perbaikan sistem.

    • Contoh: Kode sumber harus didokumentasikan dengan baik untuk memudahkan pemeliharaan.
  • Portability (Portabilitas): Kebutuhan terkait dengan kemampuan sistem untuk berjalan di berbagai lingkungan atau platform.

    • Contoh: Sistem harus kompatibel dengan Windows, macOS, dan Linux.

Dengan memahami dan mendokumentasikan kebutuhan perangkat lunak secara menyeluruh, kita dapat memastikan bahwa perangkat lunak yang dikembangkan benar-benar memenuhi kebutuhan pengguna dan stakeholder lainnya. Terima kasih telah membaca, dan jangan ragu untuk meninggalkan komentar atau pertanyaan di bawah. Sampai jumpa di artikel berikutnya!

Comments

Popular posts from this blog

REKAYASA PERANGKAT LUNAKA : 09. PERANCANGAN SISTEM BERORIENTASI OBJEK

REKAYASA PERANGKAT LUNAK : 10. DESAIN ARSITEKTUR PERANGKAT LUNAK