Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 59 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Anuncio
Anuncio

Más reciente (20)

Prototipos

  1. 1. 1
  2. 2. 2 Ingeniería de requerimientos Obtención y Análisis de Requisitos Técnicas: • Obtención orientada al punto de vista (VORD). • Escenarios. • Etnografía. • Modelos de Sistemas: Análisis Estructurado, Modelo de Datos, Modelo de Objetos • Prototipos.
  3. 3. 3 Ingeniería de requerimientos • Conocer el papel de la construcción de prototipos de software en los diferentes tipos de desarrollo de proyectos. • Conocer la diferencia entre la construcción de prototipos evolutivos y la de prototipos desechables. • Aprender tres técnicas distintas para el desarrollo de prototipos. • Saber por qué la construcción de prototipos es la única técnica viable para el diseño y desarrollo de la interfaz de usuario. Obtención y Análisis de Requisitos
  4. 4. 4 Ingeniería de requerimientos • Saber por qué la construcción de prototipos es la única técnica viable para el diseño y desarrollo de la interfaz de usuario. Obtención y Análisis de Requisitos
  5. 5. 5 Ingeniería de requerimientos Introducción: • Por lo general, los clientes y usuarios finales del software encuentran difícil expresar sus requisitos. • No siempre es posible predecir la manera en que un sistema afectará el trabajo diario, como interactuará con otros sistemas y qué operaciones se deberían automatizar. Obtención y Análisis de Requisitos
  6. 6. 6 Ingeniería de requerimientos Introducción: • Un análisis cuidadoso de los requisitos junto con revisiones sistemáticas de éstos ayudan a reducir dicha incertidumbre... Obtención y Análisis de Requisitos
  7. 7. 7 Ingeniería de requerimientos Introducción: • ..no obstante, no existe substituto real para probar un requisito antes de estar de acuerdo con él. • Lo anterior es posible si está disponible un prototipo del sistema. Obtención y Análisis de Requisitos
  8. 8. 8 Ingeniería de requerimientos Definición de Prototipo: • Versión inicial de un sistema de software que se utiliza para demostrar los conceptos, probar las opciones de diseño y, de forma general, conocer más el problema y sus posibles soluciones. Obtención y Análisis de Requisitos
  9. 9. 9 Ingeniería de requerimientos Construcción de Prototipos: • El desarrollo rápido de prototipos es esencial puesto que se controlan los costos, y los usuarios pueden experimentar con el prototipo en las primeras etapas del proceso de software. Obtención y Análisis de Requisitos • Un prototipo de software apoya a dos actividades del proceso de Ingeniería de requerimientos: – Obtención de Requisitos. – Validación de Requisitos.
  10. 10. 10 Ingeniería de requerimientos Construcción de Prototipos: • Puede usarse como un análisis de riesgo y como una técnica de reducción. Obtención y Análisis de Requisitos • Un riesgo importante en el desarrollo de software son los errores y omisiones de requisitos.
  11. 11. 11 Ingeniería de requerimientos Construcción de Prototipos: Obtención y Análisis de Requisitos • Un prototipo puede ayudar a bajar costos totales del desarrollo, reducir la propagación de errores a etapas posteriores del mismo, y disminuir el número de problemas con la especificación de requisitos.
  12. 12. 12 Ingeniería de requerimientos Construcción de Prototipos: otras ventajas... • Al mostrar las funciones del sistema se identifican las diferencias entre desarrolladores y usuarios. Obtención y Análisis de Requisitos • Durante el desarrollo del prototipo, el personal del desarrollo de software puede darse cuenta de que los requisitos son inconsistentes y/o están incompletos.
  13. 13. 13 Ingeniería de requerimientos Construcción de Prototipos: otras ventajas... Obtención y Análisis de Requisitos • Aunque limitado, se dispone rápidamente de un sistema que funciona y demuestra la factibilidad y usabilidad de la aplicación a administrar.
  14. 14. 14 Ingeniería de requerimientos Construcción de Prototipos: otras ventajas... • El prototipo se utiliza como base para escribir la especificación para la producción de un sistema de calidad. Obtención y Análisis de Requisitos
  15. 15. 15 Ingeniería de requerimientos Construcción de Prototipos: ventajas según un estudio con 39 proyectos... Obtención y Análisis de Requisitos – Mejora en la usabilidad del sistema. – Mejor acoplamiento entre el sistema y las necesidades del usuario. – Mejora en la calidad del diseño. – Mejora en el mantenimiento. – Reducción en el esfuerzo de desarrollo.
  16. 16. 16 Ingeniería de requerimientos Construcción de Prototipos: ventajas según un estudio con 39 proyectos... Obtención y Análisis de Requisitos • El uso de prototipos no necesariamente significa un aumento en los costos de desarrollo. • Por lo general, la construcción de prototipos incrementa los costos en las etapas iniciales del proceso de software, pero reduce los costos posteriores.
  17. 17. 17 Ingeniería de requerimientos Construcción de Prototipos: ventajas según un estudio con 39 proyectos... Obtención y Análisis de Requisitos • La razón principal: se evita rehacer el trabajo durante el desarrollo, cuando los clientes solicitan “pequeños” cambios al sistema. • Sin embargo, también se encontró que una consecuencia negativa fue que el desempeño total del sistema, algunas veces, es degradado debido a la reutilización de código ineficiente proveniente del prototipo.
  18. 18. 18 Ingeniería de requerimientos Proceso de Desarrollo de Prototipos: Establecer Definir Desarrollar Evaluar Objetivos del Funcionalidad Prototipo Prototipo Prototipo Plan de Definición Prototipo Informe Construcción General Ejecutable de Evaluación del Prototipo Obtención y Análisis de Requisitos
  19. 19. 19 Ingeniería de requerimientos Construcción de Prototipos: dos tipos... Obtención y Análisis de Requisitos • Prototipo evolutivo: dar al usuario un sistema incompleto y después modificarlo y aumentarlo en el momento en que los requisitos del usuario sean claros. • Prototipo desechable: para ayudar al análisis y validación de requisitos. Tras su evaluación, se descarta y se construye un sistema de calidad.
  20. 20. 20 Ingeniería de requerimientos Construcción de Prototipos: Evolutivos. Obtención y Análisis de Requisitos • Comienza con un sistema relativamente simple, que implementa los requisitos más importantes del usuario. • Dicho prototipo se expande o cambia en cuanto se descubran nuevos requisitos. Finalmente se convierte en el sistema final.
  21. 21. 21 Ingeniería de requerimientos Construcción de Prototipos: Evolutivos. Obtención y Análisis de Requisitos • No tiene una especificación detallada, y en algunos casos no existe un documento formal de requisitos. • La técnica más común para desarrollar sitios Web y aplicaciones de comercio electrónico.
  22. 22. 22 Ingeniería de requerimientos Construcción de Prototipos: Desechables. Obtención y Análisis de Requisitos • Ayudan a refinar y clarificar la especificación del sistema. • La evaluación del prototipo informa del desarrollo de la especificación detallada del sistema, que se incluye en el documento de requisitos de éste. • Una vez que se ha redactado la especificación, el prototipo ya no es útil y se descarta.
  23. 23. 23 Ingeniería de requerimientos Construcción de Prototipos: Diferencias... Obtención y Análisis de Requisitos • El objetivo de la construcción de prototipos evolutivos es entregar a los usuarios finales un sistema funcional. • El objetivo de la construcción de prototipos desechables es validar o derivar los requisitos del sistema.
  24. 24. 24 Ingeniería de requerimientos Construcción de Prototipos: Diferencias... Obtención y Análisis de Requisitos • El prototipo evolutivo comienza con los requisitos mejor conocidos, y los menos conocidos se implementan cuando se necesitan por parte de los usuarios. • El prototipo desechable considera aquéllos no bien comprendidos; los ya precisados nunca deben estar en el prototipo.
  25. 25. 25 Ingeniería de requerimientos Construcción de Prototipos: Diferencias... Obtención y Análisis de Requisitos • El prototipo evolutivo crece hacia un sistema final que se debe desarrollar con los mismos estándares de calidad de la organización, como cualquier otro software. Confiable y eficiente. • El prototipo desechable, por tener un periodo de vida corto, no requiere mantenimiento. Pobre desempeño y baja confiabilidad.
  26. 26. 26 Ingeniería de requerimientos Construcción de Prototipos Evolutivos: Obtención y Análisis de Requisitos Desarrollar Construir Utilizar Especificación Prototipo Prototipo Abstracta NO Entregar Prototipo apto? Sistema SÍ
  27. 27. 27 Ingeniería de requerimientos Construcción de Prototipos Evolutivos: Ventajas... Obtención y Análisis de Requisitos • Entrega acelerada del sistema: se favorece la entrega y la usabilidad, en lugar de privilegiar detalles de funcionalidad y el mantenimiento del software. • Compromiso del usuario con el sistema.
  28. 28. 28 Ingeniería de requerimientos Construcción de Prototipos Evolutivos: se parece al RAD en: Obtención y Análisis de Requisitos • Los procesos de especificación, diseño e implementación se entrelazan. • Se utilizan técnicas de desarrollo rápido de sistemas, como herramientas CASE y lenguajes de cuarta generación. • El sistema se desarrolla en una serie de incrementos. • Generalmente, las interfaces del sistema de desarrollan usando un sistema de desarrollo interactivo.
  29. 29. 29 Ingeniería de requerimientos Construcción de Prototipos Evolutivos: se parece al RAD en: Obtención y Análisis de Requisitos • Generalmente, las interfaces del sistema de desarrollan usando un sistema de desarrollo interactivo.
  30. 30. 30 Ingeniería de requerimientos Construcción de Prototipos Evolutivos: problemas... Obtención y Análisis de Requisitos • De Administración: evolución rápida del sistema no hace costeable producir una gran cantidad de documentación del sistema. • De Mantenimiento: los cambios continuos tienden a corrom-per la estructura del prototipo. • Contractuales: los contratos se basan en una especificación del sistema; si éste no existe, es difícil diseñarlos.
  31. 31. 31 Ingeniería de requerimientos Construcción de Prototipos Evolutivos: Obtención y Análisis de Requisitos • Los problemas anteriores se solucionan usando un proceso de desarrollo incremental. • Este tipo de proceso es más manejable puesto que sigue los estándares normales del proceso de software.
  32. 32. 32 Ingeniería de requerimientos Construcción de Prototipos Desechables: Obtención y Análisis de Requisitos • Este enfoque extiende el proceso de análisis de requisitos con la intención de reducir los costos del ciclo de vidacompleto. • La función principal del prototipo es clarificar los requisitos y proveer información adicional a los administradores para valorar los riesgos del proceso.
  33. 33. 33 Ingeniería de requerimientos Construcción de Prototipos Desechables: Obtención y Análisis de Requisitos • Después de la evaluación, el prototipo se desecha; no se usa como base para el desarrollo posterior.
  34. 34. 34 Ingeniería de requerimientos Construcción de Prototipos Desechables: Obtención y Análisis de Requisitos • Este esquema de trabajo es común para los sistemas de hardware para validar el diseño. • Un prototipo de software desechable normalmente no se usa para validar el diseño, sino que ayuda a desarrollar los requisitos del sistema. • Después de la evaluación, el prototipo se desecha; no se usa como base para el desarrollo posterior.
  35. 35. 35 Ingeniería de requerimientos Construcción de Prototipos Desechables: Obtención y Análisis de Requisitos Requisitos Desarrollar Evaluar Especificar Generales Prototipo Prototipo Sistema Componentes Reusables Desarrollar Validar Sistema de Software Sistema Software
  36. 36. 36 Ingeniería de requerimientos Construcción de Prototipos Desechables: Obtención y Análisis de Requisitos • El prototipo se desarrolla a partir de un bosquejo de la especificación... • Y se modifica hasta que el cliente esté satisfecho con su funcionalidad. • Se entrega para experimentar con él...
  37. 37. 37 Ingeniería de requerimientos Construcción de Prototipos Desechables: Obtención y Análisis de Requisitos • Más que derivar una especificación a partir del prototipo, algunas veces se sugiere que la especificación del sistema sea la implementación del mismo prototipo. • Este enfoque presenta varios problemas...
  38. 38. 38 Ingeniería de requerimientos Construcción de Prototipos Desechables: Obtención y Análisis de Requisitos • Las características importantes se excluyen del prototipo para simplificar la implementación rápida (por ejemplo, las funciones críticas de seguridad). • Una implementación no tiene valor legal para el contrato entre el cliente y el contratista. • En una implementación del prototipo, no se pueden probar de manera adecuada los requisitos no funcionales, como los de confiabilidad, robustez y seguridad.
  39. 39. 39 Ingeniería de requerimientos Construcción de Prototipos Desechables: problemas... Obtención y Análisis de Requisitos • El modo de utilizarlo no corresponde con la forma de cómo se usa el sistema final entregado. • Algunas veces, se presiona a los desarrolladores para que entreguen los prototipos desechables para su utilización, en particular cuando existen retrasos en la entrega de la versión final del software…no es conveniente porque:
  40. 40. 40 Ingeniería de requerimientos Construcción de Prototipos Desechables: problemas... Obtención y Análisis de Requisitos – Puede ser imposbile afinar el prototipo para que cumpla con los requisitos no funcionales. – El cambio rápido durante el desarrollo significa que no se documente el prototipo. – Los cambios hechos durante el desarrollo del prototipo pueden degradar la estructura del sistema. – Los estándares de calidad organizacionales, normalmente, se relajan para el desarrollo del prototipo.
  41. 41. 41 Ingeniería de requerimientos Técnicas de Construcción de Prototipos: Obtención y Análisis de Requisitos • Son técnicas de desarrollo que hacen énfasis en la velocidad de entrega más que en otras características del sistema, como el desempeño, mantenimiento o confiabilidad. • Existen tres técnicas prácticas de desarrollo rápido para el desarrollo de prototipos de carácter industrial: – Desarrollo con lenguajes dinámicos de alto nivel. – Programación de bases de datos. – Ensamblaje de componentes y aplicaciones.
  42. 42. 42 Ingeniería de requerimientos Desarrollo con Lenguajes Dinámicos de Alto Nivel: Obtención y Análisis de Requisitos • Son poderosos recursos de administración de datos en tiempo de ejecución. • Ejemplos: Lisp, Prolog, Smalltalk, Java.
  43. 43. 43 Ingeniería de requerimientos Desarrollo con Lenguajes Dinámicos de Alto Nivel: Obtención y Análisis de Requisitos • Preguntas: – ¿Cuál es el dominio del problema?: sistema interactivo, procesamiento simbólico, lenguaje natural. – ¿Cuál es la interacción del usuario requerida?: Java se integra bien con los navegadores Web, Prolog se adecúa bien para las interfaces basadas en texto. – ¿Cuál es el entorno de ayuda provista por el lenguaje?.
  44. 44. 44 Ingeniería de requerimientos Programación de Bases de Datos: Obtención y Análisis de Requisitos • La mayoría de las aplicaciones de negocios implican la manipulación de una base de datos, y la producción de salidas que involucran organizar y dar formato a esos datos. • Para esto, la mayoría de los SABD comerciales permiten su programación a través de un lenguaje especializado, el que contiene conocimiento de la base de datos y maneja las operaciones necesarias para su manipulación.
  45. 45. 45 Ingeniería de requerimientos Programación de Bases de Datos: Obtención y Análisis de Requisitos • Se denomina “lenguaje de cuarta generación” (4GL) al lenguaje de programación de bases de datos y al entorno en que se desarrolla. • En general, permiten la actualización de la base de datos y la generación de informes a partir de la información de la misma.
  46. 46. 46 Ingeniería de requerimientos Programación de Bases de Datos: componentes de un 4GL... Obtención y Análisis de Requisitos • Un lenguaje de consulta de bases de datos, por lo general SQL: ingresado de forma directa o generado automáticamente a partir de los formularios. • Un generador de interfaces que se utiliza para crear formula-rios de ingreso y despliegue de datos. • Un generador de pantallas para apoyar la definición de las interfaces con el usuario (en especial, basadas en el web).
  47. 47. 47 Ingeniería de requerimientos Programación de Bases de Datos: componentes de un 4GL... Obtención y Análisis de Requisitos • Un generador de informes para el análisis y manipulación de la información numérica. • Una hoja de cálculo para el análisis y manipulación de información numérica.
  48. 48. 48 Ingeniería de requerimientos Programación de Bases de Datos: y prototipos... Obtención y Análisis de Requisitos • La estructuración de las aplicaciones que imponen las herramientas CASE y la documentación asociada significa que los prototipos evolutivos desarrollados bajo este enfoque deben ser más mantenibles que los sistemas desarrollados de forma manual.
  49. 49. 49 Ingeniería de requerimientos Programación de Bases de Datos: desventajas... Obtención y Análisis de Requisitos • Los programas generados tienden a ser más lentos, y requerir de más memoria. • Aunque claramente reducen los costos de desarrollo del sistema, no es del todo claro se reduzcan los costos del ciclo de vida completo…pueden ser altos por la falta de estructuración, dificultad de la mantención y falta de estandari-zación.
  50. 50. 50 Ingeniería de requerimientos Ensamblaje de Componentes y Aplicaciones: Obtención y Análisis de Requisitos • Es posible reducir el tiempo requerido para desarrollar un sistema, si muchas partes de éste se pueden reusar más que diseñar e implementar. • Los prototipos se pueden construir más rápido si se tiene un conjunto de componentes reutilizables y algunos mecanismos para construir estos componentes en sistemas. • El mecanismo de composición debe incluir recursos de control y medios para la comunicación entre los componentes.
  51. 51. 51 Ingeniería de requerimientos Ensamblaje de Componentes y Aplicaciones: Obtención y Análisis de Requisitos Componentes Marco de Trabajo Prototipo Reusables de de Composición Ejecutable Software de Componentes Código de Control e Integración
  52. 52. 52 Ingeniería de requerimientos Ensamblaje de Componentes y Aplicaciones: Obtención y Análisis de Requisitos • El prototipo comprende el desarrollo de una especificación tomando en cuenta qué componentes reutilizables están disponibles. • El desarrollo del prototipo comprende de dos niveles: – El nivel de aplicación en el que la aplicación completa se integra con el prototipo, de manera que su funcionalidad pueda ser compartida. – El nivel de componente en el que los componentes individuales se integran dentro de un marco de trabajo estándar para implementar el sistema.
  53. 53. 53 Ingeniería de requerimientos Ensamblaje de Componentes y Aplicaciones: Obtención y Análisis de Requisitos • La reutilización de aplicaciones da acceso a toda la funcionali-dad de una aplicación. • Una metáfora de composición de documentos es de mucha ayuda para comprender este enfoque de desarrollo de prototipos.
  54. 54. 54 Ingeniería de requerimientos Construcción de Prototipo de la Interfaz de Usuario: Obtención y Análisis de Requisitos • En la actualidad, las GUI se han convertido en la norma para los sistemas interactivos. • El esfuerzo comprendido en la especificación, el diseño y la implementación de una interfaz de usuario representa una parte significativa de los costos de desarrollo de la aplicación.
  55. 55. 55 Ingeniería de requerimientos Construcción de Prototipo de la Interfaz de Usuario: Obtención y Análisis de Requisitos • El usuario debe tomar parte en el proceso de diseño de la interfaz. • Esta forma de trabajo conduce a un enfoque denominado “diseño centrado en el usuario”, que depende de la construcción del prototipo de la interfaz y de la participación del usuario en el proceso de diseño de la interfaz.
  56. 56. 56 Ingeniería de requerimientos Construcción de Prototipo de la Interfaz de Usuario: Obtención y Análisis de Requisitos • Desde el punto de vista de la ingeniería de software, la construcción de prototipos es una parte esencial del proceso de diseño de la interfaz. • La construcción de prototipos evolutivos con la participación del usuario final es la única forma sensible para desarrollar interfaces gráficas de usuario para los sistemas de software.
  57. 57. 57 Ingeniería de requerimientos Construcción de Prototipo de la Interfaz de Usuario: Obtención y Análisis de Requisitos • Los generadores de interfaces son sistemas de diseño de ventanas gráficas en los que los componentes de la interfaz se seleccionan de un menú y se colocan en la interfaz. • Dichos generadores crean un programa bien estructurado generado a partir de la especificación de la interfaz.
  58. 58. 58 Ingeniería de requerimientos Construcción de Prototipo de la Interfaz de Usuario: Web. Obtención y Análisis de Requisitos • En el caso de interfaces para el Web, el uso de html es una notación comprensible para la especificación de la interfaz de usuario. • Botones, campos, formularios y tablas se pueden incluir en las páginas Web, así como en objetos multimedios que permiten el acceso a sonidos, video y pantallas de realidad virtual.
  59. 59. 59 Ingeniería de requerimientos Construcción de Prototipo de la Interfaz de Usuario: Web. Obtención y Análisis de Requisitos • Es posible construir un prototipo de las interfaces de usuario basadas en Web usando un editor de sitios Web que es, esencialmente, un constructor de interfaces de usuario.

×