programación extrema

25
PROGRAMACIÓN EXTREMA (XP)

Upload: felix-hdez

Post on 03-Jul-2015

1.819 views

Category:

Documents


0 download

DESCRIPTION

presentacion correspondiente a la exposicion de programacion extrema para el curso de analisis y diseño de sistemas del programa de sistemas. Universidad Popular del cesar.

TRANSCRIPT

Page 1: Programación extrema

PROGRAMACIÓNEXTREMA (XP)

Page 2: Programación extrema

QUE SE TE OCURRE CUANDO

ESCUCHAS EL TERMINO

PROGRAMACION EXTREMA?

Page 3: Programación extrema

UN POCO DE HISTORIA…

Se reconoce a Kent Beck comoel que articuló y le dio nombrepropio a esta propuesta, perose conocen antecedentes deque Cunningham en 1989 formaun equipo de trabajo queusaba los principios y muchas dela s practicas que despuésadoptaría xp.

Page 4: Programación extrema

Posteriormente, la consolidación de xp se

logra con la publicación del libro de Kent

Beck ¨Extreme Programming Explanied:

embrace Change ¨ en 1999 con el cual

Beck gano el premio Software Development

Jolt Product Excellence.

Kent Beck

Page 5: Programación extrema

DEFINICIÓNLa programación extrema o eXtreme

Programming (xp) es un enfoque de la

ingeniería de software y se diferencia de las

metodologías tradicionales principalmente

en que pone más énfasis en la

adaptabilidad que en la previsibilidad. Los

defensores de XP consideran que los

cambios de requisitos sobre la marcha son

un aspecto natural, inevitable e incluso

deseable del desarrollo de proyectos.

Page 6: Programación extrema

Retraso en la planificación.

Sistemas deteriorados.

Tasa de defectos.

Requisitos mal comprendidos.

Cambios en el negocio.

Falsa riqueza.

Cambio de personal.

PROBLEMAS EN EL

DESARROLLO DE SOFTWARE

Page 7: Programación extrema

OBJETIVOS

Los objetivos xp son muy simples:

La satisfacción del cliente.

Potenciar al máximo el trabajo

en grupo.

Page 8: Programación extrema

VALORES

Simplicidad

Comunicación

Retroalimentación

Coraje

Respeto

Page 9: Programación extrema

SIMPLICIDAD

Page 10: Programación extrema

COMUNICACION

Page 11: Programación extrema

RETROALIMENTACION

O FEEDBACK

Page 12: Programación extrema

CORAJE

Page 13: Programación extrema

RESPETO

Page 14: Programación extrema

CARACTERISTICAS

FUNDAMENTALES

Desarrollo iterativo e incrementado.

Pruebas unitarias continuas.

Programación en pareja.

Integración del equipo de programación con

el cliente.

Propiedad del código compartida.

Simplicidad y comunicación.

Page 15: Programación extrema

ABRIENDO LAS PUERTAS A ALGO NUEVO:

METODOLOGIAS AGILES

ADENTRANDONOS EN EL TEMA.

Page 16: Programación extrema

METODOLOGIAS AGILES • Los individuos y sus interacciones son más

importantes que los procesos.

• El software que funciona es más importante que la documentación exhaustiva.

• La colaboración con el cliente en lugar de la negociación de contratos.

• La respuesta delante del cambio en lugar de seguir un plan aislado.

adapt ab i l idad de cua lqu ie r cambio

Page 17: Programación extrema

ENTREMOS EN CONTEXTO1 . Retroalimentación a escala fina:

El principio de pruebas: se tiene que establecer un

período de pruebas de aceptación del programa

donde se definirán las entradas al sistema y los

resultados esperados de estas entradas.

Ambientes de Prueba (Unit testing frameworks).

Page 18: Programación extrema

¿QUÉ PODEMOS ENCONTRAR EN

EL MERCADO?

Page 19: Programación extrema

GRANDES PROYECTOS Creatividad liberada

Use Visual Studio Team Foundation Server 2010 para administrar los procesos de desarrollo de software y facilitar la colaboración, a fin de liberar a los equipos de trabajo de tareas mundanas de no codificación y brindarles más autonomía para que den rienda suelta a la creatividad.

Simplicidad mediante la integraciónLos analistas, arquitectos, desarrolladores, diseñadores, evaluadores y jefes de proyecto de la empresa pueden hacer uso de sus habilidades actuales para trabajar con herramientas conocidas en un entorno perfectamente integrado para establecer conexiones, comunicarse y colaborar.

Código de calidad aseguradoCaracterísticas eficaces como la automatización de compilación y la entrada validada lo ayudan a asegurarse de que los defectos y regresiones sean detectados con la mayor antelación posible.

Page 20: Programación extrema

¡POCOS RECURSOS!, NUnit es una herramienta que se encarga de analizar ensamblados generados por .NET, interpretar las pruebas inmersas en ellos y ejecutarlas. Utiliza atributos personalizados para interpretar las pruebas y provee además métodos para implementarlas. En general, NUnit compara valores esperados y valores generados, si estos son diferentes la prueba no pasa, caso contrario la prueba es exitosa.

NUnit ofrece una interface simple que informa si una prueba o un conjunto de pruebas falló, pasó o fue ignorada.La última versión disponible de NUnit es la 2.2, que se encuentra en estado beta y la ultima versión estable es la 2.1, se pueden descargar de: http://www.nunit.org/download.html

Page 21: Programación extrema

Proceso de planificación:

El usuario tendrá que escribir sus necesidades,

definiendo las actividades que realizará el

sistema.

Numero de historias ??????

Reuniones periodicas. ????

Semanas de trabajo. ????

Page 22: Programación extrema

El cliente en el sitio: se le dará

poder para determinar los

requerimientos, definir la

funcionalidad.

Programación en parejas: uno

de los principios más radicales y

en el que la mayoría de gerentes

de desarrollo pone sus dudas

Page 23: Programación extrema

2. PROCESO CONTINUO EN LUGAR DE

POR LOTES.

Integración continua: permite al equipo

hacer un rápido progreso

implementando las nuevas

características del software.

Refactorización.

Entregas pequeñas: evaluado en un

ambiente real.

Page 24: Programación extrema

3.Entendimiento compartido

Diseño simple: Se cumplen los requerimientos.

Metáfora vs UML.

Propiedad colectiva del

código.

Estándar de codificación.

Page 25: Programación extrema