Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Pensamiento de objetos

on

  • 1,895 views

 

Statistics

Views

Total Views
1,895
Views on SlideShare
1,895
Embed Views
0

Actions

Likes
0
Downloads
12
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Pensamiento de objetos Pensamiento de objetos Presentation Transcript

  • INTRODUCCIÓN AL PENSAMIENTO DE OBJETOS ALEJANDRO DOMÍNGUEZ 15/10/1998 PRINCIPIA INFORMATICA 1
  • Temario Objetivos ¿Por qué objetos? ¿Qué es un objeto? Conceptos clave y terminología Categorizando a los objetos Pensamiento de objetos 15/10/1998 PRINCIPIA INFORMATICA 2
  • Objetivos • Esta presentación proporcionará ... – Una perspectiva general sobre la tecnología de objetos – Un marco conceptual sólido para el pensamiento en objetos • Esta presentación no discutirá ... – Programación orientada a objetos (POO) – Metodologías de análisis y diseño orientadas a objetos (ADOO) – Productos comerciales 15/10/1998 PRINCIPIA INFORMATICA 3
  • ¿PORQUÉ OBJETOS? Ventajas estratégicas Ventajas tácticas Ventajas de negocios 15/10/1998 PRINCIPIA INFORMATICA 4
  • 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 15/10/1998 PRINCIPIA INFORMATICA 5
  • 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 15/10/1998 PRINCIPIA INFORMATICA 6
  • 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 15/10/1998 PRINCIPIA INFORMATICA 7
  • 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 15/10/1998 PRINCIPIA INFORMATICA 8
  • 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 15/10/1998 PRINCIPIA INFORMATICA 9
  • 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 15/10/1998 PRINCIPIA INFORMATICA 10
  • Ventajas de negocios • Integración de los • Ingeniería de los procesos de negocios procesos de negocios – Distribuye “flujos de – Plug-ins escalables que trabajo” = workflow integran los procesos de (objetos de procesos) y negocios entre empresas recursos (objetos de colaboradoras a través de entidades) a diferentes interfaces compartidas niveles – Integración inmediata de – Integra los negocios con los componentes de clientes y distribuidores a negocios través de compartir los objetos de negocios 15/10/1998 PRINCIPIA INFORMATICA 11
  • ¿QUÉ ES UN OBJETO? Un objeto es ... ¿Donde existen los objetos? ¿Por qué los objetos son diferentes? ¿Por qué los objetos son familiares? Los objetos redefinen la modularidad Los objetos son empaquetamiento Los objetos son un paradigma 15/10/1998 PRINCIPIA INFORMATICA 12
  • Un objeto es ... (1) Nombre • Una representación de del objeto algo como si fuera una Atributos: componente bien definida Operaciones – Se enfoca a un único Operaciones: Atributos concepto – Captura hechos acerca del concepto – Encierra hechos con procedimientos, reglas – Presenta una interfaz bien definida 15/10/1998 PRINCIPIA INFORMATICA 13
  • Un objeto es ... (2) • Un paquete de datos, Nombre del objeto procedimientos y Atributos: restricciones que representan Restricciones un concepto en – el mundo de los negocios Datos Operaciones: – ambiente de computadoras • Un módulo definido alrededor de un dominio conceptual en lugar de Procedimientos estructuras de código 15/10/1998 PRINCIPIA INFORMATICA 14
  • ¿Dónde existen los objetos? • Los objetos son una representación en ... Nombre: – el mundo real (i.e., negocios) Restricciones silla – computadoras (i.e., tecnología) Atributos: • Entonces los objetos existen en ... Costo – el modelado , análisis y reingeniería de Dimensiones negocios Peso – Análisis y diseño de sistemas Datos Operaciones: – Software Comprar Vender • Los objetos son construcciones tanto Mover para el modelado como para el software Procedimientos – Los objetos no son sólo una forma de programar 15/10/1998 PRINCIPIA INFORMATICA 15
  • ¿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 15/10/1998 PRINCIPIA INFORMATICA 16
  • ¿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 15/10/1998 PRINCIPIA INFORMATICA 17
  • Los objetos redefinen la modularidad • La frontera del objeto determina su dominio Nombre: – Separa el interior (el cómo) del Restricciones silla exterior (el qué) creando modularidad Atributos: – Proporciona una interfaz bien definida Costo para otros objetos Dimensiones – Oculta la complejidad de la Peso implementación Datos Operaciones: – Previene los conflictos en la Comprar manipulación de atributos causados Vender Mover por procedimientos y reglas redundantes Procedimientos • Los objetos son paquetes auto- contenidos 15/10/1998 PRINCIPIA INFORMATICA 18
  • 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 PRINCIPIA INFORMATICA 15/10/1998 19
  • 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 15/10/1998 PRINCIPIA INFORMATICA 20
  • CONCEPTOS CLAVE Y TERMINOLOGÍA El pensamiento de objetos se ¿Qué es jerarquía? basa en tipos Propiedades de los objetos Las instancias almacenan Los objetos están activos datos Herencia es un tipo de No todos los tipos tienen relación instancias Herencia múltiple vs. Clases abstractas Herencia simple Clases concretas Polimorfismo es un efecto Tipos + instancias = objetos colateral 2 conceptos fundamentales Delegación es una relación Generalización y ¿Por qué los “nuevos” especialización términos? 15/10/1998 PRINCIPIA INFORMATICA 21
  • El pensamiento de objetos se basa en tipos • Un tipo o clase describe un Nombre: conjunto de objetos con las mismas propiedades Restricciones silla – Los tipos se utilizan el modelado de Atributos: negocios Costo – Las clases se utilizan en el Dimensiones diseño/programación Peso • Define los procedimientos, Datos Operaciones: Comprar atributos y restricciones de todos Vender los objetos de ese tipo Mover – Los métodos están definidos en la clase Procedimientos – Las variables están definidas en la clase 15/10/1998 PRINCIPIA INFORMATICA 22
  • Las instancias almacenan datos Clase: • Instancia = un miembro del silla tipo o clase Atributos: • Una clase puede tener varias Costo instancias Dimensiones Nombre: – Las instancias tienen diferentes Peso silla valores para sus atributos Operaciones: Atributos: – Los datos se almacenan en las Comprar Costo instancias Vender Dimensiones • Todas las instancias de una Mover Peso clase La punta del Operaciones: triángulo indica Comprar – son del mismo tipo de donde Vender – tienen el mismo comportamiento provienen las Mover – tienen los mismos atributos operaciones y atributos 15/10/1998 PRINCIPIA INFORMATICA 23
  • 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., registros en bases de datos) – Así, se definen 2 tipos de tipos de objetos • Tipos abstractos: aquellos que se dan por definición • Tipos concretos: aquellos que tiene instancias – 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 15/10/1998 PRINCIPIA INFORMATICA 24
  • Clases abstractas • Las clases abstractas no tienen instancias – Por ejemplo: integer, float, string – Las clases abstractas se crean para ... • Generalizar características • Facilitar cambios • Crear oportunidades de re-utilización • Eliminar redundancia – Comúnmente las clases abstractas son superclases en la jerarquía • Definen propiedades en común para todas las subclases 15/10/1998 PRINCIPIA INFORMATICA 25
  • Clases concretas • Clases concretas • Comúnmente las pueden o tendrán clases concretas son instancias subclases de una o – Por ejemplo: mas clases abstractas. mobiliario Así • Las clases concretas se – cumplen con las crean para ... propiedades de la superclase – implementar un tipo de objetos – agregar sus propias propiedades – reflejar diferencias – crear instancias de su – crear instancias tipo 15/10/1998 PRINCIPIA INFORMATICA 26
  • 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 15/10/1998 PRINCIPIA INFORMATICA 27
  • 2 conceptos fundamentales Nombre: • Encapsulamiento silla – La única forma de interactuar Atributos: con los datos es a través de un Costo conjunto de procedimientos Dimensiones llamados servicios o métodos Peso – Proporciona el empaquetamiento Datos Operaciones: que hace que el objeto se Comprar comporte como tal Vender Mover • Especialización – Modificable para nuevos usos y Procedimientos = sin ningún cambio al objeto servicios o original métodos – Basados en tipos de jerarquías 15/10/1998 PRINCIPIA INFORMATICA 28
  • Generalización y especialización • La generalización contiene todas las propiedades comunes – Padre es más abstracto • 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 puede organizar en una jerarquía o superjerarquía 15/10/1998 PRINCIPIA INFORMATICA 29
  • ¿Qué es jerarquía? (1) Cuenta • Una estructura de nombre, dirección, estado, balance, especialización donde el hijo fecha de apertura, fecha de cierre ... puede tener al menos uno y sacar balance, depositar, pedir sólo un padre préstamo – La estructura resultante es un árbol • La jerarquía facilita la Cuenta de cheques Cuenta de ahorros separación de lo general de lo balance, balance balance, balance mínimo, tasa de específico mínimo, etc. interés, etc. sacar balance, sacar balance, – Las hojas del árbol representan depositar, pedir depositar, pedir conceptos más especializados préstamo préstamo que los nodos superiores 15/10/1998 PRINCIPIA INFORMATICA 30
  • ¿Qué es jerarquía? (2) • Se pueden hacer objetos de Malabarista otros objetos • Esto se conoce como agregación 2 2 • El comportamiento del objeto Mano Pie más grande se define por el derecha o derecho o izquierda izquierdo comportamiento de sus partes agarra, toma, patea componentes, separadamente y pasa por atrás, lanza en conjunción con el otro El diamante indica que un objeto está hecho de otros objetos. El número indica ´la cantidad de componentes 15/10/1998 PRINCIPIA INFORMATICA 31
  • Propiedades de los objetos • Comportamiento, • Interacción, mensaje servicios, métodos – Un objeto solicita un – Los procedimientos o servicio a ser ejecutado funcionalidad que por otro objeto encapsula un tipo • Relación • Atributos – Referencias estáticas de – Variables o estructura de un objeto con otro datos interna para el tipo – Asociaciones de objetos estructurales entre padre e • Protocolo hijo – Como el objeto presenta un servicio al exterior 15/10/1998 PRINCIPIA INFORMATICA 32
  • 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 Mensaje Receptor (cliente) (servidor) 15/10/1998 PRINCIPIA INFORMATICA 33
  • Herencia es un tipo de relación • 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 • Refleja la generalización del mundo real y los tipos de jerarquías • Agrega propiedades a través de tipos de especialización 15/10/1998 PRINCIPIA INFORMATICA 34
  • 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 15/10/1998 PRINCIPIA INFORMATICA 35
  • Polimorfismo es un efecto colateral • 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 15/10/1998 PRINCIPIA INFORMATICA 36
  • Delegación es una relación • Delegación es una forma de generalización y especialización – Actúa como (o toma el papel de) una relación – Delegació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 • Refleja un comportamiento del mundo real • Agrega propiedades a través del comportamiento 15/10/1998 PRINCIPIA INFORMATICA 37
  • ¿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 15/10/1998 PRINCIPIA INFORMATICA 38
  • CATEGORIZANDO A LOS OBJETOS Categorías de objetos Objetos de tecnología ¿Por qué objetos de tecnología? Objetos de aplicaciones Objetos de negocios ¿Por qué objetos de negocios? 15/10/1998 PRINCIPIA INFORMATICA 39
  • Categorías de objetos (1) • Los objetos están organizados 3 categorías – Objetos de tecnología – Objetos de aplicaciones – Objetos de negocios • Cada categoría es una subclase abstracta de objetos Clase de objetos Objetos de Objetos de Objetos de negocios aplicación tecnología 15/10/1998 PRINCIPIA INFORMATICA 40
  • Categorías de objetos(2) • Cada una sirve a un propósito diferente en los negocios y la tecnología de información (TI) • Cada una emerge de un proceso específico de TI • Reutilización de cada una requiere de planeación y organización 15/10/1998 PRINCIPIA INFORMATICA 41
  • Objetos de tecnología • Un modelo o paquete de software utilizado en la infraestructura de las tecnologías de información y representando un simple concepto tecnológico • Una forma de organizar la tecnología en una arquitectura estándar basada en partes comerciales y propias • Utilizada para construir objetos de negocios, aplicaciones, y servicios de sistemas 15/10/1998 PRINCIPIA INFORMATICA 42
  • ¿Por qué objetos de tecnología? • Esta infraestructura tecnológica es un ensamblador para todas las aplicaciones de negocios y objetos de negocios – Proporciona partes estándar de fácil ensamblaje – Aísla el ambiente de computación de las aplicaciones y objetos de negocios – Hace todas las aplicaciones mas consistentes, fáciles de aprender y dar mantenimiento – Reduce los costos de diseño/programación y tiempo en partes pre-construidas 15/10/1998 PRINCIPIA INFORMATICA 43
  • Objetos de aplicaciones • Herramientas de negocios compradas o a la medida para ejecutar tareas de negocios específicos o presentar información • Ensambladas a partir de código de programas y objetos de tecnología • Clientes de los servicios de objetos de negocios • Presentan los servicios en capas, tales como ordenes de entrada, mantenimiento de bases de datos, facturación, y procesamiento de requisiciones 15/10/1998 PRINCIPIA INFORMATICA 44
  • Objetos de negocios • Un modelo o paquete de software de procesos de negocios, políticas y controles alrededor de datos relacionado con un sólo concepto • Una forma de organizar los datos correctos y los procedimientos correctos en el lugar correcto • Independiente de las aplicaciones • Utilizados en la empresa para representar conceptos compartidos de negocios tales como clientes, órdenes, y productos 15/10/1998 PRINCIPIA INFORMATICA 45
  • ¿Por qué objetos de negocios? (1) • Administra las diferencias y cambios en las reglas de negocios – Colocan las reglas de negocios divisionales/locales en las especializaciones – Conservan las definiciones corporativas, reglas de negocios y datos en la generalización • Ayudan a la reingeniería de procesos de negocios y a los aspectos relacionados – El método estructurado tradicional y orientado a objetos tienen grandes diferencias – Las diferencias son caras a menos que produzcan insumos 15/10/1998 PRINCIPIA INFORMATICA 46
  • ¿Por qué objetos de negocios? (2) • Datos, reglas, • Es un mecanismo de administración de sistemas para reflejar los procesos negocios – Definiciones compartidas – Utilizando aplicaciones que de los conceptos comparten los objetos de fundamentales de negocios negocios se puede romper – Procedimientos con esquemas obsoletos compartidos de datos y – Integra los sistemas negocios heredados en un ambiente de – Reglas compartidas de objetos de negocios negocios e integridad de las – Genera estrategias restricciones consistentes de negocios, procesos, datos y definiciones en la empresa 15/10/1998 PRINCIPIA INFORMATICA 47
  • PENSAMIENTO DE OBJETOS Pensamiento de objetos efectivo El pensamiento de negocios está relacionado con ... Premisas para el pensamiento de objetos Patrones de negocios Utilización de los patrones de negocios El inicio del pensamiento de negocios 15/10/1998 PRINCIPIA INFORMATICA 48
  • Pensamiento de objetos efectivo • El pensamiento de objetos – Se refleja en el diseño de la efectivo ... aplicación (i.e., diseño – Inicia en el nivel de la orientado a objetos = DOO) ubicación espacial del – Y se ejecuta en software problema (i.e., objetos de (i.e., programación orientada negocios) a objetos = POO) – Se traslada a los servidores de • Nota: POO no es un software compartidos (i.e., requisito para el marcos de objetos de negocios pensamiento de objetos = business object frameworks – Pero la POO hace posible la = BOF) realización del pensamiento – Se lleva a través del análisis de de objetos en software las aplicaciones (i.e., análisis orientado a objetos = AOO) 15/10/1998 PRINCIPIA INFORMATICA 49
  • El pensamiento de objetos está relacionado con ... (1) • Ingeniería de negocios – Una reingeniería de procesos de negocios (BPR) y una mejora sustancial de los mismos es posible si se utilizan objetos de negocios para modelarlos y evaluarlos • Rediseña la infraestructura para la implementación – Mensajes a través de middleware que permiten a los objetos de negocios “simular” las actividades de negocios, datos almacenados y procedimientos activos Objeto de negocios 15/10/1998 PRINCIPIA INFORMATICA 50
  • El pensamiento de objetos está relacionado con ... (2) • Rediseño de las aplicaciones – Las aplicaciones se convierten en controladores útiles para controlar servidores compartidos de objetos de negocios (todo vía el middleware) • Aplica el pensamiento de empaquetado en cada paso 15/10/1998 PRINCIPIA INFORMATICA 51
  • Premisas para el pensamiento de objetos • Los negocios son más similares que disimilares – Los negocios son muy parecidos en un 80% en su estructura, procesos, eventos – La competitividad es sólo el 5% del modelo de negocios – Las diferencias tácticas e industriales corresponden al 5% • Si se capturan las similitudes de conexión y utilización de los objetos, entonces se puede – Especializarlos una y otra vez para diferentes usos – Reutilizarlos de diferentes formas 15/10/1998 PRINCIPIA INFORMATICA 52
  • Patrones de negocios • Una forma de resolver • Sub-ensamblaje de problemas que utiliza negocios pre- prototipos fabricados – guías genéricas de diseño, – Ensambla un conjunto arquetipos, plantillas de objetos y sus • Colección de objetos y relaciones en un asociaciones de negocios módulo que capturan un tema • Son una forma recurrente poderosa de iniciar el – Las asociaciones pueden pensamiento de ser interacciones, objetos en el nivel de relaciones o grupos los negocios 15/10/1998 PRINCIPIA INFORMATICA 53
  • Utilización de los patrones de negocios • Se pueden especializar acorde a las necesidades de los negocios – Esto implica reutilización en diferentes áreas de los negocios, siempre y cuando exista una base común • Eliminan la necesidad de la reinvención – Las arquitecturas de “conectar y usar” los requieren para trabajar con modelos y aplicaciones de negocios • Los sistemas son más fáciles de desarrollar para un negocio bien definido – Los patrones se enfocan al pensamiento de negocios, haciendo el proceso de definición menos frustrante, más concreto 15/10/1998 PRINCIPIA INFORMATICA 54
  • El inicio del pensamiento de negocios • El pensamiento de objetos efectivo inicia con los negocios – Las empresas enfocadas a los lenguajes de programación normalmente fallan en la obtención de beneficios substanciales de la tecnología de objetos – Aquellas que inician con las aplicaciones normalmente desean tener modelo de objetos de la empresa para su segundo proyecto – Los negocios que inician con objetos de negocios pueden relacionar la estrategia de negocios y la actividad operacional con las soluciones de software • Los negocios dirigen al software • El software sirve a los negocios 15/10/1998 PRINCIPIA INFORMATICA 55