Apa yang dimaksud dengan Incremental model dalam Rekayasa perangkat lunak?

Apa yang dimaksud dengan Incremental model dalam Rekayasa perangkat lunak?

Incremental Model (model inkremental) adalah model dalam rekayasa perangkat lunak yang menggabungkan elemen-elemen model sekuensial linier (diaplikasikan secara berulang) dengan filosofi purwarupa iteratif (Pressman, 2002).

Model inkremental dalam pengembangan adalah sebuah sarana untuk mengurangi pengerjaan ulang dalam proses pengembangan perangkat lunak dan memberikan beberapa peluang bagi pelanggan untuk menunda keputusan tentang detil kebutuhan pelanggan tersebut sampai pelanggan tersebut mendapatkan pengalaman dengan sistem yang sedang dikembangkan (Sommerville, 2001).

Pada saat model inkremental dipergunakan, peningkatan pertama sering merupakan produk inti (core product), yaitu sebuah model peningkatan yang dipergunakan, tetapi beberapa antarmuka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan. Produk inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detil).

Sebagai hasil dari pemakaian dan/atau evaluasi, maka dikembangkan rencana untuk peningkatan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsionalitas tambahan. Proses ini diulangi mengikuti penyampaian setiap peningkatan sampai bisa menghasilkan produk yang lengkap (Pressman, 2002).

Model inkremental memiliki beberapa keuntungan (Sommerville, 2001):

  1. Pelanggan tidak harus menunggu sampai seluruh sistem diselesaikan dan pelanggan bisa mendapatkan nilai dari sistem tersebut. Peningkatan pertama memenuhi kebutuhan mereka yang paling kritis sehingga perangkat lunak dapat segera digunakan.

  2. Pelanggan dapat menggunakan peningkatan awal sebagai purwarupa dan mendapatkan pengalaman yang menyebutkan persyaratan untuk peningkatan sistem kemudian.

  3. Ada risiko yang lebih rendah dari kegagalan proyek secara keseluruhan. Meskipun masalah mungkin ditemui di beberapa tahapan peningkatan, ada kemungkinan bahwa beberapa akan berhasil dikirim ke pelanggan.

  4. Layanan berprioritas tertinggi diserahkan pertama kali dan kemudian tahapan peningkatan selanjutnya diintegrasikan dengan peningkatan sebelumnya, tidak dapat dihindari bahwa layanan sistem yang paling penting menerima paling banyak pengujian. Ini berarti bahwa pelanggan cenderung tidak mengalami kegagalan perangkat lunak di bagian yang paling penting dari sistem.

Model inkremental juga memiliki kekurangan (Sommerville, 2001):

  1. Tahapan peningkatan harus relatif kecil (tidak lebih dari 20.000 baris kode) dan masing-masing tahapan peningkatan harus memberikan beberapa fungsi sistem. Oleh karenanya, bisa sulit untuk memetakan kebutuhan pelanggan menjadi tahapan peningkatan dengan ukuran yang tepat.

  2. Kebanyakan sistem memerlukan seperangkat fasilitas dasar yang digunakan oleh berbagai bagian dari sistem tersebut. sebagaimana persyaratan tidak didefinisikan secara rinci sampai tahapan peningkatan akan diimplementasikan, sulit untuk mengetahui fasilitas umum yang dibutuhkan semua tahapan peningkatan.