Una especificación de requisitos de software ( SRS ) es una descripción de un sistema de software que se desarrollará . Se basa en la especificación de requisitos comerciales ( CONOPS ) , también conocida como especificación de requisitos de las partes interesadas (StRS) . [ cita requerida ] La especificación de requisitos de software establece requisitos funcionales y no funcionales , y puede incluir un conjunto de casos de uso que describen las interacciones del usuario que el software debe proporcionar al usuario para una interacción perfecta.
La especificación de requisitos de software establece la base para un acuerdo entre clientes y contratistas o proveedores sobre cómo debe funcionar el producto de software (en un proyecto impulsado por el mercado, estas funciones pueden ser desempeñadas por las divisiones de marketing y desarrollo). La especificación de requisitos de software es una evaluación rigurosa de los requisitos antes de las etapas de diseño del sistema más específicas, y su objetivo es reducir el rediseño posterior. También debe proporcionar una base realista para estimar los costos, riesgos y cronogramas de los productos. [1] Si se usan adecuadamente, las especificaciones de requisitos de software pueden ayudar a prevenir fallas en los proyectos de software. [2]
El documento de especificación de requisitos de software enumera los requisitos suficientes y necesarios para el desarrollo del proyecto. [3] Para derivar los requisitos, el desarrollador debe tener una comprensión clara y completa de los productos en desarrollo. Esto se logra mediante comunicaciones detalladas y continuas con el equipo del proyecto y el cliente durante todo el proceso de desarrollo de software.
El SRS puede ser una de las descripciones de elementos de datos entregables de un contrato [4] o tener otras formas de contenido ordenado por la organización.
Normalmente, un SRS lo escribe un redactor técnico , un arquitecto de sistemas o un programador de software . [5]
Estructura
Un ejemplo de organización de un SRS es el siguiente: [6]
- Propósito
- Definiciones
- Fondo
- Resumen del sistema
- Referencias
- Descripción general
- Perspectiva del producto
- Restricciones de diseño
- Operaciones
- Requisitos de adaptación del sitio
- Funciones del producto
- Caracteristicas del usuario
- Restricciones, supuestos y dependencias
- Requisitos específicos
- Requisitos de interfaz externa
- Requisitos de desempeño
- Requisito de base de datos lógica
- Atributos del sistema de software
- Fiabilidad
- Disponibilidad
- Seguridad
- Mantenibilidad
- Portabilidad
- Requerimientos funcionales
- Partición funcional
- Descripcion funcional
- Descripción de control
- Características ambientales
- Otro
Metas
La especificación de requisitos de software (SRS) es una herramienta de comunicación entre los usuarios y los diseñadores de software. Los objetivos específicos del SRS son los siguientes:
- Facilitar revisiones
- Describiendo el alcance del trabajo
- Proporcionar una referencia a los diseñadores de software (es decir, ayudas a la navegación, estructura del documento)
- Proporcionar un marco para probar casos de uso primarios y secundarios.
- Incluyendo características a los requisitos del cliente
- Proporcionar una plataforma para el perfeccionamiento continuo (a través de especificaciones o preguntas incompletas)
Requisitos de olor
Siguiendo la idea de los olores del código , se ha propuesto la noción de olor a requisitos para describir problemas en la especificación de requisitos donde el requisito no es necesariamente incorrecto pero podría ser problemático. [7]
Ejemplos de olores de requisitos son el lenguaje subjetivo , los adverbios y adjetivos ambiguos , los superlativos y las declaraciones negativas . [7]
Ver también
- Especificación de requisitos del sistema
- Concepto de operaciones
- Ingeniería de requisitos
- Cuerpo de conocimientos de ingeniería de software (SWEBOK)
- Especificación de diseño
- Especificación (estándar técnico)
- Especificación formal
- Tipo abstracto
Referencias
- ↑ Bourque, P .; Fairley, RE (2014). "Guía del conocimiento de la ingeniería de software (SWEBOK)" . Sociedad de Informática IEEE . Consultado el 17 de julio de 2014 .
- ^ "La especificación de requisitos de software ayuda a proteger los proyectos de TI de fallas" . Consultado el 19 de diciembre de 2016 .
- ^ Pressman, Roger (2010). Ingeniería de software: el enfoque de un practicante . Boston: McGraw Hill. pag. 123. ISBN 9780073375977.
- ^ "DI-IPSC-81433A, ELEMENTO DE DATOS DESCRIPCIÓN ESPECIFICACIÓN DE REQUISITOS DE SOFTWARE (SRS)" . everyspec.com. 1999-12-15 . Consultado el 4 de abril de 2013 .
- ^ Donn Le Vie, Jr. "Escribir especificaciones de requisitos de software (SRS)" . 2010.
- ^ Stellman, Andrew y Greene, Jennifer (2005). Gestión de proyectos de software aplicado . O'Reilly Media, Inc. pág. 308. ISBN 978-0596009489.
- ^ a b Femmer, Henning; Méndez Fernández, Daniel; Wagner, Stefan; Eder, Sebastián (2017). "Aseguramiento rápido de la calidad con olores de requisitos". Revista de sistemas y software . 123 : 190–213. arXiv : 1611.08847 . doi : 10.1016 / j.jss.2016.02.047 . S2CID 9602750 .
enlaces externos
- 830-1984 - Guía IEEE para especificaciones de requisitos de software . 1984. doi : 10.1109 / IEEESTD.1984.119205 . ISBN 978-0-7381-4418-4.
- 830-1993 - Práctica recomendada por IEEE para especificaciones de requisitos de software . 1994. doi : 10.1109 / IEEESTD.1994.121431 . ISBN 978-0-7381-4723-9.
- 830-1998 - Práctica recomendada por IEEE para especificaciones de requisitos de software . 1998. doi : 10.1109 / IEEESTD.1998.88286 . ISBN 978-0-7381-0332-7. S2CID 8674647 .
- 29148-2018 - Ingeniería de sistemas y software - Procesos del ciclo de vida - Ingeniería de requisitos . Iso / Iec / IEEE 29148: 2018 (E) . 2018. págs. 1–94. doi : 10.1109 / IEEESTD.2011.6146379 . ISBN 978-0-7381-6591-2.("Este estándar reemplaza a IEEE 830-1998, IEEE 1233-1998, IEEE 1362-1998 - http://standards.ieee.org/findstds/standard/29148-2011.html ")
- Leffingwell, decano; Widrig, Don (2003). Gestión de requisitos de software: un enfoque de caso de uso (2ª ed.). Addison-Wesley. ISBN 978-0321122476.
- Gottesdiener, Ellen (2009). Memory Jogger de requisitos de software: una guía de escritorio para ayudar a los equipos comerciales y técnicos a desarrollar y administrar los requisitos . Addison-Wesley. ISBN 978-1576811146.
- Wiegers, Karl; Beatty, alegría (2013). Requisitos de software, tercera edición . Microsoft Press. ISBN 9780735679665.
- "Plantilla IEEE SRS - rick4470 / IEEE-SRS-Tempate" . Consultado el 27 de diciembre de 2017 .
[1]
- ^ Taaffe, Ed. "Señor" . el puente . Consultado el 2 de febrero de 2019 .