Perfil del Aspirante
La Especialización en Construcción de Software ECOS está dirigida a profesionales en ingeniería o afines y cuya actividad profesional actual se relacione con la construcción de software. Es deseable que el aspirante cuente con una experiencia mínima en desarrollo de 2 años, y el apoyo de la organización donde trabaja para aplicar los diferentes proyectos de la especialización.
Los admitidos que no tengan los conocimientos básicos requeridos de programación orientada objetos en java para iniciar el programa podrán ser admitidos después de realizar un examen y aprobar un curso nivelatorio en el tema. El curso nivelatorio exige un mínimo de conocimientos en principios básicos de lenguajes de programación y de estructuras de datos.
Se exigirá que los participantes sean capaces de leer textos técnicos en inglés.
Objetivos
El propósito global del programa es ofrecer a directores de proyectos de software, desarrolladores y participantes en la construcción y mantenimiento de software, una formación complementaria especializada en Ingeniería de Software, orientada particularmente a la construcción de sistemas de información empresariales. Este mejoramiento podrá desarrollarse desde la gestión de los proyectos, el mejoramiento de los procesos de desarrollo y con las arquitecturas de software adecuadas para soportar las necesidades estratégicas, tácticas y operativas de las empresas.
Plan de Estudios
La Especialización en Construcción de Software ECOS consta de 10 cursos, que suman un total de 17 créditos. Los mismos, están orientados bajo 4 líneas de profundización.
Áreas de Profundización
La Especialización en Construcción de Software se desarrolla en las siguientes líneas de profundización:
Programa Modelo
Primer Período
Segundo Período
Tercer Período
CSOF 5104 | Mejoramiento de Procesos de Software (Cmmi) | 2 |
CSOF 5203 | Arquitectura Empresarial y de Integracion | 2 |
CSOF 5302 | Desarrollo Sw Basado en Componentes | 2 |
CSOF 5303 | Proyecto 3 | 1 |
Total Credit Hours: | 7 |
Perfil del Egresado
Se espera que, al final del programa, los participantes 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 sobre la base de 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 a partir de 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 TI:
-
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 de 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.
-
Proponer soluciones de integración de aplicaciones empresariales.
Utilizar metodologías de desarrollo de software:
-
Explicar la 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 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.
Datos de Contacto
Jorge Villalobos
Coordinador Especialización en Construcción de Software ECOS
Correo: ecos@uniandes.edu.co