Rekayasa Perangkat Lunak atau Rekayasa Peranti Lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan peranti lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan peranti lunak dan manajemen mutu.
IEEE Computer Society mendefinisikan rekayasa peranti lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan peranti lunak, serta kajian atas pendekatan-pendekatan ini, yaitu penerapan pendekatan rekayasa atas peranti lunak.[1]
Rekayasa peranti lunak adalah pengubahan peranti lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip rekayasa untuk menghasilkan peranti lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
Sebuah peranti lunak juga sering disebut dengan sistem peranti lunak karena dapat terdiri dari banyak modul-modul maupun bagian-bagian dari program komputer yang berbeda di berbagai lingkungan pengembangan. Sistem berarti kumpulan komponen yang saling terkait dan mempunyai satu tujuan yang ingin dicapai [2].
Kriteria yang dapat digunakan sebagai acuan dalam merekayasa peranti lunak: