1 / 74

Ingeniería de Requerimientos

Ingeniería de Requerimientos. Adquisición (Elicitation). Adquisición. Desarrollo. Análisis. Especificación. Validación. Control de Cambios. Administración. Control de Versiones. Seguimiento. Ingeniería de Requerimientos. Temas. Generalidades Técnicas de adquisición

aolani
Download Presentation

Ingeniería de Requerimientos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ingeniería de Requerimientos Adquisición (Elicitation)

  2. Adquisición Desarrollo Análisis Especificación Validación Control de Cambios Administración Control de Versiones Seguimiento Ingeniería de Requerimientos

  3. Temas • Generalidades • Técnicas de adquisición • Técnicas de modelado

  4. Generalidades • Es un problema humano • No tiene una solución técnica definitiva • Involucra • Psicología Cognitiva • Entendimiento de las dificultades de las personas para describir sus necesidades • Antropología • Aproximación metodológica para observar las actividades humanas, que ayudan al desarrollador a entender cómo el sistema ayuda o dificulta estas actividades

  5. Generalidades • Involucra • Sociología • Entendimiento de los cambios políticos y culturales causados por la automatización. • Lingüística • Importante porque la ingeniería de requerimientos se basa en la comunicación. Ayuda a definir la forma de usar el lenguaje para evitar ambigüedades. • Filosofía • Interpretar y entender los términos, conceptos, puntos de vista y objetivos de las personas interesadas.

  6. Generalidades • Es el área con mayor incidencia de malas prácticas y con gran impacto en el proyecto • Diferencias entre • Usuarios/Clientes • Términos del dominio del negocio • Desarrolladores • Términos del software

  7. Generalidades • Los clientes • No saben lo que quieren • No están preparados para definir adecuadamente lo que quieren • Tienen muchas influencias externas, que dificultan saber lo que quieren

  8. Generalidades • Los ingenieros de software • Están de acuerdo en que la adquisición de requerimientos es importante, pero aún así • Gastan muy poco tiempo realizándola • Se realizan muchos supuestos, se dejan de lado muchas fuentes de información

  9. Generalidades • Riesgos de un proceso inadecuado • Pérdida de tiempo por requerimientos ambiguos o funcionalidades innecesarias • Producto no aceptado por el usuario • No incluir funciones necesarias • Planificaciones que no se cumplen

  10. Generalidades • Es fundamental que las personas interesadas conozcan la importancia de los requerimientos • Implicaciones de costo • Éxito/Fracaso de proyectos

  11. Temas • Generalidades • Técnicas de adquisición • Técnicas de modelado

  12. Adquisición • Obtener de los interesados lo que ellos saben (y nosotros no) • Proceso de comunicación e interacción • Se debe registrar toda la información que se obtiene

  13. Técnicas de adquisición • Tradicionales • Cuestionarios • Entrevistas • Análisis de documentación existente • Manuales de procesos, regulaciones, etc. • Reingeniería (aplicaciones legado) • Evaluación de productos existentes

  14. Técnicas de adquisición • Grupales • Sesiones intensivas (JAD) • Tormenta de Ideas • Muro de las maravillas • Orientadas a modelos • Escenarios • Basados en objetivos

  15. Técnicas de adquisición • Prototipos • Desechables - Evolutivos • Cognitivas • Observación • Análisis de protocolos (Las personas explican en voz alta mientras trabajan) • Ordenar tarjetas con conceptos/atributos

  16. Técnicas de adquisición • Determinar las técnicas que se utilizarán (no una sola), de acuerdo con las características del proyecto • Por ejemplo, para aplicaciones muy restringidas no es necesaria tanta interacción con los usuarios

  17. No restringida Apoyo a decisiones tácticas Videojuego Sistema de contabilidad Tipo de aplicación Sistema de control de la producción Mejoras al sistema de contabilidad Sistema de control de vuelo para aviones Muy restringida Sistema de guía de misiles Relativamente alto Relativamente bajo % Requerimientos aproximado Obtenido de personas Técnicas de adquisición

  18. Ejercicio • Adapte los derechos y deberes de los usuarios, propuestos por Karl Wiegers, para usarlos en un posible instructivo del proceso de requerimientos para su empresa

  19. Cuestionarios • Recolectar información de un gran número de personas • Centrarse en pocos aspectos del sistemas • Pocas preguntas, concretas • Combinar preguntas cerradas y abiertas • Si-No, Selección múltiple, Ordenar o calificar • La redacción de las preguntas es importante • No ambiguas, no orientar a una respuesta

  20. Entrevistas • Reuniones “cara a cara” entre analistas y personas interesadas • Es una forma de conversación, no solo de interrogación • Ideal para recoger opiniones, sugerencias, comentarios, descubrir errores de entendimiento

  21. Entrevistas • Preparar • Definir qué información se desea • Depende del tipo de usuario • Recolectar información de otras fuentes • Conocer el dominio • Seleccionar a las personas a entrevistar • Priorizar

  22. Entrevistas • Preparar • Acordar cita, definir tiempos y enviar temas a tratar al entrevistado • Elaborar un guión preliminar • ¿Qué hace cada usuario?, ¿Cómo lo hace?, ¿Qué necesita para hacerlo?, Casos excepcionales • Tener en cuenta requerimientos no funcionales, como disponibilidad, fechas/horas con mayor número de transacciones

  23. Entrevistas • Directivo • Políticas, Estrategias • Limitaciones generales • Ejecutivo • Objetivos, procedimientos, requerimientos de información • Sistemas relacionados • Otras personas a entrevistar

  24. Entrevistas • Operativo • Funciones que realiza actualmente y sugerencias para mejorar • Tipo de entradas • Tipo de salidas • Consultas / Informes • Prioridades de los procedimientos

  25. Entrevistas • Aspectos • Escuchar, escuchar, escuchar. • Incluso si se aleja del tema • No suponga que usted tiene la respuesta lista • No suponga que algunas cosas que se dicen están fuera del alcance. ¡No se conoce el alcance del problema hasta escuchar a todas las personas interesadas!

  26. Entrevistas • Aspectos • La realidad es mucho más extraña de lo que usted espera • Los deseos pueden ocultar necesidades

  27. Entrevistas • Aspecto clave: • Ir más allá de lo operativo • Entender la razón – contexto – ejemplos – posibilidades de mejora

  28. Entrevistas • Evitar • Usar lenguaje muy técnico • Influenciar (tendencia a dar información o resaltar lo que más nos gusta) • Ejemplo • Preguntar ¿qué le parece que el software tenga tal característica?

  29. Entrevistas • Debe incluir un seguimiento posterior • Correo electrónico • Actas • Documentos / diagramas • Reunión corta

  30. Referencia • Ejemplo de métricas para el proceso de entrevistas • Libro “Ingeniería de Software: Una perspectiva orientada a objetos”, de Eric Braude, página 172

  31. Consideraciones • Buscar los detalles – ser específicos • Ejemplo: Los reportes de impuestos deben reflejar el nuevo proceso que se tiene en la empresa al respecto • ¿Cuál es el nuevo proceso al cual se hace referencia? • ¿Qué reportes específicamente? • ¿Se tiene algún tipo de prueba para asegurarse de que los resultados son los esperados?

  32. Consideraciones • El software no siempre es para el momento actual, es para el futuro • No limitarse a automatizar lo existente • Preguntar el porqué de las cosas • Proponer sin imponer • Es un diálogo donde cada parte aporta • Señalar posibles mejoras o costos técnicos

  33. Evaluación de productos existentes • Identificar • Información que es importante para los procesos (entradas, reportes) • Organización de las funciones • Características importantes o novedosas • Problemas que se deben evitar

  34. Evaluación de productos existentes • Obtener medidas que pueden servir de base • Tiempos de respuesta • Tiempo promedio para realizar una acción • Satisfacción del usuario

  35. JAD • JointApplicationDevelopment • Desarrollo conjunto de aplicaciones • Proceso de recolección de datos acelerado, en el cual los usuarios y analistas se reúnen en una única e intensa reunión, que puede durar de uno a cuatro días, con el objetivo de definir los requerimientos de los usuarios

  36. JAD • Principios • Hacer partícipes a los usuarios • Dinámica de grupo • Uso de ayudas audiovisuales • Proceso organizado y documentado

  37. JAD

  38. JAD • Preparación • Obtener información preliminar para delimitar los aspectos a tratar en la reunión • Definir grupos de trabajo • Elaborar una agenda • Elaborar un documento (o documentos) con la información recolectada hasta el momento

  39. JAD • Reunión - Orden sugerido • Recordar reglas, objetivos • Definir visión, contexto • Mini – tutorial de las herramientas a usar • Casos de uso, CRC, storyboards, etc. • Trabajo en subgrupos • Preguntas, acuerdos

  40. JAD

  41. JAD • Durante 1 a 4 días los equipos crean una especificación del sistema • Flujo de trabajo • Datos • Reportes • Pantallas • Se documentan las decisiones tomadas (y se dejan en lugares visibles)

  42. JAD • Consideraciones • Lugar alejado del trabajo • Ambiente de respeto y confianza

  43. JAD • Después • Se elabora un documento final • Se distribuye entre los participantes para su revisión • Reunión de 1 a 2 horas para la revisión final del documento

  44. Tormenta de ideas • No tiene estructura definida • Preguntas y respuestas libres • Ayuda a obtener información general, llegar a consensos sobre objetivos del sistema e identificar algunos conflictos • Surgen temas no previstos

  45. Tormenta de ideas • Ambiente libre de críticas y juicios • Grupos de 4 a 10 personas • No hay un líder • Los participantes se comprometen a generar ideas sin discutir sus méritos • Se escriben la ideas y se colocan en lugares visibles

  46. Tormenta de ideas • Posteriormente • Se revisan y organizan las ideas • Clarificar • Unir ideas comunes • Se descartan ideas que no son factibles • Se priorizan las ideas • Se documenta

  47. Muro de las maravillas • Pasos 1. Listar ítems, individualmente • Definir previamente las áreas de trabajo mediante preguntas claves • Permitir un espacio breve de discusión • Cada persona anota posibles respuestas a las preguntas clave. Cada respuesta es un ítem

  48. Muro de las maravillas • Pasos 2. Formar subgrupos de participantes para seleccionar los ítems más importantes • Se define el tiempo de trabajo • Cada ítem se anota en una tarjeta • De 3 a 5 palabras • Letra grande • De 7 a 9 ítems por grupo

  49. Muro de las maravillas • Pasos 3. Pegar las tarjetas en la pared (sin ningún orden en particular) • Algunos grupos pueden aclarar el significado de sus tarjetas

More Related