APLICACIÓN WEB PARA LA ADMINISTRACIÓN Y ASIGNACIÓN DE …

52
APLICACIÓN WEB PARA LA ADMINISTRACIÓN Y ASIGNACIÓN DE LOS HORARIOS EN LAS FACULTADES DE LA UNIVERSIDAD SANTO TOMÁS SECCIONAL TUNJA ELKIN RODRIGO FAJARDO FONSECA OSCAR FERNANDO SOLER BARRERA UNIVERSIDAD SANTO TOMÁS FACULTAD INGENIERÍA DE SISTEMAS TUNJA, BOYACÁ 2017

Transcript of APLICACIÓN WEB PARA LA ADMINISTRACIÓN Y ASIGNACIÓN DE …

APLICACIÓN WEB PARA LA ADMINISTRACIÓN Y ASIGNACIÓN DE LOS HORARIOS EN LAS FACULTADES DE LA UNIVERSIDAD SANTO TOMÁS
SECCIONAL TUNJA
UNIVERSIDAD SANTO TOMÁS FACULTAD INGENIERÍA DE SISTEMAS
TUNJA, BOYACÁ 2017
APLICACIÓN WEB PARA LA ADMINISTRACIÓN Y ASIGNACIÓN DE LOS HORARIOS EN LAS FACULTADES DE LA UNIVERSIDAD SANTO TOMÁS
SECCIONAL TUNJA
Informe final de trabajo de grado
Ing. Jorge Gabriel Hoyos Pineda
UNIVERSIDAD SANTO TOMÁS FACULTAD INGENIERÍA DE SISTEMAS
TUNJA, BOYACÁ 2017
TABLA DE CONTENIDO
2. PLANTEAMIENTO DEL PROBLEMA ...............................................................................................9
2.1 DESCRIPCIÓN DEL PROBLEMA. ..................................................................................................9
2.2 PLANTEAMIENTO DEL PROBLEMA. ............................................................................................9
2.4 DELIMITACIÓN. ....................................................................................................................... 10
2.5 ALCANCES. ............................................................................................................................... 10
3. OBJETIVOS ................................................................................................................................. 11
5.1 MARCO TEÓRICO. ................................................................................................................... 14
5.2 MARCO CONCEPTUAL ............................................................................................................. 19
6.2 HIPÓTESIS. ............................................................................................................................... 21
6.3 VARIABLES. .............................................................................................................................. 21
6.4 POBLACIÓN. ............................................................................................................................ 22
6.5 FUENTES. ................................................................................................................................. 22
6.6 INSTRUMENTOS. ..................................................................................................................... 22
7. DESARROLLO DEL PROYECTO .................................................................................................... 25
7.1 ANÁLISIS DE SOFTWARE DE LA APLICACIÓN WEB. ................................................................. 25
7.2 DISEÑO DE LA APLICACIÓN WEB. ............................................................................................ 26
7.3 DESARROLLO DE LA APLICACIÓN WEB. ................................................................................... 26
8. RESULTADOS ............................................................................................................................. 27
9. CONCLUSIONES ......................................................................................................................... 35
TABLA DE FIGURAS
Figura 2. Autenticación del sistema .................................................................................................. 28
Figura 3. Administración del perfil .................................................................................................... 29
Figura 4. Módulo de docentes .......................................................................................................... 30
Figura 5. Administración de asignaturas ........................................................................................... 31
Figura 6. Administración de los grupos ............................................................................................. 32
Figura 7. Horarios .............................................................................................................................. 33
Figura 8. Reportes ............................................................................................................................. 34
Figura 12. Administración de las asignaturas ................................................................................... 48
Figura 13. Ingreso de asignaturas ..................................................................................................... 48
Figura 14. Administración de los grupos por asignatura. ................................................................. 49
Figura 15. Ingreso de asignaturas ..................................................................................................... 50
Figura 16. Administración de los docentes ....................................................................................... 50
Figura 17. Ingreso de nuevos docentes ............................................................................................ 51
Figura 18. Interfaz de horarios por carrera ....................................................................................... 52
Figura 19. Reportes de horarios ........................................................................................................ 52
TABLA DE TABLAS
Tabla 3. Diseño de la aplicación ........................................................................................................ 24
Tabla 4. Desarrollo de la aplicación .................................................................................................. 24
Tabla 5. Pruebas. ............................................................................................................................... 24
Tabla 7. Registro del administrador .................................................................................................. 37
Tabla 8.Primer inicio de sesión. ........................................................................................................ 37
Tabla 9. Inicio de sesión .................................................................................................................... 38
Tabla 10. Recuperación de contraseña ............................................................................................. 38
Tabla 11. Administración de datos del usuario ................................................................................. 38
Tabla 12. Registro de docentes ......................................................................................................... 39
Tabla 13. Consulta de docentes ........................................................................................................ 39
Tabla 14. Actualización de docentes ................................................................................................. 39
Tabla 15. Eliminación de docentes ................................................................................................... 40
Tabla 16. Registro de asignaturas ..................................................................................................... 40
Tabla 17. Consulta de asignaturas .................................................................................................... 40
Tabla 18. Eliminación de asignaturas ................................................................................................ 41
Tabla 19. Registro de grupos por asignatura .................................................................................... 41
Tabla 20. Consulta de grupos creados. ............................................................................................. 41
Tabla 21. Eliminación de grupos creados.......................................................................................... 42
Tabla 24. Consulta el histórico de los horarios ................................................................................. 43
Tabla 25. Generar horario para descargar. ....................................................................................... 43
Tabla 26. Mantener datos de periodo anterior ................................................................................ 43
Tabla 27. Mostrar cruces de horarios. .............................................................................................. 44
Tabla 28. Consulta de horario por docente. ..................................................................................... 44
Tabla 29. Consulta de horario por materia ....................................................................................... 44
Tabla 30. Requerimientos no funcionales ........................................................................................ 45
7
INTRODUCCIÓN
En este trabajo se comprenderá el tema del desarrollo de sistemas de información
enfocados a entornos web, para la consulta de horarios de clase, asignaturas,
grupos y docentes que tiene un programa o facultad, dirigido a los administradores
y/o encargados de la asignación de horarios de la universidad Santo Tomás
seccional Tunja.
Se plantea como objetivo en este proyecto el desarrollar una aplicación web, que
le permita a los administradores encargados de la gestión de los horarios ver las
asignaturas registradas, sus grupos, docentes y sus respectivos horarios de clase,
de una manera ágil, donde también pueda generar reportes de antiguos periodos,
en un futuro se planea agregar más módulos y funciones que sean del agrado de
la comunidad tomasina.
En este trabajo se realizó una investigación sobre los problemas que se presentan
en el momento de administrar los horarios específicamente en la facultad de
ingeniería de sistemas, donde se llegó a la conclusión de realizar dicho sistema
web para brindar un canal tecnológico óptimo que dé solución a la problemática
que se presente.
Acá se encontrarán los diferentes temas que comprenderá esta aplicación web de
administración de horarios, los puntos importantes a tener en cuenta a la hora de
desarrollar la aplicación, también encontrará metodologías y teorías que nos
ayudarán a tener el sistema de información deseado.
8
1. FICHA TÉCNICA DEL PROYECTO
Título Aplicación web para la administración y generación de los horarios en las facultades de la universidad Santo tomas seccional Tunja
Nombre Estudiante 1 Elkin Fajardo Fonseca [email protected]
Nombre Estudiante 2 Oscar Soler Barrera [email protected]
Nombre del grupo de investigación
GIDINT
Sistemas de Información
Lugar de ejecución del proyecto
Tunja, Boyacá
Costo del proyecto $ 6.473.000
9
2. PLANTEAMIENTO DEL PROBLEMA
2.1 DESCRIPCIÓN DEL PROBLEMA.
En el presente los administradores encargados de la gestión de horarios de cada
una de las facultades de la universidad Santo Tomás, tienen acceso a una
herramienta llamada hojas de cálculo, este sistema muestra información de los
horarios, grupos, asignaturas, docentes, observaciones y demás.
Dicha herramienta cumple su función, ya que muestra la información que se
necesita consultar y da diferentes opciones con las cuales se puede interactuar
desde un ordenador. Pero este instrumento tecnológico carece de agilidad,
comodidad y funcionalidad, ya que se presenta con una interfaz poco amigable
para el usuario y poco óptima para la actividad de la cual se necesita, allí podemos
ver que la experiencia de usuario no es la recomendada para este tipo de tareas.
Por ejemplo, esta herramienta muestra información de los horarios, pero para
consultar diversos datos es un poco complejo, ya que se tiene que revisar
columna por columna lo que el horario posee y que características están
asociadas a dicho horario. Al momento de ingresar un horario, la plataforma no
informa sobre lo cruces que se pueden presentar con los grupos y los docentes,
tampoco genera reportes óptimos de los horarios para poder ser consultado e
impresos.
Como se puede ver faltan muchas funcionalidades y módulos con los cuales la
tarea de asignación de horarios sea óptima y por esto es una buena alternativa
desarrollar un sistema de información que cumpla con los requerimientos
planteados.
2.2 PLANTEAMIENTO DEL PROBLEMA.
En este momento las facultades de la universidad Santo Tomás seccional Tunja,
carece de una plataforma con administración ágil y cómoda a los horarios de cada
uno de los programas de la universidad, que sea amigable, cómoda y fácil de usar
para los administradores y encargados de dicha institución académica, con el fin
de observar los horarios, grupos, asignaturas y docentes de cada programa.
10
¿La herramienta tecnológica que posee la universidad Santo Tomás (hojas
de cálculo) es funcional y optima en la asignación de horarios de sus
facultades?
¿Los administrativos y encargados de la universidad Santo Tomás sienten
la necesidad de tener acceso a un sistema de información web para suplir
esta tarea?
¿Se han planteado análisis y diseños en tiempos anteriores, relacionados
con este tema en la universidad Santo Tomás seccional Tunja?
¿El administrador o encargado se incentivará en el uso de este sistema de
información web?
¿Cuáles es la tecnología y/o lenguajes de programación óptimos para este
tipo de proyecto?}
¿Por qué en la actualidad la universidad Santo Tomás seccional Tunja no
posee un sistema óptimo para la administración de los horarios de sus
facultades?
2.4 DELIMITACIÓN.
El sistema de información no se conectará o consultará información con ninguna
otra aplicación o servicio web, este será accesible desde los principales
navegadores que actualmente se utilizan en el mercado como Google Chrome y
Firefox en sus últimas versiones.
2.5 ALCANCES.
11
El proyecto estará alojado en un servidor de prueba, se entregará el manual de despliegue del mismo. Las funcionalidades finales del sistema están descritas en el apartado de desarrollo del proyecto (numeral 7).
3. OBJETIVOS
3.1 OBJETIVO GENERAL.
Implementar una aplicación web para la gestión de los horarios de la Facultad de
Ingeniería de Sistemas de la Universidad Santo Tomás seccional Tunja, utilizando
herramientas open source y las últimas tendencias de la ingeniería del software.
3.2 OBJETIVOS ESPECÍFICOS.
Analizar los requerimientos funcionales y no funcionales de la aplicación
web, para encontrar posibles soluciones que ayuden a obtener el sistema
óptimo, identificando el funcionamiento actual de la administración de los
horarios.
Diseñar el prototipo funcional, con el fin de tener una idea clara y especifica
de lo que será el sistema final.
Desarrollar la aplicación web de administración de horarios, para obtener el producto final y funcional con las mejores prácticas de construcción de software de la actualidad.
Realizar pruebas con usuarios reales de la aplicación, para encontrar posibles fallas.
Realizar el despliegue del sistema desarrollado en un contenedor Web, de tal manera que pueda ser utilizado por la facultad de Ingeniería de Sistemas.
12
4. JUSTIFICACIÓN
La Web de hoy es un universo de aplicaciones y páginas web interconectadas
llenas de vídeos, fotos y contenido interactivo. Lo que no ve el usuario es cómo
interactúan los navegadores y las tecnologías web para hacer que esto sea
posible.
A lo largo del tiempo, las tecnologías web han evolucionado hasta permitir que los
desarrolladores puedan crear nuevas e increíbles experiencias web. La Web
actual es el resultado de los continuos esfuerzos de una comunidad web abierta
que ayuda a definir estas tecnologías web, tales como HTML5, CSS3.
Aquí podemos encontrar una problemática a nivel tecnológico, la cual se
enfoca en la asignación de horarios de cada uno de los programas de la
universidad Santo Tomas seccional Tunja, allí podemos aplicar teorías y
aprendizajes prácticos, los cuales nos lleven a la solución del problema, tal
como lo plantea este tipo de investigación.
En el ámbito social, sería un punto muy favorable que la universidad Santo Tomás
seccional Tunja sea de las primeras universidades en la ciudad en implementar un
sistema como este, ya que en el momento este tipo de aplicaciones solo existen
en las principales universidades de las ciudades más importantes del país.
Para la facultad de ingeniería de sistemas, tendría una gran importancia el tener
este tipo de aplicaciones web, ya que de alguna manera habla bien de la
comunidad estudiantil y del cuerpo de profesores con los que cuenta la facultad.
Por estos puntos es de gran valor estar buscando la innovación en el campo de
las tecnologías de la información y comunicación, con plataformas como la
13
descrita en este trabajo, las cuales busquen la colaboración y el mejoramiento de
las herramientas con las que se cuenta en la universidad Santo Tomás.
Es por eso que a la comunidad tomasina, le sería de gran ayuda tener una
aplicación web, donde se gestione y administre los horarios de su respectivo
programa.
14
5.1.1 Herramientas utilizadas en el desarrollo web. A continuación, se
evidenciarán algunos conceptos necesarios y útiles para el desarrollo de varios
de los sistemas web más utilizados en los últimos años.
MySQL. Es un sistema de administración de bases de datos (Database
Management System, DBMS) para bases de datos relacionales. Así,
MySQL no es más que una aplicación que permite gestionar archivos
llamados de bases de datos. Existen muchos tipos de bases de datos,
desde un simple archivo hasta sistemas relacionales orientados a
objetos. MySQL, como base de datos relacional, utiliza múltiples tablas
para almacenar y organizar la información. MySQL fue escrito en C y
C++ y destaca por su gran adaptación a diferentes entornos de
desarrollo, permitiendo su interactuación con los lenguajes de
programación más utilizados como PHP, Perl y Java y su integración en
distintos sistemas operativos.
También es muy destacable, la condición de open source de MySQL,
que hace que su utilización sea gratuita e incluso se pueda modificar
con total libertad, pudiendo descargar su código fuente. Esto ha
favorecido muy positivamente en su desarrollo y continuas
actualizaciones, para hacer de MySQL una de las herramientas más
utilizadas por los programadores orientados a Internet.1
En pocas palabras, MySQL nos ayuda a manejar la persistencia de nuestros sistemas web, es un sistema de administración de datos, tiene las opciones necesarias para consultar, ingresar, actualizar, eliminar entre muchas otras ayudas para tratar los datos de las aplicaciones web.
Php My Admin. Es un programa de libre distribución en PHP, creado por una comunidad sin ánimo de lucro, que sólo trabaja en el proyecto por amor al arte. Es una herramienta muy completa que
1 IAN Gilfillan. La biblia MySQL. 2001. Vol. 1, pág. 39.
15
permite acceder a todas las funciones típicas de la base de datos MySQL a través de una interfaz web muy intuitiva. La aplicación en si no es más que un conjunto de archivos escritos en PHP que podemos copiar en un directorio de nuestro servidor web, de modo que, cuando accedemos a esos archivos, nos muestran unas páginas donde podemos encontrar las bases de datos a las que tenemos acceso en nuestro servidor de bases de datos y todas sus tablas. La herramienta nos permite crear tablas, insertar datos en las tablas existentes, navegar por los registros de las tablas, editarlos y borrarlos, borrar tablas y un largo etcétera, incluso ejecutar sentencias SQL y hacer un backup de la base de datos.2
Frontend. Los frontends tienden a ser programadores, pero hay
diseñadores genios que también hacen Frontend. Son los
encargados de maquetar la estructura semántica del contenido
(HTML), codificar el diseño en hojas de estilo (CSS) y agregar la
interacción con el usuario (JavaScript).
En la época actual los frontends tienen HTML5 y CSS3. Con HTML5,
desde el Frontend, es posible hacer geo localización, dibujo
vectorial, guardar datos en el disco del usuario,
insertar audio y video, entre otras cosas.
Con CSS3, se pueden crear diseños altamente complejos sin la
necesidad de imágenes cortadas, sólo usando código. Bordes
redondeados, sombras, degradados, fondos múltiples, entre
otros.
Por último, JavaScript y sus frameworks añaden el componente de
interactividad y conexión al servidor. Es posible comunicarse con el
Backend y la base de datos sin recargar la página
usando AJAX o WebSockets, recibir esos datos y cambiar el diseño
entero del sitio. JQuery hace todo esto fácil pero no es el único
framework de JavaScript.3
2 DELISLE Marc. Mastering phpMyAdmin 3.4 for Effective MySQL Management. Québec. Canadá
2009. Vol. 1, pág. 23.
3 Que significa Backend y Frontend en el diseño web [14 Junio 2012] [22 Mayo de 2016 ] Disponible en: https://es.wikipedia.org/wiki/Front-end_y_back-end
El desarrollo Frontend se encarga de toda la parte visual del sistema, de los componentes con los cuales el usuario va a interactuar, como parte principal dentro de sus funciones consiste en mostrar amigablemente y de forma óptima los datos de la persistencia, los cuales como dice anteriormente son enviados desde el Backend.
SQL. IBM desarrolló la versión original de SQL, originalmente denominado Sequel, como parte del proyecto System R a principios de 1970. El lenguaje Sequel ha evolucionado desde entonces y su nombre pasado a ser SQL (lenguaje estructurado de consultas). Hoy en día, numerosos productos son compatibles con el lenguaje SQL y se ha establecido como el lenguaje estándar para las bases de datos relacionales.4
El lenguaje SQL es utilizado en diferentes sistemas gestores de bases de datos, como los anteriormente descritos, y nos ayudan a realizar consultas, inserciones de datos, actualizaciones de tablas, borrado de información, entre los métodos principales que permite realizar SQL.
Laravel. Laravel es un framework de código abierto para desarrollar aplicaciones y servicios web con PHP 5 y PHP 7. Su filosofía es desarrollar código PHP de forma elegante y simple, evitando el "código espagueti". Fue creado en 2011 y tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC.2. Laravel tiene como objetivo ser un framework que permita el uso de una sintaxis elegante y expresiva para crear código de forma sencilla y permitiendo multitud de funcionalidades. Intenta aprovechar lo mejor de otros frameworks y aprovechar las características de las últimas versiones de PHP.
Gran parte de Laravel está formado por dependencias, especialmente de Symfony, esto implica que el desarrollo de Laravel dependa también del desarrollo de sus dependencias.5
4 Silberschatz Abraham, Fundamentos de bases de datos, Quinta Edición, Madrid España, McGraw-hill, 2006 24 pág., Isbn: 84-481-4644-1
5 STAUFFER Matt, Laravel: Up and Running. 2016. Vol. 1. pág. 16.
17
JavaScript. JavaScript (abreviado comúnmente JS) es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas aunque existe una forma de JavaScript del lado del servidor (Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es también significativo. Desde el 2012, todos los navegadores modernos soportan completamente ECMAScript 5.1, una versión de JavaScript. Los navegadores más antiguos soportan por lo menos ECMAScript 3. La sexta edición se liberó en julio del 2015. JavaScript se diseñó con una sintaxis similar a C, aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo, Java y JavaScript tienen semánticas y propósitos diferentes. Todos los navegadores modernos interpretan el código JavaScript integrado en las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del Document Object Model . Tradicionalmente se venía utilizando en páginas web HTML para realizar operaciones y únicamente en el marco de la aplicación cliente, sin acceso a funciones del servidor. Actualmente es ampliamente utilizado para enviar y recibir información del servidor junto con ayuda de otras tecnologías como AJAX. JavaScript se interpreta en el agente de usuario al mismo tiempo que las sentencias van descargándose junto con el código HTML. Desde el lanzamiento en junio de 1997 del estándar ECMAScript 1, han existido las versiones 2, 3 y 5, que es la más usada actualmente (la 4 se abandonó). En junio de 2015 se cerró y publicó la versión ECMAScript 6.6
6 CROCKFORD Douglas, JavaScript: The Good Parts. 2008 Vol. 1. pág. 56.
18
Sass (Syntactically Awesome Stylesheets). Sass es un lenguaje de hoja
de estilos inicialmente diseñado por Hampton Catlin y desarrollado por
Nathan Weizenbaum. Después de sus versiones iniciales, Nathan
Weizenbaum y Chris Eppstein han continuado extendiendo Sass con
SassScript, un lenguaje de script simple, usado en los ficheros Sass.
Sass es un metalenguaje de Hojas de Estilo en Cascada (CSS). Es un
lenguaje de script que es traducido a CSS. SassScript es el lenguaje de
script en sí mismo. Sass consiste en dos sintaxis. La sintaxis original,
llamada indented syntax («sintaxis indentada») que usa una sintaxis
similar al Haml. Éste usa la indentación para separar bloques de código y
el carácter nueva línea para separar reglas. La sintaxis más reciente,
SCSS, usa el formato de bloques como CSS. Éste usa llaves para
denotar bloques de código y punto y coma (;) para separar las líneas
dentro de un bloque. La sintaxis indentada y los ficheros SCSS tienen las
extensiones .sass y .scss respectivamente.
CSS3 consiste en una serie de selectores y pseudo-selectores que
agrupan las reglas que son aplicadas. Sass (en el amplio contexto de
ambas sintaxis) extiende CSS proveyendo de varios mecanismos que
están presentes en los lenguajes de programación tradicionales,
particularmente lenguajes orientados a objetos, pero éste no está
disponible para CSS3 como tal. Cuando SassScript se interpreta, éste
crea bloques de reglas CSS para varios selectores que están definidos
en el fichero SASS. El intérprete de SASS traduce SassScript en CSS.
Alternativamente, Sass puede monitorear los ficheros .sass o .scss y
convertirlos en un fichero .css de salida cada vez que el fichero .sass o
.scss es guardado. Sass es simplemente azúcar sintáctica para escribir
CSS.
La implementación oficial de Sass es open-source y escrita en Ruby, sin
embargo existen otras implementaciones, incluyendo una en PHP para
Drupal.
La sintaxis indentada es un metalenguaje. SCSS es un metalenguaje
anidado, lo que es válido en CSS es válido en SCSS con la misma
semántica.
19
5.2 MARCO CONCEPTUAL
El software hace referencia a un programa o conjunto de programas de cómputo que incluye datos, procedimientos y pautas que permiten realizar distintas tareas en un sistema informático. En la actualidad se está enfocando en tres tipos principales, la primera en las aplicaciones de escritorio que son aquellas que se encuentran instaladas en el ordenador y se puede ejecutar sin internet en un sistema operativo, la segunda en las aplicaciones móviles estas son diseñadas para ser ejecutadas en teléfonos inteligentes, tabletas y otros dispositivos móviles, permite al usuario efectuar una tarea concreta, y la tercera las aplicaciones web que son aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web.
7 CEDERHOLM Dan En: Sass for Web Designers. 2013. Vol. 1, pág. 12., ISBN: 1-937557-13-8
20
6. DISEÑO METODOLÓGICO
6.1 TIPO DE INVESTIGACIÓN.
El tipo de investigación seleccionada para este proyecto es el estudio aplicado, ya
que se acomoda perfectamente al problema que se presenta en la actualidad con
la asignación de horarios por programa de la universidad Santo Tomás seccional
Tunja, el cual requiere ser intervenido y mejorado.
Así se están generando conocimientos o métodos dirigidos a un sector educativo,
que a su vez es productivo, con el fin de mejorarlo y hacerlo más eficiente, y
también con el fin de obtener un producto nuevo y útil en este espacio de la
academia.
21
De este estudio aplicado surgirá una aplicación web, que podrá solventar el
problema que se ha encontrado en el análisis previo, donde con la ayuda de
profesores y administradores encargados encontraremos las diferentes
dificultades que se presentan en la actualidad con la asignación de los horarios
que se está haciendo en este momento.
6.1.1 Método de Investigación. El método de investigación que se tiene en este
proyecto es de tipo deductivo, porque se está descendiendo de lo general a lo
particular, desde la teoría que se tiene por parte del creador del proyecto, en este
caso esa teoría son todos los temas y metodologías existentes en la ingeniería del
software, hasta el cómo tomar todas esas diferentes herramientas y actividades
para llegar a algo particular y único, en este caso sería la aplicación web en
contexto.
Pero del desarrollo de este proyecto no solo se va a llegar a tener el sistema, si no
que se obtendrá diferente documentación, donde podamos encontrar la
investigación que se realizó y el cómo se aplicó la teoría y los conocimientos
adquiridos anteriormente, para desarrollar el proyecto y así proponer una solución
óptima para la institución.
6.2 HIPÓTESIS.
Con base a diferentes experiencias que se han tenido en el trascurso de la carrera
de ingeniería de sistemas, y teniendo en cuenta diferentes charlas que se han
tenido con el decano de la facultad de ingeniería de sistemas, se ha llegado a la
siguiente hipótesis:
La herramienta tecnológica planteada en el presente proyecto solucionará las
fallas que se presentan en la actualidad con la administración de los horarios
académicos, optimizando y mejorando la experiencia de usuario de este proceso
en las facultades de la universidad Santo Tomás seccional Tunja.
6.3 VARIABLES.
Experiencia de los administradores con la herramienta actual. En este
caso, esta variable es de tipo dependiente, ya que va a depender del sistema
que esta variable cambie, se puede obtener un factor positivo o uno negativo de
parte del usuario, por lo cual, esta variable es la que se quiere llegar a mejorar
en este proyecto, buscando una manera óptima de mejorar la forma en que la
comunidad administrativa interactúa con las herramientas tecnológicas para
administrar los horarios de cada una de las facultades o programas
académicos.
6.4 POBLACIÓN.
El resultado de este proyecto, va dirigido a los administradores y/o encargados de
la gestión de los horarios de las facultades de la universidad Santo Tomás
seccional Tunja.
6.5 FUENTES.
En la investigación realizada, hablando de Colombia, se han encontrado diferentes
proyectos, en los cuales se implementan aplicaciones web para la ayuda de la
comunidad estudiantil y a los administradores de dichas instituciones.
En los vínculos del apartado de Referencias podemos ver descripciones de los
proyectos ya existentes y de los cuales se tendrán en cuenta para el desarrollo de
este proyecto.
6.6 INSTRUMENTOS.
Para este proyecto se han seleccionado dos instrumentos para el desarrollo de la
investigación del proyecto:
Entrevista. Se realizaron entrevistas con diferentes encargados de algunas
facultades de la universidad, pero más que una entrevista se intentó tener una
charla, donde el encargado nos pueda trasmitir su experiencia con la información
que se maneja actualmente con la asignación de los horarios, al finalizar estas
charlas la idea es obtener diferentes puntos de vista, para así enfocarlas y tenerlas
23
en cuenta para el desarrollo del prototipo de la aplicación web, ya que pueden salir
funcionalidades nuevas, que no se tenían contempladas o también funciones que
no son necesarias y que ya se estaban teniendo en cuenta.
6.7 METODOLOGÍA DE LA INVESTIGACIÓN.
La metodología de la investigación propuesta es la siguiente:
1) Identificar los problemas reales y las necesidades de los administradores
respecto al manejo de la asignación de los horarios.
Entrevistar a los encargados de la asignación de los horarios de la universidad.
Realizar entrevistas y encuestas a la comunidad estudiantil de la USTA.
Documentar las investigaciones realizadas.
Tabla 1. Identificación de problemas
2) Analizar los requerimientos funcionales y no funcionales de la aplicación web.
Analizar el documento de la etapa anterior para identificar los requerimientos de la aplicación.
Documentar las investigaciones realizadas.
Tabla 2. Análisis de requerimientos
3) Diseñar el prototipo final para tener una idea previa de la aplicación.
Analizar el documento de la etapa anterior para generar el diseño de la aplicación web.
Crear los wireframes de la aplicación.
24
Documentar el diseño realizado. Tabla 3. Diseño de la aplicación
4) Desarrollo de la aplicación web.
Creación y Conexión a base de datos del sistema.
Desarrollo del Frontend de la app web.
Desarrollo del Backend de la app web.
Configuración de detalles de la aplicación web.
Documentar el desarrollo realizado. Tabla 4. Desarrollo de la aplicación
5) Realizar pruebas con la aplicación, dirigidas a los administradores de la
universidad Santo Tomás.
Entregar y desplegar aplicación web al encargado de la facultad de ingeniería de sistemas.
Documentar las pruebas realizadas Tabla 5. Pruebas.
6) Implementar y publicar la aplicación web para el uso de la comunidad
tomasina.
Publicación de la aplicación en principio en la facultad de ingeniería de sistemas.
Implementación de la aplicación web en la universidad Santo Tomás. Tabla 6. Implementacion y publicacion de la aplicación
25
7.1 ANÁLISIS DE SOFTWARE DE LA APLICACIÓN WEB.
El sistema llamado “horarios Usta Tunja” tendrá como función principal asignar
horarios y docentes a grupos asociados a asignaturas con su respectivo semestre,
en forma de “grilla” se desplegará la información de dichos horarios para una
mayor comodidad y para que el usuario tenga la mejor experiencia posible.
En dicha asignación se validara e informará al usuario cuando exista un cruce, ya
sea con el grupo o que el docente ya que tenga asignado un horario en el que se
está ingresando.
Además se podrá hacer la administración de los docentes, perfil, grupos,
asignaturas y reportes.
26
La descripción de los requerimientos funcionales y no funcionales se encuentra en
el anexo llamado “Análisis del sistema” y se encuentra al final del documento.
7.2 DISEÑO DE LA APLICACIÓN WEB.
En esta fase se analizaron los requerimientos funcionales obtenidos en la anterior
etapa, para tener una idea mucho más clara de lo que se debe tener.
En base a eso, se diseñaron los wireframes la interfaz gráfica, la cual tiene una
experiencia de usuario acorde a este tipo de sistemas, donde la tarea se cumpla
forma ágil y fácil para el usuario de la aplicación.
El diseño de la aplicación se encuentra en el anexo llamado “Diseño del sistema” y
se encuentra al final del documento.
7.3 DESARROLLO DE LA APLICACIÓN WEB.
El sistema web será realizado con el lenguaje de programación php 5.5 utilizando
el framework laravel en su versión 5.3 y MySQL 5 para la persistencia de los
datos.
Inicio de sesión.
Cambio de contraseña.
Administración de docentes.
Administración de grupos.
Asignación de horario.
Reportes en PDF
28
Figura 2. Autenticación del sistema
Es la primera interfaz que se le presenta al usuario, en esta ventana podrá
ingresar sus credenciales, como lo son el correo electrónico y la contraseña
provista, si al usuario se le ha olvidado dichos datos podrá ingresar en el link de
“olvidaste tu contraseña” para proceder a recuperarla.
8.2 Módulo de administración del usuario.
29
Figura 3. Administración del perfil
Cuando el usuario se autentica por primera vez se le mostrará la anterior interfaz,
donde podrá cambiar su nombre, apellido, nombre de usuario, el correo
electrónico y la contraseña, cuando estos dos últimos datos son modificados se
procede a confirmar el correo electrónico, enviado un email a la dirección provista.
8.3 Módulo de administración de docentes.
30
Figura 4. Módulo de docentes
En esta interfaz se listan todos los docentes asociados al programa del usuario
(decano), allí se podrán crear un docente, modificar sus datos como lo es el
nombre, la identificación y la descripción general, también se puede dar de baja y
buscar en tiempo real con el nombre o la identificación del docente.
8.4 Módulo de administración de asignaturas.
31
Figura 5. Administración de asignaturas
Administración de los grupos, creación, asociación con la asignatura y listar las
asignaturas con sus respectivos grupos, allí las asignaturas se ordenan por
semestre creado junto con el código y plan de estudios asociados.
8.5 Módulo de administración de los grupos.
32
Figura 6. Administración de los grupos
Acá se encuentra la administración de los grupos, donde se puede crear y asociar
un grupo inmediatamente a una asignatura, en la parte inferior se listan los grupos
donde se tiene la opción de eliminarlos.
8.6 Interfaz de horarios por carrera.
33
Figura 7. Horarios
Es la interfaz más importante del sistema, ya que acá se encuentra la información
más importante, los horarios de los grupos, acá se puede filtrar por semestre, por
nombre de docente, nombre de la asignatura, se puede añadir grupos a diferentes
horarios, el sistema valida la disponibilidad del docente, del grupo, del día y la hora
para que no existan cruces de horarios, si se llega a presentar alguno, se procede
a informar al usuario.
Como opciones secundarias en esta interfaz se tiene la de cerrar periodo y de
importar datos de antiguos periodos.
8.7 Interfaz de Reportes.
Figura 8. Reportes
El usuario podrá consultar los horarios de sus docentes, para observar en que
horario tiene disponibilidad y en cual no, así mismo con las asignaturas. Esta
información se presenta en forma de tabla en la parte inferior de la interfaz y
también tiene la opción de exportar reporte a pdf si se desea imprimir.}
35
9. CONCLUSIONES
Se realizó una investigación del cómo se estaban llevando los procesos
relacionados con la administración de los horarios de la universidad, realizando
entrevistas con encargados de dicha tarea en la facultad de ingeniería de
sistemas, para obtener datos que ayudarán en el análisis del sistema.
Se realizó el análisis respectivo al sistema web, en base a las entrevistas
realizadas, para así decidir el cómo y que se desarrollaría como solución al
problema que se encontró.
Se diseñó un prototipo no funcional el cual trasmitiera una idea tanto a nosotros
como desarrolladores como al usuario final del sistema, esto basado en las
últimas tendencias de experiencia e interfaz de usuario web, para así proceder
a su creación.
Después de la fase de análisis y diseño del sistema sobre los problemas que se
presentan actualmente con la administración de los horarios se pudo encontrar
y desarrollar la solución del sistema web funcional y óptimo para dicha tarea.
Como resultado del trabajo realizado, se puede concluir que el tema de
desarrollo web es bastante amplio, de alto cuidado y análisis, así pues, se
abarcó y se investigó una serie de temas para poder tener más conocimiento,
para poder avanzar en el tema y obtener una aplicación web funcional y óptima.
Se encontró que la Universidad Santo Tomás Seccional Tunja no posee la
suficiente innovación tecnológica que se requiere, ya que sus tareas de
administración como la tratada en este proyecto no están a la altura en materia
de optimización y funcionalidad.
En el desarrollo del presente proyecto se emplearon muchos de los
conocimientos adquiridos en el transcurso de la universidad, además se logró
identificar nuestras virtudes y falencias que durante el transcurso del proyecto
se lograron superar.
36
BIBLIOGRAFÍA
CEDERHOLM Dan En: Sass for Web Designers. 2013. Vol. 1. pág. 12. ISBN: 1-
937557-13-8
COLABORADORES DE WIKIPEDIA. Que significa Backend y Frontend en el diseño web [en línea] <https://es.wikipedia.org/wiki/Frontend_y_back-end> [publicado en 14 Junio 2012] [citado 22 Mayo de 2016]
CROCKFORD Douglas, JavaScript: The Good Parts. 2008 Vol. 1. pág. 56.
ISBN: 10-0-596-15873-4
DELISLE Marc. Mastering phpMyAdmin 3.4 for Effective MySQL Management.
Québec. Canadá 2009. Vol. 1, pág. 23. ISBN: 9781849517782
IAN Gilfillan. La biblia MySQL. Madrid. España 2001. Vol. 1, pág. 39. ISBN: 46- 441-4622-2 SILBERSCHATZ Abraham, Fundamentos de bases de datos, Quinta Edición, Madrid. España, McGraw-hill, 2006 24 pág. Isbn: 84-481-4644-1
STAUFFER Matt. Laravel: Up and Running. 2016. Vol. 1. pág. 16. ISBN: 1-4919- 3603-7
1. REQUERIMIENTOS FUNCIONALES.
Objetivo Registrar al administrador del sistema. Descripción El registro se realizará directamente en la base de datos, creando un
usuario administrador por defecto. Estas credenciales se entregarán cuando se esté implementando el sistema
Entradas Correo Electrónico Usuario (Institucional). Contraseña encriptada con bCrypt
Secuencia normal
Resultado Registro del administrador con campos preestablecidos. Importancia Imprescindible
Tabla 7. Registro del administrador
Nombre 2. Login al sistema por primera vez
Objetivo Cambiar el nombre de usuario, correo electrónico y contraseña previamente establecidos.
Descripción Cuando el administrador ingrese con las credenciales suministradas por primera vez, se mostrará una interfaz en la que tiene que cambiar su usuario y contraseña por seguridad.
Entradas Correo electrónico Usuario. Nombre de usuario. Contraseña.
Secuencia normal
P1. Ingresar un correo electrónico válido. P2. Envío de link de confirmación de correo electrónico, donde será enviado a la interfaz de cambio de contraseña. P3. Ingreso de nueva contraseña.
Resultado Registro del administrador
38
Contraseña
Secuencia normal
P1. Comprobar que el usuario y contraseña coincidan en la base de datos. P2. Enviarlo a la interfaz correspondiente.
Resultado Ingresar al sistema de información. Importancia Imprescindible
Tabla 9. Inicio de sesión
Nombre 4. Recuperación de contraseña
Objetivo Recuperar la contraseña del administrador. Descripción El sistema enviará un link al correo electrónico asociado con la
cuenta del administrador, donde se enviará a una interfaz donde se podrá cambiar la contraseña.
Entradas Correo electrónico
Secuencia normal
P1. Comprobar que el correo electrónico se encuentre en la base de datos. P2. Enviar un link al correo electrónico. P3. Cambiar la contraseña
Resultado Cambio de contraseña del administrador. Importancia Imprescindible
Tabla 10. Recuperación de contraseña
Nombre 5. Actualización de datos del administrador
Objetivo Actualizar los datos del administrador del sistema. Descripción El sistema autenticará al administrador del sistema por medio de
un usuario y contraseña. Entradas Usuario.
Contraseña
Secuencia normal
P1. Comprobar que el usuario y contraseña coincidan en la base de datos. P2. Enviarlo a la interfaz correspondiente
Resultado Ingresar al sistema de información. Importancia Imprescindible
Tabla 11. Administración de datos del usuario
39
Nombre 6. Registro de Docentes
Objetivo Registrar los docentes en el sistema de información. Descripción El administrador podrá ingresar los docentes al sistema.
Entradas Identificación del Docente
Nombre del Docente
Descripción del docente
Secuencia normal P1. Ingresar datos del docente. P2. Validar que la identificación aún no exista. P3. Registro en la base de datos.
Resultado Registro del docente con sus respectivos campos
Importancia Media
Objetivo Consultar los docentes registrados en el sistema de información. Descripción El administrador podrá consultar los docentes previamente
ingresados al sistema en una tabla. Entradas
Secuencia normal
P1. Seleccionar opción de consulta de docentes
Resultado Desplegar interfaz con la información de los docentes registrados en el sistema
Importancia Media Tabla 13. Consulta de docentes
Nombre 8. Modificación de Docentes
Objetivo Editar la información de los docentes registrados en el sistema de información.
Descripción El administrador podrá editar los datos de los docentes previamente ingresados al sistema.
Entradas Identificación del docente
Secuencia normal
P1. Seleccionar al docente al cual se van a editar los datos
P2. Ingresar los nuevos datos. Resultado Desplegar interfaz con los docentes registrados en el sistema
Importancia Media Tabla 14. Actualización de docentes
40
Objetivos Eliminar docentes registrados en el sistema de información. Descripción El administrador podrá eliminar al docente que seleccione,
previamente ingresado al sistema. Entradas Identificador del docente
Secuencia normal
Resultado Docente eliminado del sistema de información
Importancia Media Tabla 15. Eliminación de docentes
Nombre 10. Registro de Asignaturas
Objetivo Registrar las asignaturas en el sistema de información. Descripción El administrador podrá ingresar las asignaturas al sistema y
asociarlos con los grupos que le corresponden. Entradas Nombre Asignatura
Código Asignatura
P1. Ingresar datos de la asignatura. P2. Seleccionar un grupo.
Resultado Registro de la asignatura con sus respectivos campos
Importancia Media Tabla 16. Registro de asignaturas
Nombre 11. Consulta de Asignaturas
Objetivo Consultar las asignaturas registrados en el sistema de información.
Descripción El administrador podrá consultar las asignaturas previamente ingresados al sistema.
Entradas
Resultado Desplegar interfaz con la información de las asignaturas registradas en el sistema
Importancia Media Tabla 17. Consulta de asignaturas
41
Objetivos Eliminar asignaturas registrados en el sistema de información. Descripción El administrador podrá eliminar a la asignatura que seleccione ,
previamente ingresada al sistema. Entradas Identificador de la asignatura
Secuencia normal
P2 Seleccionar a la asignatura a eliminar
Resultado Docente eliminado del sistema de información
Importancia Media Tabla 18. Eliminación de asignaturas
Nombre 13. Registro de grupos de asignatura
Objetivo Crear los diferentes grupos asociados a las asignaturas. Descripción El administrador del sistema tendrá la opción de crear los grupos y
asociarlos a determinada asignatura ya creada. Entradas Nombre del grupo
Asignatura asociada
Secuencia normal
P1. Seleccionar un docente. P2. Seleccionar una asignatura. P3. Ingresar datos del grupo.
Resultado El grupo será creado y se procederá a asociarla a la asignatura seleccionada.
Importancia Media Tabla 19. Registro de grupos por asignatura
Nombre 14. Consultar grupos creados
Objetivo Consultar qué grupos están registrados en el sistema. Descripción Existirá un módulo donde el usuario del sistema podrá ver los
grupos junto a su asignatura y docente asociados. Entradas
Secuencia normal
P1. El usuario seleccionará la opción de consultar horario. P2. Se dirige a esa interfaz y consulta los grupos.
Resultado Desplegar pestaña con los grupos. Importancia Media
Tabla 20. Consulta de grupos creados.
42
Nombre 15. Eliminar grupos creados
Objetivos Eliminar el grupo creado. Descripción En la pestaña de grupos el usuario podrá seleccionar el grupo que
desee, para poder eliminarlo del sistema. Entradas Código del grupo
Secuencia normal
P1. Seleccionar el grupo a eliminar. P2. Seleccionar la opción eliminar del grupo.
Resultado Grupo eliminado del sistema. Importancia Alta
Tabla 21. Eliminación de grupos creados
Nombre 16. Asignación de horarios
Objetivos Asignar un horario disponible a un grupo. Descripción El usuario del sistema selecciona el docente, el grupo, y el horario
deseado, una vez terminada esta selección el sistema validará la transacción y procederá a generar el horario correspondiente.
Entradas Código docente
Secuencia normal
P1. Seleccionar el docente. P3. Seleccionar grupo. P4.Seleccionar la fecha y hora en el horario gráfico que se tendrá. P5. Validar disponibilidad.
Resultado Confirmación del horario asignado
Importancia Imprescindible Tabla 22. Asignación de horarios
Nombre 17. Consultar el horario generado
Objetivos Consultar el horario que se ha generado en el sistema. Descripción El usuario podrá consultar el horario que el sistema ha
generado. Entradas
Secuencia normal P1. Ingresar a la sección de horario. Resultado Evidenciar el horario generado
Importancia Imprescindible Tabla 23. Consulta horario generado.
43
Nombre 18. Consultar el histórico de los horarios
Objetivos Consultar el horario histórico de los horarios. Descripción El usuario consultará el historial de los horarios correspondientes
a los años anteriores. Entradas Código del periodo
Código del año
Secuencia normal
P1. Ingresar a la sección de histórico de horarios. P2. Consultar el histórico de los horarios.
Resultado Evidenciar el histórico de los horarios. Importancia Alta
Tabla 24. Consulta el histórico de los horarios
Nombre 19. Generar horario para descargar
Objetivos Consultar el horario generado
Descripción El usuario podrá descargar el horario actual del semestre en formato pdf.
Entradas Código del periodo
Secuencia normal
P1. Ingresar a la sección de horario. P2. Descargar el horario actual.
Resultado Descargar el horario actual del semestre en pdf Importancia Imprescindible
Tabla 25. Generar horario para descargar.
Nombre 20. Mantener datos del periodo anterior
Objetivos Mantener datos del periodo anterior
Descripción Se podrá mantener la información de los docentes, asignaturas y grupos del periodo inmediatamente anterior.
Entradas
Resultado Evidenciar los datos de docentes, asignaturas y grupos. Importancia Alto
Tabla 26. Mantener datos de periodo anterior
44
Nombre 21. Mostrar cruces de horarios
Objetivos Evidenciar el cruce que se está presentando. Descripción Si en el momento que el usuario esté asignando los horarios a
determinada asignatura no se puede por algún cruce de horarios, el sistema mediante un pop-up le hará dar a conocer específicamente con qué materia o con qué profesor se presenta el cruce.
Entradas Código Materia. Identificador Docente. Día. Hora.
Secuencia normal
P1. Ingresar a la sección de horario. P2. Ingresar materia y docente al horario. P3.Si se presentan cruces, evidenciarlos al usuario.
Resultado Mostrar alerta de cruce de horarios
Importancia Imprescindible Tabla 27. Mostrar cruces de horarios.
Nombre 22. Consulta de horario por docente
Objetivos Listar el horario de materia del docente
Descripción El usuario podrá seleccionar el docente registrado en el sistema, para posteriormente consultar el horario de materias asociadas con dicho docente en el periodo actual.
Entradas Identificador Docente. Secuencia normal
P1. Ingresar a la sección de horario por docente. P2. Seleccionar docente a consultar horario. P3.Mostrar horario del docente, asociado al periodo actual..
Resultado Mostrar horario del docente seleccionado. Importancia Alta
Tabla 28. Consulta de horario por docente.
Nombre 23. Consulta de horario por materia
Objetivos Listar el horario de una materia
Descripción El usuario podrá seleccionar la materia registrada en el sistema, para posteriormente consultar el horario de dicha materia del periodo actual.
Entradas Código Materia. Secuencia normal
P1. Ingresar a la sección de horario por materia. P2. Seleccionar materia a consultar horario. P3.Mostrar horario de la materia, asociado al periodo actual.
Resultado Mostrar horario de la materia seleccionada. Importancia Alta
Tabla 29. Consulta de horario por materia
45
1 Ambiente El sistema deberá desarrollarse para la web. 5
2 Servidor El sistema deberá ser compatible con la infraestructura del servidor web en este caso Linux, Apache, MYSQL PHP, (LAMP).
5
4
4 Usabilidad El sistema debe ser fácil de usar con ayuda de interfaces intuitivas.
5
5 Seguridad El ingreso al sistema por primera vez estará restringido bajo un usuario y contraseña previamente establecidos.
5
6 Cross browser El sistema deberá funcionar los principales navegadores web (Google Chrome, Firefox, Internet Explorer) en sus últimas versiones.
3
7 Rendimiento El sistema deberá soportar el manejo de toda la información durante su procesamiento.
3
8 Desempeño El sistema no presentará problemas para su manejo e implementación.
4
46
1. Wireframes de la aplicación web.
Figura 9. Login del sistema
47
48
Figura 13. Ingreso de asignaturas
49
50
Figura 16. Administración de los docentes
51
52
Figura 19. Reportes de horarios