Waterfall
model pertama kali diperkenalkanoleh Winston Royce tahun 1970. Waterfall Model
merupakan model klasik yang sederhana dengan aliran sistem yang linier. Output dari setiap tahap merupakan input bagi
tahap berikutnya.
Water
fall model adalah salah satu model pengembangan software, dimana kemajuan suatu
proses dipandang sebagai terus mengalir ke bawah seperti air terjun
Model
ini telah diperoleh dari proses rekayasa lainnya dan menawarkan cara pembuatan
rekayasa perangkat lunak secara lebih nyata.
Model ini melibatkan tim SQA (Software Quantity Assurance) dengan 5
tahapan, dimana setiap tahapan selalu dilakukan verifikasi atau testing.
Tahapan Metode Waterfall
Dalam pengembangannya metode waterfall memiliki beberapa tahapan yang runtut: requirement, design, implementation, verification dan maintenance.
Proses Waterfall dapat digambarkan sebagai berikut :
1.
Requirment
Dalam tahapan ini jasa, kendala
dan tujuandari konsultasi dengan
pengguna sistem. Kemudian semuanya
dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang. Dengan kata lain, dalam tahapn ini dilakukan
analisa kebutuhan, kemdian diverifikasi klien dan tim SQA.
2.
Specification
Dokumentasi spesifikasi, kemudian diperiksa oleh tim
SQA. Selanjutnya jika disetujui oleh
klien, maka dokumen tersebutmerupakan kontrak kerjaantaraklien dan pengembang
s0ftware. Selanjutnya merencanakan
jadwal pengembangan software. Jika disetujui oleh SQA, tahap desain baru
dilakukan.
3.
Design
Proses design sistem membagi kebutuhan-kebutuhan
menjadi sistem perangkat lunak atau perangkat keras. Proses tersebut menghasilkan sebuah
arsitektur keseluruhan. Desain perangkat lunak termasuk menghasilkan fungsi
sistem perangkatlunak dalam bentuk yang mungkin ditransformasi kedalam satu
atau lebih program yang dapat dijalankan.
Tahapan ini telah menentukan alur software hingga pada tahap algoritma
detail. Di akhir tahap ini, kembali
diperksa tim SQA.
4.
Implementation
Selama tahap ini, desain perangkat lunak disadari
sebagai sebuah program lengkap atau unit program. Desain yang telah disetujui, diubah dalam
bentuk kode-kode program. Tahap ini,
kode-kode program yang dihasilkan masih pada tahap modul-modul. Diakhir tahap
ini, tiap modul di testing tanpa diintegrasikan.
5.
Integration
Unit program diintegrasikan dandiuji menjadi sistem
yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah
dipenuhi. Setelah uji coba, sistem
disampaikan ke konsumen.
6.
Operaton
mode & retirement
Normalnya, ini adalah tahap yang
terpanjang. Sistem dipasang dan
digunakan. Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada
langkah sebelumnya. Perbaikan inmplementasi
unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru ditemukan.
KeuntunganMetode Waterfall
- Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
- Document pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen tertentu.
- Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
Kelemahan waterfall
- Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
- Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan yang berakibat pada tahapan selanjutnya.
- Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidak pastian pada saat awal pengembangan.
- Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.
- Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi menyebabkan masalah baru.
Kapan Waterfall Model Digunakan?
Teori-teori
lama menyimpulkan ada beberapa hal, yaitu:
- Ketika semua persyaratan sudah dipahami dengan baik di awal pengembangan.
- Definisi produk stabil dan tidak ada perubahan saat pengembangan untuk alasan apapun seperti perubahan eksternal, perubahan tujuan, perubahan anggaran atau perubahan teknologi. Untuk itu, teknologi yang digunakan pun harus sudah dipahami dengan baik.
- Menghasilkan produk baru, atau versi baru dari produk yang sudah ada. Sebenarnya, jika menghasilkan versi baru maka sudah masuk incremental development, yang setiap tahapnya sama dengan Waterfall kemudian diulang-ulang.
- Porting produk yang sudah ada ke dalam platform baru.
Dengan
demikian, Waterfall dianggap pendekatan yang lebih cocok digunakan untuk proyek
pembuatan sistem baru. Tetapi salah satu kelemahan paling dasar adalah
menyamakan pengembangan perangkat keras dengan perangkat lunak dengan
meniadakan perubahan saat pengembangan. Padahal, galat diketahui saat perangkat
lunak dijalankan, dan perubahan-perubahan akan sering terjadi.
Sumber
:
http://raytenimanuel.wordpress.com/2013/01/23/pengertian-waterfall/
http://d-in4matika.blogspot.com/2013/04/metode-waterfall-kelebihan-dan-kelemahan.html
http://www.suburanugerah.com/2011/10/kapan-waterfall-model-digunakan.html

Tidak ada komentar:
Posting Komentar