Model ini
melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan
sistem lalu menuju ke tahap analisis, desain, coding, testing / verification,
dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui
harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
Tahap-tahap
Model Waterfall Menurut Pressman
1. System
/ Information Engineering and Modeling.
Permodelan ini diawali dengan mencari
kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk
software. Hal ini sangat penting, mengingat software harus dapat berinteraksi
dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini
sering disebut dengan Project Definition.
Software
Requirements Analysis.
Proses pencarian kebutuhan
diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program
yang akan dibuat, maka para software engineer harus mengerti tentang domain
informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb.
Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan
dan ditunjukkan kepada pelanggan.
2. Design.
Proses ini digunakan untuk mengubah
kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint”
software sebelum coding dimulai. Desain harus dapat mengimplementasikan
kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas
sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi
dari software.
3. Coding.
Untuk
dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi
harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu
ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan
implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh
programmer.
4. Testing
/ Verification.
Sesuatu
yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua
fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan
hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan
sebelumnya.
5.
Maintenance.
Pemeliharaan
suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena
software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan
mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada
penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan
diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada
pergantian sistem operasi, atau perangkat lainnya.
Keunggulan
waterfall :
Document
pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan
dengan lengkap sebelum melangkah ke faseberikutnya.
Kekurangan
waterfall :
1. Ketika
problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan
selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan
dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar
problem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktu
pengerjaan SE.
2. Karena
pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari
tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian
lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap
sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama
pengerjaannya.
3. Pada
setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-masing.
Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber
dayanya juga tidak terpakai lagi. Oleh karena itu, seringkali pada model proses
ini dibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantu
pengerjaan untuk tahapan berikutnya.
No comments:
Post a Comment