SDLC atau System Development Life Cycle merupakan proses pembuatan dan pengembangan sistem dalam beberapa langkah. Macam-macam model SDLC yang dipakai saat ini adalah:
1. Waterfall Model
2. RAD (Rapid Application Development) Model
3. Increment Model
4. Prototyping Model
5. Spiral Model
· 2. Memberikan model tentang analisis, desain, coding, testing, dan maintenance.
· 3. Cocok digunakan untuk produk-produk software yang kebutuhannya sudah jelas dari awal, sehingga minim kesalahan.
· 4. Cocok digunakan untuk produk software berskala kecil.
*) Kekurangan:
· 1. Waterfall model bersifat kaku sehingga penanganan perubahan software pada saat program sedang berlangsung menjadi lebih sulit.
· 2. Terjadinya pembagian proyek menjadi tahap-tahapan yang tidak fleksibel, karena komitmen harus dilakukan pada tahapan awal proses.
· 3. Customer harus bersabar untuk menanti produk selesai, karena produk dikerjakan secara tahap per tahap, menyelesaikan tahap awal baru bisa menuju tahap selanjutnya.
· 4. Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
· 5. Adanya waktu menganggur bagi para pengembang, karena harus menunggu anggota team proyek lainnya menuntaskan pekerjaannya.
· 6. Semua kebutuhan sudah terdefinisi sejak awal dan software yang diberikan adalah versi terakhir dari setiap tahap.
*) Kelebihan Rapid Application Development (RAD) Model:
1. Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang dapat memenuhi kebutuhan langsung dari pelanggan.
2. Cocok untuk proyek yang memerlukan waktu yang singkat.
3. Pengerjaan proyek dilakukan secara team dengan tugas yang berbeda sehingga tidak ada team proyek yang menganggur selama proses pembuatan proyek.
*) Kelemahan Rapid Application Development (RAD) Model:
1. RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang lebih tinggi.
2. Memerlukan anggota yang lebih banyak untuk menyelesaikan sebuah proyek berskala besar.
3. Pengembang dan Customer harus mempunyai komitmen yang kuat untuk menyelesaikan sebuah software.
4. Jika sistem tidak dibangun dengan benar, maka RAD akan bermasalah.
5. Jika ada perubahan ditengah-tengah pengerjaan maka harus membuat kontrak baru antara Pengembang dan Customer.
3. Increment Model
*) Kelebihan Increment Model:
1. Cocok digunakan bila pembuat software tidak banyak/kekurangan anggota.
2. Mampu mengakomodasi perubahan kebutuhan Customer.
3. Resiko yang rendah pada pengembangan sistem.
4. Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling diutamakan.
5. Tahap awal adalah dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
6. Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya secara bagian per bagian.
7. Memaksimalkan pengembalian modal investasi konsumen.
· 2. Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
· 3. Hanya cocok untuk proyek yang berskala kecil.
· 4. Kemungkinan tiap bagian tidak dapat diintegrasikan.
4. Prototyping Model
· 2. Adanya komunikasi yang terjalin baik antara Pengembang dan Customer.
· 3. Pengembang dapat bekerja dengan lebih baik dalam menentukan kebutuhan pelanggan.
· 4. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
· 5. User dapat berpartisipasi aktif dalam pengembangan sistem.
· 6. Untuk digunakan secara Standalone (Berdiri Sendiri).
· 7. Digunakan untuk memperluas SDLC (System Development Life Cycle).
· 2. 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.
· 3. Banyak ketidaksesuaian pada bentuk Prototype.
· 4. Proses analisis dan perancangan terlalu singkat.
· 5. 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.
· 6. Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
· 7. Mengesampingkan alternatif pemecahan masalah.
· 8. Biasanya kurang fleksibel dalam menghadapi perubahan.
· 9. Prototype yang dihasilkan tidak selamanya mudah dirubah.
· 10. 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.
· 11. 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.
· 12. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.
5. Spiral Model
· 1. Lebih cocok untuk pengembangan sistem dan perangkat lunak berskala besar.
· 2. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
· 3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
· 4. Menggunakan prototype sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
· 5. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
· 6. Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko sebelum menjadi permasalahan yang serius.
· 2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
· 3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
· 4. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
· 5. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute
No comments:
Post a Comment