La ingeniería de requerimientos es el proceso de recopilar, analizar y verificar las necesidades del cliente para un sistema de software. Tiene como objetivo entregar una especificación de requerimientos correcta y completa. Incluye actividades como la extracción de requerimientos, análisis, especificación y validación. Existen herramientas como RequisitePro, DOORS y REM que apoyan esta disciplina.