Especialización en Construcción de Software

Título Especialista en Construcción de Software
Nivel Especialización
Duración Doce meses
Número de créditos 17
Jornada nocturna
Modalidad Presencial
Código SNIES 6684

Conscientes del potencial que la industria de software representa para nuestro país y del papel primordial que en este proceso de consolidación debe jugar la academia, el Departamento de Ingeniería de Sistemas y Computación de la Universidad de los Andes ofrece el programa de Especialización en Construcción de Software ECOS.

En los últimos años ha habido un interés creciente por la industria de software en Colombia. Este interés ha sido motivado por una conciencia cada vez más clara del costo de la producción y mantenimiento de soluciones informáticas, y en particular, del costo de la baja calidad de las mismas. Así mismo, esta motivación también proviene de experiencias exitosas en otros países en vía de desarrollo que muestran que esta industria no es un privilegio de los países desarrollados.

Diversas instituciones del sector productivo y del gobierno (Colciencias, Proexport, Fedesoft, ACIS, etc.) han reconocido la importancia estratégica que la industria de software representa para Colombia. Sin embargo, estos estudios coinciden en que debe haber esfuerzos en la formación y actualización de los profesionales de esta industria. Los beneficios de una mejora en los procesos de construcción, mantenimiento y contratación de software podrán obtenerse si formamos profesionales comprometidos con la calidad de sus productos y con procesos de mejoramiento continuo.

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

Enfoque Pedagógico

El enfoque pedagógico fue concebido para proveer un balance entre los aspectos teóricos y prácticos. De igual manera, gracias a los distintos talleres y proyectos en los que el estudiante debe participar, se logra una completa integración entre las áreas de procesos de software, gerencia de proyectos, arquitectura de software, metodologías y tecnologías.

El participante debe:

  • Asistir a clases teóricas y seminarios.
  • Asistir a talleres de uso de tecnología.
  • Realizar tareas y proyectos relacionados con el material teórico.
  • Participar en proyectos en grupo que integran temas cubiertos en varios cursos.

Escolaridad y Cursos


La especialización tiene una duración de un año académico organizado en tres períodos académicos. El horario de los cursos regulares es de 6 a 9 pm tres veces por semana: martes, miércoles y jueves. En promedio, el estudiante debe asistir a clases o talleres doce horas por semana. El programa es presencial con dedicación de tiempo parcial. Todas las clases tienen lugar en las instalaciones de la Universidad de los Andes.

Criterios de Admisión

Ser profesional en Ingeniería o afines, cuya actividad profesional actual se relacione con la construcción de software. El candidato debe contar con una experiencia comprobable en desarrollo de, al menos, dos años. Se preferirán los candidatos con apoyo de la organización donde trabajan, de manera que puedan aplicar allí los diferentes proyectos de la especialización.

Los participantes 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.

Áreas de Investigación o Énfasis

La Especialización en Construcción de Software abarca las siguientes áreas de estudio:

  • Ingeniería de software
  • Diseño y desarrollo de software
  • Procesos de desarrollo de software
  • Arquitectura de software
  • Planeación y administración de proyectos
  • Arquitectura empresarial

Programa Modelo

Primer Período

CSOF 5103Gerencia de Proyectos (PMI)

2

CSOF 5203Arquitectura Empresarial y de Integración

2

CSOF 5101Conceptos avanzados de ingeniería de software

2

CSOF 5100Proyecto I

1

Total Credit Hours:7

Segundo Período

CSOF 5204Arquitectura de Software

2

CSOF 5200Proyecto 2

1

Total Credit Hours:3

Tercer Período

CSOF 5302Desarrollo Sw Basado en Componentes

2

CSOF 5301Analisis y Diseño de Software

2

CSOF 5104Mejoramiento de Procesos de Software (Cmmi)

2

CSOF 5303Proyecto 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 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.
  • 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.
  • 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.

Otros Beneficios:

Un egresado del programa de Especialización en Construcción de Software estará en capacidad de profundizar sus estudios para:

  • Obtener una certificación PMI (Project Management Institute). Dentro de la especialización se realiza un curso de planeación y gerencia de proyectos enfocado al modelo PMI, que sirve como entrenamiento previo a la preparación para la certificación.
  • Obtener una certificación como Arquitecto J2EE. Dentro de la especialización se realizan varios cursos de arquitectura de software y desarrollo por componentes. Las prácticas de estos cursos se realizan sobre la plataforma J2EE.
  • Liderar una certificación organizacional CMMI (Capability Maturity Model Integration). Dentro de algunos de los cursos de la especialización se estudia el modelo CMMI y el modelo IDEAL (Initiating, Diagnosing, Establishing, Acting & Learning), para definir y llevar a la práctica planes de mejoramiento de procesos de software, que conduzcan a las organizaciones a obtener una certificación en CMMI. Adicionalmente, a lo largo del programa se realizarán charlas con profesionales que han participado en certificaciones CMMI y lideran programas de mejoramiento.