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