Apa itu Model Air Terjun di SDLC? Keuntungan dan kerugian
Apa Model Air Terjun itu?
Model Air Terjun adalah model sekuensial yang membagi pengembangan perangkat lunak ke dalam fase-fase yang telah ditentukan sebelumnya. Setiap fase harus diselesaikan sebelum fase berikutnya dapat dimulai tanpa tumpang tindih antar fase. Setiap fase dirancang untuk melakukan aktivitas spesifik selama fase SDLC. Itu diperkenalkan pada tahun 1970 oleh Winston Royce.

Berbagai Fase Model Air Terjun dalam Rekayasa Perangkat Lunak
Berikut ini adalah fase-fase Model Waterfall yang berbeda:
| Fase yang berbeda | Kegiatan dilakukan pada setiap tahapan |
|---|---|
| Tahap Pengumpulan Persyaratan |
|
| Tahap Desain | |
| Panggung yang Dibangun | Setelah tahap desain, barulah tahap build, yang tidak lain hanyalah pengkodean perangkat lunak |
| Tahap Tes | Pada fase ini, Anda menguji perangkat lunak untuk memverifikasi bahwa perangkat lunak tersebut dibuat sesuai spesifikasi yang diberikan oleh klien. |
| Tahap penerapan | Terapkan aplikasi di lingkungan masing-masing |
| Tahap pemeliharaan | Setelah sistem Anda siap digunakan, Anda mungkin perlu mengubah kode sesuai permintaan pelanggan |
Kapan menggunakan Model Air Terjun SDLC?
Metodologi Air Terjun dapat digunakan ketika:
- Persyaratan tidak sering berubah
- Aplikasinya tidak ribet dan besar
- Proyeknya singkat
- Persyaratannya jelas
- Lingkungan stabil
- Teknologi dan alat yang digunakan tidak dinamis dan stabil
- Sumber daya tersedia dan terlatih
Kelebihan dan Kekurangan Model Air Terjun
Berikut adalah keunggulan populer model Air Terjun Rekayasa Perangkat Lunak dengan beberapa kelemahan:
| Kelebihan | Kerugian |
|---|---|
| Sebelum tahap pengembangan berikutnya, setiap tahap harus diselesaikan | Kesalahan hanya dapat diperbaiki selama fase tersebut |
| Cocok untuk proyek kecil yang persyaratannya ditentukan dengan jelas | Tidak diinginkan untuk proyek yang kompleks dimana kebutuhannya sering berubah |
| Mereka harus melakukan uji jaminan kualitas (Verifikasi dan Validasi) sebelum menyelesaikan setiap tahap | Masa pengujian datang cukup terlambat dalam proses pengembangan |
| Dokumentasi yang rumit dilakukan pada setiap fase siklus pengembangan perangkat lunak | Dokumentasi menyita banyak waktu pengembang dan penguji |
| Proyek sepenuhnya bergantung pada tim proyek dengan intervensi klien minimal | Umpan balik klien yang berharga tidak dapat disertakan dalam fase pengembangan yang sedang berlangsung |
| Setiap perubahan pada perangkat lunak dilakukan selama proses pengembangan | Perubahan kecil atau kesalahan yang muncul pada perangkat lunak yang telah selesai dapat menyebabkan banyak masalah |
