El documento introduce los conceptos básicos de RAD (Desarrollo Rápido de Aplicaciones) y describe su esencia, que incluye equipos híbridos, herramientas especializadas, timeboxing, prototipos evolutivos y reutilización de componentes de software. También cubre las fases de RAD y algunas herramientas comunes como sistemas de control de versiones y frameworks.
Introduccion a RAD (Rapid application development)
1. ´
Conceptos previos Ejemplo practico
´
Introduccion a RAD
λ
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org
Universidad de la Frontera
12 de Noviembre de 2009
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 1/29
2. ´
Conceptos previos Ejemplo practico
´ndice
I
1 Conceptos previos
λ
2 ´
Ejemplo practico
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 2/29
3. ´
Conceptos previos Ejemplo practico
´
Que es RAD
λ
”Metodolog´a de desarrollo de software que permite construir
ı
sistemas utilizables en poco tiempo, normalmente de 60 a 90
d´as”.
ı
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 3/29
4. ´
Conceptos previos Ejemplo practico
´
Que es RAD
”Metodolog´a de desarrollo de software que permite construir
d´as”.
ı
ı
sistemas utilizables en poco tiempo, normalmente de 60 a 90
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD
λ
3/29
5. ´
Conceptos previos Ejemplo practico
Exigencias del desarrollo web actual
´
Estandarizacion w3c
Mantenibilidad
Eslabilidad
λ
Usablilidad
´
Optimos
Adaptarse con el menor esfuerzo a un nuevo requerimiento
´ ´ ´
Facilitar la deteccion solucion de errores
Viables a corto plazo :s
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 4/29
6. ´
Conceptos previos Ejemplo practico
Exigencias del desarrollo web actual
´
Estandarizacion w3c
Mantenibilidad
Eslabilidad
λ
Usablilidad
´
Optimos
Adaptarse con el menor esfuerzo a un nuevo requerimiento
´ ´ ´
Facilitar la deteccion solucion de errores
Viables a corto plazo :s
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 4/29
7. ´
Conceptos previos Ejemplo practico
Exigencias del desarrollo web actual
´
Estandarizacion w3c
Mantenibilidad
Eslabilidad
λ
Usablilidad
´
Optimos
Adaptarse con el menor esfuerzo a un nuevo requerimiento
´ ´ ´
Facilitar la deteccion solucion de errores
Viables a corto plazo :s
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 4/29
8. ´
Conceptos previos Ejemplo practico
Exigencias del desarrollo web actual
´
Estandarizacion w3c
Mantenibilidad
Eslabilidad
λ
Usablilidad
´
Optimos
Adaptarse con el menor esfuerzo a un nuevo requerimiento
´ ´ ´
Facilitar la deteccion solucion de errores
Viables a corto plazo :s
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 4/29
9. ´
Conceptos previos Ejemplo practico
Exigencias del desarrollo web actual
´
Estandarizacion w3c
Mantenibilidad
Eslabilidad
λ
Usablilidad
´
Optimos
Adaptarse con el menor esfuerzo a un nuevo requerimiento
´ ´ ´
Facilitar la deteccion solucion de errores
Viables a corto plazo :s
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 4/29
10. ´
Conceptos previos Ejemplo practico
Exigencias del desarrollo web actual
´
Estandarizacion w3c
Mantenibilidad
Eslabilidad
λ
Usablilidad
´
Optimos
Adaptarse con el menor esfuerzo a un nuevo requerimiento
´ ´ ´
Facilitar la deteccion solucion de errores
Viables a corto plazo :s
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 4/29
11. ´
Conceptos previos Ejemplo practico
Exigencias del desarrollo web actual
´
Estandarizacion w3c
Mantenibilidad
Eslabilidad
λ
Usablilidad
´
Optimos
Adaptarse con el menor esfuerzo a un nuevo requerimiento
´ ´ ´
Facilitar la deteccion solucion de errores
Viables a corto plazo :s
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 4/29
12. ´
Conceptos previos Ejemplo practico
Exigencias del desarrollo web actual
´
Estandarizacion w3c
Mantenibilidad
Eslabilidad
λ
Usablilidad
´
Optimos
Adaptarse con el menor esfuerzo a un nuevo requerimiento
´ ´ ´
Facilitar la deteccion solucion de errores
Viables a corto plazo :s
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 4/29
13. ´
Conceptos previos Ejemplo practico
´
Que ???!!!!
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD
λ
5/29
14. ´
Conceptos previos Ejemplo practico
´
Que ???!!!!
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD
λ
5/29
15. ´
Conceptos previos Ejemplo practico
Tranquilo, no todo es tan malo.
´
En ciertas situaciones, una solucion utilizable al 80 % puede
producirse en el 20 % de tiempo que se hubiera requerido
´
para la solucion completa.
En ciertas situaciones, los requisitos de negocio de un
λ
sistema pueden satisfacerse aun cuando algunos de sus
requisitos operacionales no se satisfagan.
En ciertas situaciones, la aceptabilidad de un sistema puede
determinarse en base a un conjunto m´nimo de requisitos
ı
consensados en lugar de la totalidad de los requisitos.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 6/29
16. ´
Conceptos previos Ejemplo practico
Tranquilo, no todo es tan malo.
´
En ciertas situaciones, una solucion utilizable al 80 % puede
producirse en el 20 % de tiempo que se hubiera requerido
´
para la solucion completa.
En ciertas situaciones, los requisitos de negocio de un
λ
sistema pueden satisfacerse aun cuando algunos de sus
requisitos operacionales no se satisfagan.
En ciertas situaciones, la aceptabilidad de un sistema puede
determinarse en base a un conjunto m´nimo de requisitos
ı
consensados en lugar de la totalidad de los requisitos.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 6/29
17. ´
Conceptos previos Ejemplo practico
Tranquilo, no todo es tan malo.
´
En ciertas situaciones, una solucion utilizable al 80 % puede
producirse en el 20 % de tiempo que se hubiera requerido
´
para la solucion completa.
En ciertas situaciones, los requisitos de negocio de un
λ
sistema pueden satisfacerse aun cuando algunos de sus
requisitos operacionales no se satisfagan.
En ciertas situaciones, la aceptabilidad de un sistema puede
determinarse en base a un conjunto m´nimo de requisitos
ı
consensados en lugar de la totalidad de los requisitos.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 6/29
18. ´
Conceptos previos Ejemplo practico
:)
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD
λ
7/29
19. ´
Conceptos previos Ejemplo practico
:)
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD
λ
7/29
20. ´
Conceptos previos Ejemplo practico
Negociar calidad y precio
λ
Negociar la calidad y el precio es esencial en RAD.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 8/29
21. ´
Conceptos previos Ejemplo practico
Esencia de RAD.
Equipos H´bridos
ı
Herramientas Especializadas.
λ
Timeboxing.
Prototipos evolutivos.
´
Reutilizacion de componentes de software.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 9/29
22. ´
Conceptos previos Ejemplo practico
Esencia de RAD.
Equipos H´bridos
ı
Herramientas Especializadas.
λ
Timeboxing.
Prototipos evolutivos.
´
Reutilizacion de componentes de software.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 9/29
23. ´
Conceptos previos Ejemplo practico
Esencia de RAD.
Equipos H´bridos
ı
Herramientas Especializadas.
λ
Timeboxing.
Prototipos evolutivos.
´
Reutilizacion de componentes de software.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 9/29
24. ´
Conceptos previos Ejemplo practico
Esencia de RAD.
Equipos H´bridos
ı
Herramientas Especializadas.
λ
Timeboxing.
Prototipos evolutivos.
´
Reutilizacion de componentes de software.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 9/29
25. ´
Conceptos previos Ejemplo practico
Fases de RAD
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD
λ
10/29
26. ´
Conceptos previos Ejemplo practico
Fases de RAD
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD
λ
10/29
27. ´
Conceptos previos Ejemplo practico
Algunas Herramientas.
Sistema de control de versiones
Herramientas CASE de Modelado.
λ
´
Sistemas de gestion online.
Frameworks de desarrollo.
˜
Frameworks de diseno.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 11/29
28. ´
Conceptos previos Ejemplo practico
Algunas Herramientas.
Sistema de control de versiones
Herramientas CASE de Modelado.
λ
´
Sistemas de gestion online.
Frameworks de desarrollo.
˜
Frameworks de diseno.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 11/29
29. ´
Conceptos previos Ejemplo practico
Algunas Herramientas.
Sistema de control de versiones
Herramientas CASE de Modelado.
λ
´
Sistemas de gestion online.
Frameworks de desarrollo.
˜
Frameworks de diseno.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 11/29
30. ´
Conceptos previos Ejemplo practico
Algunas Herramientas.
Sistema de control de versiones
Herramientas CASE de Modelado.
λ
´
Sistemas de gestion online.
Frameworks de desarrollo.
˜
Frameworks de diseno.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 11/29
31. ´
Conceptos previos Ejemplo practico
Frameworks
˜ ´
Un framework es un marco de trabajo disenado para facilitar el
λ
desarrollo proporcionando tareas recorrentes y aburridas de una
´
manera facil u automatizada.
Symfony es un framework para desarrollar aplicaciones en php.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 12/29
32. ´
Conceptos previos Ejemplo practico
´
Desarrollo rapido y de mejor calidad
´
Menos codigo
Menos complejidad
Menores Bugs
λ
´
Mas Productividad
´
Mas tiempo
Es preferible invertir el tiempo en entender el problema, definir
´
reglas de negocio, planificar pruebas , etc ...
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 13/29
33. ´
Conceptos previos Ejemplo practico
´
Desarrollo rapido y de mejor calidad
´
Menos codigo
Menos complejidad
Menores Bugs
λ
´
Mas Productividad
´
Mas tiempo
Es preferible invertir el tiempo en entender el problema, definir
´
reglas de negocio, planificar pruebas , etc ...
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 13/29
34. ´
Conceptos previos Ejemplo practico
´
Desarrollo rapido y de mejor calidad
´
Menos codigo
Menos complejidad
Menores Bugs
λ
´
Mas Productividad
´
Mas tiempo
Es preferible invertir el tiempo en entender el problema, definir
´
reglas de negocio, planificar pruebas , etc ...
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 13/29
35. ´
Conceptos previos Ejemplo practico
´
Desarrollo rapido y de mejor calidad
´
Menos codigo
Menos complejidad
Menores Bugs
λ
´
Mas Productividad
´
Mas tiempo
Es preferible invertir el tiempo en entender el problema, definir
´
reglas de negocio, planificar pruebas , etc ...
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 13/29
36. ´
Conceptos previos Ejemplo practico
´
Desarrollo rapido y de mejor calidad
´
Menos codigo
Menos complejidad
Menores Bugs
λ
´
Mas Productividad
´
Mas tiempo
Es preferible invertir el tiempo en entender el problema, definir
´
reglas de negocio, planificar pruebas , etc ...
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 13/29
37. ´
Conceptos previos Ejemplo practico
El costo de vivir en el pasado
n n
Cinicial = i =1 Cdesarollo + i =1 Ctesting
Cmantencion ≥≥≥ Cinicial
λ
n n
Cmantencion = i =1 Ccomprension + i =1 Ccambio +
n n
i =1 Ctesting + i =1 Cimplementacion
´
Es preferible invertir tiempo en escribir un codigo entendidble y
´
estandarizado para el cual se podran conseguir programadores
´ ´ ´
que entendran esta logica de manera facil en el futuro.
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 14/29
38. ´
Conceptos previos Ejemplo practico
´
Veamos ahora un ejemplo practico !!!
λ
Ejemplo en vivo,¿hay alguna duda hasta el momento?
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 15/29
39. ´
Conceptos previos Ejemplo practico
Fin
λ
´
Gracias por su atencion
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 16/29
40. ´
Conceptos previos Ejemplo practico
Licencia
Usted es libre de:
´
copiar, distribuir y comunicar publicamente la obra
hacer obras derivadas
λ
Bajo las condiciones siguientes:
´
Reconocimiento. Debe reconocer los creditos de la obra de la man-
era especificada por el autor o el licenciador (pero no de una man-
era que sugiera que tiene su apoyo o apoyan el uso que hace de su
obra).
Compartir bajo la misma licencia. Si transforma o modifica esta
´
obra para crear una obra derivada, solo puede distribuir la obra re-
sultante bajo la misma licencia, una similar o una compatible. Mas´
info: http://creativecommons.org/licenses/by-sa/2.0/cl/
´
Gustavo Lacoste - gustavo@lacosox.org - http://lacosox.org — Introduccion a RAD 17/29