Selasa, 16 Agustus 2016

Kelebihan Dan Kekurangan System Development Life Cycle

Halo sobat Learn IT, kali ini saya akan membahas mengenai SDLC (System Development Life Cycle) beserta kelebihan dan kekurangannya.

SDLC atau System Development Life Cycle merupakan proses pembuatan dan pengembangan sistem dalam beberapa langkah. Macam-macam model SDLC yang dipakai saat ini adalah:


  • Waterfall Model
  • RAD (Rapid Application Development) Model
  • Increment Model
  • Prototyping Model
  • Spiral Model


Berikut ini adalah kelebihan dan kekurangan pada masing-masing model SDLC.


1.      Waterfall Model

(+) Kelebihan:

·      Mudah diterapkan atau diaplikasikan.
·      Memberikan model tentang analisis, desain, coding, testing, dan maintenance.
·      Cocok digunakan untuk produk-produk software yang kebutuhannya sudah jelas dari awal, sehingga minim kesalahan.
·      Cocok digunakan untuk produk software berskala kecil.

(-) Kekurangan:

·     Waterfall model bersifat kaku sehingga penanganan perubahan software pada saat program sedang berlangsung menjadi lebih sulit.
·     Terjadinya pembagian proyek menjadi tahap-tahapan yang tidak fleksibel, karena komitmen harus dilakukan pada tahapan awal proses.
·     Customer harus bersabar untuk menanti produk selesai, karena produk dikerjakan secara tahap per tahap, menyelesaikan tahap awal baru bisa menuju tahap selanjutnya.
·      Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
·      Adanya waktu menganggur bagi para pengembang, karena harus menunggu anggota team proyek lainnya menuntaskan pekerjaannya.
·      Semua kebutuhan sudah terdefinisi sejak awal dan software yang diberikan adalah versi terakhir dari setiap tahap.

2.      Rapid Application Development (RAD) Model

(+) Kelebihan:

·      Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang dapat memenuhi kebutuhan langsung dari pelanggan.
·      Cocok untuk proyek yang memerlukan waktu yang singkat.
·      Pengerjaan proyek dilakukan secara team dengan tugas yang berbeda sehingga tidak ada team proyek yang menganggur selama proses pembuatan proyek.

(-) Kelemahan:

·      RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang lebih tinggi.
·      Memerlukan anggota yang lebih banyak untuk menyelesaikan sebuah proyek berskala besar.
·      Pengembang dan Customer harus mempunyai komitmen yang kuat untuk menyelesaikan sebuah software.
·      Jika sistem tidak dibangun dengan benar, maka RAD akan bermasalah.
·      Jika ada perubahan ditengah-tengah pengerjaan maka harus membuat kontrak baru antara Pengembang dan Customer.

3.      Increment Model

(+) Kelebihan:

·      Cocok digunakan bila pembuat software tidak banyak/kekurangan anggota.
·      Mampu mengakomodasi perubahan kebutuhan Customer.
·      Resiko yang rendah pada pengembangan sistem.
·      Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling diutamakan.
·      Tahap awal adalah dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
·      Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya secara bagian per bagian.
·      Memaksimalkan pengembalian modal investasi konsumen.

(-) Kelemahan:

·      Hanya akan berhasi jika tidak ada staffing untuk penerapan secara menyeluruh.
·      Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
·      Hanya cocok untuk proyek yang berskala kecil.
·      Kemungkinan tiap bagian tidak dapat diintegrasikan.

4.      Prototyping Model

(+) Kelebihan:

·      Menghemat waktu untuk pengembangan.
·      Adanya komunikasi yang terjalin baik antara Pengembang dan Customer.
·      Pengembang dapat bekerja dengan lebih baik dalam menentukan kebutuhan pelanggan.
·      Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
·      User dapat berpartisipasi aktif dalam pengembangan sistem.
·      Untuk digunakan secara Standalone (Berdiri Sendiri).
·      Digunakan untuk memperluas SDLC (System Development Life Cycle).

(-) Kelemahan:

·      Pada Model Prototype tentu saja banyak kebutuhan yang tidak ditampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
·      Prototype yang telah disetujui oleh Client harus dikembangkan oleh developer tanpa ada data tambahan dari client dan software dari prototype harus memiliki fungsi yang lengkap.
·      Banyak ketidaksesuaian pada bentuk Prototype.
·      Proses analisis dan perancangan terlalu singkat.
·      Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
·      Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
·      Mengesampingkan alternatif pemecahan masalah.
·      Biasanya kurang fleksibel dalam menghadapi perubahan.
·      Prototype yang dihasilkan tidak selamanya mudah dirubah.
·      Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangka waktu yang lama.
·      Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak baru sistem.
·      Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.

5.      Spiral Model

(+) Kelebihan:

·      Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk Client dalam mencari kekurangan kebutuhan.
·      Lebih cocok untuk pengembangan sistem dan perangkat lunak berskala besar.
·      Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
·      Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
·      Menggunakan prototype sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
·      Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
·      Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko sebelum menjadi permasalahan yang serius.

(-) Kekurangan:

·      Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model Spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
·      Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
·      Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
·      Memerlukan penaksiran resiko yang masuk akal dan akan menjadi  masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
·      Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

         


Tidak ada komentar:

Posting Komentar