el modelo orientado a objetos: introducción objetos: definiciones un objeto representa elementos...
TRANSCRIPT
![Page 1: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/1.jpg)
1
El modelo orientado a objetos: Introducción
Humberto Cervantes MacedaAlfonso Martínez Martínez
Abril 2005
![Page 2: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/2.jpg)
2
Contenido
Historia
El modelo de objetos
La tecnología orientada a objetos
![Page 3: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/3.jpg)
3
HISTORIAHISTORIA
![Page 4: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/4.jpg)
4
Historia
Finales de los 40’s y pricipio de los 50’s: Kristen Nygaard y Ole-Johan Dahl se unen a un proyecto de calculos de absorción por resonancia, para la construcción del primer reactor nuclear, para la Oficina de Defensa Noruega
Nygaard (1926-2002): investigador en ciencias
Dahl (1931-2002): diseñador de lenguajes de programación e implementación
![Page 5: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/5.jpg)
5
Ole-Johan Dahl
![Page 6: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/6.jpg)
6
Ole-Johan Dahl & Kristen Nygaard
![Page 7: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/7.jpg)
7
Historia
Dentro del campo de la simulación, encontraron grandes dificultades en modelar la estructura y actividad de los sistemas en estudio
En 1960 Nygaard se fue al “Norwegian Computing Center (NCC)” para hacerle frente al reto
![Page 8: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/8.jpg)
8
Historia
Posteriormente se unieron Dahl y Bjrn Myhrhaug
Nygaard observó que varios proyectos (civiles) presentaban problemas metodológicos similares a los que ellos enfrentaban (en el ámbito militar)
![Page 9: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/9.jpg)
9
Simula I
Simula I fue la respuesta a la problemática en cuestión, relacionada a la descripción de sistemas
La implementación de Simula I, fue soportada por una computadora UNIVAC 1107 con ALGOL 60
![Page 10: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/10.jpg)
10
Dahl & Nygaard
![Page 11: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/11.jpg)
11
Simula I: características
Un preprocesador de Algol 60
Una biblioteca de subprogramas;
Un esquema original de asignación de pila (stack) por proceso
Aún sin el concepto de objeto
![Page 12: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/12.jpg)
12
Conceptos madurados a partir de Simula I
Construcciones de datos y acciones agrupados juntos: encapsulamiento y objeto
Acceso externo a atributos de objetos (Hoare): seguridad en tiempo de ejecución con revisión económica en tiempo de compilación
Reconocimiento de propiedades comunes: esquema de factorización o herencia
![Page 13: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/13.jpg)
13
Conceptos madurados a partir de Simula I
Reconocimiento de comportamiento abstracto similar entre clases, con comportamiento concreto completamente diferente: concepto de asociación dinámica (dynamic binding)
Técnica de acción entrelazada para la simulación de concurrencia
Estos conceptos llevaron al conocimiento de un nuevo lenguaje: Simula 67Simula 67
![Page 14: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/14.jpg)
14
Simula 67
Lenguaje de propósito general con capacidad de simulación, aplicando sus propios conceptos básicos
Ha influenciado el desarrollo de lenguajes modernos en la programación orientada a objetos
![Page 15: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/15.jpg)
15Kristen Nygaard & Ole-Johan Dahl: ACM Turing award
2001 and IEEE John von Neumann Medal 2002
![Page 16: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/16.jpg)
16
Lenguajes descendientes de Simula 67
Eiffel (Simula 85): diseñado por Bertrand Meyer. En algún momento, presidente de la “Association of Simula Users”
Smalltalk: debe su existencia a Alan Kay. Un visionario cuyas perspectivas fueron influenciadas profundamente por las primeras implementaciones de Simula
![Page 17: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/17.jpg)
17
Lenguajes descendientes de Simula 67
C++: desarrollado por Bjarne Stroustrup, otro viejo usuario de Simula, quién plasmó las características de éste en lenguaje ‘C’
Ada: su diseñador en jefe, Jean Ichbiah, lidereó a un grupo de desarrollo que implementó un subconjunto de simula
![Page 18: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/18.jpg)
18
El modelo de objetosEl modelo de objetos
![Page 19: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/19.jpg)
19
Principios
Simulación del mundo real: expresión de elementos del mundo real en la memoria de la computadora
Atacar la complejidad en el desarrollo de systemas de software
![Page 20: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/20.jpg)
20
Objetos
El término Objeto fue formalmente utilizado por primera vez en Simula y se utilizó en sus programas para simular algunos aspectos de la realidad
Los objetos representan entidades que, en terminos generales, se pueden clasificar en:
Cosas tangibles, Roles, Incidentes, Interacciones,Especificaciones
![Page 21: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/21.jpg)
21
Objetos: definiciones
Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con rol bien definido en el dominio del problema [Smith and Tockey]
Un objeto es un concepto, abstracción o cosa con fronteras bien ndefinidas y significado para el manejo del problema [Rumbaugh]
Un objeto tiene estado, comportamiento e identidad; la estructura y comportamiento de objetos similares son expresadas a través de una clase; los terminos objeto e instancia son intercambiables [Booch]
![Page 22: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/22.jpg)
22
Objetos: características
Estado: Abarca todas las propiedades del objeto (normalmente estáticas) y los valores de sus propiedades (normalmente dinámicas)
Comportamiento: Consiste en la forma de actuar y reaccionar de un objeto, en términos de sus cambios de estado y paso de mensajes
Identidad: Son las propiedades de los objetos que los distinguen de los demás
![Page 23: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/23.jpg)
23
Objetos: característicasLa implementación de objetos puede ser clasificada como: basada en descriptores, basada en capacidad y estáticaBasada en descriptores (Smalltalk) permite una tipificación dinámica poderosaBasada en capacidad es encontrada frecuentemente en bases de datos orientadas a objetos y sistemas operativos (object id's)La aproximación estática es encontrada en lenguajes como C++Una aproximación basada en un "proxy" que contiene una capa de indirecciones, para manejadore de Smalltalk, es utilizada para el manejo de objetos migrantes en forma transparente y distribuida
![Page 24: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/24.jpg)
24
Objetos: relaciones
Enlace o liga: denota un tipo de asociación a través de la cual un objeto (cliente), utiliza los servicios de otro (servidor), estableciendo una comunicación
Agregación: se presenta cuando un objeto forma parte del estado de otro. De esta forma se expresa una jerarquía Todo/Partes entre objetos.
El envío de mensajes entre objetos puede establecerse cuando a través de su relación un objeto está al alcance de otro
![Page 25: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/25.jpg)
25
Objetos: ejemplo
Objeto producto de una tienda de autoservicioEstado
Nombre= “Jabón de tocador”Marca= “Palmolive”Peso= 100 gr.Tipo= “normal”Precio=$4.59
ComportamientoCambiar precioCambiar marcaEtc.
IdentidadA una instancia de producto se le puede nombrar j
![Page 26: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/26.jpg)
26
Clase
Es una especificación de estructura (variables de instancia), comportamiento (métodos), y herencia (padres o estructura y comportamiento recursivos) para objetosUna clase puede especificar también permisos de acceso a clientes y clases derivadas, visibilidad y classes can also specify access permissions for clients and derived classes, visibilidad y resolución en búsqueda de miembros
Una clase es un descriptor/constructor de objetos
![Page 27: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/27.jpg)
27
Representación en UMLClase: descripción de un conjunto de objetos que comparten los mismos atributos, relaciones y semántica
NombreAtributosNombre: tipo
Operaciones
Visibilidad:+ Público# Protegido- Privado
<<estereotipo>>Nombre Itálico =
clase abstracta
[visibilidad] nombre ([lista de parm.])[: tipo que regresa][{propiedades}]
Nombre Itálico = operación abstracta
[visibilidad] nombre [multiplicidad][: tipo][=valor-inicial] [{propiedades}]
![Page 28: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/28.jpg)
28
¿Cómo especificar una clase?
Abstracción: establece las características stablece las características esenciales de un objeto que lo distingue de los esenciales de un objeto que lo distingue de los demás, ofreciendo fronteras conceptuales bien demás, ofreciendo fronteras conceptuales bien definidas desde la perspectiva del observadordefinidas desde la perspectiva del observador
Encapsulamiento: es un mecanismo que s un mecanismo que permite separar la interfaz de una abstracción, permite separar la interfaz de una abstracción, de su implementación, además de no permitir de su implementación, además de no permitir el acceso directo a su estructura (atributos)el acceso directo a su estructura (atributos)
![Page 29: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/29.jpg)
29
Ejemplo de una clase persona
Se puede describir a una persona en forma Se puede describir a una persona en forma diferente: como empleado de una empresa ó diferente: como empleado de una empresa ó como estudiante de la UAM. como estudiante de la UAM.
En ambos casos no tiene sentido describir el En ambos casos no tiene sentido describir el color de sus ojos o la forma de su voca; color de sus ojos o la forma de su voca; ¡esta ¡esta información no es esencial!información no es esencial!
Sin embargo, puede definirse un método para Sin embargo, puede definirse un método para calcular su edad, ocultando el como lo hace. calcular su edad, ocultando el como lo hace. También no es conveniente que algún cliente También no es conveniente que algún cliente de un objeto de la abstracción de persona de un objeto de la abstracción de persona cambie su nombre, por ejemplo, en forma cambie su nombre, por ejemplo, en forma arbitrariaarbitraria
![Page 30: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/30.jpg)
30
Especificación de una clase persona con UML
Persona
# Nombre: string# FechaNac: date- ID: string
+ calcularEdad( ): Integer+ cambiarNombre( )+ mostrarDatos( )
![Page 31: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/31.jpg)
31
Relaciones entre clases
DependenciaGeneralizaciónAsociaciónRealización
![Page 32: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/32.jpg)
32
Relaciones entre clases
Ventana# tamaño: integer
+ configurar()+ abrir()+ cerrar()+ mover()+ mostrar()+ manejarEvento()
Consola CajaDialogo Control
Evento
Dependencia
AsociaciónGeneralización(herencia)
1 1.. *
Multiplicidad
e>>
Configuración
Realización
• Conexiones entre clases
![Page 33: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/33.jpg)
33
Relaciones entre clases
• Dependencia: es una relación de uso en donde los cambios en la especificación de una clase, pueden afectar a otra clase que la usa
• Generalización: Es una relación entre una clase general (superclase) y otra específica (subclase)
![Page 34: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/34.jpg)
34
Relaciones entre clases
• Asociación: es una relación estructural que expresa la conexión reciproca entre objetos de de 2 clases distintas
• Realización: relación semántica entre clasificadores en donde un clasificador especifica un contrato que otro clasificador garantiza realizar
![Page 35: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/35.jpg)
35
Relación de generalización
Herencia simple: una subclase tiene exactamente un padre
Herencia múltiple: una subclase hereda de varios padres, sin traslape de estructura o comportamiento
Semánticamente la relación se puede verificar comprobando si la subclase es un tipo de su padre
![Page 36: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/36.jpg)
36
Relación de generalización
Restricciones estándar:
implentation: el hijo hereda la implementación del padre pero no la hace pública ni soporta sus interfases
incomplete: en la generalización no todos los hijos se han especificado, permitiéndose hijos adicionales
disjoint: los objetos del padre no pueden tener mas que uno de los hijos como tipo
Overlapping: los objetos del padre pueden tener mas de uno de los hijos como tipo
![Page 37: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/37.jpg)
37
Relación de asociación: propiedadesNavegación:• Puede ser bidireccional o direccional
Visibilidad:
Usuario contraseña1 *
Usuario contraseña+ propietarioGrupo* *
+ usuario
1 *
- clave
Visibilidad
![Page 38: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/38.jpg)
38
Agregación simple: relación todo/partes en donde una clase representa el todo y otra una de sus partes
Departamento
Organización1
*
Todo
ParteAgregación
Relación de asociación: propiedades
![Page 39: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/39.jpg)
39
Composición: es una forma de agregación, con fuerte pertenencia y tiempo de vida coincidente como parte del todo.
Frame
Window1
*
Todo
Parte Composición
Relación de asociación: propiedades
![Page 40: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/40.jpg)
40
Clases de asociación: es una asociación entre dos clases a través de una tercera clase
EmpresaPersona1..* *
Clase deasociación
Trabajo
Empleador Empleado
Roles
Relación de asociación: propiedades
![Page 41: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/41.jpg)
41
Relación de realización
• Se puede considerar también como una combinación entre dependencia y generalización entre una interfaz y una clase
<<interface>>
Contenedor
agregarElem()consultarElem()eliminarElem()iterarEnOrden()
Lista
Realización
Arbol
![Page 42: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/42.jpg)
42
La tecnología orientada a La tecnología orientada a objetosobjetos
![Page 43: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/43.jpg)
43
Lenguajes de programación Lenguajes de programación Orientados a ObjetosOrientados a Objetos
![Page 44: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/44.jpg)
44
Lenguajes de programación
Simula 67, desde su creación, ha impactado en el desarrollo de lenguajes de programación orientada a objetos:
Estáticamente tipificados
Dinámicamente tipificados
Ambos
![Page 45: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/45.jpg)
45
Lenguajes estáticamente tipificados
Add 1 To Cobol giving Cobol with Objects
C++
Classic-Ada
Dragoon
Emerald/Jade
Object Pascal
Trellis/Owl
![Page 46: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/46.jpg)
46
Lenguajes dinámicamente tipificados Actors Languages
C+@
Flavors
Phyton
Self
Smalltalk
![Page 47: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/47.jpg)
47
Lenguajes con tipificación estática y dinámica
Actor
Ada95
BETA
C++ (With RTTI)
Cecil
CLOS
Eiffel
Java
Modula-3
Objective-C
Sather
![Page 48: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/48.jpg)
48
Tecnología de Objetos en la Tecnología de Objetos en la Integración WebIntegración Web
![Page 49: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/49.jpg)
49
Integración Web
La Web es un sistema complejo distribuido y la tecnología de objetos ha sido una parte importante en el manejo de la complejidad, desde su creación
La tecnología de objetos ha estado impactando los desarrollos en Web en áreas como: scripting, Componentes Multimedia “Embebidos”, Componentes para servidores Web y Agentes con código movil
![Page 50: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/50.jpg)
50
Scripting
Para aplicaciones cliente, ha sido una de las áreas de investigación y experimentación desde el inicio de la Web
Su uso actual requiere de soporte para interoperabilidad:
Document Object Model
HTML with scripting markup
![Page 51: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/51.jpg)
51
Componentes Multimedia “Embebidos”
L a Web es un medio natural para la tecnología de componentes de software a través de:
Plug-Ins,
Applets de Java ,
Controles ActiveX ,
Partes OpenDoc.
![Page 52: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/52.jpg)
52
Componentes para servidores Web
CGI junto con HTML y “forms”, son una parte importante de las tecnologías para plataformas utilizadas en aplicaciones para servicios Web, aunque en algunos casos su rendimiento es limitado.Para hacer frente a este problema se están utilizando diversos mecanismos para interfazar aplicaciones a un servidor web:
Fast-CGI: modelo de programación CGI con conexiones de red multiplexadasILU Requestor: objetos distribuidosNSAPI (Netscape Server API): software para servidor de Netscape. ISAPI (Internet Server API): Progress y MicrosoftSAPI (Server Application Development Interface )Apache API
![Page 53: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/53.jpg)
53
Agentes con código movil
El código movil es utilizado para automatizar el acceso a la información: búsqueda, “brokering”Algunas herramientas para estos propósitos son:
Inferno de Lucent TechnologiesJavaSafe-Tcl Penguin (perl5) Python
![Page 54: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/54.jpg)
54
Tecnología de objetos Tecnología de objetos distribuidosdistribuidos
![Page 55: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/55.jpg)
55
Tecnología de objetos distribuidos
J2EE y .Net se han convertido en los estándares preferidos para programación Web duistribuida y sistemas orientados a objetos: dentro de pocos años .Net y J2EE tendrán en el mercado el 40% de los sistemas distribuidos (Gartner report)
Corba (y posiblemente C++ Web Services) podrían caer al 20%
![Page 56: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/56.jpg)
56
J2EE
J2EE ha sido adoptado por Sun, IBM/Websphere, Bea Weblogic entre otros.
Incluye JSP para vistas en HTML dinámico del lado del servidor, servlets para control, y beans and EJB lógica de negocio
Trabajos reciemntes se han direccionado hacia patrones J2EE:
Core Patterns, [Alur 03], [Marinescu 02],
Software open source integrable(Apache Jakarta),
Java Data Objects (JDO)
![Page 57: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/57.jpg)
57
.NetPlataforma de Microsoft para el soporte de programación distribuida y servicios Web
Su lenguaje de programación principal es C# (similar a Java and C++ con extensiones)
También soporta C++, Java, J#, y VB
Su objetivo principal es ofrecer un ambiente de desarrollo robusto que facilite la creación de aplicaciones en ambientes distribuidos
.Net es dependiente de plataforma
Se está proponiendo una versión open source: “mono”
![Page 58: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/58.jpg)
58
CORBA (Common Object Request Broker Architecture)
Es considerado como un midleware desarrollado por la OMG (Object Management Group)
Las aplicaciones CORBA están compuestas por objetos que normalmente expresan alguna cosa en el mundo real
Uno de sus usos importantes es en servidores que deben manipular un gran número de clientes, con una alta confiabilidad
Los servicios CORBA ofrecen una forma estándar para pasar referencias de objetos en una red de objetos CORBA
![Page 59: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/59.jpg)
59
Bases de Datos Orientadas a Bases de Datos Orientadas a ObjetosObjetos
![Page 60: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/60.jpg)
60
Bases de Datos Orientadas a Objectos
Son bases de datos que soportan objetos y clasesSon diferentes de las bases de datos relacionales: sub-objetos estructurados, cada objeto posee identidad, soporte de métodos y herenciaEs posible ofrecer operaciones relacionales en una base de datos orientada a objetosOODBs ofrecen todos los beneficios de orientación a objetosMantienen una fuerte equivalencia en el desarrollo de aplicaciones orientadas a objetos
![Page 61: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/61.jpg)
61
OODBs: Ejemplos
POSTGRES (Berkeley): es un manejador de base de datos relacional-extendido
Illustra (Information Technologies Ltd): es un manejador de base de datos Objeto-Relacional, que soporta SQL-3, sintaxis relacional estándar y operaciones en tablas
CLOSQL (University of Lancaster): es un prototipo de OODB en investigación
Oggetto: base de datos Orientada a Objetos, organizada en 3 capas de almacenamiento
![Page 62: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/62.jpg)
62
Sistemas Operativos Sistemas Operativos Orientados a ObjetosOrientados a Objetos
![Page 63: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/63.jpg)
63
Sistemas Operativos Orientados a Objectos
Proporcionan los recursos a través de objetos, en algunos casos, la arquitectura del sistema se localiza sobre el hardware
Son sistemas distribuidos casi siempre, permitiendo el libre intercambio de objetos entre máquinas
Regularmente su capacidad se basa a partir de objetos, por lo que los recursos del sistema solo se pueden accesar si la capacidad de los objetos está disponible para los programas
![Page 64: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/64.jpg)
64
Sistemas Operativos Orientados a Objectos: ejemplos
Apertos (Meta-Object-based Mikro-Kernel) Chorus Micro-kernel (written in C++, COOL)Choices (research OS, UofI, C++, supports SVR4)GEOS (GeoWorks', written in Object Assembler, OO superset of 8086)Mach (CMU, supports BSD 4.3, really message-based)NachOS (written in C++, OS teaching/learning OS)Ouverture Project (ESPRIT funded OMG IDL defines inter-module interfaces)Peace (OO family-based parallel OS)SOS Spring (Sun, written in C++)PenPoint OS (Go, written in C++)
![Page 65: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/65.jpg)
65
Tecnología de objetos: otras Tecnología de objetos: otras áreas de aplicaciónáreas de aplicación
![Page 66: El modelo orientado a objetos: Introducción Objetos: definiciones Un objeto representa elementos identificables, unidades o entidades, individuales, reales o abstractas, pero con](https://reader033.vdocuments.co/reader033/viewer/2022051320/5aad8bbe7f8b9aa06a8e740e/html5/thumbnails/66.jpg)
66
Otras áreas de aplicaciónOtras áreas de aplicaciónHerramientas CASE (Basados en UML)
Middleware
Ambientes de desarrollo integrados (IDEs & APIs)
Procesos de desarrollo de software
Componentes y Arquitecturas de software