Innovación Digital
Maestría en Ingeniería de Software
Desarrolla habilidades técnicas avanzadas para el modelado, análisis, diseño, construcción, implementación de pruebas y mantenimiento de software en el marco de una cultura de calidad.
Inicio
Convocatoria 2024
Convocatoria 2024
Modalidad
A distancia en
A distancia en
Duración
832 horas académicas
832 horas académicas
Solicita más información
Acerca de la maestría
La ingeniería de software es un campo amplio, en constante evolución y se constituye, hoy en día, en un pilar fundamental para la competitividad y el crecimiento de las empresas u organizaciones del siglo XXI. Nuestra Maestría en Ingeniería de Software ha sido diseñada para atender esta demanda y formar profesionales altamente calificados y especializados en el diseño, construcción, pruebas y mantenimiento de software, algoritmos, estructuras de datos y arquitectura de software, entre otros aspectos clave; con una visión integral y estratégica que les permita abordar los desafíos que plantea un escenario complejo, dinámico y competitivo como el presente.
El estudiante conocerá los fundamentos y lenguajes de modelado de software, como UML y DSL, así como los diferentes estilos arquitectónicos y patrones de diseño que serán utilizados en el desarrollo de software. Será capacitado en temas esenciales como el diseño de código limpio, la implementación de pruebas unitarias, la gestión de dependencias, la optimización de recursos y la aplicación de la metodología ágil más adecuada para la gestión y desarrollo de un proyecto específico. Desarrollará habilidades en el diseño de interfaces de usuario, programación front-end, back-end y despliegue de aplicaciones en entornos web y móviles. Además, podrá gestionar cambios en sistemas de software existentes, manteniendo y actualizando aplicaciones de manera eficiente y revitalizando sistemas heredados a través de estrategias de reingeniería.
Ventajas diferenciales
Perfil del estudiante
Bachilleres y titulados universitarios en disciplinas como la ingeniería informática, ingeniería de software, ciencias de la computación, ingeniería de sistemas y campos afines; que cuenten con aptitudes para el pensamiento analítico y crítico, habilidades para resolver problemas complejos de manera creativa y eficiente, así como capacidad para la planificación y gestión de proyectos.
Profesionales que trabajan en la industria tecnológica como CTO, directores, analistas, programadores y gestores de sistemas, entre otros cargos; que desean adquirir nuevas habilidades y conocimientos, o especializarse en áreas específicas de la ingeniería de software.
Grado académico
Luego de aprobar todos los cursos y de la sustentación de tu tesis, recibirás el grado de maestro en Ingeniería de Software, a nombre de la Escuela de Posgrado de la Universidad Continental.
“Maestro en Ingeniería de Software”
(Imagen referencial que no representa la certificación que se obtendrá al culminar los estudios.)
Certificaciones progresivas
Programa de Especialización en Desarrollo de Software, por 12 créditos y 192 h.
Programa de Especialización en Desarrollo de Aplicaciones Móviles y Web, por 13 créditos y 224 h.
Programa de Especialización en Gestión de Proyectos de Software, por 12 créditos y 192 h.
Programa de Especialización en Investigación de Ingeniería de Software, por 11 créditos y 224 h.
Docentes nacionales
*La programación de docentes por asignatura se encuentra sujeta a variación según su disponibilidad, asegurando el nivel equivalente del especialista. El perfil del docente se mantiene y corresponderá al nivel requerido para garantizar la calidad educativa.
Docente internacional
*La programación de docentes por asignatura se encuentra sujeta a variación según su disponibilidad, asegurando el nivel equivalente del especialista. El perfil del docente se mantiene y corresponderá al nivel requerido para garantizar la calidad educativa.
Plan de estudios
La maestría está organizada en 4 ciclos académicos, con un total de 832 horas académicas:
Fundamentos de las ciencias de la computación
- Estructuras de datos (listas, árboles, grafos) y algoritmos básicos (ordenamiento, búsqueda, recorridos).
- Teoría de la computación: conceptos fundamentales, autómatas, gramáticas formales, complejidad computacional y computabilidad.
Gestión de proyectos de software
- Metodologías de gestión de proyectos de software: enfoque tradicional en cascada, métodos ágiles (scrum, kanban, XP), enfoques híbridos y la gestión basada en procesos.
- Herramientas y técnicas de gestión de proyectos, comunicación efectiva en equipos de desarrollo.
Modelado y análisis de software
- Modelado de software: fundamentos, tipos y lenguajes de modelado (UML, DSLs).
- Análisis y especificación de requisitos de software, gestión de cambios y negociación.
- Análisis de software estático, dinámico, de impacto y dependencias, de rendimiento, optimización y de calidad del software.
Diseño y arquitectura de software
- Principios de diseño de software, granularidad y cohesión de los módulos, acoplamiento, dependencias, diseño orientado a objetos y diseño funcional.
- Arquitectura de software: estilos y patrones arquitectónicos, diseño de arquitecturas escalables y distribuidas.
- Diseño avanzado y patrones de diseño creacionales, estructurales y de comportamiento, antipatrones de diseño, diseño de interfaces de usuario y experiencia de usuario (UI/UX).
Habilidades y actitudes del ingeniero de software
- Liderazgo y gestión de equipos de desarrollo, resolución de problemas, empoderamiento y desarrollo del talento.
- Principios éticos en la ingeniería de software, responsabilidad social y ambiental del ingeniero de software.
Construcción de software
- Principios de construcción de software: código limpio y mejora continua, buenas prácticas de programación, gestión de dependencias, herramientas (Maven, Gradle).
- Desarrollo de software dirigido por pruebas (TDD), herramientas y frameworks para la implementación de pruebas unitarias.
- Gestión de la calidad del código: métricas de calidad, análisis estático de código, detección de problemas, revisión de código y pair programming.
Metodologías de desarrollo de software
- Metodologías tradicionales de desarrollo de software: modelos de ciclo de vida del software (cascada, modelo en V), herramientas y técnicas.
- Metodologías ágiles de desarrollo de software (scrum, kanban, XP), prácticas y técnicas ágiles (sprints, retrospectivas, tableros Kanban).
Desarrollo de aplicaciones web y móviles
- Fundamentos del desarrollo web y móvil: arquitectura, tecnologías front-end (HTML, CSS, JavaScript, React, Angular), tecnologías back-end (Node.js, Express, bases de datos), diseño responsivo y adaptativo.
- Desarrollo avanzado de aplicaciones web: PWA, API y servicios web (RESTful, GraphQL), seguridad en aplicaciones web, pruebas y depuración en el desarrollo web.
- Desarrollo de aplicaciones móviles, desarrollo nativo vs. desarrollo multiplataforma, frameworks, experiencia de usuario y diseño de interfaces.
Bases de datos y sistemas de almacenamiento de datos
- Bases de datos relacionales: fundamentos, modelo relacional y diseño de esquemas de base de datos, lenguaje de consulta estructurado (SQL), normalización de bases de datos.
- Bases de datos no relacionales (NoSQL): tipos (documentales, de columnas, de grafos), diseño de bases de datos NoSQL y comparación con bases de datos relacionales.
Verificación y validación de software
- Pruebas de software: conceptos básicos (tipos de pruebas, objetivos, estrategias), herramientas y frameworks de pruebas (JUnit, Selenium).
- Análisis estático de código (revisión de código, análisis estático automatizado), análisis dinámico de software (pruebas de rendimiento y de seguridad), métricas de calidad del software y evaluación de la calidad del código.
Evolución y mantenimiento de software
- Gestión de cambios y configuración de software, herramientas y técnicas para el control de versiones y gestión de la configuración, integración y entrega continua (CI/CD).
- Tipos de mantenimiento de software (correctivo, adaptativo, evolutivo, perfectivo), estrategias y técnicas para la reingeniería de software, refactorización y mejora continua del código, gestión de deudas técnicas.
Desarrollo de aplicaciones en la nube
- Fundamentos de la computación en la nube: conceptos básicos, modelos de servicio (IaaS, PaaS, SaaS), modelos de implementación (nube pública, privada, híbrida), arquitecturas de nube, principios de diseño para aplicaciones en la nube.
- Desarrollo de aplicaciones nativas de la nube, utilización de servicios gestionados en la nube (bases de datos, almacenamiento, mensajería, etc.), despliegue de aplicaciones en la nubes.
- Estrategias de escalabilidad y gestión de recursos en la nube, automatización de procesos, gestión del ciclo de vida de las aplicaciones en la nube, consideraciones de rendimiento y optimización en entornos de nube.
Calidad de software
- Principios y fundamentos, modelos de calidad del software (ISO 25000, CMMI, etc.), métricas y medidas de calidad del software, gestión de la calidad del proceso y del producto.
- Planificación, diseño, ejecución y automatización de pruebas de software (unitarias, integración, sistema, aceptación, etc.) y aseguramiento de la calidad.
Procesos de software
- Modelos y metodologías de desarrollo de software tradicional y ágiles, selección y aplicación de metodologías según el contexto del proyecto, herramientas y técnicas de gestión de proyectos de software.
- Gestión de proyectos de software: planificación y estimación, seguimiento y control del progreso, gestión de riesgos, gestión de cambios y versiones.
Sistemas y aplicaciones embebidas
- Arquitectura de sistemas embebidos: fundamentos de sistemas embebidos y sistemas de tiempo real, arquitecturas de hardware para sistemas embebidos (microcontroladores, SoCs, FPGA), diseño de sistemas embebidos.
- Desarrollo de aplicaciones embebidas: programación de microcontroladores y sistemas embebidos, desarrollo de firmware y software embebido, interfaz de sensores y actuadores, depuración y pruebas de sistemas embebidos.
Estadística para la investigación
- Fundamentos de estadística descriptiva: medidas de centralidad y dispersión, representaciones gráficas de datos, distribuciones de probabilidad, muestreo y estimación de parámetros poblacionales.
- Inferencia estadística y análisis multivariado: pruebas de hipótesis e intervalos de confianza, análisis de regresión y correlación, métodos de análisis multivariado.
Seguridad del software
- Principios y conceptos de seguridad del software: tipos de amenazas y ataques informáticos, vulnerabilidades comunes, métodos de mitigación de riesgos y buenas prácticas de seguridad.
- Desarrollo seguro de software: codificación segura y buenas prácticas de programación, pruebas de seguridad, análisis estático y dinámico, gestión de vulnerabilidades y parches de seguridad.
Seminario de investigación I
- Definiciones fundamentales de investigación, planificación del proyecto de investigación.
- Planteamiento del problema de investigación, justificación e importancia de la investigación.
- Marco teórico e hipótesis de investigación.
- Marco metodológico de investigación y aspectos administrativos.
Seminario de investigación II
- Elaboración de instrumentos de recolección de datos.
- Validación de instrumentos de recolección de datos.
- Recolección de datos de investigación.
- Análisis de resultados de investigación, contrastación de hipótesis.
Seminario de investigación III
- Discusión de los resultados de investigación.
- Conclusiones, recomendaciones y redacción de páginas preliminares de investigación.
- Revisión del informe de investigación.
- Sustentación previa del informe de investigación.
Contacta con nuestra asesora
Maria Elena Medina Palomino