Exposición sobre Programación Extrema, de la Universidad Autonoma de Baja California, Ensenada campus Valle Dorado, de la carrera de Lic. en Informática.
1. Universidad Autónoma de Baja
California
Integrantes:
*Carrillo Conwey Lidia Isabel
*Hernández Durán Francisco Javier
*Peralta Soto Gustavo
Materia:
Ingeniería de Software
Maestro:
Gomero Portilla Alejandro
Tema:
Programación Extrema
18/02/2013
2. ¿Qué es un método ágil de desarrollo de software?
Son aquellos métodos que permiten que el equipo de
desarrollo se enfoque en el software en Lugar del diseño
y la documentación, ya que se apoyan en el enfoque
incremental para la especificación, el desarrollo y la
entrega del software.
4. ¿Qué es la programación Extrema?
La programación extrema (xp) es quizás el método de
desarrollo de software ágil mejor conocido y más
ampliamente usado. El nombre lo acuño Beck en el 2000
debido a que el enfoque se desarrolló llevando a niveles
“extremos” las practicas reconocidas, como el desarrollo
iterativo.
Kent Beck es ingeniero de software estadounidense, uno
de los creadores de las metodologías de desarrollo de
software de programación y el desarrollo guiado por
pruebas (Test-Driven Development o TDD), también
llamados metodología ágil. Beck fue uno de los 17
firmantes originales del Manifiesto Ágil en 2001 .
5. En programación extrema los requerimientos se expresan como escenarios
llamados historias de usuarios que se implementan directamente como una
serie de tareas.
Los programadores trabajaran en pares y antes de escribir el código desarrollan
pruebas para cada tarea.
Todas las pruebas deben ejecutase con éxito una vez que el nuevo código se
integre en el sistema.
Entre las liberaciones del sistema existen un breve lapso.
En un proceso de XP, los clientes intervienen estrechamente en la especificación
y priorización de los requerimientos del sistema,
6.
7. Principios de la Programación Extrema
Planeación incremental:
Los requerimientos se registran en tarjetas de historia y las historias que se van a incluir
en una liberación se determinan por el tiempo disponible y la prioridad relativa.
Liberaciones pequeñas:
Al principio se desarrolla el conjunto mínimo de funcionalidad útil, que ofrece valor
para el negocio, las liberaciones del sistema son frecuentes y agregan incrementalmente
funcionalidad ala primera liberación.
Diseño simple:
se realiza un diseño suficiente para cubrir solo aquellos requerimientos actuales.
Desarrollo de la primera prueba:
se usa un marco de referencia de prueba de unidad automatizada al escribir las pruebas
para la nueva pieza de funcionalidad antes de que esta ultima se implemente.
8. Refactorización:
Se espera que todos los desarrolladores refactoricen de manera continua el código y tan
pronto como sea posible, se encuentren mejoras de este.
Programación en pares:
Los desarrolladores trabajan en pares y cada uno comprueba el trabajo del otro, además
ofrecen apoyo para que se realicen siempre n buen trabajo.
Propiedad colectiva:
Los desarrolladores en pares laboran en todas las áreas del sistema, de manera que no se
desarrollan islas de experiencia ya que todos los desarrolladores se responsabilizan por
todo el código.
Integración continua:
Tan pronto como este completa una tarea se integra en todo el sistema. Después de tal
integración deben aprobarse todas las pruebas en unidad en el sistema.
Ritmo sustentable:
Grandes cantidades de tiempo extra no se consideran aceptable el efecto de este tiempo
libre es reducir la calidad de código y de termino medio
9. Y A NUESTRO PUNTO DE VISTA UNA DE LAS MAS IMPORTANTES
ES LA SIGUIENTE
Cliente en sitio:
Un representante del usuario final del sistema( el cliente) tienen que disponer de tiempo
completo para formar parte del equipo XP, En un proceso de programación extrema el
cliente es miembro del equipo de desarrollo y responsable de llevar los requerimientos
del sistema al grupo para su implementación
10. ¿Que es una tarjeta de historia?
Son las entradas principales al proceso de planeación de XP o el juego de
planeación. Una vez diseñadas las tarjetas de historia el equipo de desarrollo
las descompone y estima esfuerzos y los recursos requeridos para
implementar cada tarea. Esto involucra por lo general discusiones con el
cliente para refinar requerimientos.
12. Pruebas en XP
La Programación extrema(xp) incluye un enfoque para probar que reduce las
posibilidades de introducir errores no detectados en la versión actual del sistema.
Características clave para poner a prueba XP:
1) Desarrollo de primera prueba, (prueba y error)
2) desarrollado de pruebas incrementales a partir de escenarios, (por módulos o
tareas)
3) involucramiento del usuario en el desarrollo y la validación de pruebas, (Aprobación
por requerimientos)
4) y el uso de marcos de pruebas (automatización)
13. Programación en pares
• Trabajar en pares para desarrollar el software
Características:
• Trabajan en misma estación
• Interactúan en un Equipo
14. Ventajas
• Apoya la idea de la propiedad.
• Actúa como un proceso de revisión informal,
al menos dos personas revisan cada línea de
código.
• Ayuda a la refactorización que es un proceso
de mejoramiento del software.