Catatan Pertemuan Pertama - Analisis dan Spesifikasi Kebutuhan
Deskripsi Mata Kuliah
- Mengenalkan konsep dasar analisis dan spesifikasi kebutuhan perangkat lunak.
- Tahapan analisis dan penyusunan dokumen kebutuhan perangkat lunak.
Tujuan Pembelajaran
- Mampu menjelaskan dasar analisis dan spesifikasi kebutuhan perangkat lunak.
Outline Pertemuan
- What is Requirement Engineering
- Why is it Important
- Common Problems in Projects
- Product and Project Requirement
- Terminologi
- Characteristic of Good Requirement
Mengapa Requirement Engineering Penting?
- Software harus dibangun berdasarkan kebutuhan dan tujuan pengguna.
- Pengalaman saat menganalisis kebutuhan pengguna:
- Pengguna tidak selalu tahu apa yang mereka inginkan.
- Analisis harus menyesuaikan dengan tujuan pengguna.
Definisi Requirement
- Requirement dalam pengembangan perangkat lunak berbeda dengan definisi umum.
- Requirement adalah spesifikasi yang harus ada dalam aplikasi:
- Deskripsi aplikasi dan fiturnya.
- Menangkap perspektif pengguna dan developer.
Pentingnya Requirement
- Menentukan requirement sejak awal membuat perbaikan jadi lebih mudah dan murah.
- Menghindari kesalahan dan fitur yang tidak relevan di tahapan coding.
Masalah Umum dalam Pengembangan Aplikasi
- Insufficient User Involvement:
- Kurang komunikasi antara analis dan customer.
- Creeping User Requirement:
- Perubahan kebutuhan fitur di tahap desain dan implementasi.
- Ambiguous Requirement:
- Ketidakjelasan dalam penyampaian kebutuhan.
- Gold-Plating:
- Menambahkan fitur yang tidak diperlukan.
- Minimal Specification in Accurate Planning:
- Perencanaan yang tidak jelas dari pengembang.
- Overlook User Class:
- Mengabaikan siapa pengguna yang akan menggunakan aplikasi.
Perbedaan antara Project dan Product Requirement
- Product Requirement: Kebutuhan sistem/software.
- Project Requirement: Kebutuhan terkait dengan pelaksanaan proyek.
Proses Requirement yang Umum
-
Well Established Requirement:
- Mengikuti tahapan yang jelas (misalnya model Waterfall).
- Tantangan: Waktu delivery bisa lama.
-
Agile Requirement:
- Proses lebih fleksibel, setiap fitur dikerjakan secara iteratif.
- Tantangan: Pekerjaan bisa repetitif, dokumentasi informal.
Kesimpulan Pertemuan Pertama
- Requirement penting untuk membangun software yang sesuai dengan kebutuhan pengguna.
- Memahami dan menemukan masalah di awal membuat proses pengembangan lebih mudah dan murah.
- Terdapat dua tipikal requirement: Well-established dan Agile, masing-masing dengan keuntungan dan tantangan tersendiri.
Terima kasih telah mengikuti pertemuan ini. Sampai jumpa di pertemuan berikutnya!