Download - Introduccion a RAD (Rapid application development)

Transcript
Page 1: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Introduccion a RAD

Gustavo Lacoste - [email protected] - http://lacosox.org

Universidad de la Frontera

12 de Noviembre de 2009

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 1/29

Page 2: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Indice

1 Conceptos previos

2 Ejemplo practico

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 2/29

Page 3: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Que es RAD

”Metodologıa de desarrollo de software que permite construirsistemas utilizables en poco tiempo, normalmente de 60 a 90dıas”.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 3/29

Page 4: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Que es RAD

”Metodologıa de desarrollo de software que permite construirsistemas utilizables en poco tiempo, normalmente de 60 a 90dıas”.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 3/29

Page 5: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 4/29

Page 6: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 4/29

Page 7: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 4/29

Page 8: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 4/29

Page 9: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 4/29

Page 10: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 4/29

Page 11: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 4/29

Page 12: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 4/29

Page 13: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Que ???!!!!

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 5/29

Page 14: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Que ???!!!!

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 5/29

Page 15: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Tranquilo, no todo es tan malo.

En ciertas situaciones, una solucion utilizable al 80 % puedeproducirse en el 20 % de tiempo que se hubiera requeridopara la solucion completa.

En ciertas situaciones, los requisitos de negocio de unsistema pueden satisfacerse aun cuando algunos de susrequisitos operacionales no se satisfagan.

En ciertas situaciones, la aceptabilidad de un sistema puededeterminarse en base a un conjunto mınimo de requisitosconsensados en lugar de la totalidad de los requisitos.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 6/29

Page 16: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Tranquilo, no todo es tan malo.

En ciertas situaciones, una solucion utilizable al 80 % puedeproducirse en el 20 % de tiempo que se hubiera requeridopara la solucion completa.

En ciertas situaciones, los requisitos de negocio de unsistema pueden satisfacerse aun cuando algunos de susrequisitos operacionales no se satisfagan.

En ciertas situaciones, la aceptabilidad de un sistema puededeterminarse en base a un conjunto mınimo de requisitosconsensados en lugar de la totalidad de los requisitos.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 6/29

Page 17: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Tranquilo, no todo es tan malo.

En ciertas situaciones, una solucion utilizable al 80 % puedeproducirse en el 20 % de tiempo que se hubiera requeridopara la solucion completa.

En ciertas situaciones, los requisitos de negocio de unsistema pueden satisfacerse aun cuando algunos de susrequisitos operacionales no se satisfagan.

En ciertas situaciones, la aceptabilidad de un sistema puededeterminarse en base a un conjunto mınimo de requisitosconsensados en lugar de la totalidad de los requisitos.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 6/29

Page 18: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

:)

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 7/29

Page 19: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

:)

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 7/29

Page 20: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Negociar calidad y precio

Negociar la calidad y el precio es esencial en RAD.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 8/29

Page 21: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Esencia de RAD.

Equipos Hıbridos

Herramientas Especializadas.

Timeboxing.

Prototipos evolutivos.

Reutilizacion de componentes de software.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 9/29

Page 22: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Esencia de RAD.

Equipos Hıbridos

Herramientas Especializadas.

Timeboxing.

Prototipos evolutivos.

Reutilizacion de componentes de software.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 9/29

Page 23: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Esencia de RAD.

Equipos Hıbridos

Herramientas Especializadas.

Timeboxing.

Prototipos evolutivos.

Reutilizacion de componentes de software.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 9/29

Page 24: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Esencia de RAD.

Equipos Hıbridos

Herramientas Especializadas.

Timeboxing.

Prototipos evolutivos.

Reutilizacion de componentes de software.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 9/29

Page 25: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Fases de RAD

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 10/29

Page 26: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Fases de RAD

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 10/29

Page 27: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 11/29

Page 28: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 11/29

Page 29: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 11/29

Page 30: Introduccion a RAD (Rapid application development)

λ

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 - [email protected] - http://lacosox.org — Introduccion a RAD 11/29

Page 31: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Frameworks

Un framework es un marco de trabajo disenado para facilitar eldesarrollo proporcionando tareas recorrentes y aburridas de una

manera facil u automatizada.Symfony es un framework para desarrollar aplicaciones en php.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 12/29

Page 32: Introduccion a RAD (Rapid application development)

λ

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, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 13/29

Page 33: Introduccion a RAD (Rapid application development)

λ

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, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 13/29

Page 34: Introduccion a RAD (Rapid application development)

λ

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, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 13/29

Page 35: Introduccion a RAD (Rapid application development)

λ

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, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 13/29

Page 36: Introduccion a RAD (Rapid application development)

λ

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, definirreglas de negocio, planificar pruebas , etc ...

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 13/29

Page 37: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

El costo de vivir en el pasado

Cinicial =∑n

i=1 Cdesarollo +∑n

i=1 Ctesting

Cmantencion ≥≥≥ Cinicial

Cmantencion =∑n

i=1 Ccomprension +∑n

i=1 Ccambio +∑ni=1 Ctesting +

∑ni=1 Cimplementacion

Es preferible invertir tiempo en escribir un codigo entendidble yestandarizado para el cual se podran conseguir programadoresque entendran esta logica de manera facil en el futuro.

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 14/29

Page 38: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Veamos ahora un ejemplo practico !!!

Ejemplo en vivo,¿hay alguna duda hasta el momento?

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 15/29

Page 39: Introduccion a RAD (Rapid application development)

λ

Conceptos previos Ejemplo practico

Fin

Gracias por su atencion

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 16/29

Page 40: Introduccion a RAD (Rapid application development)

λ

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 suobra).Compartir bajo la misma licencia. Si transforma o modifica estaobra para crear una obra derivada, solo puede distribuir la obra re-sultante bajo la misma licencia, una similar o una compatible. Masinfo: http://creativecommons.org/licenses/by-sa/2.0/cl/

Gustavo Lacoste - [email protected] - http://lacosox.org — Introduccion a RAD 17/29