Menurut Pressman (2015:42) , model waterfall adalah model klasik yang bersifat
sistematis , berurutan dalam membangun sebuah software . Nama model ini sebenarnya adalah
"Linear Sequential Model" . Model ini termasuk ke dalam model generic pada rekayasa
perangkat lunak dan pertama kali model waterfall ini diperkenalkan oleh Winston Royce pada
tahun 1970 . Meskipun sering dianggap kuno , tetapi model waterfall ini merupakan model
yang paling banyak dipakai dalam Software Engineering (SE) . Model Waterfall ini melakukan
pendekatan secara sistematis dan berurutan . Model ini disebut dengan model Waterfall karena
tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan
berurutan.
Determine requirements, hal ini dilakukan dengan cara mempelajari sistem yan telah ada,
menghilangkan redundansi dan menentukan keutuhan struktur.
Menghasilkan desain sistem alternatif.
Membandingkan alternatif desain sistem yang telah dihasilkan.
Merekomendasikan desain alternatif terbaik kepada klien.
2. System Design
Spesifikasi dari tahap sebelumnya akan dipelajari dalam fasi ini dan desain sistem
disiapkan. System Desain membantu dalam menentukan sistem persyaratan, hardware dan
membantu mendefinisikan arsitektur sistem secara keseluruhan. Dalam Tahap ini terjadi proses
:
UI (User Interface) Design, meliputi form, tampilan dialog desain dan report.
Process design.
Data design, proses desain elemen struktur data.
3. Implementation
Pada tahap ini, sistem pertama kali dikembangkan di program kecil, yang terintegrasi
dalam tahap selanjutnya. Setelah unit (Program Kecil) diuji dan dikembangkan untuk
fungsionalitas yang disebut sebagai unit testing. Dalam tahap ini terjadi proses :
Evaluasi hardware.
Pengembangan dan modifikasi software.
Konversi data, terjadi perbaikan dan penyaringan data yang tidak diinginkan dan konsolidasi
data.
Dokumentasi.
Uji Coba / Testing.
Training software yang telah terbentuk.
Tahap akhir dari model Waterfall adalah Operation & Maintenance. Software yang
sudah jadi, dijalankan serta dilakukan pemeliharaan / Maintenance. Pemeliharaan termasuk
dalam memperbaiki kesalahan-kesalahan yang tidak ditemukn pada langkah sebelumnya.