Overview
Materi membahas tiga model proses perangkat lunak utama: waterfall, incremental development, dan reuse-oriented software engineering, beserta kelebihan, kekurangan, serta pemilihan model berdasarkan kebutuhan sistem.
Model Proses Perangkat Lunak
- Model proses perangkat lunak adalah serangkaian aktivitas untuk menghasilkan produk perangkat lunak.
- Tiga model generik utama: waterfall, incremental development, reuse-oriented software engineering.
- Model ini adalah abstraksi, bukan deskripsi proses pengembangan yang pasti.
Model Waterfall
- Proses berurutan dan terencana matang; setiap tahapan harus selesai sebelum lanjut ke tahap berikutnya.
- Tahapan: definisi kebutuhan → desain sistem/perangkat lunak → implementasi & pengujian unit → integrasi & pengujian sistem → operasi & perawatan.
- Cocok untuk sistem dengan kebutuhan jelas dan minim perubahan.
- Kelebihan: keandalan tinggi, cocok untuk proyek besar, dokumentasi lengkap.
- Kekurangan: sulit mengakomodasi perubahan, lambat jika banyak revisi kebutuhan.
Model Incremental Development
- Pengembangan perangkat lunak dilakukan bertahap dalam beberapa versi/increment.
- Setiap versi menambah fungsionalitas sebelumnya; ada aktivitas spesifikasi, pengembangan, dan validasi di setiap versi.
- Mendukung perubahan dengan lebih mudah, biaya lebih rendah.
- Kelebihan: memudahkan perubahan, pengguna bisa memberi feedback tiap versi, fungsi bisa digunakan lebih awal.
- Kekurangan: dokumentasi sering kurang jelas, kualitas struktur sistem bisa menurun, kurang cocok untuk proyek besar/kompleks.
Model Reuse-oriented Software Engineering
- Fokus pada penggunaan kembali (reuse) komponen-komponen perangkat lunak yang sudah ada.
- Proses utama: spesifikasi kebutuhan → analisis komponen → modifikasi kebutuhan → desain → pengembangan & integrasi → validasi.
- Kelebihan: mengurangi biaya, risiko, dan waktu pengembangan.
- Kekurangan: kebutuhan pengguna bisa dikorbankan untuk menyesuaikan dengan komponen yang ada, hasil belum tentu sesuai harapan.
Pemilihan Model Proses
- Pilih model sesuai dengan jenis dan karakteristik sistem.
- Tidak ada model yang benar-benar terbaik atau terburuk; masing-masing punya keunggulan dan kelemahan.
- Kombinasi model bisa dilakukan sesuai kebutuhan proyek.
Key Terms & Definitions
- Model proses perangkat lunak — kerangka aktivitas untuk mengembangkan perangkat lunak.
- Waterfall — model proses berurutan dan terstruktur.
- Incremental development — pengembangan bertahap dengan penambahan fungsionalitas.
- Reuse-oriented software engineering — pengembangan berbasis penggunaan ulang komponen perangkat lunak.
- Spesifikasi kebutuhan — dokumen yang mendefinisikan kebutuhan sistem dari klien.
Action Items / Next Steps
- Siapkan pertanyaan untuk diskusi via Microsoft Teams.
- Pelajari lebih lanjut contoh dokumen spesifikasi dan diagram model perangkat lunak