Metode Waterfall

Pada kali ini , saya akan memposting materi kuliah mengenai Model pengembangan perangkat lunak yang diajarkan selama di mata kuliah Rekayasa Perangkat Lunak pada semester 3 di Jurusan Teknik Informatika Universitas Pasundan Bandung . Yaitu Mengenai Model Waterfall . Berikut penjelasan mengenai Model Waterfall.



Metode Waterfall

Menurut Pressman (2015:42) , model waterfall adalah model klasik yang bersifat sistematis , berurutan dalam membangun sebuah software . Nama model ini sebenarnya adalah "Linear Sequential Model" . Model ini termasuk ke dalam model generic pada rekayasa perangkat lunak dan pertama kali model waterfall ini diperkenalkan oleh Winston Royce pada tahun 1970 . Meskipun sering dianggap kuno , tetapi model waterfall ini merupakan model yang paling banyak dipakai dalam Software Engineering (SE) . Model Waterfall ini melakukan pendekatan secara sistematis dan berurutan . Model ini disebut dengan model Waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.

Fase - Fase dalam Model Waterfall

Diantaranya adalah Communication , Planning , Modelling , Construction , Deployment.
Fase - Fase dalam Model Waterfall

A . Communication (Project Initiation & Requirements Gathering)

Sebelum memulai pekerjaan yang bersifat teknis , sangat diperlukan adanya komunikasi dengan customer demi memahami dan mencapai tujuan yang ingin dicapai . Hasil dari komunikasi tersebut adalah inisialisasi proyek , seperti menganalisis permasalahan yang dihadapi dan mengumpulkan data-data yang diperlukan , serta membantu mendefinisikan fitur dan fungsi software . Pengumpulan data-data tambahan bisa juga diambil dari jurnal,artikerl dan internet.

B . Planning (Estimating , Schedulling , Tracking)

Tahap selanjutnya adalah tahap perencanaan yang menjelaskan mengenai estimasi tugas-tugas teknis yang akan dilakukan , resiko - resiko yang dapat terjadi , sumber daya yang diperlukan dalam membuat sistem , produk kerja yang ingin dihasilkan , penjadwalan kerja yang akan dilaksananakan , dan tracking proses pengerjaan sistem .

C . Modelling (Analysis & Design)

Tahap ini adalah tahap perancangan dan pemodelan arsitektur sistem yang berfokus pada perancangan struktur data , arsitektur software , tampilan interface dan algoritma program . tujuannya untuk lebih memahami gambaran besar dari apa yang akan dikerjakan.

D . Construction (Coding & Testing)

Tahapan Construction ini merupakan proses penerjemahan bentuk desain menjadi kode atau bentuk atau bahasa yang dapat dibaca oleh mesin . Setelah pengkodean selesai , dilakukan pengujian terhadap sistem dan juga kode yang sudah dibuat . tujuannya untuk menemukan kesalahan yang mungkin terjadi untuk nantinya diperbaiki

E . Deployment (Delivery , Support , Feedback)

Tahapan Deployment merupakan tahapan implementasi perangkat lunak ke customer , melakukan maintenance (perawatan perangkat lunak) secara berkala , perbaikan software , evaluasi software dan pengembangan software berdasarkan umpan balik yang diberikan agar sistem dapat tetap berjalan dan berkembang sesuai dengan fungsinya



Kelebihan Model Waterfall

  1. Prosesnya lebih terstruktur , hal ini membuat kualitas software baik dan tetap terjaga.
  2. Dari sisi user juga lebih menguntungkan , karena dapat merencanakan dan menyiapkan kebutuhan data dan proses yang diperlukan sejak awal.
  3. Penjadwalan juga menjadi lebih menentu , karena jadwal setiap proses dapat ditentukan secara pasti . sehingga dapat dilihat jelas target penyelesaian pengembangan program.
  4. Dengan adanya urutan yang pasti , dapat dilihat pula perkembangan untuk setiap tahap secara pasti.
  5. Model ini merupakan jenis model yang bersifat dokumen lengkap sehingga proses pemeliharaan dapat dilakukan dengan mudah.

Kelemahan Model Waterfall

  1. Bersifat Kaku , sehingga sulit melakukan perubahan di tengah proses.Jika terdapat kekurangan proses atau prosedur dari tahap sebelumnya , maka tahapan pengembangan harus dimulai dari awal lagi . Hal tersebut akan memakan waktu yang lebih lama. Jika proses sebelumnya belum selesai sampai akhir maka proses selanjutnya juga tidak dapat berjalan. Oleh karena itu , jika terdapat kekurangan dalam permintaan user maka proses pengembangan harus dimulai dari awal lagi.
  2. Membutuhkan daftar kebutuhan yang lengkap sejak awal . Untuk menghindari pengulangan tahap dari awal , user harus memberikan seluruh prosedur , data dan laporan yang diinginkan mulai dari tahap awal pengembangan .
  3. User tidak dapat mencoba sistem sebelum benar - benar selesai.
  4. Kinerja personil menjadi kurang optimal karena terdapat proses menunggu suaru tahap selesai terlebih dahulu . oleh karena itu , seringkali diperlukan personil yang "multi-skilled" sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.

Kapan Sebaiknya Model Waterfall Digunakan ?

  1. Ketika semua persyaratan yang diajukan sudah dipahami dengan baik pada awal pengembangan program.
  2. Definisi produk bersifat stabil dan tidak ada perubahan yang dilakukan saat pengembangan untuk alasan apapun . Oleh karena itu , teknologi yang digunakan juga harus sudah dipahami dengan baik.
  3. Menghasilkan produk baru , atau produk dengan versi baru . sebenarnya , jika menghasilkan produk dengan versi baru , maka itu sudah termasuk incremental development , yang setiap tahapannya sama dengan metode waterfall kemudian diulang - ulang.
  4. Port-ing produk yang sudah ada ke dalam platform baru.
Dengan demikian , metode waterfall ini dianggap sebegai pendekatan yang lebih cocok digunakan untuk proyek pembuatan sistem baru dan juga pengembangan software dengan tingkat resiko yang kecil serta waktu pengembangan yang cukup lama . Tetapi salah satu kelemahan paling mendasar adalah menyamakan pengembangan hardware dan software dengan meniadakan perubahan saat pengembangan . Padahal , error diketahui saat software dijalankan dan perubahan - perubahan akan sering terjadi .


sekian postingan mengenai Model Waterfall kali ini . semoga bermanfaat


Sumber : Pressman , edisi 2015.
Previous
Next Post »
Thanks for your comment