Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DIRIGIDO POR:
FACULTAD DE INGENIERÍA
INGENIERÍA DE SISTEMAS
BOGOTÁ D.C.
2017
DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO DE ARQUITECTURA DE
SOFTWARE PARA ADMINISTRACIÓN DE TURNOS APOYANDO LA
ATENCIÓN AL CLIENTE EN DEPENDENCIAS PÚBLICAS DE LA CIUDAD DE
BOGOTÁ
Cod. 20082020040
Ingeniera de Sistemas
DIRIGIDO POR:
FACULTAD DE INGENIERÍA
INGENIERÍA DE SISTEMAS
BOGOTÁ D.C.
2017
TABLA DE CONTENIDO
INTRODUCCIÓN .................................................................................................................. 5
1. PLANTEAMIENTO DEL PROBLEMA ....................................................................... 6
2. JUSTIFICACIÓN............................................................................................................ 8
2.1. JUSTIFICACIÓN TÉCNICA ...................................................................................... 8
2.2. JUSTIFICACIÓN ECONÓMICA ............................................................................... 8
2.3. JUSTIFICACIÓN AMBIENTAL................................................................................ 8
3. OBJETIVOS.................................................................................................................. 10
3.1. OBJETIVO GENERAL ............................................................................................. 10
3.2. OBJETIVOS ESPECÍFICOS .................................................................................... 10
4. ANTECEDENTES ........................................................................................................ 11
5. MARCO TEÓRICO ...................................................................................................... 13
5.1. Comunicación asíncrona ............................................................................................ 13
5.2. Programación orientada a eventos ............................................................................. 13
5.3. Javascript Asíncrono y XML (AJAX) ....................................................................... 16
5.4. Websockets ................................................................................................................ 16
5.5. Grupo de Investigación L.I.D.E.R: ............................................................................ 17
6. MARCO LEGAL Y NORMATIVIDAD ...................................................................... 19
6.1. NORMATIVIDAD EN COLOMBIA ................................................................... 19
6.2. PLAN ESTRATÉGICO DE LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ
DE CALDAS 2008 – 2016............................................................................................................ 21
7. METODOLOGÍA ......................................................................................................... 23
7.1. Enfoque investigativo ............................................................................................ 24
7.2. Población y muestra ............................................................................................... 25
7.3. Técnicas e instrumentos ......................................................................................... 25
7.4. Herramientas .......................................................................................................... 25
8. RESULTADOS ............................................................................................................. 27
8.1. Especificación funcional ........................................................................................ 28
8.1.1. Análisis de requerimientos ............................................................................. 28
8.1.2. Especificación de usuarios.............................................................................. 30
8.1.3. Casos de uso ................................................................................................... 31
8.1.4. Diagramas de actividades ............................................................................... 37
8.1.5. Bocetos de interfaz gráfica de usuario ............................................................ 39
8.1.6. Arquitectura del sistema ................................................................................. 40
8.2. Modelo de persistencia .......................................................................................... 43
8.3. Aspectos tecnológicos y de despliegue .................................................................. 51
8.3.1. Aplicación móvil ............................................................................................ 51
8.3.2. Aplicación servidor......................................................................................... 53
8.4. Pruebas de campo .................................................................................................. 55
9. LIMITACIONES .......................................................................................................... 60
10. CONCLUSIONES ..................................................................................................... 61
11. RECOMENDACIONES ........................................................................................... 62
12. ANEXOS ................................................................................................................... 63
13. REFERENCIAS ........................................................................................................ 66
INTRODUCCIÓN
Hoy en día varias ciudades hacen uso de la tecnología con el fin de mejorar la calidad de
vida de sus habitantes y así mismo mejorar la sostenibilidad y la competitividad. Estas
ciudades, también llamadas ciudades inteligentes, consideran factores clave tales como:
Planificación urbana, medio ambiente, cohesión social, movilidad y transporte, economía,
etc. La planificación urbana busca ejecutar procesos apoyados en la tecnología para
maximizar la productividad de la ciudad donde los habitantes realicen sus actividades de
manera eficiente.
Una exigencia evidente por parte de los usuarios en las instituciones que proveen servicios
es la asignación de turnos de manera eficiente y que en la actualidad no proporciona al
cliente un manejo apropiado de su tiempo mientras es atendida su necesidad, lo cual
generalmente es la causa de indisposición tanto de funcionarios como de consumidores.
Actualmente existen bastantes entidades que cuentan con un área de atención al cliente que
se encarga de atender las necesidades inmediatas de sus usuarios en el menor tiempo
posible. Desde hace algunos años varias de estas entidades han implementado la atención
virtual lo cual en un principio resolvió el problema de apilamiento de usuarios esperando
ser atendidos. Pero esta dificultad no ha sido solucionada debido a que las personas aún
deben esperar una cantidad de tiempo considerable para ser atendidas lo cual genera
indisposición, hostilidad y podría ser un factor negativo para la imagen de la corporación,
como lo respalda un estudio realizado por Elogia Research en enero de 2016 en el cual la
empresa Sotto Tempo puso a disposicion su departamento de atencion al cliente para
conocer el nivel de satisfaccion de sus clientes. El estudio tiene una muestra de 1196
estrevistas realizadas a hombre y mujeres entre los 18 y 64 años con diferentes ocupaciones
y dentro de las conclusiones reveladas es importante destacar las siguientes:
Los tres principales canales de atencion al cliente mas utilizados por los usuarios
son: telefono, e-mail y sitio web.
El 17% de los encuestados prefieren utilizar el canal presencial.
El 50% utiliza canales digitales (e-mail, sitio web, aplicación, redes sociales, chat) y
tradicionales (telefono, personal), el 21% unicamente canales digitales y el 29%
utiliza solo canales tradicionales.
1 de cada 2 personas considera irritante el tiempo de espera.
La gran mayoria de los entrevistados (92%) considera que el servicio de atencion al
cliente es un factor de gran importancia para la construccion de la buena imagen de
la empresa.
El 86% piensa que la innovacion en los canales de atencion mejora la imagen de la
corporación.
Las conclusiones del estudio anterior llevan a pensar que el servicio de atencion al cliente
es más importante de lo que parece al momento de captar nuevos clientes y crear fidelidad
entre los antiguos. La universidad Distrital maneja procesos que son bastante concurridos
por estudiantes, docentes y funcionarios en ciertas temporadas del año, por ejemplo,
inscripción manual de materias, asesorias académicas brindadas por dependencias, son
procedimientos que tienen tiempos variables de atención y no permiten que los interesados
tengan la posibilidad de hacer otras actividades en el lapso de espera.
Teniendo en cuenta que hoy en día las ciudades se están apoyando cada vez más en la
tecnología para brindar una mejor calidad de vida a sus habitantes con el objetivo de
incrementar la eficiencia de cada uno de ellos y en consecuencia de su propia ciudad, es
necesario que los canales tradicionales de atencion al cliente de las empresas hagan uso de
las nuevas tecnologias para incrementar su utilidad.
Formulación
Hoy en día las personas necesitan más tiempo para realizar otros trámites, compartir con
sus familias, ser más productivos en sus trabajos, pero claramente realizando una fila en
una entidad no es la mejor forma de optimizar el tiempo.
Adicionalmente esta propuesta plantea un sistema que permite a los asesores de los
departamentos de atención al cliente de las empresas públicas y privadas realizar llamados
desde sus propios dispositivos móviles, acabando así el hacinamiento de personas en el
establecimiento permitiendo que ellos realicen un mejor trabajo y mejoren la calidad de su
servicio.
3. OBJETIVOS
Las entidades que cuentan con una sección o departamento de atención al cliente tienen
como objetivo principal atender a la mayor cantidad de clientes y que estos tengan la mejor
experiencia desde su llegada hasta la atención de su petición. Actualmente se han
implementado varios sistemas de solicitud de turnos apoyados en tecnologías que permiten
al cliente solicitar un turno dentro de la corporación, la estación fisica lo imprime y el
cliente debe esperar dentro del lugar hasta que sea atendido, como es el caso de la gran
mayoria de entidades bancarias, prestadoras de servicios de salud y corporaciones con alto
flujo de usuarios que pretenden realizar tramites con la mayor eficiencia posible, tales
como: Banco Agrario de Colombia, Davivienda, Bancolombia, E.P.S. Sanitas, entre otras
entidades.
Algunas empresas han ido un poco más allá y han implementado sistemas tales como
Digiturno que tiene el siguiente ciclo de uso: el usuario debe desplazarse hasta el lugar,
solicitar su turno es la estación local y este imprime el turno y un código QR para ser leído
con un smartphone para generar notificaciones al cliente indicando el turno actual que está
siendo atendido y el turno asignado. Este sistema fue recientemente implementado en
algunas sucursales del Banco Agrario de Colombia. Digiturno (Cielingenieria.com, 2017)
es una empresa dedicada a producir soluciones tecnológicas para optimizar el servicio de
atención al cliente que cuenta con aproximadamente 8 productos. Su producto principal y
más completo es “Digiturno 5: Atención inteligente” el cual involucra funcionalidades
como la generación de reportes, interfaz de administración, plataforma web y movil para
agendar citas y encuestas y calificación del servicio.
Un proyecto desarrollado recientemente y patrocinado por Apps.co que va en la misma
línea de esta propuesta es Like Parrot (Likeparrot.com, 2017), un sistema orientado a
reforzar el servicio de atencion al cliente y las ventas a través de internet cuyas principales
funcionalidades son: establecer contacto directo y en tiempo real con el cliente a través de
chats que permiten la carga de archivos solo si es necesario para llevar a cabo el trámite
seleccionado, generar metricas, gestionar tickets, perfilar clientes según gustos y
preferencias, entre otras. Actualmente se encuentra en desarrollo permanente de nuevas
funcionalidades.
Es importante observar que existe una posibilidad potencial de tener eventos reactivos
recursivos infinitos (al menos en el caso general), por lo tanto, para poner en práctica la
programación orientada a eventos en el caso general, es necesario proporcionar una cola de
mensajes (o colas). Una cola no impide la recursividad infinita, pero sí permite garantizar
que cada evento será manejado después de un recuento finito de pasos, incluso si existen
tales bucles. Sólo esta limitación impide que sistemas más orientados a objetos sean
fácilmente transformados en sistemas orientados a eventos.
Por tanto la programación orientada a eventos no es apropiada para los sistemas que deben
hacer una tarea bien y terminar sin intervención (como compiladores, este tipo de cosas
implica programación procedural); no es apropiada también para sistemas que deben
reaccionar inteligentemente en base a la totalidad del contexto observado de cualquier tipo
(lo que implica otros tipos de programación ), por ejemplo, es difícil hacer el trabajo de
programación orientada a eventos cuando no hay una distinción clara entre los eventos, o
cuando las señales son temporalmente ambiguas (donde una señal podría significar una de
las muchas cosas sobre la base de lo que sucede a continuación o lo sucedido con
anterioridad). La programación orientada a eventos es útil para la reacción simple a
estímulos obvios no mucho más que el comportamiento “inteligente” de una medusa
(Puranik y Feiock, 2013).
5.4. Websockets
WebSockets representa una evolución esperada en tecnología web cliente-servidor.
Permiten una conexión de socket TCP única establecida entre el cliente y el servidor que
permite comunicación bidireccional, dúplex completo, y mensajes para ser distribuidos al
instante con poca sobrecarga que resulta en una conexión de muy baja latencia. (Xi-qi
2016).
Misión
Visión
1
Grupo LIDER. Disponible en http://comunidad.udistrital.edu.co/grupolider/
Las áreas de investigación donde está enfocado el grupo LIDER son las siguientes:
De acuerdo a esta misma ley el Estado intervendrá en el sector de las TIC para lograr los
siguientes fines:
1. Proteger los derechos de los usuarios, velando por la calidad, eficiencia y adecuada
provisión de los servicios.
2. Promover el acceso a las Tecnologías de la Información y las comunicaciones,
teniendo como fin último el servicio universal.
3. Promover el desarrollo de contenidos y aplicaciones, la prestación de servicios que
usen Tecnologías de la Información y las Comunicaciones y la masificación del
gobierno en línea.
4. Promover la oferta de mayores capacidades en la conexión, transporte y condiciones
de seguridad del servicio al usuario final, incentivando acciones de prevención
de fraudes en la red.
5. Promover y garantizar la libre y leal competencia y evitar el abuso de la posición
dominante y las prácticas restrictivas de la competencia.
6. Garantizar el despliegue y el uso eficiente de la infraestructura y la igualdad de
oportunidades en el acceso a los recursos escasos, se buscará la expansión, y
2
Ley 1342 de 2009. Disponible en http://www.mintic.gov.co/portal/604/articles-3707_documento.pdf
cobertura para zonas de difícil acceso, en especial beneficiando a poblaciones
vulnerables.
7. Garantizar el uso adecuado del espectro radioeléctrico, así como la reorganización
del mismo, respetando el principio de protección a la inversión, asociada al uso del
espectro. Los proveedores de redes y servicios de telecomunicaciones responderán
jurídica y económicamente por los daños causados a las infraestructuras.
8. Promover la ampliación de la cobertura del servicio.
9. Garantizar la interconexión y la interoperabilidad de las redes de
telecomunicaciones, así como el acceso a los elementos de las redes e instalaciones
esenciales de telecomunicaciones necesarios para promover la provisión y
comercialización de servicios, contenidos y aplicaciones que usen Tecnologías de la
Información y las comunicaciones.
10. Imponer a los proveedores de redes y servicios de telecomunicaciones obligaciones
de provisión de los servicios y uso de su infraestructura, por razones de defensa
nacional, atención y prevención de situaciones de emergencia y seguridad pública.
11. Promover la seguridad informática y de redes para desarrollar las Tecnologías de la
Información y las Comunicaciones.
12. Incentivar y promover el desarrollo de la industria de tecnologías de la información
y las comunicaciones para contribuir al crecimiento económico, la competitividad,
la generación de empleo y las exportaciones.
13. Propender por la construcción, operación y mantenimiento de infraestructuras de las
tecnologías de la información y las comunicaciones por la protección del medio
ambiente y la salud pública.
De manera complementaria, en el 2010 nació la propuesta política del Plan Vive Digital
como estrategia público-privada para afrontar el reto de ampliar la cobertura y la
penetración de la Banda Ancha, tanto para los hogares como para las micro, pequeñas y
medianas empresas del país3.
El Plan Estratégico de Desarrollo requiere armonizar sus acciones con las tendencias y
prioridades de la Educación Superior en el ámbito internacional, en cuanto definen cuál es
el sentido de la Universidad y su compromiso social en el contexto actual.
Con este Plan, la comunidad universitaria cuenta con la orientación estratégica que guiará
la acción universitaria en los próximos 10 años y será la base para la definición de
metodologías para la alimentación del Banco de Proyectos de la Universidad Distrital,
BPUD, para establecer la prioridad en la asignación de recursos y para la elaboración de los
Planes de Desarrollo Trianuales de las distintas unidades académicas y administrativas de la
Universidad y su desglose en planes de acción anuales.
Uno de los Objetivos generales es Contar con una infraestructura física, tecnológica, de
conectividad y de medios educativos adecuados y coherentes para garantizar el desarrollo
de las funciones misionales de la Universidad Distrital, la comunicación y el bienestar
institucional. Ya que el desarrollo de las tecnologías de la información y las
4 Plan estratégico “Saberes, Conocimientos e Investigación de Alto Impacto para el Desarrollo Humano y Social” 2007 –2016”. Disponible en
http://acreditacion.udistrital.edu.co/documentos/plan_desarrollo.pdf
comunicaciones y los grandes volúmenes de información que circulan hoy día por
diferentes mecanismos y medios, plantean a la Universidad el reto de actualizar de manera
permanente y proyectar el desarrollo de su infraestructura física y de servicios de
información y comunicación de tal forma que la comunidad universitaria pueda contar con
acceso y condiciones para el trabajo académico y administrativo.
Para las pruebas de campo se tomó un grupo de integrantes de RITA para realizar la prueba
de concurrencia que se presenta en varios momentos dentro de la Red, haciendo solicitudes
de asesorías internas. La instalación de la aplicación en los dispositivos móviles se realizó
manualmente y, por otro lado, se impartió una capacitación para el correcto uso de las
funcionalidades de esta.
Se realizó una reunión después de cada fase con el director del proyecto, con el fin de llevar
un proceso de mejora continua aplicando principios de retroalimentación y así lograr un
producto de software que cumpliera con los objetivos planteados inicialmente.
7.4. Herramientas
Las herramientas utilizadas para la fase de investigación y apropiamiento del
funcionamiento de asesorías académicas dentro de RITA fueron:
Formato de encuestas de satisfacción de servicio (ANEXO 1).
Sitio web de RITA. (rita.udistrital.edu.co, 2017).
Estadísticas de atención a usuarios durante los últimos 3 meses (Octubre,
Noviembre y Diciembre de 2016)
El crecimiento de las empresas que presta uno o más servicios se debe a la cantidad de
usuarios que utilicen dicho servicio, a la calidad de este y a la capacidad de respuesta de sus
asesores al momento de presentar un inconveniente o realizar un trámite. La fidelidad de un
cliente a una entidad se ve afectada por el tiempo de respuesta a sus inquietudes, si estas no
son atendidas en un tiempo razonable y adicionalmente no se cuenta con herramientas que
brinden una mejor experiencia durante el lapso de espera, fácilmente el usuario puede elegir
otra compañía. Esta situación se presenta en varias entidades públicas y privadas a nivel
mundial en diferentes campos (banca, salud, educación, telecomunicaciones, vivienda,
entre otros.)
Para solucionar este problema, se creó esta propuesta de implementación de una aplicación
móvil que permite a un usuario solicitar turnos para ser atendido asegún su necesidad. En
este proyecto se tomó como entidad a la Red de Investigaciones de Tecnología Avanzada
RITA donde la aplicación permite a estudiantes solicitar turnos para ser atendidos por un
asesor de RITA sin tener que salir de su salón de clase o interrumpir otras actividades
académicas sabiendo el tiempo aproximado en que podría ser atendido.
Este prototipo brinda una sección de encuesta que para el caso de estudio (Área de
asesorías académicas de la Red de Investigaciones de Tecnología Avanzada - RITA) debido
a que al interior de la Red se acostumbra realizar encuestas de satisfacción de prestación de
servicio para optimizar la atención al cliente. Estas encuestas pueden resultar útiles para los
departamentos de atención al cliente de las empresas porque allí pueden obtener datos
cuantitativos que les permitirían medir el desempeño de asesores e inclusive sucursales.
CÓDIGO REQUERIMIENTO
La aplicación debe informar a los usuarios el tiempo faltante para ser atendido
R6
teniendo en cuenta los turnos que vayan siendo atendidos.
Disponibilidad
Identificador: Nombre:
RNF 04 Disponibilidad del servicio
Descripción: La aplicación debe estar disponible durante las 24.
Criterios de Aceptación
El cliente puede solicitar turnos en cualquier momento.
Los asesores podrán realizar llamados a turnos.
El sistema informará en tiempo real a los clientes el turno actual atendido y el restante para
ser atendido.
Tabla 8.5 Descripción requerimiento no funcional
8.1.2. Especificación de usuarios
Se identificaron dos tipos de usuario o roles dentro de la aplicación, en la imagen 8.1. se
muestra el diagrama de actores y una descripción de las acciones que puede realizar cada
uno de ellos.
Ninguno de los dos hereda comportamientos del otro dentro de la aplicación y es por esto
que solo se presenta una asociación entre ellos.
ACTOR DESCRIPCIÓN
Precondiciones N/A
Precondiciones N/A
El cliente diligencia la
encuesta y oprime el botón
“Enviar”.
La aplicación envía los datos al
servidor para ser almacenados.
Precondiciones N/A
Precondiciones N/A
Capas
Cliente/Asesor: Se desarrollará una aplicación móvil con Ionic versión 2, un
framework que permite crear aplicaciones móviles tanto para dispositivos Android
como iOS a partir de una misma fuente de código. Este framawork está basado en
tecnologías web, tales como:
Es importante aclarar que para el desarrollo de este prototipo solo se generará una
aplicación para dispositivos Android y queda abierta la posibilidad de generar una
aplicación para iOS con las mismas funcionalidades en trabajos futuros por parte de la
universidad.
Web Server: La aplicación en el lado del servidor será implementada con Node.js
utilizando una arquitectura orientada a eventos. Adicionalmente para el manejo de
comunicación en tiempo real entre el cliente y el servidor se utilizará la librería
socket.io en las dos capas.
Comunicación
A continuación, se describe la comunicación e interacción entre los componentes
mencionados anteriormente. En este caso la comunicación que se da entre la aplicación
móvil y node.js es totalmente distinta a la que se da entre la aplicación móvil y socket.io
(Jaramillo, Nguyen y Newhook, 2014). La interacción entre la aplicación móvil y node.js es
la siguiente:
Y finalmente la interacción entre la aplicación móvil y socket.io, para asegurar que los
usuarios obtengan la información en tiempo real en cuanto se presente un cambio es la
siguiente:
El modelo relacional de la imagen 8.8 permite visualizar la estructura final que almacenará
los datos de la aplicación. Es importante destacar que se encuentra normalizada
completamente.
Adicionalmente, las tablas 8.17 a 8.23 detallan las propiedades de cada tabla en formato de
diccionario de datos. La letra S corresponde a que este campo cumple con la característica
que titula la columna donde se encuentra ubicada y la letra N corresponde al no
cumplimiento de ésta.
Tabla 8.7 Diagrama entidad-relación
Imagen 8.8 Modelo relacional
Usuario
Descripción Tabla que contiene los datos de todos los usuarios de la aplicación.
Nombre Descripción Tipo de Dominio
Llave primaria
Tabla
Llave foránea
Clave única
Requerido
Atributo dato referenciada
TipoAsesoria
Descripción Tabla que contiene los datos de los tipos de asesoría que brinda la aplicación.
Llave primaria
Nombre Descripción Tipo de Dominio Tabla
Llave foránea
Clave única
Requerido
Atributo dato referenciada
Asesoria
Descripción Tabla que contiene los datos de las asesorías solicitadas.
Llave primaria
Clave única
Requerido
Llave primaria
Tabla
Llave foránea
Clave única
Requerido
Atributo dato referenciada
Llave primaria
Tabla
Llave foránea
Clave única
Requerido
Atributo dato referenciada
Llave primaria
Tabla
Llave foránea
Clave única
Requerido
Atributo dato referenciada
RolUniversidad
Descripción Tabla que contiene los diferentes roles que los usuarios pueden tener dentro de la
universidad Distrital.
Nombre Descripción Tipo de Dominio Tabla
Llave primaria
Llave foránea
Clave única
Requerido
La aplicación móvil de este prototipo fue desarrollada haciendo uso del framework IONIC
2 debido a la simplicidad que brinda a la hora de crear aplicaciones móviles totalmente
funcionales para dispositivos Android y iOS, a partir de una misma fuente de código
basado en tecnologías web, tales como: HTML5, CSS3, Typescript y Angular 2. Así
mismo, la conexión realizada con la aplicación del lado del servidor se simplifica debido a
que ésta última también está basada en tecnologías web.
Para realizar las pruebas en el dispositivo físico es necesario indicar a través de la interfaz
de línea de comandos de Ionic, sobre qué sistema operativo se desean ejecutar la aplicación
(Android o iOS), como se muestra a continuación.
Es importante destacar, que el dispositivo debe estar conectado al computador y debe tener
habilitada la opción para desarrolladores y adicionalmente tener activada la opción de
depuración para que el computador lo reconozca como tal y no unidad de almacenamiento.
Esta sección del prototipo es la encargada de recibir y gestionar las peticiones que realiza la
aplicación móvil. La aplicación está escrita en Nodejs, un entorno de ejecución de código
Javascript orientado a eventos, y hace uso de Socket.io, una librería que permite establecer
una conexión bidireccional entre cliente y servidor usando websockets. La importancia de
esta librería en el desarrollo de este prototipo, se ve reflejada al momento de realizar
notificaciones a uno o varios usuarios cuando un evento es emitido por alguno de los
dispositivos conectados, por ejemplo, una solicitud de turno, un llamado a nuevo turno,
tiempo estimado de espera.
La máquina virtual ya contaba con el gestor de bases de datos mysql. Adicionalmente, para
que el servicio tuviera alta disponibilidad se instaló un módulo de npm llamado Forever. Es
una interfaz de línea de comandos que permite y asegura que un script o servicio se ejecute
continuamente. La instalación de dicho módulo se realizó a través de la terminal como se
muestra en la imagen 8.18.
Para comprobar los servicios que están siendo respaldados por Forever se ejecuta el
comando forever list
El cliente selecciona el tipo de asesoría para conocer su estado. Luego se despliega una
ventana como muestra la imagen 8.23, que brinda información sobre el turno que está
siendo atendido, “Turno actual” y el próximo turno. Al momento de oprimir el botón
“Solicitar turno” automáticamente la misma ventana abierta en cualquier otro dispositivo es
actualizada, informando a los usuarios que el siguiente turno a solicitar ya ha sido asignado
a otro usuario. Igualmente, en ese momento, en el dispositivo desde el cual se realizó la
solicitud, se despliega información importante que permite al usuario conocer el turno que
está siendo atendido, el turno asignado y el tiempo estimado para que su turno sea llamado,
como muestra la imagen 8.24. En esta misma vista de la aplicación es posible cancelar el
turno cuando el cliente lo considere necesario.
Imagen 8.23 Turno actual y siguiente de Imagen 8.24 Estado turno solicitado
la asesoría RStudio
Adicionalmente, el usuario puede verificar los turnos que tiene asignados oprimiendo el
símbolo de menú ubicado en la parte superior izquierda de la pantalla de su dispositivo
móvil, como muestra la imagen 8.25. Al seleccionar el ítem “Mis turnos” se abre la sección
que lista los turnos solicitados por el usuario. Al momento de seleccionar uno de los turnos
se despliega la información asociada a este tal como se muestra en la imagen 8.26.
Imagen 8.25 Menú Imagen 8.26 Lista de Imagen 8.27 Encuesta
lateral para consultar lista turnos solicitados del servicio
de turnos solicitados
Cuando el usuario es atendido por el asesor y éste último registra la hora en que finalizó la
asesoría, el cliente no puede solicitar un nuevo turno si no diligencia la encuesta que
permite evaluar la asesoría. Cabe destacar, que las preguntas asociadas a esta encuesta
hacen parte del formato de evaluación de servicios de RITA, que se encuentra como anexo
1 es este escrito.
Por otro lado, el asesor inicia sesión de la misma manera que el cliente. El menú principal
de tipos de asesorías también es desplegado si los datos ingresados son correctos y al
momento de seleccionar uno de los ítems se muestra una ventana con la información del
usuario que solicitó el turno que está siendo llamado, como muestra la imagen 8.28.
Adicionalmente, se notifica a los usuarios que tienen abierta la aplicación que el turno
atendido ha cambiado y el tiempo de espera para ser atendido ha disminuido.
Imagen 8.28 Datos del turno que está siendo atendido
9. LIMITACIONES
Se construyó el prototipo de una aplicación móvil que cumple con los requerimientos
planteados y que permite, en este caso, a la comunidad académica solicitar turnos para
asesorías académicas.
Este prototipo puede ser modificado y aplicado en cualquier entidad o establecimiento que
gestione la atención al cliente de manera presencial, lo cual según las referencias de
fidelización que utilizan algunas empresas resultaría bastante útil.
La aplicación notifica a los clientes cuando hay un cambio en un turno de una asesoría
seleccionada permitiéndoles manejar su tiempo de manera más eficiente.
Las notificaciones a los usuarios se realizan sobre los datos mientras la aplicación se
encuentra en primer plano. Adicionalmente, la rapidez con la que el usuario recibe dichas
notificaciones depende de la disponibilidad de su conexión a internet y de la velocidad de la
misma.
La notificación a los usuarios fue la funcionalidad más compleja debido a que se dependía
de conexión a internet y disponibilidad del servicio instalado y configurado en el servidor.
TOTAL $ 9’750.000
Tabla Anexo 2.1. Costos totales del proyecto
TOTAL $ 8’400.000
Tabla Anexo 2.2. Costos de personal
TOTAL $ 1’150.000
Tabla Anexo 2.3. Costos de equipos.
TOTAL $ 200.000
Tabla Anexo 2.4. Costos de papelería y varios.
TOTAL $ 520.000
Tabla Anexo 2.5. Costos de software.
13. REFERENCIAS
Puranik, D.G., Feiock, D.C., Hill, J.H. (2013). Real-Time Monitoring using AJAX
and WebSockets. doi: 10.1109/ECBS.2013.10.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6601579&queryText=we
bsockets&newsearch=true
Zhanikeev, M. (2013). A Practical Software Model for Content Aggregation in
Browsers Using Recent Advances in HTML5. doi: 10.1109/COMPSACW.2013.18.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6605781&queryText=we
bsockets&newsearch=true
Mandyam, G.D., Ehsan, N. (2015). Impact of HTML5 persistent connectivity to
power consumption for the mobile web. doi: 10.1109/COMSNETS.2015.7098682
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7098682&queryText=we
bsockets&newsearch=true
Tilkov, S., Vinoski, S. (2010). Node.js: Using JavaScript to Build High-
Performance Network Programs. Internet Computing, IEEE. Volumen 14, 80-83.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5617064&queryText=no
de.js&newsearch=true
Xiao-Feng Gu, Le Yang, Shaoquan Wu. (2014). A real-time stream system based on
node.js. doi: 10.1109/ICCWAMTIP.2014.7073454
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7073454&queryText=no
de.js&newsearch=true
Jaramillo, D., Nguyen Van Duy, Newhook, R. (2014). Real-time experience
techniques for collaborative tools on mobile. doi: 10.1109/SECON.2014.6950669.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6950669&queryText=no
de.js&newsearch=true
Carter, B. (2014). HTML Architecture, a Novel Development System (HANDS):
An Approach for Web Development. doi: 10.1109/GOCICT.2014.23.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7113671&queryText=no
de.js&newsearch=true
Herrera-Quintero, L.F., Jalil-Naser, W.D., Banse, K., Samper-Zapater, J.J. (2015).
Smart cities approach for Colombian Context. Learning from ITS experiences and
linking with government organization. doi: 10.1109/SCSP.2015.7181557.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7181557&queryText=sm
art%20cities&newsearch=true
Djahel, S., Doolan, R., Muntean, G.-M., Murphy, J. (2014). A Communications-
Oriented Perspective on Traffic Management Systems for Smart Cities: Challenges
and Innovative Approaches. Communications Surveys & Tutorials, IEEE. Volumen
(17). 125 - 151.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6857980&queryText=sm
art%20cities&newsearch=true
Mesa J. (2016). Puzzle game online running on a bidirectional communication
framework based on Node.js and Socket.io. Microsoft Academic.
http://acceda.ulpgc.es/bitstream/10553/18827/1/0719712_00000_0000.pdf
Xi-qi, Chen. (2016) On Implementation of Bidirectional Real-time Communication
between Server and Browser Based on Socket.IO Framework.
Madsen, M., Tip, F., Lhoták, O. (2015) Static analysis of event-driven Node.js
JavaScript applications.
http://plg.uwaterloo.ca/~mmadsen/papers/oopsla15/paper.pdf.
Gabe, I., Hage, J. (2017) Refining types using type guards in TypeScript.
Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and
Program Manipulation. doi: 10.1145/3018882.3018887.
Minder, P. (2016) Introducing modified TypeScript in an existing framework to
improve error handling.
http://liu.diva-portal.org/smash/get/diva2:937541/FULLTEXT01