Perfil del Egresado (english version)
Se espera que al final del programa, los egresados de la Especialización en Construcción de Software ECOS estén mejor entrenados para:
Liderar y administrar un proyecto de desarrollo de software:
Plantear una estrategia de desarrollo en ciclos iterativos
Planificar el desarrollo con base en estimativos reales de esfuerzo y tamaño
Realizar una identificación de riesgos del proyecto que pueda ser tenida en cuenta para planificar y controlar su desarrollo
Utilizar el seguimiento al plan para controlar el desarrollo del proyecto
Definir esquemas adecuados de contratación de software
Explicar e incluir aspectos legales relacionados con el software en los procesos de contratación
Definir e implantar programas de mejoramiento de procesos:
Explicar la importancia de los procesos de software como un requerimiento fundamental para obtener software de buena calidad.
Definir y liderar programas de mejoramiento continuo de los procesos de construcción de software siguiendo modelos y estándares internacionales
Definir y poder aplicar procesos de software para: estimación, planeación y seguimiento de proyectos, pruebas de software, aseguramiento de calidad (técnicas de inspección), administración de requerimientos y administración de configuraciones.
Definir e implementar arquitecturas de software:
Explicar la importancia de la definición de las arquitecturas de software dentro de contextos amplios de arquitecturas empresariales que busquen soluciones a los problemas de negocio de la organización.
Definir los atributos de calidad e la arquitectura de software y los requerimientos no funcionales que van a determinar una solución.
Diseñar soluciones y formas de evaluar las arquitecturas para satisfacer los atributos de calidad y los requerimientos no funcionales que afectan las arquitecturas de software
Utilizar metodologías de desarrollo de software:
Entender importancia de los procesos de administración de requerimientos e ingeniería de requerimientos en los proyectos de desarrollo y mantenimiento de software.
Enumerar y describir las actividades básicas de la administración de requerimientos y su relación con las otras actividades del desarrollo de un proyecto de software.
Usar la metodología de casos de uso para hacer levantamiento de requerimientos y para producir un documento de definición de los mismos.
Usar el análisis de riesgos para establecer prioridades a los requerimientos
Usar los diagramas de clases UML y de secuencia para analizar los requerimientos y entender el problema que se quiere resolver
Realizar un proceso de inspección de requerimientos para verificar su completitud, claridad y entendimiento.
Producir artefactos de diseño.
Utilizar conceptos de arquitecturas de software para disminuir la complejidad del problema y facilitar el diseño del software.
Verificar que el diseño propuesto para un software satisface los requerimientos funcionales y los no funcionales incluyendo los atributos de calidad y restricciones establecidas para el sistema.
Adquirir la disciplina de desarrollar software por componentes de fácil reutilización.
Utilizar herramientas y tecnología:
Utilizar herramientas que apoyen los procesos de software tales como: manejadores de versiones, manejadores de pruebas y reportes de error, manejadores de riesgos, software para planeación y seguimiento, manejadores de requerimientos.
Utilizar ambientes de desarrollo basados en tecnologías de punta para desarrollar software. Desarrollo de componentes Web, desarrollo de componentes de lógica de negocio, desarrollo de componentes de sistemas de información.