Los requerimientos de usuario proporcionan una descripción de alto nivel de los servicios que se espera que el sistema brinde y las restricciones bajo las cuales debe operar, usando lenguaje no técnico para ser comprensibles para los usuarios. Los requisitos del sistema describen detalladamente lo que el sistema debe hacer. La especificación de diseño de software establece una conexión entre la ingeniería de requerimientos y las actividades de diseño proporcionando una descripción intermedia de detalle.