Ingeniería de software

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Ingeniería de software por Mind Map: Ingeniería de software

1. Introducción a la Ingeniería de Software

1.1. Definición

1.1.1. Disciplina que aplica principios de ingeniería al diseño, desarrollo, mantenimiento, pruebas y evaluación de software.

1.2. Objetivo

1.2.1. Crear software de alta calidad, fiable, eficiente y que satisfaga las necesidades del usuario.

2. Ciclo de Vida del Desarrollo de Software (SDLC)

2.1. Modelos de SDLC

2.1.1. Cascada: Enfoque secuencial con fases claras.

2.1.1.1. Iterativo: Desarrollos repetidos y refinados.

2.1.1.1.1. Ágil: Entregas rápidas y flexibles, enfoque en la colaboración.

2.2. Fases del SDLC

2.2.1. Recolección de Requisitos: Identificación de necesidades y expectativas del cliente.

2.2.1.1. Análisis del Sistema: Desglose de los requisitos, especificaciones técnicas.

2.2.1.1.1. Diseño del Sistema: Arquitectura del sistema, diseño de interfaces y bases de datos.

3. Prácticas en Ingeniería de Software

3.1. Programación Estructurada: Modularidad, estructuras de control claras.

3.1.1. Desarrollo Orientado a Objetos (OOP): Uso de clases, objetos, herencia, polimorfismo.

3.1.1.1. Pruebas de Software: Unitarias, de integración, de sistema, de aceptación.

3.1.1.1.1. Control de Versiones: Uso de sistemas como Git para gestionar el código fuente.

4. Principios de la Ingeniería de Software

4.1. Abstracción: Simplificación de sistemas complejos.

4.1.1. Modularidad: Dividir el software en módulos independientes.

4.1.1.1. Encapsulamiento: Ocultar los detalles de implementación.

4.1.1.1.1. Cohesión y Acoplamiento: Alta cohesión dentro de módulos y bajo acoplamiento entre ellos.

5. Prácticas de Gestión en Ingeniería de Software

5.1. Gestión de Proyectos: Planificación, seguimiento, y control de proyectos.

5.1.1. Gestión de la Calidad: Aseguramiento de que el software cumple con los estándares.

5.1.1.1. Gestión de Riesgos: Identificación y mitigación de riesgos en el desarrollo.

5.1.1.1.1. Gestión de Configuración: Control de versiones, cambios y documentación del software.

6. Tecnologías y Herramientas

6.1. Lenguajes de Programación: Java, C++, Python, etc.

6.1.1. Entornos de Desarrollo Integrado (IDE): Visual Studio, Eclipse, NetBeans.

6.1.1.1. Herramientas de Gestión de Proyectos: JIRA, Trello.

6.1.1.1.1. Herramientas de CI/CD: Jenkins, Travis CI.