Obtención y análisis de requerimientos

La siguiente etapa del proceso de ingeniería de requerimientos es la obtención y análisis de requerimientos. En esta actividad, los ingenieros de software trabajan con los clientes y los usuarios finales del sistema para determinar el dominio de la aplicación, qué servicios debe proporcionar el sistema, el rendimiento requerido del sistema, las restricciones hardware, etcétera.

[Sommerville, 2005] presenta el modelo de la figura 2.2 de (Robertson y Robertson, 1999) para mostrar que los requerimientos pueden extraerse de muchas maneras, sugiere ser creativos en la forma de averiguar qué es lo que los clientes quieren, y propone:

  • Revisar la situación actual.
  • Trabajar en el ámbito del usuario para comprender el contexto, los problemas y las relaciones.
  • Entrevistar a los usuarios actuales y potenciales.
  • Realizar un video para mostrar como podría funcionar el nuevo sistema.
  • Investigar en documentos existentes.
  • Conducir tormentas de ideas con los usuarios actuales y potenciales.
  • Observar las estructuras y los patrones.

Fuentes de requerimientos

La obtención y análisis de requerimientos pueden afectar a varias personas de la organización. El término stakeholder (sin traducción al español) se utiliza en la Ingeniería de Software para referirse a cualquier persona o grupo que se verá afectado por el sistema, directa o indirectamente.

Según [Sommerville, 2005], obtener y comprender los requerimientos de los stakeholders es difícil por varias razones:

  • Los stakeholders a menudo no conocen lo que desean obtener del sistema informático excepto en términos muy generales. Pueden hacer demandas irreales o resultarles difícil expresar lo que quieren que haga el sistema.
  • Los ingenieros de requerimientos, sin experiencia en el dominio del cliente, deben comprender los requerimientos que los stakeholders expresan con sus propios términos y con un conocimiento implícito de su trabajo.
  • Diferentes stakeholders tienen requerimientos distintos. Es necesario descubrir las concordancias y los conflictos entre éstos.

Los factores políticos pueden influir en los requerimientos del sistema. Por ejemplo, los directivos pueden solicitar requerimientos específicos del sistema que incrementarán su influencia en la organización.

Pueden emerger nuevos requerimientos de nuevos stakeholders que no habían sido consultados previamente.

El descubrimiento de requerimientos es el proceso de recoger información sobre el sistema propuesto y los existentes extrayendo esta información del usuario y del sistema. Las fuentes de información durante la fase del descubrimiento de requerimientos incluyen la documentación, los stakeholders del sistema y la especificación de sistemas similares. Las técnicas de descubrimiento de requerimientos, son varias, pueden usarse entrevistas, escenarios, prototipos y etnografía.

La figura 2.3 explica porqué el proceso de los requerimientos es crítico para el buen desarrollo de software.

Figura 23

 

Fuente: Gómez Fuentes María del Carmen, Análisis de requerimientos, editorial Publidisa Mexicana 2011.