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.
2. QUE SE TE OCURRE CUANDO ESCUCHAS EL TERMINO PROGRAMACION EXTREMA?
3. UN POCO DE HISTORIA… Se reconoce a Kent Beck como el que articuló y le dio nombre propio a esta propuesta, pero se conocen antecedentes de que Cunningham en 1989 forma un equipo de trabajo que usaba los principios y muchas de la s practicas que después adoptaría xp.
4. 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
5. DEFINICIÓN La 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.
6. 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
7. OBJETIVOS Los objetivos xp son muy simples: La satisfacción del cliente. Potenciar al máximo el trabajo en grupo.
14. 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.
15. ABRIENDO LAS PUERTAS A ALGO NUEVO: METODOLOGIAS AGILES ADENTRANDONOS EN EL TEMA.
16. 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. adaptabilidad de cualquier cambio
17. ENTREMOS EN CONTEXTO 1 . 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 (Unittestingframeworks).
19. GRANDES PROYECTOS Creatividad liberada Use Visual Studio TeamFoundation 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ón Los 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 asegurado Caracterí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.
20. ¡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
21. 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. ????
22. 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
23. 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.
24. 3.Entendimiento compartido Diseño simple: Se cumplen los requerimientos. Metáfora vs UML. Propiedad colectiva del código. Estándar de codificación.