Model waterfall adalah metode pengembangan perangkat lunak yang berurutan melalui beberapa fase: analisis kebutuhan, perancangan sistem, pengkodean, pengujian, dan pemeliharaan. Meskipun mudah diterapkan dan cocok untuk proyek dengan kebutuhan yang jelas, model ini memiliki kekurangan seperti fleksibilitas yang rendah dan kesulitan dalam menangani perubahan kebutuhan. Model ini lebih sesuai digunakan untuk jenis perangkat lunak yang tidak memerlukan banyak perubahan setelah tahap awal.