El diseño
rápido se basa en una representación de aquellos aspectos del software que
serán visibles para el cliente o el usuario final (por ejemplo, la
configuración de la interfaz con el usuario y el formato de los despliegues de
salida). El diseño rápido conduce a la construcción de un prototipo, el cual es
evaluado por el cliente o el usuario para una retroalimentación; gracias a ésta
se refinan los requisitos del software que se desarrollará. La iteración ocurre
cuando el prototipo se ajusta para satisfacer las necesidades del cliente. Esto
permite que al mismo tiempo el desarrollador entienda mejor lo que se debe
hacer y el cliente vea resultados a corto plazo.
Etapas
Plan rápido.
Modelado,
diseño rápido.
Construcción
del Prototipo.
Desarrollo,
entrega y retroalimentación.
Comunicación.
http://scruz334.blogspot.es/img/construcciondeprototipos.gif
Los pasos necesarios
para la construcción de prototipos son los siguientes:
Evaluar la
petición del software y determinar si el programa a desarrollar es un buen
candidato para construir un prototipo. Debido a que el cliente debe
interaccionar con el prototipo en los últimos pasos, es esencial que:1) El
cliente participe en la evaluación y refinamiento del prototipo. 2) El
cliente sea capaz de tomar decisiones de requerimientos de una forma oportuna.
Finalmente, la naturaleza del proyecto de desarrollo tendrá una fuerte
influencia en la eficacia del prototipo.
Dado un
proyecto candidato aceptable, el analista desarrolla una representación
abreviada de los requerimientos. Antes de que pueda comenzar la construcción de
un prototipo, el analista debe representar los dominios funcionales y de
información del programa y desarrollar un método razonable de partición. La
aplicación de estos principios de análisis fundamentales, pueden realizarse mediante
los métodos de análisis de requerimientos.
Después de
que se haya revisado la representación de los requerimientos, se crea un
conjunto de especificaciones de diseño abreviadas para el prototipo. El diseño
debe ocurrir antes de que comience la construcción del prototipo. Sin
embargo, el diseño de un prototipo se enfoca normalmente hacia la arquitectura
a nivel superior y a los aspectos de diseño de datos, en vez de hacia el
diseño procedimental detallado.
El software
del prototipo se crea, prueba y refina idealmente, los bloques de construcción
de software preexisten se utilizan para crear el prototipo de una forma rápida.
Desafortunadamente, tales bloques construidos raramente existen. Incluso si la
implementación de un prototipo que funcione es impracticable, es escenario
deconstrucción de prototipos puede aún aplicarse. Para las aplicaciones
interactivas con el hombre, es posible frecuentemente crear un prototipo en
papel que describa la interacción hombre-máquina usando una serie de hojas de historia.
Una vez que
el prototipo ha sido probado, se presenta al cliente, el cual "conduce la
prueba" de la aplicación y sugiere modificaciones. Este paso es el
núcleo del método de construcción de prototipo. Es aquí donde el cliente puede
examinar una representación implementada de los requerimientos del programa,
sugerir modificaciones que harán al programa cumplir mejor las necesidades
reales.
Los pasos 4
y 5 se repiten iterativamente hasta que todos los requerimientos estén
formalizados o hasta que el prototipo haya evolucionado hacia un sistema
de producción. El paradigma de construcción del prototipo puede ser conducido
con uno o dos objetivos enmente:1) El propósito del prototipado es establecer
un conjunto de requerimientos formales que pueden luego ser traducidos en la
producción de programas mediante el uso de métodos y técnicas de ingeniería de
programación.
El propósito
de la construcción del prototipo es suministrar un continuo que pueda conducir
al desarrollo evolutivo de la producción del software. Ambos métodos tienen sus
méritos y ambos crean problemas.
Ventajas
1. Este modelo es
útil cuando el cliente conoce los objetivos generales para el
software, pero no identifica los requisitos detallados de entrada,
procesamiento o salida.
2. También ofrece
un mejor enfoque cuando el responsable del desarrollo del software está
inseguro de la eficacia de un algoritmo, de la adaptabilidad de un sistema
operativo o de la forma que debería tomar la interacción humano-máquina.
3. No modifica
el flujo del ciclo de vida.
4. Reduce el
riesgo de construir productos que no satisfagan las necesidades de los
usuarios.
5. Reduce
costos y aumenta la probabilidad de éxito.
6. Exige
disponer de las herramientas adecuadas.
7. No presenta
calidad ni robustez.
8. Una vez
identificados todos los requisitos mediante el prototipo, se construye el
producto de ingeniería.
Desventajas
El usuario
tiende a crearse unas expectativas cuando ve el prototipo de cara al sistema
final. A causa de la intención de crear un prototipo de forma rápida, se suelen
desatender aspectos importantes, tales como la calidad y el mantenimiento a
largo plazo, lo que obliga en la mayor parte de los casos a reconstruirlo una
vez que el prototipo ha cumplidos u función. Es frecuente que el usuario se
muestre reacio a ello y pida que sobre ese prototipo se construya el sistema
final, lo que lo convertiría en un prototipo evolutivo, pero partiendo de un
estado poco recomendado.
En aras de desarrollar rápidamente el prototipo, el
desarrollador suele tomar algunas decisiones de implementación poco
convenientes (por ejemplo, elegir un lenguaje de programación incorrecto porque
proporcione un desarrollo más rápido). Con el paso del tiempo, el desarrollador
puede olvidarse de la razón que le llevó a tomar tales decisiones, con lo que
se corre el riesgo de que dichas elecciones pasen a formar parte del sistema
final.
No hay comentarios:
Publicar un comentario