SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
15/10/1998 PRINCIPIA INFORMATICA 1
INTRODUCCIÓN AL
PENSAMIENTO DE OBJETOS
ALEJANDRO DOMÍNGUEZ
15/10/1998 PRINCIPIA INFORMATICA 2
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 3
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 4
¿PORQUÉ OBJETOS?
Ventajas estratégicas
Ventajas tácticas
Ventajas de negocios
15/10/1998 PRINCIPIA INFORMATICA 5
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 6
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 7
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 8
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 9
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 10
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 11
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
15/10/1998 PRINCIPIA INFORMATICA 12
¿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 13
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:
15/10/1998 PRINCIPIA INFORMATICA 14
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:
15/10/1998 PRINCIPIA INFORMATICA 15
¿Dónde existen los objetos?
• 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
• Los objetos son construcciones tanto
para el modelado como para el
software
– Los objetos no son sólo una forma de
programar
Procedimientos
Restricciones
Datos
Nombre:
silla
Atributos:
Costo
Dimensiones
Peso
Operaciones:
Comprar
Vender
Mover
15/10/1998 PRINCIPIA INFORMATICA 16
¿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 17
¿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 18
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
15/10/1998 PRINCIPIA INFORMATICA 19
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
15/10/1998 PRINCIPIA INFORMATICA 20
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 21
CONCEPTOS CLAVE Y
TERMINOLOGÍA
El pensamiento de objetos se
basa en tipos
Las instancias almacenan
datos
No todos los tipos tienen
instancias
Clases abstractas
Clases concretas
Tipos + instancias = objetos
2 conceptos fundamentales
Generalización y
especialización
¿Qué es jerarquía?
Propiedades de los objetos
Los objetos están activos
Herencia es un tipo de
relación
Herencia múltiple vs.
Herencia simple
Polimorfismo es un efecto
colateral
Delegación es una relación
¿Por qué los “nuevos”
términos?
15/10/1998 PRINCIPIA INFORMATICA 22
El pensamiento de objetos se
basa en tipos
• Un tipo o clase describe un
conjunto de objetos con las
mismas propiedades
– Los tipos se utilizan el modelado de
negocios
– Las clases se utilizan en el
diseño/programación
• Define los procedimientos,
atributos y restricciones de todos
los objetos de ese tipo
– Los métodos están definidos en la
clase
– Las variables están definidas en la
clase
Procedimientos
Restricciones
Datos
Nombre:
silla
Atributos:
Costo
Dimensiones
Peso
Operaciones:
Comprar
Vender
Mover
15/10/1998 PRINCIPIA INFORMATICA 23
Las instancias almacenan datos
• 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
• 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
15/10/1998 PRINCIPIA INFORMATICA 24
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 25
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 26
Clases concretas
• Clases concretas
pueden o tendrán
instancias
– Por ejemplo:
mobiliario
• Las clases concretas se
crean para ...
– implementar un tipo de
objetos
– reflejar diferencias
– crear instancias
• Comúnmente las
clases concretas son
subclases de una o
mas clases abstractas.
Así
– cumplen con las
propiedades de la
superclase
– agregar sus propias
propiedades
– crear instancias de su
tipo
15/10/1998 PRINCIPIA INFORMATICA 27
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 28
2 conceptos fundamentales
• Encapsulamiento
– La única forma de interactuar
con los datos es a través de un
conjunto de procedimientos
llamados servicios o métodos
– Proporciona el empaquetamiento
que hace que el objeto se
comporte como tal
• Especialización
– Modificable para nuevos usos y
sin ningún cambio al objeto
original
– Basados en tipos de jerarquías
Procedimientos =
servicios o
métodos
Datos
Nombre:
silla
Atributos:
Costo
Dimensiones
Peso
Operaciones:
Comprar
Vender
Mover
15/10/1998 PRINCIPIA INFORMATICA 29
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 30
¿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
15/10/1998 PRINCIPIA INFORMATICA 31
¿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
15/10/1998 PRINCIPIA INFORMATICA 32
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
15/10/1998 PRINCIPIA INFORMATICA 33
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
15/10/1998 PRINCIPIA INFORMATICA 34
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 35
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 36
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 37
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 38
¿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 39
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 40
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
aplicación
Objetos de
negocios
Objetos de
tecnología
15/10/1998 PRINCIPIA INFORMATICA 41
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 42
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 43
¿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 44
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 45
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 46
¿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 47
¿Por qué objetos de negocios? (2)
• Datos, reglas,
administración de
procesos
– Definiciones compartidas
de los conceptos
fundamentales de negocios
– Procedimientos
compartidos de datos y
negocios
– Reglas compartidas de
negocios e integridad de las
restricciones
• Es un mecanismo de
sistemas para reflejar los
negocios
– Utilizando aplicaciones que
comparten los objetos de
negocios se puede romper
con esquemas obsoletos
– Integra los sistemas
heredados en un ambiente de
objetos de negocios
– Genera estrategias
consistentes de negocios,
procesos, datos y
definiciones en la empresa
15/10/1998 PRINCIPIA INFORMATICA 48
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 49
Pensamiento de objetos efectivo
• El pensamiento de objetos
efectivo ...
– Inicia en el nivel de la
ubicación espacial del
problema (i.e., objetos de
negocios)
– Se traslada a los servidores de
software compartidos (i.e.,
marcos de objetos de negocios
= business object frameworks
= BOF)
– Se lleva a través del análisis de
las aplicaciones (i.e., análisis
orientado a objetos = AOO)
– Se refleja en el diseño de la
aplicación (i.e., diseño
orientado a objetos = DOO)
– Y se ejecuta en software
(i.e., programación orientada
a objetos = POO)
• Nota: POO no es un
requisito para el
pensamiento de objetos
– Pero la POO hace posible la
realización del pensamiento
de objetos en software
15/10/1998 PRINCIPIA INFORMATICA 50
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 51
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 52
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 53
Patrones de negocios
• Una forma de resolver
problemas que utiliza
prototipos
– guías genéricas de diseño,
arquetipos, plantillas
• Colección de objetos y
asociaciones de negocios
que capturan un tema
recurrente
– Las asociaciones pueden
ser interacciones,
relaciones o grupos
• Sub-ensamblaje de
negocios pre-
fabricados
– Ensambla un conjunto
de objetos y sus
relaciones en un
módulo
• Son una forma
poderosa de iniciar el
pensamiento de
objetos en el nivel de
los negocios
15/10/1998 PRINCIPIA INFORMATICA 54
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 55
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

Mais conteúdo relacionado

Semelhante a Pensamiento de objetos

Informatica Aplicada
Informatica AplicadaInformatica Aplicada
Informatica AplicadaRita Farfan
 
Sesion4 2013 2 jose_moron
Sesion4 2013 2 jose_moronSesion4 2013 2 jose_moron
Sesion4 2013 2 jose_moronclausancpr
 
Arquitectura de datos empresariales actividad 3
Arquitectura de datos empresariales   actividad 3Arquitectura de datos empresariales   actividad 3
Arquitectura de datos empresariales actividad 3CarlosTenelema1
 
18. INNOVACION.ppt
18. INNOVACION.ppt18. INNOVACION.ppt
18. INNOVACION.pptgeo49
 
Formación workflow - día 3 -
Formación   workflow - día 3 - Formación   workflow - día 3 -
Formación workflow - día 3 - Belen J
 
Análisis Multidimensional (OLAP) y Data Warehousing
Análisis Multidimensional (OLAP) yData WarehousingAnálisis Multidimensional (OLAP) yData Warehousing
Análisis Multidimensional (OLAP) y Data WarehousingCarlosDiscalziMejias1
 
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)Titiushko Jazz
 
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)Titiushko Jazz
 

Semelhante a Pensamiento de objetos (20)

01_Intro.pdf
01_Intro.pdf01_Intro.pdf
01_Intro.pdf
 
Sistemas de informacion
Sistemas de informacionSistemas de informacion
Sistemas de informacion
 
Sistemas de informacion
Sistemas de informacionSistemas de informacion
Sistemas de informacion
 
Sistemas de informacion
Sistemas de informacionSistemas de informacion
Sistemas de informacion
 
Objetos orientados a los negocios curso
Objetos orientados a los negocios   cursoObjetos orientados a los negocios   curso
Objetos orientados a los negocios curso
 
Informatica Aplicada
Informatica AplicadaInformatica Aplicada
Informatica Aplicada
 
Sig
SigSig
Sig
 
Sesion4 2013 2 jose_moron
Sesion4 2013 2 jose_moronSesion4 2013 2 jose_moron
Sesion4 2013 2 jose_moron
 
Modelos de negocios post beps
Modelos de negocios post bepsModelos de negocios post beps
Modelos de negocios post beps
 
Arquitectura de datos empresariales actividad 3
Arquitectura de datos empresariales   actividad 3Arquitectura de datos empresariales   actividad 3
Arquitectura de datos empresariales actividad 3
 
innovacion
 innovacion innovacion
innovacion
 
INNOVACION.ppt
INNOVACION.pptINNOVACION.ppt
INNOVACION.ppt
 
18. INNOVACION.ppt
18. INNOVACION.ppt18. INNOVACION.ppt
18. INNOVACION.ppt
 
18. INNOVACION.ppt
18. INNOVACION.ppt18. INNOVACION.ppt
18. INNOVACION.ppt
 
Formación workflow - día 3 -
Formación   workflow - día 3 - Formación   workflow - día 3 -
Formación workflow - día 3 -
 
Análisis Multidimensional (OLAP) y Data Warehousing
Análisis Multidimensional (OLAP) yData WarehousingAnálisis Multidimensional (OLAP) yData Warehousing
Análisis Multidimensional (OLAP) y Data Warehousing
 
Introducción Business Intelligence
Introducción Business IntelligenceIntroducción Business Intelligence
Introducción Business Intelligence
 
Curso : Inteligencia de Negocios - Dia1
Curso : Inteligencia de Negocios - Dia1Curso : Inteligencia de Negocios - Dia1
Curso : Inteligencia de Negocios - Dia1
 
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
 
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
Unidad vii esp parte 3 clase de datawarehouse ( ing. doño)
 

Mais de Alejandro Domínguez Torres

La estrategia de Wile E. Coyote para atrapar al Correcaminos
La estrategia de Wile E. Coyote para atrapar al CorrecaminosLa estrategia de Wile E. Coyote para atrapar al Correcaminos
La estrategia de Wile E. Coyote para atrapar al CorrecaminosAlejandro Domínguez Torres
 
A historical note on schwartz space and test or bump functions
A historical note on schwartz space and test or bump functionsA historical note on schwartz space and test or bump functions
A historical note on schwartz space and test or bump functionsAlejandro Domínguez Torres
 
Cómo no crear una oficina de dirección de proyectos
Cómo no crear una oficina de dirección de proyectosCómo no crear una oficina de dirección de proyectos
Cómo no crear una oficina de dirección de proyectosAlejandro Domínguez Torres
 
Teoría y tendencias actuales de la administración
Teoría y tendencias actuales de la administraciónTeoría y tendencias actuales de la administración
Teoría y tendencias actuales de la administraciónAlejandro Domínguez Torres
 
¿Todos los PMPs pueden ser directores de proyectos?
¿Todos los PMPs pueden ser directores de proyectos?¿Todos los PMPs pueden ser directores de proyectos?
¿Todos los PMPs pueden ser directores de proyectos?Alejandro Domínguez Torres
 
La profesionalización de la dirección de proyectos
La profesionalización de la dirección de proyectosLa profesionalización de la dirección de proyectos
La profesionalización de la dirección de proyectosAlejandro Domínguez Torres
 
El valor profesional y organizacional de la dirección de proyectos
El valor profesional y organizacional de la dirección de proyectosEl valor profesional y organizacional de la dirección de proyectos
El valor profesional y organizacional de la dirección de proyectosAlejandro Domínguez Torres
 
The limiting absorption principle for the elastic equations
The limiting absorption principle for the elastic equationsThe limiting absorption principle for the elastic equations
The limiting absorption principle for the elastic equationsAlejandro Domínguez Torres
 
Aplicaciones de los sistemas ecuaciones a la electricidad
Aplicaciones de los sistemas ecuaciones a la electricidadAplicaciones de los sistemas ecuaciones a la electricidad
Aplicaciones de los sistemas ecuaciones a la electricidadAlejandro Domínguez Torres
 

Mais de Alejandro Domínguez Torres (20)

Cómo elegir un posgrado webinar
Cómo elegir un posgrado   webinarCómo elegir un posgrado   webinar
Cómo elegir un posgrado webinar
 
La estrategia de Wile E. Coyote para atrapar al Correcaminos
La estrategia de Wile E. Coyote para atrapar al CorrecaminosLa estrategia de Wile E. Coyote para atrapar al Correcaminos
La estrategia de Wile E. Coyote para atrapar al Correcaminos
 
A historical note on schwartz space and test or bump functions
A historical note on schwartz space and test or bump functionsA historical note on schwartz space and test or bump functions
A historical note on schwartz space and test or bump functions
 
Problemas actuales en la educación
Problemas actuales en la educaciónProblemas actuales en la educación
Problemas actuales en la educación
 
Vida Después de la Universidad
Vida Después de la UniversidadVida Después de la Universidad
Vida Después de la Universidad
 
Cómo no crear una oficina de dirección de proyectos
Cómo no crear una oficina de dirección de proyectosCómo no crear una oficina de dirección de proyectos
Cómo no crear una oficina de dirección de proyectos
 
Después de una carrera técnica
Después de una carrera técnicaDespués de una carrera técnica
Después de una carrera técnica
 
Un emprendedor nunca deja de capacitarse
Un emprendedor nunca deja de capacitarseUn emprendedor nunca deja de capacitarse
Un emprendedor nunca deja de capacitarse
 
Teoría y tendencias actuales de la administración
Teoría y tendencias actuales de la administraciónTeoría y tendencias actuales de la administración
Teoría y tendencias actuales de la administración
 
Carreras con futuro
Carreras con futuroCarreras con futuro
Carreras con futuro
 
Cómo conseguir empleo
Cómo conseguir empleoCómo conseguir empleo
Cómo conseguir empleo
 
La vida después de la universidad
La vida después de la universidadLa vida después de la universidad
La vida después de la universidad
 
¿Todos los PMPs pueden ser directores de proyectos?
¿Todos los PMPs pueden ser directores de proyectos?¿Todos los PMPs pueden ser directores de proyectos?
¿Todos los PMPs pueden ser directores de proyectos?
 
La profesionalización de la dirección de proyectos
La profesionalización de la dirección de proyectosLa profesionalización de la dirección de proyectos
La profesionalización de la dirección de proyectos
 
El valor profesional y organizacional de la dirección de proyectos
El valor profesional y organizacional de la dirección de proyectosEl valor profesional y organizacional de la dirección de proyectos
El valor profesional y organizacional de la dirección de proyectos
 
La ingeniera social y la seguridad en ti
La ingeniera social y la seguridad en tiLa ingeniera social y la seguridad en ti
La ingeniera social y la seguridad en ti
 
The limiting absorption principle for the elastic equations
The limiting absorption principle for the elastic equationsThe limiting absorption principle for the elastic equations
The limiting absorption principle for the elastic equations
 
Aplicaciones de los sistemas ecuaciones a la electricidad
Aplicaciones de los sistemas ecuaciones a la electricidadAplicaciones de los sistemas ecuaciones a la electricidad
Aplicaciones de los sistemas ecuaciones a la electricidad
 
Applications of analytic geometry
Applications of analytic geometryApplications of analytic geometry
Applications of analytic geometry
 
Plan estratégico de la calidad
Plan estratégico de la calidadPlan estratégico de la calidad
Plan estratégico de la calidad
 

Pensamiento de objetos

  • 1. 15/10/1998 PRINCIPIA INFORMATICA 1 INTRODUCCIÓN AL PENSAMIENTO DE OBJETOS ALEJANDRO DOMÍNGUEZ
  • 2. 15/10/1998 PRINCIPIA INFORMATICA 2 Temario Objetivos ¿Por qué objetos? ¿Qué es un objeto? Conceptos clave y terminología Categorizando a los objetos Pensamiento de objetos
  • 3. 15/10/1998 PRINCIPIA INFORMATICA 3 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
  • 4. 15/10/1998 PRINCIPIA INFORMATICA 4 ¿PORQUÉ OBJETOS? Ventajas estratégicas Ventajas tácticas Ventajas de negocios
  • 5. 15/10/1998 PRINCIPIA INFORMATICA 5 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
  • 6. 15/10/1998 PRINCIPIA INFORMATICA 6 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
  • 7. 15/10/1998 PRINCIPIA INFORMATICA 7 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
  • 8. 15/10/1998 PRINCIPIA INFORMATICA 8 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
  • 9. 15/10/1998 PRINCIPIA INFORMATICA 9 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
  • 10. 15/10/1998 PRINCIPIA INFORMATICA 10 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
  • 11. 15/10/1998 PRINCIPIA INFORMATICA 11 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
  • 12. 15/10/1998 PRINCIPIA INFORMATICA 12 ¿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
  • 13. 15/10/1998 PRINCIPIA INFORMATICA 13 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:
  • 14. 15/10/1998 PRINCIPIA INFORMATICA 14 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:
  • 15. 15/10/1998 PRINCIPIA INFORMATICA 15 ¿Dónde existen los objetos? • 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 • Los objetos son construcciones tanto para el modelado como para el software – Los objetos no son sólo una forma de programar Procedimientos Restricciones Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 16. 15/10/1998 PRINCIPIA INFORMATICA 16 ¿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
  • 17. 15/10/1998 PRINCIPIA INFORMATICA 17 ¿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
  • 18. 15/10/1998 PRINCIPIA INFORMATICA 18 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
  • 19. 15/10/1998 PRINCIPIA INFORMATICA 19 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
  • 20. 15/10/1998 PRINCIPIA INFORMATICA 20 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
  • 21. 15/10/1998 PRINCIPIA INFORMATICA 21 CONCEPTOS CLAVE Y TERMINOLOGÍA El pensamiento de objetos se basa en tipos Las instancias almacenan datos No todos los tipos tienen instancias Clases abstractas Clases concretas Tipos + instancias = objetos 2 conceptos fundamentales Generalización y especialización ¿Qué es jerarquía? Propiedades de los objetos Los objetos están activos Herencia es un tipo de relación Herencia múltiple vs. Herencia simple Polimorfismo es un efecto colateral Delegación es una relación ¿Por qué los “nuevos” términos?
  • 22. 15/10/1998 PRINCIPIA INFORMATICA 22 El pensamiento de objetos se basa en tipos • Un tipo o clase describe un conjunto de objetos con las mismas propiedades – Los tipos se utilizan el modelado de negocios – Las clases se utilizan en el diseño/programación • Define los procedimientos, atributos y restricciones de todos los objetos de ese tipo – Los métodos están definidos en la clase – Las variables están definidas en la clase Procedimientos Restricciones Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 23. 15/10/1998 PRINCIPIA INFORMATICA 23 Las instancias almacenan datos • 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 • 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
  • 24. 15/10/1998 PRINCIPIA INFORMATICA 24 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
  • 25. 15/10/1998 PRINCIPIA INFORMATICA 25 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
  • 26. 15/10/1998 PRINCIPIA INFORMATICA 26 Clases concretas • Clases concretas pueden o tendrán instancias – Por ejemplo: mobiliario • Las clases concretas se crean para ... – implementar un tipo de objetos – reflejar diferencias – crear instancias • Comúnmente las clases concretas son subclases de una o mas clases abstractas. Así – cumplen con las propiedades de la superclase – agregar sus propias propiedades – crear instancias de su tipo
  • 27. 15/10/1998 PRINCIPIA INFORMATICA 27 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
  • 28. 15/10/1998 PRINCIPIA INFORMATICA 28 2 conceptos fundamentales • Encapsulamiento – La única forma de interactuar con los datos es a través de un conjunto de procedimientos llamados servicios o métodos – Proporciona el empaquetamiento que hace que el objeto se comporte como tal • Especialización – Modificable para nuevos usos y sin ningún cambio al objeto original – Basados en tipos de jerarquías Procedimientos = servicios o métodos Datos Nombre: silla Atributos: Costo Dimensiones Peso Operaciones: Comprar Vender Mover
  • 29. 15/10/1998 PRINCIPIA INFORMATICA 29 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
  • 30. 15/10/1998 PRINCIPIA INFORMATICA 30 ¿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
  • 31. 15/10/1998 PRINCIPIA INFORMATICA 31 ¿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
  • 32. 15/10/1998 PRINCIPIA INFORMATICA 32 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
  • 33. 15/10/1998 PRINCIPIA INFORMATICA 33 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
  • 34. 15/10/1998 PRINCIPIA INFORMATICA 34 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
  • 35. 15/10/1998 PRINCIPIA INFORMATICA 35 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
  • 36. 15/10/1998 PRINCIPIA INFORMATICA 36 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
  • 37. 15/10/1998 PRINCIPIA INFORMATICA 37 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
  • 38. 15/10/1998 PRINCIPIA INFORMATICA 38 ¿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
  • 39. 15/10/1998 PRINCIPIA INFORMATICA 39 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?
  • 40. 15/10/1998 PRINCIPIA INFORMATICA 40 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 aplicación Objetos de negocios Objetos de tecnología
  • 41. 15/10/1998 PRINCIPIA INFORMATICA 41 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
  • 42. 15/10/1998 PRINCIPIA INFORMATICA 42 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
  • 43. 15/10/1998 PRINCIPIA INFORMATICA 43 ¿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
  • 44. 15/10/1998 PRINCIPIA INFORMATICA 44 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
  • 45. 15/10/1998 PRINCIPIA INFORMATICA 45 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
  • 46. 15/10/1998 PRINCIPIA INFORMATICA 46 ¿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
  • 47. 15/10/1998 PRINCIPIA INFORMATICA 47 ¿Por qué objetos de negocios? (2) • Datos, reglas, administración de procesos – Definiciones compartidas de los conceptos fundamentales de negocios – Procedimientos compartidos de datos y negocios – Reglas compartidas de negocios e integridad de las restricciones • Es un mecanismo de sistemas para reflejar los negocios – Utilizando aplicaciones que comparten los objetos de negocios se puede romper con esquemas obsoletos – Integra los sistemas heredados en un ambiente de objetos de negocios – Genera estrategias consistentes de negocios, procesos, datos y definiciones en la empresa
  • 48. 15/10/1998 PRINCIPIA INFORMATICA 48 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
  • 49. 15/10/1998 PRINCIPIA INFORMATICA 49 Pensamiento de objetos efectivo • El pensamiento de objetos efectivo ... – Inicia en el nivel de la ubicación espacial del problema (i.e., objetos de negocios) – Se traslada a los servidores de software compartidos (i.e., marcos de objetos de negocios = business object frameworks = BOF) – Se lleva a través del análisis de las aplicaciones (i.e., análisis orientado a objetos = AOO) – Se refleja en el diseño de la aplicación (i.e., diseño orientado a objetos = DOO) – Y se ejecuta en software (i.e., programación orientada a objetos = POO) • Nota: POO no es un requisito para el pensamiento de objetos – Pero la POO hace posible la realización del pensamiento de objetos en software
  • 50. 15/10/1998 PRINCIPIA INFORMATICA 50 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
  • 51. 15/10/1998 PRINCIPIA INFORMATICA 51 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
  • 52. 15/10/1998 PRINCIPIA INFORMATICA 52 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
  • 53. 15/10/1998 PRINCIPIA INFORMATICA 53 Patrones de negocios • Una forma de resolver problemas que utiliza prototipos – guías genéricas de diseño, arquetipos, plantillas • Colección de objetos y asociaciones de negocios que capturan un tema recurrente – Las asociaciones pueden ser interacciones, relaciones o grupos • Sub-ensamblaje de negocios pre- fabricados – Ensambla un conjunto de objetos y sus relaciones en un módulo • Son una forma poderosa de iniciar el pensamiento de objetos en el nivel de los negocios
  • 54. 15/10/1998 PRINCIPIA INFORMATICA 54 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
  • 55. 15/10/1998 PRINCIPIA INFORMATICA 55 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