Programaci - PowerPoint PPT Presentation

About This Presentation
Title:

Programaci

Description:

Frameworks. Patrones de Dise o. Bases de datos OO y Objeto-Relacionales. 9. Situaci n actual ... Patrones EJB, Frameworks. 5 OPT. 12. Objetivos de la parte te rica ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 24
Provided by: jesusgarc
Category:

less

Transcript and Presenter's Notes

Title: Programaci


1
Programación Orientada a Objetos
Ingeniería en Informática Curso
2003/2004
Jesús García Molina Dpto. Informatica y
Sistemas Universidad de Murcia http//dis.um.es/j
molina/
2
Construcción de Software OO
  • Las técnicas de la orientación a objetos son el
    medio adecuado para mejorar la calidad del
    software

POO favorece extensibilidad y reutilización
Por qué?
Clases y Objetos Mensajes Herencia y Polimorfismo
y Ligadura Dinámica
Cómo?
3
Cómo surge la programación OO?
60s
Simula
Smalltalk
70s
80s
OO es útil en IS
C, Delphi, ...
Eiffel, Trellis-Owl,...
Lenguajes OO puros
Lenguajes OO híbridos
En 1995 Java! y en 2002 C
4
Evolución OO
  • A finales de los ochenta, mito de la OO
  • Mi gato es OO
  • En los noventa deja de ser algo exótico
  • Consenso en la comunidad software
  • OO es el camino a seguir
  • La OO no resuelve todos los problemas de la I.S.
  • Existen buenos entornos profesionales
  • Existe experiencia de su aplicación

5
Evolución OO
Lenguajes OO
Métodos OO Análisis y Diseño OO
Bases de Datos OO
6
Evolución OO
  • Integración de cliente-servidor y OO Objetos
    Distribuidos
  • Desarrollo basado en componentes
  • Alcanzar el viejo sueño de construir el
  • software como el hardware
  • Lenguaje estándar para modelado OO UML
  • Procesos OO basados en UML

7
Ciclo de vida OO
  • Se reduce el salto semántico entre dominio del
    problema y la aplicación
  • Análisis y Diseño basados en los objetos del
    dominio.
  • Se favorece la extensibilidad

8
Situación actual
  • Componentes
  • Objetos Distribuidos
  • UML Un estándar para el modelado
  • Frameworks
  • Patrones de Diseño
  • Bases de datos OO y Objeto-Relacionales

9
Situación actual
  • La tecnología OO ha madurado
  • Desarrollo de software OO está extendido
  • Fenómeno Java
  • Crece el uso de las técnicas de Análisis y diseño
    OO
  • Procesos basados en UML RUP
  • Estándares CORBA, UML, JDO,...

10
OMG
  • Consorcio de la industria software
  • Dos objetivos
  • Promover la ingeniería del software OO
  • Definir un estándar para la infraestructura que
    posibilite las aplicaciones distribuidas OO
  • UML
  • CORBA
  • MDA (Arquitectura dirigida por modelos)

11
OO en el plan de estudios
Programación OO
Introducción a la Programación OO
3º OB
Análisis y Diseño de Software
Diseño OO (UML, Proceso y Patrones)
4º OB
Componentes Software
5º OPT
Desarrollo basado en componentes
Desarrollo de aplicaciones distribuidas
Objetos Distribuidos (Java RMI, Servlet, EJB)
5º OPT
Arquitectura del software
Patrones EJB, Frameworks
5º OPT
12
Objetivos de la parte teórica
  • Describir el núcleo de conceptos que caracterizan
    al paradigma orientado a objetos, OO.
  • Contrastar como diferentes lenguajes de
    programación OO reflejan los conceptos del
    paradigma.
  • Valorar en que medida las técnicas OO mejoran la
    calidad del software.
  • Enseñar un lenguaje OO junto con su entorno de
    programación.
  • Enseñar técnicas de programación OO.

13
Programa de Teoría
  • Tema 1. Orientación a Objetos, una técnica para
    mejorar la calidad del software.
  • Tema 2. Clases y Objetos
  • Tema 3. Diseño por Contrato
  • Tema 4. Herencia

14
Objetivos de la parte práctica
  • Aplicar los conceptos teóricos
  • Aplicar técnicas de programación
  • Adquirir destreza en el manejo de un lenguaje OO,
    junto con su entorno de programación.
  • Lenguaje Java
  • Entorno JBuilder 7 Personal
  • Realizar un conjunto de ejercicios de
    programación
  • Realizar un pequeño proyecto.

15
Lenguaje ideal para docencia
  • Buenas propiedades
  • OO puro
  • reflejar con claridad los conceptos
  • legible
  • pequeño
  • tipado estáticamente
  • alto nivel
  • soporte para corrección

16
Lenguaje ideal para docencia
  • Entorno fácil de aprender y manejar, robusto.
  • Requisitos hardware y software mínimos.
  • Muy utilizado en las empresas e industrias
  • Buena documentación
  • Libre distribución

17
Por qué Java?
  • Tipado estáticamente
  • Simple
  • Orientado a objetos casi puro
  • Muy extendido en la industria
  • Abundante documentación
  • Tecnología Java Servlet, RMI, Java Beans, EJB,..

18
Características de Java
  • Simplifica y acerca C a la OO
  • Semántica referencia
  • Garbage Collection
  • No es necesario declarar funciones virtuales
  • Lenguaje de uso general
  • Portabilidad Bytecodes y MáquinaVirtual Java
  • Apropiado para crear software para la web
  • aplicaciones seguras independientes de la
    plataforma
  • applets Java

19

Características de Java
  • Herencia múltiple basada en interfaces
  • Mecanismo de excepciones
  • Mecanismo de concurrencia
  • Persistencia

20
Programa de Prácticas
  • Tema 1. Clases, Objetos y Mensajes en Java
  • Entorno de Programación Java
  • Tema 2. Herencia en Java
  • Clases abstractas
  • Interfaces
  • Tema 3. Clases Básicas Colecciones, Cadenas, E/S
  • Tema 4. Clases internas
  • Tema 5. Concurrencia y Persistencia
  • Tema 6. Desarrollo de aplicaciones interactivas

21
Horario de Prácticas
  • Horario
  • Lunes 18.30-20.30
  • Jueves 16.30-18.30
  • Jueves 18.30-20.30
  • Laboratorio 1/3

22
Evaluación
  • Examen teórico con cuestiones teórico-prácticas.
  • Entrega de ejercicios y proyecto de programación
  • Entrevista para evaluación del trabajo práctico
  • Necesario aprobar parte teórica y práctica
  • Nota final Media ponderada entre la nota de
    teoría (60) y la nota de prácticas (40).

23
Bibliografía Básica
  • TEORIA
  • 1. Arnold, K. y Gosling, J., El lenguaje de
    programación Java, Addison-Wesley, 3ª Ed.,
    2001.
  • 2. Budd, T.,An Introduction to Object-Oriented
    Programming, 3ª ed., Addison-Wesley, 2002.
  • 3. Meyer, B., "Construcción de Software Orientado
    a Objetos", 2ª edición, Prentice-Hall, 1998.
  • 4. Stroustrup, B., "El Lenguaje de Programación
    C", Edición Especial, Addison-Wesley, 2000.
  • PRACTICAS
  • 1. Arnold, K., Gosling, J. y Jomes, D. El
    lenguaje de Programación Java, 3ª Edición,
    Addison-Wesley, 2001.
  • 2. J. Bloch, Effective Java, Addison-Wesley,
    2001
  • 3. Eckel, B. Piensa en Java, 2ª Edición,
    Prentice-Hall, 2002.
Write a Comment
User Comments (0)
About PowerShow.com