Gestión de Requisitos

Revisión del 18:22 21 ago 2019 de Carlos idict (discusión | contribuciones) (Texto reemplazado: «<div align="justify">» por «»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Gestión de Requisitos
Información sobre la plantilla
Gestión Requisitos.JPG
Concepto:La Gestión de Requisitos es el proceso encargado de la identificación, asignación y seguimiento de los requisitos para la creación de un proyecto

Gestión de Requisitos. Es el proceso encargado de la identificación, asignación y seguimiento de los requisitos para la creación de un proyecto, incluyendo el interfaz, verificación, modificación y control a todo lo largo del ciclo de vida. Es el conjunto de actividades que lleva el aseguramiento de las especificaciones, por ejemplo, los requisitos que son reunidos para la satisfacción del cliente. Es el proceso que inicia con la concepción de un proyecto y continúa hasta el resultado final del producto.

Reseña

Desde hace algunas décadas hasta la actualidad, la Gestión de Requisitos se ha hecho indispensable en el desarrollo de los proyectos de software. Uno de sus objetivos es establecer una clara comunicación entre el cliente y el grupo de desarrolladores, facilitando la comprensión de los problemas a resolver y las posibles vías de solución de los mismos. Se ha demostrado mundialmente que esta fase es una de las más difíciles de todo el proceso de Ingeniería de Software y que los errores que se cometen en esta etapa, afectan en gran medida la construcción del sistema. Por otra parte la corrección de estos errores implica grandes costos de tiempo y recursos. Realizar una correcta Gestión de Requisitos desde los inicios de un proyecto puede ayudar a reducir los recursos utilizados en el desarrollo del software y disminuir el tiempo empleado en la realización del mismo, logrando la satisfacción del cliente.

Para que un proyecto se ejecute con éxito y logre cumplir o superar las expectativas del cliente es necesario que cuente con buenos requisitos y que se pueda garantizar la calidad sobre los productos desarrollados, lo que se dificulta cada vez más, pues cada día que pasa las empresas desarrolladoras de software se mueven en un entorno más competitivo, viéndose en la necesidad de disminuir el tiempo de obtención del producto final con el fin de sacarlo a la venta, a la vez que se mantienen las mismas exigencias por parte de los clientes. En muchas ocasiones las empresas acaban retrasando la salida al mercado de sus productos, por lo que relegan frases relacionadas con la calidad del producto al plano meramente administrativo o incluso llegan a obviarlas. La calidad en un proceso de desarrollo de software debe ser garantizada desde los inicios del mismo, por lo que es decisiva a la hora de garantizar la misma una correcta especificación de los requisitos de la aplicación.

Establecer y controlar el alcance de los proyectos de software es una de las tareas más críticas en el proceso de desarrollo ya que el éxito o fracaso del proyecto está fuertemente relacionado con la calidad de sus requisitos. Los requisitos capturan las necesidades de los usuarios, fijando el alcance del proyecto y estableciendo la base sobre la cual desarrolla su trabajo todo el equipo de proyecto.

Requisitos

  • Un requisito es una condición o capacidad que debe cumplirse para resolver un problema o alcanzar un objetivo. Cada requisito vendrá caracterizado por:
  1. Identificador único y nombre descriptivo.
  2. Persona u organización y fecha en la que se presenta el requisito.
  3. Sistemas afectados por el requisito
  4. Descripción de la capacidad o funcionalidad que debe presentar el sistema a desarrollar. Cada requisito deberá ser descrito de tal manera que satisfaga las características de necesario, conciso, completo, consistente, no ambiguo y verificable.
  5. Tipo de requisitos (funcionales y no funcionales).
  6. Prioridad tanto para el sistema como para el usuario.
  7. Estado del requisito.
  8. Documentación asociada.

Los requisitos pueden cambiar en alguna etapa del desarrollo del proyecto, estos cambios deben controlarse, documentarse y persistir a lo largo de todo el ciclo de vida del sistema. De los requisitos se debe conocer su origen, necesidad, relación con otros requisitos y la relación con elementos del diseño y/o la implementación. Esta información es útil para saber qué afectación podría traer una modificación o cambio en un requisito. La trazabilidad de requisitos se define como la habilidad para describir y seguir la vida de un requisito en ambos sentidos, hacia sus orígenes o hacia su implementación, a través de todas las especificaciones generadas durante el proceso de desarrollo de software.

Clasificación de requisitos

  • Funcionales: indican características y restricciones sobre la funcionalidad del software, además son la condición necesaria de un atributo para que cumpla una función determinada.
  1. Requisitos sobre la actualización de datos: son características sobre las funciones que cambian la información del sistema. Debe estudiarse de qué forma y bajo que restricciones el usuario desea que se introduzcan nuevos datos, se cambien los que ya existen o se eliminen.
  2. Requisitos sobre la estructura de información: son características de los datos que el software maneja.
  • No funcionales: son propiedades o cualidades que el producto debe tener. Los Requisitos no funcionales deben establecer restricciones en el producto que está siendo desarrollado, en el proceso de desarrollo y en restricciones específicas que el producto pueda tener. Pueden clasificarse en:
  1. Requisitos de rendimiento: son límites al rendimiento (para aquellas aplicaciones donde existan) y volúmenes de información que el software debe tratar.
  2. Requisitos de seguridad: son características de control de acceso al software y copias de seguridad, entre otros relacionados con la seguridad del sistema y la información.
  3. Requisitos de frecuencia de tratamiento: son características sobre la frecuencia con que se ejecutan las diferentes funciones del software.

Tareas principales

  • Recolección: Recolección y documentación de requisitos es una actividad de comunicación iterativa entre clientes, gerentes y practicantes (stakeholders del proyecto), para descubrir, definir, refinar y registrar una representación precisa de los requisitos del producto. Varios métodos son utilizados para la recolección de requisitos. Algunos análisis iniciales como es la agrupación categorización, priorización son desarrollados durante esta actividad
  • Documentación: Después que los requisitos han sido recolectados, hay que analizarlos a detalle y documentarlos en una especificación de requisitos. El resultado de la especificación de requisitos y de cualquier especificación de requisitos de componentes hardware/software derivado sirve como registro de convenio con el cliente y compromiso con el proveedor. Estas especificaciones son rastreadas utilizando una matriz de trazabilidad de requerimientos y son sujetos a verificación y gestión de cambio a través del ciclo de vida del producto.
  • Verificación: Una vez que la especificación de requisitos ha sido desarrollada, los requisitos son verificados. La verificación de requisitos es un proceso para asegurar que la especificación de requisito del producto es una representación exacta de las necesidades del cliente. Este proceso también asegura que los requisitos sean trazados y verificados a través de varias fases del ciclo de vida; particularmente en el diseño, implementación y pruebas. Los requisitos deben ser trazados desde fuentes externas, tales como los clientes, para derivar requisitos del nivel del sistema, para especificar requisitos del producto hardware/software. Además, todos estos requerimientos deben ser trazados al diseño, implementación y pruebas para asegurarse que los requerimientos han sido satisfechos.
  • Gestión de Cambios: Gestión de cambios es un proceso formal para identificar, evaluar, trazar y reportar cambios propuestos y aprobados a la especificación del producto. Como el proyecto va evolucionando, los requerimientos pueden cambiar o expandirse para ajustar algunas modificaciones en el alcance o diseño del proyecto. Un proceso de gestión de cambios proporciona un rastreo completo y preciso de todos los cambios que son pertinentes al proyecto.

Técnicas para la recopilación de requerimientos

La recopilación de Requerimientos es uno de los pasos más importantes en el proceso de gestión de requerimientos. Una mala interpretación de un requisito en esta etapa se seguirá el problema a través del ciclo de vida de del proyecto.

  • Entrevistas: Son utilizadas para recopilar información de los interesados. Sin embargo, la predisposición y experiencias de la persona entrevistada influirán en la obtención de resultados. Es conveniente la utilización de preguntas abiertas que no sugieran una determinada respuesta.
  • Análisis de Documentos: Todo establecimiento de requisitos implica un cierto estudio de los documentos que definen la razón de ser del proyecto, tales como planes de negocio, estudios de mercado, contratos, etc.
  • Tormenta de ideas: Es una técnica eficaz porque las ideas más creativas y efectivas, son a menudo, el resultado de la combinación de ideas aparentemente inconexas. Además, esta técnica alienta el pensamiento de ideas inusuales.

Fuente