DESARROLLO DEL SOFTWARE POR PROTOTIPOS Profesor Luis Pea

  • Slides: 24
Download presentation
DESARROLLO DEL SOFTWARE POR PROTOTIPOS Profesor: Luis Peña

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Profesor: Luis Peña

DESARROLLO DEL SOFTWARE POR PROTOTIPOS • Hay circunstancias en las que por razones prácticas

DESARROLLO DEL SOFTWARE POR PROTOTIPOS • Hay circunstancias en las que por razones prácticas o contractuales, no se puede utilizar una metodología incremental. • Se completa una declaración de los requerimientos del sistema y es usada por el equipo de desarrollo como base para el software del sistema. • Se pueden obtener beneficios en el desarrollo incremental creando un prototipo del software. • Se denomina prototipado desechable porque el prototipo no es entregado al cliente ni mantenido por el desarrollador.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS. Concepto • Prototipo => Versión inicial de un sistema.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS. Concepto • Prototipo => Versión inicial de un sistema. • Se utiliza para demostrar conceptos, probar opciones de diseño e informarse más del problema y sus posibles soluciones. • El desarrollo rápido e iterativo del prototipo es esencial, para que los costos sean controlados y los usuarios puedan experimentar con el prototipo en las primeras etapas del proceso del software.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS. Formas de Uso • Un prototipo del software se

DESARROLLO DEL SOFTWARE POR PROTOTIPOS. Formas de Uso • Un prototipo del software se puede utilizar de varias maneras en el proceso de desarrollo de software: 1. En el Análisis, un prototipo puede ayudar en la obtención y validación de los requerimientos del sistema. 2. En el Diseño, se puede utilizar un prototipo para explorar soluciones particulares y para apoyar al diseño de las interfaces de usuario. 3. En las Pruebas, se puede utilizar un prototipo para ejecutar pruebas con el sistema que se entregará al cliente.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Formas de Uso • Los Prototipos permiten al usuario

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Formas de Uso • Los Prototipos permiten al usuario ver cómo el sistema apoyará a su trabajo. • Adquirir nuevas ideas para los requerimientos y encontrar áreas fuertes y débiles en el software. • Permiten visualizar nuevos requerimientos del sistema. • A medida que se desarrolla el prototipo, puede revelar errores y omisiones en los requerimientos propuestos.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Formas de Uso • Una función descripta en una

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Formas de Uso • Una función descripta en una especificación podría parecer útil y bien definida. • Sin embargo, cuando la función se combina con otras, a menudo los usuarios comprueban que su visión inicial fue incorrecta o incompleta. • El Análisis podría modificarse para reflejar el cambio en la comprensión de los requerimientos.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Formas de Uso • Se puede utilizar un prototipo

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Formas de Uso • Se puede utilizar un prototipo del sistema mientras se esté diseñando el sistema para experimentar y verificar la viabilidad de un diseño propuesto. • Por ejemplo: un diseño de una base de datos puede ser prototipado y probado para verificar que las consultas más comunes de los usuarios tienen el acceso a los datos más eficiente. • El prototipado es también una parte fundamental del proceso de diseño de las interfaces de usuario.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Formas de Uso • Por la naturaleza dinámica de

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Formas de Uso • Por la naturaleza dinámica de las interfaces de usuario, las descripciones textuales y los diagramas no son suficientes para expresar sus requerimientos. • Por lo tanto, el prototipado rápido, con la participación del usuario, es la única forma razonable de desarrollar interfaces gráficas de usuario.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Pruebas del Sistema • Un problema importante en las

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Pruebas del Sistema • Un problema importante en las Pruebas del Sistema es la Validación de las Pruebas, donde debemos comprobar si los resultados de una prueba son lo que se esperaba. • Cuando está disponible un Prototipo del Sistema, se puede reducir el esfuerzo realizado en la comprobación de los resultados ejecutando pruebas back-to-back.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Pruebas del Sistema

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Pruebas del Sistema

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Pruebas del Sistema • Se envían los mismos casos

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Pruebas del Sistema • Se envían los mismos casos de prueba, tanto al Prototipo como al Sistema en prueba. • Si ambos dan el mismo resultado, probablemente el caso de prueba no haya detectado ningún defecto. • Si los resultados difieren, puede significar que hay un defecto en el sistema y se deben investigar las razones de la diferencia.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Funcionalidad del Sistema • Además de apoyar las actividades

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Funcionalidad del Sistema • Además de apoyar las actividades del proceso del software, se utilizan prototipos para reducir el tiempo requerido para desarrollar la documentación del usuario. • Un sistema funcional, aunque limitado, está disponible de forma rápida para demostrar la viabilidad y utilidad de la aplicación a la dirección.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Beneficios 1. Mejora en la usabilidad del sistema 2.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Beneficios 1. Mejora en la usabilidad del sistema 2. Mejor concordancia entre el sistema y las necesidades del usuario 3. Mejora en la calidad del diseño 4. Mejora el mantenimiento 5. Reducción en el esfuerzo de desarrollo

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Costos y Problemas • Las mejoras en la usabilidad

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Costos y Problemas • Las mejoras en la usabilidad y en el Análisis por el uso de prototipos no significan necesariamente un incremento en los costos de desarrollo. • La construcción de prototipos incrementa los costos en las etapas iniciales, pero los reduce en las fases posteriores del proceso de desarrollo. • Pues, evita rehacer el trabajo durante el desarrollo, porque los clientes piden menos cambios en el sistema. • El rendimiento general del sistema se degrada si se reutiliza código ineficiente proveniente del prototipo.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Su Proceso de Desarrollo

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Su Proceso de Desarrollo

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Objetivos de Construcción • Los Objetivos de la construcción

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Objetivos de Construcción • Los Objetivos de la construcción de Prototipos deben ser explícitos desde el principio. • Los Objetivos pueden ser: construir un prototipo de interfaz de usuario, validar los requerimientos funcionales del sistema (Análisis) o para demostrar la viabilidad de una aplicación. • El mismo prototipo no puede cumplir todos los objetivos. • Si éstos no se especifican, la dirección o los usuarios pueden mal interpretar la función del Prototipo. • Por eso, es posible que no obtengan los beneficios que esperan de él.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Su Funcionalidad • La siguiente etapa es decidir qué

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Su Funcionalidad • La siguiente etapa es decidir qué incluir y qué excluir del prototipo. • Para reducir los costos de la construcción del prototipo y acelerar las entregas, se puede excluir de éste cierta funcionalidad. • Se pueden relajar los requerimientos no funcionales, como el tiempo de respuesta y la utilización de la memoria.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Su Funcionalidad • La gestión y manejo de errores

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Su Funcionalidad • La gestión y manejo de errores se puede pasar por alto o hacerse de forma rudimentaria. • Salvo: que el objetivo del prototipo sea establecer una interfaz de usuario; pues allí el manejo de errores es crucial. • Se pueden reducir los estándares de confiabilidad y calidad de la programación.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Su Evaluación • Es la etapa final del proceso

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Su Evaluación • Es la etapa final del proceso de desarrollo de prototipos. • En la evaluación se debe prever la intervención del usuario y utilizar los objetivos del prototipo para poder evaluarlo. • Los usuarios requieren tiempo para acostumbrarse a un nuevo sistema y utilizarlo normalmente. • Una vez que lo utilizan, descubren errores y omisiones en los requerimientos.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Inconvenientes • Un problema general con los prototipos desechables

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Inconvenientes • Un problema general con los prototipos desechables ejecutables es que el modo de utilizarlos puede no corresponder con el modo en que se utiliza el sistema final. • El probador del prototipo puede no ser el usuario típico de éste. • El tiempo de evaluación del prototipo puede ser insuficiente. • Si el prototipo es lento, los evaluadores tienden a evitar las características lentas. • Entonces, si el sistema final tiene mejor tiempo de respuesta, lo pueden utilizar de forma diferente.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Apuro en su entrega • A veces, los gerentes

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Apuro en su entrega • A veces, los gerentes presionan a los desarrolladores para que entreguen los prototipos desechables, especialmente cuando hay retrasos en la entrega de la versión final del software. • En vez de hacer frente a los retrasos, los gerentes creen que entregar un sistema incompleto o de baja calidad es mejor que nada. • Sin embargo, ésto no es aconsejable por las siguientes razones:

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Apuro en su entrega 1. Es difícil ajustar el

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Apuro en su entrega 1. Es difícil ajustar el prototipo para cumplir con los requerimientos no funcionales dejados de lado durante su desarrollo (rendimiento, protección, robustez y confiabilidad). 2. Los cambios rápidos significan que no se documenta el prototipo. La única especificación es el código del prototipo; lo cual no basta para su mantenimiento a largo plazo. 3. Los cambios hechos durante el desarrollo del prototipo degradan la estructura del sistema; que será difícil y caro de mantener. 4. Los estándares de calidad organizacionales se relajan en el desarrollo del prototipo.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Maquetas de Papel • Los prototipos desechables no tienen

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Maquetas de Papel • Los prototipos desechables no tienen que ser ejecutables para ser útiles. • Las maquetas en papel de la interfaz de usuario son efectivas para perfeccionar el diseño de la interfaz. • Ayudan al usuario a trabajar a través de escenarios de utilización. • Son baratas de desarrollar y se pueden construir en pocos días.

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Prototipo «Mago de Oz» • Una extensión de la

DESARROLLO DEL SOFTWARE POR PROTOTIPOS Prototipo «Mago de Oz» • Una extensión de la técnica de la «Maqueta de Papel» es el «Prototipo Mago de Oz» . • Acá sólo se desarrolla la interfaz de usuario. • Los usuarios interactúan con esta interfaz. • Sus peticiones se pasan a una persona que los interpreta y muestra la respuesta apropiada, sin que lo perciba el usuario.