Rekayasa perangkat lunak
Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak 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.[1]
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:
1. dapat terus dirawat dan dipelihara(maintainability)
2. dapat mengikuti perkembangan teknologi(dependability)
3. dapat mengikuti keinginan pengguna(robust)
4. efektif dan efisien dalam menggunakan energi dan penggunaannya
5. dapat memenuhi kebutuhan yang diinginkan(usability)
Sejarah
Istilah software engineering, pertama kali digunakan pada akhir tahun 1950-an dan sekitar awal 1960-an. Pada tahun 1968, NATO menyelenggarakan konferensi tentang software engineering di Jerman dan kemudian dilanjutkan pada tahun 1969. Meski penggunaan kata software engineering masukan konferensi tersebut menimbulkan debat tajam tentang aspek engineering dari pengembangan perangkat lunak, banyak pihak yang menganggap konferensi tersebutlah yang menjadi awal tumbuhnya profesi rekayasa perangkat lunak
Subdisiplin
- Kualitas perangkat lunak (software quality)
- Teknik kebutuhan perangkat 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 perangkat lunak (software architectures)
Referensi
- ^ SWEBOK executive editors, Alain Abran, James W. Moore ; editors, Pierre Bourque, Robert Dupuis. (2004). Pierre Bourque and Robert Dupuis, ed. Guide to the Software Engineering Body of Knowledge - 2004 Version. IEEE Computer Society. hlm. 1–1. ISBN 0-7695-2330-7.