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.