Waterfall Model merupakan model Software Development Life Cycle yang pertama. Model ini juga biasa disebut dengan model air terjun, linier berkelanjutan, sekuensial linier, atau linier sequential. Model ini sangat mudah dipahami dan digunakan. Dalam model ini, setiap fase harus dituntaskan terlebih dahulu sebelum fase berikutnya dapat dimulai. Di dalamnya, tidak terdapat tumpeng tindih fase. Pengembangan perangkat lunak pertama kali, menggunakan pendekatan ini.
Model ini, menggambarkan proses pengembangan perangkat lunak dalam aliran linier berkelanjutan. Yaitu, bahwa setiap fase dalam proses pengembangan hanya bisa dimulai jika fase sebelumnya telah selesai. Tidak ada fase yang tumpang tindih dalam model waterfall ini.
Waterfall Model Design
Waterfall Model Design, adalah model SDLC pertama yang banyak digunakan Software Engineering. Tujuannya, tidak lain ialah untuk memastikan keberhasilan proyek. Pendekatan ini, membagi keseluruhan proses menjadi beberapa fase. Yang mana, hasil (output) Dalam pendekatan “The Waterfall”, seluruh proses pengembangan perangkat lunak dibagi menjadi beberapa fase terpisah. Dalam model Air Terjun ini, biasanya, hasil dari satu fase bertindak sebagai input untuk fase berikutnya secara berurutan.
Fase-fase sequentials dalam Waterfall Model
Apa saja fase-fase berkelanjutan dalam Waterfall Model? Beikut penjelasannya:
- Requirement Analysis
Semua persyaratan yang mungkin dari sistem yang akan dikembangkan ditangkap dalam fase ini dan didokumentasikan dalam dokumen spesifikasi kebutuhan.
- System Design
Spesifikasi persyaratan dari fase pertama dipelajari dalam fase ini dan desain sistem disiapkan. Desain sistem ini membantu dalam menentukan persyaratan perangkat keras dan sistem dan membantu dalam menentukan arsitektur sistem secara keseluruhan.
- Implementation
Dengan input dari desain sistem, sistem pertama kali dikembangkan dalam program kecil yang disebut unit, yang terintegrasi pada fase berikutnya. Setiap unit dikembangkan dan diuji fungsinya, yang disebut sebagai Unit Testing.
- Integration and Testing
Semua unit yang dikembangkan dalam fase implementasi diintegrasikan ke dalam sistem setelah pengujian setiap unit. Pasca integrasi seluruh sistem diuji untuk setiap kesalahan dan kegagalan.
- Deployment
Setelah pengujian fungsional dan non-fungsional selesai; produk dikerahkan di lingkungan pelanggan atau dilepaskan ke pasar.
- Maintenance
Ada beberapa masalah yang muncul di lingkungan klien. Untuk memperbaiki masalah tersebut, tambalan dilepaskan. Juga untuk meningkatkan produk, beberapa versi yang lebih baik dirilis. Pemeliharaan dilakukan untuk memberikan perubahan ini di lingkungan pelanggan.
Semua proses ini berkembang melalui fase-fase yang dianggap mengalir terus ke bawah seperti air terjun. Fase berikutnya baru dimulai setelah tujuan-tujuan yang ada pada fase sebelumnya tercapai dan ditandatangani. Ini lah mengapa model ini disebut sebagai “Model Air Terjun”.
Kapan Waterfall Model Digunakan?
Setiap perangkat lunak yang dikembangkan, memiliki karakteristik berbeda dan memerlukan pendekatan SDLC yang sesuai berdasarkan faktor internal dan eksternal. Situasi-situasi yang mendukung digunakannya Waterfall Methods adalah:
- Persyaratan didokumentasikan dengan sangat baik, jelas dan tetap.
- Definisi produk stabil.
- Teknologi yang digunakan dipahami dengan baik dan tidak dinamis.
- Tidak ada persyaratan yang ambigu.
- Memiliki banyak sumber daya dan ahli yang dibutuhkan.
- Proyek berjalan singkat.
Kelebihan dan Kekurangan Waterfall Model
Kelebihan yang jelas terlihat dengan menggunakan Waterfall Model adalah dimungkinkannya departemensasi yang memudahkan kontrol. Deadline dapat ditentukan untuk setiap fase dan produk dapat dikembangkan secara maksimal dengan melewati seluruh fase.
Beberapa keuntungan utama dari Model Air Terjun adalah sebagai berikut:
- Sederhana dan mudah dimengerti dan digunakan
- Mudah dikelola karena kekakuan model. Setiap fase memiliki hasil tertentu dan proses peninjauan.
- Fase diproses dan diselesaikan satu per satu.
- Bekerja dengan baik untuk proyek yang lebih kecil di mana persyaratan dipahami dengan sangat baik.
- Tahapan yang jelas.
- Mudah mengatur tugas.
- Proses dan hasilnya didokumentasikan dengan baik.
Kerugian dari pengembangan air terjun adalah bahwa ia tidak memungkinkan banyak refleksi atau revisi. Setelah aplikasi berada dalam tahap pengujian, sangat sulit untuk kembali dan mengubah sesuatu yang tidak terdokumentasi dengan baik atau dipikirkan dalam tahap konsep.
Kerugian utama dari Model Air Terjun adalah sebagai berikut :
- Tidak ada perangkat lunak yang berfungsi yang diproduksi hingga larut selama siklus hidup.
- Jumlah risiko dan ketidakpastian yang tinggi.
- Bukan model yang baik untuk proyek yang kompleks dan berorientasi objek.
- Model yang buruk untuk proyek yang panjang dan berkelanjutan.
- Tidak cocok untuk proyek-proyek di mana persyaratan berada pada risiko perubahan sedang hingga tinggi. Jadi, risiko dan ketidakpastian tinggi dengan model proses ini.
- Sulit untuk mengukur hal
Apakah kamu ingin membuat software tertentu? Atau ingin bisa mengembangkan softwere sendiri? Menjadi software engineer andal? Jangan ragu untuk menghubungi kami dan dapatkan konsultasi gratis