Download III
Document related concepts
no text concepts found
Transcript
CENTRO DE INNOVACIÓN Y DESARROLLO TECNOLÓGICO EN CÓMPUTO DIPLOMADO PROGRAMACIÓN ORIENTADA A OBJETOS ( 240 HRS) PROGRAMA Y CONTENIDOS HORAS MÓDULO 1. INTRODUCCIÓN AL MODELO DE PROGRAMACIÓN ORIENTADO A OBJETOS 30 OBJETIVO GENERAL EL alumno conocerá los conceptos básicos del modelo de programación orientado a Objetos, para detectar y resolver problemas de cómputo mediante este paradigma UNIDAD 1. INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS 1.1 Paradigma de programación 1.2 El modelo orientado a objetos 1.3 Estado del arte y tendencias UNIDAD 2. CONCEPTOS BÁSICOS 2.1 Clases y objetos 2.2 Atributos 2.3 Métodos 2.4 Encapsulamiento, herencia y polimorfismo 2.5 Casos de estudio UNIDAD 3. DISEÑO DE APLICACIONES BÁSICAS ORIENTADA A OBJETOS 3.1 Metodologías de diseño 3.2 Modelado 3.3 Implementación UNIDAD 4. ESTRATEGIAS PARA DESARROLLO DE APLICACIONES 4.1 Identificación de problemas y soluciones 4.2 Selección del paradigma a aplicar 4.3 Casos de estudio BIBLIOGRAFÍA: Louden, K., Programming Languages, Principles and Practice, 2ª Edición. Thomson Learning, 2003, Salus, P., Handbook of Programming Languages Vol.1: Object-Oriented programming Languages. McMillan Technical Publishing, 1998. Sebesta, R., Concepts of Programming Languages, 7ª Edición. Addison Wesley, 2005. 2 10 9 9 Braude, E., Software Design, From Programming to Architecture. John Wiley & Sons, 2004. O’Docherty, M., Object-Oriented Análisis & Design, Understanding System Development with UML 2.0. John Wiley & Sons, 2005. Leiss, E., A Programmer’s Companion to Algorithm Analysis. Chapman & Hall / CRC, 2007. MÓDULO 2. UML PARA EL ANÁLISIS Y DISEÑO ORIENTADA A OBJETOS 30 OBJETIVO GENERAL El alumno aplicará los conocimientos y habilidades para modelar y desarrollar sistemas Orientados a objetos utilizando UML UNIDAD 1. INTRODUCCIÓN AL ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS 1.1 Conceptos básicos 1.2 Metodología para el análisis de sistemas 1.3 Detección de requerimientos para el diseño 1.4 Herramientas para el modelado 1.5 Definición del modelo conceptual 1.6 Descripción general de elementos y procesos UNIDAD 2. UML 2.1 Descripción del lenguaje de modelado UML 2.2 Tipos de modelo 2.3 Metodología para la creación de modelos 2.4 Análisis del comportamiento de objetos 2.5 Clases 2.6 Instancias: atributos y operaciones 2.7 Asociaciones y su descripción 2.8 Modelo conceptual UNIDAD 3. DIAGRAMAS 3.1 Simbología 3.2 Objetos 3.3 Asociaciones 3.4 Clases, subclases, interfaces entre clases y puertos 3.5 Diseño de la estructura y comportamiento de un objeto UNIDAD 4. 6 TIPOS DE DIAGRAMAS: SECUENCIAS Y ESTADOS 4.1 Identificación de eventos secuenciales 4.2 Notación UML 4.3 Identificación de estados 4.4 Recurrencia, en el tiempo y secuenciación 4.5 Aplicación práctica 6 6 6 UNIDAD 5. APLICACIONES 5.1 Máquinas de estados 5.2 Bases de datos 5.3 Interfaz Gráfica de Usuario para una aplicación de escritorio 6 BIBLIOGRAFÍA: Larman, C., UML y Patrones, Introducción al Análisis y Diseño, Prentice Hall, Pearson, México, 1999. Bennett S., J. Skelton, K. Lunn, UML, McGraw Hill, 2a Edición, UK, 2005. Horstmann, Object Oriented Design & Patterns, Wiley, EUA, 2006. Sodhi, J., P. Sodhi, Object Oriented Methods for Sofware Development, McGraw Hill, EUA, 1996. Morris, D., G. Evans, P. Green y C. Theaker, Object Oriented Computer System Engineering, Springer Verlag, Great Britain, 1996. Firesmith, D., Object Oriented Design: A Software Engineering Approach, John Wiley & Sons, EUA,2000. Fowler, M., K. Scott, UML Gota a Gota, Adison Wesley, México, 1997. MÓDULO 3. PROGRAMACIÓN ORIENTADA A OBJETOS EN C++ 60 OBJETIVO GENERAL Que el alumno aplique los conocimientos y habilidades adquiridos en el curso para Desarrollar programas orientados a objetos, utilizando el lenguaje de Programación C++ UNIDAD 1. INTRODUCCIÓN 1.1 Introducción a la POO con C++ 1.2 Diferencias entre C y C++ UNIDAD 2. CLASES Y ABSTRACCIÓN DE DATOS 2.1 Clases 2.2 Control de acceso a las clases miembro 2.3 Implementación de clases 2.4 Herencia y clases derivadas UNIDAD 3. POLIMORFISMO 3.1 Funciones virtuales y polimorfismo 3.2 Sobrecarga de operadores 3.3 Plantillas UNIDAD 4. MANIPULACIÓN DE OBJETOS 4.1 Creación y referencia de objetos 4.2 Asignación de Memoria dinámica 4.3 Listas ligadas de objetos 3 10 20 20 UNIDAD 5. MANEJO DE ARCHIVOS 5.1 Flujos 5.2 Archivos de E/S 5.3 Acceso aleatorio a archivos 7 BIBLIOGRAFÍA: Stroustrup, B., The C++ Programming Language , 3rd Edition, Pearson Education, 2000. Eckel, B., Thinking in C++, Volume 1: Introduction to Standard C++, 2nd Edition, Prentice Hall, 2000. Eckel, B., Thinking in C++, Vol. 2: Practical Programming, 2nd Edition, Prentice Hall, 2003. Deitel, P., C++ Como programar , 4th Edition, Pearson, 2005. MÓDULO 4. PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA 60 OBJETIVO GENERAL El alumno aplicará los conocimientos y habilidades adquiridos para desarrollar programas Orientados a objetos en el lenguaje de programación Java UNIDAD 1. INTRODUCCIÓN 1.1 Historia de Java y sus diferencias con C++ 1.2 Entorno de desarrollo 1.3 Applets 1.4 Variables, tipos de datos y arreglos 1.5 Operadores 1.6 Condicionales y ciclos en Java UNIDAD 2. MÉTODOS Y CLASES 2.1 Objetos 2.2 Declaración de clases 2.3 Constructores y destructores UNIDAD 3. HERENCIA Y POLIMORFISMO 3.1 Superclases y subclases 3.2 Instrucciones para el manejo de herencia 3.3 Jerarquía de herencia 3.4 Definición y ejemplos de polimorfismo UNIDAD 4. 2 HILOS 4.1 Subprocesos y ciclo de vida 4.2 Creación de hilos 4.3 Demonios 4.4 Prioridades y sincronizaciones de hilos 4.5 Secciones críticas 4.6 Grupos de hilos 8 18 18 UNIDAD 5. EXCEPCIONES 5.1 Manejo de excepciones 5.2 Declaración de excepciones 5.3 Crear, lanzar y atrapar excepciones UNIDAD 6. MANEJO DE ARCHIVOS Y BASES DE DATOS 6.1 Jerarquía de datos 6.2 Flujos de datos de entrada y salida 6.3 Creación de archivos de acceso secuencial y de acceso aleatorio 6.4 Bases de datos relacionales 6.5 Cláusulas e instrucciones 6.6 Manipulación de bases de datos JDBC 6 8 BIBLIOGRAFÍA: Deitel y Deitel, Como Programar en Java, Prentice Hall, 2004. Lalani, Suleiman Sam, Java Biblioteca del Programador, McGraw-Hill, 1997 Goodrich, Michael T., Data Structures and Algorithms in Java, Wiley, 2006. Ceballos, Fco. Javier, Java 2 Curso de Programación, Alfaomega, 2000. Sahni, Sartaj, Data Structures, Algorithms and Applications in Java, McGraw-Hill 2000. Hang T. Lau, A Numerical Library in Java for Scientists & Engineers, Chapman & Hall/CRC. 2000. MÓDULO 5. DESARROLLO E IMPLEMENTACIÓN DE APLICACIONES ORIENTADAS 60 A OBJETOS OBJETIVO GENERAL Que el estudiante aplique la metodología para el diseño y desarrollo de una aplicación en UML que satisfaga una necesidad dentro de su campo laboral, para ser implementada con Java o C++ UNIDAD 1. ANÁLISIS DEL SISTEMA 1.1 Justificación 1.2 Detección del problema 1.3 Viabilidad técnica de la aplicación Orientada a Objetos 1.4 Requerimientos de diseño UNIDAD 2. DISEÑO 2.1 Definición de los objetos 2.2 Especificación de relaciones entre objetos 2.3 Selección del tipo de modelo UNIDAD 3. DIAGRAMACIÓN EN UML 3.1 Diagrama general 3.2 Especificación de las clases, subclases y relaciones 8 10 12 3.3 UNIDAD 4. Especificación de atributos y dependencias IMPLEMENTACIÓN 4.1 Documentación en pseudocódigo 4.2 Pruebas de escritorio 4.3 Selección del lenguaje de programación 4.4 Programación 4.5 Documentación de programas UNIDAD 5. PRUEBAS Y LIBERACIÓN 5.1 Instalación 5.2 Pruebas y ajuste 5.3 Liberación 5.4 Recomendaciones para la elaboración de manuales de operación 15 15 BIBLIOGRAFÍA: Larman, C., UML y Patrones, Introducción al Análisis y Diseño, Prentice Hall, Pearson, México, 1999. Bennett S., J. Skelton, K. Lunn, UML, McGraw Hill, 2a Edición, UK, 2005. Horstmann, Object Oriented Design & Patterns, Wiley, EUA, 2006. Sodhi, J., P. Sodhi, Object Oriented Methods for Sofware Development, McGraw Hill, EUA, 1996. Morris, D., G. Evans, P. Green y C. Theaker, Object Oriented Computer System Engineering, Springer Verlag, Great Britain, 1996. Firesmith, D., Object Oriented Design: A Software Engineering Approach, John Wiley & Sons, EUA,2000. Fowler, M., K. Scott, UML Gota a Gota, Adison Wesley, México, 1997.