Universidad de Ibagué, Coruniversitaria.
Programa Ingeniería de Sistemas

Programación Orientada a Objetos

Inicio

Generalidades

Ejercicios

Talleres

Proyecto

Generalidades del Curso

Justificación

Las tecnologías orientadas a objetos se han convertido en las últimas décadas en uno de los motores de la industria del software, y la riqueza del entorno POO ha permitido mejorar no sólo la calidad de los sistemas software sino también su productividad. Por ello es importante que los estudiantes aprendan las técnicas de análisis, patrones de diseño y estándares del desarrollo de aplicaciones de uso general con orientación a objetos.

Objetivos

  • Fortalecer en los alumnos el conocimiento de las metodologías de desarrollo de software orientado a objetos
  • Aprender conceptos teóricos y prácticos fundamentales de varios patrones de diseño con orientación a objetos

  • Valorizar las ventajas de los sistemas software orientados a objetos.

Metodología

  • Generación de escenarios de aprendizaje activo
  • Formulación y solución de problemas a partir del proyecto Cupi2
  • Tareas de aplicación, consultas, plenarias y foros de discusión.
  • Trabajo en sala de cómputo con un lenguaje de POO
  • Interacción y desarrollo de habilidades de auto-estudio como fundamento principal de la educación contemporánea.

Contenido temático

I. EL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE (PU)

         Introducción
         El proceso unificado dirigido por casos de uso
         El proceso unificado centrado en la arquitectura
         El proceso unificado iterativo e incremental
         La vida del proceso unificado:
                   - El producto
                   - Fases dentro de un ciclo.
         Las cuatro “P” en el desarrollo de software         
                    -  Personas, Proyecto, Producto y Proceso
                    -  Los proyectos construyen el producto
                    -  El producto es más que código Qué es un sistema software?
                    -  Qué es un modelo?
                    -  El proceso dirige los proyectos
                    -  Las herramientas: Esenciales en el proceso

II. CONCEPTOS FUNDAMENTALES DE POO
         Clases y Objetos
         Abstracción de datos y encapsulamiento
         Comunicación entre objetos (paso de mensajes)
         Herencia
                   - Simple (herencia jerárquica)
                   - Múltiple (herencia en malla)
         Clases abstractas
         Objetos compuestos
         Concurrencia
         Persistencia
         Polimorfismo
         Ligadura dinámica

III. DISEÑO DE APLICACIONES ORIENTADAS A OBJETOS
         Diseño básico de objetos
         Arquitectura de operaciones
         Modelización dinámica
         Programación orientada al evento
         Estados, eventos y escenarios
         Diagramas de estado
         Manejo de Eventos

    • Asignar manejadores de eventos a un objeto
    • Adaptadores
    • Responder a los eventos

 

IV. PATRONES DE DISEÑO
         Qué es un patrón de diseño?
         MVC: Modelo-Vista-Controlador
         Frameworks MVC
         Factory Method
         Singleton
         Template Method

 

V. POO EN  C++ Y JAVA
         Tokens
         Clases y abstracción de datos
         Separación de la interfaz y la implementación
         Arrays de objetos
         Operaciones con flujos de archivos
         Funciones y clases amigas (friend)
         Herencia
         Funciones virtuales y polimorfismo
         Manejo de hilos (threads)
         Applets:

      • La clase JApplet
      • Ciclo de vida de un applet
      • Paso de parámetros a un applet
      • Visualizar una imagen
      • Reproducir un archivo de sonido
      • Crear una animación
      • Restricciones de seguridad

Bibliografía

  • Balagurusamy, E. Programación orientada a objetos con C++. 3ª. Edición, McGraw-Hill, 2006.
  • Larman, Craig. UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Madrid: Pearson Educación, 2003.
  • Sommerville, Ian. Ingeniería de Software. 7ª. edición, Cap. 14. Ed. Pearson-Addison Wesley, 2005.
  • Fernández Sastre, Sergio. Fundamentos del diseño y la programación orientada a objetos. 2ª. Edición, McGraw Hill, 1995.
  • Budd, Timothy. Introducción a la programación orientada a objetos. Addison Wesley.
  • Voss, Greg. Programación orientada a objetos. McGraw Hill.
  • Ceballos, Francisco. JAVA2. Interfaces gráficas y aplicaciones para Internet. 3ª. Edición, Alfaomega-RaMa, 2008.
  • Joyanes Aguilar, Luis. Programación orientada a objetos. McGraw-Hill.
  • Jacobson, Ivar. El Proceso Unificado de Desarrollo de Software. Addison Wesley.
  • Rumbaugh, James. Modelado y diseño orientado a objetos. Prentice-Hall.
  • Booch, Grady. Análisis y diseño orientado a objetos.

- Deitel, Harvey. C/C++ cómo programar y Java. Prentice-Hall.

- Villalobos, Jorge/Casallas, Rubby. Fundamentos de Programación. Aprendizaje activo basado en casos. Pearson Educación.

Enlaces de interés:

http://cupi2.uniandes.edu.co/cursos
www.dim.udec.cl/cursos/poo/objetos.html
http://www.javapassion.com/
http://programandoenjava.over-blog.es/article-29626615.html
http://www.cplusplus.com/doc/tutorial/
http://www.java.sun.com/developer
http://www.java.sun.com/docs/books/tutorial/
http://www.tooltorials.com
http://www.illasaron.com/html/
http://www.ajlopez.net/uml
www.toptutoriales.com/
www.depi.itch.edu.mx/it/sw/capacitacion/m2/
http://www.javapassion.com/javafx/
www.desarrolloweb.com/articulos/499.php
http://www.lsi.us.es/
http://wwwdi.ujaen.es/asignaturas/progav/progav-tema2.pdf http://www.unibague.edu.co/~gustavo.martinez/cursos/poo

Criterios de evaluación

  • Exámenes rápidos y tareas de aprendizaje

  • Talleres de trabajo colaborativo

  • Evaluación final de cada período

  • Proyecto computacional

Arriba  


Inicio | Biografía | Cursos | Para pensar... | Para reflexionar... | Para reir | Enlaces

 
Profesor Gustavo Martínez Villalobos
Email: gmartin@nevado.cui.edu.co
Facultad de Ingeniería de Sistemas, Coruniversitaria
Ibagué, Tolima, COLOMBIA