Prototipado del software

25
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)

description

UTN - FRT - Diseño de Sistemas. Prototipado del Software. Unidad I - 3K1 -2011

Transcript of Prototipado del software

Page 1: Prototipado del software

Ingeniería en Sistemas de Información

Diseño de Sistemas(3K1)

Page 2: Prototipado del software

Contenidos de la Unidad 1Introducción al Diseño

e) Modelos de desarrollo rápido del software

Sommervillle. Introducción Cap. 17

1.Métodos ágiles. Sommervillle. Sección 17.1.Kendall&Kendall. Capítulo 6.Sección PROGRAMACIÓN EXTREMA Larman, 2ª.Ed., Cap. 37.3

2. Desarrollo rápido de aplicaciones.

Sommervillle. Sección 17.3Pressman. Sección 2.6 Kendall&Kendall. Capítulo 6. Sección DESARROLLO RÁPIDO DE APLICACIONES.

3. Prototipado del software.a.Clases de prototipos.b.Desarrollo de un prototipo c.Ventajas y Desventajas de

prototipos.d.Papel del usuario en la

elaboración de prototipos.   

Sommervillle. Sección 17.4.Pressman. Sección 2.5 Kendall&Kendall. Capítulo 6     

Page 3: Prototipado del software

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.

Prototipado del Software(Sommerville, 17.4)

Page 4: Prototipado del software

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.

Prototipado del SoftwareConcepto

Page 5: Prototipado del software

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.

Prototipado del SoftwareFormas de Uso

Page 6: Prototipado del software

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.

Prototipado del SoftwareFormas de Uso

Page 7: Prototipado del software

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.

Prototipado del SoftwareFormas de Uso

Page 8: Prototipado del software

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.

Prototipado del SoftwareFormas de Uso

Page 9: Prototipado del software

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.

Prototipado del SoftwareFormas de Uso

Page 10: Prototipado del software

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.

Prototipado del SoftwarePruebas del Sistema

Page 11: Prototipado del software

Prototipado del SoftwarePruebas del Sistema

Page 12: Prototipado del software

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.

Prototipado del SoftwarePruebas del Sistema

Page 13: Prototipado del software

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.

Prototipado del SoftwareFuncionalidad del Sistema

Page 14: Prototipado del software

1. Mejora en la usabilidad del sistema2. Mejor concordancia entre el sistema y las

necesidades del usuario3. Mejora en la calidad del diseño4. Mejora el mantenimiento5. Reducción en el esfuerzo de desarrollo

Prototipado del SoftwareBeneficios

Page 15: Prototipado del software

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.

Prototipado del SoftwareCostos y Problemas

Page 16: Prototipado del software

Prototipado del SoftwareSu Proceso de Desarrollo

Page 17: Prototipado del software

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.

Prototipado del SoftwareObjetivos de Construcción

Page 18: Prototipado del software

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.

Prototipado del SoftwareSu Funcionalidad

Page 19: Prototipado del software

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.

Prototipado del SoftwareSu Funcionalidad

Page 20: Prototipado del software

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.

Prototipado del SoftwareSu Evaluación

Page 21: Prototipado del software

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.

Prototipado del SoftwareInconvenientes

Page 22: Prototipado del software

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:

Prototipado del SoftwareApuro en su entrega

Page 23: Prototipado del software

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.

Prototipado del SoftwareApuro en su entrega

Page 24: Prototipado del software

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.

Prototipado del SoftwareMaquetas de Papel

Page 25: Prototipado del software

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.

Prototipado del SoftwarePrototipo «Mago de Oz»