Catatan Kuliah: Analisis dan Spesifikasi Kebutuhan
Deskripsi Mata Kuliah
- Mata kuliah ini mengenalkan konsep dasar analisis dan spesifikasi kebutuhan perangkat lunak.
- Tahapan analisis dan penyusunan dokumen kebutuhan perangkat lunak.
Tujuan Pembelajaran Pertemuan Pertama
- Memahami dasar-dasar analisis dan spesifikasi kebutuhan.
- Dapat menjelaskan mengenai analisis dan spesifikasi kebutuhan.
Outline Pertemuan
- Apa itu Requirement Engineering?
- Kenapa Requirement Engineering Penting?
- Masalah Umum dalam Proyek
- Requirement Produk dan Proyek
- Terminologi
- Karakteristik Requirement yang Baik
Kenapa Requirement Engineering Penting?
- Analogi: Proses pembuatan aplikasi berdasarkan kebutuhan pengguna.
- Aplikasi harus dibuat sesuai dengan tujuan dan kebutuhan pengguna.
- Menghindari asumsi yang tidak tepat dalam pengembangan aplikasi.
Apa itu Requirement?
- Definisi: Spesifikasi yang harus ada dalam pengembangan perangkat lunak.
- Requirement mencakup:
- Perspektif pengguna terhadap perilaku sistem.
- Perspektif developer terhadap karakter internal sistem.
Pentingnya Requirement
- Dua Poin Penting:
- Menemukan requirement sejak awal memudahkan perbaikan jika terjadi kesalahan.
- Menghindari biaya dan waktu yang tinggi jika kesalahan ditemukan di tahap lanjut.
Masalah Umum dalam Pengembangan Aplikasi
- Insufficient User Involvement: Kurangnya komunikasi antara analis dan customer.
- Creeping User Requirement: Perubahan fitur yang tidak terduga dari customer.
- Ambiguous Requirement: Ketidakjelasan dalam komunikasi antara developer dan customer.
- Gold-plating: Developer menambahkan fitur yang tidak diminta oleh customer.
- Minimal Specification in Accurate Planning: Perencanaan yang tidak matang.
- Overlook User Class: Terlalu banyak peran pengguna yang dipertimbangkan tanpa fokus.
Requirement Produk dan Proyek
- Produk Requirement: Kebutuhan sistem atau produk.
- Project Requirement: Kebutuhan untuk menjalankan proyek (infrastruktur, lingkungan pengembangan, dll).
Proses Requirement Typikal
Well Established
- Metode bertahap (contoh: Waterfall).
- Setiap tahapan harus diselesaikan sebelum berpindah ke tahap berikutnya.
- Tantangan: Waktu pengiriman yang lama dan sulitnya kolaborasi.
Agile Requirement
- Proses dilakukan per fitur.
- Fleksibilitas dalam pengembangan aplikasi.
- Tantangan: Pekerjaan yang berulang dan dokumentasi informal.
Kesimpulan
- Requirement sangat penting dalam pengembangan perangkat lunak.
- Harus berdasarkan kebutuhan dan tujuan customer, bukan asumsi.
- Dua jenis requirement: Well-established dan Agile, masing-masing memiliki keuntungan dan tantangan.
Terima kasih atas perhatian semua.