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