lunes, 11 de marzo de 2013

2.2 TÉCNICAS DE LA INGENIERÍA DE REQUISITOS



El proceso de Ingeniería de Requerimientos describe de manera  detallada  y precisa  cada uno de los aspectos del ciclo de vida de un conjunto de requerimientos. Este proceso presenta dos grandes ramas: Desarrollo de requerimientos. Administración  de requerimientos.
Que tiene como propósito producir y analizarlos requerimientos de cliente, de producto y de componente de producto, incluye las siguientes actividades: Recolección, Análisis, Especificación y Verificación. Recolección: Es el Proceso a través del cual los clientes (compradores y/o usuarios) y el desarrollador (contratista) de un sistema de software; descubren, revisan, articulan, y entienden las necesidades de los usuarios del sistema y las restricciones que se dan sobre el software y el desarrollo del mismo. Algunas de las técnicas y herramientas más importantes para llevar a cabo la recolección de requerimientos son: Entrevistas: método para descubrir hechos y opiniones que tienen los posibles usuarios y otros participantes dentro del sistema que se está desarrollando. A su vez se clasifican en:

Entrevistas cerradas: las preguntas ya están previstas, tienen un orden y una forma de ser planteadas que no pueden ser modificadas por el entrevistador. Es en realidad un cuestionario. 
Entrevistas abiertas: en las cuales no se preparan preguntas concretas, y, por el contrario, se discute con el entrevistado las expectativas que este tiene del sistema. 
Casos de Uso y/o Escenarios: Los casos de uso describen interacciones entre los usuarios y el sistema, enfatizando en lo que el usuario necesita del sistema. Los escenarios son ejemplos de sesiones de interacción entre el sistema y el usuario, donde un solo tipo de interacción entre los dos participantes es simulada y descrita. 
Observación y análisis social: La observación permite a los investigadores observar lo que los usuarios hacen actualmente en un determinado contexto. Esto permite superar problemas con los participantes del proyecto que realizan descripciones idealizadas o demasiado simplificadas de los procesos que se llevan a cabo en sus trabajos.
Lluvia de Ideas: Son sesiones donde todos los participantes brindan sus ideas para obtener una solución a una problemática. Una lluvia de ideas está compuesta de dos fases: la fase de generación y la fase de evaluación. Durante la generación las ideas son recolectadas y es importante que no sean criticadas. Durante la evaluación de las ideas, las propuestas de solución deben ser evaluadas desde diferentes perspectivas. 
Prototipos: Es programa de computador que implementa algunos de los requerimientos de un sistema. Este prototipo puede ser usado para colaborar con la definición de los requerimientos, o para facilitar la evaluación de alternativas de implementación de un sistema. 
Existen dos grandes tipos de prototipos. Los prototipos no funcionales o desechables (Throw away), que sirven para entender la dificultad y aclarar los requerimientos; y los prototipos funcionales o evolutivos (Evolutionary) que permiten construir una aproximación del sistema de manera que se pueda proveer cierta funcionalidad del sistema final y usualmente se convierten en parte del mismo. Análisis: Es el proceso de analizar las necesidades de los clientes y los usuarios   para llegar a una definición de los requerimientos de software. 

Dentro de las prácticas principales se encuentra: JAD (Joint Application Development): Esta práctica se basa en la creación de espacios que permitan celebrar sesiones o reuniones en donde los participantes y directos interesados dentro del desarrollo del proyecto buscan obtener o generar conocimiento alrededor del desarrollo que se va a llevar a cabo. En estas sesiones se trabaja bajo un enfoque común que permite el fácil entendimiento de los temas expuestos por parte de los invitados a la sesión

Modelos: Esquema teórico, generalmente en forma matemática, de un sistema o de una realidad compleja, como la evolución económica de un país, que se elabora para facilitar su comprensión y el estudio de su comportamiento. Existen dos tipos de modelos. - Modelo conceptual: Es el utilizado en la especificación del sistema, representa los conceptos más significativos en el dominio del problema…. Nos describe la parte estática del problema, es una fotografía del mundo real. - Modelo de Comportamiento: Utilizado en la parte de diseño del sistema, define la parte dinámica, es decir, cual debe ser el comportamiento en cada situación y la forma de proceder.
Los diagramas de secuencia y de estados son parte de este modelo. Especificación: Consiste en el desarrollo de un documento que de manera clara y precisa contenga y especifique cada uno de los requerimientos del sistema de software. Verificación: Es el proceso de asegurar que la especificación de requerimientos de software sea acorde con los requerimientos del sistema, conforme a los estándares de documentación de la fase de requerimientos, y que a su vez este documento sea una base sólida para la arquitectura y el diseño.

 Esta actividad representa un punto de control interno y externo; interno, porque se debe verificar internamente lo que se está haciendo, y externo, porque se debe validar con el cliente.

Administración de requerimientos: Es un proceso que tiene por objetivo comprender y controlar los requerimientos. Como todo proceso de administración, inicia con la planeación a la par de la identificación inicial de requerimientos. Este proceso tiene diferentes formas que dependen del proceso de desarrollo de software que se esté empleando, independientemente de esto se deben considerar las siguientes etapas:
 1. Requerimientos duraderos y volátiles. 
2. Planeación de la administración de requerimientos. 
3. Administración del cambio de los requerimientos.

1 comentario: