Kata “Rekayasa Perangkat Lunak” atau Software Engineering dalam Bahasa
Inggris terdiri dari kata “Rekayasa” dan “Perangkat Lunak”. Kata rekayasa
menurut kamus Bahasa Indonesia adalah penerapan kaidah-kaidah ilmu dalam
pelaksanaan (seperti perancangan, pembuatan kontstruksi, serta pengoperasian
kerangka, peralatan, dan system yang ekonomis dan efisien). (kamusbahasaindonesia.org).
Sedangkan perangkat lunak menurut definisi
yang ditulis Pressman [12] mengutip Fritz Bauer adalah pembuatan dan penggunaan
prinsip-prinsip penting rekayasa supaya pengguna bisa memperoleh perangkat
lunak secara murah yang dapat diandalkan dan bekerja secara efisien pada
mesin-mesin yang sesungguhnya.
Definisi Rekayasa Perangkat Lunak dari
berbagai literatur adalah: “Suatu disiplin ilmu yang membahas semua aspek
produksi perangkat lunak, mulai
dari tahap awal requirement capturing (analisa
kebutuhan pengguna), specification (menentukan spesifikasi
dari kebutuhan pengguna), desain, coding, testing sampai pemeliharaan sistem
setelah digunakan.”
Pressman [12] mengatakan bahwa:
IEEE
telah mengembangkan suatu definisi yang lebih komprehensif yaitu: Rekayasa
perangkat lunak pada dasarnya merupakan: (1) aplikasi dari suatu pendekatan
yang sistematik, disiplin, dan dapat diukur pada pengembangannya, operasi, dan
perawatan perangkat lunak; yaitu, penerapan rekayasa pada perangkat lunak. (2)
Studi pendekatan-pendekatan seperti pada (1).
Namun untuk membangun suatu perangkat lunak,
dibutuhkan suatu “pendekatan, disiplin, dan dapat diukur” yang diterapkan oleh
tim pengembang perangkat lunak.
Model
Air Terjun
Model rekayasa perangkat lunak yang klasik
dan tertua digunakan adalah Model Air Terjun (The Waterfall Model), dimana dalam merekayasa suatu perangkat lunak
melalui pendekatan yang sistematis dan berurutan. (Pressman [12])
Tahapan-tahapan pengembangan perangkat lunak
dengan permodelan air terjun adalah:
1.
Komunikasi
Meliputi
langkah-langkah: inisialisasi proyek dan pengumpulan spesifikasi kebutuhan dari
user. Tujuannya untuk menentukan spesifikasi
kebutuhan dan bagaimana sistem dapat membantu menyelesaikan
permasalahan.
2.
Perencanaan
Meliputi
langkah-langkah: estimasi, penjadwalan, dan pelacakan. Tujuannya untuk membuat
rencana untuk penjadwalan pengembangan aplikasi, mulai dari pembagian tugas
teknis, resiko, sumber daya yang dibutuhkan, dan jadwal rencana kerja.
3.
Permodelan
Meliputi
langkah-langkah: Analisa dan Desain. Tujuannya untuk mendapatkan dan
menstrukturkan kebutuhan sistem secara keseluruhan. Mengembangkan permodelan
yang dapat dipahami baik oleh pengembang (developer) maupun pengguna (user).
4.
Konstruksi
Meliputi
langkah-langkah: penulisan kode-kode
program dan pengujian (testing).
5.
Penyerahan sistem / perangkat lunak ke pelanggan / pengguna
Meliputi
langkah-langkah: instalasi dan percobaan (testing) unjuk kerja aplikasi untuk
dievaluasi dan diberikan umpan balik dari pengguna.
Komentar
Posting Komentar