Available courses

El curso de Lenguajes de Modelado: UML y sus Extensiones es de naturaleza teórico – práctico, permite adquirir los conocimientos y habilidades necesarias para modelar sistemas, en general, usando la versión más reciente del lenguaje UML y de la extensión para negocios de Eriksson y Penker.

Este curso se centra en la descripción de los modelos de proceso y los métodos de desarrollo de software comúnmente utilizados y bien reconocidos por la comunidad de Ingeniería de Software; así como en los diferentes enfoques y paradigmas de desarrollo que los definen; es decir en los conceptos, técnicas y prácticas específicamente las correspondientes a los enfoques de desarrollo ágil y balanceado.


El curso es de naturaleza teórico – práctica, permite adquirir los conocimientos básicos y habilidades necesarias para modelar y gestionar los procesos de negocio de una empresa u organización utilizando la notación BPMN.
El curso de Análisis y Modelado de Negocios con UML y BPMN es de naturaleza teórico – práctico, permite adquirir los conocimientos y habilidades necesarias para analizar, representar y diseñar organizaciones bajo el enfoque de sistemas y modelar sus principales elementos: objetivos de negocio, procesos de negocio, reglas de negocio, actores, estructura organizacional, entre otros.
En este curso, se discuten los conceptos fundamentales, las técnicas y las mejores prácticas de la Ingeniería de Requisitos y se explica, en detalle, cómo llevar a cabo los procesos IR usando diferentes tipos de diagramas del lenguaje UML 2.5 y sirviéndose de otras técnicas y prácticas reconocidas en el área.

El desarrollo de software está considerado como una de las actividades tecnológicas contemporáneas de mayor complejidad. Producir software de alta calidad no es sencillo. Una premisa básica de la industria del software es que la calidad de este tipo de producto está determinada por los procesos que se emplean para producirlo.


En este curso, se presentan los conceptos fundamentales de la Ingeniería del Software. Se discuten las mejores prácticas empleadas en la industria mundial del software y se describe el proceso de desarrollo de software que emplea esta industria para garantizar la calidad de sus productos.

La aplicación de la ingeniería al desarrollo de software se ha llevado a cabo de maneras diferentes. Existen, actualmente, un amplio repertorio de enfoques y orientaciones que determinan distintas maneras de desarrollar software.


En este curso, se discuten estos enfoques; se describen diferentes modelos de procesos basados en estos enfoques y se analizan, en detalle, un selecto conjunto de métodos de desarrollo de software, que incluyen métodos ágiles, balanceados y disciplinados.

Las aplicaciones de software son sistemas abiertos que interactúan con su entorno para resolver problemas de información o automatización. A este entorno se le conoce como el dominio de la aplicación o el sistema de negocios. Entender el sistema de negocios, que será apoyado por la aplicación, es esencial para entender que problemas debe resolver la aplicación y  definir, posteriormente, con mayor seguridad  y solidez los requisitos que la aplicación debe satisfacer.


En este curso, se describe como modelar el dominio de una aplicación, es decir como representar, mediante modelos gráficos, el sistema de negocios donde se ubicará la aplicación. Este proceso de modelado incluye la definición de los objetivos del sistema de negocios y la representación gráfica en UML Business de los procesos, objetos y reglas del negocio, así como la identificación de los actores que ejecutan estos procesos y los eventos que dan inicio a ellos. 

La Ingeniería de Requisitos es aquella parte del proceso de desarrollo de software que se encarga de la identificación, análisis, especificación, validación y gestión de los requisitos que una aplicación debe cumplir.


En este curso, se discuten los conceptos fundamentales de la Ingeniería de Requisitos y se explican, en detalle, cómo llevar a cabo los procesos de identificación y análisis de requisitos usando diferentes tipos de diagramas del lenguaje UML (Unified Modeling Language). 

Vista como una disciplina, la Ingeniería de Requisitos se divide en dos áreas de conocimiento: Desarrollo de Requisitos y Gestión de Requisitos. La primera de ellas consta de un conjunto de procesos relacionados con la identificación, análisis, especificación y validación de requisitos; mientras que, la segunda se relaciona con los procesos de planificación, control de cambios y trazabilidad de requisitos.


En este curso, se describe cada uno de los procesos que caracterizan tanto al desarrollo de requisitos como a su gestión.

El diseño arquitectónico es el proceso mediante el cual se define la estructura de una aplicación. Esta estructura se expresa en términos de componentes arquitectónicos y las conexiones entre estos componentes. 


Este curso describe cómo diseñar, usando el lenguaje UML y las nociones de vistas y estilos, la arquitectura de una aplicación. 

Al más alto nivel de abstracción, la arquitectura de una aplicación interactiva consta de tres componentes: la interfaz gráfica, la base de datos y los programas.  La interfaz gráfica permite que los usuarios accedan a la funcionalidad expresada a través de los requisitos de la aplicación.


En este curso, se discuten los aspectos conceptuales, metodológicos y estéticos necesarios para diseñar interfaces gráficas, a partir de requisitos funcionales y no funcionales previamente establecidos.

El comportamiento de una aplicación está determinado por sus programas. La orientación a objetos es el paradigma dominante en el desarrollo de programas para aplicaciones empresariales.


En este curso, se revisan los conceptos fundamentales de la orientación a objetos desde la perspectiva de la programación. Se discute, además, como especificar y diseñar la estructura y el comportamiento de un programa usando el lenguaje UML 2. El énfasis es en los procesos de modelado estructural y dinámico de un programa a través del análisis y diseño orientado a objetos.

La base de datos es uno de los componentes centrales de la arquitectura de una aplicación. El diseño de la base de datos es de vital importancia; pues la habilidad de una aplicación para responder eficaz y eficientemente a las operaciones de manejo de datos depende del diseño de su base de datos.

En este curso, se presentan los conceptos, modelos, procesos y mejores prácticas empleadas en la industria del software para diseñar los esquemas conceptual, relacional y físico de una base de datos.

Las pruebas de una aplicación se realizan a tres niveles diferentes: pruebas unitarias, pruebas de integración y pruebas del sistema. Las pruebas de unidad verifican la calidad de los componentes de software que los programadores elaboran. Las pruebas de integración verifican que la integración de estos componentes de software no produzca errores. Las pruebas del sistema verifican dinámicamente el cumplimiento de los requisitos funcionales y no funcionales de la aplicación.

En este curso, se discute como planificar, diseñar, preparar y ejecutar las pruebas de cada uno de los componentes (unidades) de una aplicación y las pruebas de la integración de estos componentes.

La prueba del sistema es un proceso dirigido a verificar y validar dinámicamente la aplicación como un todo. Su objetivo principal es verificar y validar el cumplimiento de los requisitos funcionales y no funcionales de la aplicación. 


En este curso, se presentan los procesos, técnicas y mejores prácticas que se emplean en la industria del software para probar una aplicación en el nivel del sistema. Se discute, también, los aspectos gerenciales del proceso de pruebas de software.

La calidad de una aplicación de software está estrechamente relacionada con los procesos que se emplean para desarrollarla y mantenerla. El aseguramiento de la calidad, la verificación & validación de software, las revisiones de software y las auditorías son procesos que dan apoyo al desarrollo de software y garantizan la producción de software de alta calidad.


En este curso, se discuten cada uno de estos procesos y se muestra como ellos se integran a los procesos técnicos del desarrollo (modelado del negocio, ingeniería de requisitos, diseño arquitectónico, diseño detallado, programación e integración y pruebas

Para manejar la complejidad del desarrollo de software es indispensable que cada desarrollo sea gestionado como un proyecto de ingeniería. Los proyectos de ingeniería permiten controlar diferentes variables del desarrollo de software, particularmente, el costo del desarrollo, el tiempo empleado para producir la solución y la calidad que ella debe tener.

Este curso, se concentra en los procesos de gestión que deben ejecutar los grupos de desarrollo para controlar estas tres variables. Se discute como planificar un proyecto de desarrollo de software, como organizar el grupo de desarrollo y como controlar la ejecución.