REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR UNIVERSIDAD NACIONAL EXPERIME
Views 194 Downloads 42 File size 678KB
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA SISTEMA DE BASES DE DATOS I SECCIÓN 01
SISTEMA WEB PARA LOS SERVICIOS DEL LABORATORIO
UNEG
PROFESOR
INTEGRANTE
Avendaño, Víctor
Abril del 2016
Índice Introducción…………………………………………………………………. Planteamiento del Problema………………………………………………. Herramientas de Diseño …………………………………………………... Requerimientos……………………………………………………………… Análisis……………………………………………………………………….. Modelo Entidad-Relación.………………………………………………. Descripción Del Modelo Entidad/Relación……………………….. Entidades..…………………………………………………………… Inter-relaciones. …………………………………………………….. Atributos.…………………………………………………………….. Modelo relacional………………………………………………………… Descripción de las entidades………………………………………. Descripción de las Inter-Relaciones………………………………. Descripción de los atributos……………………………………….. Estandarización de la Base de Datos (tablas)…..…………………… Normalización de Bases de Datos…………………………………….. Tiempo de respuesta de la base de datos……………………………. Estandarización de las pantallas………………………………………. Resultados…………………………………………………………………… Conclusiones………………………………………………………………… Bibliografía……………………………………………………………………
Página 1 3 5 6 7 7 8 8 8 8 9 10 10 11 12 12 12 13 14 21
Introducción Dentro del proceso de formación de los ingenieros en informática el desarrollos de sistemas web son parte de las bases del aprendizaje, esté tipo de asignaciones se utilizan para instruir al estudiante sobre los procesos básicos dentro del desarrollo de software, el modelado de sistemas y su implantación, a través de ellas se desarrollan las habilidades necesarias para complementar la formación del ingeniero. El presente informe tiene como objetivo principal desarrollar teóricamente el proceso de desarrollo de un software, basado en un sistema web completo, lo que implica la aplicación del desarrollo y creación de base de datos, utilización y manejo.Una base de datos se diseña, construye y rellena con datos para un propósito específico. Su propósito general es almacenar, mantener y recuperar información, con el fin de representar aspectos del mundo real. Al presentar una propuesta de diseño para el manejo de una base de datos se desarrollan modelos y diagramas para una mejor comprensión del sistema. A continuación se presenta un modelo Entidad-Relación con su Modelo Relacional debidamente normalizado, una vez conforme con los modelos antes planteados se procede a implementar la codificación de un lenguaje para la administración de todos los datos; en el caso actual se utilizó SQL, el cual es un lenguaje muy completo para el desarrollo de bases de datos, por medio de este se puede tabular los datos a través de la creación de tablas y dominios, hacer consultas, actualizar o eliminar información específica, entre otros con el fin de tener un control amplio de todos los aspectos de la base de datos (Mini Mundo / Universo de Discurso). El proyecto en estudio presenta un sistema web para el control y administración del flujo de información referente a las unidades curriculares de la Universidad de Guayana. Para la ejecución del problema planteado, se procede a desarrollar un análisis de todos los datos, identificando las entidades que interactúan con sus respectivo atributos junto con las relaciones que hay entre ellas, para elaborar un modelo de Entidad-Relación que englobe toda la información requerida por el sistema. Luego se registra cada una de las entidades junto con sus atributos mediante un modelo relacional, el cual debe estar normalizado para que el sistema tenga una mejor comprensión de la información.
1
Por último se realiza la codificación utilizando las herramientas HTML para la estructura principal de la página, PHP para el intercambio de datos entre la aplicación web y la base de dato JAVASCRIPT para aplicaciones internas funcionales en tiempo real (procesos) CSS para el diseño creado anteriormente en HTML y para el manejador de la base de datos PHPMyAdmin por su interface amigable.
2
Planteamiento del Problema Actualmente los laboratorios de computación de la UNEG se encuentran en proceso de remodelación. Se instalarán nuevas máquinas que permitirán utilizar herramientas más avanzadas. De ello nace la necesidad de mayor acceso a la información relacionada con estas nuevas herramientas. Para tal fin es necesario desarrollar un sistema de información WEB que permita el manejo de contenidos sobre materias.
Descripción de la materia
Semestre en que se dicta
Código de la materia
Contenido programático de la materia
Material relacionado con la materia
Profesores que dictan la materia
Modelos de examen / proyecto
Modelos de planes de evaluación
Libros o manuales en PDF relacionados con la materia
Videos explicativos de los objetivos de la materia
Láminas y presentaciones de la materia
Se necesita que los usuarios puedan realizar comentarios sobre las materias, realizando sugerencias y tips.Es necesario crear un panel administrador que nos permita conocer a través de REPORTES y/o CONSULTAS y GRÁFICAS, la siguiente información:
Cantidad de visitas diarias
Cantidad de visitas por mes
Tiempo de permanencia promedio de los usuarios
Contenidos más descargados
Contenidos mejor puntuados según categoría
El panel administrador debe permitir realizar las operaciones básicas:
Agregar
Eliminar
Modificar 3
Respaldar
De igual manera debe cumplir los siguientes requerimientos:
El sistema necesita la opción de “loguearse” como administrador o como usuario normal.
Debe existir la opción de buscar contenidos.
Cada contenido digital tendrá una imagen relacionada y su descripción correspondiente.
El sistema debe contar con la seguridad necesaria para establecer diversos niveles de acceso al mismo. Se debe tener un nivel de alta prioridad que permita realizar todas las operaciones necesarias.
El sistema debe mantener la seguridad necesaria y la validación de aquellos campos que lo requieran (Fechas, Nombres solo con letras, edades, etc.)
Se deben generar reportes generales que usted considere necesarios (por lo menos tres).
Deben contar con un conjunto de datos válidos y que sean coherentes al momento de la defensa del proyecto.
Deben establecerse estándares de rendimiento en lo que respecta a respuesta entre pantallas, señalización de errores, mensajes, etc.
4
Herramientas de Diseño
StarUML: es una herramienta para el modelamiento de software basado en los estándares UML (UnifiedModelingLanguage) y MDA (ModelDrivenArquitecture). Es fácil de usar, debido a la simplicidad y rápida percepción de sus objetos, funciones y características, otra característica fundamental es que su código es compatible con lenguajes como C++ y Java. Fue seleccionado como herramienta de desarrollo UML por capacidad de generar código a partir de los diagramas y viceversa, actualmente funcionando para los lenguajes c++, c# y java.
NetBeans IDE: es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de uso. La plataforma ofrece servicios reusables comunes para las aplicaciones de escritorio, permitiendo a los desarrolladores centrarse en la lógica de sus aplicaciones.
XAMPP: es un servidor independiente de plataforma, software libre, que consiste principalmente en el sistema de gestión de bases de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl.
5
Requerimientos Requerimientos del Sistema a desarrollar:
6
Análisis 1. Modelo Entidad-Relación
Figura 1. Diagrama Entidad-Relación del Sistema 7
1.2 Descripción Del Modelo Entidad/Relación 1.2.1
Entidades:El nombre de las entidades está representado por letras mayúsculas y en singular:
MATERIAL.
PROFESOR.
VIDEO.
SUGERENCIA.
LAMINA.
USUARIO.
PDF.
ADMINISTRADOR.
MOD_PRUEBA.
VISITA
MATERIA. 1.2.2
Inter-relaciones. Los identificadores de las inter-relaciones tienen el formato: primera letra en mayúscula y son todos verbos:
Entre MOD_PRUEBA y MATERIA (Aplica). Entre MATERIA y PROFESOR (Imparte). Entre MATERIAL y MATERIA (Tiene). Entre MATERIAL y VIDEO, LAMINA, PDF (Es). Entre SUGERENCIA y MATERIA (Hace). Entre MATERIAL y USUARIO (Descarga). Entre SUGERENCIA y USUARIO (Sugiere).
8
1.2.3
Atributos. El nombre de los atributosestá compuesto por las primeras tres letras de la característica en minúscula, menos el atributo identificador “id”, seguido del carácter piso “_” y luego el nombre de la entidad a la cual representan:
MOD_PRUEBA: id_mod_prueba, tip_mod_prueba, nom_mod_prueba. MATERIA:
id_materia,
nom_materia,
sem_materia,
des_materia.
con_materia. PROFESOR: id_profesor, nom_profesor, est_profesor. MATERIAL: id_material, nom_material.des_material. VIDEO: id_material,nom_material, obj_video. PDF: id_material, nom_material. LAMINA: id_material, nom_material. USUARIO:id_usuario,ced_usuario,tel_usuario,sex_usuario,nom_usuario
MATERIA,cor_usuario (id_materia, sem_materia, con_programatico) SUGERENCIA: sug_sugerencia VISITA: tie_visita,fec_visita
MOD_PRUEBA (id_prueba, nom_prueba, tip_prueba, id_materia) 1.3 Modelo Relacional
SUGERENCIA: (sug_sugerencia, id_materia)
PROFESOR (id_profesor, nom_profesor, est_profesor) IMPARTE (id_materia, id_profesor) MATERIAL (id_material, id_materia, nom_material, des_material) D:C / U:C
VIDEO (id_material, obj_video) D:C / U:C CHECK (EXIST MATERIAL OR EXIST VIDEO OR EXISTLAMINA OR EXISTPDF)
D:C / U:C
LAMINA (id_material) PDF (id_material)
USUARIO (id_usuario, ced_usuario, tel_usuario, sex_usuario, nom_usuario, cor_usuario) D:C / U:C
CHECK (EXIST USUARIO OR EXIST ADMINISTRADOR)
ADMINISTRADOR (id_usuario)
VISITA: (tie_visita, fec_visita, id_usuario)
Figura 2. Modelo Relacional del Sistema
1.4 Descripción de las entidades
Nombre mod_prueb
Descripción @id_mod_prueba +tip_prueba
Descripción narrativa Evaluaciones que alguna
+nom_prueba @id_materia + nom_materia
materia haya realizado. Unidades curriculares que hay
+sem_materia +des_materia +
que aprobar para obtener un
profesor
con_materia @id_profesor + nom_profesor
grado Profesores de la UNEG que
material
+ est_profesor @id_material + nom_material
imparten las materias. Documentaciónde apoyo que
a materia
ayude a mejorar a un alumno video
pdf lamina
@id_material+nom_material +
en una materia. Videos relacionados a una
obj_video + tip_material
materia para ayudar a su
@id_material +
comprensión Pdf de una materia
nom_material + tip_material @id_material +
Lamina sobre una materia
nom_material + tip_material 1.5 Descripción de las Inter-Relaciones Nombr e aplica
Descripción
Descripción narrativa
Entidades que
@id_mod_prueba
Modelos de evaluación
interactúan MOD_PRUEBA +
+ @id_materia
que se pueden presentar
MATERIA
imparte
@id_materia +
en una materia. Materias en las que un
MATERIA +
tiene
@id_profesor @id_material +
profesor imparte clases Materiales de ayudantía
PROFESOR MATERIA +
@id_materia
que posee una materia
MATERIAL
1.6 Descripción de los atributos Nombre con_materia
Descripción Contenido de una
Dominio
Entidad
VARCHAR
perteneciente MATERIA
des_materia
materia Descripción de una
VARCHAR
MATERIA
est_profesor
materia Estado de un profesor,
VARCHAR
PROFESOR
id_mod_prueb
fijo o contratado Identificación de los
VARCHAR
MOD_PRUEBA
a id_materia
modelos de prueba Indentificacion de una
VARCHAR
MATERIA
id_profesor
materia Identificación de los
VARCHAR
PROFESOR
id_material
profesores Identificación del
VARCHAR
MATERIAL-
material nom_material
Nombre de algún
VIDEO- PDFVARCHAR
materia
LAMINA MATERIALVIDEO- PDF-
nom_profesor nom_materia
Nombre de un profesor Nombre de las
VARCHAR VARCHAR
LAMINA PROFESOR MATERIA
nom_prueba
materias Nombre de las
VARCHAR
MOD_PRUEBA
obj_video
pruebas Objetivos de un video
INT
VIDEO
informativo sobre una sem_materia
materia Semestre al que
INT
MATERIA
tip_prueba
pertenece una materia Tipo de prueba de los
VARCHAR
MOD_PRUEBA
modelos de prueba
2. Estandarización de la Base de Datos (tablas)
Nombre de las tablas en singular y en minúscula.
Atributos en singular y en minúscula.
Atributos compuestos por primeras tres letras de la propiedad que los describe seguido del guion bajo “_” y el nombre de la tabla a la cual pertenece.
El atributo identificador siempre estará compuesto por id_ seguido del nombre de la tabla Ej: id_nombre.
3. Normalización de la Base de Datos En la forma en la que se presentó la base de datos del sistema todas las relaciones están normalizadas en tercera forma normal, ya que los atributos en su totalidad formarían parte de la clave y no hay dependencia entre ellos. Si tomamos en cuenta que una tabla de estudiantes o de materiales puede contener un volumen de millones de registros, al haberle aplicado las 3 formas normales nos estaremos ahorrando varios Gigabytes de tamaño en dicha tabla y por supuesto mejorado notablemente la eficiencia de respuesta.
4. Tiempo de respuesta del sistema
Desde el manejador de la base de datos una consulta tarda en promedio 0.0001 segundos aproximadamente.
Desde el entorno la consulta tarda en promedio 1.0000 segundos aproximadamente.
Entre salto de paginas tarda en promedio 0.0100 segundos aproximadamente.
5. Estandarización de las pantallas
Título: ubicado en la parte superior central.
Hora: ubicada del lado derecho bajo el título.
Menú izquierdo: ubicado en el centro izquierdo de la pantalla, presenta el menú de opciones que tiene el usuario a su disposición.
Panel central: en las pantallas principales está ocupado por un slider de presentación con imágenes, en la sesión de usuario/administrador se carga
con las tablas de datos correspondientes a los procesos de transformación de información.
Resultados
Figura 3. Pantalla principal de usuario
Figura 4. Pantalla principal del administrador
Módulo de reporte PDF Todos los reportes proporcionados en la aplicación MATARIAS_UNEG utilizan la librería “fpdf”
Figura 5. Reporte PDF que muestra las materias disponibles actualmente en el semestre junto a su código descripción y semestre al que pertenece.
Figura 6. Reporte PDF que muestra los archivos existentes en la base de datos del sistema junto con su extensión (tipo de archivo o formato).
Figura 7. Reporte PDF que muestra la relación entre las materias que imparte cada profesor actualmente en el semestre.
Figura 8. Reporte PDF que muestra los profesores con los que cuenta la universidad actualmente junto con su estado laboral “fijo/contratado”.
Modulo de reporte estadístico grafico Todas las graficas proporcionadas en la aplicación MATARIAS_UNEG utilizan la librería “jpgraph”
Figura 9. Reporte grafico de visitas diarias hechas por los usuarios.
Figura 10. Reporte grafico de visitas mensuales hechas por los usuarios
Figura 11. Reporte grafico de los archivos mas descargados por los usuarios
modelo_de_prueba Columna
Tipo
Nulo
id_prueba
int(99)
No
id_materia
int(99)
No
tip_prueba
int(99)
No
Predeterminad o
Enlaces a
materia ->id_materia
nom_prueb varchar(99 No a )
pdfs Columna
Tipo
id_materia int(99) l
No
id_pdf
No
int(99)
Predeterminad o
Nulo
Enlaces a material ->id_material
pro_mat Columna
Tipo
sem_materia int(99)
Nul o No
nom_profeso varchar(99 No r ) nom_materia
varchar(99 No )
profesor Columna id_profesor
Tipo int(99)
Nul o No
nom_profeso varchar(99 No r ) est_profesor
varchar(99 No )
sugerencia Columna
Tipo
Nulo
Predeterminad o
Enlaces a
id_materia int(99)
No
sugerenci int(99) a
No
materia ->id_materia
usuario Columna
Tipo
Nul Predeterminad o o
id_usuario
int(99)
No
nom_usuario
varchar(99 No )
ced_usuario
varchar(99 No )
sex_usuario
varchar(99 No )
cor_usuario
varchar(99 No )
tel_usuario
varchar(99 No )
con_usuario
varchar(99 Sí )
NULL
con_usuario varchar(99 Sí 2 )
NULL
videos Columna
Tipo
Nulo
id_materia int(11) l
No
id_video
No
int(11)
Predeterminad o
material ->id_material
visitas Nulo
Predeterminad o
Sí
NULL
num_visita int(99) s
No
0
tie_visitas
No
Columna fecha
Tipo date
int(99)
Enlaces a
mat_mat Columna id_material
Tipo
Nul Predeterminad o o
int(99)
No
sem_materia int(99)
No
nom_materia varchar(99 Sí l ) tip_material
varchar(99 No )
nom_materia
varchar(99 No )
0
NULL
Conclusiones Después de haber logrado los objetivos planteados en el desarrollo del sistema web del laboratorio se ha llegado a la conclusión de que las herramientas web son muy importantes para compartir información y mejorar la formación del ingeniero en informática. El modelo entidad relación nos ayuda a tener una visión plasmada del minimundo que queremos desarrollar en nuestras aplicaciones al igual que el modelo relacional nos Muestra un esquema de las tablas y de cómo se relacionan entre si. Finalmente si tomamos en cuenta que una tabla de cualquier tipo puede contener un volumen de millones de registros, al haberle aplicado las 3 formas normales nos estaremos ahorrando varios Gigabytes de tamaño en dicha tabla y por supuesto mejorado notablemente la performance.