Ensayo
Manuel Saelices msaelices@yaco.es
1
Índice de contenidos
1. 2. 3. 4. 5. 6. 7. 8.
Introducción a metodologías ágiles ¿Qué pedir a un framework web? ¿Es J2EE ágil? Python, ejemplo de lenguage ágil Introducción a Django Demo, desarrollo en Django Django by example Reflexiones finales
2
Índice de contenidos
1. 2. 3. 4. 5. 6. 7. 8.Introducción a metodologías ágiles ¿Qué pedir a un framework web? ¿Es J2EE ágil? Python, ejemplo de lenguage ágil Introducción a Django Demo, desarrollo en Django Django by example Reflexiones finales
3
Introducción metodologías ágiles
Metodologías tradicionales
Hacen énfasis en la planificación Etapas definidas
Análisis de requisitos Especificación y diseñodel sistema Implementación Pruebas Documentación Es una metodología pesada No responde bien ante el cambio
4
Principal problema:
Introducción metodologías ágiles
Problemas en desarrollo software
El cliente
no sabe de tecnología no sabe lo que quiere, si no lo ve antes prefiere algo funcional que leer un diseño
Es difícil tener todos los cabosatados La tecnología cambia rápido Siempre surgen problemas
5
Introducción metodologías ágiles
ASERTO: TODO DESARROLLO SOFTWARE ES MUY SUSCEPTIBLE AL CAMBIO DE REQUISITOS
6
Introducción metodologías ágiles
Metodologías ágiles
Se enfrentan a las metodologías tradicionales Énfasis en la adaptabilidad del proceso Agilizan los procesos de desarrollo Da por hechoque los requisitos cambiarán Intenta:
Prever el cambio lo antes posible: entrega constante Responder al cambio de forma rápida
7
Índice de contenidos
1. 2. 3. 4. 5. 6. 7. 8.
Introducción a metodologías ágiles ¿Qué pedir a un framework web? ¿Es J2EE ágil? Python, ejemplo de lenguage ágil Introducción a Django Demo, desarrollo en Django Django by example Reflexiones finales
8¿Qué pedir a un framework web?
“La belleza conduce a la felicidad, y la felicidad conduce a la productividad”
David Heinemeier Hanson, creador de Ruby on Rails
9
¿Qué pedir a un framework web?
El proceso en un framework web debe ser
Ágil
Rápido de desarrollar Rápido ciclo de desarrollo Flexible Facilitar el despliegue Código legible, mantenible y belloConvención sobre configuración Divertido ;-)
10
Simple
¿Qué pedir a un framework web?
¿Cómo ser ágil?
Automatizar/eliminar tareas repetitivas
DRY (Don't Repeat Yourself) En instalación y despliegue En desarrollo
sistema de permisos y usuarios construcción/validación de formularios creación del modelo de datos creación de datos de prueba
Rápidociclo de desarrollo
Eliminar necesidad de reinicios Sistema de recarga de librerías
11
¿Qué pedir a un framework web?
¿Cómo ser ágil?
Utilizar un ORM (Object Relational Mapper)
Abstrae de la base de datos:
Flexibilidad ante el cambio de requisitos Reutilización para otros proyectos
La máquina crea el SQL El código resulta más legible Aumenta laseguridad de tu sistema
No hay inyección SQL Menos fallos en programación
12
¿Qué pedir a un framework web?
Sin ORM
cursor.execute(“SELECT * FROM personas \ WHERE edad=” + 20) for row in cursor.fetchall(): id = row[0] edad = row[1] cursor.execute(“UPDATE personas WHERE id=%s \ SET edad=%d” % (id, edad+1))
Con ORMfor p in Personas.listado(edad=20): # ejecuta SELECT p.edad = p.edad + 1 p.nombre = “Juan” p.update() # ejecuta UPDATE
13
¿Qué pedir a un framework web?
¿Cómo ser ágil?
Instalación y despliegue
Scripts de automatización para todo Creación automática del esquema de datos Creación automática de datos de prueba Tests unitarios, de carga y funcionales Te quita el miedo a:...
Regístrate para leer el documento completo.