SRS(software requirements specification) o ERS (Especificación de requerimientos de software) es un conjunto de recomendaciones para la especificación de los requerimiento o requisitos de software el cuál tiene como producto final la documentación de los acuerdos entre el cliente y el grupo de desarrollo para así cumplir con la totalidad de exigencias estipuladas.
Expresan la naturaleza del funcionamiento del sistema (cómo interacciona el sistema con su entorno y cuáles van a ser su estado y funcionamiento).
NOTA: A veces, también es conveniente indicar lo que no hará el sistema.
Restricciones sobre el espacio de posibles soluciones.
A los requisitos no funcionales se les suele llamar coloquialmente “cualidades” del sistema [“-ilities” en inglés”] y pueden dividirse en dos categorías:
Cualidades de ejecución, como la seguridad o la usabilidad, observables en tiempo de ejecución.
Cualidades de evolución, como la “testabilidad”, mantenibilidad, extensibilidad o escalabilidad, determinadas por la estructura estática del software.
La distinción entre requerimientos funcionales y no funcionales no siempre resulta evidente.
Ejemplo: La seguridad puede interpretarse inicialmente como un requerimiento no funcional al principio. No obstante, su elaboración puede conducir a nuevos requerimientos funcionales, como la necesidad de autentificar a los usuarios del sistema.
Más allá de si decidimos incluir este tipo de requisitos en una sección u otra, lo importante es identificarlos correctamente.
@m4g5