CURSO I: Fundamentos y requerimientos de la Ingeniería de Software
1. Fundamentos de Ingeniería de Software
El papel evolutivo del software
El proceso de desarrollo de software
Metodologías de desarrollo de software
Herramientas CASE y de soporte al proceso de desarrollo
2. Requerimientos
Definición de requerimientos
Importancia de los requerimientos
Tipos de requerimientos
3. Actividades de la ingeniería de requerimientos
Importancia de la ingeniería de requerimientos
Personal Involucrado
Elementos a considerar
Proceso de la ingeniería de requerimientos
Artefactos para especificación de requerimientos
4. Técnicas utilizadas en la Ingeniería de Software
Entrevistas y cuestionarios
Lluvia de ideas
Observación
Proceso de análisis jerárquico
Requerimientos con casos de uso
Prototipos
5. Métodos para la validación y gestión de requerimientos
Mecanismos de validación de requerimientos
Actividades para la gestión de requerimientos
CURSO II: Análisis y diseño de un producto de software
1. Metodologías y técnicas de desarrollo de software
Características de un proyecto de desarrollo de software
Metologías de desarrollo de software
Notaciones para modelado
UML (Unified Modeling Language)
BPMN (Business Process Model and Notation)
SPEM (Software Process Engineering Metamodel)
2. Disciplina de análisis
Objetivo del análisis
Modelos de análisis
Modelos orientados a escenarios
Modelos orientados a flujos
Modelos orientados a clases
Modelos orientados a comportamiento
Modelado de datos
Técnicas de aseguramiento de calidad en el modelo de análisis
3. Disciplina de diseño
Principios del diseño
Diseño de interfaz de usuario
Diseño de arquitectura
Diseño de clases
Diseño de datos
Técnicas de aseguramiento de la calidad en el modelo de diseño
CURSO III: Implementación de un producto de Software
1. Buenas prácticas en desarrollo de software con base en un caso de estudio
Arquitectura en subsistemas y con separación de responsabilidades
Interfaces y bajo acoplamiento
Estándares de nomenclatura
Herramientas UML (Unified Modeling Language) – código
A. Plataformas de software
Arquitectura de una plataforma de software
Tipos de plataformas
Aspectos del desarrollo de software dependientes de una plataforma
B. Administración de configuración de software y control de cambios
Definición de la disciplina
Aspectos operacionales
Herramientas de control de cambios
Soporte a control de cambios en herramientas de desarrollo
Sistemas centralizados y distribuidos
2. Pruebas de software
Niveles de pruebas
Artefactos de pruebas
Pruebas de unidad
Pruebas de sistema
Pruebas de rendimiento
Herramientas de construcción continua
Profesores e investigadores con grado de Doctorado y/o maestría e invitados de universidades nacionales e internacionales.