stringtranslate.com

Requisitos de Software

Los requisitos de software [1] para un sistema son la descripción de lo que el sistema debe hacer, el servicio o servicios que proporciona y las limitaciones de su funcionamiento. El Glosario estándar de terminología de ingeniería de software del IEEE define un requisito como: [2]

  1. Una condición o capacidad que necesita un usuario para resolver un problema o lograr un objetivo.
  2. Una condición o capacidad que debe cumplir o poseer un sistema o componente del sistema para satisfacer un contrato, estándar, especificación u otro documento impuesto formalmente.
  3. 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 términos generales en obtención, análisis, especificación y gestión. [3]

Tenga en cuenta que la redacción Requisitos de software se utiliza adicionalmente en las notas de la versión del software para explicar qué paquetes de software dependientes son necesarios para que se construya/instale/utilice un determinado software. [1]

Sonsacamiento

La elicitació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 conjunto de aplicaciones (JAD), entrevistas, análisis de documentos, grupos focales, etc. La obtención es el primer paso en el desarrollo de requisitos.

Análisis

El análisis es la ruptura lógica 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.

La clasificación de requisitos o la 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, mediante Planning Poker ; sin embargo, puede no ser lo mismo dependiendo del 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 facilite la comunicación efectiva y la gestión del cambio. Los casos de uso, historias de usuarios, requisitos funcionales y 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. 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, creación de 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 especificaciones mediante herramientas de ejemplo como Concordion . [6] Además, las ideas y declaraciones resultantes de estas actividades pueden recopilarse y organizarse 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 software de uso general, como un procesador de textos o una de varias herramientas especializadas. Algunas de estas herramientas pueden importar, editar, exportar y publicar documentos SRS. Puede ser útil crear documentos SRS siguiendo una estructura y metodología estandarizadas, como ISO/IEC/IEEE 29148:2018. Asimismo, el software 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

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 fusionar y actualizar requisitos

Herramientas de este tipo permiten fusionar y actualizar documentos de requisitos.

Herramientas para la trazabilidad de requisitos

Herramientas de este tipo permiten rastrear requisitos hasta otros artefactos, como modelos y código fuente (trazabilidad hacia adelante) o, hasta otros anteriores, como reglas y restricciones de negocio (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, las actividades de diseño, análisis, verificación y validación que comienzan en la fase de diseño conceptual y continúan durante las fases de desarrollo y 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, uno más tradicional, para otras. Podrían 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 general

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.

Existen herramientas aún más capaces o generales que apoyan otras etapas y actividades. Se clasifican como herramientas ALM .

Ver también

Referencias

  1. ^ ab "Lanzamiento 5.x del kernel de Linux: documentación del kernel de Linux". www.kernel.org . Consultado el 25 de marzo de 2021 .
  2. ^ Sociedad de Computación IEEE (1990). "Glosario estándar IEEE de terminología de ingeniería de software". Estándar IEEE . Archivado desde el original el 15 de junio de 2018 . Consultado el 11 de enero de 2013 .
  3. ^ "Guía del conjunto de conocimientos de ingeniería de software". Sociedad de Computación IEEE. Archivado desde el original el 7 de diciembre de 2014 . Consultado el 11 de enero de 2013 .
  4. ^ Davis, Alan Mark. (2005). Gestión de requisitos suficiente: donde el desarrollo de software se encuentra con el marketing. Nueva York: Pub Dorset House. ISBN 0-932633-64-1. OCLC  57211148.
  5. ^ "Siete herramientas para reunir mejores requisitos de software". 22 de julio de 2015.
  6. ^ Laplante, Phillip A. (2009). "Ingeniería de Requisitos para Software y Sistemas". Prensa CRC. {{cite web}}: Falta o está vacío |url=( ayuda )

Otras lecturas