¿Cuales son las técnicas y herramientas en la Ingeniería de requerimientos, ejemplos de sus usos, ventajas y desventajas?
Entrevistas y cuestionarios
Sistemas existentes
Grabaciones de video y de audio
Brainstorming (tormenta de ideas)
Arqueología de documentos
Aprendiz.
Observación
Run Use Case WorkShop (talleres de trabajo basados en los Casos de Uso)
Prototipos
Análisis FODA (Fortalezas, Oportunidades, Debilidades y Amenazas)
Cadena de valor
Modelo de clase conceptual, Diagrama Conceptual, Diagrama de Clases Conceptual
Diagrama de pescado (Ishikawa Diagram, Cause-and-Effect o Fishbone Diagram)
Glosario
Diagrama de actividad
Documento ESRE, Casos de uso
Lista de requerimientos
Casos de uso
Casa de calidad o QFD (Quality Function Deployment)
Checklist (lista de verificación)
EJEMPLOS:
ENTREVISTAS: Recolección de datos sobre las necesidades del nuevo sistema, como satisfacer esas necesidades. Medio de comunicación cara a cara entre el analista y el cliente. Identificación de problemas potenciales, entre otros puntos relevantes de la Ingeniería de Requerimientos.
Ventajas:
Entrevistas y Cuestionarios:
• Mediante ellas se obtiene una gran cantidad de información correcta a través del usuario.
• Pueden ser usadas para obtener un pantallazo del dominio del problema.
• Son flexibles.
• Permiten combinarse con otras técnicas.
Desventajas:
• La información obtenida al principio puede ser redundante o incompleta.
• Si el volumen de información manejado es alto, requiere mucha organización de parte del analista, así como la habilidad para tratar y comprender el comportamiento de todos los involucrados.
Lluvia de Ideas:
• Los diferentes puntos de vista y las confusiones en cuento a terminología, son aclaradas por expertos.
• Ayuda a desarrollar ideas unificadas basadas en la experiencia de un experto.
Desventajas:
• Es necesaria una buena compenetración del grupo participante
Prototipo:
• Ayudan a validar y desarrollar nuevos requerimientos.
• Permite comprender aquellos requerimientos que no están muy claros y que son de alta volatilidad.
Desventajas:
• El cliente puede llegar a pensar que el prototipo es una versión del software que será desarrollado.
• A menudo, el desarrollador hace compromisos de implementación con el objetivo de acelerar la puesta en funcionamiento del prototipo.
Casos de Uso:
• Representan los requerimientos desde el punto de vista del usuario.
• Permiten representar más de un rol para cada afectado.
• Identifica requerimientos estancados, dentro de un conjunto de requerimientos
Desventajas:
• En sistemas grandes, toma mucho tiempo definir todos los casos de uso.
• El análisis de calidad depende de la calidad con que se haya hecho la descripción inicial.
JAD:
• Reduce el tiempo de análisis o diseño, pues en una sola sesión pueden participar todos los interesados en una misma área
• Mejora las comunicaciones, pues todos los modelos derivados trazados en las sesiones de trabajo se validan con sus participantes.
• Crea sentido de consenso y participación, pues, durante las sesiones de trabajo, el usuario directo tiene la oportunidad de presentar y discutir sus puntos de vista y problemas.
• Facilita la identificación de problemas o inconsistencias, pues cualquier discrepancia entre opiniones puede aclararse en las propias reuniones de trabajo.
• Mejora la calidad de los productos, pues será posible definir en forma más completa los verdaderos requerimientos de los usuarios.
Desventajas:
• Debe cumplirse con la sesión de entrenamiento, con el fin de asegurar que todos los participantes entiendan su rol.
• Debe contarse con las facilidades de reunión: salón de reuniones, pizarrón, y otros.
• Deben minimizarse las interrupciones, con el fin de que pueda aprovecharse el tiempo de todos los participantes.