• No se han encontrado resultados

Aplicación móvil para control de acceso y asistencia en la empresa Ecuador on Rails mediante reconocimiento facial y códigos QR utilizando el Framework React Native camera y tecnología Numato

N/A
N/A
Protected

Academic year: 2020

Share "Aplicación móvil para control de acceso y asistencia en la empresa Ecuador on Rails mediante reconocimiento facial y códigos QR utilizando el Framework React Native camera y tecnología Numato"

Copied!
189
0
0

Texto completo

(1)

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS

CARRERA DE INGENIERIA EN SISTEMAS

COMPUTACIONALES

APLICACIÓN MÓVIL PARA CONTROL DE ACCESO Y ASISTENCIA EN LA EMPRESA ECUADOR ON RAILS MEDIANTE RECONOCIMIENTO

FACIAL Y CÓDIGOS QR UTILIZANDO EL FRAMEWORK REACT NATIVE CAMERA Y TECNOLOGÍA NUMATO.

PROYECTO DE TITULACIÓN

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTORES:

PAZMIÑO LA ROSA KERLY ESTEFANY

RAMÍREZ MURRIETA GUILLERMO ANDRÉS

TUTOR:

Ing. KARLA YADIRA ABAD SACOTO Msc.

GUAYAQUIL – ECUADOR

(2)

REPOSITORIO NACIONAL EN CIENCIA Y TECNOLOGÍA

FICHA DE REGISTRO DE TESIS

TÌTULO: “APLICACIÓN MÓVIL PARA CONTROL DE ACCESO Y ASISTENCIA EN LA EMPRESA ECUADOR ON RAILS MEDIANTE RECONOCIMIENTO FACIAL Y CÓDIGOS QR UTILIZANDO EL FRAMEWORK REACT NATIVE CAMERA Y TECNOLOGÍA NUMATO”

AUTOR/ES: KERLY ESTEFANY PAZMIÑO LA ROSA

GUILLERMO ANDRÉS RAMÍREZ MURRIETA REVISORES:

INSTITUCIÓN:

UNIVERSIDAD DE GUAYAQUIL FACULTADFÍSICAS : DE CIENCIAS MATEMÁTICAS Y

CARRERA: INGENIERÍA EN SISTEMAS COMPUTACIONALES

FECHADEPUBLICACIÓN: Octubre de 2019 No. DE PÁGS: 129 páginas

ÁREA TEMÁTICA: DESARROLLO DE SOFTWARE

PALABRAS CLAVE: Reconocimiento facial, Código QR, aplicación móvil, framework, OpenCV.

RESUMEN: El presente trabajo de titulación consiste en el desarrollo de una aplicación móvil para el control de acceso de cliente mediante la lectura de códigos QR y asistencia de empleados con la ayuda del reconocimiento facial como método de identificación en el ingreso a la empresa Ecuador on Rails, para esto se hará uso del framework React Native Camera con la verificación del código QR y la detección del rostro, además del algoritmo de identificación de patrones faciales en la librería OpenCV, con el cual se busca garantizar la identidad de la persona que ingresa a la empresa y disminuir el riesgo que le puede ocasionar el acceso de un intruso, adicional permite mantener un mejor control de la jornada laboral de sus empleados y de esta forma garantizar su productividad.

No. DE REGISTRO(en base de datos): No. DE CLASIFICACIÓN:

DIRECCIÓN URL (tesis en la web):

NOMBRE: AB. JUAN CHÁVEZ ATOCHA

Teléfono: 2307729

(3)

III

APROBACIÓN DEL TUTOR

En mi calidad de Tutor del trabajo de titulación, “APLICACIÓN MÓVIL PARA CONTROL DE ACCESO Y ASISTENCIA EN LA EMPRESA ECUADOR ON RAILS MEDIANTE RECONOCIMIENTO FACIAL Y CÓDIGOS QR UTILIZANDO EL FRAMEWORK REACT NATIVE CAMERA Y TECNOLOGÍA NUMATO“ elaborado por la Srta. KERLY ESTEFANY PAZMIÑO LA ROSA y el Sr. GUILLERMO ANDRÉS RAMÍREZ MURRIETA, Alumnos no titulados de la Carrera de Ingeniería en Sistemas Computacionales, Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en Sistemas Computacionales, me permito declarar que luego de haber orientado, estudiado y revisado, la Apruebo en todas sus partes.

Atentamente

(4)

IV

DEDICATORIA

Este trabajo se lo dedico a mis padres Maritza La Rosa y Jorge León por brindarme siempre su apoyo incondicional, y haberme enseñarme a ser una mejor persona cada día.

A mis hermanas por compartir conmigo todo este camino llamado vida y demostrarme que con esfuerzo y dedicación se cumplen todas las metas.

(5)

V

DEDICATORIA

Dedico este trabajo de manera muy especial a mi madre, por su apoyo incondicional y a mi pequeña Mila, por traer alegría a mi vida al compartir las travesuras de su niñez conmigo.

(6)

VI

AGRADECIMIENTO

Agradezco a Dios por darme salud y sabiduría para poder culminar mis estudios. A mi madre por enseñarme a nunca darme por vencida, a mi padre por su apoyo incondicional, a mis hermanas por todos los desvelos en que me acompañaron durante este proceso,

A mis amigos por siempre aconsejarme y estar presente cuando su apoyo necesite. A la institución y cada uno de los profesores que me brindaron sus

conocimientos y

experiencias para llegar a esta meta,

(7)

VII

AGRADECIMIENTO

Agradezco a toda persona que me ha apoyado y ha compartido conmigo este proceso, en particular a mi madre Verónica Murrieta, a mis mentores y amigos Marco Hernández y Leonardo Gavidia.

(8)

VIII

TRIBUNAL PROYECTO DE TITULACIÓN

Ing. Fausto Cabrera Montes, M.Sc. DECANO DE LA FACULTAD CIENCIAS MATEMATICAS Y

FISICAS

Ing. Gary Reyes Zambrano, Mgs. DIRECTOR DE LA CARRERA DE INGENIERIA EN SISTEMAS

COMPUTACIONALES

Ing.Karla Yadira Abad Sacoto, M.Sc. PROFESOR TUTOR DEL PROYECTO DE TITULACION

Ing. Ángel Cuenca Ortega, M. Sc. PROFESOR REVISOR DEL

PROYECTO DE TITULACION

(9)

IX

DECLARACIÓN EXPRESA

“La responsabilidad del contenido de este Proyecto de Titulación, nos corresponde exclusivamente; y el patrimonio intelectual de la misma a la UNIVERSIDAD DE GUAYAQUIL”

_________________________

Kerly Estefany Pazmiño La Rosa

_______________________________

(10)

X

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERIA EN SISTEMAS

COMPUTACIONALES

APLICACIÓN MÓVIL PARA CONTROL DE ACCESO Y ASISTENCIA EN LA EMPRESA ECUADOR ON RAILS MEDIANTE RECONOCIMIENTO FACIAL Y CÓDIGOS QR UTILIZANDO EL FRAMEWORK REACT NATIVE CAMERA

Y TECNOLOGÍA NUMATO.

Proyecto de Titulación que se presenta como requisito para optar por el título de INGENIERO EN SISTEMAS COMPUTACIONALES

AUTOR (ES):

PAZMIÑO LA ROSA KERLY ESTEFANY C.I. 094135789-9 RAMÍREZ MURRIETA GUILLERMO ANDRÉS C.I. 1206134122

TUTOR: ING. KARLA YADIRA ABAD SACOTO M. SC.

(11)

XI

CERTIFICADO DE ACEPTACIÓN DEL TUTOR

En mi calidad de Tutor del proyecto de titulación, nombrado por el Consejo Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil.

CERTIFICO:

Que he analizado el Proyecto de Titulación presentado por los estudiantes Kerly Estefany Pazmiño La Rosa y Guillermo Andrés Ramírez Murrieta, como requisito previo para optar por el título de Ingeniero en Sistemas Computacionales cuyo problema es:

APLICACIÓN MÓVIL PARA CONTROL DE ACCESO Y ASISTENCIA EN LA EMPRESA ECUADOR ON RAILS MEDIANTE RECONOCIMIENTO FACIAL Y CÓDIGOS QR UTILIZANDO EL FRAMEWORK REACT NATIVE CAMERA Y TECNOLOGÍA NUMATO.

Considero aprobado el trabajo en su totalidad.

Presentado por:

Pazmiño La Rosa Kerly Estefany C.I. 0941357899 Ramírez Murrieta Guillermo Andrés C.I. 1206134122

Tutor: Ing. Karla Yadira Abad Sacoto M. Sc.

(12)

XII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES

Autorización para Publicación de Proyecto de Titulación en Formato Digital 1. Identificación del Proyecto de Titulación

Nombre Alumno: Kerly Estefany Pazmiño La Rosa

Dirección: Pascuales Coop. 21 de Noviembre Mz. 111 Sl.2 L

Teléfono: 2985875-0986555422 E-mail: [email protected]

Nombre Alumno: Guillermo Andrés Ramírez Murrieta Dirección: Cdla. Simón Bolívar Mz.1 Villa 53

Teléfono: 0995270616 E-mail: [email protected]

Facultad: Ciencias Matemáticas y Físicas

Carrera: Ingeniería en Sistemas Computacionales

Proyecto de titulación al que opta: Ingeniero en Sistemas Computacionales Profesor tutor: Ing. Karla Yadira Abad Sacoto M.Sc.

Título del Proyecto de titulación: Aplicación móvil para control de acceso y asistencia en la empresa Ecuador on Rails mediante reconocimiento facial y códigos QR utilizando el framework React Native Camera y tecnología Numato

Tema del Proyecto de Titulación: Aplicación móvil para control de acceso y asistencia.

2. Autorización de Publicación de Versión Electrónica del Proyecto de Titulación

A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de este Proyecto de titulación.

Publicación electrónica:

Inmediata X Después de 1 año

Firma Alumno:

Kerly Estefany Pazmiño La Rosa Guillermo Andrés Ramírez Murrieta

3. Forma de envío:

El texto del proyecto de titulación debe ser enviado en formato Word, como archivo .Doc. O .RTF y. Puf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .TIFF.

(13)

XIII

ÍNDICE GENERAL

APROBACIÓN DEL TUTOR ... III DEDICATORIA ... IV DEDICATORIA ... V AGRADECIMIENTO... VI AGRADECIMIENTO... VII DECLARACIÓN EXPRESA ... IX CERTIFICADO DE ACEPTACIÓN DEL TUTOR... XI ÍNDICE GENERAL... XIII ABREVIATURAS ...XVII ÍNDICE DE CUADROS ... XVIII ÍNDICE DE GRÁFICOS ... XX

PLANTEAMIENTO DEL PROBLEMA ... 4

Ubicación del Problema en un Contexto ... 4

Situación Conflicto Nudos Críticos ... 6

Causas y consecuencias del problema... 7

Delimitación del problema ... 8

Formulación del problema ... 8

Evaluación del problema ... 9

OBJETIVOS ... 10

Objetivo General ... 10

Objetivos Específicos ... 10

ALCANCE DEL PROBLEMA ... 11

(14)

XIV

METODOLOGÍA DEL PROYECTO ... 13

CAPÍTULO II ... 16

MARCO TEÓRICO ... 16

ANTECEDENTES DE ESTUDIO ... 16

FUNDAMENTACIÓN TEÓRICA ... 18

Jornada laboral ... 18

Control de asistencia del personal ... 19

Control de acceso ... 20

Tipos de controles de acceso ... 20

Sistemas biométricos ... 21

Sistema automatizado... 22

Reconocimiento facial ... 23

Códigos QR ... 24

Aplicación móvil ... 25

Sistema operativo Android ... 25

Tipos de aplicaciones móviles ... 26

Aplicación móvil nativa ... 27

Aplicación móvil Hibrida ... 27

Aplicación móvil Web ... 27

Framework ... 28

React Native ... 28

Bibliotecas y componentes de React Native ... 29

(15)

XV

Pregunta científica a contestar ... 44

Definiciones Conceptuales ... 44

CAPÍTULO III ... 46

PROPUESTA TECNOLÓGICA ... 46

Análisis de factibilidad ... 46

Factibilidad operacional ... 46

Factibilidad técnica ... 47

Factibilidad legal ... 50

Factibilidad económica ... 50

Diagramas de flujos de procesos ... 54

Metodología de Investigación ... 56

Tipo de investigación ... 56

Población y muestra ... 56

Población ... 56

Muestra ... 57

Instrumentos de recolección de datos ... 57

Técnica ... 57

Instrumento ... 57

Procesamiento y Análisis ... 58

Análisis de la Encuesta... 64

Etapas de la Metodología de Desarrollo del Proyecto ... 70

Comunicación ... 71

Plan rápido ... 73

Modelado, diseño rápido ... 82

(16)

XVI

Entrega y retroalimentación ... 106

Entrega del desarrollo final ... 112

Entregables del proyecto ... 114

Código fuente de la aplicación móvil... 114

Manual de usuario. ... 115

Manual técnico. ... 115

Criterio de validación de la propuesta ... 115

CAPÍTULO IV ... 119

Criterios de aceptación del producto o servicio ... 119

CONCLUSIONES ... 121

RECOMENDACIONES ... 123

Bibliografía ... 124

(17)

XVII

ABREVIATURAS

API Interfaz de Programación de Aplicaciones

BD Base de Datos

HTML Lenguaje de Marca de salida de Hyper Texto HTTP Protocolo de transferencia de Hyper Texto IDE Entorno de Desarrollo Integrado

ISP Proveedor de Servicio de Internet

QR Quick Response

TCP/IP Protocolo de Control de Transmisión/Protocolo de Internet TI Tecnología de Información

(18)

XVIII

ÍNDICE DE CUADROS

Cuadro N. 1 Causas y consecuencias del problema ... 8

Cuadro N. 2 Delimitación del problema de la Investigación ... 8

Cuadro N. 3 Ventajas y desventajas de los sistemas biométricos fisiológicos ... 22

Cuadro N. 4 Cuadro comparativo de los tipos de aplicaciones ... 28

Cuadro N. 5 Características de OpenCV... 35

Cuadro N. 6 Requerimientos del dispositivo móvil ... 48

Cuadro N. 7 Requerimientos del módulo Numato ... 49

Cuadro N. 8 Requerimientos de hardware para el desarrollo de la App móvil ... 49

Cuadro N. 9 Requerimientos de software ... 50

Cuadro N. 10 Presupuesto del proyecto ... 52

Cuadro N. 11 Presupuesto de mercado ... 53

Cuadro N. 12 Costos de implementación del proyecto ... 53

Cuadro N. 13 Total de la población ... 56

Cuadro N. 14 Resultados de la pregunta N° 1 de la encuesta. ... 65

Cuadro N. 15 Resultados de la pregunta N° 2 de la encuesta ... 66

Cuadro N. 16 Resultados de la pregunta N° 3 de la encuesta ... 67

Cuadro N. 17 Resultados de la pregunta N° 4 de la encuesta ... 68

Cuadro N. 18 Resultados de la pregunta N° 5 de la encuesta ... 69

Cuadro N. 19 Interfaz aplicación móvil ... 74

Cuadro N. 20 Requerimiento funcional del módulo de acceso empleados... 75

Cuadro N. 21 Requerimiento funcional módulo clientes ... 75

Cuadro N. 22 Requerimiento funcional datos de clientes ... 76

Cuadro N. 23 Requerimiento funcional restricción de acceso empleados no registrados. ... 77

Cuadro N. 24 Requerimiento funcional restricción de acceso a visita no agendada. . 78

Cuadro N. 25 Requerimiento funcional apertura de puertas ... 78

(19)

XIX Cuadro N. 27 Requerimiento funcional de reportes de acceso de clientes o empleados

mediante módulo Web. ... 80

Cuadro N. 28 Requerimiento funcional de módulo administrador ... 80

Cuadro N. 29 Cronograma del plan de prototipo de aplicación de control de acceso y asistencia ... 82

Cuadro N. 30 Hoja de control del plan de pruebas ... 107

Cuadro N. 31 Historial de versiones ... 107

Cuadro N. 32 Prueba de interfaz de usuario ... 109

Cuadro N. 33 Prueba de integración ... 109

Cuadro N. 34 Prueba de integridad de datos ... 110

Cuadro N. 35 Resultado de pruebas ... 111

Cuadro N. 36 Información de expertos a realizar la evaluación ... 116

Cuadro N. 37 Escala de evaluación... 116

Cuadro N. 38 Resultado de juicio de expertos ... 117

(20)

XX

ÍNDICE DE GRÁFICOS

Gráfico 1 Elementos de un sistema de reconocimiento de rostros... 24

Gráfico 2 Código QR con nombre de los autores ... 25

Gráfico 3 Cuota de mercado global del sistema operativo móvil ... 26

Gráfico 4 Obtención de recursos con REST frente GraphQL ... 32

Gráfico 5 Ejemplo de obtención de datos con REST ... 33

Gráfico 6 Ejemplo de obtención de datos con GraphQL ... 34

Gráfico 7 Funcionamiento general de AWS AppSync ... 36

Gráfico 8 Lenguajes más queridos por desarrolladores ... 39

Gráfico 9 Diagrama de flujo de Procesos de la Aplicación Móvil ... 55

Gráfico 10 Ciudades con el mayor número de robos a unidades económicas en Ecuador ... 59

Gráfico 11 Encuesta pregunta N° 1 ... 65

Gráfico 12 Encuesta pregunta N° 2 ... 66

Gráfico 13 Encuesta pregunta N° 3 ... 67

Gráfico 14 Encuesta pregunta N° 4 ... 68

Gráfico 15 Encuesta pregunta N° 5 ... 69

Gráfico 16 Etapas del Modelo de Prototipado ... 71

Gráfico 17 Prototipo de pantalla de inicio en la aplicación móvil ... 83

Gráfico 18 Prototipo de pantalla de identificación clientes ... 84

Gráfico 19 Diseño Inicial de Módulo Empleado ... 85

Gráfico 20 Esquema de apertura de puertas ... 86

Gráfico 21 Diagrama de Base de Datos ... 86

Gráfico 22 Esquema de Diseño del prototipo ... 89

Gráfico 23 Diagrama de actores ... 90

Gráfico 24 Diagrama de caso de uso cliente ... 91

Gráfico 25 Diagrama de caso de uso empleado ... 92

Gráfico 26 Diagrama de casos de uso administrador ... 93

(21)

XXI

Gráfico 28 Diagrama de actividades del sistema ... 95

Gráfico 29 Diseño de la aplicación móvil-módulo empleados ... 112

Gráfico 30 Diseño de la Aplicación móvil-módulo clientes ... 113

Gráfico 31 Diseño de proceso de registro de empleados ... 113

(22)

XXII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES

Aplicación móvil para control de acceso y asistencia en la empresa Ecuador on Rails mediante reconocimiento facial y códigos QR utilizando el framework

React Native Camera y tecnología Numato.

Autores: Pazmiño La Rosa Kerly Estefany

Ramírez Murrieta Guillermo Andrés

Tutor: Ing. Karla Yadira Abad Sacoto Msc.

Resumen

El presente trabajo de titulación consiste en el desarrollo de una aplicación móvil para el control de acceso y asistencia en la empresa Ecuador on Rails, mediante la lectura de códigos QR para clientes y el manejo de la asistencia de empleados con la ayuda del reconocimiento facial como método de identificación. La verificación de códigos QR y detección del rostro, es realizada haciendo uso del framework React Native Camera. Además se usó el algoritmo de identificación de patrones faciales de la librería OpenCV, con el cual se busca garantizar la identidad del trabajador que ingresa a la empresa y disminuir el riesgo que le puede ocasionar el acceso de un intruso. Adicionalmente permite mantener un mejor control de la jornada laboral de sus empleados y garantizar su productividad. El estudio fue elaborado desde una metodología descriptiva, que permitió conocer el entorno en el que se encuentra ubicada la empresa, describir los altos niveles de inseguridad de la ciudad de Guayaquil, como los delitos que se han cometido en su lugar de ubicación. En la construcción de la aplicación se usó la metodología del modelo de prototipado, cuyas etapas empiezan con la comunicación entre el cliente, esto se llevó a cabo con una entrevista para definir los requerimientos del sistema, luego se definió un cronograma de actividades a desarrollar. Posteriormente, se elaboró un diseño de la aplicación, de esta forma empezar la construcción y codificación del proyecto. Este prototipo se encontraba en constante revisión con el usuario para al final poder entregar una aplicación que cumpla con todos los requisitos especificados. Finalmente, los resultados concluyen que la aplicación proporcionará un mayor nivel de seguridad en la empresa y una mejor gestión del tiempo de sus empleados y organización de sus clientes.

(23)

XXIII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES

Mobile application for access control and assistance in the company Ecuador on Rails by face recognition and QR codes using the React

Native Camera framework and Numato technology.

Autores: Pazmiño La Rosa Kerly Estefany

Ramírez Murrieta Guillermo Andrés

Tutor: Ing. Karla Yadira Abad Sacoto Msc

Abstract

This degree work consists in the development of a mobile application for access control and assistance in the Ecuador on Rails Company, by reading QR codes for clients and managing employee assistance with the help of facial recognition such as identification method. QR code verification and face detection is done using the React Native Camera framework. In addition, the algorithm for identifying facial patterns of the OpenCV library was used, which seeks to guarantee the identity of the worker entering the company and reduce the risk that an intruder can access. Additionally, it allows maintaining a better control of the working hours of its employees and guaranteeing their productivity. The study was prepared using a descriptive methodology, which allowed us to know the environment in which the company is located, to describe the high levels of insecurity in the city of Guayaquil, such as the crimes that have been committed in their location. In the construction of the application, the prototyping model methodology was used, whose stages begin with the communication between the client, this was carried out with an interview to define the system requirements, then a schedule of activities to be developed was defined. Subsequently, an application design was developed, thus starting the construction and coding of the project. This prototype was in constant review with the user to finally be able to deliver an application that meets all the specified requirements. Finally, the results conclude that the application will provide a higher level of security in the company and better time management of its employees and organization of its customers.

(24)

1

INTRODUCCIÓN

Los robos y asaltos en la ciudad de Guayaquil han aumentado en los últimos años. De acuerdo al Ministerio del Interior del Ecuador (2019) se registraron 617 denuncias de robos a negocios y locales comerciales, en el sistema integrados de administración de fiscalías durante el año 2018, por lo cual es considerada la segunda ciudad con el mayor número de este tipo de delitos en el Ecuador, esto hace que sean cada vez más las personas que implementen controles de seguridad en sus instalaciones para de esta forma evitar ser víctimas de asaltos y robos por parte de delincuentes que ingresen sin ser vistos a sus viviendas o locales comerciales.

Sin embargo, no todas las empresas cuentan con los recursos para implementar estos controles, de ahí surge la propuesta de ofrecer una aplicación móvil para el control de acceso en la empresa Ecuador on Rails, la cual permite no solo verificar el acceso de terceros como son los clientes mediante la lectura de un código QR, sino que mantiene un mejor manejo de la asistencia de sus empleados. Además de contar con la garantía que ofrece una identificación con reconocimiento facial, lo cual le permitirá evitar riesgos como la suplantación de identidad y garantiza que cada empleado cumpla con su jornada laboral y la misma se encuentre registrada para una posterior consulta.

(25)

2

En el desarrollo de esta propuesta se implementó una metodología descriptiva, la cual permitió describir los principales sucesos que se pueden generar por la falta de un control de acceso. Además de los robos y asaltos, se puede generar un ausentismo laboral como incumplimiento de la jornada de labores por parte de los trabajadores. Todos los problemas existentes en la empresa debido a la ausencia de un control de acceso y asistencia pudieron describirse a través de una entrevista al dueño de la organización objeto de estudio, en los cuales se mencionaron interrogantes para conocer la problemática que vive este negocio al no contar con ningún sistema de seguridad de acceso y control.

El principal objetivo de esta propuesta es desarrollar una aplicación móvil para el control de acceso de clientes mediante lectura de códigos QR, e identificación y manejo de asistencia de empleados a través del reconocimiento facial, de esta forma tener un mejor manejo de las personas que ingresan a la empresa. Además, se busca proporcionar de un reporte de asistencia de empleados y visita de cliente, de acuerdo a los parámetros que solicite la empresa Ecuador on Rails.

El presente trabajo de titulación se divide en cuatro capítulos:

En el Capítulo I, se analiza la problemática que surge alrededor de la ausencia de un control de acceso y asistencia, así como los objetivos que debe cumplir nuestra aplicación para resolver estas novedades, también se establece la metodología a implementar para el estudio de la propuesta.

(26)

3

En el Capítulo III, se realiza un análisis de la investigación mediante la técnica de entrevista, además de evaluar la factibilidad del proyecto de lo cual se puede deducir si es factible su realización de manera operacional, técnica, legal y económica. En este apartado también se desarrolla la metodología de la propuesta tecnológica de la propuesta, en este caso la seleccionada fue el modelo de prototipado.

(27)

4

CAPÍTULO I

EL PROBLEMA

PLANTEAMIENTO DEL PROBLEMA

Ubicación del Problema en un Contexto

Ecuador on Rails es una pequeña empresa ubicada en la ciudadela “La Saiba”, en el sur de la ciudad de Guayaquil, dedicada a la consultoría y desarrollo de software, siendo miembro de una industria en auge y constante crecimiento. Debido a que, tal como lo menciona el último pronóstico de Gartner Inc. (2019) se espera un aumento del 8.2% en 2020, en los productos de software empresariales, dado que se ha incrementado el número de organizaciones que almacenan su información en la nube. Es así que son cada día más las empresas que visitan sus instalaciones interesadas en algunos de sus servicios.

Los proyectos de desarrollo de software, así como las consultorías ofrecidas por esta empresa, cuentan con capacitaciones que se brindan a los usuarios del producto. No obstante, en Ecuador on Rails también se cuadran reuniones adicionales para cualquier duda que surge del producto de software cuando este ya se encuentra en producción de la empresa que lo adquirió.

(28)

5

de seguridad en las entradas a las mismas, de esta manera evitar el robo o sustracción de los activos de la empresa.

Sin embargo, este tipo de medidas no suelen garantizar la protección de las instalaciones, dado que, así como las medidas de seguridad aumentan, también lo realizan los métodos utilizados por los delincuentes. El constante avance tecnológico brinda la oportunidad de idear nuevas soluciones que garanticen el control de acceso de las personas y así poder salvaguardar los bienes de la empresa y asegurar la productividad del personal.

La empresa Ecuador on Rails no cuenta con un control de las personas que acceden a las oficinas de esta organización, lo cual la convierte en vulnerable a robos o sustracción de equipos de oficina, cómputo, así como de la información de la empresa y sus clientes por partes de desconocidos, lo que hace necesario se lleve una comparación y verificación con las visitas coordinadas de los usuarios y así evitar el ingreso de intrusos.

(29)

6

Situación Conflicto Nudos Críticos

De acuerdo al informe de rendición de cuentas de la Policía Nacional, durante el 2018, en el Ecuador se registraron 5.097 robos a unidades económicas, el cual se refiera a la sustracción de bienes y dineros de una entidad dedicada a una actividad en particular, de los cuales 728 de estos delitos fueron cometidos en la Zona 8 que corresponde a las ciudades de Guayaquil, Durán y Samborondón (Ministerio del Interior del Ecuador, 2019).

El alto nivel de inseguridad que se evidencia en la ciudad de Guayaquil hace necesario que muchas empresas implementen controles y medidas de seguridad para el acceso a sus instalaciones. Sin embargo, como se ha dado a conocer por los diferentes medios de comunicación, las medidas de seguridad tales como las cámaras de vigilancia, cerraduras tradicionales entre otros no logran frenar el acceso a los delincuentes.

En el 2018, cuatro viviendas del sector en el que se encuentra ubicada la empresa, La Saiba, fueron saqueadas por los ladrones quienes sustrajeron joyas, dinero de las cajas fuertes, equipos de computación entre otros. El subteniente Marco Novillo, de la Unidad de Policía Comunitaria (UPC) de la ciudadela, confirma lo poco seguro de este lugar, donde entre las principales denuncias se encuentran los robos a domicilios (Robles, 2018).

(30)

7

Los empleados que incumplen su jornada laboral brindan un menor desempeño laboral, lo que hace que las actividades ya establecidas y planificadas se aplacen, dando como resultado final el retraso de los entregables de los diferentes proyectos concretados con sus clientes, de ahí surge la necesidad de un registro de asistencia, así como de un control de visitas de terceros para de esta forma no alterar el cumplimiento de la agenda de actividades de la empresa.

La ausencia de un reporte de visitas de clientes evita estar al tanto del motivo de ingreso de usuarios ajenos a la empresa, cuyas razones de acceso pueden ser consultas sobre los servicios que ofrecen o citas coordinadas para la capacitación del producto ya adquirido, con este informe se pueden conocer las horas que se dictan en la empresa evitando excederse de las horas acordadas en el contrato del producto de software.

La empresa Ecuador on Rails no cuenta con un sistema de control de acceso y asistencia, ya sea de manera manual o automático, lo que hace necesario una herramienta que garantice la identidad de la persona que ingresa a las oficinas de manera automática. Además, que brinde un registro de las mismas, de esta forma garantizar no solo la seguridad de las instalaciones, sino también la productividad de la empresa, así como el cumplimiento de la agenda laboral.

Causas y consecuencias del problema

(31)

8

Cuadro N. 1 Causas y consecuencias del problema

Causas Consecuencias

Escasez de medidas y políticas de seguridad de ingreso.

Accesos a personas no autorizadas. Inexistencia de sistema de acceso

automatizado en puertas.

Interrupción y distracción de personal de otras áreas que deben vigilar las puertas, sin pertenecer al personal de seguridad.

Falta de registro de asistencia de empleados.

Dificultad en control de asistencia.

Atrasos, ausencia laboral y baja

Dificultad en el control de cantidad de horas de capacitación a los clientes.

Elaboración: Kerly Pazmiño La Rosa, Guillermo Ramírez Murrieta Fuente: Datos de la Investigación

Delimitación del problema

En el Cuadro N. 2, se expresa el problema del presente proyecto en diferentes aspectos.

Cuadro N. 2 Delimitación del problema de la Investigación

Campo Informática.

Area Medidas y controles de seguridad, asistencia y jornada laboral.

Aspecto Desarrollo de una aplicación móvil.

Tema Aplicación móvil para control de acceso y asistencia en la empresa Ecuador on Rails mediante reconocimiento facial y códigos QR utilizando el framework React Native Camera y tecnología Numato.

Elaboración: Kerly Pazmiño La Rosa, Guillermo Ramírez Murrieta Fuente: Datos de la Investigación

Formulación del problema

(32)

9

permita llevar un registro de los ingresos de los clientes de manera automática?

En respuesta a la problemática formulada en la pregunta anterior, el presente proyecto de titulación propone diseñar y desarrollar una aplicación móvil para control de acceso de clientes mediante lectura de códigos QR e identificación y manejo de asistencia de empleados a través del reconocimiento facial, utilizando el framework React Native Camera y tecnología Numato.

Evaluación del problema

Delimitado: La presente investigación se lleva a cabo en la empresa de consultoría y desarrollo de software Ecuador on Rails que está ubicada en la ciudad de Guayaquil, cuyo enfoque de estudio se encuentra dirigido a los miembros de la empresa y clientes, de los cuales se necesita tener un registro para controlar el acceso y asistencia a las instalaciones.

Claro: La inexistencia de un sistema de control de acceso y asistencia en la empresa Ecuador on Rails genera riesgos de asaltos y robos por intrusos, además de incumplimiento de la jornada laboral por parte de los empleados.

Evidente: La falta de un control de seguridad en la empresa la vuelve vulnerable al acceso no autorizados de terceros, de esta forma pueden sufrir robos o hurtos de sus equipos, así como de la información de la empresa y de sus clientes.

(33)

10

una empresa a través de un solo mecanismo en una aplicación móvil con reconocimiento facial y códigos QR.

Factible: El problema de control de acceso y asistencia de la empresa se tratará a través de herramientas de fácil uso, tales como las aplicaciones móviles, que además, son de bajo costo tanto de hardware como de software.

Identifica los productos esperados: Una herramienta que proporcione mayor seguridad a los miembros de la empresa, ya que ofrece una verificación de la identidad de las personas que acceden a sus oficinas, tales como empleados o clientes. Además, permitirá obtener un reporte detallado de las visitas y asistencia de sus trabajadores.

OBJETIVOS

Objetivo General

Desarrollar una aplicación móvil utilizando el framework React Native Camera y tecnología del módulo Relé Numato para el control de acceso y manejo de la asistencia de los empleados, a través del reconocimiento facial e identificación de los clientes utilizando la verificación de códigos QR en la empresa Ecuador on Rails.

Objetivos Específicos

1. Describir el proceso de reconocimiento facial que realizará la aplicación móvil, mediante el framework React Native Camera y la librería OpenCV, detallando cada una de sus etapas.

(34)

11

patrones del reconocimiento facial con los registros existentes en una base de datos.

3. Permitir el registro de visitas de clientes a las instalaciones de la empresa Ecuador on Rails, mediante una aplicación móvil de lectura de códigos QR.

4. Proporcionar el reporte de asistencia de empleados, de acuerdo a los parámetros requeridos por la empresa Ecuador on Rails, mediante un módulo web.

ALCANCE DEL PROBLEMA

La propuesta del proyecto tiene como finalidad el desarrollo de una aplicación móvil para el control de acceso de los clientes mediante verificación de códigos QR y asistencia de empleados por medio de la identificación con reconocimiento facial, usando el framework React Native Camera y la tecnología Numato, la cual permitirá llevar el control del acceso y asistencia laboral de los trabajadores. Además, de la gestión de visitas en la empresa Ecuador on Rails, esta será una alternativa moderna con respecto a los lectores biométricos existentes.

Este prototipo será desarrollado con el framework de aplicaciones móviles de código abierto, creado por la red social Facebook, React Native, mediante el IDE Webstorm, utilizando el lenguaje de programación EcmaScript6 (ES6). Adicionalmente, se implementarán: el framework React Native Camera, que posee funcionalidades como la detección de rostros y la lectura de códigos QR y la librería OpenCV, para el reconocimiento facial. Este proyecto contará también con una base de datos que está instalada en la nube, DynamoDB, y la sincronización de datos del teléfono a la nube son servicios provisionados por Amazon Web Services.

(35)

12

La aplicación tendrá una interfaz interactiva e intuitiva desarrollada en Android, lo cual facilitará su manejo y permitirá el acceso a los empleados de Ecuador on Rails, mediante reconocimiento facial, de los cuales serán almacenados los datos de sus rostros previamente. Además del acceso de visitantes utilizando códigos QR que son enviados por correo previo a su llegada, válidos sólo para la fecha citada.

Adicionalmente se desarrollará un módulo web en Python, para la generación de reportes en formato CSV, el agendamiento de visitas por parte de los clientes y el manejo de los mismos. El ingreso de datos de empleados será realizado desde la aplicación instalada en el dispositivo móvil.

El prototipo se encuentra orientado a verificar el acceso en la empresa Ecuador on Rails y contará con el registro de otros motivos de acceso para el manejo de los empleados como son: ingreso, salida de jornada laboral, inicio y fin de almuerzo, razón por la cual se debe fomentar esta nueva política de control, por parte de los dueños de la empresa y así asegurar los registros de las salidas de sus trabajadores de una forma correcta.

Esta propuesta está dirigida únicamente a la empresa Ecuador on Rails, sin embargo, podría extenderse a más empresas o instituciones que necesiten el manejo de control de acceso y asistencia.

JUSTIFICACIÓN E IMPORTANCIA

(36)

13

clientes, de esta forma brindar mayor tranquilidad y mejorar la imagen del negocio. Además de un registro y control del personal, beneficiando tanto a gerentes como empleados y así disminuir el riesgo de suplantación de identidad.

Diseñar en la empresa un sistema de reconocimiento facial, que a través de una aplicación móvil y con la ayuda del framework React Native Camera y la librería OpenCV, pueda realizar la identificación de la persona que solicita el acceso, luego enviar dicha respuesta a la placa Numato que lleva el control de las puertas, de esta forma evitar el ingreso de personas desconocidas.

Además, se propone guardar un registro de asistencia en la base de datos que permite verificar el cumplimiento de la jornada laboral de cada empleado, así como controlar el acceso de visitas, mediante la creación de un reporte que detalle los motivos de ingresos de terceros como son las horas de capacitación previamente coordinadas con los clientes, de esta forma se evita el ingreso de intrusos, y se puede prevenir excederse de las horas de capacitación ya concretadas.

METODOLOGÍA DEL PROYECTO

(37)

14

técnica de entrevista, la misma que se planea realizar al dueño de la empresa Ecuador on Rails.

Para este proyecto se necesita una metodología que permita una constante retroalimentación con cada avance del desarrollo del sistema por lo cual se empleará la metodología de prototipo.

El prototipado es un modelo de desarrollo iterativo en el cual se elabora un diseño preliminar del prototipo, el mismo que es modificado junto al cliente. Además, permite detallar los requerimientos que se obtuvieron del cliente para luego ser presentados al usuario y buscar su aceptación (Pantaleo & Rinaudo, 2016). Es una estrategia que puede aplicarse en casi todas las actividades del proceso de software porque permite una constante modificación del modelo que se estará desarrollando, con el objetivo de que cada prueba que se realice se verifique el cumplimiento de los requisitos de usuario hasta alcanzar el producto final.

Según Pressman (2010) el paradigma de construcción de prototipos se enfoca en tres puntos primordiales:

Escuchar al cliente. Se basa en la descripción de los requerimientos del usuario para poder así establecer los objetivos de la investigación

Construir y revisar el prototipo. Este punto se basa en la elaboración del diseño del producto, y la revisión de cumplimiento de requerimientos del usuario.

Pruebas del prototipo se utiliza para comparar el modelo realizado con los requisitos del cliente.

(38)

15

Comunicación: En esta etapa se reúnen los participantes para definir los objetivos generales del software. En este proyecto se enumeraron los principales inconvenientes que genera el no poseer un sistema de control de acceso y asistencia los cuales se detallan en apartados anteriores.

Plan rápido: Con una entrevista se analizará los requerimientos principales para poder así diseñar un plan del prototipo inicial.

Modelado, diseño rápido: Esta etapa se centra en la representación de aquellos aspectos del software que serán visibles para los usuarios finales (por ejemplo, disposición de la interfaz humana o formatos de la pantalla de salida).

Construcción del prototipo: El diseño rápido lleva a la construcción de un prototipo.

Desarrollo, entrega y retroalimentación: En este punto el modelo se entrega y es evaluado por los participantes, que dan retroalimentación para mejorar los requerimientos. La iteración ocurre a medida de que el prototipo es afinado para satisfacer las necesidades de distintos participantes. Se detallan todos los cambios y errores que se visualizaron durante la creación del manual técnico, las cuales deben ser documentadas y verificadas para descartar cualquier falla del sistema.

(39)

16

CAPÍTULO II

MARCO TEÓRICO

ANTECEDENTES DE ESTUDIO

Desde hace una década la tecnología de reconocimiento facial se ha propagado rápidamente y es que, en el 2010, la red social Facebook implementó esta tecnología para ayudar a identificar los rostros de los usuarios cuyas fotos eran publicadas a diario en sus perfiles (Pillajo & Yaguana, 2018).

Esto marcó un punto de inicio para la búsqueda de nuevas funcionalidades es así que, en el 2017 Apple lanzó el IPhone X cuya principal característica era su sistema de seguridad con reconocimiento facial, la empresa en su primer trimestre de lanzamiento vendió 41.3 millones de celulares, lo que demuestra que las personas consideran el reconocimiento facial como un estándar confiable para la seguridad (Tibken, 2018).

(40)

17

componente reconocimiento facial para Torniquetes de Acceso cuyo costo supera los ochocientos dólares (Hikvision, 2018). Es de vital importancia distinguir este tipo de productos debido a que sientan un precedente sobre las principales aplicaciones de este método, además que son una muestra del constante crecimiento de la demanda y de los interese de consumidores de estos sistemas de seguridad, que no solo buscan identificar a las personas que ingresan a las instalaciones, sino además automatizar la mayor cantidad de procesos, de esta manera ayudan a disminuir la contratación de personal de vigilancia.

Los asaltos y robos, es un tema que preocupa a la mayoría de las personas, así es el caso de las instituciones educativas, como lo expresa Narea & Procel (2018), en su trabajo de titulación “Desarrollo de un prototipo de sistema basado en reconocimiento facial para la seguridad vehicular de la comunidad educativa de la carrera de Ingeniería en Sistemas Computacionales de la Universidad de Guayaquil”, cuya propuesta fue resolver el problema de robo vehicular a través de un dispositivo que controle el encendido del vehículo, este consistía en instalar un pequeño ordenador, raspberry pi 3 junto con una cámara web en cada vehículo mediante el cual se detecta el rostro del conductor, cuyos datos son enviados a la aplicación web elaborada en Python que con la ayuda de la librería OpenCV, realiza el reconocimiento facial del usuario, para permitir o denegar el encendido del vehículo.

(41)

18

Sin embargo estos tipos de sistemas ya cuentan con una base de datos establecida, lo que origina que cualquier visitante que desee ingresar, primero debe de contar con un registro en la base de datos, por esta razón se realizó el lanzamiento de QPASS, un sistema de pre-autorización, que cuenta con interfaz web y aplicaciones móvil, que permite a un usuario pueda convocar a una persona a grupo, a través de una invitación con código QR (Quick Response), pensada especialmente para personas que no requieren contar con un mecanismo de control fijo (Tecno Seguro, 2016).

Este tipo de aplicaciones, muestran la necesidad de contar con varias formas de gestionar el ingreso de las personas debido a que existen reuniones con clientes, a los cuales no se les puede exigir mantener un registro de su rostro en nuestra base de datos, sin embargo, se debe tener un control y registro de su visita.

Las diferentes propuestas detalladas, muestran que existen diferentes usos que se le pueden brindar al reconocimiento facial, así como diferentes métodos usados para el control de acceso, que se ajusten a las necesidades de cada usuario, la empresa Ecuador on Rails, al dedicarse también a la consultoría requiere no solo de un sistema de control y asistencia para sus empleados, sino también para los clientes que buscan información sobre sus servicios, de ahí se concibe la idea de funcionar ambos métodos en una sola aplicación, con hardware y software económico.

FUNDAMENTACIÓN TEÓRICA

Jornada laboral

(42)

19

cantidad de horas que el empleado desempeña dicha actividad. En Ecuador “Los contratos de trabajo deben contener detallados específicamente el horario ordinario regular que aplique al trabajador, con lo cual no requiere ninguna otra formalidad sobre este tema para su registro” (Código de Trabajo, 2018).

En el mismo código Art 45 menciona que es obligación del trabajador cumplir con las disposiciones del reglamento interno, así como el de horas de trabajo efectivas que se redacte en el contrato laboral.

El cumplimiento del código de trabajo debe de contar con un registro que sustente que tanto los empleadores como trabajadores cumplan con sus obligaciones.

Control de asistencia del personal

“Son sistemas de control de accesos que permiten llevar un registro de las entradas y salidas de los empleados en una empresa. La supervisión de la asistencia permite comprobar la puntualidad y asistencia de los trabajadores a su puesto” (Juárez, 2018).

Beneficios del control de asistencia laboral

Entre las ventajas de llevar un control de asistencia en las empresas podemos detallar los siguientes de acuerdo a Juárez (2018):

 Ayuda al manejo y control de horarios de empleados de manera eficaz.

(43)

20

 Mejorar la productividad del personal, al mantener un mayor control sobre el tiempo de trabajo de los empleados, lo cual favorece ahorrar costos en recursos humanos.

 Calcular sueldo de los empleados con respecto a los horarios de trabajo de forma eficiente.

 Monitorizar las horas extras de trabajadores, cumplir con los pagos de la misma.

Con estas características se beneficiaría la empresa al contar con un sistema de control de asistencia de sus empleados.

Control de acceso

Un control de acceso es un mecanismo o persona que tiene como principal función el impedir el libre acceso al público en general a diversas áreas que se deben encontrar protegidas, ya sea por el valor monetario de los equipos que se encuentran en ella, por considerarse un área restringida o debido a la información que se administra en este sitio (Instituto Nacional de Ciberseguridad de España, 2016).

Tipos de controles de acceso

Los tipos de controles de acceso físico, pueden ser manuales, automaticos o humanos, de acuerdo a Santos (2014) se destacan los siguientes:

 Utilización de Guardias.

 Utilización de Sistemas Biométricos.

 Verificación Automática de Firmas (VAF).

(44)

21

 Protección Electrónica.

La realización del proyecto se enfoca en el control por medio de sistemas biométricos y sus características.

Sistemas biométricos

La palabra biometría tiene su origen del griego bios (que quiere decir vida) y metria (que quiere decir medida). Estas medidas son características obtenidas de seres vivos, la cual se componen de rasgos biométricos, que pueden ser características anatómicas y del comportamiento del individuo (Crespín & Julián, 2014).

Un sistema biométrico busca el reconocimiento y la identificación de la persona con dichos rasgos, por medio de técnicas manuales o automáticas. Con este se busca comparar dichas características del individuo que se presenta, con la información almacenada previamente en una base de datos y de esta forma corroborar su identidad (Vasquez, Gómez, Flórez, & Beltrán, 2015).

Las técnicas biométricas se clasifican en función del rasgo analizado. Este puede ser: fisiológico o de comportamiento. El fisiológico se da a través del reconocimiento de huella dactilar, de iris, de retina y de rostro, entre otros. Mientras que el de comportamiento se trata del reconocimiento de voz, de firma o de la manera de andar de la persona analizar (Instituto Nacional de Ciberseguridad de España, 2016).

(45)

22

utilizados destacan: huella dactilar, reconocimiento facial, iris, retina y geometría de la mano.

Cuadro N. 3 Ventajas y desventajas de los sistemas biométricos

fisiológicos

Sistema

Biométrico Ventajas Desventajas

Huella Dactilar

Únicas de cada individuo. Son fáciles de usar. Requieren poco espacio. No invasivos y de bajo costo. Técnica muy desarrollada.

Alta calidad de imagen. Contacto físico con el sensor.

Se asocia a temas penales

Reconocimiento

Aporta información adicional de expresión del rostro.

El rostro puede ser tapado por otros objetos.

Cambios por la edad,

Sensible a los cambios en la luz

Iris

No hay necesidad de contacto. Es un órgano interno y protegido, por lo que tiene menor probabilidad de sufrir lesiones

Intrusivo.

Difícil captura de imagen. Mayor entrenamiento y atención

Elaboración: Kerly Pazmiño La Rosa, Guillermo Ramírez Murrieta Fuente: Arantxa Mora, (2016)

Sistema automatizado

(46)

23

o maquinaria especializada, es decir con la poca intervención o sin intervención directa de la mano de obra humana (Gómez, 2018).

Reconocimiento facial

El reconocimiento facial es una solución de autenticación biométrica que utiliza algoritmos para reconocer personas en función de sus características fisiológicas, ha ganado una atención significativa debido a la disponibilidad de tecnologías viables, como las soluciones móviles, los sistemas de biométricos, entre otros. Estos permiten identificar automáticamente a persona en una imagen digital (Wójcik, Gromaszek, & Junisbekov, 2016).

Esta solución será empleada en la siguiente propuesta dado que es una forma de autenticación alternativa en los sistemas de acceso y asistencia, ya que, tradicionalmente, se utilizan lectores biométricos de huellas digitales. Además de ser una solución económica y escalable en función de su algoritmo.

(47)

24

Gráfico 1 Elementos de un sistema de reconocimiento de rostros

Elaboración: Raúl Nassib Hidalgo Veliz Fuente: Hidalgo, (2017)

Códigos QR

El nombre código QR (Quick Response) viene del inglés y significa código de respuesta rápida. Los códigos QR almacenan la información utilizando patrones de puntos negros y espacios en blanco dentro de una cuadricula. Este tipo de código a diferencia del código de barra tradicional puede almacenar hasta más 7000 caracteres, con diferentes usos, desde abrir una URL de una página web, promociones, organización de inventario, entradas y boletos de viaje, etc. Estas formas son ilegibles para los humanos, pero por medio de un teléfono móvil y un lector de códigos QR podemos descifrarla (Peralta, 2015).

(48)

25

almacenar una gran cantidad de caracteres y el hecho de que las personas estás familiarizadas a este tipo de medio de identificación de acceso.

A continuación en el Gráfico 2, se muestra un ejemplo de código QR con los nombres de los autores.

Gráfico 2 Código QR con nombre de los autores

Elaboración: Guillermo Ramírez Murrieta Fuente: Datos de la investigación.

Aplicación móvil

Una App móvil es una aplicación de software pensada para dispositivos móviles y tabletas. El término App es una abreviatura de la voz inglesa application y tiende a utilizarse para referirse a una aplicación informática para dispositivos móviles y tabletas (Cuello & Vittone, 2013).

Existen diferentes sistemas operativos para el desarrollo de aplicaciones móviles entre ellos tenemos: Android, iOS, Windows Phone entre otros. Para el desarrollo de la siguiente propuesta se seleccionó el sistema operativo Android.

Sistema operativo Android

(49)

26

inteligentes, siendo precedido por iOS con un 23% (Paul, 2019). Este sistema fue desarrollado por Google, para dispositivos móviles con Kernel de Linux, su idioma nativo es Java.

En el Gráfico 3, se describe como se encuentra dividido en el mercado global los sistemas operativos para dispositivos móviles. Dónde hasta inicios del 2019, Android se encuentra instalado en más del 74% de dispositivos móviles distribuidos a nivel mundial, seguido de lejos por iOS con un 23.3%.

Gráfico 3 Cuota de mercado global del sistema operativo móvil

Elaboración: Business Insider

Fuente: George Paul, Business Insider sitio web (2019)

Tipos de aplicaciones móviles

(50)

27

Aplicación móvil nativa

Las aplicaciones nativas se encuentran desarrolladas en los lenguajes de programación nativo que ofrece cada sistema operativo, aprovechando todo el potencial del hardware. Es así que, Android, iOS y Windows Phone tienen uno diferente y las aplicaciones nativas se diseñan y programan dependiendo de la plataforma (Serna & Pardo, 2016).

Aplicación móvil Hibrida

Las aplicaciones móviles hibridas son aquellas que fusionan un lenguaje de programación como HTML5, CSS o JavaScript con diversas tecnologías del propio sistema operativo del dispositivo. Este tipo de aplicaciones puede ser implementada en diferentes sistemas operativos móviles, tales como Android, iOS o Windows Phone (Serna & Pardo, 2016).

Aplicación móvil Web

Este tipo de aplicación utiliza en su totalidad tecnología web, empleando lenguajes de desarrollo como HTML, CSS y JavaScript, además de un framework para las aplicaciones web. Brinda acceso a la información desde cualquier dispositivo, ya que solo se necesita contar con un navegador para acceder la misma (Artica, 2014).

(51)

28

Cuadro N. 4 Cuadro comparativo de los tipos de aplicaciones

Tipo de

 Necesitan aprobación para ser publicadas en la plataforma.

 El costo de desarrollo puede ser menor que el de una nativa

 Son multiplataforma

 Permite distribución.

 La documentación puede ser un poco escasa y desordenada.

Elaboración: Kerly Pazmiño La Rosa, Guillermo Ramírez Murrieta Fuente: Pedro Pimienta, sitio web Zenva (2014)

Framework

Un framework es un conjunto de librerías, herramientas y normas a seguir que ayudan a desarrollar aplicaciones, estos están compuestos por varios segmentos que interactúan los uno con los otros, las aplicaciones pueden escribirse de manera eficaz si se utiliza esta herramienta (Lafosse, 2010).

React Native

(52)

29

usuario, pero en lugar de dirigirse al navegador, se dirige a plataformas móviles. (Eisenman, 2015)

Este framework usa una técnica que realiza llamadas asincrónicas al sistema operativo donde se ejecuta la aplicación, que llama a las API de widget nativas. Esto permite construir aplicaciones móviles que se ven como aplicaciones verdaderamente nativas usando una biblioteca de JavaScript y la API de React para diseño de aplicaciones web (Rauno, 2018).

Debido a que la mayoría del código que escribe puede compartirse entre plataformas, React Native facilita el desarrollo simultáneo para Android y iOS. (Eisenman, 2015).

Este framework fue elegido por el hecho que permite usar código nativo cuando se necesite ya que permite combinar los componentes escritos en Objective-C para iOS y Java para Android esto ayuda a simplificar los procesos de desarrollo y a optimizar funciones. Además de ofrecer una gran comodidad para el desarrollo ya que su lenguaje de programación ECMAScript posee una documentación vasta.

Bibliotecas y componentes de React Native

React Native tiene una gran comunidad detrás de él, así que hay un montón de librerías y componentes que puede utilizar. Sin embargo, se van a detallar sus áreas principales: navegación, administración del estado, animaciones, bibliotecas y componentes comúnmente usados.

(53)

30

incorporados como pila Navigator, Navigator ficha y cajón Navigator” (Ancheta, 2017).

React Native cuenta con dos herramientas para actualizar y administrar estado de la aplicación estos son: MobX, es la más simple debido a que posee una corta curva de aprendizaje; mientras que su otro componente Redux, proporciona directrices estrictas sobre cómo manejar estados y es recomendable para proyectos más grandes y robustos (Ancheta, 2017).

Este framework cuenta con un sinnúmero de componentes que permiten varias funciones como, que el usuario interactúe con un calendario tal es el caso de React-Native-calendar; integrar Google Maps en sus aplicaciones con la ayuda de react-native-maps. También brinda la opción de tomar fotos y videos a través de la aplicación con la ayuda del componente React-Native-camera.

React Native Camera

Es una librería creada por la comunidad de React Native en 2015, con 281 colaboradores y 29 liberaciones, la cual como dice el nombre sirve para el uso de la cámara de un dispositivo móvil permitiendo realizar varias acciones con esta, como: tomar fotografías, grabar videos, reconocimiento facial, escaneo de códigos (1D y 2D) y reconocimiento de texto.

(54)

31

ECMAScript

ECMAScript es una especificación de lenguaje de scripting que está estandarizada por ECMA internacional en ECMA-262. Es común confundir ECMAScript con JavaScript o TypeScript, que no es más que una implementación, se trata de un dialecto, de ECMA-262. ECMA-262 tiene 5 predecesores, lo que significa que es la sexta edición de la Normalización. La versión 6 también se conoce como ECMAScript 2015 (Ölund, 2016).

REST

REST (Representational State Transfer) es un conjunto de restricciones que ayuda a obtener un estilo de software que usando HTTP pueda obtener datos o generar operaciones sobre esos datos en todos los formatos posibles, como XML, JSON, HTTP, etc (Arsaute, Zorzan, Daniele, González, & Frutos, 2018).

GraphQL

GraphQL es un framework propuesto recientemente, y cada vez más adoptado, para proporcionar un nuevo tipo de interfaz de acceso a datos en la Web. El marco incluye un nuevo lenguaje de consulta cuya semántica se ha especificado únicamente de manera informal (Pérez, 2018).

(55)

32

GraphQL puede trabajar con cualquier plataforma, permite desarrollar en más de 20 lenguajes, además de optimizar tiempo, traslada la información del servidor al cliente (Mendéz, 2019).

Para la obtención de recursos con un API REST, se debe realizar varias solicitudes con varios viajes de ida y vuelta, mientras que con GraphQL se realiza una única consulta al servidor con todas las peticiones; como se esquematiza en el Gráfico 4.

Gráfico 4 Obtención de recursos con REST frente GraphQL

Elaboración: Sashko Stubailo Fuente: Stubailo, (2017)

Obtención de datos con REST vs GraphQL

Con una API REST, como se detalla en Gráfico 5, normalmente recopilaría los datos accediendo a múltiples puntos finales. En el siguiente ejemplo, estos podrían ser:

(56)

33

para un usuario. El tercer punto final será el /users/<id>/followers que devuelve una lista de seguidores por usuario.

Gráfico 5 Ejemplo de obtención de datos con REST

Elaboración: Sashko Stubailo

Fuente: Stubailo, (2018) obtenido de How To Graphql,

Con REST se debe realizar tres solicitudes para obtener los datos requeridos, los puntos devuelven información adicional que no es necesaria.

(57)

34

describe la estructura de la respuesta del servidor, la cual sigue precisamente la estructura anidada definida en la consulta.

Gráfico 6 Ejemplo de obtención de datos con GraphQL

Elaboración: Sashko Stubailo

Fuente: Stubailo, (2018) obtenido de How To Graphql,

OpenCV

(58)

35

Cuadro N. 5 Características de OpenCV

Fuente abierta OpenCV es de código abierto y se publica bajo la Licencia BSD de 3 cláusulas. Es gratis para uso comercial.

Multiplataforma Es una biblioteca altamente optimizada con enfoque en aplicaciones en tiempo real.

Optimizado Las interfaces C ++, Python y Java son compatibles con Linux, MacOS, Windows, iOS y Android.

Elaboración: Kerly Pazmiño La Rosa, Guillermo Ramírez Murrieta Fuente: OpenCV, sitio web oficial, (2019).

OpenCV se encuentra en la versión 4.1.1 liberada el 26 de julio del 2019, de acuerdo a su sitio web oficial, esta versión cuenta con la clase de FaceRecognizer para el reconocimiento facial, por esta razón se consideró el uso de esta librería para el desarrollo de la propuesta.

AWS AppSync

AppSync es una plataforma basada en la nube para las API GraphQL. No tiene servidor, por lo que no se pierde tiempo configurando la infraestructura. Se paga solo lo que se consume, por lo que no se necesita una inversión inicial ahorrando miles de dólares en costos de TI, desarrollando resoluciones con plantillas, ofreciendo datos en tiempo real, soporte y sincronización fuera de línea para aplicaciones y mucho más. (Biehl, 2019)

(59)

36

En el Gráfico 7, se muestra un esquema general del funcionamiento de AWS App Sync.

Gráfico 7 Funcionamiento general de AWS AppSync

Elaboración: Amazon Web Services

Fuente: Amazon Web Services, Sitio web oficial, (2019).

Base de Datos

La base de datos es un conjunto de colecciones de información, de tal manera que facilita ingresar de forma accesible, gestionada y actualizada, en una sola vista. Una base de datos se puede clasificar de acuerdo a su contenido: bibliográfico, texto, numérico y de imagen (Rouse, 2015).

DynamoDB

Amazon DynamoDB es una base de datos NoSQL totalmente administrada y alojada en la nube. DynamoDB proporciona un rendimiento rápido y predecible con la capacidad de escalar a la perfección. Le permite almacenar y recuperar cualquier cantidad de datos, sirviendo a cualquier nivel de tráfico de red sin tener ninguna carga operativa. (Deshpande, 2015)

(60)

37

Además de ser una de las bases de datos utilizadas por grandes empresas como por ejemplo Netflix. “DynamoDB puede gestionar más de 10 billones de solicitudes por día y admite picos de más de 20 millones de solicitudes por segundo” (Amazon Web Services, 2019).

Beneficios de DynamoDB

Rendimiento a escala

DynamoDB proporciona tiempo de respuestas en milisegundos, además permite crear aplicación con capacidad de almacenamiento y procesamiento prácticamente ilimitada (Amazon Web Services, 2019).

Sin servidor

Al tener su servicio en la nube, evita proceso de administración de servidores, DynamoDB configurar las tablas para ajustar a su capacidad de manera automática (Amazon Web Services, 2019).

Listo para el uso empresarial

(61)

38

Python

Es un lenguaje de programación similar a Pearl, cuya creación se realizó a principios de los años 90 por Guido van Rossum. Python es un lenguaje multiparadigma, es decir permite varios estilos de programación y su principal característica es la simplicidad de su código (Chazallet, 2016).

Según Narea & Procel (2018) entre las principales características de Python se pueden denotar las siguientes:

 Permite desarrollar cualquier tipo de programa.

 Es compatible con cualquier sistema.

 Es un lenguaje interpretado,

 Soporta la programación orientada a objetos.

 Permite crear programas con componentes reutilizables.

 Posee funciones incorporadas en el propio lenguaje, para el tratamiento de strings, números, archivos, etc.

 Su sintaxis es visualmente interpretada, debido a su notación identada.

(62)

39

Gráfico 8 Lenguajes más queridos por desarrolladores

Elaboración: StackOverflow

Fuente: StackOverflow, Developer Survey Results (2019)

Python es utilizado para el desarrollo del módulo necesario para la integración del sistema utilizado en la empresa Ecuador on Rails con la plataforma de AWS AppSync y la reporteria de las asistencias.

Módulo Relé

(63)

40

Para el desarrollo de la propuesta y control de la cerradura de la puerta se empleará un módulo de relé de estado sólido USB de 2 canales de la tecnología Numato, el cual cuenta con las siguientes características.

 2 relés de estado sólido a bordo.

 Corriente de conmutación máxima de 3A.

 4 GPIO compatibles con TTL (3.3V).

 4 canales de entrada analógica (multiplexados con GPIO).

 Resolución de entrada analógica de 10 bits.

 Interfaz USB con soporte CDC. Tan fácil como usar un puerto serie, no se requiere conocimiento de USB.

 Contactos de relé disponibles en terminales de tornillo de fácil acceso.

 No se requieren bibliotecas o API específicas del proveedor.

 Se puede controlar mediante el uso de aplicaciones de consola serie estándar o aplicaciones personalizadas.

 Se puede alimentar desde USB o fuente de alimentación externa.

Odoo

Es un software de gestión de planificación de recursos empresariales (ERP), consta con un sinnúmero de aplicaciones que buscan cubrir las necesidades de las pequeñas, medianas y grandes empresas. Es de código abierto que permite ajustar y modificar sus aplicaciones, de acuerdo a las necesidades de su cliente (Odoo, 2019).

Figure

Gráfico 1 Elementos de un sistema de reconocimiento de rostros
Gráfico 5 Ejemplo de obtención de datos con REST
Cuadro N. 5 Características de OpenCV
Gráfico 8 Lenguajes más queridos por desarrolladores
+7

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba

En suma, la búsqueda de la máxima expansión de la libertad de enseñanza y la eliminación del monopolio estatal para convertir a la educación en una función de la

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

6 Para la pervivencia de la tradición clásica y la mitología en la poesía machadiana, véase: Lasso de la Vega, José, “El mito clásico en la literatura española

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Busca-se analisar os desafios da aproximação entre médico e paciente numa relação intermediada pela telemedicina e como a tecnologia assistiva pode (e deve) contribuir para