Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini
sering disebut dengan “classic life cycle” atau model waterfall. Model
ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970
sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak
dipakai didalam Software Engineering (SE). 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. Sebagai contoh tahap desain harus menunggu selesainya tahap
sebelumnya yaitu tahap requirement. Secara umum tahapan pada model
waterfall dapat dilihat pada gambar berikut :
Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman:
-
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.
-
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.
-
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.
-
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.
-
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.
Pengembangan
Perangkat Lunak Model - Waterfall Model Siklus Hidup
Pada tahap pertama ini terjun model diagram ,
ada pertemuan dengan pelanggan, memahami kebutuhan. Tahap pertama, ini
dikatakan sebagai tahap yang paling penting, karena setiap miskomunikasi dan
salah tafsir pada tahap ini dapat menimbulkan perangkat lunak, yang sedang dikembangkan.
Bila persyaratan telah mencatat, penting untuk memastikan persyaratan yang
rinci dan akurat dan tidak ada tempat untuk ambiguitas. Memahami kebutuhan dan
harapan pelanggan benar akan memastikan, bahwa produk akhir memenuhi
spesifikasi.
Analisis Kebutuhan dan Perencanaan Proyek
Pada tahap pertama ini terjun model diagram , ada pertemuan dengan pelanggan,
memahami kebutuhan. Tahap pertama, ini dikatakan sebagai tahap yang paling
penting, karena setiap miskomunikasi dan salah tafsir pada tahap ini dapat
menimbulkan perangkat lunak, yang sedang dikembangkan. Bila persyaratan telah
mencatat, penting untuk memastikan persyaratan yang rinci dan akurat dan tidak
ada tempat untuk ambiguitas. Memahami kebutuhan dan harapan pelanggan benar
akan memastikan, bahwa produk akhir memenuhi spesifikasi.
Desain Sistem
Persyaratan, yang berkumpul di fase sebelumnya dipecah menjadi unit logis,
sehingga proses perangkat lunak menjadi mudah untuk implementasi. Ini adalah
panggung, ketika persyaratan perangkat lunak bersama dengan persyaratan
perangkat keras untuk setiap unit diidentifikasi. Kemudian desain yang dibuat
sesuai. Keterkaitan antara berbagai unit perangkat lunak diidentifikasi dan
sambungan dibuat, menggunakan algoritma dan diagram. Untuk jumlah itu, ini adalah
fase, di mana pekerjaan fundamental untuk pemrograman aktual dan pelaksanaannya
dilakukan.
Implementasi Sistem
Pada fase ini perkembangan aktual dari perangkat lunak berlangsung. Fase ini
juga dikenal sebagai coding dan fase verifikasi. Berdasarkan algoritma ditulis
dalam tahap sebelumnya, program perangkat lunak ditulis. Untuk setiap modul,
kode perangkat lunak ditulis dan diuji, untuk memeriksa apakah output yang
benar diterima.
Sistem Integrasi dan Pengujian
Sekarang semua modul yang terintegrasi, setelah perangkat lunak diuji untuk
output yang benar. Semua bug, yang dibuat, karena integrasi dihapus. Kemudian
pengujian perangkat lunak dilakukan lagi. Mereka biasanya serangkaian tes, yang
dijalankan untuk memeriksa kinerja perangkat lunak, dan juga untuk menemukan
jika ada bug baru diperkenalkan ke dalam sistem, setelah sebelumnya bug yang
diperbaiki. Jika ada lebih banyak kesalahan memang ada, bug yang diperbaiki
hanya untuk diuji ulang. Model air terjun dalam pengujian diikuti, membuat bug
perangkat lunak bebas, sejauh mungkin.
Sistem Deployment dan Pemeliharaan
Hal ini membuat untuk tahap akhir dari model air terjun, di mana perangkat
lunak ini digunakan di sisi klien, setelah itu telah mengalami pengujian
menyeluruh. Setelah penyebaran perangkat lunak, pekerjaan pemeliharaan rutin
dilakukan. Setelah perangkat lunak telah dikerahkan, dalam kasus pelanggan
meminta perubahan atau tambahan, maka seluruh proses restart.
Ada berbagai model yang kelebihan dan kekurangan air terjun. Keuntungan
terbesar dari model ini adalah bahwa, tahapan selesai satu per satu. Namun,
kerugian terbesar adalah bahwa itu sulit, ketika perubahan harus dibuat untuk
sistem. Untuk meringkas terjun model siklus hidup singkat, model ini mewajibkan
seseorang bergerak dari satu fase ke yang lain, hanya setelah tahap sebelumnya
selesai memuaskan. Pada saat yang sama, tidak boleh dilupakan, bahwa berbagai
model air terjun mungkin termasuk sedikit variasi atau besar dalam proses.
Keuntungan Model Waterfall
- Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
- Document pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen tertentu.
- Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
Kelemahan Model Waterfall
- Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.
- Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan yang berakibat pada tahapan selanjutnya.
- Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidak pastian pada saat awal pengembangan.
- Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.
- Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi menyebabkan masalah baru.
Tidak ada komentar:
Posting Komentar