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
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)
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
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