Los requisitos para un sistema son la descripción de lo que debe hacer el sistema, el servicio o servicios que proporciona y las limitaciones de su funcionamiento. El Glosario estándar de terminología de ingeniería de software de IEEE define un requisito como: [1]
- Condición o capacidad que necesita un usuario para resolver un problema o lograr un objetivo.
- Una condición o capacidad que debe ser cumplida o poseída por un sistema o componente del sistema para satisfacer un contrato, estándar, especificación u otro documento formalmente impuesto.
- Una representación documentada de una condición o capacidad como en 1 o 2.
Las actividades relacionadas con el trabajo con requisitos de software se pueden dividir en general en obtención, análisis, especificación y gestión. [2]
Tenga en cuenta que la redacción de los requisitos de software se utiliza adicionalmente en las notas de la versión del software para explicar qué paquetes de software se requieren para que se compile, instale o utilice un determinado software. [3]
Sonsacamiento
La obtención es la recopilación y el descubrimiento de requisitos de las partes interesadas y otras fuentes. Se puede utilizar una variedad de técnicas, como sesiones de diseño de aplicaciones conjuntas (JAD), entrevistas, análisis de documentos, grupos focales, etc. La obtención es el primer paso del desarrollo de requisitos.
Análisis
El análisis es el colapso lógico que procede de la elicitación. El análisis implica alcanzar una comprensión más rica y precisa de cada requisito y representar conjuntos de requisitos de formas múltiples y complementarias.
Requisitos El triaje o priorización de requisitos es otra actividad que a menudo sigue al análisis. [4] Esto se relaciona con el desarrollo de software ágil en la fase de planificación, por ejemplo, por Planning Poker , sin embargo, puede que no sea lo mismo según el contexto y la naturaleza del proyecto y los requisitos o el producto / servicio que se está construyendo.
Especificación
La especificación implica representar y almacenar el conocimiento de los requisitos recopilados de una manera persistente y bien organizada que facilita la comunicación eficaz y la gestión del cambio. Los casos de uso, las historias de usuario, los requisitos funcionales y los modelos de análisis visual son opciones populares para la especificación de requisitos.
Validación
La validación implica técnicas para confirmar que se ha especificado el conjunto correcto de requisitos para construir una solución que satisfaga los objetivos comerciales del proyecto.
Gestión
Los requisitos cambian durante los proyectos y, a menudo, hay muchos de ellos. La gestión de este cambio se vuelve fundamental para garantizar que se cree el software correcto para las partes interesadas.
Soporte de herramientas para ingeniería de requisitos
Herramientas para la obtención, análisis y validación de requisitos
Teniendo en cuenta que estas actividades pueden involucrar algunos artefactos como informes de observación ( observación de usuarios ), cuestionarios ( entrevistas , encuestas y sondeos), casos de uso , historias de usuarios ; actividades como talleres de requisitos ( charrettes ), lluvia de ideas , mapas mentales , juegos de roles ; e incluso prototipos ; [5] Los productos de software que proporcionan algunas o todas estas capacidades se pueden utilizar para ayudar a lograr estas tareas.
Hay al menos un autor que aboga, explícitamente, por herramientas de mapas mentales como FreeMind ; y, alternativamente, para el uso de especificación mediante herramientas de ejemplo tales como Concordion . [6] Además, las ideas y declaraciones resultantes de estas actividades se pueden recopilar y organizar con wikis y otras herramientas de colaboración como Trello . Las características realmente implementadas y el cumplimiento de los estándares varían de un producto a otro.
Herramientas para la especificación de requisitos
Se puede crear un documento de especificación de requisitos de software (SRS) utilizando una herramienta de software tan general como un procesador de texto o una hoja de cálculo electrónica; pero, existen varias herramientas especializadas para realizar esta actividad.
Algunas de estas herramientas pueden importar, editar, exportar y publicar documentos SRS. Pueden ayudar o no al usuario a seguir estándares como IEEE 2918-2011 para componer los requisitos de acuerdo con alguna estructura. Asimismo, la herramienta puede utilizar o no algún estándar para importar o exportar requisitos (como ReqIF ); o no permitir estos intercambios en absoluto.
Herramientas para la verificación de documentos de requisitos
Las herramientas de este tipo verifican si hay algún error en un documento de requisitos de acuerdo con alguna estructura o estándar esperado.
Herramientas para la comparación de requisitos
Las herramientas de este tipo comparan dos conjuntos de requisitos de acuerdo con alguna estructura y estándar de documento esperado.
Herramientas para la combinación y actualización de requisitos
Las herramientas de este tipo permiten fusionar y actualizar los documentos de requisitos.
Herramientas para la trazabilidad de requisitos
Las herramientas de este tipo permiten rastrear requisitos a otros artefactos como modelos y código fuente (trazabilidad hacia adelante) o, a los anteriores como reglas y restricciones comerciales (trazabilidad hacia atrás).
Herramientas para software basado en modelos o ingeniería de requisitos de sistemas
La ingeniería de sistemas basada en modelos (MBSE) es la aplicación formalizada del modelado para respaldar los requisitos del sistema, el diseño, el análisis, la medición, [7] las actividades de verificación y validación que comienzan en la fase de diseño conceptual y continúan a lo largo del desarrollo y las fases posteriores del ciclo de vida. También es posible adoptar un enfoque basado en modelos para algunas etapas de la ingeniería de requisitos y, más tradicional, para otras. Pueden ser posibles muchas combinaciones.
El nivel de formalidad y complejidad depende de la metodología subyacente involucrada (por ejemplo, i * es mucho más formal que SysML e incluso más formal que UML )
Herramientas para ingeniería de requisitos generales
Las herramientas de esta categoría pueden proporcionar una combinación de las capacidades mencionadas anteriormente y otras, como la gestión de la configuración de requisitos y la colaboración. Las características realmente implementadas y el cumplimiento de los estándares varían de un producto a otro.
Incluso hay herramientas más capaces o generales que apoyan otras etapas y actividades. Se clasifican como herramientas ALM .
Ver también
- Requisito
- Ingeniería de requisitos
- Especificación de requisitos de software (SRS)
- Proceso de especificación de requisitos completo y sólido
- Lista de herramientas de ingeniería de requisitos
- Requisito no funcional
- Requisitos de rendimiento cubiertos por las pruebas de rendimiento del software
- Requerimientos de seguridad
- Requerimientos de seguridad
Referencias
- ^ Sociedad de informática IEEE (1990). "Glosario estándar IEEE de terminología de ingeniería de software" . Estándar IEEE .
- ^ "Guía del conocimiento de la ingeniería de software" . Sociedad de Informática IEEE . Consultado el 11 de enero de 2013 .
- ^ "Linux kernel release 5.x - La documentación del kernel de Linux" . www.kernel.org . Consultado el 25 de marzo de 2021 .
- ^ Davis, Alan Mark. (2005). Gestión de requisitos suficiente: donde el desarrollo de software se encuentra con el marketing . Nueva York: Dorset House Pub. ISBN 0-932633-64-1. OCLC 57211148 .
- ^ https://www.liquidplanner.com/blog/7-tools-to-gather-better-software-requirements/
- ^ Laplante, Phillip A. (2009). "Ingeniería de Requisitos para Software y Sistemas". Prensa CRC. Falta o vacío
|url=
( ayuda ) - ^ Monperrus, M .; Baudry, B .; Champeau, J .; Hoeltzener, B .; Jézéquel, JM (2011). "Medición automatizada de modelos de requisitos" . Revista de calidad de software . 21 (1): 3-22. doi : 10.1007 / s11219-011-9163-6 .
Otras lecturas
- Wiegers, Karl ; Beatty, alegría (2013). Requisitos de software (3ª ed.). Microsoft Press . ISBN 978-0-7356-7966-5.
- Cockburn, Alistair (2001). Redacción de casos de uso eficaz . Educación de Pearson . ISBN 0-201-70225-8.
- Leffingwell, Dean (2000). Gestión de requisitos de software: un enfoque unificado . Addison-Wesley Professional . ISBN 0-201-61593-2.
- Burek, Paul (2008). Creación de requisitos claros del proyecto que diferencian "qué" de "cómo" . Documento de sesión. Gestión de Requisitos, Análisis de Negocio, Gestión de Alcance.
- Koopman, Philip (2020). Requisitos de software integrado . Conferencias de otoño.
- Búsqueda IEEE Xplore. "Requisitos de software" .