viernes, 20 de enero de 2012

Estructuras de objetos, constructores de tipos, encapsulamiento de operaciones, métodos y persistencia.


Base de datos orientados a objetos.

 El modelo de bases de datos orientado a objetos es una adaptación a los sistemas de bases de datos. Se basa en el concepto de encapsulamiento de datos y código que opera sobre estos en un objeto. Los objetos estructurados se agrupan en clases. Puesto que el valor de un dato en un objeto también es un objeto, es posible representar el contenido del objeto dando como resultado un objeto compuesto.

Estructura de objetos.

El modelo orientado a objetos se basa en encapsular código y datos en una única unidad, llamada objeto.

Un objeto tiene asociado: 

·  Un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto.
·  Un conjunto de mensajes a los que el objeto responde.
·  Un método, que es un trozo de código para implementar cada mensaje. Un método devuelve un valor como respuesta al mensaje.

La capacidad de modificar la definición de un objeto sin afectar al resto del sistema está considerada como una de las mayores ventajas del modelo de programación orientado a objetos.

Tipos de datos

En el modelo se propone un sistema de tipos consistente en un conjunto de tipos básicos (atómicos) y un conjunto de constructores de tipos.
Tipos básicos (
n2,...nm
Constructores de tipos (
tipos estructurados):
Colecciones:
- array <T,I>
- set <T>
- bag <T>
- list <T>
- dictionary <K,T>
Estructuras:
- struct S {C1 T1, C2 T2, ...Cn Tn}: tupla de estructura {C1 T1, C2 T2, ...Cn Tn}

Encapsulamiento

El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos.
 Es tener todo esto es una sola entidad. En los lenguajes estructurados esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y el ocultamiento que veremos a continuación. 
La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace.

MODELO DE PERSISTENCIA

Un modelo es un conjunto de reglas, conceptos y convenciones que nos permiten describir “algo”. Independientemente del medio de persistencia seleccionado para almacenar los objetos persistentes, se deben realizar un grupo de pasos que permiten completar la semántica de los objetos en aspectos que son importantes.
Los pasos que propone el modelo de persistencia para el diseño de la BD son:
1. Definir las clases persistentes.
La persistencia es la capacidad de un objeto de mantener su valor en el espacio y en el tiempo. Es responsabilidad del diseñador definir cuáles clases son las que deben ser persistentes.
2. Refinar las clases.
El objetivo de este paso es la obtención de la jerarquía de clases y la definición de nuevas clases. No es obligatorio que aparezcan nuevas clases, se recomienda revisar si existe algún comportamiento de interés que no haya sido tomado en cuenta y sea trascendental en la solución del problema, para incluirlo.
3. Clasificar las clases y los atributos.
Clasificar las clases en dependencia de los atributos que la integran y los atributos teniendo en cuenta si son o no afectados por los eventos.
4. Realizar el diagrama de clases.
5. Realizar el diagrama de transición de estado.
6. Obtener las restricciones estáticas y las fórmulas dinámicas.
Especificando textualmente o derivando a partir de los diagramas de clases y transición de estado.
7. Convertir las clases al medio de almacenamiento.
Es en este paso en el que se tiene en cuenta hacía qué lugar se guardarán los objetos.
: secuencia de pares (clave, valor): lista finita de elementos de tipo T: bolsa (multiconjunto) finito de elementos de tipo T: conjunto finito de elementos de tipo T: vector unidimensional de I elementos de tipo T
tipos atómicos): char, string, float, double, boolean, enum N {n1,}, …

No hay comentarios:

Publicar un comentario