universidad autÓnoma de baja california sur Área de ...biblio.uabcs.mx/tesis/te3623.pdf · para...
Post on 03-Oct-2018
212 Views
Preview:
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
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.
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
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
top related