Diplomado Programación orientada a objetos con C++ y UML. Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos en el entorno económico actual. Estas organizaciones frecuentemente requieren el desarrollo de aplicaciones que deben cubrir especificaciones muy especializadas, desde el punto de vista que requieren una elevada eficiencia en su ejecución, o bien, que requieren interactuar con dispositivos electrónicos sofisticados, para los cuales le mejor alternativa de desarrollo es utilizar el lenguaje de programación C++, el cual es un estándar de la industria y cuenta con las interfaces adecuadas para este tipo de programación. Objetivo General: El asistente aprenderá a analizar, diseñar y programar aplicaciones o programas utilizando C++, modelando en UML para documentar y entender los requerimientos e la aplicación Dirigido a: Nivel educativo Superior (carrera terminada, trunca o en proceso). Nivel jerárquico Ingenieros de sistemas; desarrolladores de aplicaciones en bases de datos; gerentes de desarrollo de sistemas; analistas de negocio; arquitectos de datos. Experiencia Recomendable: mínimo 2 a 3 años trabajando en el área de sistemas. Sector empresarial Cualquier organización Contenido: Módulo: 1 Introducción a la programación orientada a objetos (OOP) Describir en detalle los conceptos básicos de la POO y sus principios fundamentales. Temario 1. Introducción a la ingeniería de software - Ciclo de vida del software - Enfoques y metodologías existentes para el diseño de software - El Proceso Unificado (UP) - Fases e iteraciones - Responsabilidades y disciplinas - Herramientas CASE 2. El paradigma de programación orientada a objetos - Objetos - Clases - Modelo de objetos - Abstracción - Encapsulación - Modularidad - Herencia - Polimorfismo - Paso de mensajes - Relaciones entre objetos - Visibilidad 3. Análisis y diseño orientado a objetos. http://www.cem.itesm.mx/extension/ms - Diferencia entre análisis y diseño - Introducción a la metodología para análisis y diseño orientado a objetos - Objetos y clases Práctica Inicial de análisis y diseño Duración: 8 horas Módulo: 2 Introducción al Lenguaje Unificado de Modelado (UML) Definir las características básicas del lenguaje de modelado unificado (Unified Modeling Language o UML) y aprender a crear los principales diagramas gráficos empleados por UML para modelar una aplicación desde el punto de vista estático y dinámico. Temario 1. Introducción a UML - Qué es el UML - Tipos de diagramas soportados por UML - Estándar UML 2.0 - Beneficios del modelado de software 2. Modelo de Casos de Uso - Casos de Uso - Actores - Relaciones - Construcción - Interfaces - Flujo de eventos - Flujos primarios y alternos - Análisis de casos de uso - Documentación de un caso de uso - Diagrama de casos de uso - Paquetes de casos de uso 3. Modelo Conceptual - Conceptos - Atributos - Relación de Asociación - Diagrama de modelo conceptual 4. Diseño con UML - Del análisis al diseño - Diagramas de actividades - Diagramas de interacción de objetos - Diagramas de clases - Clases - Operaciones - Alcance - Relaciones de herencia, agregación y dependencia - Visibilidad entre clases - Navegabilidad - Multiplicidad - Diagramas de estado / transición - Modelo de estados - Clases y objetos - Línea de vida - Foco de control - Mensajes y operaciones - Diagrama de secuencia - Diagrama de colaboración - Diferencias - Diagramas de componentes - Paquetes de clases - Componentes - Interfaces http://www.cem.itesm.mx/extension/ms - Tipos de componentes - Dependencias - Diagramas de despliegue - Nodos - Asociaciones entre nodos - Diagrama de distribución 5. Introducción a conceptos de arquitectura - Distinción entre arquitectura y diseño - Describiendo el flujo de trabajo de la arquitectura - Diagramas principales de la vista de arquitectura - Selección del tipo de arquitectura - Introducción a las capas de la arquitectura - Capas cliente y de presentación - Capa de negocio - Capa de integración y recursos - Modelo de solución 6. Patrones de diseño - Definir los elementos esenciales de un patrón de software - Describir el patrón Composite - Describir el patrón Strategy - Describir el patrón Observer - Describir el patrón Abstract Factory - Ejercicios de análisis y diseño orientado a objetos con UML - Arquitectura - Diagramas - Diagrama de modelos - Componentes - Relaciones entre clases - Ejercicios de UML Duración: 32 horas Módulo: 3 Desarrollo de aplicaciones en lenguaje C++. Conocer los conceptos básicos del lenguaje de programación C++. Entender las estructuras de memoria, estructuras de control, funciones y demás elementos que comprenden este lenguaje de programación. Emplear las características del lenguaje para desarrollar aplicaciones eficientes Temario 1. Fundamentos del lenguaje C++ - Introducción al lenguaje y a su desarrollo de entorno - Comentarios - Variables y constantes - Objetos que permiten entrada y salida por consola - Operadores - Tipos de datos - Fundamentales - Definidos por el usuario - Palabras reservadas - Expresiones - Estructuras de control - Asignación - Selección - Iterativo 2. Subprogramas - Definición de un sub-programa - Estructura de un subprograma - Valor de retorno - Declaración de un subprograma - Bibliotecas o librerías de subprogramas - Primer acercamiento a clases y objetos http://www.cem.itesm.mx/extension/ms - Ámbito y tiempo de vida de las variables - Argumentos y paso de parámetros - Sobrecarga de subprogramas - Recursividad 3. Punteros, referencias y arreglos - Creación - Operaciones con punteros - Referencias - Arreglos - Unidimensionales - Bidimensionales - Multidimensionales - Cadenas de caracteres - Asignación dinámica de memoria - Uso de clases predefinidas 4. Clases y objetos - Definición de una clase - Declaración de clases - Miembros de una clase - Ámbito referente a una clase - Especificadores de acceso - Creación de objetos - Puntero this - Constructores y destructores (movimiento de clases) - Constructores y destructores (Inicialización de Clases I) Herencia - Importancia de la herencia en POO - Jerarquía de herencias - Concepto de la herencia simple y múltiple - Principios generales de diseño de jerarquías - Especificadores de acceso a jerarquía de clases - Clase base - Definición - Atributos - Definición de una clase derivada - Constructores y destructores de clases derivadas - Conversión implícita de objetos de clase derivada a objetos de una clase base - Herencia de constructores y destructores (inicialización de clases II) - Clases abstractas - Herencia múltiple 5. 6. Abstracción - Restricciones de acceso en C++. - Propiedades Virtuales 7. Polimorfismo - Concepto de polimorfismo - Clase base abstracta - Sobrecarga de funciones. - Polimorfismo en las clases y métodos virtuales. - Subprogramas virtuales - Destructores virtuales 8. Entrada y salida en C++ - Entrada y salida con formato - Sobrecarga de operadores de entrada y salida - Ficheros 9. Manejo de excepciones en C++ http://www.cem.itesm.mx/extension/ms - Errores y excepciones en C++ - throw - try Duración: 40 horas Módulo: 4 Introducción a herramienta IDE para desarrollo en C++. Conocer la funcionalidad básica de un IDE visual de C++, para automatizar el desarrollo de aplicaciones en el lenguaje de programación C++. Conocer las herramientas disponibles en el producto para la generación, depuración y prueba del código, así como las bibliotecas de funciones disponibles para la realización de tareas específicas dentro de la aplicación. Temario 1. - Entorno de desarrollo integrado (IDE visual) de C++ - Menú principal - Barra de herramientas - Paleta de componentes - Diseñador de formularios - Inspector de objetos - Editor de código - Administrador de proyectos - El sistema de ayuda - Compilación, ejecución y depuración de programas - El almacén de objetos 2. Elementos básicos de la programación visual en el IDE de C++ - Introducción - Modelo de solución - Variables - Tipos de datos - Operadores aritméticos - Operador cast - Jerarquía de operaciones - Entradas/salidas en programación visual - Form1, activa, principal - Programas, formas y componentes - Componente label (Standard) - Componente button (Standard) - Componente edit (Standard) - Componente MasKEdit (Adicional) - Componente ComboBox (Standard) - Componentes de agrupamiento - Componente panel (Standard y atrás flecha negra) - Componente GroupBox(Standard) - Ventanas del IDE visual de C++ 3. Instrucciones de control de programa - Introducción - Instrucciones condicionales - Condiciones simples - Instrucción If - Condiciones compuestas - Instrucción switch - Componentes visuales de selección y decisión - Componente CheckBox(Standard) - Componente RadioButton(Standard) - Componente RadioGroup(Standard) - Componente MainMenu(Standard) - Componente PopupMenu (Standard) - Ciclo for http://www.cem.itesm.mx/extension/ms - Ciclo while - Ciclo do-while - Conclusiones acerca de ciclos - Instrucciones de salto incondicionals 4. Arreglos de C++ en la herramienta IDE visual - Introducción - Arreglos tradicionales en C++ - Arreglos listas - Arreglos tipo tabla - Tipos de arreglos en C++ (Clases e internos) - TStringList - Componente ListBox(Standard) - Componente StringGrid( adicional ) 5. Introducción a programación de bases de datos con C++ en la herramienta IDE visual - Introducción - Modelos de almacenamiento de datos - Tablas - Herramientas y utilerías - BDE Administrator - Database Destktop - SQL Explorer - SQL Monitor - Datapump - Aplicaciones o programas con tablas - Aplicaciones por renglón - Aplicación por tabla - Procesos básicos - Búsquedas - Filtros - Gráficos o imágenes - Impresión o reportes - Impresión de toda la tabla - Modelo relacional de datos - Tipos de relaciones - Modelo relacional y database desktop - Aplicaciones con tablas de relación 6. Componentes en la herramienta IDE visual - Introducción - Componentes, clases y objetos - Instalación y mantenimiento de componentes visuales - Instalación práctica de componentes - Creación e instalación de componentes visuales - Edición de componentes visuales - Eliminación de componentes visuales - Bitmaps a componentes visuales - Creación componentes no visuales 7. La VCL (Biblioteca de componentes visuales) - Panorama de la VCL - Clases de formularios y aplicaciones - Clases de componentes - Restricciones al uso de la VCL en la herramienta IDE visual 8. Manejo de excepciones en la herramienta IDE visual - Lanzamiento de excepciones - Especificación de excepciones - Captura de excepciones - Excepciones no tratadas http://www.cem.itesm.mx/extension/ms - Excepciones de la VCL 9. Multiprocesamiento en la herramienta IDE visual - Introducción - Objetos concurrentes - Aplicaciones concurrentes Duración: 32 horas Informes e inscripciones: Centro de atención norte en la zona metropolitana. Teléfono: 01 (55) 5864.5758 Fax: 01 (55) 5864.5798 ó 5864.5796 [email protected] http://www.cem.itesm.mx/extension/ms