Metodologias para eL Desarrollo Orientado a Objetos y Agiles

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Metodologias para eL Desarrollo Orientado a Objetos y Agiles por Mind Map: Metodologias para eL Desarrollo Orientado a Objetos y Agiles

1. Metodologia Agilles

1.1. Principios Fundamentales

1.1.1. Colaboración con el Cliente:

1.1.1.1. nvolucrar al cliente y a los interesados durante todo el proceso de desarrollo para garantizar que el producto final satisfaga sus necesidades.

1.1.2. Respuesta al Cambio:

1.1.2.1. Dar prioridad a la capacidad de adaptarse a los cambios de requisitos, incluso en etapas avanzadas del desarrollo.

1.1.3. Entrega Continua de Software Funcional:

1.1.3.1. En lugar de esperar hasta el final del proyecto, se busca entregar software funcional de manera frecuente, normalmente en iteraciones cortas.

1.1.4. Trabajo en Equipo y Comunicación:

1.1.4.1. Fomentar la colaboración entre los equipos multidisciplinarios y la comunicación continua para asegurar un entendimiento común de los objetivos.

1.2. Metodologías Ágiles Comunes:

1.2.1. Scrum

1.2.1.1. Un marco de trabajo ágil que organiza el trabajo en ciclos cortos llamados sprints (normalmente de 2 a 4 semanas).

1.2.2. Kanban

1.2.2.1. Un enfoque visual que utiliza un tablero Kanban para gestionar el flujo de trabajo.

1.2.3. Extreme Programming (XP)

1.2.3.1. Se enfoca en la calidad del software y en la capacidad de respuesta a los requisitos cambiantes.

1.3. Ventajas de las Metodologías Ágiles:

1.3.1. Flexibilidad:

1.3.1.1. Capacidad para adaptarse a los cambios en los requisitos y las prioridades.

1.3.2. Colaboración:

1.3.2.1. Fomenta la comunicación constante entre los miembros del equipo y con el cliente.

1.3.3. Calidad del Producto:

1.3.3.1. A través de la integración continua y las pruebas constantes.

1.4. Herramientas Ágiles:

1.4.1. JIRA, Trello, Asana:

1.4.1.1. Herramientas para la gestión de proyectos ágiles y el seguimiento de tareas.

1.4.2. Tableros Kanban:

1.4.2.1. Para visualizar el flujo de trabajo y gestionar las tareas en progreso.

1.4.3. Herramientas de Integración Continua:

1.4.3.1. omo Jenkins, GitLab CI/CD para automatizar las pruebas y la integración del código.

2. Desarrollo orientada a objetos

2.1. Conceptos Básicos:

2.1.1. Clases y Objetos

2.1.1.1. Una clase es una plantilla que define las propiedades y comportamientos (métodos) de los objetos. Un objeto es una instancia de una clase.

2.1.2. Encapsulamiento

2.1.2.1. Consiste en agrupar los datos (atributos) y los métodos que operan sobre esos datos dentro de una clase, ocultando los detalles internos y exponiendo solo lo necesario a través de una interfaz pública.

2.1.3. Polimorfismo

2.1.3.1. Permite que una misma operación o método se comporte de manera diferente en distintas clases. Esto se logra mediante la sobrescritura de métodos y la implementación de interfaces.

2.2. 2. Fases de Desarrollo Orientado a Objetos:

2.2.1. Análisis Orientado a Objetos:

2.2.1.1. Identifican los objetos y las relaciones entre ellos a partir de los requisitos del sistema. Los casos de uso y los diagramas de clases de UML (Lenguaje Unificado de Modelado) son herramientas comunes en esta fase.

2.2.2. Diseño Orientado a Objetos:

2.2.2.1. Estructura del sistema utilizando los conceptos de clases, objetos, herencia, etc. Se crean diagramas de clases, diagramas de secuencia y diagramas de colaboración para diseñar la interacción entre los objetos.

2.2.3. Implementación:

2.2.3.1. La traducción del diseño a un lenguaje de programación orientado a objetos, como Java, C++, Python, etc. En esta fase se desarrollan las clases y se implementan sus métodos.

2.2.4. Pruebas Orientadas a Objetos:

2.2.4.1. Las pruebas verifican que los objetos interactúen correctamente y que las clases funcionen según lo esperado.

2.3. 5. Ventajas del Desarrollo Orientado a Objetos:

2.3.1. Modularidad:

2.3.1.1. Facilita la división del sistema en componentes modulares, lo que mejora la mantenibilidad.

2.3.2. Reutilización:

2.3.2.1. Las clases y los objetos pueden ser reutilizados en diferentes partes del sistema o en otros proyectos.

2.3.3. Extensibilidad

2.3.4. Escalabilidad

2.3.4.1. Facilita la creación de sistemas complejos y escalables.

2.4. Herramientas y Técnicas:

2.4.1. UML

2.4.1.1. Utilizado para visualizar, especificar y documentar los elementos de un sistema orientado a objetos

2.4.2. Patrones de Diseño:

2.4.2.1. Soluciones reutilizables a problemas comunes en el diseño de software orientado a objetos