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
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
- Prosesnya lebih terstruktur , hal ini membuat kualitas software baik dan tetap terjaga.
- Dari sisi user juga lebih menguntungkan , karena dapat merencanakan dan menyiapkan kebutuhan data dan proses yang diperlukan sejak awal.
- Penjadwalan juga menjadi lebih menentu , karena jadwal setiap proses dapat ditentukan secara pasti . sehingga dapat dilihat jelas target penyelesaian pengembangan program.
- Dengan adanya urutan yang pasti , dapat dilihat pula perkembangan untuk setiap tahap secara pasti.
- Model ini merupakan jenis model yang bersifat dokumen lengkap sehingga proses pemeliharaan dapat dilakukan dengan mudah.
Kelemahan Model Waterfall
- 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.
- 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 .
- User tidak dapat mencoba sistem sebelum benar - benar selesai.
- 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 ?
- Ketika semua persyaratan yang diajukan sudah dipahami dengan baik pada awal pengembangan program.
- 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.
- 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.
- 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.
sekian postingan mengenai Model Waterfall kali ini . semoga bermanfaat
Sumber : Pressman , edisi 2015.
ConversionConversion EmoticonEmoticon