Your SlideShare is downloading. ×
0
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Orientación a objetos   curso
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Orientación a objetos curso

1,808

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,808
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
44
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 1 ALEJANDRO DOMÍNGUEZ LA ORIENTACIÓN A OBJETOS
  • 2. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 2 Temario • OBJETIVOS • HISTORIA DE LA ORIENTACIÓN A OBJETOS • ¿POR QUÉ OBJETOS? • ¿QUÉ ES UN OBJETO? • CONCEPTOS CLAVE Y TERMINOLOGÍA • EJEMPLO PRÁCTICO: MODELADO DE UNA EMPRESA • CATEGORIZANDO A LOS OBJETOS • EL PENSAMIENTO DE OBJETOS
  • 3. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 3 LA ORIENTACIÓN A OBJETOS OBJETIVOS
  • 4. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 4 Objetivos • Esta presentación proporcionará ... – Una perspectiva histórica de la orientación a objetos – Una perspectiva general sobre la orientación a objetos – Un marco conceptual sólido para el pensamiento en objetos – Algunas aplicaciones de la orientación a objetos a los negocios • Esta presentación no discutirá ... – Programación OO (POO) – Metodologías de análisis y diseño OO (ADOO) – Productos comerciales
  • 5. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 5 HISTORIA DE LA ORIENTACIÓN A OBJETOS LA ORIENTACIÓN A OBJETOS
  • 6. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 6 15 años de fama • La experiencia nos dice que las tecnologías de ingeniería de software (IS) mas populares tienen el siguiente comportamiento: – Pueden tomar algún tiempo en llegar a ser populares – Tienen un periodo de florecimiento de 15 años • Un ejemplo de lo anterior es la metodología estructurada – Empezó a ser popular alrededor de 1973-1975 – Alcanzó su pico de popularidad entre 1985 y 1989
  • 7. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 7 La “vida media” para las tecnologías de IS • La vida media para las tecnologías indica el punto medio en su ciclo de vida • La vida media en la orientación a objetos significa que: – se ha utilizado esta tecnología por algún tiempo en proyectos reales – Será remplazada por otras tecnologías dentro de un periodo de 7 a 10 años
  • 8. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 8 Aspectos históricos (1) • 1963: I. Sutherland diseña Sketchpad en el cual se presentan gráficas e interfaces gráficas de usuario OO; así como clases (masters) e instancias • 1966: Se introduce al mercado Simula, el primer lenguaje de programación OO • Finales de 1960’s: Alan Kay trabaja en la máquina denominada FLEX, la precursora de Dynabook, la Xerox Star, y la Apple Macintosh
  • 9. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 9 • 1970: el término “orientado a objetos” se introduce en la literatura. Muchas personas se lo acreditan a Alan Kay • 1972: Se desarrolla la primera versión de Smalltalk • 1980: Grady Booch introduce el “diseño orientado objetos” • 1980: Se introducen las primeras versiones de “hardware OO” Aspectos históricos (2)
  • 10. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 10 • 1985: aparecen las bases de datos OO • 1985: aparecen la bibliotecas de clases OO • 1986: Se introducen las primeras versiones de “análisis OO” y de “análisis de requerimientos OO” • 1988: “análisis del dominio OO” aparece en la literatura Aspectos históricos (3)
  • 11. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 11 • 1980’s: Se desarrollan un gran cantidad de aplicaciones OO – Estas aplicaciones son principalmente “aplicaciones de tiempo real” – Literalmente, se producen millones de líneas de código OO • Finales de 1980’s: Aparece un gran número de lenguajes de programación OO; incluyendo: C++, Eiffel, CLOS, etc. Aspectos históricos (4)
  • 12. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 12 Aspectos históricos (5) LISP ALGOL PASCAL SIMULA Actor Eiffel Smalltalk Flavors Loops CLOS C++ Objective-C Object Pascal 1960 1970 1980 1990 C TIPO puro hib- rid Tra- dicio nal UML C++
  • 13. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 13 • La MOO empieza a mostrar signos de “vida media”: – Literalmente cientos de millones de líneas de código fuente OO se han escrito • Algunos productos OO contienen alrededor de 2 000 000 de líneas de código – La tecnología de bases de datos orientas a objetos tiene un éxito sin precedente • Existe la posibilidad de elegir entre almacenes de objetos persistentes, sistemas de bases de datos OO, y productos de objetos relacionales • La OMG hace un esfuerzo por estandarizar la tecnología de bases de datos OO • El mercado de los sistemas de bases de datos OO se duplica cada año Mediados de los 1990’s (1)
  • 14. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 14 – Los desarrolladores de software pueden elegir entre un gran número de herramientas CASE OO • Object International’s Object Tool • Rational’s Rose • Protosoft’s Paradigm Plus – Existen muchos enfoques de desarrollo de software OO: Booch, Rumbaugh, Coad, Wirfs-Brock, Berard, Fusion, Shlaer-Mellor, ... – El término “orientado a objetos” aparece de forma regular en las publicaciones de negocios: The Wall Street Journal, Business Week, ... – La comunidad de administración de los SI empieza a utilizar la tecnología OO Mediados de los 1990’s (2)
  • 15. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 15 En la actualidad • Existe un crecimiento significante (y explosivo) de tecnologías basadas en la orientación a objetos; e.g. “programación basada en componentes”, “programación basada en agentes” • Existe una tendencia a estandarizar las tecnologías orientadas a objetos; e.g. UML, Business Objects
  • 16. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 16 Lo que se ha aprendido (1) • La tecnología OO es una oportunidad, no una garantía; i.e., los proyectos orientados a objetos pueden fallar • La evidencia empírica muestra que, cuando se compara con las mismas aplicaciones desarrolladas utilizando enfoques tradicionales, las soluciones OO – son más pequeñas – son menos complejas – son más apropiadas para aplicaciones de tiempo real – toman menos tiempo en desarrollarse
  • 17. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 17 • La tecnología OO hace mas énfasis en la reusabilidad del software que los métodos tradicionales – sin embargo muy pocas personas dentro de la comunidad OO entiende lo que verdaderamente significa reusabilidad • La tecnología OO tiene impacto sobre un gran dominio: desde las practicas administrativas, a las metodologías del ciclo de vida, a la selección de herramientas, a el almacenamiento persistente, a los lenguajes de programación • La tecnología OO es vasta; e.g., mas amplia que lo indicado en los lenguajes de programación OO Lo que se ha aprendido (2)
  • 18. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 18 LA ORIENTACIÓN A OBJETOS ¿PORQUÉ OBJETOS?
  • 19. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 19 Ventajas estratégicas (1) • Valor del dinero – Ensamblaje de sistemas a partir de componentes comerciales • Amortización de los costos de las componentes en la construcción de varios sistemas – Estandarización de la infraestructura y las componentes de negocios • Gasto de dinero y tiempo en valores agregados
  • 20. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 20 Ventajas estratégicas (2) • A tiempo para salida al mercado – Minimiza la re-invención de lo que es común en cada proyecto – Construcción de nuevos sistemas a partir de los datos y procesos ya existentes • Retorno de las inversiones – Integra (“envuelve”) sistemas heredados en nuevos sistemas – Estandariza en un ambiente “abierto” y comercial
  • 21. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 21 Ventajas tácticas (1) • Los objetos pueden ... – representar cosas reales – ser paralelos a nuestras estructuras de pensamiento – estar organizados tal como la gente ve al mundo y a sus partes componentes
  • 22. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 22 Ventajas tácticas (2) • Los objetos son una alternativa para una visión del mundo alrededor de las computadoras • Los objetos permiten a los modeladores, desarrolladores, y usuarios comunicarse y pensar con la terminología del mundo real
  • 23. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 23 Ventajas tácticas (3) • Los sistemas son un reflejo de los negocios – Integración natural de las aplicaciones existentes • Compatibilidad interna y externa, reutilización – Datos y procedimientos del negocio – Reglas de negocios e integridad de las restricciones
  • 24. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 24 Ventajas tácticas (4) • Manejo de diferencias y cambios – Colocan las reglas divisionales/locales de negocios en las especializaciones – Permanencia de las definiciones, reglas y datos corporativos en lo general
  • 25. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 25 Ventajas de negocios • Integración de los procesos de negocios – Distribuye “flujos de trabajo” = workflow (objetos de procesos) y recursos (objetos de entidades) a diferentes niveles – Integra los negocios con los clientes y distribuidores a través de compartir los objetos de negocios • Ingeniería de los procesos de negocios – Plug-ins escalables que integran los procesos de negocios entre empresas colaboradoras a través de interfaces compartidas – Integración inmediata de componentes de negocios
  • 26. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 26 LA ORIENTACIÓN A OBJETOS ¿QUÉ ES UN OBJETO?
  • 27. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 27 Un objeto es ... (1) • Una representación de algo como si fuera una componente bien definida – Se enfoca a un único concepto – Captura hechos acerca del concepto – Encierra hechos con procedimientos, reglas – Presenta una interfaz bien definida Atributos Operaciones Nombre del objeto Atributos: Operaciones:
  • 28. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 28 Un objeto es ... (2) • Un paquete de datos, procedimientos y restricciones que representan un concepto en – el mundo de los negocios – ambiente de computadoras • Un módulo definido alrededor de un dominio conceptual en lugar de estructuras de código Procedimientos Restricciones Datos Nombre del objeto Atributos: Operaciones:
  • 29. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 29 ¿Dónde existen los objetos? (1) • Los objetos son una representación en ... – el mundo real (i.e., negocios) – computadoras (i.e., tecnología) • Entonces los objetos existen en ... – el modelado , análisis, y reingeniería de negocios – Análisis y diseño de sistemas – Software Procedimientos Restricciones Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 30. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 30 ¿Dónde existen los objetos? (2) • Los objetos son construcciones tanto para el modelado de negocios como para el modelado de software – Los objetos no son sólo una forma de programar Procedimientos Restricciones Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 31. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 31 ¿Por qué los objetos son diferentes? • Sólo un conjunto de procedimientos y reglas actúan sobre los datos – Control en la integridad de los datos – Datos, procesos y reglas compartidos • Todos los procedimientos, datos y reglas acerca del sujeto están atados a un paquete bien definido e integrado – Componentes de software – Diseñar acorde a las especificaciones de las componentes • La frontera del modulo es el sujeto, no el programa – Simplifica la reutilización
  • 32. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 32 ¿Por qué los objetos son familiares? • Los objetos integran conceptos familiares como ... – Procesos y control de procesos – Procedimientos, actividades, tareas, acciones – Datos – Reglas, políticas, restricciones – Relaciones – Eventos, desencadenamientos, resultados • Los objetos son módulos que representan conceptos simples y bien definidos del dominio
  • 33. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 33 Los objetos redefinen la modularidad • La frontera del objeto determina su dominio – Separa el interior (el cómo) del exterior (el qué) creando modularidad – Proporciona una interfaz bien definida para otros objetos – Oculta la complejidad de la implementación – Previene los conflictos en la manipulación de atributos causados por procedimientos y reglas redundantes • Los objetos son paquetes auto- contenidos Procedimientos Restricciones Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 34. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 34 Los objetos son empaquetamiento • Los objetos se refieren al empaquetamiento – a nivel conceptual (de pensamiento) – a nivel de implementación (software) • Los objetos re-empaquetan los objetos existentes con nuevas características que hacen los conceptos existentes fáciles de utilizar – ¡Ojo! ... el empaquetamiento hace toda la diferencia – El nuevo empaquetamiento cambia el paradigma
  • 35. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 35 Los objetos son un paradigma • ¿Qué es un paradigma? – Un marco de referencia o un punto de vista bien definido – Una forma de visualizar el mundo en el cual están bien definidas sus propias perspectivas y consecuencias • Los objetos son un paradigma porque ... – Cambian nuestro punto de vista sobre la realidad para proporcionarnos una perspectiva totalmente diferente • ... destacando diferentes enfoques (consecuencias) • ... visualizando la realidad de una forma nueva
  • 36. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 36 LA ORIENTACIÓN A OBJETOS CONCEPTOS CLAVE Y TERMINOLOGÍA
  • 37. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 37 El pensamiento de objetos se basa en tipos (1) • Un tipo o clase describe un conjunto de objetos con las mismas propiedades – El término “tipo” se utiliza en el modelado de negocios – El término “clase” se utiliza en el diseño/programación de software • Un tipo se puede considerar como una plantilla para crear objetos con las mismas propiedades Procedimientos Restricciones Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 38. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 38 El pensamiento de objetos se basa en tipos (2) • Define los procedimientos, atributos y restricciones de todos los objetos de ese tipo – Los métodos o procedimientos están definidos en la clase • Un método representa una responsabilidad para hacer algo – Las variables o atributos están definidas en la clase • Un atributo representa un responsabilidad para conocer algo Procedimientos Restricciones Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 39. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 39 Las instancias almacenan datos (1) • Instancia = un miembro del tipo o clase • Una clase puede tener varias instancias – Las instancias tienen diferentes valores para sus atributos – Los datos se almacenan en las instancias Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover Clase: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover La punta del triángulo indica de donde provienen las operaciones y atributos
  • 40. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 40 Las instancias almacenan datos (2) • Todas las instancias de una clase – son del mismo tipo – tienen el mismo comportamiento – tienen los mismos atributos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover Clase: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover La punta del triángulo indica de donde provienen las operaciones y atributos
  • 41. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 41 No todos los tipos tienen instancias • Los tipos de objetos existen por dos razones: – Para definir propiedades de otros tipos (i.e., especializaciones) – Para crear instancias (i.e., son plantillas) • Así, existen 2 tipos de tipos de objetos – Tipos abstractos: aquellos que se dan por definición – Tipos concretos: aquellos que tiene instancias
  • 42. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 42 • Los tipos abstractos son importantes en ... – Modelado de negocios y reingeniería de procesos en los negocios – Diseño de servidores – Mapeo de tablas en base de datos – Aplicaciones en análisis y diseño Tipos abstractos (1)
  • 43. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 43 Tipos abstractos (2) • Las tipos abstractos no tienen instancias – Por ejemplo: integer, float, string – Los tipos abstractos se crean para ... • Generalizar características • Facilitar cambios • Crear oportunidades de re-utilización • Eliminar redundancia – Comúnmente los tipos abstractos son supertipos en la jerarquía • Definen propiedades en común para todas las subclases
  • 44. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 44 Tipos concretos • Tipos concretos pueden tener instancias – Por ejemplo: mobiliario • Los tipos concretos se crean para ... – implementar un tipo de objetos – reflejar diferencias – crear instancias • Comúnmente los tipos concretos son subtipos de uno o mas tipos abstractos. Así – cumplen con las propiedades del supertipo – agregar sus propias propiedades – crear instancias de su tipo
  • 45. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 45 Tipos + instancias = objetos • Los tipos capturan la forma y carácter de lo que representan – Los tipos abstractos capturan las propiedades comunes – Las especializaciones capturan las diferencias • Cada instancia captura los valores reales de las propiedades de lo que representa • Un objeto es un término que puede comprender tanto tipos como instancias. Comúnmente se utiliza cuando: – no es necesario distinguir entre las clases y la instancia – se refiere a un concepto de la realidad
  • 46. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 46 Encapsulamiento • Encapsulamiento – Se refiere a la práctica de incluir dentro de un objeto todo lo que se necesita – Esta inclusión es de tal manera que ningún otro objeto necesite conocer nunca la estructura interna de otro – Proporciona el empaquetamiento que hace que el objeto se comporte como tal – Las partes encapsuladas son su implementación privada; se dice que los atributos y métodos visibles son públicos Procedimientos = servicios o métodos Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 47. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 47 Especialización y generalización (1) • Especialización – Modificable para nuevos usos y sin ningún cambio al objeto original – Basados en tipos de jerarquías • La generalización contiene todas las propiedades comunes – Padre es más abstracto
  • 48. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 48 Especialización y generalización (2) • La especialización contiene la diferencia en las propiedades – Hijo es más concreto • Cada especialización sirve para un propósito específico • Se pueden organizar en una jerarquía o superjerarquía
  • 49. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 49 ¿Qué es jerarquía? (1) • Una estructura de especialización donde el hijo puede tener al menos uno y sólo un padre – La estructura resultante es un árbol • La jerarquía facilita la separación de lo general de lo específico – Las hojas del árbol representan conceptos más especializados que los nodos superiores Cuenta nombre, dirección, estado, balance, fecha de apertura, fecha de cierre ... sacar balance, depositar, pedir préstamo Cuenta de cheques balance, balance mínimo, etc. sacar balance, depositar, pedir préstamo Cuenta de ahorros balance, balance mínimo, tasa de interés, etc. sacar balance, depositar, pedir préstamo
  • 50. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 50 ¿Qué es jerarquía? (2) • Se pueden hacer objetos de otros objetos • Esto se conoce como agregación • El comportamiento del objeto más grande se define por el comportamiento de sus partes componentes, separadamente y en conjunción con el otro derecho o izquierdo Pie patea Mano derecha o izquierda agarra, toma, pasa por atrás, lanza Malabarista El diamante indica que un objeto está hecho de otros objetos. El número indica ´la cantidad de componentes 2 2
  • 51. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 51 Los objetos están activos • Los objetos mandan mensajes para obtener el trabajo realizado por otros objetos • Cualquier mensaje solicita un servicio • El receptor exhibe su comportamiento en respuesta al mensaje • El formato del mensaje es a través de un protocolo • El intercambio total es una interacción Solicitante (cliente) Receptor (servidor) Mensaje
  • 52. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 52 Herencia (1) • Es una forma de generalización y especialización – Es una relación – Es apropiada para el diseño y discusiones de implementación • Es un mecanismo para adquirir propiedades – aísla las propiedades comunes en el padre, llamado superclase – aísla las diferencias en el hijo, llamado subclase
  • 53. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 53 Herencia (2) • Refleja la generalización del mundo real y los tipos de jerarquías • Agrega propiedades a través de tipos de especialización
  • 54. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 54 Herencia simple vs. Herencia múltiple • Herencia simple: las propiedades adquiridas provienen de un sólo padre • Herencia múltiple: propiedades adquiridas de más de un padre y se puede diferenciar o seleccionar por origen
  • 55. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 55 Polimorfismo • Polimórfico significa “muchas formas” – Describe cómo un comportamiento cambia cuando se escala la herencia de la clase – Describe cómo un simple comportamiento puede evocar diferentes consecuencias en una especialización más que en la generalización • Ejemplo: la operación “add” se puede utilizar de la siguiente forma add_line_item, add_to_balance, all_new_employee • Polimorfismo es un resultado de “generalización y especialización” cuando se implementa por herencia
  • 56. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 56 Delegación (1) • Delegación es: – una forma de herencia sin clases que permite a los objetos delegar permiso a otros objetos para llevar a cabo operaciones de su parte – es una forma de generalización y especialización – (actúa como o toma el papel de) una relación – es especialización por liberación de trabajo • Es un mecanismo para adquirir propiedades – aísla las propiedades comunes en el padre – aísla diferencias en el hijo – no aplica con términos de superclase y subclase
  • 57. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 57 Delegación (2) • Esta relación permite que los objetos transformen su comportamiento sin verse obligados por su relación de clase – no es necesario que los hijos hereden la realización de sus padres • Refleja un comportamiento del mundo real • Agrega propiedades a través del comportamiento
  • 58. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 58 Resumen: propiedades de los objetos • Comportamiento, servicios, métodos – Los procedimientos o funcionalidad que encapsula un tipo • Atributos – Variables o estructura de datos interna para el tipo de objetos • Protocolo – Como el objeto presenta un servicio al exterior • Interacción, mensaje – Un objeto solicita un servicio a ser ejecutado por otro objeto • Relación – Referencias estáticas de un objeto con otro – Asociaciones estructurales entre padre e hijo
  • 59. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 59 ¿Por qué los “nuevos” términos? • El pensamiento de objetos se enfoca – al entendimiento de las cosas – su contexto y sus fronteras – su asociación con otras cosas en su contexto • Es necesario un lenguaje para expresar esta forma de pensar – Los modelos convencionales del lenguaje pueden expresar algunas partes – El diseño/programación convencionales pueden expresar algunas partes – Los objetos juntan las partes – Los objetos conectan el pensamiento de negocios con la programación
  • 60. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 60 LA ORIENTACIÓN A OBJETOS EJEMPLO PRÁCTICO: MODELADO DE UNA EMPRESA
  • 61. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 61 El problema • El problema se ubica en el departamento de servicios administrativos de una empresa • Uno de los problemas del departamento es la opción de pasar a una publicación completamente electrónica – Ya estaban empleando sofisticadas técnicas de impresión, pero la composición se efectuaba en estaciones de trabajo anticuadas, y el pegado se realizaba manualmente
  • 62. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 62 La estructura del departamento • La siguiente figura muestra la estructura de alto nivel del departamento, así como sus interacciones con otros departamentos, en forma de 7 capas • Se muestra cada capa como un objeto, y los enlaces representan el posible paso de mensajes Proveedores externos Departamentos usuarios Departamentos de ingeniería Escritura Gráficos e impresión Agencias externas Contabilidad
  • 63. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 63 Vistas externa e interna (1) • Las vistas externas e internas se pueden definir para cada objeto • La vista externa define el paso de mensajes admisibles entre un objeto y los otros • La vista interna indica que existen dos subdivisiones, cada una de las cuales se presentan como un objeto
  • 64. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 64 Vistas externa e interna (2) DepartamentosDepartamentos usuarios AgenciasAgencias externas GráficosGráficos e impresión ContabilidadContabilidadEscritura Vista externa de gráficos e impresión
  • 65. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 65 Vistas externa e interna (3) Gráficos Fotocomposición Artista gráfico Creador de fotolitos ... Hacer diapositivas Hacer placas Preparar placas Pedir materiales Despachar resultados Hacer informes de costos Hacer informes de progreso ... Impresión Almacenista Operadores de máquina Maquinaria Almacen de papel Trabajos en curso ... Hacer impresión Hacer reimpresión Hacer informes de progreso Emitir facturas Pedir materiales Hacer informes de costos ... Vista interna de gráficos e impresión
  • 66. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 66 Vista del objeto “gráficos” antes de la tecnología Director Clasificar solicitudes Asignar trabajos Informar progresos Fotocompositor Informar de progresos Componer textos Hacer cambios Artista gráfico Hacer diapositivas Hacer placas Hacer ilustracionesEncargado de pegado Pegar Solicitar cambios Hacer informe de progresos Creador de placas Hacer placas Despachar Hacer informe de progresos
  • 67. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 67 Vista del objeto “gráficos” después de la tecnología Director Clasificar solicitudes Asignar trabajos Informar progresos Responsable de autoedición Informar de progresos Producción de documentos Artista gráfico Hacer diapositivas Hacer placas Hacer ilustraciones Creador de placas Hacer placas Despachar Hacer informe de progresos
  • 68. 17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 68 Conclusiones • La notación resulto ser muy expresiva y útil para los aspectos de negocios • La orientación a objetos del problema resultó útil para clarificar los problemas y sus soluciones, y, también, para comunicar los resultados a la administración • El modelo se realizó por completo sobre papel, sin utilizar tecnologías sofisticadas

×