Model pengembangan perangkat lunak

Model Waterfall


Model Waterfall merupakan salah satu model untuk perencanaan dari sebuah Perangkat Lunak. Model Waterfall adalah salah satu model klasik yang bersifat sistematis.
Mengapa disebut sistematis ? Karena model ini dikerjakan secara berurutan. Penggunaan model ini dalam penerapan di kehidupan sehari-hari sangatlah memakan waktu dan sangat sedikit dipakai membuat software. Namun model ini cocok untuk bisnis kecil.

Kelebihan Model Waterfall :

- Merupakan model pengembangan paling handal dan paling lama digunakan.
- Cocok untuk sistem software yang bersifat generik.
- Pengerjaan projek sistem akan terjadwal dengan baik dan mudah dikontrol.

Kekurangan Model Waterfall :

- Persyaratan sistem harus digambarkan dengan jelas.
- Rincian proses harus benar-benar jelas dan tidak boleh berubah ubah
- Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan

Model Spiral


Model spiral (spiral model) adalah model pengembangan software dimana proses digambarkan sebagai spiral. Setiap loop akan mewakili satu fase dari proses pembuatan/perancangan software. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya, seperti gambar berikut:


Kelebihan Model Spiral :

- 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 skala 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 prototipe 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 permaslahan yang serius. 

Kekurangan Model Spiral :

- 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.

 Model Prototype


Prototype merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Prototyping, dimulai dengan pengumpulan kebutuhan, mendefinisikan objektif keseluruhan dari software, mengidentifikasikan segala kebutuhan, kemudian dilakukan “perangcangan kilat” yang difokuskan pada penyajian aspek yang diperlukan.

Kelebihan :

- Prototype melibatkan user dalam analisa dan desain.
- Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
- Untuk digunakan secara standalone.
- Digunakan untuk memperluas SDLC.
- Mempersingkat waktu pengembangan Sistem Informasi

Kekurangan :

- Proses analisis dan perancangan terlalu singkat.
- Mengesampingkan alternatif pemecahan masalah.
- Bisanya kurang fleksible dalam mengahdapi perubahan.
- Prototype yang dihasilkan tidak selamanya mudah dirubah

Model Rapid Application Development (RAD)   



Rapid Aplication Development (RAD) adalah sebuah model proses perkembanganperangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.

Kelebihan Model RAD :

- Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.

- Cocok untuk proyek yang memerlukan waktu yang singkat.

- Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.

Kekurangan Model RAD :


- Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.

- Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.

- RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.

- Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.

Model Incremental


Dalam model Incremental ini proses pengerjaan perangkat lunak akan dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka dalam pengerjaan perbagian.

Kelebihan Model Incremental :

- Resiko yang rendah pada pengembangan sistem.

- Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan. 

- Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).

- Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
Mampu mengakomodasi perubahan kebutuhan customer. 

- Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.

- Memaksimalkan pengembalian modal investasi konsumen. 

Kekurangan Model Incremental :


- Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.

- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.

- Hanya cocok untuk proyek dengan skala kecil.

- kemungkinan tiap bagian tidak dapat diintegrasikan.

Komentar