Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Modelo Entidad Relación y Análisis Orientado a Objetos

No description
by

Karina Parra

on 3 June 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Modelo Entidad Relación y Análisis Orientado a Objetos

Modelo Entidad Relación
Modelo Entidad Relación y Análisis Orientado a Objetos

Análisis Orientado a Objetos
HISTORIA
Propuesto en 1976-1977 por Peter P. Chen. Pero no se considera la existencia de único modelo ya que muchos autores han realizado aportaciones al mismo a lo largo de sus investigaciones. El modelo permite representar el esquema de una base de datos de manera gráfica, al describir la información como entidades, relaciones y atributos.
DEFINICIONES
Modelos de datos: Un modelo de datos es una colección de herramientas conceptuales para describir datos, sus relaciones, semántica y restricciones de consistencia

Modelo conceptual: Una de las maneras de crear un modelo conceptual es usando el diagrama ER.

Entidades y relaciones: Las entidades representan agrupaciones de objetos del mundo real que son relevantes al sistema de información. Una entidad Representa una colección de objetos (cosas) del mundo real, los cuales se desean modelar y emplear para almacenar información.

Atributo: Se define como cada una de las propiedades de una entidad o relación. Cada atributo tiene un nombre y todos los posibles valores que puede tener. Dentro de una entidad tiene que haber un atributo principal que identifica a la entidad y su valor tiene que ser único al cual se le denomina clave. La clave debe identificar únicamente a un registro. A veces, se puede utilizar dos o más atributo juntos para formar la clave. Tale claves se conocen como claves compuestas.

MODELO ENTIDAD RELACIÓN

El propósito principal de la identificación de entidades es generar un diagrama que muestre la naturaleza de las relaciones significativas que existen entre las entidades. Es decir, el diagrama será un representante del mundo real y se denomina Diagrama entidad- Relación (ER).

¿Por qué se utiliza el MER?

Un Modelo ER es una representación gráfica del sistema, y es un modelo de dato conceptual de alto nivel.
Un modelo ER también soporta la percepción de los datos por parte del usuario y es independiente de la plataforma particular del DBMS y del hardware.
Modelar un Diagrama ER es una buena ayuda para diseñar Base de Datos.

CARACTERÍSTICAS
 Una base de datos relacional se compone de varias tablas o relaciones.
No pueden existir dos tablas con el mismo nombre ni registro. Cada tabla es a su vez un conjunto de registros (filas y columnas).
La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas).
Las claves primarias son la clave principal de un registro dentro de una tabla y éstas deben cumplir con la integridad de datos.
Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de éstas se hacen las relaciones.

VENTAJAS
Provee herramientas que garantizan evitar la duplicidad de registros.
Garantiza la integridad referencial, así, al eliminar un registro elimina todos los registros relacionados dependientes.
 Favorece la normalización por ser más comprensible y aplicable.

DESVENTAJAS
Presentan deficiencias con datos gráficos, multimedia, CAD y sistemas de información geográfica.
No se manipulan de forma manejable los bloques de texto como tipo de dato.
Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer las necesidades de las aplicaciones anteriores y así, complementar pero no sustituir a las bases de datos relacionales.

SIMBOLOGÍA
Entidades: Un tipo de objeto es una entidad, representada por una caja rectangular
Relaciones: Las entidades son conectadas con otras entidades por relaciones. Una relación representa un conjunto de conexiones entre los objetos.
Cardinalidad: La cardinalidad especifica si una entidad esta relacionada con una o más instancias de otra entidad en una misma relación- La relación entre dos entidades se puede clasificar en tres categorías las cuales se explican mediante los siguientes ejemplos.
 Relación Uno-a-Uno (1:1)
 Relación Uno-a-Muchos (1:M)
 Relación Muchos-a-Muchos(M:N)
ESTRUCTURACIÓN
Paso 1: Identificar las Entidades: Lea las especificaciones de requerimiento cuidadosamente y enumere todos los tipos de entidad potenciales. Estos son los objetos de interés en el sistema.
Paso 2: Eliminar las entidades duplicadas: Asegúrese de que dos entidades sean realmente dos tipos de entidad separadas. Recuerde no incluir al propio sistema como tipo de entidad. Por ejemplo cuando modela un sistema de una oficina, los tipos de entidades pueden ser los empleados, los puestos de trabajos, y otro. No debe haber un tipo de entidad “oficina” porque la oficina es el sistema.
Paso 3: Enumerar los atributos de cada entidad: Verificar si los tipos de entidades son realmente necesarios, o si son solo atributos de otro tipo de entidad.
 Paso 4: Marcar las claves primarias
 Paso 5: Definir las relaciones
 Paso 6: Examinar cada tipo de entidad para ver como se relacionan con otras entidades.
 Paso 7: Describir la cardinalidad de las relaciones
 Paso 8: Eliminar las relaciones redundante: Modelar un Diagrama ER es un proceso iterativo, así que implicara tener que dibujar varias versiones y refinar cada una hasta que se evolucione un producto final.

SOFTWARE PARA EL DISEÑO
DEL MER
 DB Designer Fork.
 MySQL Workbench .
 DDT (Database Design Tool).
 Open System Architect.
 PG Designer .
 Power*Architect Data modeling tool.

PROGRAMACIÓN ORIENTADA A OBJETOS
Actualmente una de las áreas más candentes en la industria y en el ámbito académico es la orientación a objetos. La Programación Orientada a Objetos (POO u OOP según sus siglas en ingles) es un paradigma de programación que se popularizó a principios de la década de 1990 y que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora.
OBJETO
Un objeto es una abstracción de algún hecho o cosa del mundo real que tiene atributos que representan sus características o propiedades y métodos que representan su comportamiento o acciones que realizan. Todas las propiedades y métodos comunes a los objetos se encapsulan o se agrupan en clases. Una clase es una plantilla o un prototipo para crear objetos, por eso se dice que los objetos son instancias de clases. Lenguaje de programación: C++, Java, C#, VB.Net, entre otros.
Un objeto es una instancia a una clase. Los conceptos de clase y objetos son análogos a los de tipo de datos y variable, es decir, definida una clase podemos crear objetos de esa clase, igual que disponiendo de un determinado tipo de dato (por ejemplo el tipo entero), podemos definir variables de dicho tipo: int a,b;

EJEMPLO
Clase Carro: 4 ruedas, 1 volante, 5 asientos, acelerar, frenar, girar
Como podemos ver, esta clase no sólo describe qué cosas posee un carro, sino que también describe qué acciones puede realizar un carro (acelerar, frenar y girar). Es decir, una clase define los atributos y las acciones (o métodos) que puede realizar un objeto de la clase.
Además podemos comprobar que un objeto puede estar formado por otros objetos, por ejemplo el carro posee 4 objetos de la clase Rueda.
En el mundo real los objetos se relacionan entre sí, un objeto puede pedir a otro que realice alguna acción por él. En la vida real una persona acelera, pero lo hace pidiéndoselo al carro, que es quien realmente sabe acelerar, no la persona. El hecho de que un objeto llame a un método de otro objeto, se indica diciendo que el primer objeto ha enviado un mensaje al segundo objeto, el nombre del mensaje es el nombre de la función llamada.

VENTAJAS
DESVENTAJAS
La primera ventaja del concepto de objetos es que todo el código que tiene algo que ver con las naves espaciales se encuentran en un solo lugar. Otra ventaja es que los objetos pueden poseer atributos inherentes de la clase al que pertenecen, por ejemplo, naves espaciales y asteroides podrían tener tanto una posición XY porque todos los objetos que pertenecen a la clase de los objetos en movimiento tiene una posición XY. Escribir código es más fácil porque se puede conceptualizar como algo que le sucede a un objeto. Otra ventaja es que la POO hace que los programas grandes sean más manejables. Si todas las ventanas pertenecen a una jerarquía de clases de ventanas y todo el código se refiere a una ventana particular, es con ese objeto de ventana, todas las manipulaciones de ventana se pueden escribir como una transferencia de mensajes sencillos.
No todos los programas pueden ser modelados con exactitud por el modelo de objetos. Si lo que deseas es leer algunos datos, hacer algo simple y escribir de nuevo, no tienes necesidad de definir clases y objetos. Sin embargo, en algunos lenguajes de POO, puede que tengas que realizar este paso extra. Otra desventaja es que si se fuerza el lenguaje en el concepto de programación orientada a objetos, se pierden algunas de las características de los lenguajes útiles, como los "lenguajes funcionales". Otra desventaja el que concepto que un programador tiene de lo que constituye un objeto abstracto puede no coincidir con la visión de otro programador. Los objetos a menudo requieren una extensa documentación.
CLASES
PROPIEDADES
Las propiedades o atributos son las características de los objetos. Todo objeto puede tener cierto número de propiedades, cada una de las cuales tendrá, a su vez, uno o varios valores. En OOP, las propiedades corresponden a las clásicas "variables" de la programación estructurada. Son, por lo tanto, datos encapsulados dentro del objeto, junto con los métodos (programas) y las relaciones (punteros a otros objetos). Las propiedades de un objeto pueden tener un valor único o pueden contener un conjunto de valores más o menos estructurados (matrices, vectores, listas, etc.). Además, los valores pueden ser de cualquier tipo (numérico, alfabético, etc.) si el sistema de programación lo permite.
Las clases son tipos de datos definidos por el usuario. Las clases, en la tecnología orientada a objetos, representan la mayor parte de las veces a las entidades del mundo real. Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase.
Una clase no es más que una plantilla para la creación de objetos. Cuando se crea un objeto (instanciación) se ha de especificar de qué clase es el objeto instanciado, para que el compilador comprenda las características del objeto.

CARACTERÍSTICAS
POLIMORFISMO
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en “tiempo de ejecución”, esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en “tiempo de compilación”) de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
ABSTRACCIÓN
La abstracción de datos es fundamental para el pensamiento orientado a objetos. La abstracción permite a una persona concentrarse en los aspectos esenciales del problema a la mano, mientras ignora detalles que tienden a distraer. El mundo real es complejo y presenta demasiados elementos que deben manejarse simultáneamente. Se necesita superar la complejidad para poder resolver los problemas. Abstracción se define como “una visión del problema que extrae la información esencial relevante a un propósito particular e ignora el resto de la información.”
ENCAPSULAMIENTO
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema.

El encapsulamiento permite a los objetos elegir qué información es publicada y qué información es ocultada al resto de los objetos. Para ello los objetos suelen presentar sus métodos como interfaces públicas y sus atributos como datos privados e inaccesibles desde otros objetos.

HERENCIA
Herencia, quiere que la clase X comparte la estructura y comportamiento de la clase Y. en este contexto, la clase Y se denomina la superclase y la clase X se denomina la subclase. A veces se referirá a la clase Y como el padre y a la clase x como su hija.

La subclase no solo necesita heredar la estructura y comportamiento tal como se encuentran en la superclase. Puede, y a veces lo hace, redefinir el comportamiento proporcionado por el padre. De modo alternativo la subclase puede también aumentar los servicios proporcionados por la superclase. La superclase también se denomina la clase base mientras que la subclase también es referida como la clase derivada.

HERENCIA
Una propiedad crucial de las entidades de nivel más alto y más bajo creadas mediante especialización y generalización es la herencia de atributos. Los atributos de los conjuntos de entidades de nivel más alto se dice que son heredados por los conjuntos de entidades de nivel más bajo. Por ejemplo, cliente y empleado heredan los atributos de persona. Así, cliente se describe mediante sus atributos nombre, calle y ciudad y adicionalmente por el atributo id-cliente; empleado se describe mediante sus atributos nombre, calle y ciudad y adicionalmente por los atributos id-empleado y sueldo.

Un conjunto de entidades de nivel más bajo (o subclase) también hereda la participación en los conjuntos de relaciones en los que su entidad de nivel más alto (o superclase) participa. La herencia de atributos se aplica en todas las capas de los conjuntos de entidades de nivel más bajo.
Full transcript