Está en la página 1de 22

PROGRAMA DE ESTUDIOS: DISEÑO Y PROGRAMACÓN WEB

PERIODO ACADEMICO: III CICLO

TURNO: NOCTURNO

MODULO: DESARROLLO DE APLICACIONES WEB Y APLICACIONES


MOVILES

UNIDAD DIDACTICA: DISEÑO DE BASE DE DATOS

TEMA: CLASIFICACION Y TIPOS DE BASES DE DATOS

DOCENTE: MG. ING. NÉSTOR DAVID HILARIO CASTRO

INTEGRANTES:

-CRISTIAN ALONSO IVAÑEZ ALVARADO (COORDINADOR)

-EDILBERTO AGAPITO RODRIGUEZ SALVADOR

-IVAN ALBERTO ARQUEROS CASTILLO

-ELVIS JOEL ARENAS HILARIO


Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

TAREA 02

PROGRAMACION EXTREMA

1. CONCEPTO

Está relacionado con las metodologías Agiles. Su objetivo es capacitar a los


equipos y medios para producir software de alta calidad y adaptarse a las
necesidades cambiantes y cambiantes. La programación extrema es un
método basado en la comunicación, reutilización y retroalimentación del código
desarrollado. A diferencia de otros métodos, tiene reglas y valores estrictos que
dictan cómo se realiza el trabajo.

(Figura01) Valores Xp

Tarea 02 1
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

(Figura 02) Xp Programación Extrema

2. HISTORIA

El comienzo de la XP se remonta a la década de los 90, cuando Kent Beck se


convirtió tiempo después en uno de los autores del "Manifiesto Ágil". Lo creo
cuando lo contrataron para dirigir el Equipo de Compensación Integrada de
Chrysler. El proyecto comenzó en 1993 y logró algunos avances en 1996. Lo
mejor que podía hacer, decidió Beck, era enseñar a los miembros de su equipo
los métodos y prácticas que habían funcionado para él. Comenzaron a utilizar
prácticas como la programación en pareja y TDD con gran éxito. Ron Jeffrey,
amigo de Beck y coautor del “Manifiesto Ágil”, fue contratado para entrenar al
equipo C3. En 1999, Kent Beck estableció las prácticas, principios y valores de
XP en su libro “Explicación de la programación extrema; Aceptación del
cambio”.

Tarea 02 2
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

(Figura 03) Kent Beck

3. ANTES DE LA XP

 SCRUM: El Fue desarrollado por Ken Schwaber y Jeff Sutherland, lo


presentan en la conferencia OOPSLA 95 (Programación Orientada a
Objetos, Sistemas, Lenguajes y Aplicaciones) en Austin, Texas. Jeff
Sutherland está en Scrum, Inc. presidente (CEO) y Ken Schavaber es el
fundador de Scrum.org. Mike Beal fue uno de los primeros en adoptar Scrum
y ayudó a llevarlo a muchas organizaciones.

 Feature Driven Development (FDD): Fue desarrollado originalmente por Jeff


De Luca. Define mejores prácticas tales como: modelado de objetos de
dominio, desarrollo por funciones, membresías de clases individuales
(código), división de grupos de trabajo por funciones, pruebas,
administración de configuración, compilación regular (regular) y visibilidad
del progreso y los resultados.

El proceso FDD se explica en la publicación Color Java Modeling with UML:


Business Components and Processes (Jeff De Luca y Peter Coad).
Desarrollo de software adaptativo (1999): Jim Highsmith formalizó el
concepto de desarrollo de software adaptativo en su libro del mismo nombre.
Esta idea se convirtió en el método de desarrollo rápido de aplicaciones
(RAD). Este enfoque ofrece un ciclo de vida de 3 fases: especulación,
colaboración y aprendizaje.

4. ¿QUÉ ES C3?

El Sistema integral de nómina de Chrysler (comúnmente conocido como "C3")


es un proyecto de Chrysler Corporation para reemplazar múltiples aplicaciones
de nómina con un solo sistema. El proyecto comenzó un trabajo de desarrollo
serio en Smalltalk en 1995, pero no logró alcanzar un estado estable y se
reinició en 1996 bajo la dirección de Kent Beck. Fue este proyecto reiniciado el
que reunió por primera vez todas las prácticas que se conocieron como

Tarea 02 3
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

programación extrema (aunque Kent había adoptado un enfoque similar en


proyectos anteriores).

El software comenzó en 1997 y ha pagado a unas 10.000 personas. El


proyecto continuó con el objetivo de obtener un mayor porcentaje del salario,
pero en 1999 se suspendió el nuevo desarrollo. Más tarde, los sistemas en
tiempo real existentes cambiaron a COBOL (aunque lo último que escuché es
que todavía les cuesta a algunas personas). No se puede procesar). con el
software existente). También escuché que planeo usar un sistema ERP para la
nómina en el futuro. El éxito inicial de C3 ha inspirado en gran medida a XP, y
C3 ha desempeñado un papel de liderazgo clave en el desarrollo de XP.
Cuando se canceló el proyecto, muchos otros proyectos habían replicado el
éxito inicial de C3 para continuar con el desarrollo de XP. Sin embargo, la
cancelación de C3 también muestra que XP no es garantía de éxito.

5. APARICION DE LA XP

Extreme Programming fue el método dominante en el mundo ágil en la década


de 2000. Luego, los marcos Scrum se hicieron populares.

A pesar de esto, sigue siendo uno de los métodos ágiles de desarrollo de


software más exitosos. Esto, junto con Scrum, proporciona un gran control
sobre el proyecto y una implementación más eficiente.

Para que nos hagamos una idea, el objetivo de la programación extrema es


proporcionar a los usuarios el software que necesitan en el momento
adecuado.

6. XP COMO METODOLOGIA

Se utiliza para gestionar proyectos en equipo, acordar entregas continuas y así


evitar que los cambios de los clientes nos obliguen a empezar de cero. El
ingeniero de software Kent Beck es el hombre que fundó la metodología XP en

Tarea 02 4
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

1999. Desde entonces, este enfoque de los proyectos digitales ha demostrado


ser el método de desarrollo de software más eficaz.

CARACTERÍSTICAS DE PROGRAMACIÓN EXTREMAS

 Basado en prueba/error: Este es un enfoque en constante evolución que


facilita y fomenta la retroalimentación, por lo que debe estar dispuesto a
aceptar cambios constantes y tener el coraje de abandonar el código que
ha creado e iterarlo.

 Compromiso con el cliente: Los clientes pasan a formar parte del equipo
junto con los programadores, analistas, desarrolladores y diseñadores. Se
espera que sean agentes clave en el proceso de creación y construcción,
por lo que se debe considerar su aporte al diseñar un producto
personalizado.

 Programación flexible y flujo de trabajo sin estrés: Extreme


Programming XP requiere un máximo de 40 horas de trabajo por semana
para tener siempre un equipo dedicado y entusiasta.

Para lograr un ritmo de trabajo uniforme y eficiente, también es importante la


flexibilidad de horarios. En la programación extrema se excluye el estrés, pero
se busca la perseverancia y un ambiente creativo.

Para gestionar de forma eficaz y eficiente los proyectos de desarrollo de


software, es necesario adaptarse a un ritmo de trabajo dinámico y en constante
cambio. Para ello, existen diversas herramientas digitales que permiten a los
entrenadores:

 Organizar reuniones diarias.


 Haga listas de tareas pendientes.
 Cooperación exterior.
 Monitorear el progreso.

Tarea 02 5
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

 Informar a los miembros del equipo y mantener una comunicación efectiva.

Recuerde que la programación extrema es muy dinámica y requiere el registro


de todos los procesos. El software de gestión de proyectos le permitirá hacer
esto y tener un producto exitoso.

7. XP COMO FILOSOFIA

La filosofía se basa en cuatro valores: comunicación, sencillez, realimentación


y valentía, que se formulan a partir de un conjunto de principios.

El libro de Kent Beck "Explicación de la programación extrema - Aceptación del


cambio" tiene 15 principios, pero 5 de ellos se destacan como principios
básicos.
 Retroalimentación rápida
 Hagámoslo simple
 Cambios graduales
 Aceptar el cambio
 Trabajo de calidad

Igualmente, de ser buenos principios para desarrollar soluciones de software


son de buenos principios para implementar cambios organizados

La retroalimentación rápida se refiere a la implementación de cambios y su


aprobación lo más rápido posible con el destinatario (cliente) de los cambios.
Tomando prestada otra línea del libro, “No me preguntes a mí, pregúntale al
sistema”, la mejor información sobre el camino hacia el cambio se encuentra
dentro de la organización, dentro del sistema, por lo que debemos pedir
retroalimentación al sistema.

Tarea 02 6
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

Tendemos a encontrar soluciones complejas a problemas aparentemente


complejos. Las soluciones a los problemas suelen ser tan simples que desafían
nuestra inteligencia.

Tal vez tenemos un problema de comunicación entre dos departamentos y


estamos pensando en crear un conjunto de reglas de comunicación que dicten
cómo se deben enviar las actas, con qué frecuencia se deben enviar las
solicitudes, etc. La solución más fácil es probablemente tener los dos
departamentos ubicados en la misma habitación, no separados por paredes.

Cuando parte de nuestra cultura se daña en nuestra organización, solemos


tomarnos en serio cambios importantes que afectan a todos los niveles y todos
los departamentos. Una estrategia que respalda los principios anteriores es el
cambio incremental, es decir, comenzar con cambios pequeños y simples en un
departamento pequeño y comenzar a recibir retroalimentación del proceso de
cambio para mejorarlo. Me gusta el concepto de cambio incremental, es decir,
cambio orgánico, en definitiva, sembrar las semillas del cambio constante y
dejarlo crecer en otros departamentos.

El principal factor limitante del cambio siempre hemos sido nosotros mismos.
Hay un dicho que lo deja muy claro: todos queremos un cambio, pero ninguno
quiere cambiar. Abrazar el cambio es sentirse atraído por lo nuevo, aceptar y
confiar en lo que está por venir, y aunque no sepamos si será mejor, al menos
será diferente y nos llevará a un nuevo estado.

El último principio, que se considera la base de la filosofía XP, es producir un


trabajo de alta calidad. Nuevamente, en términos más simples, la excelencia es
un hábito.

Tarea 02 7
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

(Figura 4) Xp Corp

Principios que revela XP.


 Aprende a aprender
 Pequeña inversión inicial
 Luchar para ganar
 Experimentos específicos
 Comunicación abierta y honesta
 Ir con los instintos de las personas, no contra ellos
 Tomar responsabilidad
 Adaptación local
 Luz del paquete
 Medición justa

8. IMPORTANCIA
Además de valores y principios, Extreme Programming ofrece buenas
prácticas de planificación, organización, comunicación e ingeniería de software
que, combinadas con valores y principios, crean una cultura de equipo
sobresaliente.

9. OBJETIVOS
 La intención detrás de la introducción de la programación extrema era, y
sigue siendo, eliminar la oposición a la modificación del código en un

Tarea 02 8
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

proyecto de desarrollo. Por lo general, el código nunca se cambia después


de que se escribe con métodos más convencionales de desarrollo de
software (aparte de la depuración).
 Desarrolle sistemas de alta calidad basados en una comunicación
frecuente con los clientes, pruebas exhaustivas y ciclos de desarrollo
rápidos.

10. FASES DE LA METODOLOGIA XP


El objetivo de Extreme Programming xp es proporcionar a los clientes el
software adecuado en el momento adecuado, pero para lograr este resultado,
los programadores deben tomar algunas medidas especiales.

Figura 1. Fases de la Metodología XP

10.1.Planificación O Planeación

La primera fase de la metodología XP consiste en identificar una historia


de usuario, en la que se detallan los requisitos específicos del software a
desarrollar. Pero las historias de usuario incluyen las necesidades del
cliente, el tiempo y las estimaciones para que la gestión se pueda
planificar de acuerdo con las prioridades.

Tarea 02 9
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

Estas historias se dividen en mini-versiones que permiten un


seguimiento periódico. El proyecto debe revisarse cada dos semanas
utilizando el método xp para garantizar que sea útil, funcional y esté listo
para funcionar.
10.2.Diseño

Figura 2.Diseño XP

En este paso del método XP, se crea un código simple para probar la
efectividad del programa, la idea es crear un código con el poder
suficiente para cubrir la historia del usuario, es decir. para sus
necesidades Los sistemas XP deben estar diseñados para ser flexibles e
integrados, de modo que puedan pasar al siguiente paso durante la
prueba.

Al mismo tiempo, el diseño del software genera un mapa CRC (Clase -


Responsabilidad - Colaboración) que describe la clase utilizada para
programar el historial del cliente.

10.3.Codificación

Tarea 02 10
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

Tarea 02 11
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

Figura 3.Codificación Xp

Se hace a dos manos, es decir en parejas frente a una computadora, y


en algunos casos se cambian las manos para hacer el código más
general para que cualquier otro empleado pueda manejarlo y entenderlo.
Debe parecer que lo hizo una sola persona para que tengas un horario
organizado y planificado.

10.4.Pruebas

Figura 4. Pruebas XP

La naturaleza del método XP es un cambio constante, por lo que una


vez que el código de una función está listo, se somete a una serie de
pruebas unitarias continuas para corregir errores periódicamente.
El tiempo de actividad en XP es relativamente corto, por lo que el control
continuo de la automatización es fundamental.
Muchas veces es el cliente quien añade conocimientos de programación
a la funcionalidad del propio Tester (es recomendable que sus
comentarios sean realmente útiles para el equipo).

10.5.Lanzamiento
Si hemos llegado a este punto, significa que hemos probado con éxito
todas las historias de usuario o mini versiones y las hemos adaptado
según los requisitos del cliente. Tenemos un software útil y podemos
integrarlo en los productos

Tarea 02 12
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

1. Roles de la metodología XP

1.1. El Cliente
Es quien se encarga de crear Carteras de Productos, de escribir historias
de Usuario y establecer muchas prioridades.

1.2. El Programador
Es la persona que es un desarrollador habitual, que escribe el código
dado y también realiza todas las tareas encomendadas de un proyecto.

1.3. El Entrenador
Es quien se encarga de controlar, revisar y enseñar a todos los
miembros para que el trabajo sea más eficiente y bueno.

1.4. El Rastreador
Es quien se encarga de Monitorear todo el proceso que se desarrolla en
el Software, además debe revisar si es que existe algún problema con él.

1.5. El Poblador
Es quien se encarga de probar el producto hecho. Todo al final depende
de su trabajo.

1.6. El Pronosticador
Es quien está al tanto de todo tipo de riesgos y además advierte a todo
el grupo lo que está pasando.

2. Las Variables de XP
Esto se define en cuatro partes y son las siguientes:
 Coste
 El tiempo
 Calidad
 Alcance

Tarea 02 13
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

3. Características XP

o Planificación super abierta y muy flexible.


o Desarrollo que incrementa pequeñas mejoras para hacer un buen trabajo.
o El equipo siempre será el mayor factor para todo el éxito obtenido.
o La documentación está por debajo del Software.
o Debe haber una buena comunicación entre cliente y servidor.
o Respuesta rápida y eficaz.

Tarea 02 14
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

4. Valores

4.1. La Comunicación
Es cuando existe una buena relación entre el Proveedor y también entre
el consumidor.

4.2. La Simplicidad
Te ayuda a solucionar Problemas y también para que codifiques todo lo
que tiene que ver con el Hoy y no con el Futuro.

4.3. La Retroalimentación
Dentro de las metodologías es una de las más tradicionales tipo cascada

14.4. Coraje o Valentía


Muchas prácticas implican coraje. Una es diseñar y programar siempre
para hoy, no para mañana. Esto es para evitar quedarse atascado con el
diseño y evitar gastar demasiado tiempo y trabajo en el resto del
proyecto. Bravery permite a los desarrolladores restaurar fácilmente su
código si es necesario. Esto significa revisar los sistemas existentes y
cambiarlos si esto facilitaría la implementación de cambios futuros. Otro
ejemplo de valentía es saber cuándo retirar el código: ser lo
suficientemente valiente como para eliminar el código fuente obsoleto,
sin importar cuánto esfuerzo y tiempo se hayan dedicado a crearlo. Ser

Tarea 02 15
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

valiente también significa ser persistente: los programadores pueden


sentarse en un problema difícil todo el día y luego resolverlo
rápidamente al día siguiente, siempre que sean persistentes.

14.5 Respeto

El respeto se muestra de muchas maneras. Los miembros del equipo se


respetan entre sí porque los desarrolladores no pueden hacer cambios
que provoquen que las pruebas existentes fallen o ralenticen a los
colegas. Los miembros respetan su trabajo porque siempre se esfuerzan
por lograr una alta calidad del producto y encontrar el mejor diseño de
solución o el más eficiente a través de la refactorización de código. Los
miembros del equipo respetan el trabajo de los demás en lugar de hacer
menos por los demás, y una mayor confianza en sí mismos en un equipo
aumenta su productividad.

15. Actividades de XP

15.1. Codificación

Es necesario codificar y traducir nuestras ideas a través del código.


En programación, código significa la explicación del problema, así
podemos comunicarnos en código tomando acción ideas
compartidas y así aprender y mejorar.

15.2 Haz la prueba

Una función de software que no puede simplemente no hay prueba


para demostrarlo. Esta prueba nos da la oportunidad de saber si
está implementado lo que se tenía en mente. La evidencia nos dice
que nuestro trabajo funciona cuando no podemos imaginar nada, la
prueba puede hacer que nuestro sistema falle y luego habremos
terminado.

Tarea 02 16
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

15.3. Escuchar

“Los programadores no lo saben todo, sobre todo muchas cosas.

Creen que son divertidos. Si pueden hacerlo bien

¿Por qué utilizar nuestro propio software?

Si necesitamos verificar, debemos preguntar al respecto.

Lo que obtienes es lo que quieres y pregunta quién necesita la


información.

15.4 Diseño

Crear una estructura lógica organizativa del sistema, un buen diseño


puede hacer crecer el sistema sin cambiar un lugar. El diseño debe
ser simple, si alguna parte del sistema es difícil de diseñar, es más
apropiado dividir en varias partes. Si hay un error en el programa del
diseño o mal diseño, deben ser arreglados lo antes posible.

Completando XP: Necesitamos codificar, como no hay programa sin


código tenemos que hacer la prueba porque sin la prueba no
sabemos si la hemos terminado de codificar, necesitamos escuchar,
porque si no lo hacemos no lo escuchamos, no sabemos cómo
codificarlo o probarlo, tenemos que hacerlo para programar, prueba
y escuchar sin parar.

16. Prácticas de XP.


Además de valores y principios, Extreme Programming ofrece buenas
prácticas de planificación, organización, comunicación e ingeniería de
software que, combinadas con valores y principios, crean una cultura de
equipo sobresaliente. Los métodos de programación extrema (XP) más
populares son:

 Juego de planificación:
La idea principal detrás de este enfoque es dividir la responsabilidad de

Tarea 02 17
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

la planificación entre el equipo y el cliente, es decir, requieren que el


cliente participe estrechamente en el proceso de planificación. Se basa
en un principio simple: el cliente generalmente sabe todo sobre el valor
del proyecto, pero el equipo sabe todo sobre los costos.
 Versiones pequeñas:

El equipo de desarrollo debe poder lanzar versiones iterativas


frecuentes del sistema a los clientes.

 Metáfora:

Necesitamos poder explicar la arquitectura del sistema a los recién


llegados usando metáforas en lugar de hacer que lean un montón de
documentos.

 Diseño simple:

Como sugiere el nombre, la regla es mantener las cosas simples.

 Programación en pareja:

Dos programadores trabajan en parejas en la misma máquina y


resuelven el mismo problema.

 Propiedad del código compartido:

Ningún miembro de todo el equipo posee una parte específica del


código fuente, el código es de todos.

 Integración continua:

Una práctica diseñada específicamente para crear o integrar todas las


etapas de desarrollo, identificar y eliminar errores durante el desarrollo,
reduciendo así el tiempo de respuesta y mejorando la calidad del
software lanzado.

 Historia de usuario:

Una historia es un pequeño documento de texto en el que el cliente


establece en términos simples lo que quiere que haga el software.

 Estándares de codificación:

Tarea 02 18
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

Tienen como objetivo desarrollar software con un estilo consistente


independientemente del autor, lo que hace que el software sea más fácil
de entender y mantener.

17. Ventajas
 Estrecha relación con los clientes
 Software estable gracias a las pruebas continuas
 Programación fluida con menos errores
 Sin trabajo de programación redundante
 Sin horas extras, autogestión del tiempo
 Aplicar cambios rápidamente
 Código siempre fácil de entender

18. Desventajas
 Mayor esfuerzo de trabajo.
 Proceso del Compromiso del Cliente.
 Se tarda mucho tiempo.
 Se requiere versión de controles.

CONCLUSIONES

 El enfoque XP requiere una comunicación muy efectiva con el cliente y el


equipo de desarrollo para que las historias de los usuarios sean lo más
breves y claras posible para encontrar una solución que cumpla con las
expectativas comerciales.
 El enfoque de XP es lo suficientemente flexible y general para manejar el
cambio, como sucede en el desarrollo de proyectos, donde comienza con
algunos requisitos, pero esos requisitos cambian a medida que mejora la
solución. Aunque XP tiene un enfoque ágil en el que el producto y la
codificación son más valiosos que la documentación del proceso, la
comunicación efectiva entre los desarrolladores requiere tareas de análisis
y diseño y documentación.

Tarea 02 19
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

 Aunque XP tiene un enfoque flexible, el producto y la codificación son más


valiosos que la documentación del proceso, requiere tareas de análisis y
diseño y documentación para una comunicación efectiva entre los
desarrolladores, la complejidad de ejecutar esta documentación dependerá
en gran medida de las decisiones del cliente y su entrada en el sistema.

RECOMENDACIONES

 Sería interesante evaluar más documentación técnica con los clientes


para que más desarrolladores sigan el marco y posiblemente creen una
plataforma que se integre con varios sistemas de gestión de riesgos.
 La programación extrema es un método progresivo que se centra en los
desarrolladores, por lo que se debe prestar especial atención a las
herramientas que utilizan para el desarrollo.
 Es importante que el equipo técnico evalúe objetivamente sus habilidades
técnicas y el tiempo antes de hacer una estimación inicial, ya que esto le
dará a los clientes una expectativa más realista de cuándo recibirán las
entregas.

Tarea 02 20
Instituto de Educación Superior Tecnológico Publico “TRUJILLO”

BIBLIOGRAFIAS

• Fuente: Alicia Raeburn (28 de noviembre del 2022). La programación


extrema (XP) produce resultados, pero ¿es la metodología adecuada para
ti? Enlace: https://asana.com/es/resources/extreme-programming-xp

• Fuente: Nimblework (22 de diciembre del 2022). ¿Qué es la programación


extrema (XP) y sus valores, principios y prácticas? Enlace:
https://www.nimblework.com/es/agile/programacion-extrema-xp/#:~:text=La
%20programaci%C3%B3n%20extrema%20consiste%2C%20en,escribir
%20el%20c%C3%B3digo%20de%20producci%C3%B3n.

• Fuente: SCRUM MEXICO (13 de noviembre del 2018). Extreme


Programming: valores, principios y prácticas. Enlace:
https://scrum.mx/informate/2018/11/13/extreme-programming-valores-
principios-y-prcticas#:~:text=Extreme%20Programming%20es%20un
%20enfoque,motivacional%20dentro%20y%20entre%20equipos.

Tarea 02 21

También podría gustarte