La ingeniería de requisitos ( RE ) [1] es el proceso de definir, documentar y mantener los requisitos [2] en el proceso de diseño de ingeniería . Es un papel común en la ingeniería de sistemas y la ingeniería de software .
El primer uso del término ingeniería de requisitos fue probablemente en 1964 en el documento de la conferencia "Mantenimiento, mantenibilidad e ingeniería de requisitos del sistema", [3] pero no se generalizó hasta finales de la década de 1990 con la publicación de una IEEE Computer Society. tutorial [4] en marzo de 1997 y el establecimiento de una serie de conferencias sobre ingeniería de requisitos que se ha convertido en la Conferencia Internacional de Ingeniería de Requisitos .
En el modelo en cascada , [5] la ingeniería de requisitos se presenta como la primera fase del proceso de desarrollo. Los métodos de desarrollo posteriores, incluido el Rational Unified Process (RUP) para software, suponen que la ingeniería de requisitos continúa durante la vida útil del sistema.
La gestión de requisitos, que es una subfunción de las prácticas de Ingeniería de Sistemas, también está indexada en los manuales del Consejo Internacional de Ingeniería de Sistemas (INCOSE).
Ocupaciones
Las actividades involucradas en la ingeniería de requisitos varían ampliamente, dependiendo del tipo de sistema que se esté desarrollando y las prácticas específicas de la organización involucradas. [6] Estos pueden incluir:
- Requisitos de inicio o la obtención de requisitos - Los desarrolladores y las partes interesadas se reúnen; a estos últimos se les pregunta sobre sus necesidades y deseos con respecto al producto de software.
- Análisis y negociación de requisitos: se identifican los requisitos (incluidos los nuevos si el desarrollo es iterativo) y se resuelven los conflictos con las partes interesadas. Tanto las herramientas escritas como las gráficas (estas últimas comúnmente utilizadas en la fase de diseño, pero algunas también las encuentran útiles en esta etapa) se utilizan con éxito como ayudas. Ejemplos de herramientas de análisis escritas: casos de uso e historias de usuarios . Ejemplos de herramientas gráficas: UML [7] y LML .
- Modelado de sistemas : algunos campos de la ingeniería (o situaciones específicas) requieren que el producto esté completamente diseñado y modelado antes de que comience su construcción o fabricación. Por lo tanto, la fase de diseño debe realizarse con anticipación. Por ejemplo, los planos de un edificio deben elaborarse antes de que se pueda aprobar y firmar un contrato. Muchos campos pueden derivar modelos del sistema con Lifecycle Modeling Language , mientras que otros pueden usar UML . Nota: En muchos campos, como la ingeniería de software, la mayoría de las actividades de modelado se clasifican como actividades de diseño y no como actividades de ingeniería de requisitos.
- Especificación de requisitos: los requisitos se documentan en un artefacto formal llamado Especificación de requisitos (RS), que se hará oficial solo después de la validación. Un RS puede contener información tanto escrita como gráfica (modelos) si es necesario. Ejemplo: especificación de requisitos de software (SRS).
- Validación de requisitos: verificar que los requisitos y modelos documentados sean coherentes y satisfagan las necesidades de las partes interesadas. Solo si el borrador final pasa el proceso de validación, el RS se vuelve oficial.
- Gestión de requisitos : gestionar todas las actividades relacionadas con los requisitos desde el inicio, supervisar a medida que se desarrolla el sistema e incluso hasta después de su puesta en uso (por ejemplo, cambios, ampliaciones, etc.)
A veces se presentan como etapas cronológicas aunque, en la práctica, existe una intercalación considerable de estas actividades.
Se ha demostrado que la ingeniería de requisitos contribuye claramente al éxito de los proyectos de software. [8]
Problemas
Un estudio limitado en Alemania presentó posibles problemas en la implementación de la ingeniería de requisitos y preguntó a los encuestados si estaban de acuerdo en que eran problemas reales. Los resultados no se presentaron como generalizables, pero sugirieron que los principales problemas percibidos eran los requisitos incompletos, los objetivos móviles y la clasificación del tiempo, siendo los problemas menores las fallas de comunicación, la falta de trazabilidad, los problemas terminológicos y las responsabilidades poco claras. [9]
Crítica
Se ha especulado que la estructuración de problemas, un aspecto clave de la ingeniería de requisitos, reduce el rendimiento del diseño. [10] Algunas investigaciones sugieren que es posible que si existen deficiencias en el proceso de ingeniería de requisitos que dan como resultado una situación en la que los requisitos no existen, los requisitos de software pueden crearse independientemente como una ilusión que tergiversa las decisiones de diseño como requisitos [11]
Ver también
- Lista de herramientas de ingeniería de requisitos
- Análisis de requisitos, ingeniería de requisitos enfocada a la ingeniería de software.
- Grupo de especialistas en ingeniería de requisitos (RESG)
- Junta de Ingeniería de Requisitos Internacionales (IREB)
- Consejo Internacional de Ingeniería de Sistemas (INCOSE)
- IEEE 12207 "Ingeniería de sistemas y software - Procesos del ciclo de vida del software"
- TOGAF (Capítulo 17)
- Concepto de operaciones (ConOps)
- Jefe de operaciones
- Requisitos de Software
- Especificación de Requerimientos de Software
- Cuerpo de conocimientos de ingeniería de software (SWEBOK)
- Especificación de diseño
- Especificación (estándar técnico)
- Especificación formal
- Calidad del software
- Gestión de la calidad
- Gestión del alcance
Referencias
- ^ Nuseibeh, B .; Easterbrook, S. (2000). Ingeniería de requisitos: una hoja de ruta (PDF) . ICSE '00. Actas de la conferencia sobre el futuro de la ingeniería de software . págs. 35–46. CiteSeerX 10.1.1.131.3116 . doi : 10.1145 / 336512.336523 . ISBN 1-58113-253-0.
- ^
- Kotonya, Gerald; Sommerville, Ian (septiembre de 1998). Ingeniería de Requisitos: Procesos y Técnicas . John Wiley e hijos . ISBN 978-0-471-97208-2.
- Chemuturi, M. (2013). Ingeniería y Gestión de Requisitos para Proyectos de Desarrollo de Software . doi : 10.1007 / 978-1-4614-5377-2 . ISBN 978-1-4614-5376-5. S2CID 19818654 .
- ^ Dresner, KH Borchers (1964). Ingeniería de mantenimiento, mantenibilidad y requisitos del sistema . Congreso y Exposición Mundial SAE 1964. Documento Técnico SAE 640591 . doi : 10.4271 / 640591 .
- ^ Thayer, Richard H .; Dorfman, Merlin, eds. (Marzo de 1997). Ingeniería de Requisitos de Software (2ª ed.). IEEE Computer Society Press . ISBN 978-0-8186-7738-0.
- ^ Royce, WW (1970). Gestión del desarrollo de grandes sistemas de software: conceptos y técnicas (PDF) . ICSE '87. Actas de la novena conferencia internacional sobre ingeniería de software . págs. 1–9.
- ^ Sommerville, Ian (2009). Ingeniería de Software (9ª ed.). Addison-Wesley . ISBN 978-0-13-703515-1.
- ^ "Descubriendo los requisitos con los diagramas de clases UML parte 1" . tynerblain.com . 7 de marzo de 2008 . Consultado el 14 de marzo de 2018 .
- ^ Hofmann, HF; Lehner, F. (2001). "La ingeniería de requisitos como factor de éxito en proyectos de software". Software IEEE . 18 (4): 58–66. doi : 10.1109 / MS.2001.936219 . ISSN 0740-7459 .
- ^ Méndez Fernández, Daniel; Wagner, Stefan (2015). "Nombrando el dolor en la ingeniería de requisitos: un diseño para una familia global de encuestas y primeros resultados de Alemania". Tecnología de la información y el software . 57 : 616–643. arXiv : 1611.04976 . doi : 10.1016 / j.infsof.2014.05.008 . S2CID 1924926 .
- ^ Ralph, Paul; Mohanani, Rahul (mayo de 2015). "¿Es la ingeniería de requisitos intrínsecamente contraproducente?" . IEEE. doi : 10.13140 / 2.1.3831.6321 . Cite journal requiere
|journal=
( ayuda ) - ^ Ralph, P. (septiembre de 2013). "La ilusión de requisitos en el desarrollo de software". Ingeniería de Requisitos . 18 (3): 293-296. arXiv : 1304.0116 . Código Bibliográfico : 2013arXiv1304.0116R . doi : 10.1007 / s00766-012-0161-4 . S2CID 11499083 .
enlaces externos
- 29148-2011 - Ingeniería de sistemas y software - Procesos del ciclo de vida - Ingeniería de requisitos . Iso / Iec / IEEE 29148: 2011 (E) . 2011. 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 ")
- Cuerpo de conocimientos de ingeniería de sistemas
- Manual de gestión de ingeniería de requisitos de la FAA
- Junta de Ingeniería de Requisitos Internacionales (IREB)
- Biblioteca de recursos de IBM Rational de IEEE Spectrum