ScholarGate
Asistente

Ingeniería de Requisitos

La ingeniería de requisitos es la disciplina de descubrir, analizar, documentar, validar y gestionar lo que un sistema de software debe hacer y las restricciones bajo las cuales debe operar.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

La ingeniería de requisitos es el proceso sistemático de obtener, analizar, especificar, validar y gestionar los servicios que un sistema de software debe proporcionar y las restricciones en su operación y desarrollo.

Scope

Esta área abarca la obtención de las necesidades de los interesados; el análisis y la negociación de objetivos en conflicto; la distinción entre requisitos funcionales y no funcionales (de calidad); las técnicas de especificación que van desde declaraciones en lenguaje natural hasta modelos formales; la validación mediante revisión y prototipado; y la gestión de los cambios de requisitos y la trazabilidad a lo largo del ciclo de vida.

Sub-topics

Core questions

  • ¿Cómo se descubren y desambiguan las necesidades reales de los interesados?
  • ¿Cómo deben especificarse los requisitos funcionales y no funcionales de manera precisa pero comprensible?
  • ¿Cómo se detectan, negocian y resuelven los requisitos en conflicto?
  • ¿Cómo se validan los requisitos y se mantienen consistentes a medida que cambian?

Key theories

Requisitos funcionales versus no funcionales
Los requisitos se dividen en declaraciones funcionales de lo que el sistema debe hacer y restricciones no funcionales (de calidad) como el rendimiento, la seguridad y la usabilidad que a menudo afectan a todo el sistema e impulsan la arquitectura.
Ingeniería de requisitos orientada a objetivos
Los sistemas se analizan en términos de objetivos de los interesados que se refinan en subobjetivos y se operacionalizan en requisitos, proporcionando una justificación, detección de conflictos y trazabilidad desde la intención de alto nivel hasta las funciones del sistema.

Clinical relevance

Los errores en los requisitos se encuentran entre los defectos más costosos porque se propagan al diseño y al código; una ingeniería de requisitos rigurosa reduce la reelaboración, alinea el software entregado con las necesidades de los interesados y proporciona la base para las pruebas de aceptación y el acuerdo contractual.

Evidence & guidelines

La norma ISO/IEC/IEEE 29148 especifica los procesos de ingeniería de requisitos y el contenido de las especificaciones de requisitos, y el área de conocimiento de Requisitos de Software de SWEBOK proporciona una referencia consensuada.

History

La ingeniería de requisitos pasó de los métodos de análisis estructurado de la década de 1970 a una subdisciplina reconocida en la década de 1990, marcada por conferencias dedicadas (RE) y revistas, el auge del modelado basado en objetivos y escenarios, y una creciente atención a los requisitos no funcionales y la negociación con los interesados.

Debates

Requisitos iniciales versus requisitos emergentes
La práctica impulsada por el plan favorece la especificación exhaustiva de los requisitos antes de la construcción, mientras que la práctica ágil trata los requisitos como emergentes y refinados a través de la iteración; la compensación depende de la volatilidad, las restricciones contractuales y el costo del cambio tardío.

Key figures

  • Axel van Lamsweerde
  • Bashar Nuseibeh
  • Steve Easterbrook
  • Michael Jackson

Related topics

Seminal works

  • vanlamsweerde2009
  • nuseibeh2000
  • sommerville2015

Frequently asked questions

¿Por qué los errores en los requisitos son tan costosos?
Un requisito malentendido o faltante a menudo se descubre tarde, después de que el diseño y el código se han construido sobre él, por lo que corregirlo requiere deshacer el trabajo posterior; los estudios empíricos muestran consistentemente que el costo de corregir un defecto aumenta drásticamente cuanto más tarde se encuentra.
¿Los proyectos ágiles realizan ingeniería de requisitos?
Sí, pero de manera diferente. Los proyectos ágiles obtienen, analizan y validan los requisitos continuamente a través de historias de usuario, refinamiento del backlog y retroalimentación frecuente en lugar de producir un gran documento de especificación de antemano.

Methods for this concept

Related concepts