INSTITUTO POLITÉCNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE INGENIERÍA Y CIENCIAS SOCIALES Y ADMINISTRATIVAS APLICACIÓN WEB Y MÓVIL PARA LA ADMINISTRACIÓN DE CAMPAÑAS DE MARKETING CON SENSORES DE PROXIMIDAD T E S I N A QUE PARA OBTENER EL TÍTULO DE I N G E N I E R O E N I N F O R M Á T I C A P R E S E N T A N FRANCISCO JAVIER HERNÁNDEZ CASTILLO RAÚL LÓPEZ SÁNCHEZ FERNANDO PACHECO NAVARRO QUE PARA OBTENER EL TÍTULO DE LICENCIADO EN CIENCIAS DE LA INFORMÁTICA P R E S E N T A LUZEMMA GONZÁLEZ DÍAZ BARRIGA CIUDAD DE MÉXICO 2018 No. DE REGISTRO: N7.300 ÍNDICE Resumen……………………………………………………………………………………….………………i Introducción……………………………………………………………………………………………..……ii Capítulo I Marco Metodológico ........................................................................................................ 1 1.1 Título del proyecto ......................................................................................................................... 1 1.2 Planteamiento del problema.......................................................................................................... 1 1.3 Pregunta de investigación ............................................................................................................. 2 1.4 Objetivo general ............................................................................................................................ 2 1.5 Objetivos específicos .................................................................................................................... 2 1.6 Justificación ................................................................................................................................... 2 1.7 Hipótesis ........................................................................................................................................ 6 1.8 Tipo de investigación ..................................................................................................................... 6 1.9 Técnicas de investigación a emplear ............................................................................................ 7 1.10 Aportación de la carrera a la investigación ................................................................................. 7 1.10.1 Aporte de la carrera de Ingeniería en Informática............................................................ 7 1.10.2 Aporte de la carrera de Licenciatura en Ciencias de la Informática ................................ 7 Capítulo II Marco referencial ............................................................................................................ 8 2.1 Aplicaciones de marketing ............................................................................................................ 8 2.2 Historia de Android ........................................................................................................................ 8 2.3 Versiones actuales de Android...................................................................................................... 9 Capítulo III Marco teórico ............................................................................................................... 10 3.1 Sistema informático ..................................................................................................................... 10 3.2 Tipos de sistema informáticos ..................................................................................................... 10 3.3 Aplicaciones Web ........................................................................................................................ 12 3.3.1 Tipos de Aplicaciones Web .............................................................................................. 12 3.4 Aplicaciones móviles ................................................................................................................... 14 3.4.1 Tipos de Aplicaciones Móviles ......................................................................................... 14 3.5 ¿Que es la publicidad? ................................................................................................................ 16 3.5.1 Tipos de publicidad .......................................................................................................... 16 3.6 Java ............................................................................................................................................. 17 3.6.1 Máquina virtual de Java ................................................................................................... 18 3.6.2 Descripción a grandes rasgos API Java SE 8 ................................................................. 18 3.6.3 Descripción a grandes rasgos de la API Java EE 7 ........................................................ 20 3.6.4 Contenedor de aplicaciones web ..................................................................................... 22 3.7 Desarrollo Móvil con Android ...................................................................................................... 23 3.8 ASP.NET / C# ............................................................................................................................. 23 3.8.1 C# y sus propiedades en sus versiones más recientes ................................................... 23 3.8.2 ASP.NET .......................................................................................................................... 23 3.9 .NET y Java EE tabla comparativa ............................................................................................. 24 3.10 Patrón de diseño ....................................................................................................................... 25 3.10.1 Patrón de diseño Modelo Vista Controlador .................................................................. 25 3.10.2 Patrón de diseño Singleton ............................................................................................ 26 3.10.3 Patrón de diseño Factorías ............................................................................................ 26 3.11 Cómputo en la nube .................................................................................................................. 27 3.11.1 Tipos de servicios en la nube ......................................................................................... 27 3.11.2 Microsoft Azure .............................................................................................................. 28 3.12 Servicios web ............................................................................................................................ 28 3.13 SQL ........................................................................................................................................... 29 3.13.1 Procedimientos almacenados ........................................................................................ 30 3.14 Beacons sensores de proximidad ............................................................................................. 30 3.14.1 Estándares de comunicación ......................................................................................... 30 3.14.2 Importancia del Identificador del iBeacon ...................................................................... 31 3.15 Metodología de SCRUM ........................................................................................................... 31 3.16 UML ........................................................................................................................................... 35 3.16.1 Diagramas de clase ........................................................................................................ 36 3.16.2 Diagramas de casos de uso ........................................................................................... 36 Capitulo IV Resultados y Análisis de la Información .................................................................. 38 4.1 Análisis de los Resultados de la Investigación ........................................................................... 38 4.2 Conclusiones de Análisis ............................................................................................................ 38 4.3 Definición de requerimientos funcionales y no funcionales ........................................................ 38 4.4 Descripción de las aplicaciones a crear ...................................................................................... 40 4.5 Costos de la aplicación ............................................................................................................... 41 Capítulo V Desarrollo de la aplicación con SCRUM .................................................................... 42 5.1 Nombre del desarrollo ................................................................................................................. 42 5.2 Meta global del desarrollo ........................................................................................................... 42 5.3 Definición de roles ....................................................................................................................... 42 5.4 Definición de las reuniones de SCRUM ...................................................................................... 43 5.5 Pila de producto inicial ................................................................................................................ 43 5.6 Definición de los Sprint ................................................................................................................ 44 5.6.1 Definición de metas de cada uno de los Sprint ................................................................ 44 5.6.2 Pilas de producto por cada Sprint .................................................................................... 45 5.6.3 Fechas de entrega para cada Sprint ................................................................................ 46 5.7 Diagrama de GANTT ................................................................................................................... 49 5.8 Arquitectura del proyecto ............................................................................................................ 50 5.9 Diagrama de Casos de Uso ........................................................................................................ 51 5.9.1 Caso de uso UC1: Acceso al Sistema ............................................................................. 52 5.9.2 Diagrama de secuencias de UC1..................................................................................... 53 5.9.3 Casos de uso UC2: Menú opciones ................................................................................. 53 5.9.4 Diagrama de secuencias de UC2..................................................................................... 54 5.9.5 Casos de uso UC3.1: Registrar un Beacon ..................................................................... 54 5.9.6 Diagrama de secuencias de UC3.1 ................................................................................. 55 5.9.7 Casos de uso UC7.1: Creación de campañas ................................................................. 56 5.9.8 Diagrama de secuencias de UC7.1 ................................................................................. 57 5.9.9 Caso de uso UC8: Responde a un evento de cercanía de localización .......................... 57 5.9.10 Caso de uso UC9: Responde a evento de cercanía de localización ............................. 58 5.9.11 Caso de uso UC10: Histórico de Notificaciones ............................................................ 58 5.9.12 Diagrama de secuencias de UC10 ................................................................................ 58 5.10 Diagrama de clases ................................................................................................................... 59 5.11 Bases de datos .......................................................................................................................... 62 5.11.1 Creación de un Base de datos SQL Azure .................................................................... 62 5.11.2 Diagrama entidad relación de la base de datos Microsoft Azure................................... 64 5.11.3 Diccionario de datos SQL de Microsoft Azure ............................................................... 66 5.12 Descripción de código ............................................................................................................... 70 5.12.1 Descripción de código de un Procedimiento Almacenado ............................................. 70 5.12.2 Descripción de código de un alta-modificación de un Beacon ...................................... 70 5.12.3 Descripción de código de la consulta de las sucursales ................................................ 71 5.12.4 Descripción de código del consumo del Servicio Web en la aplicación móvil ............... 72 5.13 Pruebas ..................................................................................................................................... 73 5.14 Despliegue................................................................................................................................. 77 5.14.1 Diagrama de despliegue ................................................................................................ 77 5.14.2 Procedimiento para realizar el despliegue de una aplicación REST en Azure .............. 78 5.15 Manual de operación ................................................................................................................. 83 5.15.1 Manual de usuario (Aplicación Móvil) ............................................................................ 83 5.15.2 Manual de usuario (Aplicación Web) ............................................................................. 88 Conclusiones ................................................................................................................................. 104 Bibliografía ..................................................................................................................................... 105 Anexos ............................................................................................................................................ 107 Índice de Imágenes Figura 1.1 Horas de uso de internet por tipo dispositivo……………………………………….………….3 Figura 1.2 Lugares donde comúnmente se utiliza el internet………………………………-……………4 Figura 1.3 Porcentajes sobre si las personas llevan un dispositivo móvil al salir………………………..4 Figura 1.4 Porcentajes de cómo se sienten atraídas las personas por la publicidad…………..………5 Figura 1.5 Actividades más rentables en el marketing digital……………………………………..………6 Figura 3.1 Modo de operación de máquina Virtual de Java……………………………………….…….18 Figura 3.2 JSM…………………...…………………………………………………………………….…….22 Figura 3.3 Elementos de ASP .NET………………………………………………………………….…….24 Figura 3.4 Modelo Vista controlador……………………………………………………………………….25 Figura 3.5 Patrón de diseño Singleton……………………………………………………….…………….26 Figura 3.6 Patrón de diseño factorías………………………………………………………….…………..26 Figura 3.7 Cloud Computing……...………………………………………………………….……………..27 Figura 3.8 Servicios proporcionados por Microsoft Azure………………………………………….……34 Figura 3.9 Aplicación metodología SCRUM………………………………………………………………35 Figura 3.10 Ejemplo de Diagrama de Clases…………………………….……………………………….36 Figura 3.11 Notaciones de los Diagramas de Uso…………….……...…………………………………37 Figura 5.1 Diagrama de Gantt………………………………………………………………………………49 Figura 5.2 Arquitectura del proyecto……………………………………………………………………….50 Figura 5.3 Casos de uso aplicación completa…………………………………………………………….51 Figura 5.4 Acceso al Sistema……………………………………………………………………………….52 Figura 5.5 Diagrama de secuencias de UC1………………………………………………………………53 Figura 5.6 Caso de uso Menú opciones…………………………………………………………………...53 Figura 5.7 Diagrama de secuencias de UC2………………………………………………………………54 Figura 5.8 Caso de Uso para registrar un Beacon………………………………………………..………54 Figura 5.9 Diagrama de secuencias de UC3.1……………………………………………………………55 Figura 5.10 Caso de Uso para Crear una campaña de publicidad……………………………………..56 Figura 5.11 Diagrama de secuencias de UC7.1………………………………………………….……….57 Figura 5.12 Caso de Uso Smartphone responde a un evento de cercanía…………………………....57 Figura 5.13 Caso de Uso Smartphone responde a un evento de cercanía……………………………58 Figura 5.14 Caso de Uso Histórico de notificaciones…………………………………………………….58 Figura 5.15 Diagrama de secuencias de UC10…………………………………………………………...58 Figura 5.16 Diagrama de clases aplicación web………………………………………………………….59 Figura 5.17 Diagrama de clases aplicación web REST………………………………………………….60 Figura 5.18 Diagrama de clases aplicación móvil……..…………………………………………………61 Figura 5.19 Menú SQL…...………………………………………………………………………………….62 Figura 5.20 Botón agregar base de datos…………………………………………………………………62 Figura 5.21 Formulario nueva base de datos……………………………………………………………..62 Figura 5.22 Información general de base de datos……………………………………………………….63 Figura 5.23 Configuración de firewall………………………………………………………………………64 Figura 5.24 Diagrama Entidad Relación…...………………………………………………………………65 Figura 5.25 Descripción del código de un Procedimiento Almacenado………………………………..70 Figura 5.26 Descripción del código del procedimiento GuardaBeacon…………………………..……71 Figura 5.27 Descripción del código del procedimiento CargaSucursales………………………………72 Figura 5.28 Descripción del código para obtener la Cadena Comercial en la aplicación móvil……..73 Figura 5.29 Diagrama de despliegue………………………………………………………………………77 Figura 5.30 Instalación Visual Studio………………………………………………………………………78 Figura 5.31 Creación de proyecto web…………………………………………………………………….78 Figura 5.32 Tipo de proyecto web………………………………………………………………………….79 Figura 5.33 Inicio por default de aplicación web después del despliegue……………………………..79 Figura 5.34 Publicación de aplicación web………………………………………………………………..80 Figura 5.35 Publicación de aplicación web en Azure…………………………………………………….80 Figura 5.36 Configuración de publicación en Azure………………………………………………………81 Figura 5.37 Configuración del plan de servicios Azure…………………………………………………..82 Figura 5.38 Creación servicio web REST………………………………………………………………….82 Figura 5.39 Inicio por default de servicio web REST, después del despliegue……………………….83 Figura 5.40 Icono aplicación móvil…………………………………………………………………………84 Figura 5.41 Carga de aplicación móvil…………………………………………………………………….84 Figura 5.42 Solicitud de activación de Bluetooth…………………………………………………………84 Figura 5.43 Pantalla principal aplicación móvil…………………………………………………………...85 Figura 5.44 Notificación de la aplicación móvil……………………………………………………………85 Figura 5.45 Listado o Historial de Notificaciones…………………………………………………………86 Figura 5.46 Secciones del detalle de cada Notificación………………………………………………….87 Figura 5.47 Sección de Preferencias………………………………………………………………………88 Figura 5.48 Guardar preferencias………………………………………………………………………….88 Figura 5.49 Mensaje de confirmación aplicación móvil…………………………………………………..88 Figura 5.50 Pantalla de Login de aplicación web…………………………………………………………89 Figura 5.51 Mensaje de éxito en Autenticación………………………………………………………..…89 Figura 5.52 Mensaje de error en Autenticación…………………………………………………………..89 Figura 5.53 Pantalla principal de administrador web……………………………………………………..90 Figura 5.54 Menú de administrador web…………………………………………………………………..90 Figura 5.55 Barra de usuario de administrador web…………………………………………………..…90 Figura 5.56 Mensaje de bienvenida de administrador web……………………………………………...91 Figura 5.57 Pantalla de listado de Cadenas Comerciales……………………………………………….91 Figura 5.58 Pantalla para agregar una Cadena Comercial………………………………………………91 Figura 5.59 Mensaje de éxito al guardar la Cadena Comercial…………………………………………92 Figura 5.60 Pantalla para editar una Cadena Comercial…………………………………………………92 Figura 5.61 Pantalla de listado de Sucursales…………………………………………………………….92 Figura 5.62 Pantalla para agregar una Sucursal………………………………………………………….93 Figura 5.63 Pantalla para editar una Sucursal…………………………………………………………….94 Figura 5.64 Pantalla de listado de Departamentos……………………………………………………….95 Figura 5.65 Pantalla para agregar un departamento……………………………………………………..95 Figura 5.66 Pantalla para editar un Departamento………………………………………………………96 Figura 5.67 Pantalla de listado de Campañas……………………………………………………………97 Figura 5.68 Pantalla para agregar una campaña………………………………………………………...97 Figura 5.69 Pantalla para editar una campaña…………………………………………………………...98 Figura 5.70 Pantalla de listado de Beacons…………………………………………………………….....99 Figura 5.71 Pantalla para agregar un Beacon…………………………………………………………….99 Figura 5.72 Pantalla para editar un Beacon……………………………………………………………...100 Figura 5.73 Pantalla de listado de Beacons relacionados a una Campaña………………………….101 Figura 5.74 Pantalla para agregar una relación Beacon-Campaña………………………………..…102 Figura 5.75 Pantalla para editar una relación Beacon-Campaña……………………………………..102 Figura 5.76 Script SQL……………………………………………………………………………….…….107
Description: