Kamis, 06 September 2018

Metode Waterfall Berdasarkan Pressman 2015

Metode Waterfall Menurut Pressman (2015:42), model waterfall ialah model klasik yang bersifat sistematis, berurutan dalam membangun software. Nama model ini bahu-membahu ialah “Linear Sequential Model” . Model ini sering disebut juga dengan “classic life cycle” atau metode waterfall. Model ini termasuk ke dalam model generic pada rekayasa perangkat lunak dan pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak digunakan dalam Software Engineering (SE). Model ini melaksanakan pendekatan secara sistem atis dan berurutan. Disebut dengan waterfall alasannya tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berj alan berurutan. Fase-fase dalam Waterfall Model berdasarkan acuan Pressman :



Communication (Project Initiation & Requirements Gathering)
Sebelum memulai pekerjaan yang bersifat teknis, sangat diharapkan adanya komunikasi dengan customer demi memahami dan mencapai tujuan yang ingin dicapai. Hasil dari komunikasi tersebut ialah inisialisasi proyek, ibarat menganalisis permasalahan yang dihadapi dan mengumpulkan data-data yang diperlukan, serta membantu mendefinisikan fitur dan fungsi software. Pengumpulan data-data suplemen sanggup juga diambil dari jurnal, artikel, dan internet.
Planning (Estimating, Scheduling, Tracking)
Tahap berikutnya ialah tahapan perencanaan yang menjelaskan perihal estimasi tugas-tugas teknis yang akan dilakukan, resiko-resiko yang sanggup terjadi, sumber daya yang diharapkan dalam menciptakan sistem, produk kerja yang ingin dihasilkan, penjadwalan kerja yang akan dilaksanakan, dan tracking proses pengerjaan sistem.
Modeling (Analysis & Design)
Tahapan ini ialah tahap perancangan dan permodelan arsitektur sistem yang berfokus pada perancangan struktur data, arsitektur software, tampilan interface, dan algoritma program. Tujuannya untuk lebih memahami citra besar dari apa yang akan dikerjakan.
Construction (Code & Test)
Tahapan Construction ini merupakan proses penerjemahan bentuk desain menjadi aba-aba atau bentuk/bahasa yang sanggup dibaca oleh mesin. Setelah pengkodean selesai, dilakukan pengujian terhadap sistem dan juga aba-aba yang sudah dibuat. Tujuannya untuk menemukan kesalahan yang mungkin terjadi untuk nantinya diperbaiki.
Deployment (Delivery, Support, Feedback)
Tahapan Deployment merupakan tahapan implementasi software ke customer, pemeliharaan software secara berkala, perbaikan software, penilaian software, dan pengembangan softwareberdasarkan umpan balik yang diberikan supaya sistem sanggup tetap berjalan dan berkembang sesuai dengan fungsinya. (Pressman, 2015:17)

Kapan sebaiknya metode waterfall digunakan? Ada teori-teori yang menyimpulkan beberapa hal, yaitu :

  1. Ketika semua persyaratan yang diajukan sudah dipahami dengan baik pada awal pengembangan kegiatan 11 
  2. Definisi produk bersifat stabil dan tidak ada perubahan yang dilakukan ketika pengembangan untuk alasan apapun. Oleh alasannya itu, teknologi yang digunakan juga harus sudah dipahami dengan baik 
  3. Menghasilkan produk baru, atau produk dengan versi baru. Sebenarnya, kalau menghasilkan produk dengan versi gres 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 dianggap pendekatan yang lebih cocok digunakan untuk proyek pembuatan sistem gres dan juga pengembangan software dengan tingkat resiko yang kecil serta waktu pengembangan yang cukup lama. Tetapi salah satu kelemahan paling fundamental ialah menyamakan pengembangan hardware dan software dengan meniadakan perubahan ketika pengembangan. Padahal, error diketahui ketika software dijalankan, dan perubahan-perubahan akan sering terjadi.

Keuntungan memakai metode waterfall ialah prosesnya lebih terstruktur, hal ini menciptakan kualitas software baik dan tetap terjaga. Dari sisi user juga lebih menguntungkan, alasannya sanggup merencanakan dan menyiapkan kebutuhan data dan proses yang diharapkan semenjak awal. Penjadwalan juga menjadi lebih menentu, alasannya jadwal setiap proses sanggup ditentukan secara pasti. Sehingga sanggup dilihat terang sasaran penyelesaian pengembangan program. Dengan adanya urutan yang pasti, sanggup dilihat pula perkembangan untuk setiap tahap secara pasti. Dari sisi lain, model ini merupakan jenis model yang bersifat dokumen lengkap sehingga proses pemeliharaan sanggup dilakukan dengan mudah.

Kelemahan memakai metode waterfall ialah bersifat kaku, sehingga sulit melaksanakan perubahan di tengah proses. Jika terdapat kekurangan proses/prosedur dari tahap sebelumnya, maka tahapan pengembangan harus dilakukan mulai dari awal lagi. Hal ini akan memakan waktu yang lebih lama. Karena kalau proses sebelumnya belum selesai hingga akhir, maka proses selanjutnya juga tidak sanggup berjalan. Oleh alasannya itu, kalau terdapat kekurangan dalam usul user maka proses pengembangan harus dimulai kembali dari awal. Karena itu, sanggup dikatakan proses pengembangan software dengan metode waterfall bersifat lambat.

Kelemahan lainnya memakai metode waterfall ialah membutuhkan daftar kebutuhan yang lengkap semenjak awal. Tetapi, biasanya jarang sekali customer yang sanggup memenuhi itu. Untuk menghindari pengulangan tahap dari awal, user harus memperlihatkan seluruh prosedur, data, dan laporan yang diinginkan mulai dari tahap awal pengembangan. Tetapi pada banyak kondisi, user sering melaksanakan usul di tahap pertengahan pengembangan sistem. Dengan metode ini, maka development harus dilakukan mulai lagi dari tahap awal. Karena development diubahsuaikan dengan desain hasil user pada ketika tahap pengembangan awal. Di sisi lain, user tidak sanggup mencoba sistem sebelum sistem benar-benar selesai. Selain itu, kinerja personil menjadi kurang optimal alasannya terdapat proses menunggu suatu tahap selesai terlebih dahulu. Oleh alasannya itu, seringkali diharapkan personil yang “multi-skilled” sehingga minimal sanggup membantu pengerjaan untuk tahapan berikutnya. (Pressman, 2015:42-43)

Tidak ada komentar:

Posting Komentar