universidad autÓnoma de baja california sur Área de ...biblio.uabcs.mx/tesis/te3623.pdf · para...

91
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE CONOCIMIENTOS DE CIENCIAS DEL MAR DEPARTAMENTO ACADÉMICO DE SISTEMAS COMPUTACIONALES. TESIS. Entorno para el diseño de tablas en el modelo entidad-relación. QUE COMO REQUISITO PARA OBTENER EL TÍTULO DE Licenciatura en Computación. PRESENTA: Valeria Alvarez Aviles. DIRECTOR (A): M.G.T.I. MIRIAM MARAY CARREÑO LEÓN. LA PAZ B.C.S Noviembre 2016

Upload: lamnhi

Post on 03-Oct-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR

ÁREA DE CONOCIMIENTOS DE CIENCIAS DEL MAR

DEPARTAMENTO ACADÉMICO DE SISTEMAS

COMPUTACIONALES.

TESIS.

Entorno para el diseño de tablas en el modelo entidad-relación.

QUE COMO REQUISITO PARA OBTENER EL TÍTULO DE

Licenciatura en Computación.

PRESENTA:

Valeria Alvarez Aviles.

DIRECTOR (A):

M.G.T.I. MIRIAM MARAY CARREÑO LEÓN.

LA PAZ B.C.S Noviembre 2016

AGRADECIMIENTOS

A mis padres por darme la vida y su incondicional apoyo en todos mis años de

estudiante y creer siempre en mí, en mi conocimiento y confiando en lo que hacía.

A la vida por poner en mi camino a personas maravillosas que siempre estuvieron a

mi lado apoyándome sin pedir nada a cambio, animándome para poder terminar esta

meta que todo universitario desea.

Maestra Miriam Carreño León, directora de mi tesis, que desde un principio me mostro

su apoyo y paciencia para poder concluir este trabajo con éxito.

Gracias.

CONTENIDO

CAPITULO 1. INTRODUCCIÓN

1.1 Introducción………………………………………………………………….6

1.2 Antecedentes………………………………………………………………..8

1.3 Descripción del problema…………………………………………………..9

1.4 Propuesta de solución……………………………………………………. 10

1.5 Objetivo general…………………………………………………………….10

1.6 Beneficios y alcances……………………………………………………...10

CAPITULO 2. MARCO TEORICO

2.1 Base de datos……………………………………………………………..12

2.2 Manejadores de bases de datos………………………………………...15

2.3 Base de datos relacionales (Modelo relacional)……………………….17

2.4 Modelo entidad relación…………………………………………………..18

2.5 Diagrama entidad relación………………………………………………..20

2.6 Diseño de base de datos en el modelo entidad relación……………...22

2.7 Arquitectura de una base de datos………………………………………23

2.8 Lenguajes de base de datos……………………………………………..24

2.9 Programación………………………………………………………………25

2.10 Lenguajes de programación…………………………………………...27

2.11 Tipos de lenguajes de programación…………………………………30

2.12 Estructuras de datos……………………………………………………32

2.13 Software de aplicación…………………………………………………33

2.14 Entornos de desarrollo………………………………………………..34

2.15 Diseño de software……………………………………………………35

CAPITULO 3: ANALISIS Y DESARROLLO DE LA HERRAMIENTA PARA EL

DISEÑO DE TABLAS MODELO ENTIDAD RELACION.

3.1 Análisis…………………………………………………………………….43

3.2 Desarrollo…………………………………………………………………46

3.3 Interfaz gráfica……………………………………………………………47

3.4 Descripción de la aplicación…………………………………………….68

CAPITULO 4: CONCLUSIONES Y RESULTADOS.

Conclusiones………………………………………………………………….85

Beneficios y ventajas………………………………………………………...86

Bibliografía…………………………………………………………………….87

Índice de figuras………………………………………………………………90

CAPÍTULO 1

INTRODUCCIÓN

6

1.1 Introducción.

Desde hace algunos años atrás, las bases de datos han sido un gran apoyo en la

programación de sistemas y aplicaciones, ya que permiten almacenar grandes

cantidades de información, sin embargo, desarrollar una base de datos puede ser un

problema en el diseño de las tablas de bases de datos.

Por esto se desarrollaron estructuras de esquemas para modelar fácilmente una base

de datos. En la actualidad existen diversos modelos para la representación de tablas,

unas de las más utilizadas son el modelo entidad relación y el modelo relacional.

Con estos modelos el desarrollo de una base de datos puede resultar relativamente

fácil, pero para ello es necesario contar con conocimiento sobre el tema, el

funcionamiento y principalmente definir las especificaciones que se plantean, para así

desarrollar un modelo conceptual con los datos de acuerdo a los requisitos.

El modelo entidad relación es el primer paso para el desarrollo de bases de datos, la

estructura del diseño forma parte importante en el desarrollo del sistema, por esto es

de suma importancia que el diseñador de la base de datos adquiera experiencia y

dominio completo en el uso de este modelo.

Existen varias herramientas de diseños de bases de datos que se basan en este

modelo, ya que representa de forma gráfica y estructural los datos.

Para esto se ha desarrollado una herramienta con la que es posible diseñar una base

de datos utilizando el modelo entidad relación. Se eligió este modelo ER, ya que

estructura visualmente los datos de una base y nos muestra gráficamente como se ve

nuestra información.

Así también con la herramienta para el diseño de tablas en el modelo entidad relación

se podrán modificar los datos o atributos que ya se le hayan ingresado y podrá ser

notorio en el momento.

7

Esta herramienta cuenta con un entorno grafico no cargado de tanta información.

Cuenta con lo necesario para que el diseñador contemple el contenido de las bases

de datos sin dificultad alguna.

8

1.2 Antecedentes.

El termino de bases de datos rápidamente se relaciona con las bases de datos

electrónicas que se conocen hoy en día, pero esto va más allá de lo que se conoce

hoy en día.

Las personas han almacenado información, antes de la existencia de la electricidad

todo conocimiento o datos que se quería guardar se escribía y se plasmaba en papel

ya sea un hecho científico o histórico, quedaba en una hoja de papel para no ser

borrado u olvidado. Así que se puede decir que el libro fue una de las primera base de

datos.

Para almacenar toda esta información se crearon bibliotecas y así poder consultar

datos de interés.

Después que la tecnología fue avanzando, se crearon nuevos métodos para el

almacenamiento de información, para que sea más fácil y accesible. En 1884 se utilizó

la máquina perforadora de Herman, la cual guardaba información en forma de

perforaciones en tarjetas utilizando código binario. Después en 1950 se utilizarían las

cintas magnéticas también para el almacenamiento de información.

Con forme fueron avanzando las computadoras, los métodos de almacenamiento

mejoraron hasta llegar a los modelos de bases de datos, que existen hoy en día. Las

bases de datos se han hecho muy indispensables para las personas. Han llegado a

convertirse en una herramienta que es utilizada tanto por informáticos, como por

personas ajenas al área.

Las bases de datos son utilizadas como solución o como ayuda a la solución de la

mayor parte de los problemas que son resueltos con la ayuda del software.

9

1.3 Descripción del problema.

En la actualidad existe una gran variedad de herramientas para el diseño de tablas de

base de datos, pero suelen ser muy costosas, ya que se tiene que pagar una licencia

de los programas y pueden tener un grado elevado de dificultad para los usuarios.

Existen pocas herramientas que estén enfocadas en personas que apenas comienzan

a entender los fundamentos de las bases de datos.

Es necesario de una herramienta de diseño de base de datos, en el que los usuarios

y alumnos que cursan las materias de base de datos puedan desarrollar una mejor

habilidad en la estructura de las tablas de base de datos.

Algunas de las herramientas para el diseño de base de datos en el que se puede

utilizar el modelo entidad relación son las siguientes.

DIA: Es una herramienta CASE (Herramienta Asistida por Computadora), la

cual ayuda a dibujar diagramas tales como; diagramas entidad relación,

diagramas UML, organigramas, diagramas de red, entre otros. Permite abrir y

exportar los dibujos realizados en los formatos más conocidos. Es fácil de usar,

útil y es compatible con otros sistemas operativos (Windows, Linux, Mac).

(Villavicencio, 2014)

ALTOVA: Es una herramienta la cual consta de varias utilidades para el

desarrollo de software, consta con una gran gana de productos tales como,

herramientas para desarrollo de aplicaciones XML, SQL y UML, herramientas

para bases de datos, servidores. (Inc, 2016)

ER Master: Es un plugin de eclipse y para los que lo usan en proyectos web,

en el cual se realizan diagramas ER, se conecta con sistemas manejador de

bases de datos. (Serrano, 2016)

DB Designer (Fork): Este programa permite generar el diagrama para después

poder exportarlos a un sistema manejador de bases de datos.

10

1.4 Propuesta de solución.

Se propone el desarrollo de la herramienta de diseño de bases de datos ya que es un

programa, el cual ayudara a los usuarios a la fácil creación de tablas de base de datos

en un entorno gráfico y ayudara a comprender el diseño de las bases de datos de

manera interactiva.

1.5 Objetivo general.

Diseñar una herramienta que ayude al diseño de tablas de base de datos utilizando el

modelo de entidad relación, creando en los usuarios habilidades prácticas para el buen

diseño de una base de datos.

1.6 Beneficios y alcances.

Beneficios.

Se contará con una herramienta de trabajo para la enseñanza y aprendizaje, en la

estructuración de tablas de bases de datos, utilizando el modelo entidad-relación, en

un modo gráfico.

Alcances.

En un futuro podría ser integrado en otros sistemas o proyectos de enseñanza en las

bases de datos.

Se podría proponer la conexión a SQL.

11

CAPÍTULO 2 MARCO TEÓRICO

12

2.1 Base de datos.

El término bases de datos fue escuchado por primera vez en un simposio celebrado

en California en 1963. Las bases de datos remontan ya desde hace varios años atrás

donde ya existían almacenes con innumerables clases de registros e información, por

lo cual la búsqueda de información o algún dato era sumamente lenta y poco eficaz.

El uso de las bases de datos se desarrolló a partir de la necesidad de almacenar

grandes cantidades de información, por eso desde la aparición de las computadoras,

el concepto de bases de datos siempre ha estado ligado con la informática. Una base

de datos se entiende como, “una colección de datos interrelacionados almacenados

en una computadora de manera más o menos permanente”. (Luque, 2002)

Por otra parte, se desarrollaron sistemas manejadores de bases de datos, el cual es

un tipo de software dedicado a servir de interfaz entre la base de datos, el usuario; o

lo que es lo mismo, una agrupación de programas que sirven para definir, construir y

manipular una base de datos, permitiendo así almacenar y posteriormente acceder a

los datos de forma rápida y estructurada.

Para que se denomine a una base de datos como tal, debe satisfacer una serie de

propiedades, las cuales fueron incorporándose a estos sistemas a medida que el

software para la administración de la información que se desarrollo fue siendo más

eficaz. Hay que tener en cuenta, hoy en día, no todas las bases de datos satisfacen

estas propiedades ideales, por lo que el analista de sistemas se ve obligado a una

harmonización de las cualidades de una base de datos, a menudo contrapuestas.

Los procedimientos y estructuras para el almacenamiento y mantenimiento de la

información correspondientes a un determinado dominio de un problema han

evolucionado a medida que lo ha hecho la tecnología. Inicialmente los dispositivos de

almacenamiento sólo permitían un acceso serial a la información, por lo que las

estructuras de datos, mediante las que se podían representar la información debían

ser muy simples (archivos con organización de apilo o secuenciales) fuera en los

13

procedimientos de acceso a esta información requerían de un alto tiempo de cómputo

puesto que eran puramente seriales. Además, los procedimientos encargados del

mantenimiento de la información eran totalmente dependientes del hardware utilizado

para ello, lo que suponía una continua modificación del software encargado de esta

tarea cuando el hardware cambiaba.

La información que forma parte de una base de datos puede organizarse de acuerdo

a sus características de la siguiente manera: (Luque, 2002)

Versatilidad para representar la información: Se refiere a que la información

alberque el mayor conjunto de información referente al programa que se desea

solucionar.

Desempeño: Se refiere a que el tiempo de respuesta debe ser adecuado,

permitiendo el acceso a múltiple información.

Mínima redundancia: Una de las principales razones del surgimiento de las

bases de datos fue evitar redundancia a la información, es decir, que no exista

información repetida e innecesaria.

Capacidad de acceso: Las bases de datos deben permitir a los usuarios

obtener información en un tiempo aceptable sin restricciones grabes en cuanto

a los datos controlados.

Simplicidad: Las bases de datos deben de estar representadas de manera

simple de tal manera que permitan verificar la representación del problema.

Integridad: Esta hace referencia a la veracidad de los datos almacenados y

garantizar la integridad de los mismos ante posibles fallos.

14

Seguridad y privacidad: Esta hace referencia a la capacidad de proteger los

datos contra pérdida total o parcial por fallos del sistema o por accesos

accidentales o intencionados a los mismos.

Afinación: Esta hace referencia a la organización física de la información la

cual debe estar ordenada de tal forma que se logre un buen desempeño al

momento de consultarlo.

15

2.2 Manejadores de bases de datos.

El propósito principal de los sistemas manejadores de base de datos es el de manejar

de manera clara y ordenada conjuntos de datos de los cuales se convertirán en

información relevante para una organización.

Las principales funciones de un manejador de base de datos son:

Abstracción: Permite al usuario tratar con los datos en términos abstractos, sin

que deban conocer la forma en la que se almacenan en la computadora.

Seguridad: Controla la creación de usuarios y los niveles de acceso.

Integridad: Permite que la información de la base de datos sea consistente, es

decir, confiable.

Reducción de redundancia: Evita el almacenamiento innecesario de la misma

información en varios lugares.

Compartición de datos: Permite el acceso concurrente de varios usuarios y

programas de aplicación a la base de datos.

Protección contra fallas y recuperación: Protege a la base de datos y permite

su recuperación en caso de una falla del software o el hardware.

Algunos manejadores de bases de datos son:

Microsoft SQL Server.

Es un sistema para la gestión de bases de datos, desarrollado por Microsoft

basado en el modelo relacional.

Su principal función es almacenar y consultar datos solicitados por otras

aplicaciones, sin importar si están en la misma computadora, conectadas a una

red local o a través de internet.

MySQL.

Está disponible para la mayoría de las plataformas de sistemas operativos. Su

bajo consumo lo hacen apto para ser ejecutado en una máquina con escasos

16

recursos sin ningún problema. El conjunto de aplicaciones Apache-PHP-MySQL

es uno de los más utilizados en aplicaciones en ambiente Web.

Oracle.

Diseñado para trabajar con enormes bases de datos (más de 20 megas), es el

motor de base de datos relacional más usado a nivel mundial.

PostgreSQL.

Funciona muy bien con grandes cantidades de datos y una alta concurrencia de

usuarios accediendo a la vez a el sistema. Soporta distintos tipos de datos:

además del soporte para los tipos base, también soporta datos de tipo fecha,

monetarios, elementos gráficos, datos sobre redes (MAC, IP ...), cadenas de

bits, etc. También permite la creación de tipos propios.

Incluye herencia entre tablas, por lo que a este gestor de bases de datos se le

incluye entre los gestores objeto-relacionales.

SQLite.

Es portable, multiplataforma y no necesita instalador, cuenta con una interfaz

intuitiva comúnmente utilizada en dispositivos móviles, como Android.

17

2.3 Bases de datos relacionales (Modelo relacional).

Una base de datos relacional es una base de datos organizada según el modelo

relacional. Este modelo fue presentado por Edgar F. Codd en 1970. En una base de

datos relacional, la información se organiza en tablas.

Este modelo se distingue por que los datos son representados en tablas.

Para ser más claros, el modelo relacional se nombra así por que almacenan los datos

en forma de relaciones o lista de datos, pero habitualmente le conocemos como

“tablas”.

No se debe de confundir que el nombre “modelo relacional” es porque las tablas se

relacionan entre sí. (Campusmvp, 2015)

FIGURA 1: REPRESENTACIÓN DEL MODELO RELACIONAL

18

2.4 Modelo entidad relación.

El modelo entidad relación es un modelo de alto nivel, el cual permite esquematizar

una base de datos, este modelo es uno de las más conocidas para el diseño de tablas

de bases de datos.

Peter Chen, introdujo esta idea de diagramas de entidad relación la cual la mayoría de

los libros de texto de bases de datos utilizan este modelo. No existe un único estándar

para la creación de modelo entidad relación, sino diferentes tipos de modelos, de los

más importantes esta Chen y Barker.

Richard Barker extendió el modelo y lo introdujo como parte de la metodología CASE

(Computer Aided System Engineering) de Oracle.

Los diagramas de esquemas se formalizaron en 1960, por Charles Bachman. El utilizo

rectángulos para indicar los tipos y flechas para dirigirlas desde un tipo de registro a

otro para indicar una relación.

Con el problema del diseño de una base de datos nace el modelo entidad relación,

propuesto por Peter P. Chen, que lo describe como una “vista unificada de los datos”

[4], centrándose en la estructura lógica y abstracta de los datos.

Peter Chen un doctor de nacionalidad china, licenciado en ciencias de la computación

y matemáticas aplicada de la universidad de Taiwán, desarrollo este modelo de datos

relacional, llamando así modelo de entidad-relación.

Este modelo es una de las mejores metodologías para el diseño de base de datos

hasta el momento.

Peter Chen, define el modelo relacional como:

"El modelo entidad relación puede ser usado como una base para una vista unificada

de los datos, adoptando el enfoque más natural del mundo real que consiste en

entidades e interrelaciones”. (Luque, 2002)

Su artículo es uno de los más citados, ya que expone que, para obtener buenos

resultados de una base de datos, es necesario realizar una estructura de datos

eficiente, se desarrolló el concepto de entidad que es todo aquello abstracto el cual se

obtiene información y que al mismo tiempo esta entidad puede relacionarse con otras

entidades.

19

Edgar Frank Codd, un científico inglés conocido por sus aportaciones a la teoría de las

bases de datos relacionales, defino el modelo relacional a la par que sus reglas para

el sistema de datos relacionales, en su artículo "Un modelo relacional de datos para

grandes bancos de datos compartidos”. En 1970 desarrollo un modelo que da al

usuario una manera más fácil de utilizar y comprender la estructura de las bases de

datos; un modelo el cual su objetivo es la flexibilidad y sencillez.

Edgar Codd, describe en su artículo la propuesta de su nuevo modelo de datos basado

en la teoría de las relaciones los objetivos de este modelo. Comenta, que para el ser

humano el ver las tablas en un modo grafico es mucho más fácil y amigable la

visualización de los datos, al mismo tiempo al desarrollar una buena base de datos

incrementa la productividad de los programadores, y al final el beneficio será para el

usuario final.

Desde que el modelo entidad relación fue propuesto, ha tenido una gran difusión y ha

desarrollado un gran interés en el área de informática que se dedica en las bases de

datos.

El diseño de base de datos puede ser algo confuso y desordenado al estructurar los

datos, por lo cual ocasiona retraso en el diseño. Un buen diseño de base de datos es

la principal llave para iniciar un buen desarrollo de un sistema.

El modelo entidad relación, como se ha descrito por los autores anteriormente, es un

modelo de datos basado en una percepción del mundo real que consiste en un

conjunto de objetos básicos llamados entidades y relaciones entre estos objetos,

implementándose en una forma gráfica a través de diagramas entidad relación.

La herramienta de diseño de tablas de base de datos tiene el objetivo de desarrollar

interés en el usuario la capacidad de estructurar un diseño de base de datos, siendo

esta herramienta útil y de agrado, ya que el usuario podrá desarrollarlo en un entorno

gráfico, se podrá concentrarse en la estructura de los datos y en los cambios

necesarios para no perder tiempo escribiendo los comando en SQL.

20

2.5 Diagrama entidad relación.

La estructura lógica general de una base de datos se puede expresar gráficamente

mediante un diagrama ER, que consta de los siguientes componentes: (Luque, 2002)

Rectángulos: representan conjuntos de entidades.

Elipses: representan atributos.

Rombos: representan relaciones entre conjuntos de entidades.

Líneas: unen los atributos con los conjuntos de entidades y los conjuntos de

entidades con las relaciones.

Estructura de un diagrama, modelo relacional.

FIGURA 2: REPRESENTACIÓN DEL MODELO ENTIDAD RELACIÓN

21

En la figura 2, es la estructura básica del programa para el diseño de tablas de base

de datos

Los diagramas entidad relación, representan de manera gráfica la terminología de

entidades, que son parte importante que se presentan en el problema a resolver. En

el diagrama se distinguen fácilmente las características que son parte fundamentales

para la entidad definiendo sus características particulares denominadas atributos.

El diagrama entidad relación, cada entidad es representada mediante un rectángulo,

cada relación mediante un rombo y cada atributo mediante una elipse. Las líneas

conectan las entidades con las relaciones y de igual manera las entidades con los

atributos.

En la actualidad existen una gran variedad de herramientas que pueden ser de gran

utilidad para el desarrollo de base de datos, pero en realidad no se utiliza generalmente

todas las funciones de dichas herramientas.

Para el usuario que ignora las bases de datos y sobre todo el diseño de las mismas,

puede ser algo realmente complejo relacionarse con un programa del cual no utilizara

muy a menudo y suelen ser muy pesados.

Por eso, esta herramienta que es un programa no tanto complicado y que el usuario

está muy relacionado al momento de manejarlo, ya que no esta tan cargado de

información, solo cuenta con lo necesario para el diseño y estructura de las tablas.

22

2.6 Diseño de bases de datos con el modelo entidad relación.

El proceso de diseño de una base de datos consta básicamente de 7 pasos, los cuales

se describen en la figura 3. (Itpn, 2011)

1. Determinar la finalidad de la base de datos: Ayudara a tener una clara visión

de que se requiere para el diseño de la base de datos.

2. Buscar y organizar la información necesaria: Reunir todos los tipos de

información que se requieran registrar en la base de datos como, nombres,

números, cantidades, etc.

3. Convertir los elementos en columnas: Llevar la información a la tabla de base

de datos.

4. Especificar claves principales: Identificar de forma única un registro de la

tabla.

5. Definir relaciones entre tablas: Relacionar las tablas.

6. Ajustar al diseño: Organizar y verificar que los datos estén correctamente y

acomodar la tabla donde se desee.

7. Aplicar las reglas de normalización: Verificar que cada tabla este

correctamente por ejemplo que cada tabla conste de un nombre único, no tener

2 filas iguales en una tabla.

Determinar la

finalidad de la base

de datos.

Determinar la

finalidad de la base

de datos.

Buscar y organizar

la información

necesaria.

Buscar y organizar

la información

necesaria.

Convertir los

elementos en

columnas.

Convertir los

elementos en

columnas.

Especificar claves

principales.

Especificar claves

principales.

Definir relaciones

entre tablas.

Definir relaciones

entre tablas.

Ajustar el diseño.

Ajustar el diseño.

Aplicar las reglas de

normalización.

Aplicar las reglas de

normalización.

FIGURA 3: PROCESO DE DISEÑO PARA UNA BASE DE DATOS

23

2.7 Arquitectura de una base de datos.

En 1975 el grupo de trabajo en sistemas de administración de base de datos ANSI-

SPARC propuso una arquitectura de tres niveles, conocidos como externo, conceptual

e interno.

En el nivel externo corresponden las diferentes vistas parciales que tienen de la base

de datos los diferentes usuarios. En cierto modo, es la parte del modelo conceptual a

la que tienen acceso.

El nivel conceptual se refiere a la representación global de la base de datos, es una

abstracción del mundo real tal como es percibido por los usuarios, un SMBD es un

lenguaje que permite escribir la base de datos en términos de algún modelo de datos.

En el nivel interno es una representación de bajo nivel de la base de datos y está

formado por los archivos, índices y otras estructuras de almacenamiento que facilitan

el acceso a los datos. (Gutuccs, 2011)

FIGURA 4: ARQUITECTURA DE UNA BASE DE DATOS

24

2.8 Lenguaje de bases de datos.

La interacción con una base de datos se realiza a través de cuatro lenguajes: el

lenguaje de definición de datos, el lenguaje de manipulación de datos, el lenguaje de

consulta y el lenguaje de control. El lenguaje estándar en base de datos relaciones es

el SQL (“Structured Query Lenguage”), el cual incluye instrucciones propias del DDL,

DML, QL y CL.

El lenguaje de definición de datos o DDL (“Data Definition Lenguage”) permite

definir los esquemas interno y externo de la base de datos.

El lenguaje de manipulación de datos o DML (“Data Manipulation Lenguage”)

contiene instrucciones para recuperar, insertar, eliminar y actualizar los datos

de la base de datos.

El lenguaje de consulta o QL (“Query Lenguage”) es una parte del DML que

permite recuperar información de la base de datos a través de consultas.

El lenguaje de control o CL (“Control Lenguage”) es que permite la

administración de usuarios y control de niveles acceso.

25

2.9 Programación.

El objetivo de la programación es crear programas o sistemas que cumplan con un

propósito deseado.

Básicamente programar es escribir instrucciones para dar órdenes al programa para

que realice una cierta tarea, de las cuales después serán ejecutados por otro programa

o directamente del hardware de la computadora. (Joyanes, 2008)

En un principio, los primeros lenguajes eran códigos semejantes al código morse,

ingresados manualmente mediante conexión de circuitos. Después se usaron tarjetas

perforadas para automatizar el ingreso del código a Lenguajes de programación.

El nacimiento de los lenguajes de programación se remonta a mediados del siglo XIX,

propuesto por el matemático inglés Charles Babbage, como una forma de comunicarse

con su llamada “máquina analítica”, aunque dicha máquina nunca llegó a construirse

en su época, creó los fundamentos para los lenguajes de programación.

Con la evolución de la tecnología los lenguajes fueron adquiriendo mayor complejidad.

Al inventarse la computadora electrónica moderna, se requirió de un nuevo nivel para

la comunicación con las computadoras, fue así que surgieron los lenguajes de bajo

nivel, con una codificación más fácil de comprender, estos lenguajes llamados

“ensambladores” eran distintos para cada máquina, y en un principio eran de propósito

específicos, es decir sólo se podían programar tareas específicas para las que fueron

desarrolladas dichas máquinas. Esto se volvió un problema para los desarrolladores y

para las empresas, un programa escrito para una máquina sólo funcionaba en dichas

máquinas, dificultando la comercialización del Software. Por lo que pronto surgieron

lenguajes de alto nivel y con ello los “compiladores” e “intérpretes”, estos convierten

un lenguaje de alto nivel a uno de bajo nivel para posteriormente ser ejecutado, con

estos se podían resolver problemas de propósito general y se podían adaptar a

diferentes máquinas.

26

Surgieron entonces muchas propuestas y lenguajes nuevos como Fortran, Pascal,

COBOL, entre otros, pero fue el lenguaje de programación C el que tuvo mayor impacto

creado en 1972 por Dennis M. Ritchie, este lenguaje adquirió gran éxito, ya que con

pocas instrucciones podían realizarse tareas laboriosas, era un lenguaje más natural,

fácil de aprender y muy robusto. El lenguaje de programación C marcó las bases para

muchos de los lenguajes de programación modernos, como son C++, C#, Java, Ruby,

etc. (Bergin, 1996)

La programación ha sido de gran ayuda para la solución de problemas mediante el uso

de la tecnología. En el desarrollo de sistemas y programas que facilitan y mejoran

múltiples tareas.

El programador analiza el problema y propone una solución a través de un lenguaje

de programación, generando un programa o sistema.

Para la solución de problemas muchas veces el programa requiere la conexión con

una base de datos, para ello existen conectores que enlazan el programa con el

manejador de bases de datos, permitiendo al programa realizar consultas para acceder

o modificar información. Permitiendo que el programa sea más útil al momento de

resolver el problema.

27

2.10 Lenguajes de programación.

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el

comportamiento de una máquina, que por lo general es una computadora.

Un lenguaje consiste en un conjunto de reglas sintácticas las cuales definen su

estructura y significado de sus elementos. Estos lenguajes disponen de formas

adecuadas, en forma de texto, para que puedan ser entendidas por personas

Base de datos.

Comúnmente se produce un error al decir que un "lenguaje de programación" y

"lenguaje informático" son lo mismo, pero es cuestión de sinónimos. Los lenguajes

informáticos engloban a los lenguajes de programación y a otras más, por ejemplo,

HTML (lenguaje para el marcado de páginas web). (Joyanes, 2008)

Java.

El lenguaje Java es un lenguaje orientado a objetos. Fue desarrollado por la

compañía Sun Microsystems para usarlo en la creación de páginas web.

La principal característica de Java es que es un lenguaje de compilado e

interpretado, todo programa en Java ha de compilarse y el código que se genera

bytecode es interpretado por una máquina virtual. De este modo se consigue la

independencia de la máquina, el código compilado se ejecuta en máquinas

virtuales que si son dependientes de la plataforma.

Como ya explicado, Java es un lenguaje orientado a objetos de propósito

general, el cual se puede utilizar para construir cualquier tipo de proyecto.

La sintaxis de Java es muy parecida a la de C y C#, por lo tanto, si se tiene

conocimiento de estos dos lenguajes, el aprendizaje de la programación en Java

será de fácil comprensión para un programador que haya realizado programas

en estos lenguajes. (Wang, 2000)

28

C.

El lenguaje de programación C fue creado por Dennis Ritchie entre 1969 y 1973

cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el

diseño del sistema operativo UNIX. C fue creado para poder escribir dicho

sistema operativo en un lenguaje de alto nivel, independiente del hardware

donde se ejecutará.

Contar con un lenguaje de alto nivel permitió el avance de los sistemas

operativos, ya que el mismo código podía ser utilizado en las distintas

plataformas, propiciando la reutilización de código y reduciendo los tiempos de

desarrollo. Así es que los sistemas operativos basados en UNIX, el sistema

BSD, el sistema GNU/Linux y muchos otros fueron desarrollados en C.

Además, con el paso del tiempo se han desarrollado cientos de bibliotecas que

permiten a los programadores de C utilizar el código desarrollado por otros para

la realización de tareas comunes. Esto, a su vez, ha propiciado el desarrollo de

aplicaciones en lenguaje C.

Actualmente es imposible contar la cantidad de aplicaciones y herramientas

desarrolladas en C. (Ceballos, 1993)

C++.

C++ es un lenguaje de programación creado por Bjarne Stroustrup en los

laboratorios de AT&T en 1983. Stroustrup tomó como base el lenguaje de

programación más popular en aquella época el cual era C.

La intención de su creación fue el extender al exitoso lenguaje de programación

C con mecanismos que permitieran la manipulación de objetos. En ese sentido,

desde el punto de vista de los lenguajes orientados a objetos, el C++ es un

lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se

sumó a los otros dos paradigmas que ya estaban admitidos (programación

estructurada y la programación orientada a objetos). Por esto se suele decir que

el C++ es un lenguaje de programación multiparadigma. (Blansahard, 2015)

29

C#.

La pronunciación de este lenguaje es C sharp. Es un lenguaje de

programación orientado a objetos desarrollado y estandarizado por Microsoft.

C# es uno de los lenguajes de programación diseñados para la infraestructura

de lenguaje común.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la

plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros

lenguajes.

El nombre C Sharp fue inspirado por la notación musical, donde '#' (sostenido,

en inglés sharp) indica que la nota (C es la nota do en inglés) es

un semitono más alta, sugiriendo que C# es superior a C/C++. Además, el signo

'#' se compone de cuatro signos '+' pegados.

Aunque C# forma parte de la plataforma .NET, ésta es una API, mientras que

C# es un lenguaje de programación independiente diseñado para generar

programas sobre dicha plataforma. Ya existe un compilador implementado que

provee el marco Mono -DotGNU, el cual genera programas para distintas

plataformas como Windows, Unix,Android, iOS, Windows Phone, Mac

OS y GNU/Linux. (Microsoft, 2015)

30

2.11 Tipos de lenguajes de programación.

Lenguajes compilados.

Todo programa que se desarrolla en un lenguaje de alto nivel tiene que

traducirse a un código que puede leer la computadora. Los programas que

pueden realizar esta operación se llaman compiladores.

La función de un compilador es traducir un programa escrito en un lenguaje a

un idioma que la computadora entienda.

Al usar un lenguaje compilado, el programa que se esté desarrollando no se

ejecuta mientras este contenga errores, sino hasta que luego de haber

compilado ya no aparezcan errores en el código.

Lenguajes interpretados.

Un programa interprete convierte el programa fuente en lenguaje maquina

conforma vaya siendo necesario durante el proceso de los datos.

Por ejemplo, durante los pasos de un ciclo, cada instrucción del ciclo volverá a

ser interpretado, lo cual hace que el programa sea más lento en la ejecución del

programa, pero más rápido en tiempo de diseño, ósea, que no se estará

compilando a cada momento el código.

El intérprete elimina la necesidad de realizar la corrida de compilación después

de cada modificación del programa cuando se requiere corregir errores.

Lenguajes de alto nivel.

Un lenguaje de alto nivel permite al programador escribir las instrucciones de

un programa utilizando expresiones sintácticas entendidas por las personas,

que por lo general se desarrollan con el lenguaje inglés.

Por ejemplo, Java utiliza palabras reservadas como: if, for, while, etc., para así

construir instrucciones como: if (numero > 0) System.out.println ("El número es

positivo);

Otros lenguajes de alto nivel también son C++, C#, Pascal, Python.

31

Lenguajes de bajo nivel.

Los lenguajes de bajo nivel, a comparación con los de alto nivel, son lenguajes

dependientes de la máquina, es decir que el programa que se realiza no puede

migrar o utilizar en otras máquinas.

(Alvarez, 2015)

32

2.12 Estructura de datos.

Las estructuras de datos son una “colección de datos que son caracterizados por su

organización y las operaciones que se define en ella.” (Joyanes, 2008)

De las cuales existen dos tipos de datos, datos simples y datos estructurados.

Los datos simples son los que no están compuestos por otras estructuras y

son los más utilizados en casi todos los lenguajes de programación, como son

enteros, flotantes, reales, etc.

Los datos estructurados están construidos basados en tipos de datos

primitivos, estos a su vez de dividen en estáticos y dinámicos. Los estáticos son

aquellos en el que el tamaño ocupado en memoria se define antes de que el

programa se ejecute y no puede modificarse dicho tamaño, como por ejemplo

arreglos y matrices. Los dinámicos no tienen una restricción en el tamaño de

memoria que ocupan, estos se construyen mediante el uso de datos específicos

llamados punteros como, por ejemplo: listas, colas, aboles, etc.

33

2.13 Software de aplicación.

Un software de aplicación son programas diseñados para usuarios, con el fin de

facilitar la realización de tareas en la computadora.

Las aplicaciones son programas compilados y/o interpretados, que pueden ser escritos

en cualquier lenguaje de programación.

Aplicación de escritorio.

Una aplicación de escritorio, es aquella que se instalada en una computadora

personal, la cual es ejecutada directamente por el sistema operativo visual de

la máquina como Windows.

Su ejecución se realiza de forma local, solo en la computadora, por lo tanto,

trabajar con este tipo de aplicación es más rápido.

Aplicaciones Web.

Las aplicaciones web son aquellas en la cual los usuarios acceden a través de

internet u otras redes similares como intranet. Estas aplicaciones se codifican

con lenguajes soportados por navegadores web que no requieren instalación

para los usuarios, por lo tanto, son independientes del sistema operativo de la

máquina.

34

2.14 Entornos de desarrollo.

También conocido como IDE, por sus siglas en inglés Integrated Development

Environment, es un programa compuesto por un conjunto de herramientas de

programación.

Se le llama entorno de desarrollo ya que consiste en un editor de texto, compilador, un

depurador y un constructor de interfaz gráfica.

La función de los IDE es mostrar un marco de trabajo más fácil y amigable para la

mayoría de los lenguajes de programación, tales como Java, C++, Python, Visual

Basic. De los IDE más utilizados esta:

Microsoft Visual Studio, NetBeans y Eclipse. (García, 2015)

Microsoft Visual Studio.

Es desarrollado por Microsoft para desarrollar todo tipo de aplicaciones para su

plataforma .NET. Se pueden desarrollar aplicaciones escritas en Visual Basic,

Visual C#, ASP.NET. Este IDE es uno de los entornos más completos.

NetBeans.

Es el IDE más utilizado para la creación de aplicaciones Java, se puede

descargar de forma gratuita y es multifuncional.

En esta plataforma se pueden realizar desde aplicaciones sencillas hasta

aplicaciones complejas.

Eclipse.

Es un IDE para el desarrollo de software, está totalmente escrito en código Java.

Su principal ventaja es que además de ser multiplataforma también es

multilenguaje, se pueden desarrollar aplicaciones escritas en Java, C++, PHP,

JavaScript, entre otros.

35

2.15 Diseño de software.

El diseño de software tiene un papel muy importante en el desarrollo de software, ya

que con el se emplean ciertos criterios y actividades, para que el desarrollador se

encargue de elaborar un buen software.

Ingeniería de software.

La ingeniería de software es una disciplina de ingeniería que se interesa por todos los

aspectos de la producción de software, desde las primeras etapas de la especificación

del sistema hasta el mantenimiento del sistema después de que se pone en operación.

La ingeniería de software no solo se interesa por los procesos técnicos del desarrollo

de software, sino también incluye actividades como la administración del proyecto de

software y el desarrollo de herramientas, así como métodos y teorías para apoyar la

producción de software.

La ingeniería busca obtener resultados de calidad requerida dentro de la fecha y del

presupuesto. A menudo esto requiere compromisos, los ingenieros no deben ser

perfeccionistas, sin embargo, las personas que diseñan programas para sí mismas

podrían pasar tanto tiempo como deseen en el desarrollo del programa.

Los ingenieros en software adoptan a su trabajo un enfoque sistemático y organizado,

pues usualmente esta es la forma más efectiva de producir software de alta calidad.

Al desarrollar software existen algunas características para el buen funcionamiento del

producto final que se le da al cliente. (Sommerville, 2011)

Mantenimiento: El software debe escribirse de tal forma que pueda evolucionar

para satisfacer las necesidades de los clientes. Este es un atributo critico por

que el cambio del software es un requerimiento inevitable de un entorno

empresarial variable.

36

Confiabilidad y seguridad: La confiabilidad del software incluye un rango de

características que abarcan fiabilidad, seguridad y protección. El software

confiable no tiene que causar daño físico ni económico, en caso de falla del

sistema. Los usuarios malintencionados no deben tener la posibilidad de

acceder al sistema o dañarlo.

Eficiencia: El software no tiene que desperdiciar los recursos del sistema, como

la memoria y los ciclos del procesador. Por lo tanto, la eficiencia incluye

capacidad de respuesta, tiempo de procesamiento, utilización de memoria,

etcétera.

Aceptabilidad: El software debe ser aceptable al tipo de usuarios para quienes

se diseña. Esto significa que necesita ser comprensible, utilizable y compatible

con otros sistemas que ellos usan.

Ciclo de vida del software.

El proceso de desarrollo de software suele denominarse ciclo de vida del software,

porque describe la vida de un producto de software desde su concepción hasta su

implementación, entrega, utilización y mantenimiento. Los procesos son importantes

porque imponen consistencia y estructura sobre un conjunto de actividades, estas

características son útiles cuando se saben cómo hacer algo bien y de desea asegurar

que otros lo hagan bien de la misma manera. (Lawrence, 2001)

37

Para el proceso del software existen modelos que nos dicen de qué manera se debe

avanzar para el desarrollo del software, tales como:

Modelo en cascada: Uno de los primeros modelos que han sido propuestos,

donde las etapas se representan cayendo en cascada, desde una etapa hacia

la siguiente. Este modelo puede ser muy útil, ayudando a los desarrolladores a

diagramar lo que se necesita hacer. Su simplicidad hace que sea más fácil

explicarlo a los clientes que no están familiarizados en el desarrollo de software.

FIGURA 5: MODELO EN CASCADA

38

Especificación operacional: En este modelo los requerimientos del sistema

son evaluados o ejecutados en una forma que demuestra el comportamiento

del sistema. De esta manera, una vez que los requerimientos están

especificados, pueden implementarse utilizando un paquete de software de

modo que sus implicancias puedan ser evaluadas antes que comience el

proceso.

FIGURA 6: MODELO ESPECIFICACIÓN OPERACIONAL

39

Modelo de transformación: Este modelo intenta reducir las oportunidades de

error por medio de la eliminación de varios de los pasos del desarrollo. Usando

un soporte automatizado, el proceso de transformación aplica una serie de

transformaciones para convertir una especificación en un sistema

implementable.

FIGURA 7: MODELO DE TRANSFORMACIÓN

40

Modelo espiral: Este modelo comienza con los requerimientos y un plan inicial

para el desarrollo (que incluye el presupuesto, las restricciones y las alternativas

para el personal, el diseño y el ambiente de desarrollo), con cada interacción el

análisis de riesgos pondera diferentes alternativas a la luz de los requerimientos

y restricciones, y el prototipo verifica el grado de factibilidad o de deseo antes

de seleccionar una alternativa en particular.

FIGURA 8: MODELO ESPIRAL

41

Modelo en V: Este ciclo fue diseñado por Alan Davis, la cual contiene las

mismas etapas que el ciclo de vida de cascada, a diferencia al de cascada, a

este se le agregaron dos subetapas de retroalimentación entre las etapas de

análisis y mantenimiento, y entre las de diseño y debugging. Podemos usar este

modelo de ciclo de vida en aplicaciones, si son simples (pequeñas

transacciones sobre bases de datos).

FIGURA 9: MODELO EN V

42

CAPÍTULO 3 ANÁLISIS Y DESARROLLO DE LA HERRAMIENTA PARA EL

DISEÑO DE TABLAS MODELO ENTIDAD RELACIÓN

43

3.1 Análisis.

En este capítulo se define la metodología de desarrollo de software que se utilizó en

este proyecto, una de las etapas más importantes es la de análisis en la que se definen

los requerimientos del sistema y se crea una definición del sistema para fundamentar

el trabajo de ingeniería de software.

En este capítulo se podrán ver los diagramas que modelan la funcionalidad de la

herramienta.

El desarrollo de la herramienta para el diseño de tablas modelo entidad relación se

basa en los requerimientos de análisis y diseño de Ingeniería de software, de los cuales

se utilizarán los diagramas de caso de uso y diagramas de secuencia.

Diagramas de caso de uso: Los diagramas de casos de uso representa la forma en

cómo un Actor, en este caso un usuario opera con el sistema en desarrollo, además

de la forma, tipo y orden en como los elementos interactúan.

FIGURA 10: DIAGRAMA DE CASO DE USO

44

Los casos de uso son particularmente útiles para comunicarse con clientes,

diseñadores y probadores de sistemas. Los clientes pueden leer los casos de uso para

comprobar si el sistema se diseñara para incluir todas las funciones deseadas.

Los diagramas tienen cuatro elementos: actores, casos, extensiones y usos.

Un actor es un rol que una entidad juega o actúa con respecto al sistema.

El caso es una pintura de algún aspecto de funcionalidad del sistema que

resulta visible para el actor cuya perspectiva es lo que se refleja en el caso de

uso.

Una extensión, justamente extiende un caso de uso para explicar una

perspectiva distinta o más profunda.

Un uso, realmente es, una reutilización de un caso de uso que ya se encuentra

definido.

Diagramas de secuencia: Los diagramas de secuencia muestra la manera en que los

objetos se comunican entre sí al transcurrir del tiempo y se moldean para cada caso

de uso.

FIGURA 11: DIAGRAMA DE SECUENCIA

45

Los diagramas de secuencia constan de objetos que se representan de modo usual:

rectángulo con nombre, mensajes entre los objetos representados por líneas continuas

con una punta de flecha y el tiempo representado como una progresión vertical. Los

objetos se colocan cerca de la parte superior del diagrama de izquierda a derecha y

se acomodan de manera que simplifiquen el diagrama.

La extensión que está debajo (en forma descendente) de cada objeto será una línea

discontinua conocida como la línea de vida de un objeto, junto con la línea de vida de

un (objeto rectángulo) se le conoce como activación, el cual una operación que realiza

el objeto la interpreta como la duración de la activación. (Lawrence, 2001)

Para este caso el diagrama de caso de uso será uno solo, ya que es un sistema para

escritorio que será utilizado por un solo usuario, a diferencia de un sistema web el cual

se compone por al menos 2 o más actores.

46

3.2 Desarrollo.

El ambiente de desarrollo de la herramienta desarrollada en esta tesis se conformó

aplicando el modelo orientado a objetos. El lenguaje seleccionado para la implantación

es JAVA, ya que tiene la ventaja de ser un lenguaje orientado a objetos, robusto e

independiente de la arquitectura del hardware, la plataforma de desarrollo es Eclipse

Juno el cual puede descargarse libre directamente de la página web.

La utilización del lenguaje de programación Java en esta herramienta es que es un

lenguaje multiplataforma, lo cual significa que se puede compilar el programa en

distintos sistemas operativos.

Además de las características que hacen de Java un lenguaje útil, independiente de la

plataforma, robusto, versátil, de libre utilización para todo programador,

El diseño de esta herramienta de tablas modelo entidad relación, está elaborado con

una interfaz la cual sea de fácil utilización para el usuario, consta con las opciones

básicas para la creación de diagramas entidad relación como entidad, atributos,

relación y cardinalidad, todo en modo para que el usuario no tenga complicaciones en

la utilización de la herramienta.

El desarrollo de la herramienta cuenta con la implementación de clases que ayudara

a llevar el manejo independiente de lo que utilizamos en el programa, por lo tanto, el

manejo de clases es una buena opción en la estructura del código, ya que si se quiere

modificar un componente del programa solo modificamos esa parte sin afectar todo el

código del programa. Por eso es muy importante separar en clases los programas.

Se consta también con el desarrollo de métodos los cuales se ahorrará la utilización

de código y haciendo el código más estructurado.

En la implementación de la interfaz de la herramienta se utilizaron elementos de

interfaz de usuario java el cual tiene un paquete llamado Swing que brinda elementos

útiles para el desarrollo de interfaz en los programas.

47

3.3 Interfaz gráfica. Diagramas de caso de uso.

En la figura 12, se puede apreciar el diagrama de caso de uso, Crear diagrama.

FIGURA 12: CREAR DIAGRAMA

48

En la figura 13, se puede apreciar el diagrama de secuencia para crear una tabla

(entidad).

FIGURA 13: DIAGRAMA DE SECUENCIA - CREAR TABLA

49

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de creación de una entidad

1. El usuario crea una tabla. 1. La herramienta mostrara una

tabla.

2. El usuario introducirá el nombre de la tabla. 2. El sistema guardara el

nombre de la tabla.

Alternativa:

Precondición: La herramienta permitirá crear una tabla(entidad)

Pos condición: El usuario creara una tabla (entidad)

Presunción: La herramienta está disponible.

50

En la figura 14, se puede apreciar el diagrama de secuencia para modificar una tabla.

FIGURA 14: DIAGRAMA DE SECUENCIA - MODIFICAR TABLA

51

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de modificación de una entidad.

Flujo Principal: Eventos ACTOR Eventos SISTEMA

1. El usuario selecciona texto del nombre de la entidad 1. La herramienta permite

escribir nuevo nombre.

2. El usuario introducirá el nombre de la tabla. 2. El sistema guardara el

nombre de la tabla.

Alternativa:

Precondición: La herramienta permitirá modificar el nombre de la tabla (entidad)

Pos condición: El usuario modificara el nombre de la tabla (entidad)

Presunción: La herramienta está disponible.

52

En la figura 15, se puede apreciar el diagrama de secuencia para agregar atributo.

FIGURA 15: DIAGRAMA DE SECUENCIA - AGREGAR ATRIBUTO

53

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de agregar un atributo

Flujo

Principal:

Eventos ACTOR Eventos SISTEMA

1.El usuario dará doble clic en la entidad 1.La herramienta mostrara

interfaz de atributo

2.El usuario ingresara nombre, tipo, long de atributo 2.La herramienta mostrara los

datos

3.El usuario guardara los datos 3.La herramienta guardara los

datos

Alternativa:

Precondición: La herramienta permitirá agregar atributos a una entidad

Pos

condición:

El usuario agrega atributos a una entidad

Presunción: La herramienta está disponible.

54

En la figura 16, se puede apreciar el diagrama de secuencia para modificar atributo.

FIGURA 16: DIAGRAMA DE SECUENCIA - MODIFICAR ATRIBUTO

55

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de modificar un atributo

Flujo

Principal:

1.El usuario dará doble clic en atributo a modificar 1.La herramienta mostrara

interfaz de atributo

2.El usuario ingresara nombre, tipo, long de atributo 2.La herramienta mostrara

los datos

3.El usuario guardara los datos 3.La herramienta guardara

los datos

Alternativa:

Precondición: La herramienta permitirá agregar atributos a una entidad

Pos

condición:

El usuario agrega atributos a una entidad

Presunción: La herramienta está disponible.

56

En la figura 17, se puede apreciar el diagrama de secuencia para crear relación.

FIGURA 17: DIAGRAMA DE SECUENCIA - CREAR RELACIÓN

57

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de crear relación

Flujo

Principal:

Eventos ACTOR Eventos SISTEMA

1.El usuario presionara la opción "relacionar" 1.La herramienta mostrara

interfaz de relación

2.El usuario seleccionara tablas 2.La herramienta mostrara los

datos

3.El usuario seleccionara cardinalidad (N-N,1-N) 3.La herramienta mostrara los

datos

4.El usuario presionara "Relacionar tablas" 4. La herramienta guardara y

mostrara relación.

Alternativa:

Precondición: La herramienta permitirá la relación de dos tablas.

Pos

condición:

El usuario creara la relación de dos tablas.

Presunción: La herramienta está disponible.

58

En la figura 18, se puede apreciar el diagrama de secuencia para crear SQL.

FIGURA 18: DIAGRAMA DE SECUENCIA - CREAR CÓDIGO SQL

59

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de generar código SQL

Flujo

Principal:

Eventos ACTOR Eventos SISTEMA

1.El usuario presionara la opción "Generar SQL" 1.La herramienta mostrara

interfaz de "Código SQL"

Alternativa:

Precondición: La herramienta permitirá la creación de código SQL

Pos

condición:

El usuario generara el código SQL

Presunción: La herramienta está disponible.

60

En la figura 19, se puede apreciar el diagrama de secuencia para Guardar diagrama

en imagen.

FIGURA 19: DIAGRAMA DE SECUENCIA - GUARDAR EN IMAGEN

61

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de guardar diagrama en imagen

Flujo Principal: Eventos ACTOR Eventos SISTEMA

1.El usuario presionara la opción " Guardar Img" 1. La herramienta mostrara

interfaz de ubicación de

guardado.

2. El usuario selecciona ubicación de guardado. 2. La herramienta muestra

ubicación de guardado.

3. El usuario guarda la opción de ubicación. 3. La herramienta guarda

imagen en computadora.

Alternativa:

Precondición: La herramienta permitirá guardar el diagrama en imagen

Pos condición: El usuario guardara el diagrama en imagen en computadora.

Presunción: La herramienta está disponible.

62

En la figura 20, se puede apreciar el diagrama de secuencia para Eliminar una tabla

(entidad).

FIGURA 20: DIAGRAMA DE SECUENCIA - ELIMINAR TABLA

63

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de Eliminar una tabla (entidad)

Flujo

Principal:

Eventos ACTOR Eventos SISTEMA

1.El usuario presionara clic derecho en la entidad 1.La herramienta mostrara opción

"Eliminar"

2.El usuario selecciona opción "Eliminar" 2. La herramienta borra la

entidad.

Alternativa:

Precondición: La herramienta permitirá la eliminación de una tabla (entidad)

Pos condición: El usuario podrá eliminar una tabla (entidad).

Presunción: La herramienta está disponible.

64

En la figura 21, se puede apreciar el diagrama de secuencia para Eliminar un atributo.

FIGURA 21: DIAGRAMA DE SECUENCIA - ELIMINAR ATRIBUTO

65

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de Eliminar un atributo

Flujo Principal: Eventos ACTOR Eventos SISTEMA

1.El usuario presionara clic derecho en el atributo 1.La herramienta mostrara opción

"Eliminar"

2.El usuario selecciona opción "Eliminar" 2.La herramienta borra el atributo

Alternativa:

Precondición: La herramienta permitirá la eliminación de un atributo.

Pos condición: El usuario podrá eliminar un atributo.

Presunción: La herramienta está disponible.

66

En la figura 22, se puede apreciar el diagrama de secuencia para Eliminar una relación.

FIGURA 22: DIAGRAMA DE SECUENCIA - ELIMINAR RELACIÓN

67

Nombre: Herramienta para el diseño de tablas entidad relación.

Actor: Usuario.

Descripción: Describe el proceso de Eliminar una relación.

Flujo Principal: Eventos ACTOR Eventos SISTEMA

1.El usuario presionara clic derecho en la relación 1. La herramienta mostrara

opción "Eliminar"

2.El usuario selecciona opción "Eliminar" 2. La herramienta borra la

relación.

Alternativa:

Precondición: La herramienta permitirá la eliminación de una relación

Pos condición: El usuario podrá eliminar una relación

Presunción: La herramienta está disponible.

68

3.4 Descripción de la aplicación.

La herramienta proporciona un medio sencillo y completo para realizar modelos

semánticos de bases de datos, utilizando la simbología de Peter Chen.

La funcionalidad general parte de la utilización de un ambiente de ventanas para la

creación de diagramas basado en el uso de eventos de mouse sobre botones y un

área de dibujo.

Estos elementos se describirán a detalle en la siguiente sección.

69

Inicio

El programa cuenta con un splash de inicio para cargar le programa, la cual se muestra

en la figura 23.

FIGURA 23: SPLASH DE INICIO

70

Al cargar el programa se muestra el entorno donde se trabajará mostrado en la figura

24, con un apartado cuadriculado donde se diseñarán los diagramas.

FIGURA 24: PANTALLA DE INICIO

71

Del lado izquierdo se cuenta con un apartado de botones. Estos botones ayudaran a

realizar el diagrama; esto se muestra en la figura 25.

FIGURA 25: HERRAMIENTAS DEL PROGRAMA

72

Como crear una entidad.

Para crear una entidad (tabla), se presionará el botón de "Agregar" que se encuentra

en el lado izquierdo en el apartado de botones; se puede apreciar en la figura 26.

FIGURA 26: BOTÓN CREAR ENTIDAD

73

En seguida aparecerá un rectángulo en el apartado del cuadriculado. La cual se

muestra en la figura 27.

FIGURA 27: AGREGANDO ENTIDAD – NOMBRE DE LA ENTIDAD

74

Crear atributo en una entidad.

Para crear un atributo en una entidad, se dará doble clic en la entidad y enseguida

aparecerá una ventana para crear el atributo; mostrándose en la figura 28.

FIGURA 28: AGREGAR ATRIBUTO

Ventana para crear el atributo, mostrándose en la figura 29.

FIGURA 29: DATOS DE ATRIBUTO

75

Al final ya que se ingresen los datos del atributo presionamos el botón de guardar y

enseguida aparecerá el atributo ligado con la entidad; como se muestra en la figura

30.

FIGURA 30: MUESTRA DEL ATRIBUTO CREADO

76

Relacionar entidades.

Para relacionar una entidad con otra, se deberán tener más de una tabla creada. Se

pulsará el botón de "Relacionar", mostrado en la figura 31, en el cual aparecerá una

ventana que indica que entidad se quiere relacionar con otra.

FIGURA 31: VENTANA PARA RELACIONAR TABLAS

77

Por último, se dará clic "Relacionar tablas". Mostrándose en la figura 32.

FIGURA 32: RELACIONANDO TABLAS

78

Enseguida aparecerá la relación de ambas tablas. Mostrándose en la figura 33.

FIGURA 33: MUESTRA DE TABLAS RELACIONADAS

79

Editar atributo.

Para editar un atributo se dará doble clic en el ovalo del atributo y aparecerá la ventana

de atributo de igual manera se ingresarán los datos y se dará "Guardar". Mostrándose

en la figura 34.

FIGURA 34: EDITAR ATRIBUTO

Editar entidad.

Para editar una entidad basta con cambiar el nombre a la entidad. Como se muestra

en la figura 35.

FIGURA 35: EDITAR ENTIDAD

80

Borrar atributo.

Para borrar un atributo, se dará clic derecho en el atributo y aparecerá la opción de

"Eliminar", la cual se muestra en la figura 36, se dará clic y se eliminará el atributo.

FIGURA 36: BORRAR ATRIBUTO

Borrar entidad.

Para borrar una entidad, se dará clic derecho en la entidad y aparecerá la opción de

"Eliminar", mostrándose en la figura 37, se dará clic y se eliminará la entidad.

FIGURA 37: BORRAR ENTIDAD

81

Borrar relación.

Para borrar la relación de dos tablas, se dará clic derecho en la relación y aparecerá

la opción de "Eliminar", mostrándose en la figura 38, se dará clic y se eliminará la

relación.

FIGURA 38: BORRAR RELACIÓN

Generar código SQL.

Para generar código SQL del diagrama E-R, se pulsará el botón "SQL”, mostrándose

en la figura 39, de la lista de botones.

FIGURA 39: GENERAR CÓDIGO SQL

82

Enseguida mostrara una ventana que cuenta con las tablas (entidades) creadas con

sus respectivos atributos y su tabla de relaciones. Mostrándose en la figura 40.

FIGURA 40: CÓDIGO SQL GENERADO

Analizar.

Para saber si el diagrama tiene algún error, se pulsará el botón de "Analizar",

mostrándose en la figura 41, de la lista de botones. Este botón de analizar, ayudara a

saber si el diagrama está correcto.

FIGURA 41: BOTÓN DE ANALIZAR

83

Guardar Diagrama.

Para guardar se pulsará el botón de "Guardar Img", mostrándose en la figura 42, el

cual guardará el diagrama como una imagen en la computadora.

FIGURA 42: BOTÓN GUARDAR DIAGRAMA

FIGURA 43: GUARDANDO DIAGRAMA COMO IMAGEN

84

CAPÍTULO 4 CONCLUSIONES Y RESULTADOS

85

CONCLUSIÓN.

Gracias a la investigación y la consulta de varias fuentes de información tanto en libros

como internet, se logró recopilar la teoría suficiente para sustentar el problema tratado.

Con base a la búsqueda de nuevas alternativas en la elaboración de diagramas

entidad relación, se desarrolló un software, el cual permite de manera gráfica el diseño

de tablas de bases de datos utilizando el modelo entidad relación. Esta herramienta es

un programa de escritorio diseñado y programado para uso de diseños de estos

diagramas.

El diseño de tablas usando el modelo entidad relación, cuenta con la metodología de

un diagrama ER, cumpliendo así los requerimientos necesarios para su desarrollo, se

ajusta al usuario ya que cuenta con un entorno favorable no tanto complicado, ya que

su objetivo es impedir el sobrecargo de opciones innecesarias para el desarrollo de los

diagramas.

Las herramientas mencionadas al inicio de esta tesis van más allá de los alcances de

este programa, una ventaja de la cual supera a todas estas herramientas comerciales,

en que el usuario representa gráficamente la semántica del modelo entidad-relación y

es de gran ayuda para el diseño de una base de datos, no importando el sistema a

desarrollar, el modelo entidad-relación siempre será un buen aliado en el desarrollo de

nuestros sistemas.

La aportación de esta tesis es el desarrollo de una herramienta que permite crear

modelos conceptuales de bases de datos utilizando diagramas ER. La funcionalidad

presentada en el capítulo 3 muestra la sencillez con el que el usuario puede crear este

tipo de modelos.

86

BENEFICIOS Y VENTAJAS.

La herramienta Entorno para el diseño de tablas en el modelo entidad relación, consta

de los elementos necesarios para construir y comprender de manera visual el modelo

entidad relación llevando este modelo a un código de lenguaje de SQL.

La herramienta cuenta con la facilidad de poder guardar el diagrama dibujado

exportándolo en un formato de imagen.

Al ser desarrollado en el lenguaje de programación de JAVA, esta herramienta puede

ser ejecutada en diferentes sistemas operativos siempre y cuando se tenga instalado

la máquina virtual de java, volviéndola portable.

Esta herramienta está diseñada para que cualquier persona que se encuentre dentro

o fuera del ámbito tecnológico pueda ser uso de ella, ya que se desarrolló de tal

manera que al entrar al programa el usuario detectara en la interfaz los elementos

básicos para el diseño de tablas en el modelo entidad relación.

Se organizaron los elementos básicos para la crearon de tablas de manera

consecutiva, para que no haya ningún pierde en ello; primero la creación de la tabla

(entidad), en el se indica que debe ponerle nombre a la tabla, se agregan los atributos.

Ya que se hayan agregado las tablas necesarias se continua con la relación de las

tablas y por último la generación del código en el lenguaje SQL.

Por otra parte, se cuenta con un analizador, con el cual te detectara si existe un error

en el diagrama realizado.

Cabe mencionar que esta herramienta es de enseñanza aprendizaje, para que las

personas se den una idea del funcionamiento de las bases de datos utilizando el

modelo entidad relación.

87

BIBLIOGRAFIA

Alvarez, S. (31 de Agosto de 2015). Tipos de lenguaje de programación. Obtenido

de http://www.desarrolloweb.com/articulos/2358.php

Bergin, T. (1996). History of Programin Languages. Washington, D.C : ACM Press.

Blansahard, D. (20 de Agosto de 2015). Introduccion a C++ ¿Que es ? Obtenido de

https://blanchardspace.wordpress.com/2013/05/06/introduccion-a-c-que-es/

Ceballos, F. (1993). Curso de programacion con C Microsoft c. Wilmiton Delaware,

EUA: Addison-Wesley Iberoamericana.

Cairo, O. (2004). Metodología de la programación. Algoritmos, diagramas de flujo y

programas. Mexico DF: Alfaomega.

Campusmvp. (18 de agosto de 2015). Campus MVP. Obtenido de

http://www.campusmvp.es/recursos/post/Disenando-una-base-de-datos-en-el-

modelo-relacional.aspx

De Miguel A, Piattini. M. (2000). Fundamentos y modelos de Bases de Datos. Madrid

España: Alfaomega.

Deitel, H., Deitel, P. (2004). Cómo programar C/C++ y Java. Estado de Mexico:

Pearson Education.

88

Garcia, F. (22 de Septiembre de 2015). Entorno de desarrollo (IDE). Obtenido de

https://fergarciac.wordpress.com/2013/01/25/entorno-de-desarrollo-integrado-

ide/

Gutuccs. (5 de junio de 2011). Arquitectura ANSI - SPARC. Obtenido de

http://todosobrebd.blogspot.mx/2011/06/capitulo-i-bases-de-datos-

objetivo.html

Horstmann, C., Cornell, G. (2014). Core Java. Volumen I - Fundamentals. United

States: Prentie Hall.

Inc, A. (18 de Noviembre de 2016). Altova. Obtenido de https://www.altova.com/es/

Itpn. (5 de agosto de 2015). Diseño de bases de datos y el modelo E - R. Obtenido de

http://itpn.mx/recursositics/5semestre/fundamentosderedes/Unidad%20II.pdf

Joyanes, L. (2008). Fundamentos de Programación. Algoritmos, estructura de datos

y objetos. Mexico: Mc Graw Hil.

Kroenke, D. (2003). Procesamiento de Bases de Datos. Estado de Mexico: Pearson

Education.

Luque, I. (2002). Bases de datos desde Chen hasta Codd con Oracle. Mexico:

Alfaomega.

Lawrence, S. (2001). Ingeniería de software, teoría y práctica. Buenos Aires,

Argentina: Pearson Education.

Maldonado, C. (8 de junio de 2015). Diseño de bases de datos y medelo ER.

Obtenido de http://crstiannemaldonado.blogspot.mx/

89

Microsoft. (31 de Agosto de 2015). Introduccion al lenguaje C# y .Net framework.

Obtenido de de https://msdn.microsoft.com/es-MX/library/z1zx9t92.aspx

Muller, R. (1999). Data Bae Desing for Smarties. United States of America : Morgan

Kaufmann.

Serrano, A. O. (18 de Noviembre de 2016). Andresoller. Obtenido de

http://andresoller.es/blog/er-master-diagramas-entidad-relacion-en/

Sommerville, I. (2011). ingenieria de software novena edicion. Mexico: Pearson.

Villavicencio, C. (6 de junio de 2014). Herramienta CASE Dia. Obtenido de

Herramienta CASE Dia: http://cesarvillavicencio.blogspot.mx/

Wang, P. (2000). Java con programación Orientada a Objetos y aplicaciones en la

www. Mexico: Thomson.

90

INDICE DE FIGURAS

Figura 1: Representación del modelo relacional ....................................................... 17

Figura 2: Representación del modelo entidad relación ............................................. 20

Figura 3: Proceso de diseño para una base de datos ............................................... 22

Figura 4: Arquitectura de una base de datos............................................................. 23

Figura 5: Modelo en cascada .................................................................................... 37

Figura 6: Modelo especificación operacional............................................................. 38

Figura 7: Modelo de transformación .......................................................................... 39

Figura 8: Modelo espiral ............................................................................................ 40

Figura 9: Modelo en v ................................................................................................ 41

Figura 10: Diagrama de caso de uso ........................................................................ 43

Figura 11: Diagrama de secuencia ............................................................................ 44

Figura 12: Crear diagrama ........................................................................................ 47

Figura 13: Diagrama de secuencia - crear tabla ........................................................ 48

Figura 14: Diagrama de secuencia - modificar tabla ................................................. 50

Figura 15: Diagrama de secuencia - agregar atributo ............................................... 52

Figura 16: Diagrama de secuencia - modificar atributo ............................................. 54

Figura 17: Diagrama de secuencia - crear relación ................................................... 56

Figura 18: Diagrama de secuencia - crear código sql ............................................... 58

Figura 19: Diagrama de secuencia - guardar en imagen .......................................... 60

Figura 20: Diagrama de secuencia - eliminar tabla ................................................... 62

Figura 21: Diagrama de secuencia - eliminar atributo ............................................... 64

Figura 22: Diagrama de secuencia - eliminar relación .............................................. 66

91

Figura 23: Splash de inicio ........................................................................................ 69

Figura 24: Pantalla de inicio ...................................................................................... 70

Figura 25: Herramientas del programa ...................................................................... 71

Figura 26: Botón crear entidad .................................................................................. 72

Figura 27: Agregando entidad – nombre de la entidad ............................................. 73

Figura 28: Dgregar atributo ....................................................................................... 74

Figura 29: Datos de atributo ...................................................................................... 74

Figura 30: Muestra del atributo creado ...................................................................... 75

Figura 31: Ventana para relacionar tablas ................................................................ 76

Figura 32: Relacionando tablas ................................................................................. 77

Figura 33: Muestra de tablas relacionadas ............................................................... 78

Figura 34: Editar atributo ........................................................................................... 79

Figura 35: Editar entidad ........................................................................................... 79

Figura 36: Borrar atributo .......................................................................................... 80

Figura 37: Borrar entidad .......................................................................................... 80

Figura 38: Borrar relación .......................................................................................... 81

Figura 39: Generar código sql ................................................................................... 81

Figura 40: Código sql generado ................................................................................ 82

Figura 41: Cotón de analizar ..................................................................................... 82

Figura 42: Botón guardar diagrama ........................................................................... 83

Figura 43: Guardando diagrama como imagen ......................................................... 83