Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniero de Sistemas
Universidad De Cundinamarca
Fusagasugá Cundinamarca
2020
Implementación de una solución web y móvil para la atención de alertas y gestión de
procesos en la prestación del servicio de mantenimiento en ascensores
Universidad De Cundinamarca
Fusagasugá Cundinamarca
2020
Dedicatoria
Dedicamos este trabajo principalmente a Dios por habernos dado la vida, la voluntad y la
oportunidad de estudiar. A nuestros padres por confiar y creer en nuestros sueños, por los
principios y valores que nos han inculcado, por acompañarnos en cada paso tomado y su
amor incondicional, sin ellos nada de esto hubiera sido posible. A nuestros hermanos que
han estado siempre presentes, acompañándonos y apoyándonos. Y a todas las personas
que han creído en nosotros.
Agradecimientos
Agradecemos a nuestros padres quienes han sido los principales promotores de nuestros
sueños, por su esfuerzo, dedicación, paciencia y confianza, por brindarnos todo su amor y
apoyo a lo largo de la carrera. A nuestros hermanos quienes estuvieron para darnos
consejo. A nuestro tutor Luis Eduardo Orjuela Endo, por guiarnos y brindarnos su
conocimiento para la realización de este proyecto. A la Universidad De Cundinamarca
por abrirnos sus puertas y permitirnos formarnos como profesionales.
Tabla de contenido
1. Introducción................................................................................................................11
2. Marco Teórico............................................................................................................13
2.1. Antecedentes.......................................................................................................13
3. Planteamiento del problema.......................................................................................14
4. Justificación................................................................................................................15
5. Objetivos.....................................................................................................................16
5.1. Objetivo General.................................................................................................16
5.2. Objetivos Específicos..........................................................................................16
6. Fundamento Teórico...................................................................................................17
6.1. Herramientas.......................................................................................................17
7. Metodología de Desarrollo.........................................................................................18
8. Fase 1: Análisis de requerimientos.............................................................................19
8.1. recolección de requerimientos.............................................................................19
8.2. Establecimiento y selección de usuarios a entrevistar........................................19
8.3. Establecimiento de desarrollo de la entrevista....................................................20
8.4. Recolección y documentación de los resultados de la aplicación de entrevistas 20
8.5. Módulo de administración:.................................................................................20
8.6. Módulo de mantenimientos:................................................................................21
8.7. Módulo de Alertas:..............................................................................................22
8.8. Requerimientos Funcionales...............................................................................23
8.9. Requerimientos no funcionales...........................................................................35
8.10. Modelo Objetos de Dominio...........................................................................38
8.11. Modelo Casos de Uso......................................................................................38
8.11.2. Casos de uso....................................................................................................39
8.12. Prototipo de Interfaz........................................................................................42
9. Fase 2 Análisis y Diseño Preliminar..........................................................................80
9.1. Descripción Casos de Uso...................................................................................80
9.1.1. Gestión de personal.........................................................................................80
9.1.2. Gestión mantenimientos..................................................................................83
9.1.3. Gestión de alertas............................................................................................85
9.1.4. Gestión de garantías........................................................................................87
9.1.5. Mantenimientos...............................................................................................88
9.1.6. Alertas..............................................................................................................91
9.2. Diagramas de robustez........................................................................................93
9.2.1. Modulo administración:...................................................................................93
9.2.2. Modulo mantenimientos..................................................................................99
9.2.3. Modulo Alertas..............................................................................................103
9.3. Diagrama de Clases...........................................................................................105
10. Fase 3 Implementación.........................................................................................106
10.1. Arquitectura...................................................................................................106
10.2. Estándares de programación..........................................................................107
10.4. Base de datos aplicación................................................................................110
10.7. Codificación..................................................................................................115
Tabla de Ilustraciones
El presente proyecto esta guiado a presentar una solución para la gestión de los
mantenimientos y alertas por fallas en elevadores para la empresa Elevadores Integral
S.A. A través de una aplicación móvil Android, considerando que la empresa no cuenta
con sistema de información digital si no por el contrario con un sistema físico, con el que
por medio de fichas de papel cartón registran los mantenimientos y las alertas se
gestionan por medio de un Call Center, la aplicación permitirá a los técnicos registrar
cada fase del mantenimiento en un elevador y revisar el historial de los mantenimientos
efectuados en este, así como también tener un detalle de las fallas comunes que presenta.
Al encargado del edificio le permitirá generar una alerta cuando alguno de los elevadores
del edificio falle, dicha alerta será notificada al técnico para que el la atienda. Al
administrador le permitirá gestionar usuarios y garantías, visualizar mantenimientos y
alertas. Buscando optimizar el proceso de mantenimientos y la atención de fallas en los
ascensores.
6.1. Herramientas
Kotlin
Como lenguaje de programación se optó por kotlin debido a que consume poco código
para realizar aplicaciones lo cual lo hace más ligero y escalable.
Android Studio
Como entorno de desarrollo se opto por el IDE de desarrollo nativo de Android.
Cloud Store
Como base de datos no relacional se optó por el uso de Cloud Store Fire Store debido a
que se requiere que los datos estén en tiempo real.
Adobe Xd
Se utilizo para el diseño preliminar de la interfaz de usuario y el prototipado de la
aplicación.
Firebase
Se opto por utilizar la herramienta de desarrollo de aplicaciones Firebase de Google
debido a que nos permite gestionar diferentes aspectos en el desarrollo de nuestra
aplicación utilizando librerías propias siendo fácil de integrar con una amplia
documentación y que nos permite ahorrar líneas de código.
7. Metodología de Desarrollo
Con el fin de obtener información precisa y veraz de los procesos de gestión de alertas y
mantenimientos en la empresa Elevadores Integral S.A.S se decide entrevistar al siguiente
personal:
Así mismo el administrador podrá modificar los datos de los usuarios como también
eliminarlos.
El administrador podrá visualizar en detalle las piezas que el técnico solicito cambio por
garantía cuando realizo el mantenimiento en un elevador de un edificio.
8.6.2. Historial:
8.6.3. Garantías:
Con el fin de poder cumplir con la garantía que la empresa les da a ciertas piezas, el
mecánico necesita visualizar las piezas que tienen garantía, por lo cual en la base de datos
se debe registrar fecha de inicio y de fin de la garantía de cada una de las piezas, además
si se le hizo algún cambio.
8.7.2. Alerta:
El técnico de turno que esté disponible en el momento recibirá una alerta informándole la
falla, nombre del edificio y lugar.
Mecánico: Actor principal encargado de atender las alertas y registrar los mantenimientos
en el sistema
Creado en Adobe Xd
Ilustración 10 Prototipo de interfaz Perfiles
Creado en adobe Xd
Ilustración 11 Prototipo de interfaz Edificio
Creado en adobe Xd
Ilustración 12 Prototipo de Interfaz perfil Edificio
Creado en Adobe Xd
Ilustración 13 Prototipo de Interfaz generar Alerta
Creado en Adobe Xd
Ilustración 14 Prototipo de interfaz generar Alerta elevador vacio
Creado en Adobe Xd
Ilustración 15 Prototipo de interfaz Nosotros
Creado en adobe Xd
Ilustración 16 Prototipo de interfaz Técnico
Creado en Adobe Xd
Ilustración 17 Prototipo de interfaz Perfil Edificio
Creado en adobe Xd
Ilustración 18 Prototipo de interfaz Registro Mantenimiento 1.
Creado en Adobe Xd
Ilustración 19 Prototipo de Interfaz Registro mantenimiento 2.
Creado en adobe Xd
Ilustración 20 Mantenimiento Cabina
Creado en adobe Xd
Ilustración 21 mantenimiento hall
Creado en Adobe Xd
Ilustración 22 Mantenimiento encima de la cabina
Creado en adobe Xd
Ilustración 23 Mantenimiento cuarto de maquinas
Creado en Adobe Xd
Ilustración 24 Mantenimiento Cuarto de maquinas
Creado en Adobe Xd
Ilustración 25 Mantenimiento Observaciones
Creado en Adobe Xd
Ilustración 26 Mantenimiento Garantías
Creado en Adobe Xd
Ilustración 27 Pieza Garantía
Creado en Adobe Xd
Ilustración 28 Errores Comunes
Creado en Adobe Xd
Ilustración 29 home Administrador
Creado en Adobe Xd
Ilustración 30 Gestión de edificios
Creado en Adobe Xd
Ilustración 31 Perfil técnico.
Creado en Adobe Xd
Ilustración 32 Agregar Edificio
Creado en Adobe Xd
Ilustración 33 Gestión técnicos.
Creado en Adobe Xd
Ilustración 34 Perfil técnico
Creado en Adobe Xd
Ilustración 35 Agregar técnico
Creado en Adobe Xd
Ilustración 36 Gestión mantenimientos
Creado en Adobe Xd
Ilustración 37 Buscar mantenimiento por edificio.
Creado en Adobe Xd
Ilustración 38 lista mantenimientos edificio.
Creado en Adobe Xd
Ilustración 39 Mantenimiento.
Creado en Adobe Xd
Creado en Adobe Xd
Ilustración 40 Buscar mantenimiento por técnico
Creado en Adobe Xd
Ilustración 41 Mantenimientos técnico
Creado en Adobe Xd
Ilustración 42 Mantenimiento técnico.
Creado en Adobe Xd
Ilustración 43 Gestión Alertas.
Creado en Adobe Xd
Ilustración 44 Alertas-Administrador.
Creado en adobe Xd
9. Fase 2 Análisis y Diseño Preliminar
Gestión de personal
Código: 1.1
Casos de uso: Registrar personal, modificar personal,
eliminar personal
Actores: Administrador
Resumen: El administrador inicia la aplicación e
ingresa a las pantallas de edificios o técnicos
y agrega, elimina o modifica a uno de estos
usuarios
Tipo: Primario
Precondiciones: Haber ingresado al sistema mediante usuario
y contraseña.
Gestión de mantenimientos
Código: 2.1
Casos de uso: Buscar mantenimientos por técnico, buscar
por edificio
Actores: Administrador
Resumen: El administrador inicia la aplicación e
ingresa a las pantallas de mantenimientos
para tener un control de los mantenimientos
efectuados por los técnicos en los
ascensores.
TIPO: Primario
Precondiciones: Haber ingresado al sistema mediante usuario
y contraseña.
2. El administrador se dirige a la
pantalla de mantenimientos pulsando el 3.la aplicación presenta una pantalla donde
botón del mismo nombre se muestra la opción de buscar los
mantenimientos ya sea por edificio o
técnico.
Gestión de alertas
Código: 3.1
Casos de uso: Gestión de alertas
Actores: Administrador
Resumen: El administrador inicia la aplicación, ingresa
a la pantalla de alertas en donde encuentra
un listado con las alertas generadas y que
técnico
Las atendió.
Tipo: Primario
Precondiciones: Haber ingresado al sistema mediante usuario
y contraseña.
Curso normal de eventos
Código: 3.1
Casos de uso: Buscar garantías
Actores: Administrador
Resumen: El administrador inicia la aplicación, pulsa
el botón de garantías, se despliega una lista
con el nombre de la pieza, elevador, edificio
y técnico.
TIPO: Primario
Precondiciones: Haber ingresado al sistema mediante usuario
y contraseña.
Mantenimientos
Código: 2.1
Casos de uso: Registrar mantenimientos, revisar historial
de mantenimientos, revisar errores comunes
Actores: Mecánico
Resumen: El mecánico ingresa a la aplicación pulsa el
botón de mantenimientos, donde accede a
registrar, revisar historial y errores comunes
de cada mantenimiento y el estado de
garantía de las piezas a las que la empresa le
da.
TIPO: Primario
Precondiciones: Haber ingresado al sistema mediante usuario
y contraseña.
2. El administrador se dirige a la
pantalla de mantenimientos
Alertas
Código: 3.1
Casos de uso: Generar alerta, atender alerta, realizar
mantenimiento por alerta.
Actores: Encargado edificio, Mecánico
Resumen: El encargado pulsa el botón de alerta en la
pantalla principal, al mecánico le llega una
notificación donde le informa de la alerta
del edificio con ubicación y número de
teléfono
TIPO: Primario
Precondiciones: Haber ingresado al sistema mediante usuario
y contraseña.
Gestión edificios:
Ilustración 46 Diagrama de robustez, modulo administración: Gestión edificios.
Creación en Lucid chart: https://app.lucidchart.com/documents
Gestión Tecnicos
Ilustración 47Diagrama de robustez, modulo administración: Gestión técnicos.
Creación en Lucid chart: https://app.lucidchart.com/documents
Gestión Mantenimientos
Ilustración 4847Diagrama de robustez, modulo administración: Gestión mantenimientos
Creación en Lucid chart: https://app.lucidchart.com/documents
Gestión alertas
Ilustración 49 47Diagrama de robustez, modulo administración: Gestión alertas
Creación en Lucid chart: https://app.lucidchart.com/documents
Gestión Garantias
Ilustración 50 Diagrama de robustez, modulo administración: Gestión garantías
Creación en Lucid chart: https://app.lucidchart.com/documents
Iniciar Sesión
Ilustración 51Diagrama de robustez, modulo mantenimientos: iniciar sesión
Creación en Lucid chart: https://app.lucidchart.com/documents
Registro de mantenimientos
Ilustración 52 Diagrama de robustez, modulo mantenimiento: Registro mantenimiento
Creación en Lucid chart: https://app.lucidchart.com/documents
Historial Mantenimientos
Ilustración 53 Diagrama de robustez, modulo mantenimiento: Historial mantenimientos
Creación en Lucid chart: https://app.lucidchart.com/documents
Errores comunes
Ilustración 54 Diagrama de robustez, modulo mantenimiento: Errores comunes
Creación en Lucid chart: https://app.lucidchart.com/documents
Atender alerta
Ilustración 56 Diagrama de robustez, modulo alertas: Atender alerta
Creación en Lucid chart: https://app.lucidchart.com/documents
Inicio de sesión
Ilustración 58 Diagrama de secuencia inicio de sesión
Agregar Usuarios
Ilustración 59 Diagrama de secuencia agregar usuarios
Registro Mantenimiento
Generar Alerta
Ilustración 61 Diagrama de secuencia Alerta
10.1. Arquitectura
Capas MVP
Modelo: En esta capa se gestionan los datos. Se encuentran las clases que contienen la
lógica de negocio.
Vista: En esta capa se muestran los datos. Se encuentran los diseños, fragmentos y vistas
de la aplicación.
Presentador: En esta capa se sitúa el modelo y la vista que permite conectar la interfaz
gráfica con los datos.
Según la publicación web (AWAS, nosql)” Las bases de datos NoSQL están
diseñadas específicamente para modelos de datos específicos y tienen esquemas
flexibles para crear aplicaciones modernas. Las bases de datos NoSQL son
ampliamente reconocidas porque son fáciles de desarrollar, por su funcionalidad y el
rendimiento a escala.”.
A partir del modelo de datos NoSQL de Cloud Firestore, almacenas los datos en
documentos que contienen campos que se asignan a valores. Estos documentos se
almacenan en colecciones, que son contenedores para tus documentos y que puedes
usar para organizar tus datos y compilar consultas. Los documentos admiten varios
tipos de datos diferentes, desde strings y números simples, hasta objetos anidados
complejos. También puedes crear subcolecciones dentro de documentos y crear
estructuras de datos jerárquicas que se ajustan a escala a medida que tu base de
datos crece. El modelo de datos de Cloud Firestore admite cualquier estructura de
datos que funcione mejor con tu aplicación.
Además, las consultas de Cloud Firestore son expresivas, eficientes y flexibles. Crea
consultas superficiales para recuperar datos en el nivel del documento, sin la
necesidad de recuperar la colección completa ni las subcolecciones anidadas.
Agrega criterios de orden, filtros y límites a tus consultas o cursores para paginar
los resultados. Para mantener actualizados los datos de tus apps sin tener que
recuperar toda la base de datos cada vez que haya una actualización, agrega agentes
de escucha en tiempo real. Estos te notifican con una instantánea de los datos cada
vez que los datos de tus apps cliente escuchan para detectar cambios y recuperan
solo los cambios nuevos.”(Firebase, s,f,).
Se ha decidido alojar la base de datos en Cloud Firestore que es una base de datos
NoSQL que nos permite mantener nuestros datos en tiempo real además de
proporcionar seguridad.
Colección Users
Colección Mantenimientos
Colección Garantias
Colección Edificio
Colección Alerta
10.5. PROYECTO
El proyecto tiene como nombre Elevator y está compuesto por una sola aplicación
dividida en los siguientes módulos : modelo, presentador, vista.
El modelo es una interfaz que define los datos que se mostrará o no actuado en la
interfaz de usuario.
El presentador actúa sobre el modelo y la vista. Recupera datos de los repositorios (el
modelo), y los formatea para mostrarlos en la vista.
La vista es una interfaz pasiva que exhibe datos (el modelo) y órdenes de usuario de
las rutas (eventos) al presentador para actuar sobre los datos.
ANDROID STUDIO
ADOBE XD
Adobe xD es una herramienta desarrollada por adobe, la cual nos permite crear
prototipos de interfaz digitales interactivos.
FIREBASE
CLOUDSTORE
“Cloud Storage para Firebase es un servicio de almacenamiento de objetos potente,
simple y rentable construido para la escala de Google. Los SDK de Firebase para
Cloud Storage agregan la seguridad de Google a las operaciones de carga y
descarga de archivos para tus apps de Firebase, sin importar la calidad de la red.
Puedes usar nuestros SDK para almacenar imágenes, audio, video y otros tipos de
contenido generado por el usuario. En el servidor, puedes usar Google Cloud
Storage para acceder a los mismos archivos.”(Firebase, Cloud Storage)
AUTHENTICATION
“La mayoría de las apps necesitan identificar a los usuarios. Conocer la identidad de
un usuario permite que una app guarde sus datos en la nube de forma segura y
proporcione la misma experiencia personalizada en todos los dispositivos del
usuario.
Firebase Crashlytics
10.7. Codificación
Android Studio
Para este proyecto se utiliza se utilizan los servicios web de Google, llamados
Firebase, se utilizan para la autenticación y el uso de la base de datos de Cloud
Firestore, para esto descargamos un archivo Json que debemos alojar en el proyecto.
Android Studio
Retrofit:
“Retrofit es un cliente HTTP de tipo seguro para Android y Java. Retrofit hace sencillo
conectar a un servicio web REST traduciendo la API a interfaces Java. En este tutorial,
te mostraré cómo usar una de las librerías HTTP más populares y frecuentemente
recomendada disponible para Android.
Esta poderosa librería hace sencillo consumir datos JSON o XML, que después es
analizado en Objetos Java (Plain Old Java Objects, POJOs). Todas las peticiones GET,
POST, PUT, PATCH, and DELETE pueden ser ejecutadas”. (Chike Mgbemena,
Tutsplus).
Para poder implementar Retrofit a nuestro proyecto implementamos la librería de
Retrofit, además fue necesario implementar Gson para poder convertir los datos y
enviarlos a Firebase.
Android Studio
10.12. Api
Debido a que el SDK de Firebase es de modo cliente no nos permite otorgar permisos
de administrador, para esto se ha decidido usar Functions de Firebase que nos permite
hacer solicitudes HTTP a una Api en donde el rol de administrador puede agregar
nuevos usuarios para la aplicación.
Ilustración 69 Functions Firebase
Para crear las funciones para agregar técnicos y edificios utilizamos Sublime Text con
lenguaje JavaScript.
Sublime Text
Ilustración 71 Función para agregar edificios
Sublime Text
10.13. Pruebas
Se realizaron una serie de pruebas para validar los métodos y funciones más básicas
del sistema.
Nombre: Acceso al Sistema N°
PRUN
1
Responsable: Equipo de desarrollo
Precondiciones Conexión a internet
Descripción de acciones Ingresar a la aplicación
Autenticarse
Esperar que el usuario sea
autenticado
Resultado Esperado Se espera que el usuario pueda
ingresar correctamente a la
aplicación.
Resultado Obtenido El resultado de la prueba fue
satisfactorio ya que el usuario se
autentico y pudo ingresar al sistema
Tabla 30 Prueba Unitaria Acceso al Sistema