Pengertian
Rekayasa perangkat lunak (RPL, atau dalam bahasa inggris:
Software Engineering atau
SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak
sebagai penerapan suatu pendekatan yang sistematis, disiplin dan
terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat
lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan
pendekatan
engineering atas perangkat lunak.
Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan,
memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa
untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan
efektif untuk pengguna.
Kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak:
- Dapat terus dirawat dan dipelihara(maintainability)
- Dapat mengikuti perkembangan teknologi(dependability)
- Dapat mengikuti keinginan pengguna(robust)
- Efektif dan efisien dalam menggunakan energi dan penggunaannya
- Dapat memenuhi kebutuhan yang diinginkan(usability)
Sejarah
1945 - 1965: Awal
Istilah
software engineering digunakan pertama kali pada akhir
1950-an dan awal 1960-an. Saat itu, masih terdapat debat tajam mengenai
aspek engineering dari pengembangan perangkat lunak.
Pada tahun 1968 dan 1969, komite sains NATO mensponsori dua
konferensi tentang rekayasa perangkat lunak, yang memberikan dampak kuat
terhadap perkembangan rekayasa perangkat lunak. Banyak yang menganggap
bahwa dua konferensi inilah yang menandai awal resmi profesi rekayasa
perangkat lunak. jangan pernah menganggap kalau software itu akn menjadi
yang terbaik karena itu adalah sebuah karya yang bersifat sementara.
1965 - 1985: krisis perangkat lunak
Pada tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para
praktisi pengembangan perangkat lunak. Banyak projek yang gagal, hingga
masa ini disebut sebagai krisis perangkat lunak.
Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari projek
yang melebihi anggaran, hingga kasus yang mengakibatkan kerusakan fisik
dan kematian. Salah satu kasus yang terkenal antara lain meledaknya
roket Ariane akibat kegagalan perangkat lunak.
1985 - kini: tidak ada senjata pamungkas
Selama bertahun-tahun, para peneliti memfokuskan usahanya untuk
menemukan teknik jitu untuk memecahkan masalah krisis perangkat lunak.
Berbagai teknik, metode, alat, proses diciptakan dan diklaim sebagai
senjata pamungkas untuk memecahkan kasus ini. Mulai dari pemrograman
terstruktur, pemrograman berorientasi object, perangkat pembantu
pengembangan perangkat lunak (
CASE tools), berbagai standar,
UML
hingga metode formal diagung-agungkan sebagai senjata pamungkas untuk
menghasilkan software yang benar, sesuai anggaran dan tepat waktu.
Pada tahun 1987, Fred Brooks menulis artikel
No Silver Bullet,
yang berproposisi bahwa tidak ada satu teknologi atau praktik yang
sanggup mencapai 10 kali lipat perbaikan dalam produktivitas
pengembangan perangkat lunak dalam tempo 10 tahun.
Sebagian berpendapat,
no silver bullet berarti profesi
rekayasa perangkat lunak dianggap telah gagal. Namun sebagian yang lain
justru beranggapan, hal ini menandakan bahwa bidang profesi rekayasa
perangkat lunak telah cukup matang, karena dalam bidang profesi lainnya
pun, tidak ada teknik pamungkas yang dapat digunakan dalam berbagai
kondisi.
RPL di Indonesia
Rekayasa Perangkat Lunak Di indonesia dijadikan disiplin ilmu yang dipelajari mulai tingkat Sekolah Menengah Kejuruan sampai tingkatan Perguruan Tinggi.
Di tingkat SMK, jurusan ini sudah memiliki kurikulum materi pelajaran
sendiri yang sudah ditentukan oleh Dinas Pendidikan. Rekayasa Perangkat
Lunak Di tingkat SMK biasanya mempelajari materi materi seperti Bahasa Pemrogrman, Desain Web, Pengetahuan tetang Undang Undang HAKI dan ITE, dan sebagainya, tergantung dari sekolah dan kurikulum tiap tahunnya.
Subdisiplin
- Kualitas perangkat lunak (software quality)
- Teknik kebutuhan peraangkat lunak (requirements engineering)
- Manajemen proyek perangkat lunak (project management)
- Pengujian perangkat lunak (software testing)
- Metode formal (formal methods)
- Penjaminan mutu perangkat lunak (software quality assurance)
- Verifikasi perangkat lunak (software verification)
- Perangkat lunak terdistribusi (distributed software engineering)
- Manajemen konfigurasi perangkat lunak (software configuration management)
- Perawatan perangkat lunak (software maintenance)
- Permodelan dan perancangan perangkat lunak (software design and modelling)
- Arsitektur perankat lunak (software architectures)
Sumber: https://id.wikipedia.org/wiki/Rekayasa_perangkat_lunak
Sekian Pembahasan tentang Mengenal REkayasa Perangkat Lunak.
Wassalamu'alaikum wr.wb
Read More