Diagramas de Objetos
Objeto es una entidad discreta con límites bien definidos y con
identidad, es una unidad atómica que encapsula estado y comportamiento. La
encapsulación en un objeto permite una alta cohesión y un bajo
acoplamiento. el Objeto es reconocido también como una instancia de la
clase a la cual pertenece.
La encapsulación presenta tres ventajas básicas:
- Se protegen los datos de accesos indebidos
- El acoplamiento entre las clases se disminuye
- Favorece la modularidad y el mantenimiento
Un objeto se puede ver desde dos perspectivas relacionadas: como una
entidad de un determinado instante de tiempo que posee un valor específico
(Un objeto puede caracterizar una entidad física -coche-) y como un
poseedor de identidad que tiene distintos valores a lo largo del tiempo
(abstracta -ecuación matemática-). Cada objeto posee su propia
identidad exclusiva y se puede hacer referencia a él mediante una
denominación exclusiva que permite accederle. El Modelado de Objetos
permite representar el ciclo de vida de los objetos a través de sus
interacciones. En UML, un objeto se representa por un rectángulo con un
nombre subrayado.
- Objeto = Identidad + Estado + Comportamiento
- El estado está representado por los valores de los atributos.
- Un atributo toma un valor en un dominio concreto.
La regla general para la notación de instancias consiste en utilizar el
mismo símbolo geométrico que el descriptor. En la instancia se muestran
los posibles valores pero las propiedades compartidas sólo se pone de
manifiesto en el descriptor. La notación canónica es un rectángulo con
tres compartimientos. En el primero va el nombre del objeto, en el segundo
sus atributos y en el tercero sus operaciones. Este último puede ser
omitido si así se prefiere.
Oid (Object Identifier)
Cada objeto posee un oid. El oid establece la identidad del objeto y
tiene las siguientes características:
- Constituye un identificador único y global para cada objeto dentro
del sistema.
- Es determinado en el momento de la creación del objeto.
- Es independiente de la localización física del objeto, es decir,
provee completa independencia de localización.
- Es independiente de las propiedades del objeto, lo cual implica
independencia de valor y de estructura.
- No cambia durante toda la vida del objeto. Además, un oid no se
reutiliza aunque el objeto deje de existir.
No se tiene ningún control sobre los oids y su manipulación resulta
transparente. Sin embargo, es preciso contar con algún medio para hacer
referencia a un objeto utilizando referencias del dominio (valores de
atributos).
Características alrededor de un objeto:
Estado:
El estado evoluciona con el tiempo. Algunos atributos pueden ser
constantes, el comportamiento agrupa las competencias de un objeto y
describe las acciones y reacciones de ese objeto. Las operaciones de un
objeto son consecuencia de un estímulo externo representado como mensaje
enviado desde otro objeto.
Persistencia:
La persistencia de los objetos designa la capacidad de un objeto
trascender en el espacio/tiempo, podremos después reconstruirlo, es decir,
cogerlo de memoria secundaria para utilizarlo en la ejecución
(materialización del objeto). Los lenguajes OO no proponen soporte
adecuado para la persistencia, la cual debería ser transparente, un objeto
existe desde su creación hasta que se destruya.
Comunicación:
Un sistema informático puede verse como un conjunto de objetos
autónomos y concurrentes que trabajan de manera coordinada en la
consecución de un fin específico. El comportamiento global se basa pues en
la comunicación entre los objetos que la componen.
Categorías de objetos:
- Activos o Pasivos
- Cliente -- Servidores, Agentes
- Objeto Activo: posee un hilo de ejecución (thread) propio y puede
iniciar una actividad.
- Objeto Pasivo: no puede iniciar una actividad pero puede enviar
estímulos una vez que se le solicita un servicio.
- Cliente es el objeto que solicita un servicio.
- Servidor es el objeto que provee el servicio solicitado.
- Los agentes reúnen las características de clientes y servidores. Son
la base del mecanismo de delegación. Introducen indirección: un cliente
puede comunicarse con un servidor que no conoce directamente.
Mensajes:
La unidad de comunicación entre objetos se llama mensaje. El mensaje es
el soporte de una comunicación que vincula dinámicamente los objetos que
fueron separados previamente en el proceso de descomposición. Adquiere
toda su fuerza cuando se asocia al polimorfismo y al enlace dinámico. Un
estímulo causará la invocación de una operación, la creación o destrucción
de un objeto o la aparición de una señal. Un mensaje es la especificación
de un estímulo.
Tipos de flujo de control:
- Llamada a procedimiento o flujo de control anidado
- Flujo de control plano
- Retorno de una llamada a procedimiento
- Otras variaciones
- Esperado (balking)
- Cronometrado (time-out)
|