Descripción de un sistema de software a desarrollar
Una especificación de requisitos de software ( SRS ) es una descripción de un sistema de software que se va a desarrollar . Se basa en la especificación de requisitos comerciales (CONOPS) . La especificación de requisitos de software establece los 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.
Las especificaciones de requisitos de software establecen 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 de sistemas más específicos, y su objetivo es reducir el rediseño posterior. También debe proporcionar una base realista para estimar los costos, riesgos y cronogramas del producto. [1] Si se utilizan adecuadamente, las especificaciones de requisitos de software pueden ayudar a prevenir el fracaso de un proyecto de software. [2]
El documento de especificación de requisitos del software enumera los requisitos necesarios y suficientes para el desarrollo del proyecto. [3] Para obtener 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 del software.
El SRS puede ser una de las descripciones de elementos de datos entregables de un contrato [4] o tener otras formas de contenido exigido por la organización.
Normalmente, un SRS lo escribe un escritor 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]
- Objetivo
- Definiciones
- Fondo
- Descripción general del sistema
- Referencias
- Descripción general
- Perspectiva del producto
- Interfaces del sistema
- Interfaces de usuario
- Interfaces de hardware
- Interfaces de software
- Interfaces de comunicación
- Restricciones de memoria
- Restricciones de diseño
- Operaciones
- Requisitos de adaptación del sitio
- Funciones del producto
- Características del usuario
- Restricciones, suposiciones 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
- Requisitos funcionales
- Particionamiento funcional
- Descripción funcional
- Descripción del control
- Características del entorno
- Hardware
- Periféricos
- Usuarios
- Otro
Los requisitos huelen
Siguiendo la idea de los olores del código , se ha propuesto la noción de olor de 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 requisitos que huelen son el lenguaje subjetivo , los adverbios y adjetivos ambiguos , los superlativos y las afirmaciones negativas . [7]
Véase también
Referencias
- ^ Bourque, P.; Fairley, RE (2014). "Guía del conjunto de conocimientos de ingeniería de software (SWEBOK)". IEEE Computer Society. Archivado desde el original el 28 de diciembre de 2014. Consultado el 17 de julio de 2014 .
- ^ "La especificación de requisitos de software ayuda a proteger los proyectos de TI del fracaso" . Consultado el 19 de diciembre de 2016 .
- ^ Pressman, Roger (2010). Ingeniería de software: un enfoque práctico . Boston: McGraw Hill. pág. 123. ISBN 9780073375977.
- ^ "DI-IPSC-81433A, ESPECIFICACIÓN DE REQUISITOS DE SOFTWARE (SRS) PARA LA DESCRIPCIÓN DE ELEMENTOS DE DATOS". everyspec.com. 1999-12-15 . Consultado el 2013-04-04 .
- ^
Donn Le Vie, Jr. "Cómo escribir especificaciones de requisitos de software (SRS)". 2010.
- ^ Stellman, Andrew y Greene, Jennifer (2005). Gestión de proyectos de software aplicados . O'Reilly Media, Inc., pág. 308. ISBN 978-0596009489.
- ^ ab Femmer, Henning; Méndez Fernández, Daniel; Wagner, Stefan; Eder, Sebastian (2017). "Aseguramiento rápido de la calidad con Requirements Smells". Revista de sistemas y software . 123 : 190–213. arXiv : 1611.08847 . doi :10.1016/j.jss.2016.02.047. S2CID 9602750.
Enlaces externos
- Guía IEEE para especificaciones de requisitos de software . 1984. doi :10.1109/IEEESTD.1984.119205. ISBN 978-0-7381-4418-4.
- Práctica recomendada por el IEEE para especificaciones de requisitos de software . 1994. doi :10.1109/IEEESTD.1994.121431. ISBN 978-0-7381-4723-9.
- Práctica recomendada por el IEEE para especificaciones de requisitos de software . 1998. doi :10.1109/IEEESTD.1998.88286. ISBN 978-0-7381-0332-7.S2CID8674647 .
- Ingeniería de sistemas y software -- Procesos del ciclo de vida -- Ingeniería de requisitos. Iso/Iec/IEEE 29148:2018(E). 2018. pp. 1–94. doi :10.1109/IEEESTD.2011.6146379. ISBN 978-0-7381-6591-2.("Esta norma reemplaza a IEEE 830-1998, IEEE 1233-1998, IEEE 1362-1998 - [1]")
- Leffingwell, Dean; Widrig, Don (2003). Gestión de requisitos de software: un enfoque de casos de uso (2.ª ed.). Addison-Wesley. ISBN 978-0321122476.
- Gottesdiener, Ellen (2009). El programa para aprender a recordar los requisitos de software: una guía de escritorio para ayudar a los equipos comerciales y técnicos a desarrollar y gestionar los requisitos . Addison-Wesley. ISBN 978-1576811146.
- Wiegers, Karl; Beatty, Joy (2013). Requisitos de software, tercera edición . Microsoft Press. ISBN 9780735679665.
- "Plantilla IEEE SRS - rick4470/IEEE-SRS-Tempate". GitHub . Consultado el 27 de diciembre de 2017 .
- ¿Cómo escribir una especificación de requisitos de software para ahorrar costes?
[1]
- ^ Taaffe, Ed. "Sr." thebridger . Consultado el 2 de febrero de 2019 .