Descripción de cursos
A continuación se presenta la descripción de los cursos dictados por la Maestría en Ingeniería de Software MISO. Para conocer la descripción de cursos que corresponden a otra maestría visite la sección Plan de estudios correspondiente.
Créditos: 4
Objetivo General: El propósito de este curso es ofrecer a los estudiantes una visión general de los beneficios y riesgos asociados a la adopción de una metodología de desarrollo ágil. Este curso presenta, de manera práctica, técnicas de estimación, planeación y construcción de software siguiendo una metodología ágil basada en iteraciones. De igual forma, el curso cubre mecanismos de organización de equipos de trabajo y control y seguimiento de proyectos desarrollados utilizando estas metodologías.
Créditos: 4
Objetivo General: El propósito de este curso es ofrecer a los participantes elementos básicos para la definición de lenguajes y ofrecer técnicas basadas en modelos que permitan procesarlos. Se espera que al final el estudiante esté en capacidad de especificar, diseñar, evaluar y construir herramientas para utilizar efectivamente lenguajes de dominios específicos.
Créditos: 4
Nivelatorio:
MATI-4001 Nivelatorio en Ingeniería de Software
Objetivo General: El propósito de este curso es ofrecer a los participantes los elementos básicos de administración de proyectos, tales como la planeación y seguimiento de proyectos, y conceptos avanzados de evaluación y seguimiento de riesgos. El curso también presenta conceptos y prácticas específicos para el manejo de proyectos de desarrollo de software, tales como control de cambios, integración continua, generación y despliegue de releases, y manejo de gente técnica. Los elementos anteriores se integrarán a los procesos y se apoyarán en herramientas especializadas.
Créditos: 4
Objetivo General: El propósito de este curso es brindar a los participantes los elementos fundamentales para desarrollar una Línea de Producto de Software. Esto incluye tanto los procesos técnicos como los de gestión. Una Línea de Producto de Software o una Familia de Productos de Software consiste en un conjunto de productos (aplicaciones) que comparten funcionalidad común y que han sido construidos a partir de un conjunto común de activos reutilizables. Desarrollar una Línea de Producto de Software para un segmento de mercado tiene muchas ventajas entre estas podemos enumerar:
Disminución de costo de desarrollo a través de la reutilización organizada de componentes
Aumento en la calidad de los productos
Disminución de tiempo de salir al mercado.
Créditos: 4
Objetivo General: El propósito de este curso es ofrecer a los participantes elementos fundamentales para especificar requerimientos, diseñar, construir y evaluar interfaces de usuario en múltiples plataformas (escritorio, web, móvil).
Créditos: 4
Objetivo General: La arquitectura de software se entiende normalmente como el proceso de definir las estructuras importantes de un sistema, así como las relaciones importantes entre ellas. Para realizar esta labor, los arquitectos de software suelen seguir procesos de diseño intensos en duración y esfuerzo, los cuales dan como resultado un documento de arquitectura de software, el cual es pre-requisito para iniciar el desarrollo de software asociado. A esta estrategia de desarrollo normalmente se le conoce como “big-design up front – BDUF”, para hacer explícito el hecho de que es necesario terminar toda la arquitectura del sistema antes de comenzar con el desarrollo de software. Sin embargo, esta práctica trae consigo algunos riesgos, como el tiempo y costo de esta actividad, así como la desactualización de la arquitectura durante la construcción del software.
Créditos: 4
Objetivo General: Tanto las aplicaciones web como las aplicaciones diseñadas para dispositivos móviles, son parte vital del quehacer diario de los humanos. En esa medida, el impacto de un error en una aplicación de sofware puede ir desde generar malestar hasta afectar directamente la vida y la salud de los humanos involucrados. Una forma de mitigar esto, es a través del uso de procesos sistemáticos de pruebas que aprovechan la automatización para reducir el tiempo y mejorar el espectro de escenarios cubiertos por las pruebas. Este curso presentará a los asistentes las metodologías vigentes para explotar los procesos automáticos de pruebas, y las herramientas disponibles para ejecución de pruebas orientadas a aplicaciones móviles y web. El curso aborda desde un enfoque teórico-práctico el estado del arte y estado de la práctica en procesos de pruebas automatizados.
Créditos: 4
Prerrequisito: Estar cursando el último semestre del programa
Objetivo General: El propósito de este proyecto es el de integrar los conceptos de los distintos cursos del programa. Para esto se debe construir una solución de software en un dominio específico que implique la utilización de las técnicas apropiadas para su análisis, diseño y construcción. Proveer a los participantes del proyecto un ambiente de trabajo en equipo en donde sea fundamental utilizar las técnicas de metodologías ágiles y del uso de modelos para desarrollar herramientas de mejora de la productividad.