Universidad Autónoma de Madrid Escuela politécnica superior Trabajo de fin de máster Desarrollo de una infraestructura para el escaneado y clasificación de documentos mediante dispositivos móviles inteligentes Máster Universitario en Ingeniería Informática Autor: Natalia Roales González Tutor: David Arroyo Guardeño Fecha: Febrero 2017 Desarrollo de una infraestructura para el escaneado y clasificación de documentos mediante dispositivos móviles inteligentes AUTOR: Natalia Roales González TUTOR: David Arroyo Guardeño Dpto. de Ingeniera Informática Escuela Politécnica Superior Universidad Autónoma de Madrid Febrero 2017 Resumen Uno de los mayores retos en la actualidad es la adecuada combinación de movilidad y fácil acceso a la información. Dentro de este fácil acceso a la información es de especial relevancia el contar con métodos para la dataficación de la información. Dicha dataficación ha de partir de la digitalización de contenidos. En este proyecto se presenta una solución para efectuar tal digita- lización y favorecer el posterior proceso de dataficación. Con objeto de favorecer su usabilidad y adaptabilidad se ha optado por una solución híbrida, esto es, un producto software que permite digitalizar documentos desde cualquier tipo de dispositivo móvil. Palabras clave Digitalización, aplicaciones móviles híbridas, OCR, LDA, node.js, ionic. 5 Abstract One of the biggest challenges at the moment is the adequate combination of mobility and easy-accesstoinformation.Regardingthislastconcern,it’sveryimportanttohavesomemethod to conduct datafication. The first step in datatification is document digitalization. This project proposes a solution to carry out such a digitalization in order to foster the latter datafication. For the sake of usability and adaptability, in this project we have adopted an hybrid software solution to enable documents digitalization from any type of mobile device. Key words Digitalization, hybrid mobile applications, OCR, LDA, node.js, ionic. Índice general Resumen 5 Abstract 6 Glosario vii 1. Introducción 1 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Estado del arte 4 2.1. Plataformas móviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Digitalización de documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3. Almacenamiento de contenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3. Análisis del problema 9 3.1. Requisitos funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2. Requisitos no funcionales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4. Diseño de la plataforma 11 4.1. El stack tecnológico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2. La API de servicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 i 4.3. La base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.4. La interfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.5. Desarrollo guiado por pruebas: TDD . . . . . . . . . . . . . . . . . . . . . . . . . 21 5. Implementación de la solución 23 5.1. El lado del servidor o Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2. Definición de las rutas de los servicios . . . . . . . . . . . . . . . . . . . . . . . . 24 5.3. Digitalización y etiquetado de contenidos . . . . . . . . . . . . . . . . . . . . . . . 25 5.4. Integrando el servidor con base de datos . . . . . . . . . . . . . . . . . . . . . . . 26 5.5. Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.5.1. Secure Socket Layers (SSL) . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.5.2. Token de autenticación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.5.3. Sanitización de entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.6. Programación en el lado del cliente o Frontend . . . . . . . . . . . . . . . . . . . 32 6. Pruebas 37 7. Conclusiones 39 7.1. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.2. Valoración personal y dificultades encontradas . . . . . . . . . . . . . . . . . . . . 39 7.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Referencias 41 A. Interfaz de usuario 42 ii Índice de figuras 4.1. Ciclo del desarrollo guiado por pruebas. . . . . . . . . . . . . . . . . . . . . . . . 22 5.1. Arquitectura del servidor NodeJS. . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.2. Proceso de digitalización y etiquetado de documentos. . . . . . . . . . . . . . . . 26 A.1. Formulario de inicio de sesión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 A.2. Lista de las etiquetas asignadas a todos los documentos. . . . . . . . . . . . . . . 44 A.3. Lista de documento correspondientes a la ‘Etiqueta 2’. . . . . . . . . . . . . . . . 45 A.4. Contenido de ‘Documento 3’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 A.5. Menú de la aplicación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 A.6. Vista de cámara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 A.7. Lista de etiquetas sugeridas por la función de etiquetado. . . . . . . . . . . . . . 49 A.8. Selección de título. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 iii Índice de tablas 2.1. Cuota de mercado en dispositivos móviles (Q4 de 2016) . . . . . . . . . . . . . . 5 iv
Description: