sábado, 24 de septiembre de 2011

uso de los objetos complejos estructurados, los no estructurados y la extensibilidad de tipos

En el modelo de objetos existen cuatro características fundamentales:


Abstracción: denota las características esenciales de un objeto que lo distinguen de todos los demás tipos objeto, y proporciona así fronteras conceptuales nítidamente definidas respecto a la perspectiva del observador". Una abstracción se centra en la visión externa de un objeto, y, por tanto sirve para separar el comportamiento esencial de un objeto de su implantación.

Modularidad: Se basa en el concepto de fragmentación de los programas en componentes individuales para reducir su complejidad en algún grado, y para crear además una serie de fronteras bien definidas y documentadas dentro del programa, dónde estas fronteras o interfaces tienen un incalculable valor cara a la comprensión del programa.

Jerarquía: una clasificación u ordenación de abstracciones.

Tipos:
Es un conjunto de objetos que tienen un mismo comportamiento (comparten una misma funcionalidad) que se puede observar desde afuera.

Genericidad: permite construir clases genéricas para otras clases.

Objetos Complejos: Están construidos mediante algunos más simples ó mediante la aplicación de constructores a ellos. Los Objetos más simples son objetos como: Integer, Carácter, String de Bytes de cualquier longitud, booleanos ó punto flotante y algunos pueden ser de tipo atómico.
Hay varios constructores de objetos complejos como son: Listas y arreglos.
Por ejemplo: El juego mínimo de constructores que el sistema debe tener son una lista y un Arreglo.
Las listas y arreglos son importantes porque, pueden capturar ordenes las cuales ocurren en el mundo real y también se pueden levantar en muchas especificaciones científicas donde las necesidades de la gente son matrices, series de tiempo de información ó datos. El objeto de constructores debe ser ortogonal cualquier constructor debe ser aplicado a cualquier objeto.

Identidad de Objetos: Un modelo significa en un modelo una identidad de objeto. El objeto tiene una existencia la cual es independiente de su valor, esto es dos nociones de equivalencia del objeto. Dos objetos pueden ser idénticos, que tengan el mismo objeto ó pueden ser iguales, que tengan el mismo valor; este tiene dos implicaciones una es la compartición del objeto y la otra es la actualización del objeto.

Compartición de Objetos: Es un modelo basado en la identidad de dos objetos contener ó compartir un componente la representación pictórica de un objeto complejo es una gráfica mientras que están limitadas en un árbol sin identidad de objeto.


diseño de bases de datos OO por transformación EER-OO

Monografias.com

SGBDOO (Sistema Gestor de Base de Datos Orientada a Objetos)


viernes, 23 de septiembre de 2011

Jerarquías de tipos, de clases y herencia.

Jerarquía
La jerarquía es una propiedad que permite una ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: estructura de clases y estructura de objetos.
Clases:   
Las clases en un sistema orientado a objetos se representan en forma jerárquica como en el diagrama anterior, así que las propiedades o características del elemento persona las contendrán (heredaran) los elementos alumno y maestro.
Decimos que tanto la entidad Alumno y maestro son subclases de la clase persona este concepto es similar al utilizado en la de especialización (la relación ISA) del modelo E-R.
Se pueden crear muchas agrupaciones (clases) para simplificar un modelo así que una jerarquía (en forma gráfica) puede quedar muy extensa, en estos casos tenemos que tener bien delimitados los elementos que intervienen en una clase y aquellos objetos que las heredan.

HERENCIA
La herencia se define como el mecanismo mediante el cual se utiliza la definición de una clase llamada “padre”, para definir una nueva clase llamada “hija” que puede heredar sus atributos y operaciones.
A las clases “hijo” también se les conoce como subclases, y a las clases “padre” como superclases. La relación de herencia entre clases genera lo que se llama jerarquía de clases.
Hablamos de herencia de tipo cuando la subclase hereda la interfaz de una superclase; es decir, los atributos y las operaciones. Hablamos de herencia estructural cuando la subclase hereda la implementación de la superclase; es decir, las variables de instancia y los métodos.
La herencia de tipo define relaciones es-un entre clases, donde la clase “hijo” tiene todas las propiedades del “padre”, pero el “padre” no tiene todas las propiedades del “hijo”.

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,}, …


Uso de las categorías y la categorización


Categorización
Una categoría es una subclase obtenida de la modelización de una UNICA relación
ES-UN con más de una superclase, donde las superclases representan diferentes conjuntos
de entidades.
Ej: En una BD que registre vehículos (considerando como tal únicamente coches y camiones), un propietario puede ser una persona, un banco o una compañía. Se define una categoría PROPIETARIOS como una subclase de la UNION de PERSONAS, BANCOS y COMPAÑIAS. VEHÍCULOS REGISTRADOS es una subclase de la UNION de COCHES y CAMIONES.

Modelado de datos con especialización y generalización

Generalización.La generalización consiste en identificar todos aquellos atributos iguales de un conjunto de entidades para formar una entidad(es) global(es) con dichos atributos semejantes, dicha entidad(es) global(es) quedara a un nivel más alto al de las entidades origen.

Donde:
    Se tiene las entidades Cta_Ahorro y Cta_Cheques, ambas tienen los atributos semejantes de No_Cta y Saldo, aunque además de estos dos atributos, Cta_Ahorro tiene el atributo Tasa_Interes y Cta_Cheques el atributo Saldo_Deudor. De todos estos atributos podemos juntar (generalizar) No_Cta y Saldo que son iguales en ambas entidades.
  
Podemos leer esta gráfica como: La entidad Cta_Ahorro hereda de la entidad CUENTA los atributos No_Cta y saldo, además del atributo de TasaInteres, de forma semejante Cta_cheque tiene los atributos de No_Cta, Saldo y SaldoDeudor.

Como podemos observar la Generalización trata de eliminar la redundancia (repetición) de atributos, al englobar los atributos semejantes. La entidad(es) de bajo nivel cuentan (heredan) todos los atributos correspondientes.

Especialización
En un diagrama E-R tanto la generalización como la especialización se representan a través de un triángulo ES-UN (ISA). La generalización se distingue de la especialización mediante arcos dobles entre el triángulo y los subtipos de entidades.