domingo, 4 de diciembre de 2011

Ingeniería de requisitos

Proceso de desarrollo de un sistema, sea o no para la web, el equipo de desarrollo se enfrenta al problema de la identificación de requisitos. La definición de las necesidades del sistema es un proceso complejo, pues en él hay que identificar los requisitos que el sistema debe cumplir para satisfacer las necesidades de los usuarios finales y de los clientes. El proceso de especificación de requisitos se puede dividir en tres grandes actividades (Lowe & Hall, 1999):
1- captura de requisitos
2- definición de requisitos
3- validación de requisitos
Captura de requisitos
Actividad mediante la que el equipo de desarrollo de un sistema de software extrae, de cualquier fuente de información disponible, las necesidades que debe cubrir dicho sistema (Díez, 2001). Técnicas que de forma clásica han sido utilizadas para esta actividad en el proceso de desarrollo de todo tipo de software:

  • Entrevistas: le permiten al analista tomar conocimiento del problema y comprender los objetivos de la solución buscada.
  • JAD (Joint Application Development/Desarrollo conjunto de aplicaciones): Práctica de grupo que se desarrolla durante varios días y en la que participan analistas, usuarios, administradores del sistema y clientes (IBM, 1997).
  • Brainstorming (Tormenta de ideas): Consiste en la mera acumulación de ideas y/o información sin evaluar las mismas. El grupo de personas que participa en estas reuniones no debe ser muy numeroso (máximo 10 personas), una de ellas debe asumir el rol de moderador de la sesión, pero sin carácter de controlador.
  • Concept Mapping: Los concept maps (Pan, Zhu & Johnson, 2001) son grafos en los que los vértices representan conceptos y las aristas representan posibles relaciones entre dichos conceptos.
  • Sketches y Storyboards: Consiste en representar sobre papel en forma muy esquemática las diferentes interfaces al usuario (sketches).
  • Casos de Uso: Aunque inicialmente se desarrollaron como técnica para la definición de requisitos (Jacobson, 1995), algunos autores proponen casos de uso como técnica para la captura de requisitos (Pan, Zhu & Johnson, 2001 y Liu & Yu, 200).
  • Cuestionarios y Checklists: Consiste en redactar un documento con preguntas cuyas respuestas sean cortas y concretas, o incluso cerradas por unas cuantas opciones en el propio cuestionario (Checklist).
  • Comparación de terminología: Uno de los problemas que surge durante la definición de requisitos es que usuarios y expertos no llegan a entenderse debido a problemas de terminología.

Definición de requisitos
  • Lenguaje natural: Resulta una técnica muy ambigua para la definición de los requisitos. Consiste en definir los requisitos en lenguaje natural sin usar reglas para ello.
  • Glosario y ontologías: La diversidad de personas que forman parte de un proyecto software hace que sea necesario establecer un marco de terminología común.
  • Escenarios: La técnica de los escenarios consiste en describir las características del sistema a desarrollar mediante una secuencia de pasos (Liu & Yu, 2001).
  • Casos de uso: Como técnica de definición de requisitos es como más ampliamente han sido aceptados los casos de uso. Actualmente se ha propuesto como técnica básica del proceso RUP (Kruchten, 1998).
  • Lenguajes Formales: Otro grupo de técnicas que merece la pena resaltar como extremo opuesto al lenguaje natural, es la utilización de lenguajes formales para describir los requisitos de un sistema.

La validación de requisitos
Tiene como misión demostrar que la definición de los requisitos define realmente el sistema que el usuario necesita o el cliente desea (Lowe & Hall, 1999).
  • Reviews o Walk-throughs: Está técnica consiste en la lectura y corrección de la completa documentación o modelado de la definición de requisitos. Con ello solamente se puede validar la correcta interpretación de la información transmitida.
  • Auditorías: La revisión de la documentación con esta técnica consiste en un chequeo de los resultados contra una checklist predefinida o definida a comienzos del proceso, es decir sólo una muestra es revisada.
  • Matrices de trazabilidad: Esta técnica consiste en marcar los objetivos del sistema y chequearlos contra los requisitos del mismo (Durán, Bernáldez, Ruíz & Toro, 1999).
  • Prototipos: Algunas propuestas se basan en obtener de la definición de requisitos prototipos que, sin tener la totalidad de la funcionalidad del sistema, permitan al usuario hacerse una idea de la estructura de la interfaz del sistema con el usuario (Olsina, 1999).


Recuperado de:

Escuela Técnica Superior de Ingeniería Informática (2002). Ingeniería de Requisitos en Aplicaciones para la Web – Un estudio comparativo: Universidad de Sevilla. Sevilla: Autor.

No hay comentarios:

Publicar un comentario