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.

Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud.

beberapa contoh macam perangkat lunak, yaitu:
Perangkat Lunak Aplikasi (application software) seperti pengelolaan kata, lembar tabel hitung, pemutar media, dan paket aplikasi perkantoran seperti operating system misalnya Linux Ubuntu, Microsoft Windows, Free BSD, Unix, Mac OS Perkakas pengembangan perangkat lunak (software development tool) seperti kompilator untuk bahasa pemrograman tingkat tinggi seperti pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan.
Pengendali perangkat keras (device driver) yaitu penghubung antara perangkat perangkat keras pembantu dan komputer adalah software yang banyak dipakai di swalayan dan juga sekolah, yaitu penggunaan barcode scanner pada aplikasi database lainnya.
Perangkat lunak menetap (firmware) seperti yang dipasang dalam jam tangan digital dan pengendali jarak jauh. Perangkat lunak bebas (free ‘libre’ software) dan Perangkat lunak sumber terbuka (open source software) Perangkat Lunak Gratis (freeware) Perangkat Lunak Uji Coba (shareware / ‘trialware) Perangkat lunak perusak (malware)

Garis Besar Kerangka Kurikulum REKAYASA PERANGKAT LUNAK:
Personal Komputer & Jaringan (merakit, instalasi dan menggunakan sistem operasi)
Menggunakan Bahasa Pemrograman Komputer (Desktop/Web) Merancang,
membuat dan mengelola aplikasi pengelolaan data

Tingkatan Sumber Daya Manusia dalam Bidang RPL :
User/Pengguna Oprator
Junior Programmer
Senior Programmer
Analist