Pengembangan Perangkat Lunak dengan model waterfall

Dalam pengembangan suatu perangkat lunak, kita mengenal adanya Software Development Life Cycle (SDLC). SDLC adalah urutan proses pembuatan dan pengubahan sistem serta metodologi yang digunakan untuk membuat dan mengembangkan perangkat lunak. Ringkasnya, SDLC adalah alur kerja dalam mengembangkan perangkat lunak.

Model SDLC yang paling tradisional adalah model waterfall. Model ini juga disebut sebagai model linear-sequential life cycle. Model waterfall ini sangat sederhana dan mudah diterapkan. Setiap fase harus diselesaikan sebelum fase berikutnya dimulai, dan tidak boleh ada fase yang tumpang tindih sebagaimana sebuah waterfall (air terjun).

Dalam pendekatan “The Waterfall”, seluruh proses pengembangan perangkat lunak dibagi menjadi fase-fase yang terpisah. Dalam model ini, biasanya hasil dari satu fase bertindak sebagai input untuk fase berikutnya secara berurutan.

Ilustrasi berikut adalah gambar dari model waterfall.

Penjelasan masing-masing fase di atas secara berurutan adalah sebagai berikut:

  • Requirement analysis, yaitu pengumpulan dan analisis kebutuhan perangkat lunak. Semua kebutuhan dari sistem yang akan dikembangkan ditangkap dalam fase ini dan didokumentasikan dalam dokumen spesifikasi sistem.
  • System design. Spesifikasi kebutuhan yang telah didokumentasikan di fase pertama kemudian dipelajari dalam fase ini. Untuk selanjutnya membuat desain awal dari sistem. Desain ini dibutuhkan untuk menentukan perangkat keras yang akan disediakan dan kebutuhan sistem sebenarnya untuk merancang arsitektur sistem secara menyeluruh.
  • Implementation. Dengan desain yang sudah dirumuskan pada fase kedua, sistem kemudian pertama kali dikembangkan dalam program-program kecil yang disebut unit. Yang kemudian semua unit tersebut akan diintegrasikan pada fase berikutnya. Setiap unit dikembangkan dan diuji fungsinya, dengan membuat unit testing.
  • Testing. Semua unit yang dikembangkan pada fase implementasi diintegrasikan ke dalam sistem setelah melakukan pengujian pada setiap unit. Pasca integrasi, seluruh sistem diuji kembali untuk memastikan tidak ada error dan kegagalan.
  • Deployment. Setelah pengujian sistem selesai dan dipastikan tidak ada kesalahan, kemudian sistem di-compile menjadi sebuah produk siap pakai untuk diluncurkan kepada pelanggan atau dilepaskan ke pasar.
  • Maintenance. Terkadang muncul beberapa masalah yang muncul di sisi klien. Untuk mengantisipasi atau memperbaiki masalah tersebut, dibutuhkan adanya pemeliharaan.

Semua fase ini berjalan mengalir secara linier satu sama lainnya, dan pengembangan dapat dilihat dari aliran yang mengarah ke bawah (seperti air terjun). Fase berikutnya dapat dimulai setelah fase sebelumnya tercapai.

Kapan model ini digunakan?

Setiap perangkat lunak sebenarnya memiliki karakteristik pengembangan yang berbeda-beda, sehingga membutuhkan pendekatan SDLC yang berbeda pula. Tergantung beberapa faktor internal dan eksternal. Berikut ini adalah situasi ideal untuk penggunaan model waterfall:

  • Dokumentasi tersusun dengan baik, jelas dan tetap.
  • Definisi produk sudah jelas dan tidak berubah.
  • Teknologi yang digunakan telah dipahami dan tidak dinamis.
  • Tidak ada requirement yang ambigu.
  • Memiliki banyak SDM dengan keahlian yang dibutuhkan.
  • Proyeknya singkat.

Kelebihan

Kelebihan utama dari model waterfall adalah memungkinkan kita untuk melakukan segmentasi pekerjaan dan memudahkan kontrol. Jadwal dapat diatur dengan tenggat waktu untuk setiap tahap pengembangan dan produk dapat diproses melalui fase model proses pengembangan satu per satu.

Pengembangan bergerak dengan langkah yang jelas, mulai dari konsep, kemudian desain, implementasi, pengujian, instalasi, pemecahan masalah, dan berakhir pada operasi dan pemeliharaan.

Beberapa keuntungan lain dari model waterfall adalah sebagai berikut:

  1. Sederhana dan mudah untuk dipahami serta diterapkan.
  2. Mudah diatur dan dikontrol.
  3. Setiap fase diproses dan diselesaikan satu per satu.
  4. Sangat efektif dan efisien untuk proyek yang kecil.
  5. Tahapan yang ditentukan sangat jelas.
  6. Mudah mengatur tugas
  7. Proses dan hasil mudah didokumentasikan dengan baik.

Kekurangan

Model waterfall bukan tanpa cela. Metode ini hanya cocok pada situasi tertentu seperti telah dijelaskan di atas. Kekurangan utama dari model ini adalah tidak memungkinkan banyak revisi. Misalnya setelah aplikasi berada dalam fase testing, sangat sulit untuk kembali dan mengubah sesuatu yang tidak terdokumentasi dengan baik atau tidak terpikirkan dalam tahap konsep.

Kekurangan lainnya dari model waterfall adalah sebagai berikut:

  1. Tidak ada produk perangkat lunak bisa dijalankan kecuali di akhir siklus pengembangan. Hal ini kurang menguntungkan dari sisi marketing.
  2. Memiliki risiko dan ketidakpastian yang tinggi.
  3. Bukan model yang bagus untuk proyek yang kompleks dan berorientasi objek.
  4. Model yang buruk untuk proyek yang panjang dan berkelanjutan.
  5. Tidak cocok untuk proyek di mana requirement-nya sering terjadi pengubahan. Karena akan mengacaukan seluruh fase.
  6. Mengubah cakupan atau konsep sistem di tengah siklus dapat mengacaukan seluruh proyek.
  7. Kurang dapat mengakomodasi adanya tantangan dalam atau bottleneck atau penyesuaian sistem yang besar.

Inilah sedikit gambaran tentang model waterfall dalam pengembangan perangkat lunak. Semoga bermanfaat.

Referensi: tutorialspoint.com

Yulian Purnama

Similar Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *