Model Dalam SDLC (System Development Lifecycle) - Waterfall

Model waterfall merupakan model pengembangan sistem pertama yang diperkenalkan dalam sejarah model pengembangan sistem/software development. Proses pengembangan sistem secara umum dibagi kedalam fase/langkah yang sistematis. Model pengembangan sistem yang menekankan pada urutan sitematis langkah/tahapan kerja. Dikenal juga dengan nama Linear-Sequential Life Cycle Model, karena model ini menggambarkan pengembangan sistem dengan tahapan yang lurus  (tidak bercabang) dan dilakukan berurut. Setiap fase/langkah harus diselesaikan terlebih dahulu sebelum fase selanjutnya dilakukan. Hasil (output) dari fase yang dilakukaukan akan menjadi bahan masukan (input) pada fase berikutnya.

Tahapan Waterfall:

Requirements : Pada tahap ini dilakukan analisis pada sistem yang sedang digunakan oleh pengguna. Yang dilakukan pada tahap ini biasanya adalah wawancara, diskusi atau survei langsung. Data yang didapatkan dianalisis agar nantinya dapat diketahui kebutuhan informasi yang diharapkan oleh pengguna.

Design : Hasil dari fase requirements kemudian akan digunakan sebagai dasar dalam melakukan desain sistem secara umum yang didalamnya termasuk spesifikasi/fitur dari perangkat lunak yang akan dibuat, penentuan hardware requirements, dan arsitektur sistem secara keseluruhan.

Implementation : Pada tahap ini hasil dari perancangan mulai diaplikasikan kedalam program/aplikasi meng-gunakan bahasa pemrograman yang dipilih, namun program yang dibuat masih dalam sekala unit (modul atau form). Setiap unit juga diuji fungsionalitasnya (unit testing) agar pada tahapan selanjutnya unit-unit tersebut tidak bermasalah.

Testing (& Integration) : Pada tahap ini unit-unit yang telah dibuat mulai dijalankan menjadi satu kesatuan sistem dan pengujian dilakukan secara menyeluruh (dari awal sampai akhir) agar kendala/kesalahan yang mungkin terjadi dapat ditemukan.

Deployment : Setelah pengujian pada tahap sebelumnya selesai (dan tidak ada kendala yang ditemukan) maka pada tahap ini kita akan melakukan implementasi langsung terhadap lingkungan kerja sistem dari client kita. Program /aplikasi mulai digunakan secara langsung oleh bagian-bagian (entitas) yang berkaitan.

Maintenance : Merupakan tahapan dimana kita sebagai pengembang memelihara sistem/program aplikasi yang telah kita buat & implementasikan, jika terjadi beberapa masalah yang tidak terjadi sebelumnya maka itu menjadi tugas kita untuk menyelesaikan masalah tersebut (memberikan patch), begitu pula jika ada permintaan penambahan fitur atau versi yang lebih baik.


Kelebihan: 

  • Model yang relatif mudah untuk dipahami.
  • Jika semua tahap tidak menghadapi kendala maka jadwal pengembangan sistem lebih mudah ditentukan.
  • Karena pengerjaannya satu persatu maka dapat meminimalisir kesalahan yang terjadi.


Kekurangannya:

  • Proses pengembangan lama, dikarenakan pengerjaannya harus per-tahap sehingga jika terjadi kendala pada satu tahap maka tahap berikutnya akan terganggu jadwalnya.
  • Sifatnya kaku karena proses yang lambat dalam menanggapi perubahan.
  • Bukan model yang cocok untuk digunakan pada project dengan kesulitan yang complex.

Post a Comment

Previous Post Next Post