Ingeniería de Requisitos

  • Abarca desde tomar un conjunto de necesidades de los usuarios y transcribirlas de la manera que pueda ser entendida por el equipo de desarrollo.
  • Muchas veces la visión que tiene el cliente del trabajo final es distinta a la que tiene el desarrollador, por lo que es muy importante alinear estas visiones.

Enfoque para encarar los requerimientos

Cuando el equipo de desarrollo no tiene todas las habilidades/conocimientos para poder entender la problemática del cliente, necesitamos del rol del analista funcional.

  • Enfoque cascada
    • Debemos tener todos los requisitos completos para empezar.
    • Nos puede servir para proyectos pequeños, rápidos y donde sabemos perfectamente a dónde queremos llegar.
    • Es rápido, pero no nos permite cambiar los requerimientos.
  • Enfoque espiral
    • Podemos empezar con algunos requerimientos o con requerimientos incompletos e ir refinándolos luego.
    • Tenemos una idea, el núcleo de la solución, y lo vamos a ir iterando y validando.

Tipos de requerimientos

  • Funcionales: Son declaraciones de los servicios que el sistema debe proporcionar, cómo debe reaccionar a entradas específicas y cómo debe comportarse en situaciones particulares. Describen qué debe hacer el sistema.

    • ”El sistema debe permitir a los usuarios agregar productos a su carrito de compras y realizar el pago de manera segura”.
  • No funcionales: Son restricciones sobre los servicios o funciones que ofrece el sistema. Incluyen restricciones de tiempo, restricciones de procesamiento, restricciones de diseño, restricciones de implementación y restricciones de estándares. Describen cómo debe ser el sistema.

    • ”El sistema debe procesar los pagos de forma segura y rápida, con un tiempo de respuesta máximo de 5 segundos”.
  • De dominio: Son requerimientos específicos de un dominio o industria en particular. Pueden incluir reglas de negocio, políticas gubernamentales, normativas industriales, y otros aspectos que son únicos para ese dominio en particular.

    • ”El sistema debe cumplir con las regulaciones de protección de datos personales del país en el que opera, asegurando la privacidad de la información de los usuarios”.