Você está na página 1de 31

Prototipacin

1
Distribucin de Costos en el
Ciclo de Vida de un Sistema
Ingeniera de Requerimientos. Prototipacion. Alvaro
Ortas.
2
Estudio de Lientz
40%
10%
50%
Desarrollo
Mant. por extensin o f allas de
construccin
Mant. por requerimientos incorrectos
o incompletos
Objetivos de la Ing. de
Software
Obtener un proceso de desarrollo eficaz.
Un proceso es eficaz si produce un sistema eficaz.
Un sistema es eficaz si cumple con las
necesidades de los usuarios.
Obtener un proceso de desarrollo eficiente.
Un proceso es eficiente cuando produce un
sistema eficaz en el menor tiempo posible y al
menor costo posible.
Una forma de alcanzar eficacia y eficiencia:
incrementar la calidad de la definicin y
especificacin de requerimientos.
Una forma de incrementar la calidad de los
requerimientos: PROTOTIPACION.
3
Prototipo
Modelo operativo de un sistema de
informacin (o de una parte de l) en
el cual se hace nfasis en algunos
aspectos del sistema. [VONK].

Implementacin parcial de un
sistema, sin proveer funcionalidad,
para que usuarios y desarrolladores
aprenden algo sobre el problema.
[DAVIS].
4
Conclusiones sobre la
Definicin de Prototipo de
Software
Un prototipo es un modelo (o representacin) del sistema.
Por ser un modelo no se tienen en cuenta atributos
(requerimientos) como: calidad, eficiencia, robustez,
mantenibilidad, etc.
Por no considerar los atributos mencionados su
construccin puede y debe ser quick and dirty.
La diferencia con otros modelos es que es operativo, por
tanto muestra el comportamiento del sistema.
La utilidad del prototipo es aprender sobre el dominio del
problema.
Se busca eliminar incertidumbre sobre un conjunto de
requerimientos (en cualquier fase de desarrollo).

5
Tipos de Prototipos
Mock-up.
Muestra, en forma esttica, aspectos externos
del sistema como: pantallas, reportes, etc.
Mago de Oz.
Mock-up con simulacin de respuestas del
sistema hecha por una persona, en funcin de
los estmulos del usuario.
Prototipo funcional.
Mago de Oz con alguna funcionalidad
automatizada.
6
Prototipacin
Una estrategia para establecer los
requerimientos de un sistema (en las fases
ms tempranas del desarrollo),
caracterizada por un alto grado de
iteracin, por un alto grado de
participacin del usuario en el proceso
de desarrollo y un uso extensivo de
prototipos. [VONK].
7
Clases de Prototipacin
Orientada a la interfaz del usuario.
Se intenta modelar la apariencia externa del sistema (pantallas, reportes, dilogo) sin considerar
acciones de ingreso de datos.
Prototipos resultantes: mock-up, Mago de Oz.
Orientada a la funcionalidad.
Se intenta representar la captura y almacenamiento de los datos de los usuarios, adems de la
apariencia externa.
Prototipo resultante: funcional.
Orientada a descubrir requerimientos en forma temprana.
Se utiliza para aprender ms del problema y su solucin. Luego el prototipo puede evolucionar o ser
desechado.
Prototipo resultante: exploratorio.
Orientada a la construccin del sistema final.
Se utiliza el prototipo para conocer ms del problema y su solucin. Una vez que los requerimientos
quedan establecidos se adapta el prototipo para que cumpla con los requerimientos de calidad,
robustez, eficiencia, etc. y se convierte en el sistema final.
Prototipo resultante: evolutivo.
Orientada a que el usuario se familiarice con el sistema.
Se utiliza el prototipo para conocer ms del problema y su solucin. Una vez que los requerimientos
quedan establecidos se desecha el prototipo y a partir de el se construye el sistema final.
Prototipo resultante: desechable [FLOYD] o sistema piloto [VONK].
Orientada a la verificacin de la solucin a un problema.
Se realiza en la fase de diseo. Se busca determinar cuan adecuada es la solucin a un problema,
ej.: eficiencia.
Prototipo resultante: experimental.
8
Cundo Usar Prototipos?
Cuando:
Los requerimientos no son claros para los
desarrolladores.
Los requerimientos y necesidades no son claras
para los usuarios.
Los requerimientos son muy voltiles durante el
desarrollo.
Resumen: cuando existe desconocimiento
del dominio (desarrolladores) y cuando existe
desconocimiento de necesidades (usuarios).
9
En Qu Fases de la IR
Usarlos?
En Extraccin y Negociacin de
Requerimientos.
Clarificados los requerimientos se puede
escribir un ESRE.
En Validacin de Requerimientos.
Escrito el ESRE, el prototipo sirve como
elemento aclaratorio de este.

10
Cmo Usar Prototipos?
Davis sugiere:
Escribir un ESRE preliminar.
Implementar el prototipo en funcin de ese
ESRE.
Negociar/validar/hacer que el usuario
adquiera experiencia con el prototipo.
Escribir un ESRE definitivo.
11
Prototipacin en el Contexto
de un Proceso
12
Inicio del
Proyecto
Ing. de
Req.
Otras
Fases
Anlisis
y Especif.
Crudos
Diseo
y
Construccin
Evaluacin
Modificacin Finalizacin
Segn Roland Vonk
Inicio del Proyecto
Objetivos.
Definir el rea problema del negocio.
Delinear posibles soluciones (por ej. un SI).
Tareas.
Delimitacin del rea problema.
Seleccin de una estrategia de desarrollo.
Productos.
Esbozo de plan de proyecto.

13
Anlisis y Especificacin
Crudos
Objetivos.
Obtener una especificacin preliminar de
un subset de requerimientos de
comportamiento (funcionales e interfaz).
Tareas.
Extraccin, anlisis, especificacin.
Rpido y sucio.
Productos.
Especificacin preliminar de subset de
requerimientos de comportamiento (SRC).
Participacin del usuario: SI.
14
Diseo y Construccin
Objetivos.
Desarrollar un prototipo del sistema.
Tareas.
Un enfoque:
Construccin de la capa de presentacin de
datos.
Construccin de la capa de datos.
Construccin de la capa de lgica.
Rpido y sucio.
Productos.
El Prototipo.
Participacin del usuario: NO.

15
Evaluacin
Objetivos.
Estabilizar el SRC.
Tareas.
Preparacin de los usuarios.
Demostracin del prototipo.
Utilizacin del prototipo.
Feedback de los usuarios.
Productos.
Prototipo evaluado y SRC estabilizados.
Participacin del usuario: SI.
16
Modificacin
Objetivos.
Implementar cambios acordados en
evaluacin.
Tareas.
Las mismas que en la fase de Diseo y
Construccin.
Productos.
Prototipo actualizado.
Participacin del usuario: NO.
17
Finalizacin
Objetivos.
Definir subset restante de requerimientos:
Resto de los de comportamiento.
No comportamentales.
Tareas.
Extraccin, anlisis, especificacin.
Productos.
Requerimientos no funcionales.
Participacin del usuario: SI.
18
Condiciones Necesarias para
la Prototipacin
Variables a considerar.
Tipo de herramientas utilizadas.
Tipo de sistema a desarrollar.
Tamao del sistema a
desarrollar.
Destrezas de desarrolladores y
usuarios.

19
Tipos de Herramientas a Utilizar
Poseer herramientas adecuadas que
integren:
Un dibujador de pantallas.
Lenguaje de muy alto nivel para
implementar funcionalidad.
Un buen administrador de base de datos.
De no poseer estas herramientas
imposible la prototipacin.
20
Tipo de Sistema a Desarrollar
Tipologas posibles:
Tipo de aplicacin.
Orientada los datos (aplicaciones de base de datos).
Orientada a los procesos (aplicaciones de clculos).
Nivel decisional que apoya.
Estratgicos (informacin nada estructurada, mucha incertidumbre).
Tctico (informacin ms estructurada, menor incertidumbre).
Operativo (informacin estructurada, poca incertidumbre).
Dominio que abarca.
Comercial (fuertemente orientado a los datos, pocos procesos).
Tcnico/cientfico (software incrustado, aplicaciones matemticas).
Forma de comunicacin con el usuario.
Interactivo (gran interaccin con el usuario).
Batch (casi ninguna interaccin con el usuario).
Conviene prototipar cuando se requiere gran participacin
del usuario.
21
Tamao del Sistema
Grande o mediano.
Siempre y cuando el sistema o partes de el
presenten problemas segn la tipologa
mencionada antes.
Pequeo.
No es muy necesaria la prototipacin.
22
Destrezas de Desarrolladores y
Usuarios
Usuarios.
Tienen un buen relacionamiento con la TI.
Disponen del tiempo necesario para ayudar a
desarrollar el prototipo.
Disponen del tiempo necesario para experimentar con
el prototipo.
Desarrolladores.
Capacidad de uso de tcnicas de anlisis de sistemas
tradicionales.
Capacidad de diseo.
Capacidad de programacin de prototipos.
Capacidad de aguante frente a continuos cambios
en el prototipo.
23
Problemas de la Prototipacin
Anlisis no adecuado del problema.
Apresuramiento en buscar una solucin.
Demasiado nfasis en los detalles.
Poco nfasis en las interfaces con otros
sistemas.
Confundir anlisis con la solucin del problema.
Poca comprensin de lo que es
prototipacin de:
Los desarrolladores.
Los gerentes de proyectos.
Los usuarios.

24
Poca Comprensin...
Desarrolladores
Se requieren nuevos conocimientos.
Resistencia al cambio.
Forma de evitarlos: entrenamiento.
25
Poca Comprensin... Gerentes
Software construido y desechado.
Gasto de tiempo e incremento de costos.
Forma de evitarlo: anlisis de
costo/beneficio.
26
Poca Comprensin... Usuarios
Pueden creer que es el sistema final y considerarlo
un mal sistema (falta de calidad, eficiencia,
robustez, etc.).
Pueden creer que el sistema se puede desarrollar
con la misma rapidez que el prototipo.
Presionan a los desarrolladores para encarar otros
sistemas.
Requiere mucho tiempo de los usuarios.
Forma de evitarlos: orientacin sobre los objetivos
y el procedimiento de prototipacin.
27
Solucin a los Problemas
Preparar a la organizacin.
Decisin de adoptarlo como estrategia.
Entrenamiento a los desarrolladores y usuarios.
Adquisicin de herramientas.
Seleccin de proyecto(s) piloto(s).
Sistema fuertemente orientado a IU.
Sistema pequeo.
No estratgico para la organizacin.
Propagar la estrategia de prototipacin.
Evaluar el proyecto.
Realizar conclusiones.
Seleccionar otros proyectos.
28
Beneficios de la Prototipacin
Reduccin de probabilidades de prdida
econmica.
Apoyo a la factibilidad tcnica, econmica y
operativa.
Reduccin de costos de mantenimiento.
Muestran la parte comportamental de los
requerimientos.
Reduccin de la incertidumbre del problema.
Especificacin de requerimientos de mayor calidad.
Reduccin de costos de desarrollo.
Modelo vivo para los desarrolladores.
Sistema testigo para la prueba del sistema final.
Reduccin de costos de entrenamiento.
Usuarios ms familiarizados con el sistema.
29
Costos de la Prototipacin
Costos de incorporacin de la estrategia.
Cambios culturales.
Costos de entrenamiento.
Capacitacin de desarrolladores y
usuarios.
Costos de desarrollo.
Se extiende el tiempo de desarrollo.
30
Bibliografa
Captulos 3, 4, 5, 7, 8, 9 y 10, Prototyping:
The Effective use of CASE Technology,
Roland Vonk.
Captulo 3, Requirements Engineering,
Gerald Kotonya and Ian Sommerville.
Captulo 6, Software Requirements:
Objects, Functions and States, Alan M.
Davis.
31

Você também pode gostar