La ingeniería de requisitos comprende todas las tareas relacionadas con determinar las necesidades y condiciones para un software nuevo o modificado. El propósito es documentar requisitos funcionales y no funcionales para alcanzar un estado óptimo antes del diseño. Esto implica identificar, analizar, documentar y validar requisitos a través de actividades como la elicitación de usuarios, el análisis de requisitos y la especificación.