SlideShare una empresa de Scribd logo
1 de 68
Descargar para leer sin conexión
17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 1
ALEJANDRO DOMÍNGUEZ
LA ORIENTACIÓN A
OBJETOS
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
17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 3
LA ORIENTACIÓN A
OBJETOS
OBJETIVOS
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
17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 5
HISTORIA DE LA
ORIENTACIÓN A OBJETOS
LA ORIENTACIÓN A
OBJETOS
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
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
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
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)
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)
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)
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++
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)
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)
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
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-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)
17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 18
LA ORIENTACIÓN A
OBJETOS
¿PORQUÉ OBJETOS?
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
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
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
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
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
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
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
17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 26
LA ORIENTACIÓN A
OBJETOS
¿QUÉ ES UN OBJETO?
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:
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:
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
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
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
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
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
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
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
17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 36
LA ORIENTACIÓN A
OBJETOS
CONCEPTOS CLAVE Y
TERMINOLOGÍA
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
17-01-1999 LA ORIENTACIÓN A OBJETOS V. 2.0 60
LA ORIENTACIÓN A
OBJETOS
EJEMPLO PRÁCTICO:
MODELADO DE UNA
EMPRESA
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
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
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
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
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
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
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
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

Más contenido relacionado

Destacado

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
 
Metodología de objetos orientadas a los negocios
Metodología de objetos orientadas a los negociosMetodología de objetos orientadas a los negocios
Metodología de objetos orientadas a los negociosAlejandro 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
 
Administración del conocimiento y desarrollo docente
Administración del conocimiento y desarrollo docenteAdministración del conocimiento y desarrollo docente
Administración del conocimiento y desarrollo docenteAlejandro Domínguez Torres
 

Destacado (20)

Webminar la elección de una maestría
Webminar    la elección de una maestríaWebminar    la elección de una maestría
Webminar la elección de una maestría
 
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
 
Metodología de objetos orientadas a los negocios
Metodología de objetos orientadas a los negociosMetodología de objetos orientadas a los negocios
Metodología de objetos orientadas a los negocios
 
Planeación operativa ante una pandemia
Planeación operativa ante una pandemiaPlaneación operativa ante una pandemia
Planeación operativa ante una pandemia
 
Webinar ruido organizacional
Webinar   ruido organizacionalWebinar   ruido organizacional
Webinar ruido organizacional
 
Webminar el director de proyectos
Webminar   el director de proyectosWebminar   el director de proyectos
Webminar el director 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?
¿Todos los PMPs pueden ser directores de proyectos?
 
Objetos orientados a los negocios curso
Objetos orientados a los negocios   cursoObjetos orientados a los negocios   curso
Objetos orientados a los negocios curso
 
Webinar recursos humanos o capital humano
Webinar   recursos humanos o capital humanoWebinar   recursos humanos o capital humano
Webinar recursos humanos o capital humano
 
Webinar ejecución de proyectos
Webinar   ejecución de proyectosWebinar   ejecución de proyectos
Webinar ejecución de proyectos
 
Webminar porqué estudiar un posgrado
Webminar    porqué estudiar un posgradoWebminar    porqué estudiar un posgrado
Webminar porqué estudiar un posgrado
 
Prevención del Cáncer de Mama
Prevención del Cáncer de MamaPrevención del Cáncer de Mama
Prevención del Cáncer de Mama
 
Pensamiento de objetos
Pensamiento de objetosPensamiento de objetos
Pensamiento de objetos
 
Knowledge management
Knowledge managementKnowledge management
Knowledge management
 
Estudiar en linea UNITEC
Estudiar en linea UNITECEstudiar en linea UNITEC
Estudiar en linea UNITEC
 
Prepa UNITEC es
Prepa UNITEC esPrepa UNITEC es
Prepa UNITEC es
 
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
 
Administración del conocimiento y desarrollo docente
Administración del conocimiento y desarrollo docenteAdministración del conocimiento y desarrollo docente
Administración del conocimiento y desarrollo docente
 
Cómo conseguir empleo
Cómo conseguir empleoCómo conseguir empleo
Cómo conseguir empleo
 
Teoria de restricciones
Teoria de restriccionesTeoria de restricciones
Teoria de restricciones
 

Similar a Objetos OO historia conceptos

Roles profesionales en la Arquitectura de Información
Roles profesionales en la Arquitectura de InformaciónRoles profesionales en la Arquitectura de Información
Roles profesionales en la Arquitectura de InformaciónRodrigo Ronda
 
Líneas de productos de software y el método 47
Líneas de productos de software y el método 47Líneas de productos de software y el método 47
Líneas de productos de software y el método 47Leonardo Portillo
 
Líneas de productos de software y el método s2
Líneas de productos de software y el método s2Líneas de productos de software y el método s2
Líneas de productos de software y el método s2Leonardo Portillo
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Educagratis
 
Ucv sesion 15 diseño optimiz -redes
Ucv sesion 15 diseño optimiz -redesUcv sesion 15 diseño optimiz -redes
Ucv sesion 15 diseño optimiz -redesTaringa!
 
PMBOK
PMBOKPMBOK
PMBOKpmbok
 
Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUPAngelDX
 
12arquitecturasti-150412142706-conversion-gate01.pptx
12arquitecturasti-150412142706-conversion-gate01.pptx12arquitecturasti-150412142706-conversion-gate01.pptx
12arquitecturasti-150412142706-conversion-gate01.pptxJessyHerreraMartell
 
Introducción a Microsoft Project Uces 2008
Introducción a Microsoft Project Uces 2008Introducción a Microsoft Project Uces 2008
Introducción a Microsoft Project Uces 2008elitichever
 
ICI1296 2-2019 I 3 Taxonomía de Proyectos Industriales.pptx
ICI1296 2-2019 I 3 Taxonomía de Proyectos Industriales.pptxICI1296 2-2019 I 3 Taxonomía de Proyectos Industriales.pptx
ICI1296 2-2019 I 3 Taxonomía de Proyectos Industriales.pptxfernando_riverab62
 
Administración de obras - Introducción a la materia.pdf
Administración de obras - Introducción a la materia.pdfAdministración de obras - Introducción a la materia.pdf
Administración de obras - Introducción a la materia.pdfadua4
 
Linea de productos de software y Metodo Watch
Linea de productos de software y Metodo WatchLinea de productos de software y Metodo Watch
Linea de productos de software y Metodo WatchLuisAguilera86
 
Presentación investigación PAT IIP 2016 CURN
Presentación investigación PAT IIP 2016 CURNPresentación investigación PAT IIP 2016 CURN
Presentación investigación PAT IIP 2016 CURNJairo Acosta Solano
 
VITALAS, hacia una nueva generación de buscadores multimedia
VITALAS, hacia una nueva generación de buscadores multimediaVITALAS, hacia una nueva generación de buscadores multimedia
VITALAS, hacia una nueva generación de buscadores multimediaIñaki Etxaniz
 
Planificar un proyecto bi
Planificar un proyecto biPlanificar un proyecto bi
Planificar un proyecto biaitorvasco
 

Similar a Objetos OO historia conceptos (20)

Bdoo
BdooBdoo
Bdoo
 
Roles profesionales en la Arquitectura de Información
Roles profesionales en la Arquitectura de InformaciónRoles profesionales en la Arquitectura de Información
Roles profesionales en la Arquitectura de Información
 
Líneas de productos de software y el método 47
Líneas de productos de software y el método 47Líneas de productos de software y el método 47
Líneas de productos de software y el método 47
 
Líneas de productos de software y el método s2
Líneas de productos de software y el método s2Líneas de productos de software y el método s2
Líneas de productos de software y el método s2
 
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...Introducción al proceso unificado de desarrollo de software en Curso de Anali...
Introducción al proceso unificado de desarrollo de software en Curso de Anali...
 
El reto de la interoperabilidad en las IDE
El reto de la interoperabilidad en las IDEEl reto de la interoperabilidad en las IDE
El reto de la interoperabilidad en las IDE
 
Taller: Scrum - Osvaldo Comelli
Taller: Scrum - Osvaldo ComelliTaller: Scrum - Osvaldo Comelli
Taller: Scrum - Osvaldo Comelli
 
Cloud computing 2010
Cloud computing 2010Cloud computing 2010
Cloud computing 2010
 
Ucv sesion 15 diseño optimiz -redes
Ucv sesion 15 diseño optimiz -redesUcv sesion 15 diseño optimiz -redes
Ucv sesion 15 diseño optimiz -redes
 
PMBOK
PMBOKPMBOK
PMBOK
 
Lp II clase01 - Desarrollo de software con RUP
Lp II   clase01 - Desarrollo de software con RUPLp II   clase01 - Desarrollo de software con RUP
Lp II clase01 - Desarrollo de software con RUP
 
12arquitecturasti-150412142706-conversion-gate01.pptx
12arquitecturasti-150412142706-conversion-gate01.pptx12arquitecturasti-150412142706-conversion-gate01.pptx
12arquitecturasti-150412142706-conversion-gate01.pptx
 
Introducción a Microsoft Project Uces 2008
Introducción a Microsoft Project Uces 2008Introducción a Microsoft Project Uces 2008
Introducción a Microsoft Project Uces 2008
 
ICI1296 2-2019 I 3 Taxonomía de Proyectos Industriales.pptx
ICI1296 2-2019 I 3 Taxonomía de Proyectos Industriales.pptxICI1296 2-2019 I 3 Taxonomía de Proyectos Industriales.pptx
ICI1296 2-2019 I 3 Taxonomía de Proyectos Industriales.pptx
 
Administración de obras - Introducción a la materia.pdf
Administración de obras - Introducción a la materia.pdfAdministración de obras - Introducción a la materia.pdf
Administración de obras - Introducción a la materia.pdf
 
Linea de productos de software y Metodo Watch
Linea de productos de software y Metodo WatchLinea de productos de software y Metodo Watch
Linea de productos de software y Metodo Watch
 
Essence y kuali beh
Essence y kuali behEssence y kuali beh
Essence y kuali beh
 
Presentación investigación PAT IIP 2016 CURN
Presentación investigación PAT IIP 2016 CURNPresentación investigación PAT IIP 2016 CURN
Presentación investigación PAT IIP 2016 CURN
 
VITALAS, hacia una nueva generación de buscadores multimedia
VITALAS, hacia una nueva generación de buscadores multimediaVITALAS, hacia una nueva generación de buscadores multimedia
VITALAS, hacia una nueva generación de buscadores multimedia
 
Planificar un proyecto bi
Planificar un proyecto biPlanificar un proyecto bi
Planificar un proyecto bi
 

Más 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
 
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
 

Más de Alejandro Domínguez Torres (18)

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
 
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
 
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
 
Calidad en la empresa - curso
Calidad en la empresa - cursoCalidad en la empresa - curso
Calidad en la empresa - curso
 
Aplicaciones de los números complejos
Aplicaciones de los números complejosAplicaciones de los números complejos
Aplicaciones de los números complejos
 
Recursos humanos y capital humano
Recursos humanos y capital humanoRecursos humanos y capital humano
Recursos humanos y capital humano
 
Webinar tendencias profesionales
Webinar   tendencias profesionalesWebinar   tendencias profesionales
Webinar tendencias profesionales
 

Objetos OO historia conceptos

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