is.exp.1.327117 programación extrema

14
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

Upload: peraltag

Post on 22-Jul-2015

208 views

Category:

Education


0 download

TRANSCRIPT

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

¿Qué es un método ágil de desarrollo de software?

Son aquellos métodos que permiten que el equipo dedesarrollo se enfoque en el software en Lugar del diseñoy la documentación, ya que se apoyan en el enfoqueincremental para la especificación, el desarrollo y laentrega del software.

El método ágil mas conocido es laProgramación Extrema

¿Qué es la programación Extrema?

La programación extrema (xp) es quizás el método dedesarrollo de software ágil mejor conocido y másampliamente usado. El nombre lo acuño Beck en el 2000debido a que el enfoque se desarrolló llevando a niveles“extremos” las practicas reconocidas, como el desarrolloiterativo.

Kent Beck es ingeniero de software estadounidense, unode los creadores de las metodologías de desarrollo desoftware de programación y el desarrollo guiado porpruebas (Test-Driven Development o TDD), tambiénllamados metodología ágil. Beck fue uno de los 17firmantes originales del Manifiesto Ágil en 2001 .

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,

Principios de la Programación ExtremaPlaneación incremental:Los requerimientos se registran en tarjetas de historia y las historias que se van a incluiren 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 incrementalmentefuncionalidad 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 pruebaspara la nueva pieza de funcionalidad antes de que esta ultima se implemente.

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

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

¿Que es una tarjeta de historia?

Son las entradas principales al proceso de planeación de XP o el juego deplaneación. Una vez diseñadas las tarjetas de historia el equipo de desarrollolas descompone y estima esfuerzos y los recursos requeridos paraimplementar cada tarea. Esto involucra por lo general discusiones con elcliente para refinar requerimientos.

El Formato de una tarjeta de historia

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)

Programación en pares

• Trabajar en pares para desarrollar el software

Características:

• Trabajan en misma estación

• Interactúan en un Equipo

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.