Software Development Life Cycle

Pengembangan perangkat lunak (PL) dapat dianggap sebagai lingkaran pemecahan masalah. Untuk menyelesaikan masalah besar, dipecah menjadi kecil terus-menerus sampai paling kecil, kemudian diselesaikan (recursive). Daur hidup PL adalah model proses untuk Rekayasa Perangkat Lunak (RPL) yang dipilih berdasarkan sifat aplikasi dan proyeknya, metode dan tool yang  digunakan, serta kontrol dan deliverable yang diinginkan. Beberapa model Pengembangan PL sebagai berikut:

Terdiri dari bebrapa model sekaligus kelebihan dan kekurangannya

1. Linear sequential model (classic life cycle / model cycle)

Kelebihan model:

  1. Merupakan model yang paling tua dan paling familiar dipakai. Jadi mudah dipahami.
  2. Tidak banyak orang yang dilibatkan jadi menekan gaji pegawai.
  3. Proses terurut dengan jelas sehingga model pengembangan mudah dibaca.

Kelemahan model :

  1. Meskipun mengakomodasi iterasi, model linier melakukannya secara tidak langsung sehingga perubahan-perubahan dapat menyebabkan keraguan saat tim proyek berjalan
  2. Jika user sulit menyatakan semua kebutuhannya secara explisit, model ini sulit mengakomodasi ketidakpastian itu
  3. User harus bersabar karena hasil baru bisa dinikmati setelah testing (akhir waktu). Jika ada kesalahan besar yang tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka.
  4. Pengembang sering melakukan penundaan yang tidak perlu. Anggota tim  harus menunggu anggota tim lain selesai mengerjakan tugasnya yang mempunyai keterkaitan dan ketergantungan tinggi.

2. Prototyping Model

Kelebihan  :

  1. Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan terpenuhi.
  2. Prototype-prototype dibuat untuk memuaskan kebutuhan klien dan untuk memahami kebutuhan klien lebih baik.
  3. Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software lebih cepat, namun tidak semua prototype bisa dimanfaatkan.
  4. Sekalipun prototype memudahkan komunikasi antar developer dan klien, membuat klien mendapat gambaran awal dari prototype , membantu mendapatkan kebutuhan detil lebih baik namun demikian prototype juga menimbulkan masalah.
  5. user dapat langsung melihat wujud PL yang akan dibangun meskipun sederhana dan dari sana dapat digali kebutuhan yang lebih dalam sebagai bahan penyusunan PL berikutnya.

Kelemahan :

  1. User merasa prototipe merupakan PL yang sesungguhnya, padahal ketika membuat prototipe belum disertakan kualitas PL secara keseluruhan / kemampuan pemeliharaan untuk jangka panjang
  2. .Developer sering membuat kompromi-kompromi implementasi untuk membuat prototipe bekerja dengan cepat sehingga akan ditemui ketidakcocokan pada prototipe ketika prototipe dibangun dengan bahasa yang sederhana
  3. Program dibuat ulang / prototipe selalu baru

3.Rapid Application Development (RAD) Model

Kelebihan  :

  1. RAD adalah model proses pembangunan PL yang incremental.
  2. RAD menekankan pada siklus pembangunan yang pendek/singkat.
  3. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction.
  4. Waktu yang singkat adalah batasan yang penting untuk model ini.
  5. Jika kebutuhan lengkap dan jelas maka waktu yang dibutuhkan untuk menyelesaikan secara komplit software yang dibuat adalah misalnya 60 sampai 90 hari.

Kelemahan :

  1. Untuk proyek dengan skala besar, RAD membutuhkan sumber daya manusia yang cukup untuk membentuk sejumlah tim RAD.
  2. RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen untuk melaksanakan aktivitas melengkapi sistem dalam kerangka waktu yang singkat.
  3. Akan menimbulkan masalah jika sistem tidak dapat dibuat secara modular.
  4. RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.

4. The Incremental Model

Kelebihan :

  1. Nilai penggunan dapat ditentukan pada setiap increament sehingga fungsionalitas sistem disediakan lebih awal,
  2. Increment awal berupa prototype untuk membantu memahami kebutuhan pada increment berikutnya,
  3. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
  4. Prioritas tertinggi pada pelayanan sistem adalah yang paling
  5. Cocok untuk produksi masal.

Kelemahan :

  1. Tidak bisa digunakan untuk implementasi lengkap misalnya pada proses bisnis disebabkan batas waktu yang telah disepakati oleh proyek tersebut.
  2. Perkembangan waktu  sistem inti dapat diterima dengan baik tetapi tidak dengan perkembangan  mayor  sedang yang waktu penyampainnya  tidak pasti.
  3. Mungkin tiba-tiba saja dibutuhkan perangkat yang baru.

5. An Evolutionary (Spiral) Model

Kelebihan:

  1. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan.
  2. Setiap resiko dianalisis secara detil. Langkah-langkah penanganan dilakukan, misalnya membuat prototype untuk mengetahui ketidakcocokan kebutuhan.
  3. Pada model spiral, resiko sangat dipertimbangkan.
  4. Model spiral merupakan pendekatan yang realistik untuk PL berskala besar.
  5. Pengguna dan pembangun (Perekayasa) bisa  memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik.

Kelemahan:

  1. Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan.
  2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
  3. Belum terbukti apakah metode ini cukup efisien karena usianya relatif baru.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s