View
221
Download
0
Category
Preview:
Citation preview
SISTEMA WEB PARA EL APOYO A LA VISUALIZACIÓN DE ESPACIOS ACADÉMICOS DE LOS SALONES POR MEDIO DE CÓDIGOS QR PARA LOS
ESTUDIANTES DEL PROYECTO CURRICULAR DE TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS EN LA FACULTAD TECNOLÓGICA DE LA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
JHONATAN SCHNEIDER MORENO GONZÁLEZ
20092078057
PEDRO LUIS REYES LUNA
20112068053
UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS
BOGOTÁ 2016
SISTEMA WEB PARA EL APOYO A LA VISUALIZACIÓN DE ESPACIOS ACADÉMICOS DE LOS SALONES POR MEDIO DE CÓDIGOS QR PARA LOS
ESTUDIANTES DEL PROYECTO CURRICULAR DE TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS EN LA FACULTAD TECNOLÓGICA DE LA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
JHONATAN SCHNEIDER MORENO GONZÁLEZ
20092078057
PEDRO LUIS REYES LUNA
20112068053
PROYECTO PRESENTADO COMO REQUISITO PARA OPTAR POR EL TÍTULO DE TECNÓLOGO DE SISTEMATIZACIÓN DE DATOS
TUTOR
JOSÉ VICENTE REYES MOZO
INGENIERO DE SISTEMAS
UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS
BOGOTÁ 2016
NOTA DE ACEPTACIÓN
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Jurado 1
ING. JOHANNA DEL PILAR DUEÑAS GALINDO
TUTOR
ING. JOSÉ VICENTE REYES MOZO
Bogotá 07 abril de 2016
Tabla de contenidos RESUMEN.............................................................................................................. 1
ABSTRACT ............................................................................................................ 2
INTRODUCCIÓN .................................................................................................... 3
1. SISTEMA WEB ................................................................................................ 4
1.1 TÍTULO ...................................................................................................... 4
1.2 TEMA ........................................................................................................ 4
1.3 PLANTEAMIENTO DEL PROBLEMA ........................................................ 4
1.3.1 Descripción ......................................................................................... 4
1.3.2 Planteamiento del problema ................................................................ 5
2 OBJETIVOS .................................................................................................. 5
1.4.1 Objetivo General ................................................................................. 5
1.4.2 Objetivos Específicos .......................................................................... 6
1.5 ALCANCES Y LIMITACIONES DEL SISTEMA DE INFORMACIÓN .......... 6
1.5.1 Alcances ............................................................................................. 6
1.5.2 Limitaciones ........................................................................................ 7
1.6 JUSTIFICACIÓN ........................................................................................ 7
1.7 MARCO DE REFERENCIA ....................................................................... 8
1.7.1 Marco Histórico ................................................................................... 8
1.7.2 Marco Teórico ..................................................................................... 9
1.7.3 Marco Conceptual ............................................................................. 13
1.7.4 Marco Metodológico .......................................................................... 14
1.8 FACTIBILIDAD ........................................................................................ 17
1.8.1 Factibilidad de desarrollo................................................................... 17
1.9 CRONOGRAMA ...................................................................................... 20
3 FASE DE ANÁLISIS ...................................................................................... 21
3.1 ANÁLISIS DE REQUERIMIENTOS ......................................................... 21
3.1.1 Requerimientos Funcionales y no funcionales................................... 21
3.2 DIAGRAMA DE FUNCIONES .................................................................. 22
3.3 DEFINICIÓN DE ACTORES .................................................................... 34
3.4 LISTA PRELIMINAR DE CASOS DE USO .............................................. 34
3.4.1 Administrador .................................................................................... 34
3.4.2 Cliente ............................................................................................... 36
3.5 DIAGRAMAS DE CASOS DE USO ......................................................... 38
3.5.1 General ............................................................................................. 38
3.6 DEFINICIÓN DE CASOS DE USO .......................................................... 39
3.6.1 Administrador .................................................................................... 39
3.6.2 Cliente ............................................................................................... 48
3.7 DIAGRAMA DE ACTIVIDAD .................................................................... 50
3.7.1 Administrador .................................................................................... 50
3.7.2 Cliente ............................................................................................... 56
3.8 DIAGRAMA DE SECUENCIA .................................................................. 58
3.8.1 Administrador .................................................................................... 58
3.8.2 Cliente ............................................................................................... 61
3.9 DIAGRAMA DE COLABORACIÓN .......................................................... 61
3.9.1 Administrador .................................................................................... 61
3.9.2 Cliente ............................................................................................... 65
3.10 DIAGRAMA DE ESTADO ..................................................................... 66
3.10.1 Administrador ................................................................................. 66
3.10.2 Cliente............................................................................................ 71
3.11 SELECCIÓN DE HERRAMIENTA ........................................................ 72
4. FASE DE DISEÑO......................................................................................... 72
4.1.1 DICCIONARIO DE DATOS .................................................................. 72
4.2 DIAGRAMA DE CLASES ......................................................................... 76
4.3 MODELO RELACIONAL .......................................................................... 77
CONCLUSIONES ................................................................................................. 77
BIBLIOGRAFÍA ..................................................................................................... 78
ANEXOS .............................................................................................................. 80
Lista de tablas
Tabla 1: Factibilidad Económica Recursos Humanos ........................................... 18
Tabla 2: Factibilidad Económica Recursos Técnicos ............................................ 19
Tabla 3: Factibilidad Económica Costo Total ........................................................ 19
Tabla 4: Requerimientos funcionales .................................................................... 22
Tabla 5: Requerimientos NO funcionales .............................................................. 22
Tabla 6: Definición de actor Administrador ........................................................... 34
Tabla 7: Definición de actor Cliente ...................................................................... 34
Tabla 8: Lista preliminar de casos de uso - Administrador .................................... 36
Tabla 9: Lista preliminar de casos de uso – Cliente .............................................. 37
Tabla 10: Definición de casos de uso - CU01: Ingreso al sistema........................ 40
Tabla 11: Definición de casos de uso - CU02: Insertar datos ............................... 41
Tabla 12: Definición de casos de uso - CU03: Consultar datos ........................... 42
Tabla 13: Definición de casos de uso - CU04: Modificar datos ............................ 43
Tabla 14: Definición de casos de uso - CU05: Eliminar datos .............................. 44
Tabla 15: Definición de casos de uso - CU06: Papelera de reciclaje ................... 45
Tabla 16: Definición de casos de uso - CU07: Gestionar código QR ................... 46
Tabla 17: Definición de casos de uso - CU08: Gestionar comentarios ................. 48
Tabla 18: Definición de casos de uso - CU09: Consultar datos ........................... 49
Tabla 19: Definición de casos de uso - CU10: Hacer un comentario ................... 50
Tabla 20: Diccionario de datos - Answer coments ................................................ 72
Tabla 21: Diccionario de datos – classrooms ........................................................ 73
Tabla 22: Diccionario de datos – comments ......................................................... 73
Tabla 23: Diccionario de datos – courses ............................................................. 73
Tabla 24: Diccionario de datos – persons ............................................................. 74
Tabla 25: Diccionario de datos - schedules_teachers ........................................... 74
Tabla 26: Diccionario de datos – schedules .......................................................... 74
Tabla 27: Diccionario de datos - users .................................................................. 75
Lista de ilustraciones
Ilustración 1: Fases Vs. Disciplinas, metodología RUT ......................................... 15
Ilustración 2: Cronograma de actividades ............................................................. 20
Ilustración 3: Diagrama de flujo – Ingreso al sistema como administrador ............ 22
Ilustración 4: Diagrama de flujo – Insertar datos como administrador ................... 23
Ilustración 5: Diagrama de flujo – Consultas como administrador ......................... 24
Ilustración 6: Diagrama de flujo – Modificar datos como administrador ................. 25
Ilustración 7: Diagrama de flujo – Eliminar datos como administrador .................. 26
Ilustración 8: Diagrama de flujo – Gestionar códigos QR (bloques) ...................... 27
Ilustración 9: Diagrama de flujo – Gestionar códigos QR (profesores) .................. 28
Ilustración 10: Diagrama de flujo – Gestionar comentarios ................................... 29
Ilustración 11: Diagrama de flujo – Consultas como usuario ................................. 30
Ilustración 12: Diagrama de flujo – Consultar horarios por salones ....................... 31
Ilustración 13: Diagrama de flujo – Consultar horarios por profesores .................. 32
Ilustración 14: Diagrama de flujo – Hacer un comentario ...................................... 33
Ilustración 15: Diagrama de caso de uso general - Administrador ........................ 38
Ilustración 16: Diagrama de actividad - Ingreso al sistema ................................... 50
Ilustración 17: Diagrama de actividad - Insertar datos .......................................... 51
Ilustración 18: Diagrama de actividad - Consultar datos ....................................... 51
Ilustración 19: Diagrama de actividad - Modificar datos ........................................ 52
Ilustración 20: Diagrama de actividad - Eliminar datos .......................................... 52
Ilustración 21: Diagrama de actividad - Papelera de reciclaje ............................... 53
Ilustración 22: Diagrama de actividad - Gestionar códigos QR ............................. 54
Ilustración 23: Diagrama de actividad - Gestionar comentarios ............................ 55
Ilustración 24: Diagrama de actividad - Consultar datos ....................................... 56
Ilustración 25: Diagrama de actividad - Hacer un comentario ............................... 57
Ilustración 26:Diamagrama de secuencia - Ingresar al sistema ............................ 58
Ilustración 27:Diamagrama de secuencia - Consultar datos ................................. 59
Ilustración 28:Diamagrama de secuencia - Insertar datos .................................... 59
Ilustración 29:Diamagrama de secuencia - Modificar datos .................................. 60
Ilustración 30: Diagrama de colaboración - Ingreso al sistema ............................ 61
Ilustración 31: Diagrama de colaboración - Insertar datos ................................... 62
Ilustración 32: Diagrama de colaboración - Consultar datos ................................ 62
Ilustración 33: Diagrama de colaboración - Modificar datos ................................. 63
Ilustración 34: Diagrama de colaboración - Eliminar datos................................... 63
Ilustración 35: Diagrama de colaboración - Papelera de reciclaje ........................ 64
Ilustración 36: Diagrama de colaboración - Gestionar códigos QR ...................... 64
Ilustración 37: Diagrama de colaboración - Gestionar comentarios ..................... 65
Ilustración 38:Diagrama de colaboración - Consultar datos .................................. 65
Ilustración 39: Diagrama de colaboración - Hacer un comentario ......................... 66
Ilustración 40: Diagrama de estado - Ingreso al sistema ....................................... 66
Ilustración 41: Diagrama de estado - Insertar datos .............................................. 67
Ilustración 42: Diagrama de estado – Consultas ................................................... 67
Ilustración 43: Diagrama de estado – Modificar datos ........................................... 68
Ilustración 44: Diagrama de estado – Eliminar datos ............................................ 68
Ilustración 45: Diagrama de estado – Papelera de reciclaje .................................. 69
Ilustración 46: Diagrama de estado – Gestionar códigos QR ................................ 70
Ilustración 47: Diagrama de estado – Gestionar comentarios ............................... 70
Ilustración 48: Diagrama de estado – Consultar datos .......................................... 71
Ilustración 49: Diagrama de estado – Hacer un comentario .................................. 71
Ilustración 50: Modelo relacional ........................................................................... 77
GLOSARIO
FUNCIÓN: Es un grupo de instrucciones que realizan ciertas acciones dentro de un programa.
PROGRAMACIÓN: Es el proceso de diseñar, desarrollar, crear, codificar, depurar un programa que realice las accione deseadas.
INTERFAZ: Es la parte de un programa que permite el flujo de información entre un
usuario y la aplicación, o entre la aplicación y otros programas o periféricos. Esa
parte de un programa está constituida por un conjunto de comandos y métodos que
permiten estas intercomunicaciones.
CONTRASEÑA: Una contraseña es un código o una palabra que se utiliza para
acceder a datos restringidos de un ordenador.
APLICACIÓN: Es aquel que hace que el computador coopere con el usuario en la
realización de tareas típicamente humanas, tales como gestionar una contabilidad
o escribir un texto.
ALGORITMO: Es un conjunto ordenado y finito de operaciones que permite hallar
la solución de un problema.
INTERNET: Red informática de comunicación internacional que permite el
intercambio de todo tipo de información entre sus usuarios.
PROCESO: Se refiere a la ejecución de diversas instrucciones por parte del
microprocesador, de acuerdo a lo que indica un programa.
PDF: Es un documento de tipo portable de almacenamiento utilizado en documentos digitales. Este formato está compuesto por imágenes vectoriales, mapas de bits y texto.
WEB: Información electrónica que se encuentra adaptada en la www (Word Wide Web) su contenido varía en imágenes, videos, sonidos, texto, enlaces, etc. Se puede acceder por medio de un navegador.
NAVEGADOR: Es un programa que permite el acceso a internet o en concreto a una página web, interpretando los diferentes tipos de archivos que contiene esta para mostrar y visualizar la información de buena manera.
1
RESUMEN
Este proyecto tiene como objetivo, desarrollar un sistema de información web que contenga los datos de espacios académicos, salones, laboratorios y profesores, para los estudiantes de sistematización de datos. Lo que ayudaría a tener esta información (incluyendo horarios de atención a estudiantes) de manera oportuna, en cualquier momento y espacio con una conexión a internet.
El presente proyecto de grado, pertenece a la modalidad de monografía, el cual se
está desarrollando utilizando la metodología RUP [19], su objetivo principal es el
software de alta calidad reuniendo elementos de modelos de procesos generales,
partiendo de una perspectiva dinámica sobre la faces del modelo sobre el tiempo,
estática que muestra las actividades del proceso que se representan y práctica que
ilustra buenas prácticas durante el proceso, partiendo por la recolección de
información necesaria hasta el modelamiento del negocio por medio de diagramas
UML.
Iniciaremos con el análisis de requerimientos funcionales y no funcionales, los
cuales contribuyen con vista general de lo que se va a realizar en la aplicación y la
forma en la que se mostrará el sistema de información, luego, se pasará a realizar
los diagramas de casos de uso, junto con la definición de la lista preliminar de los
diagramas en mención, seguido de los diagramas de flujo, en donde, estos, serán
de utilidad para definir lo que realizará el sistema, a continuación, se efectuará el
diseño de los diagramas de actividad, secuencia, colaboración y estados, los cuales
tienen como función puntualizar todo el modelado del negocio. Finalmente se
entrará a la fase de diseño, mostrando el diccionario de datos y diagrama de clases,
clausurando con el modelo de interfaz.
2
ABSTRACT
This project has as aim, develop a web information system that contains the information of academic spaces, classrooms, laboratories and teachers, for the students of systematizing of information. It would help to be had by this information (including schedules of attention to students) of an opportune way, at any time and I spread with a connection Internet.
The present project of degree, it belongs to the modality of monograph, which is developing using the methodology RUP [19], his principal aim is the software of high quality assembling model elements of general processes, departing from a dynamic perspective on the faces of the model on the time, statics that shows the activities of the process that are represented and practice that illustrates good practices during the process, dividing for the compilation of necessary information up to the modeling of the business by means of graphs UML.
We will initiate with the analysis of functional and not functional requirements, which contribute with general sight of what is going to be realized in the application and the form in the one that will show herself the information system, then, will happen to realize to him the graphs of cases of use, together with the definition of the preliminary list of the graphs in mention, followed by the flow charts, where, these, they will be of usefulness to define what will realize the system, later, there will be effected the design of the graphs of activity, sequence, collaboration and conditions, which have as function specify the whole shaped one of the business. Finally, it will be entered to the phase of design, showing the dictionary of information and graph of classes, closing with the model of interface.
3
INTRODUCCIÓN
El presente proyecto tiene como objetivo principal desarrollar un sistema de
información web que contenga los datos de espacios académicos, salones,
laboratorios y profesores enfocado al Proyecto Curricular de Tecnología en
Sistematización de datos perteneciente a la facultad tecnológica de la Universidad
Distrital Francisco José de Caldas. Ayudando a centralizar y a presentar la
información con alta disponibilidad a los estudiantes del programa académico en
mención.
Inicialmente se definirá las etapas de desarrollo, describiendo el planteamiento del
problema, delimitando objetivos, alcances y limitaciones, en un marco de
conceptualización para mostrar qué tan viable es el proyecto. Consecutivamente,
se podrá visualizar la fase de análisis en donde se describe puntualmente el
modelado del negocio por medio de requerimientos del sistema, funciones,
definición de actores, entre otros, utilizando el modelamiento UML.
Asimismo, se detalla la fase de diseño donde se muestra el diccionario de datos, el
diagrama de clases, modelo relacional e interfaz. Para finalizar encontraremos la
fase de implementación, pruebas y testeo, en el cual se detalla la documentación
para declarar clases, métodos, variables, procedimientos, etc. Añadiendo los
resultados de las pruebas realizadas al sistema de información WEB y se
especificará lo requisitos de software y hardware para utilizar la página.
4
1. SISTEMA WEB
1.1 TÍTULO
Sistema web para el apoyo a la visualización de espacios académicos de los salones por medio de códigos QR para los estudiantes del proyecto curricular de tecnología en sistematización de datos en la facultad tecnológica de la Universidad Distrital Francisco José de Caldas.
1.2 TEMA
Consulta dinámica, código QR, horarios, navegación web, PDF.
1.3 PLANTEAMIENTO DEL PROBLEMA
1.3.1 Descripción
El Proyecto Curricular en Sistematización de datos perteneciente a la facultad
tecnológica de la Universidad Distrital Francisco José de Caldas, actualmente
cuenta con un sistema de información en todo lo que se refiere a horarios
académicos de profesores, estudiantes, salones y laboratorios de informática, pero
¿Esta información está disponible para todos(as) los(as) estudiantes pertenecientes
al Proyecto Curricular, o a la comunidad en general? ¿Es posible saber las horas
de atención de los profesores de planta, medio y tiempo completo a estudiantes a
través de una aplicación? En el caso de que un profesor desee realizar una clase
extra ¿puede saber con certeza qué aula o laboratorio está disponible? ¿Existe una
aplicación que muestre esta información a cualquier momento y en cualquier parte?
Los horarios de los salones y laboratorios estaban disponibles en una hoja tamaño
carta adherida a la entrada del mismo, que contenía las materias, horas en las que
se desarrollaban y el nombre del profesor. Aunque actualmente no están en el aula,
el sistema Cóndor tampoco permite tener acceso a la información como se quisiera,
lo que causa confusiones en algunas ocasiones, a estudiantes nuevos y profesores
con una misma aula asignada.
Las horas de atención a estudiantes, de los profesores de medio tiempo, tiempo
completo y de planta, se pueden ver en la coordinación del proyecto curricular a
través de una carpeta que contiene estos datos, pero a esta información no se
5
puede acceder en determinados casos, como por ejemplo fuera de los horarios de
atención o cuando no es posible el ingreso.
En ciertas circunstancias, algunos profesores requieren de una sala o laboratorio
libre, en ese momento, es preciso que el profesor o algún estudiante busquen un
espacio para determinadas actividades académicas. Con sólo ingresar a una
aplicación que tenga esta información, sería mucho más sencilla la búsqueda y sin
tantas pérdidas de tiempo.
No existe una aplicación que muestre los horarios de atención de los profesores,
aulas, laboratorios de informática y la disponibilidad de los mismos. Es necesario
implementar una solución que, involucre facilidades a los estudiantes y profesores
de acceder a esta información, evitando confusiones e implicando un menor gasto
en recursos de papelería (ecológica).
Un sistema web que permita reunir esta información, optimizaría tiempos al
momento de buscar a un profesor, encontrar un lugar disponible para actividades
académicas, evitar estudiantes o profesores perdidos, además de esto, ecológico,
económico y práctico para los usuarios de la sede tecnológica.
1.3.2 Planteamiento del problema
¿Los datos de horarios de salones, laboratorios y profesores están disponible para todos(as) los(as) estudiantes pertenecientes al Proyecto Curricular en sistematización de la facultad tecnológica de la Universidad Distrital Francisco José de Caldas, o a la comunidad en general?
¿Es posible saber las horas de atención de los profesores de planta, medio y tiempo completo a estudiantes a través de una aplicación?
En el caso de que un profesor desee realizar una clase extra ¿puede saber con certeza qué aula o laboratorio está disponible?
¿Existe una aplicación que muestre esta información a cualquier momento y en cualquier parte?
2 OBJETIVOS
1.4.1 Objetivo General
Desarrollar un sistema de información web que contenga los datos de espacios académicos, salones, laboratorios y profesores. Enfocado al Proyecto Curricular de
6
Tecnología en Sistematización de datos perteneciente a la facultad tecnológica de la Universidad Distrital Francisco José de Caldas.
1.4.2 Objetivos Específicos
- Realizar un análisis que nos permita obtener requisitos de la información a
manejar.
- Recolectar información para la base de datos.
- Implementar el módulo de consulta, realizando la conexión con el formulario web.
- Implementar el módulo para generar códigos QR que contengan los datos de los
espacios académicos de determinado salón o laboratorio de informática
perteneciente al proyecto curricular Tecnología en Sistematización de Datos.
- Implementar el módulo para generar PDF’s al momento de consultar los horarios
de los salones.
- Implementar módulo de administración, creando un usuario que pueda ingresar a
gestionar (CRUD) la base de datos.
- Efectuar pruebas sobre cada uno de los módulos implementados y la página web.
1.5 ALCANCES Y LIMITACIONES DEL SISTEMA DE INFORMACIÓN
1.5.1 Alcances
Este sistema apoyará a los estudiantes pertenecientes al proyecto curricular de
sistematización de datos, que estén interesados en consultar los horarios de los
salones disponibles en la facultad tecnológica. Las características que tendrá el
sistema desarrollado son:
Permite la administración de la base de datos por medio de un usuario y
contraseña, esta gestión se hace desde la página web.
Genera códigos QR para su posterior impresión (esto únicamente lo puede
hacer el usuario administrador).
Generador del(os) horario(s) deseado(s) en archivo PDF para su descarga.
Permite acceder a la página web desde cualquier dispositivo móvil.
En la página principal muestra dinámicamente los salones o laboratorios
disponibles para uso académico.
Permite realizar consultas de horarios de salones y profesores. Para los
salones debe seleccionar el bloque en el mapa de la facultad, seguido del
7
salón particular de interés En el caso del horario de un profesor, debe
seleccionar el nombre y automáticamente se genera.
Admite ver la información de contacto (correo electrónico) del profesor en el
caso de búsqueda por profesores.
Opción de contacto para reportar algún problema o posible corrección en la
Base de Datos.
Irá enfocado a los estudiantes y profesores del proyecto curricular Tecnología en sistematización de datos de la Facultad tecnológica de la Universidad Distrital Francisco José de Caldas.
1.5.2 Limitaciones
No tiene una conexión directa con los servicios de la universidad o hipervínculo en la página de la misma.
El servicio sólo está disponible si tiene conexión a internet.
La lectura de códigos QR puede variar según la aplicación con que haga la acción.
La actualización de base de datos, la visualización y respuesta de mensajes del apartado de “contáctenos” puede ser lenta según la disponibilidad de quien esté designado como administrador.
1.6 JUSTIFICACIÓN
Existe gran variedad de sitios web que contienen información condensada de un
ente, teniéndola organizada y disponible para la comunidad que pertenece al
mismo, un ejemplo claro de esto, es la página gubernamental colombiana [18] Si
Virtual, la cual permite consultar todos los trámites que podemos realizar de manera
virtual y presencial, puntos de atención más cercanos por medio de un mapa
interactivo, plazos de fechas límites de trámites para estar al día con el estado y
mucho más. Esto es un claro ejemplo de que concentrar y presentar la información
tiene utilidad a la hora de que el usuario final requiera o necesite determinado dato.
Hoy por hoy la adquisición de información, está requiriendo mayor inmediatez,
fiabilidad, confiabilidad, portabilidad, disponibilidad. Es por eso que es conveniente
tener esa información condensada en un lugar de fácil acceso.
El Proyecto Curricular de tecnología de sistematización de datos, maneja la
información de los horarios de cada profesor, disponibles en una carpeta física para
ser consultados por quien lo desee; lastimosamente esta información en ocasiones
no está actualizada o disponible en cualquier momento, debido a que los horarios
de atención de la coordinación son de 9:00am a 5:00pm, añadiendo, que si se desea
8
conocer el email para hacer contacto con los profesores de manera electrónica es
necesario ingresar al sistema Cóndor; en pocas palabras esta información está
dispersa.
Por medio de la página web y la ayuda de los códigos QR, se logra el objetivo de
distribuir la información de los horarios de cada salón, que corresponden al proyecto
curricular de sistematización de datos en la facultad tecnológica, ayudando a los
estudiantes del mismo, para así poder ubicar sus aulas de clases y materias de una
mejor manera. Esto se obtiene de dos maneras, la primera es ingresando al sitio
web, en su página de inicio muestra la información de forma dinámica de los salones
o laboratorios disponibles para uso académico, además tiene un módulo de
búsqueda personalizada que muestra el horario de conveniencia o simplemente
para encontrar o contactar a un profesor. El otro modo disponible, es con la ayuda
del código QR ubicado a la entrada de cada aula, al realizar el escaneo por medio
de un dispositivo móvil, se obtiene un link para descarga un archivo en formato PDF,
que contiene la información detallada del horario que tiene el lugar en mención.
1.7 MARCO DE REFERENCIA
1.7.1 Marco Histórico
Nuestra aplicación no es la única existente con la función de centralizar información
y mostrarla por medio de códigos QR, a continuación, se muestra una aplicación
llamada QR UJTL, la cual se entrará a revisar y comprar con la nuestra.
PROYECTO INFORMACIÓN EN LÍNEA SOBRE LAS AULAS - QR UJTL [1]
¿Qué hace?
Es una página web que le permite a los estudiantes de la universidad Jorge Tadeo Lozano ubicar de forma ágil y oportuna la información sobre las cátedras que se dictan en cada aula y su ubicación física en el campus universitario, además cuenta con la posibilidad de generar códigos QR, estos se ubicarán en cada aula, al ser leídos con un smartphone serán redirigidos al portal mencionado previamente.
¿En qué se diferencia QR UJTL al proyecto?
La diferencia entre estos proyectos radica en la cobertura de información, el nuestro mostrará la información disponible para el proyecto curricular Tecnología en
9
sistematización de datos, además contará con un módulo que permitirá consultar los horarios de atención a estudiantes y las asignaturas dictadas de cada profesor.
1.7.2 Marco Teórico
LARAVEL [2]
Laravel es un framework para aplicaciones web con sintaxis expresiva y elegante.
Creemos que el desarrollo debe ser una experiencia agradable y creativa para que
sea verdaderamente enriquecedora. Laravel busca eliminar el sufrimiento del
desarrollo facilitando las tareas comunes utilizadas en la mayoría de los proyectos
web, como la autenticación, enrutamiento, sesiones y almacenamiento en caché.
También pretende hacer que el proceso de desarrollo sea agradable para el
desarrollador sin sacrificar funcionalidades de la aplicación. Desarrolladores felices
hacen mejor código. Con este fin, hemos intentando combinar lo mejor que hemos
visto en otros frameworks web, incluyendo frameworks de otros lenguajes, como
Ruby on Rails, ASP.NET MVC y Sinatra.
Es accesible, pero potente, ofreciendo herramientas poderosas necesarias para
aplicaciones de gran envergadura. Un espléndido contenedor de inversión de
control, sistema de migraciones expresivo, y un soporte para pruebas unitarias
estrechamente integrado, te entregan las herramientas que necesitas para construir
cualquier aplicación que te hayan encargado.
SYMPHONY [3]
Symfony es un completo framework diseñado para optimizar, gracias a sus
características, el desarrollo de las aplicaciones web. Para empezar, separa la
lógica de negocio, la lógica de servidor y la presentación de la aplicación web.
Proporciona varias herramientas y clases encaminadas a reducir el tiempo de
desarrollo de una aplicación web compleja. Además, automatiza las tareas más
comunes, permitiendo al desarrollador dedicarse por completo a los aspectos
específicos de cada aplicación. El resultado de todas estas ventajas es que no se
debe reinventar la rueda cada vez que se crea una nueva aplicación web.
Symfony está desarrollado completamente con PHP y ha sido probado con éxito en
sitios como Yahoo! Answers, delicious, DailyMotion y muchos otros sitios web de
primer nivel. Symfony es compatible con la mayoría de gestores de bases de datos,
como MySQL, PostgreSQL, Oracle y SQL Server de Microsoft. Se puede ejecutar
tanto en plataformas *nix (Unix, Linux, etc.) como en plataformas Windows.
10
ENTRUST [4]
Es un framework diseñado en php para agregar permisos basados en roles para
Laravel 4.2, facilitando el proceso de desarrollo de sistemas web que requieran
establecer restricciones a los módulos existentes en este.
SWIFTMAILER [5]
Es un framework que proporciona una gran cantidad de clases que realizan una
serie de tareas complejas, de modo que usted no tenga que hacerlo. Se puede
utilizar Swift Mailer dentro de una aplicación para que pueda disponer del envío de
mensajes de correo electrónico.
COMPOSER [6]
Composer es un gestor de dependencia para PHP. Compositor gestionará las
dependencias que se requieren en un proyecto por proyecto. Esto significa que
Compositor tirará en todas las bibliotecas, dependencias necesarias y gestionarlos
en un solo lugar.
SQL [7]
El SQL es el lenguaje estándar ANSI/ISO de definición, manipulación y control de
bases de datos relacionales. Es un lenguaje declarativo: sólo hay que indicar qué
se quiere hacer. En cambio, en los lenguajes procedimentales es necesario
especificar cómo hay que hacer cualquier acción sobre la base de datos. El SQL es
un lenguaje muy parecido al lenguaje natural; concretamente, se parece al inglés, y
es muy expresivo. Por estas razones, y como lenguaje estándar, el SQL es un
lenguaje con el que se puede acceder a todos los sistemas relacionales
comerciales.
SQL SERVER [8]
SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) de
Microsoft que está diseñado para el entorno empresarial. SQL Server se ejecuta en
T-SQL (Transact -SQL), un conjunto de extensiones de programación de Sybase y
Microsoft que añaden varias características a SQL estándar, incluyendo control de
transacciones, excepción y manejo de errores, procesamiento fila, así como
variables declaradas.
XAMPP [9]
XAMPP, es un servidor de plataforma libre, es un software que integra en una sola
aplicación, un servidor web Apache, intérpretes de lenguaje de scripts PHP, un
servidor de base de datos MySQL, un servidor de FTP FileZilla, el popular
administrador de base de datos escrito en PHP, MySQL, entre otros módulos.
11
Te permite instalar de forma sencilla Apache en tu propio ordenador, sin importar tu
sistema operativo (Linux, Windows, MAC o Solaris). Y lo mejor de todo es que su
uso es gratuito.
SUMBLIME TEXT [10]
Sublime Text es un editor de texto y editor de código fuente está escrito en C++ y
Python para los plugins.1 Desarrollado originalmente como una extensión de Vim,
con el tiempo fue creando una identidad propia, por esto aún conserva un modo de
edición tipo vi llamado Vintage mode.
Se distribuye de forma gratuita, sin embargo, no es software libre o de código
abierto, se puede obtener una licencia para su uso ilimitado, pero él no disponer de
ésta no genera ninguna limitación más allá de una alerta cada cierto tiempo.
HTML [11]
Es un lenguaje que se utiliza fundamentalmente en el desarrollo de páginas web.
HTML es la sigla de HiperText Markup Language (Lenguaje de Marcación de
Hipertexto) es un lenguaje es se utiliza comúnmente para establecer la estructura y
contenido de un sitio web, tanto de texto, objetos e imágenes. Los archivos
desarrollados en HTML usan la extensión .htm o .html.
El lenguaje de HTML funciona por medio de “etiquetas” que describen la apariencia
o función del texto enmarcado. Este lenguaje puede llegar a incluir un script o código
que tenga incidencia en el comportamiento del navegador web de elección.
CSS [12]
CSS es un lenguaje de hojas de estilos creado para controlar el aspecto o
presentación de los documentos electrónicos definidos con HTML y XHTML. CSS
es la mejor forma de separar los contenidos y su presentación y es imprescindible
para crear páginas web complejas.
Separar la definición de los contenidos y la definición de su aspecto presenta
numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien
definidos y con significado completo (también llamados "documentos semánticos").
Además, mejora la accesibilidad del documento, reduce la complejidad de su
mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos
diferentes.
AJAX [13]
Acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es
una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich
Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el
12
navegador de los usuarios mientras se mantiene la comunicación asíncrona con el
servidor en segundo plano. De esta forma es posible realizar cambios sobre las
páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y
usabilidad en las aplicaciones.
JQUERY [14]
Es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite
simplificar la manera de interactuar con los documentos HTML, manipular el árbol
DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica
AJAX a páginas web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC.
jQuery es la biblioteca de JavaScript más utilizada
SELECT2 [15]
Es una librería desarrollada en jquery y ajax con el fin de mostrar resultados en
tiempo real consultados directamente en una base de datos.
XML [16]
XML (eXtensible Markup Language = Lenguaje de Marcas Extensible) no es un
lenguaje de marcas, sino un metalenguaje, es decir, el XML define las reglas
generales que debe cumplir un lenguaje de marcas y la manera de definir un
lenguaje de marcas.
El XML fue creado por el W3C a finales de los 90. El W3C se creó en 1994 para
tutelar el crecimiento y organización de la web. Su primer trabajo fue normalizar el
HTML, el lenguaje de marcas con el que se escriben las páginas web. Al crecer el
uso de la web, crecieron las presiones para ampliar el HTML. El W3C decidió que
la solución no era ampliar el HTML, sino crear unas reglas para que cualquiera
pudiera crear lenguajes de marcas adecuados a sus necesidades, pero
manteniendo unas estructuras y sintaxis comunes que permitieran compatibilizarlos
y tratarlos con las mismas herramientas. Ese conjunto de reglas es el XML, cuya
primera versión se publicó en 1998.
Lógicamente, el HTML no cumple las normas del XML ya que el HTML es anterior
al XML. El creador del HTML, Tim Berners-Lee, se basó en el SGML, otro conjunto
de reglas para la creación de lenguajes de marcas creado en los años 80 y más
complejo que el XML. Una vez creado el XML, el W3C aprobó en el año 2000 el
XHTML, una versión del HTML que sí que cumple las reglas del XML. El W3C
pretendió sin éxito que el HTML dejara de utilizarse y sólo se utilizara XHTML. Al no
conseguirlo, el W3C decidió retomar el desarrollo del HTML (incluyendo en él una
versión XHTML). No se espera que la próxima versión de HTML, el HTML 5, esté
terminada antes del 2014, pero los navegadores ya incorporan muchas de sus
características.
13
PHP [17]
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor, y se trata
de un lenguaje de scripting para la programación de páginas dinámicas de servidor.
Es un lenguaje de tipo gratuito, y forma parte del software que se conoce como de
código abierto (Open Source). Es decir que se le pueden introducir modificaciones
y mejoras y ponerlas a disposición de los demás usuarios del mismo.
Otra característica importante es que se trata de un lenguaje multiplataforma, esto
quiere decir que la aplicación web desarrollada en PHP puede funcionar en casi
cualquier tipo de plataforma Windows, Unix/Linux (y sus diferentes versiones y
distribuciones). También ofrece soporte a los motores de base de datos más
populares (SQL Server, MySQL, PosgresSQL, Oracle, etc.), como así también
acceso ODBC (open database conectivity).
Una aplicación web basada en PHP necesita dos tipos de software. El primero es un servidor web que va a atender las peticiones de los usuarios y devolverá las páginas solicitadas. El servidor Apache, tanto su versión Windows como Linux es el más utilizado. El segundo software es el propio PHP, es decir el módulo que se va a encargar de interpretar y ejecutar los scripts que se soliciten al servidor.
1.7.3 Marco Conceptual
Administrador: Este es el rol encargado de manipular el CRUD implementado en
el módulo, además de generar los códigos QR necesarios.
Invitado: Este es el rol creado para que los usuarios que desean ingresar en el
sistema, puedan visualizar la información que desean consultar.
Filtro: Es un programa informático para procesar una corriente de datos.
Encriptar: En informática, convertir un texto normal en un texto codificado de forma
que las personas que no conozcan el código sean incapaces de leerlo.
Desencriptar: Descodificar mediante las claves adecuadas la información que
previamente se había encriptado.
Android: Las aplicaciones Android están creadas en el lenguaje de programación
orientado a objetos Java. El SDK de Android tiene un conjunto de herramientas que
permitirán compilar el código, incluyendo los datos y los recursos, y lo meterá
XML: XML (eXtensible Markup Language = Lenguaje de Marcas Extensible) no es
un lenguaje de marcas, sino un metalenguaje, es decir, el XML define las reglas
14
generales que debe cumplir un lenguaje de marcas y la manera de definir un
lenguaje de marcas.
Ajax: Acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y
XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA
(Rich Internet Applications).
JQuery: Es una biblioteca de JavaScript, que permite facilitar la manera de
interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos,
desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web.
1.7.4 Marco Metodológico
Rational Unified Process (RUP)
RUP es un procedimiento de desarrollo de software y junto con el Lenguaje
Unificado de Modelado (UML), compone la metodología estándar más manejada
para el análisis, implementación y documentación de sistemas orientados a objetos.
RUP soporta diagramas UML para aceptar y comprobar los sistemas que se estén
desarrollando.
Características principales:
Forma exacta de establecer tareas y responsabilidades.
Pretende implementar las mejores prácticas en Ingeniería de Software.
Desarrollo iterativo e incremental.
Administración de requerimientos.
Uso de arquitectura basada en componentes.
Control de cambios.
Modelado visual del software.
Verificación de la calidad del software.
Diseñado para ser flexible y extensible.
El RUP es un producto de Rational (IBM). Se identifica por ser iterativo e
incremental, estar enfocado en la arquitectura y guiado por los casos de uso.
Contiene artificios (que son los productos sensibles del proceso como, por ejemplo,
el modelo de casos de uso, el código fuente, etc.) y roles (papel que ejerce una
persona en un determinado momento, una persona puede desempeñar distintos
roles a lo largo del proceso).
Guiado por los casos de uso significa que se utilizan como artefacto básico para
para crear el comportamiento esperado del sistema, para certificar y comprobar la
15
arquitectura del sistema, para las pruebas y para la comunicación entre las personas
involucradas en el proyecto.
Centrado en la arquitectura significa que la arquitectura del sistema se utiliza
como un artefacto básico para conceptualizar, montar, gestionar y hacer crecer el
sistema en desarrollo.
Un proceso reiterado es aquel que involucra la gestión de un flujo de ejecutables
del sistema.
Un proceso incremental es aquel que involucra la continua unión de la arquitectura
del sistema para producir esos ejecutables, donde cada ejecutable reúne mejoras
incrementales sobre los otros.
Una iteración es un conjunto bien definido de acciones, con un plan y unos criterios
de valoración bien determinados, que acaba en una versión, bien interna o externa.
Ciclo de vida: El ciclo de vida RUP es una implementación del Desarrollo en espiral.
Fue creado enlazando los elementos en encadenamientos semi-ordenadas. El ciclo
de vida organiza las tareas en fases e iteraciones. RUP divide el proceso en cuatro
fases, dentro de las cuales se realizan varias iteraciones en número variable según
el proyecto y en las que se hace un mayor o menor hincapié en las distintas
actividades.
RUP presenta 2 dimensiones:
Tiempo.
Componentes.
En la Figura muestra cómo varía el esfuerzo asociado a las disciplinas según la fase
en la que se encuentre el proyecto RUP.
Ilustración 1: Fases Vs. Disciplinas, metodología RUT1
1 Ilustración tomada de: http://www.comoustedyasabe.com.ar/datos/Tercero/1er_cuatrimestre/Metodologias/Apuntes_CUYS/Apunte_Final.pdf
16
Incepción
Los principales Artefactos involucrados en la toma de requerimientos son:
Los modelos de Casos de Uso
La descripción de los Actores.
La descripción de la Arquitectura.
El Glosario de términos y el Prototipo de Interfaz de Usuario.
La fase inicial o de Incepción se centra más en la captura de requerimientos
pues se establecen los criterios de alcance y los conflictos, se valoran los
recursos necesarios y se define la eficacia del sistema.
Elaboración
Los principales Artefactos involucrados en el Análisis y el diseño son:
Las Clases de Análisis.
Las Realizaciones de Casos de Uso a nivel de Análisis.
Los Paquetes de Análisis y La descripción de la Arquitectura.
Identificar Actores y Casos de Uso.
Priorizar los Casos de Uso.
Detallar Casos de Uso.
Prototipo de la Interfaz de Usuario y Estructuración del Modelo de Casos de
Uso.
El Modelo de Diseño.
Las Clases de Diseño.
Las Realizaciones de Casos de Uso a nivel de Diseño.
Los Subsistemas a nivel de Diseño.
Las Especificaciones de Interfaces
El modelo de Deployment y la descripción de la Arquitectura.
La fase de Elaboración se centra en el análisis y diseño pues se analiza el ámbito
del problema, se crea una instauración arquitectónica del sistema y se tratan los
elementos de más alto conflicto para el proyecto.
Construcción
La fase de Construcción se centra en la implementación y el testing, ya que se
desarrolla iterativa e incrementalmente un producto completo para ser entregado en
la fase actual a la comunidad de usuarios.
Los principales Artefactos involucrados en la Implementación son:
El modelo de Implementación.
17
Los Componentes.
Los Subsistemas a nivel de Implementación.
Las Especificaciones de Interfaces.
La descripción de la Arquitectura y el Plan de Construcción e Integración.
Implementar la Arquitectura.
Integrar el Sistema.
Implementar Subsistemas.
Implementar Clases y Realizar Test de Unidades individuales.
Transición
En esta etapa se entrega el producto a los usuarios, lo que incluye construir,
entregar, entrenar, dar soporte y conservar el producto hasta que los usuarios estén
satisfechos.
Testing
Los Testing’ s (pruebas de software) son los procesos que permiten verificar, validar
y revelar la calidad de un producto software.
VERIFICAR: ¿Estamos creando el sistema de manera correcta?
VALIDAR: ¿Estamos diseñando el sistema correcto?
Las pruebas de software se integran dentro de las diferentes fases del Ciclo del
software dentro de la Ingeniería de software. Así se ejecuta un programa y mediante
técnicas experimentales se trata de descubrir que errores tiene.
1.8 FACTIBILIDAD
1.8.1 Factibilidad de desarrollo
1.8.1.1 Factibilidad Técnica
En el proyecto a realizar se hará el uso de herramientas tales como: Sublime Text, SQL Server 2008 R2, XAMPP. En Sublime Text se editarán los archivos HTML, PHP, CSS y JS. SQL Server se utilizará para crear la base de datos que almacenará la información de los horarios, profesores y salones, necesaria para brindar la máxima disponibilidad y confiabilidad de la misma, XAMPP lo usaremos como servidor local, para construir y realizar pruebas al sistema web.
1.8.1.2 Factibilidad Operativa
El desarrollo del proyecto se encuentra estimado en un tiempo considerable, cuenta con el respaldo de José Vicente Reyes Mozo (Tutor del Proyecto, de la Universidad Francisco José de Caldas). Y como gestores del proyecto Jhonatan Schneider
18
Moreno González y Pedro Luis Reyes, estudiantes de la Universidad Distrital quienes están optando por el título de tecnología en sistematización de datos.
1.8.1.3 Factibilidad Legal
Se cuenta por completo con el licenciamiento del software requerido para el desarrollo del proyecto y se trabajará teniendo en cuenta las leyes de normatividad de desarrollo de software. El software necesario sería: Windows 10 Single Language 64 bits, MySQL, Sublime Text 2 y XAMPP.
1.8.1.4 Factibilidad Económica
En el presente proyecto no se va a incurrir en gastos de software, más sin embargo si en hardware, requerido para pruebas y desarrollo.
La factibilidad económica del proyecto es alta, ya que lo que necesitamos en términos financieros son mínimo dos equipos de trabajo, asesorías de los tutores del proyecto, acceso a Internet y papelería para realizar el modelado del proyecto.
En las tablas que se presentaran a continuación se describe la factibilidad económica, identificando los costos de papelería, hardware, software y recursos humanos necesarios para la realización del proyecto de investigación que se propone.
Se dividió en tres aspectos, recursos humanos, recursos técnicos y otros recursos, la distinción de los recursos humanos se presenta en la Tabla 1 Factibilidad de Recursos Humanos.
Tipo Descripción Valor-Hora Cantidad Total
Tutor 1 Asesorías para la realización del proyecto, referente a la metodología.
$ 40.000 2 horas semanales (15 semanas)
$ 680.000
Desarrolladores
Dos (2) programadores que realicen la implementación de la solución.
$ 30.000 30 horas semanales (15 semanas)
$ 13.500.000
Total Recursos Humanos $ 14.180.000
Tabla 1: Factibilidad Económica Recursos Humanos
19
Aquí se presenta las asesorías que se tendrán y los gastos de los desarrolladores.
A continuación, en la Tabla 2 se presentarán los gastos de los recursos que se ostentan en el desarrollo del proyecto.
Recurso Descripción Valor Unitario
Cantidad Total
Computadores
Equipos portátiles para el desarrollo y las pruebas del sistema.
$ 1.000.000
$ 2.000.000
1 $ 3.000.000
Total Recursos Técnicos $ 3.000.000
Tabla 2: Factibilidad Económica Recursos Técnicos
Adicionalmente se muestran los gastos adicionales en la Tabla 3 que serán solventados por desarrolladores del proyecto.
Recurso Valor
Total Recursos Humanos $ 14.180.000
Total Recursos Técnicos $ 3.000.000
Total Otros recursos $ 300.000
Costos imprevistos (10%) $ 1.748.000
TOTAL COSTO $ 19.228.000
Tabla 3: Factibilidad Económica Costo Total
21
3 FASE DE ANÁLISIS
3.1 ANÁLISIS DE REQUERIMIENTOS
3.1.1 Requerimientos Funcionales y no funcionales
Requerimientos funcionales
Código Descripción Nombre Caso de uso
RF01
El sistema debe permitir al Administrador ingresar por medio de unas credenciales de acceso predefinidas.
CU - Módulo Administrador - Ingreso al sistema
RF02 El sistema debe contener una base de datos fácilmente administrable, por medio de la página web.
RF03
El sistema debe permitir al Usuario hacer consultas sobre los horarios de los profesores y salones
CU - Módulo de consultas - Consultar datos
RF04 El sistema debe permitir al Administrador ver notificaciones de reportes de Usuarios en tiempo real
CU - Módulo administrador - Ver comentarios
RF05 El sistema debe permitir al Usuario reportar un error relacionado con la página.
CU - Reportar un error
RF06 El sistema debe permitir al Administrador consultar registros de la base de datos.
CU - Módulo administrador - Consultar datos
RF07 El sistema debe permitir al Administrador agregar registros a la base de datos
CU - Módulo administrador - Agregar datos
RF08 El sistema debe permitir al Administrador modificar registros de la base de datos
CU - Módulo administrador - Modificar datos
RF09 El sistema debe permitir al Administrador eliminar registros de la base de datos.
CU - Módulo administrador - Eliminar datos
RF10
El sistema debe permitir al Administrador consultar los comentarios o reportes de problemas
CU - Módulo administrador - Ver comentarios
22
RF11
El sistema debe permitir al Administrador responder comentarios o reportes de problemas
CU - Módulo administrador - Responder comentarios
RF12 El sistema debe permitir generar códigos QR de los horarios almacenados en la base de datos.
CU - Módulo administrador - Código QR
Tabla 4: Requerimientos funcionales
Requerimientos NO funcionales
Código Descripción
RNF01 El sistema debe de tener los datos de contacto de los desarrolladores y administrador.
RNF02 El sistema debe contener el logo de la universidad y del aplicativo
RNF03 El sistema debe mostrar en nombre del módulo en el que se encuentra el usuario
RNF04 El sistema debe poderse visualizar en cualquier dispositivo
Tabla 5: Requerimientos NO funcionales
3.2 DIAGRAMA DE FUNCIONES
Ilustración 3: Diagrama de flujo – Ingreso al sistema como administrador
34
3.3 DEFINICIÓN DE ACTORES
ACTOR 1 ADMINISTRADOR
DESCRIPCION El actor administrador tiene acceso a todo el sistema. Gestiona
la base de datos, códigos QR y comentarios.
LIMITE El administrador la posibilidad de realizar operaciones de crear,
leer, actualización y eliminación de datos de la página web,
incluyendo la gestión de códigos QR y respuesta a comentarios
o reportes de errores por parte de los Clientes, este acceso se
logra por medio de unas credenciales de acceso, definidas con
anterioridad.
Tabla 6: Definición de actor Administrador
ACTOR 2 CLIENTE
DESCRIPCION El actor usuario es aquel que solo tiene acceso a consultas de
horarios de salones y profesores, además de la visualización
de reportes o comentarios.
LIMITE El usuario tiene acceso a una consulta completa de los
bloques, horarios académicos, materias, profesores, salones y
visualización de los códigos QR generados por las consultas
incluyendo puede ver y los comentarios o reportes de errores
de otros usuario y realizarlos.
Tabla 7: Definición de actor Cliente
3.4 LISTA PRELIMINAR DE CASOS DE USO
3.4.1 Administrador
CU:01
Nombre: Ingresar al sistema
Descripción: El administrador únicamente podrá ingresar al sistema si tiene
las credenciales de inicio para poder ejercer las actividades que definen al
actor
Notas: El administrador debe tener con anterioridad las credenciales de
ingreso al sistema
35
CU:02
Nombre: Insertar datos
Descripción: El administrador podrá insertar registros a la base de datos por
medio de la página web, ingresando al módulo insertar datos, en esta parte
podrá agregar registros a: Bloques, horarios académicos, materias,
profesores y salones.
Notas: El administrador debe tener con anterioridad las credenciales de
ingreso al sistema
CU:03
Nombre: Consultar datos
Descripción: El administrador podrá consultar registros de la base de datos
por medio de la página web, ingresando al módulo consultar datos, en esta
parte podrá tener acceso a todos los datos de: Bloques, horarios académicos,
materias, profesores y salones.
Notas: El administrador debe tener con anterioridad las credenciales de
ingreso al sistema
CU:04
Nombre: Modificar datos
Descripción: El administrador podrá modificar registros de la base de datos
por medio de la página web, ingresando al módulo Modificar datos, en esta
parte podrá modificar registros de: Bloques, horarios académicos, materias,
profesores y salones.
Notas: El administrador debe tener con anterioridad las credenciales de
ingreso al sistema.
CU:05
Nombre: Eliminar datos (M)
Descripción: El administrador podrá eliminar registros temporalmente por
medio de la página web, ingresando a eliminar datos, seleccionando registros
de: Bloques, horarios académicos, materias, profesores o salones.
Notas: El administrador debe tener con anterioridad las credenciales de
ingreso al sistema.
Una vez realice la eliminación el registro cambiará de atributo internamente
para ser movido a la papelera de reciclaje.
CU:06
Nombre: Papelera de reciclaje
36
Descripción: El administrador podrá restaurar o eliminar permanentemente
registros de la base de datos por medio de la página web, ingresando al
eliminar datos y haciendo click en papelera de reciclaje, en esta operación
afecta a: Bloques, horarios académicos, materias, profesores y salones.
Notas: El administrador debe tener con anterioridad las credenciales de
ingreso al sistema
CU:07
Nombre: Códigos QR
Descripción: El administrador podrá generar una lista de códigos QR de
cada uno de los horarios de profesores o salones de manera completa o
selectiva por medio de consultas personalizadas sobre la base de datos a
través de la página web. Ingresando al módulo Códigos QR, en esta parte
podrá redimensionar el tamaño de los códigos QR a imprimir o eliminar uno
que no desee.
Notas: El administrador debe tener con anterioridad las credenciales de
ingreso al sistema
CU:08
Nombre: Gestionar comentarios
Descripción: El administrador podrá ver la lista de comentarios o reportes de
errores de cada uno de los Usuarios, podrá filtrar por fechas o usuarios y de
ser necesario, responder cada uno por medio de un botón. Ingresando al
módulo comentarios.
Notas: El administrador debe tener con anterioridad las credenciales de
ingreso al sistema Tabla 8: Lista preliminar de casos de uso - Administrador
3.4.2 Cliente
CU:09
Nombre: Consultar datos
Descripción: El Cliente podrá consultar registros de la base de datos por
medio de la página web, ingresando al módulo Consultas, en esta parte podrá
tener acceso a los horarios de: Horarios académicos por profesores y
salones.
Notas:
37
CU:10
Nombre: Enviar un comentario.
Descripción: El Cliente podrá enviar un comentario o reporte de error a través
de la opción Servicios > comentarios, en esta parte podrá tener acceso a una
interfaz en donde se solicita datos de manera obligatoria.
Notas: Tabla 9: Lista preliminar de casos de uso – Cliente
38
3.5 DIAGRAMAS DE CASOS DE USO
3.5.1 General
Ilustración 15: Diagrama de caso de uso general - Administrador
39
3.6 DEFINICIÓN DE CASOS DE USO
3.6.1 Administrador
IDENTIFICACION CASO DE USO ACTORES
01 Ingreso al sistema Administrador
OBJETIVO
Crear un caso para realizar el proceso de ingreso al sistema.
DESCRIPCIÓN
El actor administrador tiene acceso a todo el sistema. Gestiona la base de
datos, códigos QR y comentarios.
Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.
Alternativas y
excepciones
Error del sistema.
Validación de credenciales.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor administrador ingresa a la opción administración.
2. El actor administrador digita las
credenciales de acceso 3. El actor ingresa al módulo.
4. El sistema muestra la interfaz de inicio de sesión como administrador.
5. El sistema valida las credenciales ingresadas y muestra si son correctas o no.
6. El sistema muestra la interfaz del
sistema de Administrador.
PUNTOS DE INTERRUPCION
40
El Administrador puede volver al inicio.
El sistema puede interrumpir el proceso en el punto 5, si el usuario, no ingresa las credenciales correctas en el punto 2.
Tabla 10: Definición de casos de uso - CU01: Ingreso al sistema
IDENTIFICACION CASO DE USO ACTORES
02 Insertar datos Administrador
OBJETIVO
Crear un caso de uso para realizar el proceso de registro de nuevos datos en
el sistema.
DESCRIPCIÓN
El administrador podrá insertar registros a la base de datos por medio de la
página web, ingresando al módulo insertar datos, en esta parte podrá agregar
registros a: Bloques, horarios académicos, materias, profesores y salones.
Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.
El actor administrador debe verificar que el registro que vaya a ingresar no existe.
Alternativas y
excepciones
Error del sistema.
Validación de credenciales.
Validación de campos vacíos.
Validación de tipo de dato.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor administrador selecciona el módulo insertar datos.
2. El actor administrador digita el
nuevo registro.
4. El sistema muestra la interfaz de de cada uno de los ítems de la base de datos.
5. El sistema valida los campos vacíos y tipo de dato.
41
3. El actor administrador registra los datos deseados.
6. El sistema confirma guarda el registro ingresado en la base de datos.
PUNTOS DE INTERRUPCION
El Administrador puede cancelar el proceso.
El sistema puede interrumpir el proceso en el punto 5, si el usuario, no ingresa los campos obligatorios o tipo de datos correcto en el punto 2.
El guardado del registro no se podrá completar si el actor administrador no oprime en registrar.
Tabla 11: Definición de casos de uso - CU02: Insertar datos
IDENTIFICACION CASO DE USO ACTORES
03 Consultar datos Administrador
OBJETIVO
Crear un caso de uso que describa el proceso de consulta de datos.
DESCRIPCIÓN
El administrador podrá consultar registros de la base de datos por medio de la
página web, ingresando al módulo consultar datos, en esta parte podrá tener
acceso a todos los datos de: Bloques, horarios académicos, materias,
profesores y salones.
Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.
Alternativas y
excepciones
Error del sistema.
Validación de credenciales.
Validación de campos vacíos.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor administrador selecciona el módulo Consultar datos.
3. El sistema muestra la interfaz de cada uno de los ítems de la base de datos.
42
2. El actor administrador digita el dato a buscar.
4. El sistema valida campos vacíos.
PUNTOS DE INTERRUPCION
El Administrador puede cancelar el proceso.
El sistema puede interrumpir el proceso en el punto 4, si el usuario, digita estando el campo vacío en el punto 2.
Tabla 12: Definición de casos de uso - CU03: Consultar datos
IDENTIFICACION CASO DE USO ACTORES
04 Modificar datos Administrador
OBJETIVO
Crear un caso de uso que describa el proceso de modificar datos.
DESCRIPCIÓN
El administrador podrá modificar registros de la base de datos por medio de la
página web, ingresando al módulo Modificar datos, en esta parte podrá
modificar registros de: Bloques, horarios académicos, materias, profesores y
salones.
Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.
El actor Administrador debe validar los datos que va a modificar.
Alternativas y
excepciones
Error del sistema.
Validación de credenciales.
Validación de campos vacíos.
Validación de tipo de datos.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor Administrador selecciona el módulo Actualizar datos.
5. El sistema muestra la interfaz de cada uno de los ítems de la base de datos.
43
2. El actor Administrador selecciona el ítem (tabla) de interés.
3. El actor Administrador selecciona el registro a modificar.
4. El actor Administrador guarda los cambios.
6. El sistema muestra los datos de la tabla.
7. El sistema habilita los campos para que sean editables.
8. El sistema valida campos vacíos y
tipo de datos, muestra un mensaje de confirmación.
PUNTOS DE INTERRUPCION
El Administrador puede cancelar el proceso.
El sistema puede interrumpir el proceso en el punto 8, si hay un campo vació o un tipo de dato que no concuerda.
Tabla 13: Definición de casos de uso - CU04: Modificar datos
IDENTIFICACION CASO DE USO ACTORES
05 Eliminar datos Administrador
OBJETIVO
Crear un caso de uso que describa el proceso de eliminar datos.
DESCRIPCIÓN
El administrador podrá eliminar registros temporalmente por medio de la
página web, ingresando a eliminar datos, seleccionando registros de: Bloques,
horarios académicos, materias, profesores o salones.
Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.
El actor Administrador debe validar los datos que va a eliminar.
Alternativas y
excepciones
Error del sistema.
Validación de credenciales.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
44
1. El actor Administrador selecciona el módulo Eliminar datos.
2. El actor Administrador selecciona
el ítem (tabla) de interés.
3. El actor Administrador selecciona lo(s) registro(s) a eliminar
4. El actor Administrador selecciona eliminar los datos seleccionados.
5. El actor Administrador confirma la eliminación de los registros.
6. El sistema muestra la interfaz de cada uno de los ítems de la base de datos.
7. El sistema muestra los datos de la tabla.
8. El sistema muestra los check de los registros seleccionados.
9. El sistema muestra un mensaje de confirmación.
10. El sistema cambia el atributo de los registros eliminados, para moverlos a la papelera.
PUNTOS DE INTERRUPCION
El Administrador puede cancelar el proceso.
El sistema puede interrumpir el proceso en el punto 9, si el Administrador, determina no eliminar los registros en el punto 5.
Tabla 14: Definición de casos de uso - CU05: Eliminar datos
IDENTIFICACION CASO DE USO ACTORES
06 Papelera de reciclaje Administrador
OBJETIVO
Crear un caso de uso que describa el proceso de restaurar o eliminar
permanentemente registros de la base de datos.
DESCRIPCIÓN
El administrador podrá restaurar o eliminar permanentemente registros de la
base de datos por medio de la página web, ingresando al módulo eliminar
datos y haciendo click en papelera de reciclaje, esta operación afecta a:
Bloques, horarios académicos, materias, profesores o salones.
Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.
45
Alternativas y
excepciones
Error del sistema.
Validación de credenciales.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor Administrador selecciona el módulo Papelera de reciclaje.
2. El actor Administrador selecciona
el ítem (tabla) de interés.
3. El actor Administrador selecciona los registros a restaurar o eliminar permanentemente.
4. El actor Administrador selecciona restaurar los registros elegidos.
5. El actor Administrador selecciona eliminar permanentemente los registros elegidos.
6. El sistema muestra la interfaz de cada uno de los ítems de la base de datos.
7. El sistema muestra los datos de la tabla.
8. El sistema muestra los check de los registros seleccionados.
9. El sistema cambia un atributo en la
BD de los registros y muestra un mensaje de confirmación.
10. El sistema eliminar permanentemente los registros de la Base de Datos.
PUNTOS DE INTERRUPCION
El Administrador puede cancelar el proceso.
El sistema puede interrumpir el proceso si no hay ningún elemento eliminado.
Tabla 15: Definición de casos de uso - CU06: Papelera de reciclaje
IDENTIFICACION CASO DE USO ACTORES
07 Gestionar Código QR Administrador
OBJETIVO
Crear un caso de uso que describa el proceso para crear, gestionar e imprimir
Códigos QR.
46
DESCRIPCIÓN
El administrador podrá generar una lista de códigos QR de cada uno de los
horarios de profesores o salones de manera completa o selectiva por medio
de consultas personalizadas sobre la base de datos a través de la página web.
Ingresando al módulo Códigos QR, en esta parte podrá redimensionar el
tamaño de los códigos QR a imprimir o eliminar uno que no desee.
Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.
Alternativas y
excepciones
Error del sistema.
Validación de credenciales.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor Administrador selecciona el módulo Código QR.
2. El actor Administrador selecciona
el número de bloque de interés.
3. El actor Administrador selecciona el número de salón de interés
4. El sistema muestra la interfaz con todos los Códigos QR de todos los salones separados por Bloques.
5. El sistema muestra los códigos QR pertenecientes a los salones del bloque seleccionado.
6. El sistema muestra los Códigos QR pertenecientes al salón seleccionado.
PUNTOS DE INTERRUPCION
El Administrador puede cancelar el proceso.
El Administrador puede interrumpir el proceso si decide editar el tamaño o eliminar un código que no deseado.
Tabla 16: Definición de casos de uso - CU07: Gestionar código QR
IDENTIFICACION CASO DE USO ACTORES
08 Gestionar comentarios Administrador
47
OBJETIVO
Crear un caso de uso que describa el proceso para gestionar comentarios
realizados por los clientes.
DESCRIPCIÓN
El administrador podrá ver la lista de comentarios o reportes de errores de
cada uno de los Usuarios, podrá filtrar por fechas o usuarios y de ser necesario,
responder cada uno por medio de un botón. Ingresando al módulo
comentarios.
Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.
Alternativas y
excepciones
Error del sistema.
Validación de credenciales.
Validación de espacios vacíos
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor Administrador selecciona el módulo Comentarios.
2. El actor Administrador lee los
comentarios o reportes.
3. El actor Administrador selecciona el comentario a responder.
4. El actor Administrador escribe la
respuesta.
5. El sistema muestra la interfaz con todos los comentarios o problemas reportados por los clientes.
6. El sistema disminuye el número de comentarios sin leer que muestra en las notificaciones.
7. El sistema muestra la interfaz con
los campos designados para responder.
8. El sistema valida campos vacíos y
registra la respuesta.
PUNTOS DE INTERRUPCION
El Administrador puede cancelar el proceso.
El sistema puede interrumpir el proceso en el punto 8 si encuentra un
48
campo vacío.
El Administrador no responde un comentario. Tabla 17: Definición de casos de uso - CU08: Gestionar comentarios
3.6.2 Cliente
IDENTIFICACION CASO DE USO ACTORES
09 Consultar datos Usuario
OBJETIVO
Crear un caso de uso que describa el proceso de consulta de datos.
DESCRIPCIÓN
El Cliente podrá consultar registros de la base de datos por medio de la página
web, ingresando al módulo Consultas, en esta parte podrá tener acceso a los
horarios académicos por profesores y salones.
Precondiciones El actor Cliente debe ingresar al menú desplegable de servicios para poder acceder al módulo.
Alternativas y
excepciones
Error del sistema.
Validación de datos.
Validación de espacios vacíos.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor Cliente selecciona entre Consulta por salones o por profesores.
2. El actor Cliente selecciona entre
el número de bloque en el mapa o nombre del profesor.
3. El actor Cliente Elige el salón.
5. El sistema muestra la interfaz con las dos selecciones de consulta.
6. El sistema muestra mapa de la facultad para seleccionar el Bloque o muestra un listado de profesores.
7. El sistema muestra el código QR generado de la consulta.
49
4. El actor Cliente, hace click en el
código QR.
8. El sistema genera el horario en
formato PDF.
PUNTOS DE INTERRUPCION
El Cliente puede cancelar el proceso.
El Cliente puede interrumpir el proceso en el punto 7, si, escanea el código QR con un dispositivo móvil.
Tabla 18: Definición de casos de uso - CU09: Consultar datos
IDENTIFICACION CASO DE USO ACTORES
10 Hacer un comentario Usuario
OBJETIVO
Crear un caso de uso que describa el proceso para hacer un comentario.
DESCRIPCIÓN
El Cliente podrá enviar un comentario o reporte de error a través de la opción
Servicios > comentarios, en esta parte podrá tener acceso a una interfaz en
donde se solicita datos de manera obligatoria.
Precondiciones El actor Cliente debe ingresar al menú desplegable de servicios para poder acceder al módulo.
Alternativas y
excepciones
Error del sistema.
Validación de datos.
Validación de espacios vacíos.
CURSO NORMAL DE LOS EVENTOS
ACCION DEL ACTOR RESPUESTA DEL SISTEMA
1. El actor Cliente selecciona la pestaña reportar un error.
2. El actor Cliente digita su
comentario.
3. El actor Cliente envía los datos
4. El sistema muestra la interfaz con los campos para digitar el reporte.
5. El sistema valida campos vacíos y
tipos de datos.
50
por medio de un botón. 6. El sistema muestra un mensaje de confirmación.
PUNTOS DE INTERRUPCION
El Cliente puede cancelar el proceso.
El Cliente puede interrumpir el proceso en el punto 5, si, el cliente ingresa campo vacíos o tipos de datos incorrectos.
Tabla 19: Definición de casos de uso - CU10: Hacer un comentario
3.7 DIAGRAMA DE ACTIVIDAD
3.7.1 Administrador
Ilustración 16: Diagrama de actividad - Ingreso al sistema
51
Ilustración 17: Diagrama de actividad - Insertar datos
Ilustración 18: Diagrama de actividad - Consultar datos
52
Ilustración 19: Diagrama de actividad - Modificar datos
Ilustración 20: Diagrama de actividad - Eliminar datos
58
3.8 DIAGRAMA DE SECUENCIA
3.8.1 Administrador
Ilustración 26:Diamagrama de secuencia - Ingresar al sistema
59
Ilustración 27:Diamagrama de secuencia - Consultar datos
Ilustración 28:Diamagrama de secuencia - Insertar datos
61
3.8.2 Cliente
3.9 DIAGRAMA DE COLABORACIÓN
3.9.1 Administrador
Ilustración 30: Diagrama de colaboración - Ingreso al sistema
62
Ilustración 31: Diagrama de colaboración - Insertar datos
Ilustración 32: Diagrama de colaboración - Consultar datos
63
Ilustración 33: Diagrama de colaboración - Modificar datos
Ilustración 34: Diagrama de colaboración - Eliminar datos
64
Ilustración 35: Diagrama de colaboración - Papelera de reciclaje
Ilustración 36: Diagrama de colaboración - Gestionar códigos QR
65
Ilustración 37: Diagrama de colaboración - Gestionar comentarios
3.9.2 Cliente
Ilustración 38:Diagrama de colaboración - Consultar datos
66
Ilustración 39: Diagrama de colaboración - Hacer un comentario
3.10 DIAGRAMA DE ESTADO
3.10.1 Administrador
Ilustración 40: Diagrama de estado - Ingreso al sistema
67
Ilustración 41: Diagrama de estado - Insertar datos
Ilustración 42: Diagrama de estado – Consultas
68
Ilustración 43: Diagrama de estado – Modificar datos
Ilustración 44: Diagrama de estado – Eliminar datos
70
Ilustración 46: Diagrama de estado – Gestionar códigos QR
Ilustración 47: Diagrama de estado – Gestionar comentarios
71
3.10.2 Cliente
Ilustración 48: Diagrama de estado – Consultar datos
Ilustración 49: Diagrama de estado – Hacer un comentario
72
3.11 SELECCIÓN DE HERRAMIENTA
Elegimos el lenguaje de programación PHP junto al framework de desarrollo
LARAVEL 5 debido a las ventajas que nos brinda la unión de estos dos; en primera
medida las facilidades en tiempo de desarrollo que lleva producir una aplicación
utilizando este framework, también por la documentación que nos facilita el
desarrollo y la solución de problemas que surgen durante el mismo, además del
amplio sistema de paquetes y drivers que trae LARAVEL, facilitándonos la
configuración y ampliación con elementos como servidores de correo u ORM para
el manejo de bases de datos, en este caso mediante eloquent.
Aunque existen otros lenguajes de programación como java y python, los cuales
están enfocados a la web, son orientados a objetos y cuentan con una seria de
framework robustos y seguros, pero, optamos por PHP y LARAVEL debido a la
facilidad de desarrollo que presta el framework y a la baja curva de aprendizaje del
mismo, pues frameworks como por ejemplo JSF para java tienen un tiempo de
aprendizaje elevado, y el manejo de componentes, como primefaces o richface
llevan tiempo, razón por la cual PHP junto con este framework tienen ventaja
aunque otros lenguajes sean robustos y solventes.
4. FASE DE DISEÑO
4.1.1 DICCIONARIO DE DATOS
Nombre de la
tabla answer_comments
Columna Tipo Nulo Predeterminado Enlaces a
id (Primaria) int(10) No
answer varchar(255) No
comment_id int(10) No comments -> id
created_at timestamp No 0000-00-00 00:00:00
updated_at timestamp No 0000-00-00 00:00:00
Tabla 20: Diccionario de datos - Answer coments
Nombre de la tabla
Classrooms
Columna Tipo Nulo Predeterminado Enlaces a
73
id (Primaria) int(10) No
name varchar(30) No
block_id varchar(10) No blocks -> id
deleted_at timestamp Sí NULL
created_at timestamp No 0000-00-00 00:00:00
updated_at timestamp No 0000-00-00 00:00:00
Tabla 21: Diccionario de datos – classrooms
Nombre de la
tabla Comments
Columna Tipo Nulo Predeterminado Enlaces a
id (Primaria) int(10) No
email varchar(255) No
description varchar(255) No
type varchar(255) No
deleted_at timestamp Sí NULL
created_at timestamp No 0000-00-00 00:00:00
updated_at timestamp No 0000-00-00 00:00:00
Tabla 22: Diccionario de datos – comments
Nombre de la tabla
Courses
Columna Tipo Nulo Predeterminado Enlaces a
id (Primaria) int(10) No
name varchar(40) No
deleted_at timestamp Sí NULL
created_at timestamp No 0000-00-00 00:00:00
updated_at timestamp No 0000-00-00 00:00:00
Tabla 23: Diccionario de datos – courses
Nombre de la tabla
Persons
Columna Tipo Nulo Predeterminado Enlaces a
id (Primaria) int(10) No
name bigint(20) No
lastname varchar(30) No
phone varchar(30) Sí NULL
74
email varchar(255) No
type varchar(50) No
deleted_at timestamp Sí NULL
created_at timestamp No 0000-00-00 00:00:00
updated_at timestamp No 0000-00-00 00:00:00
Tabla 24: Diccionario de datos – persons
Nombre de la tabla
schedules_teachers
Columna Tipo Nulo Predeterminado Enlaces a
id (Primaria) int(10) No
classroom_id int(10) Sí NULL classrooms -> id
hour_start time Sí NULL
hour_end time Sí NULL
day varchar(20) Sí NULL
teacher_id int(10) Sí NULL persons -> id
deleted_at timestamp Sí NULL
created_at timestamp No 0000-00-00 00:00:00
updated_at timestamp No 0000-00-00 00:00:00
Tabla 25: Diccionario de datos - schedules_teachers
Nombre de la tabla
Schedules
Columna Tipo Nulo Predeterminado Enlaces a
id (Primaria) int(10) No
classroom_id int(10) No classrooms -> id
hour_id int(10) No hours -> id
day_id int(10) No days -> id
person_id bigint(20) No persons -> id
course_id int(10) No courses -> id
deleted_at timestamp Sí NULL
created_at timestamp No 0000-00-00 00:00:00
updated_at timestamp No 0000-00-00 00:00:00
Tabla 26: Diccionario de datos – schedules
75
Nombre de la tabla
users
Columna Tipo Nulo Predeterminado Enlaces a
id (Primaria) int(10) No
name varchar(255) No
email varchar(255) No
password varchar(255) No
remember_token varchar(100) Sí NULL
created_at timestamp No 0000-00-00 00:00:00
updated_at timestamp No 0000-00-00 00:00:00
Tabla 27: Diccionario de datos - users
77
4.3 MODELO RELACIONAL
Ilustración 50: Modelo relacional
CONCLUSIONES
Implementar un sistema de información web que contenga los datos de
horarios de salones y profesores ayuda a los estudiantes de sistematización
de datos a encontrar rápidamente la información que necesitan en
determinado momento y espacio.
El efectuar la impresión de los códigos QR como alternativa a los horarios
convencionales ubicados a la salida de los salones, logra que la información
se vuelva portable por medio del PDF y consultable en cualquier momento al
estar en una página web. Además de ecológica al utilizar menos papel para
imprimir los horarios.
Tener un módulo de administración en la página protegido por medio de unas
credenciales es seguro para la información que se encuentra contenida, pero
el usuario que la administre, tendría que estar atento a los cambios que se
efectúen para mantener la información actualizada, sería bueno que en un
futuro se pudiera hacer una conexión directa con la base de datos del sistema
Cóndor.
78
El sistema podría llegar a ser implementado a una mayor escala, incluyendo
los demás proyectos curriculares y facultades de la universidad.
BIBLIOGRAFÍA
- [1] Rojas Cruz, Jeimy Lorena. Sistema de información web para la gestión de
inventarios implementando códigos QR. Trabajo de grado Tecnología en
Sistematización de Datos. Bogotá D.C: Universidad Distrital Francisco José de
Caldas. Facultad de Tecnología-Politécnica. 2014.
-[2] Laravel comunidad en español. Introducción. [En línea]. 2013. Disponible en
internet: http://laraveles.com/docs/4.2/introduction.
-[3] Libros Web. Symfony en pocas palabras. [En línea]. 2015. Disponible en
internet:
http://librosweb.es/libro/symfony_1_4/capitulo_1/symfony_en_pocas_palabras.html
-[4] Zizaco. Entrust (Laravel4 Package). [En línea]. 2014. Disponible en internet:
https://github.com/Zizaco/entrust/tree/1.0
-[5] Swift Mailer. SwitfMailer Introduction. [En línea]. 2015. Disponible en internet:
http://swiftmailer.org/docs/introduction.html
-[6] El lenguaje SQL. Introducción. [En línea]. 2015. Disponible en internet:
http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-de-
datos/bases-de-datos/P06_M2109_02149.pdf
-[7] Search Data Center. SQL server: definición. [En línea]. 2015. Disponible en
internet: http://searchdatacenter.techtarget.com/es/definicion/SQL-Server
-[8] Tecnopedia. Sublime Text editor de texto para desarrolladores. [En línea]. 2012.
Disponible en internet: http://www.tecnopedia.net/software/sublime-text-editor-de-
texto-para-desarrolladores/
-[9] Universidad de Murcia. Desarrollo de Aplicaciones Web Xampp. [En línea].
2014. Disponible en internet:
http://www.um.es/docencia/barzana/DAWEB/Desarrollo-de-aplicaciones-web-
Xampp.html
-[10] DefiniciónABC. Definición de HTML. [En línea]. 2015. Disponible en internet:
http://www.definicionabc.com/tecnologia/html.php
79
-[11] Libros Web. Introducción ¿Qué es CSS?. [En línea]. 2015. Disponible en
internet:
http://librosweb.es/libro/css/capitulo_1.html
-[12] Github. Select2 [En línea]. 2015. Disponible en internet:
https://select2.github.io/
-[13] W3 Schools. Select [En línea]. 2015. Disponible en internet:
http://www.w3schools.com/tags/tag_select.asp
-[14] jQuery. jQuery API. [En línea]. 2015. Disponible en internet:
https://api.jquery.com/
-[15] JavaScript. JavaScript. [En línea]. 2015. Disponible en internet:
https://www.javascript.com/
-[16] jQuery. AJAX. [En línea]. 2015. Disponible en internet:
https://api.jquery.com/category/ajax/
- [17] JOJOOA - TECNOLOGÍA, MARKETING Y CRM. Definición de PHP - ¿qué
es PHP?. [En línea]. 2012. Disponible en internet:
https://sites.google.com/site/jojooa/informatica-tecnologia/definicion-de-php-que-
es-php.
-[18] Si virtual. Gobierno en línea. [En línea]. Disponible en internet
https://www.sivirtual.gov.co/
-[19] GRUPO CUYS (COMO USTED YA SABE). Metodologías de desarrollo de
software. [En línea]. Disponible en internet:
http://www.comoustedyasabe.com.ar/datos/Tercero/1er_cuatrimestre/Metodologia
s/Apuntes_CUYS/Apunte_Final.pdf
- Marthe de Carvajal. Cómo Elaborar Y Presentar Un Trabajo Escrito. 4ª ed. Lugar
de edición: Barranquilla. Ediciones Uninorte. 1999. 257p.
- CUADRA, Dolores. Desarrollo de bases de datos. México. Alfaomega: Ra-Ma,
2008. 569p.
- MARTÍN SIERRA, Antonio J. Programador certificado Java 2. México. Alfaomega:
Ra-Ma. 2010. 620p.
- IAN SOMMERVILLE. Ingeniería del software, séptima edición. Madrid. Pearson
educación. 2005.
80
ANEXOS
Anexo 1:
El anexo uno hace referencia a los casos de uso específicos del proyecto, el anexo
mencionado se encuentra ubicado en el CD adjunto al anillado.
Anexo 2:
En este podemos encontrar el Manual del usuario programador, en donde se
especifica los requerimientos para poder ejecutar la página de manera local, debido
a que el proyecto curricular no ha reportado la aprobación o desaprobación para
implementar el sistema de información sobre los servidores de la Universidad. Este
manual lo podemos encontrar en el CD adjunto a este proyecto.
Anexo 3:
Al igual que los anteriores está ubicado en el CD que va junto al anillado. En este
caso es el Manual del usuario, en donde se explica detalladamente las
funcionalidades, características, procedimientos, entre otros.
Recommended