Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALEJANDRO DOMNGUEZ
17-01-1999
Temario
OBJETIVOS HISTORIA DE LA ORIENTACIN A OBJETOS POR QU OBJETOS? QU ES UN OBJETO? CONCEPTOS CLAVE Y TERMINOLOGA EJEMPLO PRCTICO: MODELADO DE UNA EMPRESA CATEGORIZANDO A LOS OBJETOS EL PENSAMIENTO DE OBJETOS
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 2
LA ORIENTACIN A OBJETOS
OBJETIVOS
17-01-1999
Objetivos
Esta presentacin proporcionar ...
Una perspectiva histrica de la orientacin a objetos Una perspectiva general sobre la orientacin a objetos Un marco conceptual slido para el pensamiento en objetos Algunas aplicaciones de la orientacin a objetos a los negocios
LA ORIENTACIN A OBJETOS
HISTORIA DE LA ORIENTACIN A OBJETOS
17-01-1999
15 aos de fama
La experiencia nos dice que las tecnologas de ingeniera de software (IS) mas populares tienen el siguiente comportamiento:
Pueden tomar algn tiempo en llegar a ser populares Tienen un periodo de florecimiento de 15 aos
17-01-1999
17-01-1999
10
Finales de 1980s: Aparece un gran nmero de lenguajes de programacin OO; incluyendo: C++, Eiffel, CLOS, etc.
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 11
LISP
SIMULA
ALGOL
TIPO puro
1970
Smalltalk
PASCAL hibC
Objective-C C++ Object Pascal rid Tradicio nal
UML
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 12
Existen muchos enfoques de desarrollo de software OO: Booch, Rumbaugh, Coad, Wirfs-Brock, Berard, Fusion, Shlaer-Mellor, ... El trmino orientado a objetos aparece de forma regular en las publicaciones de negocios: The Wall Street Journal, Business Week, ... La comunidad de administracin de los SI empieza a utilizar la tecnologa OO ORIENTACIN A OBJETOS V. 2.0 17-01-1999 LA 14
En la actualidad
Existe un crecimiento significante (y explosivo) de tecnologas basadas en la orientacin a objetos; e.g. programacin basada en componentes, programacin basada en agentes Existe una tendencia a estandarizar las tecnologas orientadas a objetos; e.g. UML, Business Objects
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 15
17-01-1999
16
La tecnologa OO tiene impacto sobre un gran dominio: desde las practicas administrativas, a las metodologas del ciclo de vida, a la seleccin de herramientas, a el almacenamiento persistente, a los lenguajes de programacin La tecnologa OO es vasta; e.g., mas amplia que lo indicado en los lenguajes deOBJETOS V. 2.0 programacin OO 17-01-1999 LA ORIENTACIN A 17
LA ORIENTACIN A OBJETOS
PORQU OBJETOS?
17-01-1999
18
Ventajas de negocios
Integracin 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 travs de compartir los objetos de negocios
17-01-1999
LA ORIENTACIN A OBJETOS
QU ES UN OBJETO?
17-01-1999
26
Se enfoca a un nico concepto Captura hechos acerca del Operaciones: concepto Encierra hechos con procedimientos, reglas Presenta una interfaz bien definida
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0
27
Datos
Operaciones:
Procedimientos
28
Operaciones:
Procedimientos
29
Datos
Operaciones:
Procedimientos
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 30
Todos los procedimientos, datos y reglas acerca del sujeto estn atados a un paquete bien definido e integrado
Componentes de software Disear acorde a las especificaciones de las componentes
Los objetos son mdulos que representan conceptos simples y bien definidos del dominio
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 32
Operaciones:
Procedimientos
33
Los objetos re-empaquetan los objetos existentes con nuevas caractersticas que hacen los conceptos existentes fciles de utilizar
Ojo! ... el empaquetamiento hace toda la diferencia El nuevo empaquetamiento cambia el paradigma
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 34
LA ORIENTACIN A OBJETOS
17-01-1999
36
El trmino tipo se utiliza en el modelado de negocios El trmino clase se utiliza en Datos el diseo/programacin de software
Operaciones:
Un tipo se puede considerar como una plantilla para crear objetos con las mismas propiedades
17-01-1999
Procedimientos
37
Operaciones:
Procedimientos
38
Las instancias tienen diferentes valores para sus Comprar atributos Vender Los datos se almacenan en Mover las instancias La punta del tringulo indica de
17-01-1999
donde provienen las operaciones Comprar y atributos Vender Mover LA ORIENTACIN A OBJETOS V. 2.0
Operaciones:
39
Comprar Vender Mover La punta del tringulo indica de donde provienen las operaciones y atributos
Operaciones:
40
17-01-1999
17-01-1999
42
Tipos concretos
Tipos concretos pueden tener instancias
Por ejemplo: mobiliario
Comnmente 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
44
Cada instancia captura los valores reales de las propiedades de lo que representa Un objeto es un trmino que puede comprender tanto tipos como instancias. Comnmente 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 ORIENTACIN A OBJETOS V. 2.0 45
Encapsulamiento
Encapsulamiento
Se refiere a la prctica de incluir dentro de un objeto todo lo que se necesita Esta inclusin es de tal manera que ningn otro objeto necesite conocer Datos nunca la estructura interna de otro Proporciona el empaquetamiento que hace que el objeto se comporte como tal Las partes encapsuladas son su implementacin privada; se dice que los atributos y mtodos visibles son pblicos 17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 Nombre: silla Atributos:
Costo Dimensiones Peso
Comprar Vender Mover
Operaciones:
17-01-1999
47
Cada especializacin sirve para un propsito especfico Se pueden organizar en una jerarqua o superjerarqua
17-01-1999
48
Qu es jerarqua? (1)
Una estructura de especializacin donde el hijo puede tener al menos uno y slo un padre
La estructura resultante es un rbol
Cuenta
nombre, direccin, estado, balance, fecha de apertura, fecha de cierre ... sacar balance, depositar, pedir prstamo
Cuenta de cheques
Cuenta de ahorros
balance, balance mnimo, tasa de inters, etc. sacar balance, depositar, pedir prstamo 49
Qu es jerarqua? (2)
Malabarista Se pueden hacer objetos de otros objetos Esto se conoce como agregacin 2 2 Pie Mano El comportamiento del derecho o derecha o izquierdo izquierda objeto ms grande se define patea agarra, toma, pasa por por el comportamiento de atrs, lanza sus partes componentes, El diamante indica que un objeto est separadamente y en hecho de otros objetos. El nmero conjuncin con el otro indica la cantidad de componentes
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 50
Mensaje
Receptor (servidor)
51
Herencia (1)
Es una forma de generalizacin y especializacin
Es una relacin Es apropiada para el diseo y discusiones de implementacin
52
Herencia (2)
Refleja la generalizacin del mundo real y los tipos de jerarquas Agrega propiedades a travs de tipos de especializacin
17-01-1999
53
17-01-1999
54
Polimorfismo
Polimrfico significa muchas formas
Describe cmo un comportamiento cambia cuando se escala la herencia de la clase Describe cmo un simple comportamiento puede evocar diferentes consecuencias en una especializacin ms que en la generalizacin
Ejemplo: la operacin add se puede utilizar de la siguiente forma add_line_item, add_to_balance, all_new_employee
Delegacin (1)
Delegacin 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 generalizacin y especializacin (acta como o toma el papel de) una relacin es especializacin por liberacin de trabajo
17-01-1999
56
Delegacin (2)
Esta relacin permite que los objetos transformen su comportamiento sin verse obligados por su relacin de clase
no es necesario que los hijos hereden la realizacin de sus padres
Refleja un comportamiento del mundo real Agrega propiedades a travs del comportamiento
17-01-1999
57
Interaccin, mensaje
Un objeto solicita un servicio a ser ejecutado por otro objeto
Atributos
Variables o estructura de datos interna para el tipo de objetos
Relacin
Referencias estticas de un objeto con otro Asociaciones estructurales entre padre e hijo
Protocolo
17-01-1999
58
59
LA ORIENTACIN A OBJETOS
EJEMPLO PRCTICO: MODELADO DE UNA EMPRESA
17-01-1999
60
El problema
El problema se ubica en el departamento de servicios administrativos de una empresa Uno de los problemas del departamento es la opcin de pasar a una publicacin completamente electrnica
Ya estaban empleando sofisticadas tcnicas de impresin, pero la composicin se efectuaba en estaciones de trabajo anticuadas, y el pegado se realizaba manualmente
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 61
Escritura
Contabilidad
LA ORIENTACIN A OBJETOS V. 2.0 62
17-01-1999
63
17-01-1999
64
Fotocomposicin Artista grfico Creador de fotolitos ... Hacer diapositivas Hacer placas Preparar placas Pedir materiales Despachar resultados Hacer informes de costos Hacer informes de progreso ...
17-01-1999
Encargado de pegado
Responsable de autoedicin
Conclusiones
La notacin resulto ser muy expresiva y til para los aspectos de negocios La orientacin a objetos del problema result til para clarificar los problemas y sus soluciones, y, tambin, para comunicar los resultados a la administracin El modelo se realiz por completo sobre papel, sin utilizar tecnologas sofisticadas
17-01-1999 LA ORIENTACIN A OBJETOS V. 2.0 68