metodologías orientadas a objetos maestría de ingeniería telemática universidad del azuay

50
Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Upload: aleta-valladolid

Post on 24-Jan-2015

33 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Metodologías Orientadas a Objetos

Maestría de Ingeniería Telemática

Universidad del Azuay

Page 2: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Historia 1940 programación diseño y análisis 1957 diseño del misil nuclear Minuteman 1958 LISP John McCarthy Ten Dyke & Kunz: 1967 Lenguaje Simula – Noruega 1970’s Smalltalk, Alan Kay, Xerox PARC 1970 LISP, FLAVORS, LOOPS, CLOS 1976 Alphard 1977 CLU, LISP. 1980 UI, WIMP, Xerox, Apple, Windows, Openlook, OSF

Motif. 1986 Actor Systems Ahga 1989 Eiffel y extensiones de C y Pascal. 1989 Biggerstaff & Ritcher, Prieto-Diaz & Freeman,

Sommerville

Page 3: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Historia Simulación y lenguajes de 3ra generación Intercambio de mensajes entre objetos Máquina de estados finitos Estructura del programa vs. Estructura

del problema. IA y la noción de actores. DoD 60’s-70’s soporta financiamiento de

proyectos: CASE, IPSE, Unix, X/Windows, ADA Bases de Datos orientadas a objetos.

Page 4: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Historia

1991. Estandarización: OMG Object Management Group, 4GL

CORBA, Common Object Request Broker

Programación, Análisis y Diseño. Sistemas abiertos.

Page 5: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Historia

Fase 1 - 1970's Fase 2 -1980's Fase 3 -1990's

La Era de la Invención

La Era de la Confusión La Era de madurez

Simulación de eventos discretos Interfaces WIMP

Enfoque en análisis y diseño

Simula Xerox y Apple Sistemas abiertos

Kay: FLEX machine

extensiones de LISP Aplicaciones

PARC: Dynabook entornos de IA

Bases de datos orientadas a

objetos

SmalltalkNuevos lenguajes:

Eiffel, C++, … Estándares.

Page 6: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Ventajas

Código Reutilizable. Mejores métodos y notación. Ciclo más corto de análisis diseño

y programación. Incorpora ideas de IA, modelado de

datos, TI, computación.

Page 7: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

OOM (Object Oriented Methods)

Programación Análisis Diseño Bases de Datos

Page 8: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Terminología básica

Objetos: atributos y procedimientos

Procedimientos= operaciones y métodos.

Objeto = instancia Clases, entidades del mundo real.

Page 9: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Terminología Básica

Encapsulamiento: Estructuras de Datos y detalles de

los objetos están ocultos. Se accede a los objetos a través de

mensajes que son procesados por los métodos.

Encapsulamiento = abstracción.

Page 10: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Terminología Básica

Mensajes: intercambio entre objetos

Se evita duplicación de datos. El mensaje causa que los métodos

de otro objeto se ejecuten. ~ llamadas a funciones.

Page 11: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Terminología Básica

Herencia: los objetos pueden heredar características de sus clases y también de superclases más generales.

Estructura conceptual del mundo Adicionar excepciones

Page 12: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Terminología Básica

Polimorfismo: la misma expresión denota diferentes operaciones.

Vinculación dinámica. Ejemplo: sobrecarga de

operadores (+).

Page 13: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento Abstracción: representación de las

características esenciales sin incluir todos los detalles accesorios.

Atributos abstractos: variables de instancia y de clase.

Ejemplo: tamaño, posición color de un objeto. Métodos, operaciones o servicios:

procedimientos para cambiar atributos o estados del objeto.

(Máquina de estados finitos.) Operación: que mensajes puede procesar el

objeto.

Page 14: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento

Page 15: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento

Page 16: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento Encapsula: datos y procesos. Datos: atributos

Variables e instancia. Variable de clase.

Procesos: Métodos, operaciones o servicios: Procedimientos. Funciones.

Page 17: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento Clase: colección de objetos con

atributos y métodos comunes, de acuerdo a sus características y responsabilidades.

Tipo abstracto de Datos: tipo de entidades de modelado de datos que incluyen métodos para el tratamiento de los datos.

Clase <> Tipo.

Page 18: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento

Vinculación Dinámica: asociación de un objeto a una clase en tiempo de ejecución. Permite el polimorfismo.

Vinculación estática: provista por el compilador.

Page 19: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento Objeto: una clase, tipo abstracto de

dato, o instancia de un tipo (de objeto). Instancia ~ registro en una base de

datos. Clases abstractas: no pueden tener

instancias sus hijos son otras clases. Aspectos internos: estados,

implementación e instanciación. Aspectos externos: nombres de sus

métodos y tipos de parámetros.

Page 20: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento Encapsulamiento: ocultamiento de

información. Estructura interna escondida y

protegida respecto de otros objetos. Implementación: privada o pública. Los datos se acceden solamente a

través de mensajes. Un mensaje es procesado por un

método y puede contener cero o más parámetros.

Page 21: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento Protocolo del objeto: conjunto de

mensajes que puede responder. Selector: el nombre del mensaje. En compiladores de tipos fuertes los

objetos no pueden recibir mensajes ilegales.

Vinculación dimámica: c/objeto se responsabiliza de protegerse de los mensajes que recibe.

Page 22: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento Polimorfismo y sobrecarga de

operadores: Habilidad de usar el mismo

símbolo para diferentes propósito cuando el contexto es claro.

Habilidad de tomar diferentes formas en tiempo de ejecución.

Ejemplo: abrir (ventana o fichero).

Page 23: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento Polimorfismo:

ad hoc. Universal.

El mismo símbolo para operaciones no relacionadas semánticamente, coerción: para operar con mezclas de tipos.

Universal: paramétrico e inclusión: capacidad de sustituir argumentos de un rango de tipos en la llamada a una función.

Page 24: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Abstracción y Encapsulamiento

Genericidad: habilidad de definir módulos parametrizados.

Ejemplo: una lista de nombres, lista de enteros, lista de empleados.

Ada. MODULA-2, Algol. Ejemplo: red neuronal multicapa.

Page 25: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Herencia Elimina la redundancia de almacenar el

mismo dato o procedimiento varias veces.

La herencia se relaciona mediante clasificación jerárquica.

IA: redes semánticas. Clasificación, generalización, tipo,

composición, agregación o parte de. Pertenencia, similitud, autoría.

Page 26: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Herencia Redes de herencia: es un, del tipo de.

Page 27: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Herencia Herencia única o simple Herencia múltiple. Ejemplo: diferencia entre clases y

superclases e instancias de objetos. La herencia permite reutilización

pero también hace más compleja la descripción de los objetos y adiciona estructuras de herencia.

Page 28: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Terminología adicional Actores: delegación ~ herencia sin

pertenencia a una clase. Un objeto delega a otro o le da permiso para ejecutar ciertas tareas.

Auto recursividad o auto referencia: capacidad de enviar mensajes a sus propios métodos.

Programación basada en objetos: encapsulamiento e identidad de objetos.

Page 29: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Terminología adicional

Lenguajes basados en objetos: abstracción de conjuntos instancia/clase. Las clases se relacionan con la herencia.

Sistemas orientados a objetos: heredan de la programación basada en objetos y de los sistemas basados en clases. (polimorfismo y herencia).

Page 30: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Relación entre términos

basado en objetos =

encapsulamiento + identidad del objeto

basado en clases =

basado en objetos + abstracción de conjuntos

orientado a objetos =

basado en clases +

herencia y auto recursividad

Page 31: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

¿Preguntas?

Ejemplos de objetos degenerados. Representación de Objeto, Atributos

y Métodos. Representación de paso de

mensajes. Importancia del encapsulamiento. Clases y Herencia. Instanciación de un objeto.

Page 32: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay

Gracias por su atención.

Page 33: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 34: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 35: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 36: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 37: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 38: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 39: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 40: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 41: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 42: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 43: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 44: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 45: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 46: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 47: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 48: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 49: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay
Page 50: Metodologías Orientadas a Objetos Maestría de Ingeniería Telemática Universidad del Azuay