Aplicativo Web
Aplicativo Web
Aplicativo Web
DIRECTOR:
CODIRECTOR:
Queremos dedicar este trabajo a nosotros, por todos los esfuerzos y sacrificios que
tuvimos que hacer para poder sacar adelante esta carrera, esto sin dejar de lado a
nuestras familias que nos apoyaron durante todo este largo proceso y nos incentivaron a
nunca renunciar por más difícil que llegaran a tornarse las cosas.
En este trabajo de grado aplicamos todos los conocimientos que adquirimos a lo largo
de estos años de estudio en la institución donde recibimos apoyo y colaboración de
nuestros compañeros de estudio y los profesores de la institución.
PALABRAS CLAVE
DEDICATORIA ................................................................................................................ 2
AGRADECIMIENTOS ..................................................................................................... 3
RESUMEN....................................................................................................................... 4
PALABRAS CLAVE ......................................................................................................... 4
TABLA DE CONTENIDO ................................................................................................. 5
ÍNDICE DE FIGURAS ..................................................................................................... 8
ÍNDICE DE TABLAS ........................................................................................................ 9
ABREVIATURAS ........................................................................................................... 10
1. INTRODUCCIÓN ................................................................................................... 11
2. MARCO DEL PROYECTO ..................................................................................... 15
2.1. DEFINICIÓN PROBLEMA ................................................................................... 15
2.1.1. Árbol de problemas .......................................................................................... 16
2.1.2. Áreas del conocimiento .................................................................................... 17
2.2. JUSTIFICACIÓN DEL PROBLEMA ..................................................................... 18
2.3. MARCO CONCEPTUAL ...................................................................................... 19
2.4. ANTECEDENTES................................................................................................ 26
2.4.1. Universidad de Antioquia .................................................................................. 26
2.4.2. Universidad Nacional de Colombia................................................................... 30
2.4.3. Colegio Mayor de Antioquia ............................................................................. 33
2.4.4. Instituto Tecnológico Metropolitano .................................................................. 36
2.4.5. Institución Universitaria Pascual Bravo ............................................................ 38
2.4.6. Software SIRECEC .......................................................................................... 40
2.4.7. Universidad Digital de Antioquia ....................................................................... 42
2.5. OBJETIVOS......................................................................................................... 43
2.5.1. Objetivo General............................................................................................... 43
2.5.2. Objetivos Específico ......................................................................................... 43
3. MARCO METODOLÓGICO ................................................................................... 44
3.1. DEFINICIÓN DE LA METODOLOGÍA ................................................................. 44
Por su parte los autores Nicea, Andreea-Gabriela & Romeo, (2017), manifiestan: “La
educación y formación profesional continua constituyen un recurso valioso para facilitar
la inserción de personas desempleadas e inactivas en el mercado laboral” (p. 10). En
contraste se encuentra que dicha institución universitaria no cuenta con una plataforma
adecuada para la gestión de procesos y así crear la oferta de cursos o diplomados al
público interesado. Sumándose la situación en la cual la ubicación de estas ofertas es
difícil de hallar, de modo que el usuario debe conocer exactamente la ruta que debe tomar
para ingresar y así acceder a esta información, llegando a manifestar la importancia de
que el área de educación continua pueda brindar una adecuada difusión al público
interesado en tomar alguna de estas ofertas educativas y a su vez se forme un vínculo
entre ambas partes el usuario que toma la oferta educativa y la institución que brinda la
oportunidad.
Es importante destacar varios aspectos sobre la idea que se propone que consta de un
aplicativo web donde se pueda gestionar, unificar y darle alta calidad a los procesos del
área de educación continua, ya que, tomando de referencia lo manifestado por Renna,
Izzo & Romaniello, (2020), “El desarrollo de un modelo basado en procesos puede
contribuir a superar los problemas anteriores y respaldar la mejora continua del sistema
para aumentar la satisfacción del cliente en términos de calidad, eficiencia y agilidad” (p.
57). Este aplicativo web pretende emular lo descrito anteriormente permitiendo ofrecer
una solución a esos problemas por medio de una mejora en la gestión de procesos en el
área de educación continua y que, por lo tanto, sea más sencillo para los usuarios que
trabajan en dicha área interactuar en el sitio web. Este sitio web actualmente no se
encuentra unificado, conllevando a que no se pueda realizar un
desempeño óptimo donde la importancia es ofrecer un servicio de calidad a los
interesados y así ser más manejable su gestión en dicha área del Tecnológico de
Antioquia. Algunos puntos clave serían poder automatizar sus procesos, permitir tener un
mejor control de cómo se comportan los cursos por medio de informes gráficos. Según la
autora Munzner (2014), “Una visualización de los datos es adecuada cuando hay una
necesidad de aumentar las capacidades humanas en lugar de sustituir a las personas
con los métodos de toma de decisiones computacionales” (p. 1).
Por lo tanto, cabe resaltar que la importancia del proyecto se enmarca en dar un plus al
trabajo que se realiza en el área de educación continua y su personal administrativo,
permitiendo que ganen en aspectos de automatización de procesos importantes, que su
información sea más ordenada y se puedan tener registros más claros de cómo se
comporta el proceso de los cursos ofrecidos al público interesado y así determinar qué
pasos tomar para mejorar o para dar un mejor servicio.
Proceso
Recopilando información brindada por la norma ISO 9001:2015, donde se manifiesta que
proceso es un conjunto de actividades relacionadas entre sí, que se definen, son
repetibles, y agregan valor medible mediante la transformación de entradas y salidas
(ISO, 2015). En otras palabras, es un conjunto de actividades que transforman insumos
o materias primas en productos que satisfacen las necesidades de los clientes, de
acuerdo con las estrategias de una organización
Gestión de Procesos
Scrum
Historias de Usuario
Las historias de usuario nacen de la interacción con los interesados del proyecto, los
analistas, los testers y los desarrolladores que se encuentran involucrados en dicho
proyecto, donde el resultado que se da es la representación de un requisito escrito en
una o dos frases cortas utilizando el lenguaje común de dicho interesado (Suaza, García
& Jaramillo, 2015).
MERN
ExpressJS
Es un framework de aplicación web para node.js, el cual es uno de los más estables y de
los más utilizados en la actualidad. Muchas aplicaciones web, API REST, entre otras
están basadas en ExpressJS.
Este framework permite el uso de middlewares, los cuales son pequeños fragmentos de
código que se permiten usar antes de que el usuario o cliente acceda a una URL en
específico de la aplicación, es decir antes de que se ejecute la acción que se requiera
hacer en la comunicación cliente - servidor. Para usar ExpressJS es muy fácil, ya que
solo se necesita tener Node.js y NPM para su instalación y usarlo, la ventaja de este es
que ya en la actualidad tiene una documentación muy extensa y completa, lo que permite
la creación de rutas middlewares de manera muy simple y rápida.
JavaScript
Es un lenguaje de programación interpretado, esto quiere decir que es analizado por otro
programa siendo este, los navegadores web. JavaScript está diseñado para ejecutarse
en los navegadores web, este lenguaje es utilizado principalmente para ejecutar acciones
del lado del cliente, pero también existen formas de usarlo del lado del servidor. El
principal objetivo de JavaScript es darle interactividad, esto se refiere a darle a las
paginas por llamarlo de alguna manera inteligencia artificial y que los eventos o sea las
acciones que ejecutan los usuarios influyan en la información presentada en la página.
JavaScript permite a los desarrolladores dar efectos especiales dinámicos a las páginas,
NodeJS
Es un entorno de ejecución para JavaScript, este se puede usar por fuera del navegador
web, usa un modelo de operaciones asíncrono y orientado a eventos permitiendo que se
puedan ejecutar las tareas en orden diferente del que fueron programadas, haciendo que
una tarea no bloquee o retrase la ejecución de otras, esta es una característica que hace
que Node.js sea más liviano y eficiente además de contar con su propio gestor de
paquetes llamado NPM (Node Package Manager) considerado como una de las librerías
de código abierto más grande. En NPM se permite gestionar fácilmente las dependencias
de un proyecto, así como descargar librerías o programas de terceros, administrar
dependencias, distribuir código entre muchas más funcionalidades. Es recomendado
principalmente para aplicaciones usadas en RealTime como videojuegos, chat, etc
(Node.js, 2020).
Handlebars
Es un patrón de arquitectura siendo uno de los más usados para crear proyectos
escalables y modulares, separa una aplicación en tres componentes lógicos la vista, el
modelo y el controlador. Cada uno de estos componentes cumple una función específica
y la forma en que se relacionan ayuda a que los programadores puedan crear mejores
aplicaciones permitiendo que estas puedan ser mantenidas en el futuro. Cuando se habla
HTML
CSS
Las hojas de estilo en cascada sirven para agregar el diseño gráfico a la información que
se quiere mostrar en una página web. Actualmente el contenido como títulos, tablas,
listas, enlaces, formularios, etc. es independiente de la presentación que se le dé, es
decir, de los colores, bordes, márgenes, layouts, tamaños, fuentes, alineación de texto,
etc. Esta separación permite tener muchas ventajas ya que varios archivos de HTML
pueden tener la misma hoja de estilos CSS y de esta manera optimizar el tiempo de carga
del sitio haciéndolo más fácil de mantener. El código CSS está compuesto por reglas y
cada una de estas, está formada por el selector del elemento y el bloque declarativo,
donde el selector permite seleccionar a que elemento del documento se le aplica la regla
y el bloque declarativo contiene una o más declaraciones donde cada declaración es una
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua
del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 24
propiedad del valor separado por dos puntos y finalizado con punto y coma. La propiedad
indica la característica del elemento que se desea cambiar y el valor indica como se
desea cambiar la característica (CSS, 2020).
Para que el usuario pueda acceder a esta parte de la universidad, se logra a través del
portal web de la UdeA; www.udea.edu.co como se muestra en la figura 2, donde se debe
dirigir y acceder por el apartado “estudiar en la UdeA”, luego tener en cuenta la opción
quiero estudiar en la UdeA” y para finalizar con un clic en la opción de “educación
continua”.
Esto direcciona al usuario en el sitio web donde se exponen todos los cursos que ofrece
la universidad de este tipo, además, el usuario puede hacer la búsqueda por tipo de
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua
del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 26
actividad, donde se puede filtrar por el tipo de curso que el interesado desee cursar, ya
sea diplomado, curso, semillero, seminario o taller. Además, el usuario puede filtrar por
la región, área, etc. En el apartado de dependencia puede ver las diferentes direcciones,
escuelas, institutos, etc. que se manejan en la universidad y finalmente se puede filtrar
por rango de edad.
Esta página cuenta con un apartado en donde si alguna organización requiere un servicio
más puntual o si se tiene alguna sugerencia para la universidad la puede registrar. Para
registrarla debe llenar un formulario donde se le pregunta el nombre, correo electrónico,
número telefónico y una caja de comentarios para que puede describir más a detalle lo
que necesita o la sugerencia y luego enviar este cuestionario (Oferta, 2020).
Además, se cuenta con un botón llamado “pagos y constancias” en donde al hacer clic el
usuario puede consultar por medio del documento de identidad los diferentes cursos en
los que se encuentra inscrito y saber en qué estado se encuentran. Asimismo, si se
realizó algún diplomado o cualquier curso en sus diferentes modalidades y también puede
imprimir el certificado de estos. Aparte, en caso de necesitar la factura a nombre de
alguna organización la página cuenta con esta opción con solo enviar una carta de
Para que el usuario pueda acceder a la parte de educación continua en esta universidad,
se debe ingresar a su página web www.unal.edu.co figura 4 e ir a la pestaña de
formación, luego la opción “Educación continua y permanente” en donde se redirecciona
al sitio, https://hermesextension.unal.edu.co/ords/f?p=116:20, luego se puede ver un
pequeño recuadro para hacer la búsqueda por nombre de actividad, sede, facultad o
metodología.
Luego aparece una lista con todos los diferentes programas como se muestra en la figura
5, los cuales se ofrecen por nombre, sede, facultad, el tipo de metodología, valor de la
inscripción, fecha de inicio y final del programa, fecha de cierre de inscripción y finalmente
la duración.
Tiene un recuadro de mayor información por cada programa que se ofrece en donde al
darle clic se dirige y le muestra al usuario el nombre del curso, información general con
un resumen sobre lo que trata el curso, la metodología que se va a desarrollar, la sub
modalidad, publico objetivo, duración, horario, fecha de inicio y cierre de inscripción,
fechas de inicio y final de las actividades y un apartado de condiciones.
Después se muestra la información financiera del programa empezando por el valor de
este, el tipo de pago que se maneja para ese curso en particular, nombre del banco, tipo
de cuenta y número de cuenta de esta, aparece la dirección para hacer el pago virtual si
la persona lo quiere hacer de esta manera. Luego un recuadro con los diferentes
descuentos dependiendo del tipo de persona que se vaya a inscribir aparece el porcentaje
que se hace, el valor y el costo con el descuento aplicado.
También se cuenta con otro recuadro donde se tiene la información de contacto que
cuenta con la facultad a la que pertenece ese programa con la sede de la universidad en
la que se da, luego la unidad académica a la que pertenece, el correo electrónico del
encargado de cada programa y el código de la extensión. Finalmente aparece un botón
para preinscribirse al programa. Al preinscribirse se pide el tipo de documento con el
número. Mas adelante solicita datos como, el primer y segundo nombre con el primer y
segundo apellido, sexo biológico, estado civil, fecha de nacimiento, lugar de nacimiento,
se pregunta si es egresado de la universidad, tipo de vinculación, nivel de formación,
dirección y lugar de residencia, correo electrónico, número fijo y de celular y finalmente
aceptar los términos y condiciones. Al guardar la información, sale un cuadro de mensaje
en el que se dice que se ha preinscrito de manera exitosa y que en los próximos minutos
al correo que registro le llegara una notificación con las instrucciones para completar la
información igualmente se le solicitara asignar un usuario y contraseña para que se pueda
acceder al sistema (Hermes- Módulo Alumnos - Log In., 2020).
En esta universidad para que el usuario interesado pueda acceder a la parte de educación
continua en esta universidad, se debe ingresar a su página web
https://www.colmayor.edu.co/ figura 6, luego el usuario se debe dirigir hasta la parte
inferior de la página y dar clic sobre “Extensión Académica” luego ir a la parte que dice
“Oferta académica” y dar clic en “conoce aquí nuestra oferta de educación continua”
(Institución Universitaria Colegio Mayor de Antioquia. – Principal, 2020).
Luego se redirecciona a una nueva página donde le muestra al usuario los cursos que se
dan en esta institución en un recuadro organizadas por código, nombre, duración, fecha
de inicio, horarios, valor y funciones.
En el momento no se puede contar con información más detallada sobre el sitio y cómo
funcionan las inscripciones ya que no hay cursos en oferta (Institución Universitaria
Colegio Mayor de Antioquia. – Oferta, 2020).
En esta institución se cuenta con una plataforma de uso exclusivo para la parte de
educación continua llamada sistema de información para los procesos de extensión, en
donde la facultad o cualquier área de la universidad que necesite generar un programa
lo puede hacer por medio de unos formatos para la creación de la actividad, se tiene un
costo de la actividad, bases de datos donde se deben registrar los participantes que se
van a certificar y cuales no de acuerdo al desempeño que hayan tenido y al final se cuenta
con una evaluación de satisfacción para mirar la percepción de los participantes, futuras
mejoras o cambios a los programas. El sistema es propio de la institución siendo creado
de acuerdo a las necesidades que se fueron visualizando en esta.
Este sistema le permite al encargado crear el curso desde cero y hacer un seguimiento
tanto a los participantes del programa como a la persona que lo dicto y así poderlas
certificar.
El certificado se da de manera digital por el sistema a partir de los datos de seguimiento
donde el encargado de educación continua los genera y la persona que dicto el programa
es la encargada de mandarlo. La oferta de los programas se hace a través de la página
de la institución y se da un link para que hagan todo el proceso de inscripción y pago.
Para entrar al sitio de educación continua del ITM el usuario debe ingresar a la página
web www.itm.edu.co figura 8, luego dirigirse a la pestaña de dependencias y dar clic en
“Dirección Operativa de Extensión Académica” (ITM, 2020). Esta página le muestra al
usuario el objetivo general y específicos que tiene esta institución con respecto a la
extensión académica luego en el menú que sale al lado izquierdo se presentan dos
opciones “Educación continua y Educación continua virtual” (Dirección Operativa de
Extensión Académica – ITM., 2020).
Al dar clic sobre “Educación continua” le carga al usuario una nueva página en donde se
puede buscar el programa en el que se está interesado, si la persona ya sabe el nombre
de este, sino lo puede filtrar por tipo de programa. Asimismo, el usuario puede filtrarlo por
sede y finalmente sale un listado con todos los programas que se encuentran activos en
la institución. Acá, se muestran los programas con su respectivo nombre, el tipo de
programa que es, la sede, la intensidad horaria y ver más. Al dar clic sobre este, muestra
en un recuadro una breve descripción. Además se puede ver el nombre del programa,
que universidad lo da, los objetivos generales y específicos, programación donde salen
cuantos grupos se van a manejar en ese programa, a que publico va dirigido, el contenido
del programa, la inversión a realizar dependiendo del tipo de persona que lo va a hacer
(Egresado, particular, grupos, etc.), además sale un apartado llamado mayores informes
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua
del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 36
donde sale el contacto como, números telefónicos y correos electrónicos en caso de tener
algún inconveniente o duda. Muestra también, una nota donde informa que los
programas, los horarios y grupos están establecidos están sujetos al número de personas
que se inscriban y que los certificados los da la dirección de extensión académica y solo
a quienes asistan mínimo al 85% del programa. finalmente sale la opción para hacer el
pago por PSE y como se debe hacer el trámite en caso de requerir la devolución del
dinero.
Cuando un usuario se quiere preinscribir al programa, se abre una ventana nueva en
donde se debe llenar un formulario con datos personales como nombres y apellidos, tipo
de identificación y numero, teléfono, celular, correo, programa, tipo de evento, tipo de
usuario, nombre del evento, cómo se enteró del curso dependiendo de que opción se
escoja le aparecerá otro recuadro preguntándole porque medio se enteró del curso y
finalmente sugiera un curso.
Mas abajo sale otra información bajo el enunciado de información importante con una
nota y como se manejan los datos personales según unas regulaciones y el usuario debe
aceptar los términos y condiciones para poder seguir con el proceso de preinscripción. Al
enviar la información del formulario le aparece al interesado un mensaje donde se dice
que en caso de ser admitido al programa se le contactara en los próximos días, se le
enviara la colilla de pago y los pasos a seguir para continuar con la inscripción (Educación
Continua – ITM., 2020).
Finalmente, al seleccionar la opción de “Educación continua virtual” muestra los
diferentes programas que se dictan de manera virtual y la forma en como aparecen,
además de su información y el proceso para preinscribirse es la misma anteriormente
descrito (Educación Continua Virtual – ITM., 2020).
No se logró tener información más detallada acerca de que plataforma o software se
maneja para esta parte de la universidad, ni saber cómo manejan la parte de los diplomas.
El usuario para acceder a la parte de educación continua del Pascual Bravo, debe
ingresar a la página web de la universidad www.pascualbravo.edu.co figura 9, luego se
dirige a la pestaña de “extensión”, luego a la pestaña “educación continua” y se le
muestran tres opciones al usuario (Inicio | Institución Universitaria Pascual Bravo., 2020).
Diseñar la arquitectura del aplicativo web que satisfaga las necesidades del área
de educación continua.
Validar el aplicativo web por medio de un caso real de un proceso del área de
educación continua, analizando el cumplimiento de diferentes funciones del
sistema.
Antes que nada, se debe resaltar la importancia del uso de metodologías agiles en el
amplio campo de la ingeniería, la informática, el desarrollo de software, ya que estas han
permitido la implementación de innovadoras tecnologías de desarrollo y la creación de
prototipos mucho más flexibles, lo que permite generar una retroalimentación más
iterativa con los interesados (Oprins, Frijns, Stettina, 2019). Al igual, es importante dar a
conocer que en el proceso de desarrollo de software se puede manejar con distintas
metodologías de trabajo, en las cuales los resultados pueden llegar al mismo fin, pero
para llegar a este, su proceso se enmarca de una manera diferente.
Asimismo, el uso de esta metodología ágil permite que el proceso de desarrollo del
aplicativo web que se desea entregar, brindara la posibilidad de permitir una mejor
interacción con el cliente en este caso, la dependencia de extensión y su área de
educación continua, permitiendo que se puedan tener en cuenta mejoras durante el
proceso de creación de dicho aplicativo y se pretende poder cumplir con el cronograma
que se tiene disponible para poder culminar con éxito todo lo que se plantee con ellos por
medio de las historias de usuario.
En la metodología Scrum se encuentran variedad de aspectos relevantes que se
enmarcan en manifestar que este no es considerado como un proceso, una técnica o
método definitivo, es más bien considerado como un marco de trabajo donde se pueden
emplear varios procesos y técnicas… sumándose a esto la importancia de los
componentes que lo conforman, como los equipos de Scrum y sus roles, eventos,
artefactos y reglas asociadas, los cuales sirven para un propósito específico y
fundamental para el éxito de Scrum…. La esencia de Scrum es un pequeño equipo de
personas. El equipo individual es altamente flexible y adaptativo (Schwaber & Sutherland,
2017).
Componentes de Scrum
Roles Descripción
De este modo, cabe resaltar que las historias de usuario son un activo fundamental en el
proceso de este trabajo de investigación ya que de estas se basará la solución requerida
y tomando en cuenta lo que manifiestan Suaza, García & Jaramillo (2015, p.43) “Las
historias de usuario son formas rápidas de administrar los requisitos de los usuarios sin
tener que elaborar gran cantidad de documentos formales y sin requerir mucho tiempo
para administrarlos. Las historias de usuario permiten responder rápidamente a los
requisitos cambiantes”.
Durante el Sprint, el Team aborda todas las tareas que se requieren como la parte del
diseño, donde se abarca el manejo todos los estándares que sugiere el Usuario como lo
es, manejo de colores institucionales, implementar de manera eficiente la experiencia de
usuario, diseñar y maquetar el aplicativo web, donde este debe manejar la responsividad
y la facilidad de interacción entre los diferentes componentes que surgen durante el
desarrollo y codificar para que todo funcione e integre de manera eficiente los procesos
a intervenir, cabe resaltar que se desea manejar un tipo de implementación denominado
MERN, más adelante se dará una explicación de lo que consiste ya que es relevante.
Volviendo la mirada hacia el Sprint, en este se puede encontrar que en su ejecución se
realizan diferentes eventos como la Daily Scrum Meeting, donde los integrantes del Team
expresan sus progresos y en que están o ya han trabajado, para así no caer en el error
de que los miembros repitan las tareas que ya se tienen culminadas, todo esto se auspicia
con la participación del Scrum Master.
Si todo sale como se planteó y se termina en el tiempo estipulado se podría decir, que el
Sprint fue todo un éxito, y se proseguiría en con realizar el proceso de planear y ejecutar
el Sprint siguiente.
Para finalizar se enfatiza que la idea de una adecuada metodología para esta propuesta
es fundamental y sería el punto de partida para ofrecer un trabajo de investigación de
calidad y que pueda cumplir con los estándares que se exigen. Se busco tener claridad
en los conceptos y explicar mediante una pequeña comparación con diferentes
metodologías y también resaltar que, en el proceso de codificación del aplicativo web,
también se manejan metodologías que ayudan a que los componentes tengan una mejor
integración.
Hardware.
Servidor local: para le ejecución de un servidor local se requiere un equipo de cómputo
que serviría tanto de cliente como de servidor, las especificaciones mínimas serian
Equipo de computo
o 4 gigas de RAM mínimo.
o Procesador de más de 2 núcleos 1.5 GHz.
o Disco duro mayor a 120 gigas de capacidad.
Sistema operativo
o Windows 10 de 32 o 64 bits
o Windows 8.1 de 32 o 64 bits
o Linux
o Android con explorador web
o IOS con explorador web
Explorador web
o Mozilla
o Edge
o Google Chrome
Cliente/usuario final: para le ejecución de un usuario final o cliente solo se requiere
ingresar a la URL https://educacioncontinuatdea.herokuapp.com/, además de contar con
un dispositivo sea:
Equipo de computo
Tableta
Dispositivo móvil (Celular)
Sistema operativo
o Windows 10 de 32 o 64 bits
o Windows 8.1 de 32 o 64 bits
o Linux
o Android con explorador web
o IOS con explorador web
Explorador web tanto para equipo de cómputo como dispositivo móvil, tableta,
iPad.
o Mozilla
o Edge
o Google Chrome
Git (ayudante para manejo de comandos): este es un software que permite a los
desarrolladores tengan control sobre las versiones cuando se maneja un gran
número de archivos del código fuente (Git, 2020).
Librerías NPM: Sistema de gestión de paquetes usado por defecto para Node.js
en un entorno de ejecución para JavaScript. Por medio de esto se pudo
implementar de manera fácil la administración de los diferentes módulos,
distribuir paquetes y agregar dependencias. (npm | build amazing things, 2020).
La encargada de esta
Revisión de toda la aplicación con la
área sugirió agregar el
encargada del área de educación
10/11/2020 4 documento al Ninguna
continua.
certificado, ya que no se
Revisión de toda la documentación.
tuvo en cuenta.
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 58
4. DESARROLLO DEL PROYECTO
Para este trabajo de investigación se optó por brindar una solución a una problemática
identificada en el Tecnológico de Antioquia, la cual se le pueda solventar por medio de
los conocimientos adquiridos en el proceso de formación.
La dependencia de extensión fue el caso concreto con su área de educación continua,
en la dependencia de extensión se busca fortalecer la interacción de los actores que
están involucrados en institución con la sociedad y los diferentes sectores públicos y
privados mediante gestión formativa, educativa, administrativa, comercial y de servicios
en el ámbito regional, nacional e internacional, para contribuir a la generación de capital
social en los diversos contextos territoriales. (Inicio Extensión, 2020).
La encargada de dicha dependencia y por ende su directora hasta la fecha es Daryeny
Parada Giraldo, la cual es la cabeza visible y encargada de un grupo de personas,
además, de las diferentes áreas o programas de la dependencia entre las cuales
encontramos:
Unicidad de transferencia tecnológica.
Pasantías y retos de innovación CUEE 2.0
Hojas de vida
Unidad de emprendimiento empresarial
Articulación con la media técnica
Unidad de proyectos especiales
Educación para el trabajo y desarrollo humano
Servicios institucionales
Consultoría empresarial
Educación Continua.
Administrador/Coordinador:
Editar su perfil.
Descargar y listar todos los usuarios que se encuentran registrados.
Registrar usuarios.
Asignar roles.
Descargar y listar todos los alumnos.
Matricular los alumnos a un curso.
Descargar y listar los alumnos que se encuentran matriculados en un curso.
Cancelar la matrícula de un alumno a un curso.
Visualizar las encuestas de satisfacción realizadas por los alumnos que
aprobaron los cursos.
Descargar las respuestas de las encuestas de satisfacción.
Administrar los cursos que se crean.
Crear cursos.
Editar la información de los cursos creados.
Visualizar los aspirantes a los diferentes cursos.
Chatear.
Docente:
Editar perfil.
Visualizar los cursos que tiene asignados.
Descargar y visualizar el listado de alumno por curso.
Aprobar/Reprobar alumnos.
Chat.
Aunque el perfil del docente no cuenta con tantas funcionalidades como el
administrador/coordinador, tiene una de las más importantes que es la de
reprobar/aprobar alumnos ya que por medio de esto es que los estudiantes pueden
generar sus certificados.
Usuario:
Editar perfil.
Visualizar la oferta de cursos.
Aspirar a los cursos ofertados.
Visualizar los cursos a los que está aspirando.
Cancelar la aspiración a un curso.
Visualizar los cursos aprobados.
Realizar encuesta de satisfacción.
Descargar certificado.
Visualizar los cursos en los que se encuentra matriculado.
Chat.
Este perfil cuenta con dos funcionalidades muy importantes para el área de Educacion
continua que es que el estudiante pueda editar sus datos personales y generar los
certificados de los cursos que realizó.
Visitante:
Visualizar la pantalla de inicio.
Visualizar la oferta de cursos.
Ingresar a la aplicación.
Fecha
Horas Horas Horas Horas Fecha
Id HU Nombre HU Sprint Prioridad puesta en Observación
Definición Desarrollo Pruebas totales Inicio
producción
Registro usuarios
Modulo
E.C.003 (administrador, 1 Alto 1 10 4 15 28/08/2020 30/08/2020
usuarios
coordinador)
Modulo
E.C.004 Ingreso usuarios 1 Alto 2 5 2 9 28/08/2020 29/08/2020
usuarios
Restablecer Modulo
E.C.005 1 Medio 1 3 1 4 31/08/2020 01/09/2020
contraseña usuarios
Modulo
E.C.006 Crear curso 1 Alto 2 15 4 21 02/09/2020 04/09/2020
cursos
Modulo
E.C.007 Oferta de cursos 1 Alto 2 8 2 12 03/09/2020 05/09/2020
cursos
Modulo
E.C.008 Ver perfil 1 Medio 1 4 2 7 04/09/2020 04/09/2020
usuarios
Modulo
E.C.009 Editar perfil 1 Alto 1 8 3 12 06/09/2020 07/09/2020
usuarios
Asignar docente a Modulo
E.C.010 1 Medio 1 4 1 6 07/09/2020 07/09/2020
curso cursos
Modulo
E.C.011 Editar curso 1 Medio 1 5 2 8 08/09/2020 09/09/2020
cursos
Modulo
E.C.012 Asignar roles 1 Alto 3 10 2 15 10/09/2020 11/09/2020
usuarios
Modulo
E.C.014 Administrar cursos 2 Alto 3 8 3 14 15/09/2020 17/09/2020
cursos
Usuarios Modulo
E.C.015 2 Medio 1 5 2 8 15/09/2020 17/09/2020
registrados usuarios
Modulo
E.C.016 Aspirar a curso 2 Medio 2 5 2 9 16/09/2020 16/09/2020
matriculas
Modulo
E.C.018 Listar alumnos 2 Medio 1 4 1 6 19/09/2020 19/09/2020
matriculas
Alumnos Modulo
E.C.019 2 Medio 1 4 1 6 20/09/2020 20/09/2020
matriculados matriculas
Alumnos Modulo
E.C.020 2 Alto 1 5 1 7 21/09/2020 21/09/2020
aprobados matriculas
Modulo
E.C.021 Aspirantes 2 Medio 1 4 1 6 22/09/2020 22/09/2020
matriculas
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 64
Modulo
E.C.022 Mis aspiraciones 2 Medio 1 5 2 8 23/09/2020 23/09/2020
matriculas
Modulo
E.C.024 Mis matrículas 2 Alto 1 5 1 7 25/09/2020 26/09/2020
matriculas
Modulo
E.C.025 Mis cursos 3 Alto 2 4 1 7 13/10/2020 14/10/2020
cursos
Aprobar/reprobar Modulo
E.C.026 3 Alto 3 8 2 13 15/10/2020 17/10/2020
alumnos cursos
Listado de
Modulo
E.C.027 alumnos 3 Alto 2 5 1 8 18/10/2020 19/10/2020
cursos
(Docente)
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 65
Listado de
encuestas Modulo
E.C.033 4 Alto 2 4 1 7 30/10/2020 30/10/2020
alumnos matriculas
aprobados
Modulo
E.C.035 Generar certificado 4 Alto 2 20 3 25 07/11/2020 10/11/2020
cursos
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 66
4.3. PLANIFICACIÓN DEL SPRINT 1
HISTORIA DE USUARIO
NOMBRE
Inicio aplicativo
HISTORIA:
PUNTOS DE
10
HISTORIA:
CRITERIOS DE ACEPTACIÓN
En este primer sprint se empezó documentando las H.U que se consideraron necesarios
para que la aplicación pudiera empezar a ser funcional, como registros de usuarios,
ingresos al sistema, la página de inicio y demás H.U. relacionadas con el sprint.
Se presentaron contratiempos complicados para el grupo de trabajo puesto que en el
momento no se tenía mucho conocimiento de las herramientas, como GitHub, Git, con
las que se manejan la subida de los cambios en el código al repositorio continuamente y
de manera automática. Además, todavía no se tenía conocimiento que tipo de servidor
sería más conveniente para la aplicación que se estaba empezando a desarrollar.
Como primera estancia la aplicación en la barra del menú se estaba implementando con
color negro, pero se cambió para el siguiente sprint ya que los asesores no lo vieron
conveniente porque se debía respetar los colores institucionales que tiene la página web
de la universidad.
ID de caso de
C.P.E.C. 001
prueba:
Prioridad: Alto
CRITERIOS DE ACEPTACIÓN
HISTORIA DE USUARIO
PUNTOS DE 8
HISTORIA:
QUIERO: Que se cuente con un apartado donde se alojen los cursos registrados en el
momento
PARA: Así ver la información relevante de cada curso, además de poder administrar
los mismos.
CRITERIOS DE ACEPTACIÓN
ESPERO: Visualizar todos los cursos registrados del área de educación continua
ofrece, separados por estados sea abierto o cerrado, además de ver
información relevante como:
o Nombre del curso
o Banner
o Código del curso
o Descripción
Para este sprint 2 ya se empezó a trabajar con repositorios, Git, GitHub, además, con el
servidor Heroku y esto permitió que la codificación de la aplicación fuera más sencilla. Se
presento unos cuantos problemas ya que no se tenía del todo claro el concepto de que
roles iban a estar interactuando en la aplicación y que funcionalidades iban a tener dentro
de esta, ni como se iba a hacer la división de estas. Los asesores sugirieron que se
manejaran 4 perfiles que son: visitante, usuario, docente, coordinador y administrador y
que al hacer el login cada usuario debería de confirmar el rol con el que iba a acceder a
la aplicación para así mostrar los apartados pertenecientes a cada rol.
Donde se tiene que el rol más importante es el del administrador/coordinador que son los
perfiles o roles que más funcionalidades tienen asignada dentro de la aplicación,
seguidamente del perfil docente que es importante pero no tiene tantas funcionalidades
como los anteriores, luego se tiene al usuario (Estudiante) que tiene más funcionalidades
dentro de la aplicación que el docente y finalmente se cuenta con el perfil de los visitantes
que tienen poca funcionalidad dentro de la aplicación.
ID de caso de
C.P.E.C. 014
prueba:
Prioridad: Alto
CRITERIOS DE ACEPTACIÓN
HISTORIA DE USUARIO
PUNTOS DE 8
HISTORIA:
QUIERO: Que se cuente con un apartado donde se visualice el listado de los alumnos
que se tienen en el curso
PARA: Así ver el total de los alumnos que se tienen a los que se les va a impartir el
curso
CRITERIOS DE ACEPTACIÓN
CUANDO: Ingrese al aplicativo web después de hacer un login y mi rol sea de (docente),
se redirija a la pantalla de inicio del aplicativo web, se visualice en la barra de
menú el apartado de cursos y al dar clic en mis cursos
ESPERO: Visualizar una lista con los cursos que tiene asignado el docente
además de ver información relevante como:
o Nombre del curso
o Banner
o Código
o Fecha de inicio
o Fecha de fin
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua
del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 82
o Intensidad horaria
o Modalidad
Tener la posibilidad de ver el listado de alumnos matriculados en el
curso. Solo estado matriculado
Tener la posibilidad de ver el listado de alumnos en el curso. Solo
estado matriculado, aprobado, reprobado
Observar el contenido desde diferentes dispositivos sea equipo de
cómputo, Tablet, celular.
Contar con una barra de menú que permita redirigir a los diferentes
apartados que ofrezca el aplicativo web y sus respectivas
funcionalidades
Para este tercer sprint se quiso implementar toda la parte del rol del docente ya que
en ella se encuentra una parte muy importante que es la de aprobar/reprobar alumnos
para que estos puedan al finalizar el curso con éxito descargar su certificado, pero
antes deben llenar la encuesta de satisfacción ya que, si no la hacen, no podrán
acceder a sus certificados. Los certificados son descargados automáticamente en
formato pdf.
ID de caso de
C.P.E.C. 025
prueba:
Prioridad: Alto
CRITERIOS DE ACEPTACIÓN
Ingrese al aplicativo web después de hacer un login y mi rol sea de (docente), se redirija a la
pantalla de inicio del aplicativo web, se visualice en la barra de menú el apartado de cursos y
al dar clic en mis cursos
Visualizar una lista con los cursos que tiene asignado el docente
además de ver información relevante como:
o Nombre del curso
o Banner
o Código Si
o Fecha de inicio
o Fecha de fin
o Intensidad horaria
o Modalidad
Tener la posibilidad de ver el listado de alumnos matriculados en el Si
curso. Solo estado matriculado
Observar el contenido desde diferentes dispositivos sea equipo de Si
cómputo, Tablet, celular.
HISTORIA DE USUARIO
PUNTOS DE 10
HISTORIA:
CRITERIOS DE ACEPTACIÓN
CUANDO: Ingrese al aplicativo web después de hacer un login y mi rol sea de (Usuario),
se redirija a la pantalla de inicio del aplicativo web, se visualice en la barra de
menú el apartado de cursos y al dar clic en cursos aprobados y seleccionar
la acción responder la encuesta
Para este último sprint se decidió implementar todo lo relacionado con las encuestas de
satisfacción desde listarlas para poder sacar información por medio de reportes, a partir
de las respuestas que den los alumnos y así la universidad pueda interpretarlos. Esto es
relevante porque pueden saber que mejoras deben hacer con respecto a los cursos, tener
control a qué cursos se inscribe más gente, etc.
Se implemento un chat como valor agregado para que todos los usuarios puedan
interactuar entre ellos y hasta llegar a resolver dudas que tengan por medio de este.
Finalmente se implementa el apartado más importante de la aplicación que es la
generación automática de los certificados para que los usuarios no deban estarse
desplazando a las instalaciones de la universidad para obtenerlos y facilitar de este modo
el trabajo de los encargados de esta área, en este apartado se tuvo mayor dificultad
puesto que muy pocas librerías permitían generar un .pdf desde una maqueta realizada
con HTML + .hbs, pero finalmente se logra y se da solución cumpliendo con el alcance
del proyecto en el tiempo brindado por la universidad.
ID de caso de
C.P.E.C. 031
prueba:
Prioridad: Alto
CRITERIOS DE ACEPTACIÓN
Ingrese al aplicativo web después de hacer un login y mi rol sea de (Usuario), se redirija a la
pantalla de inicio del aplicativo web, se visualice en la barra de menú el apartado de cursos y al
dar clic en cursos aprobados y seleccionar la acción responder la encuesta
Arquitectura física.
Para el desarrollo del aplicativo web para la dependencia de educación continua del
Tecnológico de Antioquia, se opta por implementar un sistema desplegado en un servidor
web en este caso Heroku, en el cual interactúan los usuarios interesados y que poseen
la necesidad accediendo con sus credenciales de acceso a este, en este caso
representan los clientes, los cuales tienen un rol definido en dicho sistema y que de
acuerdo a este, el aplicativo funciona de forma específica para cada uno de estos
usuarios, entre los roles se encuentran el rol “usuario”, “administrador”, “coordinador” y
“docente”, se podría manifestar que el software toma una arquitectura física del tipo
cliente - servidor.
La arquitectura cliente – servidor se comporta y proviene de los sistemas distribuidos. Un
sistema distribuido o entorno de computación distribuido es un conjunto de dispositivos
autónomos que cooperan con objetivos concretos. Estos dispositivos ejecutan tareas que
se coordinan entre sí, intercambiando información por medio de una red de comunicación
(Alonso et al., 2017).
Complementando lo expuesto por los autores, se manifiesta que un sistema distribuido
es la evolución de los sistemas centralizados, los cuales buscan no mantener su
información en un solo espacio, si no que este pueda estar en varios lugares y ser
compartido y usado por diferentes actores que lo requieran.
En la actualidad el internet, la red ha sido uno de los canales de comunicación más
amplios y evolucionados en la actualidad, y gracias a esto permite que este tipo de
aplicaciones como la que se propone, que se ejecuta en este trabajo de grado pueda
funcionar y cumplir con los objetivos planteados, ya que esta arquitectura cliente -
servidor no sería eficaz sin una conexión a la red.
La arquitectura cliente - servidor permite procesar la información requerida de modo
distribuido, esto que significa que los usuarios podrían acceder a esta información
indiferentemente de su ubicación geográfica y sin restricción alguna, desde que estos
tengan una conexión a la red, esta permite un acceso transparente al sistema ya que
dicho cliente puede desconocer la ubicación física de los recursos que requiere, pero aun
así es accesible para estos.
Los componentes que conforman esta arquitectura se presentan de la siguiente manera:
Servidor: visto de manera general sería un equipo de prestaciones altas, que tiene
la capacidad de ejecutar múltiples peticiones por parte de los clientes que las
Desarrollo de un aplicativo web para la gestión de procesos en el área de educación continua
del Tecnológico de Antioquia.
Tecnológico de Antioquia – Institución Universitaria
Página 96
soliciten, pero de una manera más técnica se manifiesta que el servidor es un
proceso que ofrece recursos o servicios que este administra a los clientes que los
requieren.
Cliente: de una visión más general se puede manifestar que es un equipo con
prestaciones medias o bajas que solicita una determinada acción a un equipo
servidor. Sin embargo, exponiendo de una manera más técnica un cliente es un
proceso que solicita los servicios de otro, normalmente a petición de un usuario,
en este caso se utiliza el termino front-end para referirse a el proceso como tal.
Middleware: este componente sería un intermediario entre cliente – servidor, es
la parte de software que se encarga del trasporte de los mensajes o peticiones que
se requieran en el sistema, este ofrece más control sobre la lógica de negocio, es
decir los requerimientos del interesado que se codifican y resuelven sus
necesidades con el sistema.
En la arquitectura cliente servidor, la aplicación es modelada como un conjunto de
servicios proporcionados por el servidor o servidores y un conjunto de clientes que usan
dichos servicios, en esta arquitectura los clientes requieren de conocer que servidor está
disponible y que servicios puede ofrecer este mismo, sin embargo, estos clientes no
conocen la existencia de otros clientes, concluyendo que en esta arquitectura los clientes
y servidores son procesos diferentes (Santos, 2019).
La figura 26, nos describe la arquitectura cliente servidor
Se inicia
un servidor
Se verifica Se muestra
la solicitud al usuario
En la figura 28, se presenta el diagrama de clases resultante del aplicativo web para el
área de educación continua
En la figura 29, se presenta el diagrama entidad relación resultante del aplicativo web
para el área de educación continua
El aplicativo web desarrollado es adecuado para que se tome como base y en un futuro
se implementen otros módulos como puede ser el de pagos, en donde se cree un
apartado en la aplicación que permita el pago de las inscripciones a los cursos de manera
online y ya por medio del sistema se actualice el estado del usuario y no tenga que
mandar el estudiante el comprobante de pago para que la persona encargada del área
tenga que entrar al aplicativo, buscarlo y luego matricularlo, sino que sea automático su
cambio de estado.
Una recomendación pertinente radica en la creación de un módulo para crear certificados
personalizados dependiendo de la necesidad requerida, si en algún momento se efectúa
algún evento en conjunto con alguna otra universidad poder tener un certificado con los
logos de ambas universidades y demás factores diferenciadores del certificado estándar
usado en el área de educación continua.
Se recomienda que a futuro se puedan implementar más estadísticas, para la toma de
decisiones pertinentes para el área y darle un manejo más eficiente a los recursos que
se tienen en cuanto a, tiempo, dinero, mejoras futuras para los cursos, conocer las
necesidades de los usuarios, entre otras.
También se recomienda que se sigan usando las herramientas utilizadas, sin dejar de
lado las buenas prácticas que se usaron para el desarrollo de esta aplicación, todo lo
necesario quedo explicado y muy bien documentado en el Anexo 6. Manual de
instalación.
Aggarwal, S., & Verma, J. (2018). Comparative analysis of MEAN stack and MERN stack.
International Journal of Recent Research Aspects ISSN, 2349-7688.
Alonso, C. G. M., Rafael, S. F., Francisco, M. P., Gabriel, D. O., Elio, S. R., Miguel, S. P. V.,
Javier, S. B., María, F. A. J., Pau, M. C. & Gregorio, Y. C. J. 2017. Comunicaciones
industriales: sistemas distribuidos y aplicaciones, Editorial UNED.
Anand, R. V., & Dinakaran, M. (2016). Popular agile methods in software development: review
and analysis. International Journal of Applied Engineering Research, 11(5), 3433-3437.
Bhavsar, K., Shah, V., & Gopalan, S. (2020). Scrum: An Agile Process Reengineering in
Software Engineering. International Journal of Innovative Technology and Exploring
Engineering (IJITEE), 9(3), 840-848.
Domínguez, A. A. Santos Rego, MA, Lorenzo, M. & Vázquez. A. (2018). Educación no formal y
empleabilidad de la juventud. Madrid: Síntesis. ISBN: 978-84-9171-094-3. Journal of
Supranational Policies of Education (JoSPoE), (7).
Educación Continua (2020). Educación continua, Página principal: Sitio web Extensión,
Medellín, Colombia. Consultado el 21 febrero de 2020, de
https://www.tdea.edu.co/index.php/educacion-continua
España León, A. R. (2016). Estrategia informática con arquitectura MVC y Responsive Web
Design en la gestión de datos de los pacientes del hospital maternidad Babahoyo en el
área de estadística (Master's thesis).
Free JavaScript training, resources and examples for the community. (2020). Consultado el 13
noviembre 2020, de https://www.javascript.com/
GitHub: Where the world builds software. (2020). Consultado el 13 noviembre 2020, de
https://github.com/
Hernández, M. R., Barrientos, O. T., & Alva, A. D. (2016). Desarrollo de aplicaciones web
educativas mediante el uso de la técnica de Diseño Web Adaptable. TIC
ACTUALIZADAS PARA UNA NUEVA DOCENCIA UNIVERSITARIA, p. 657.
La base de datos líder del mercado para aplicaciones modernas. (2020). Consultado el 13
noviembre 2020, de https://www.mongodb.com/es
Montero, B. M., Cevallos, H. V., & Cuesta, J. D. (2018). Metodologías ágiles frente a las
tradicionales en el proceso de desarrollo de software. Espirales revista multidisciplinaria
de investigación, 2(17).
Nicea, M., Andreea-Gabriela, D., & Romeo, D. (2017). Continuous education and training of
adults–purpose of an active life on the labour market. Junior Scientific Researcher, 3(2),
9-18.
Renna, P., Izzo, C., & Romaniello, T. (2020). The Business Process Management Systems to
Improve the Performance of Universities: Integrated Performance Plan. In Handbook of
Research on Operational Quality Assurance in Higher Education for Life-Long Learning
(p. 56-80). IGI Global.
Rivera Rodriguez, H. E., & Zapata Leyva, I. E. (2019). Mejora de procesos para la gestión
administrativa de programas de posgrado y extensión universitaria del Instituto para la
Calidad de la Educación de la Universidad de San Martín de Porres-Lima-Perú.
Sagredo, J. G. C., Espinosa, A. T., Reyes, M. M., & García, M. D. L. L. (2012). Automatización
de la codificación del patrón modelo vista controlador (MVC) en proyectos orientados a
la Web. CIENCIA ergo-sum, Revista Científica Multidisciplinaria de Prospectiva, 19(3),
239-250.
Schwaber, K., & Sutherland, J. (2017). The Scrum Guide. Scrum.Org and ScrumInc.
https://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf
Suaza, K. V., García, J. J. T., & Jaramillo, C. M. Z. (2015). Mejora de historias de usuario y
casos de prueba de metodologías ágiles con base en TDD. Cuaderno activa, 7, 41-53.
Consultado el 18 de mayo de 2020, de
https://ojs.tdea.edu.co/index.php/cuadernoactiva/article/view/246