APLICACIÓN WEB BASADO EN MACHINE LEARNING PARA EL FORTALECIMIENTO DE LA GESTIÓN Y LOGÍSTICA

Page 1

PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO

Dirección de Postgrados

APLICACIÓN WEB BASADO EN MACHINE LEARNING PARA EL FORTALECIMIENTO DE LA GESTIÓN Y LOGÍSTICA DE SERVICIO A DOMICILIO EN LA EMPRESA MOBILFOODS DE LA PROVINCIA SANTO DOMINGO DE LOS TSÁCHILAS Trabajo de Titulación previo a la obtención del título de Magíster en Tecnologías de la Información Modalidad Proyecto de titulación con componente de investigación aplicada y/o desarrolloMTI

Línea de Investigación: Tecnologías de la información y la comunicación.

Autoría: SANDRA PATRICIA SÁNCHEZ RAMÍREZ EDWIN DAVID VILLAMARÍN ROJAS Dirección: Mg. WILLIAN JAVIER OCAMPO PAZOS Santo Domingo – Ecuador Julio, 2021


PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO

Dirección de Postgrados

HOJA DE APROBACIÓN APLICACIÓN WEB BASADO EN MACHINE LEARNING PARA EL FORTALECIMIENTO DE LA GESTIÓN Y LOGÍSTICA DE SERVICIO A DOMICILIO EN LA EMPRESA MOVILFOODS DE LA PROVINCIA SANTO DOMINGO DE LOS TSÁCHILAS

Línea de Investigación: Tecnologías de la información y la comunicación. Autoría: SANDRA PATRICIA SÁNCHEZ RAMÍREZ EDWIN DAVID VILLAMARÍN ROJAS

Willian Javier Ocampo Pazos, Mg.

DIRECTOR DE TRABAJO DE TITULACIÓN Rodolfo Sirilo Córdova Gálvez, Mg.

CALIFICADOR Fausto Ernesto Orozco Iguasnia, Mg. CALIFICADOR Yullio Cano De La Cruz, Mg.

DIRECTOR DE POSTGRADOS

Santo Domingo – Ecuador Julio, 2021


iii

DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD Yo, SANDRA PATRICIA SÁNCHEZ RAMÍREZ portador de la cédula de ciudadanía No. 1719820357 y EDWIN DAVID VILLAMARÍN ROJAS portador de la cédula de ciudadanía No. 080217220-5 declaramos que los resultados obtenidos en la investigación que presentamos como informe final, previo la obtención del Título de Magíster en Tecnologías de la Información son absolutamente originales, auténticos y personales. En tal virtud, declaramos que el contenido, las conclusiones y los efectos legales y académicos que se desprenden del trabajo propuesto de investigación y luego de la redacción de este documento son y serán de nuestra sola y exclusiva responsabilidad legal y académica. Igualmente declaramos que todo resultado académico que se desprenda de esta investigación y que se difunda, tendrá como filiación la Pontificia Universidad Católica del Ecuador, Sede Santo Domingo, reconociendo en las autorías al director del Trabajo de Titulación y demás profesores que amerita. Estas publicaciones presentarán el siguiente orden de aparición en cuanto a los autores y coautores: en primer lugar, a los estudiantes autores de la investigación; en segundo lugar, al director del trabajo de titulación y, por último, siempre que se justifique, otros colaboradores en la publicación y trabajo de titulación.

Ing. Edwin Villamarín Rojas CI. 080217220-5

Ing. Sandra Sánchez Ramírez C.I. 1719820357


iv

INFORME DE TRABAJO DE TITULACIÓN ESCRITO DE POSTGRADO Yullio Cano De La Cruz, Mg. Dirección de Postgrados Pontificia Universidad Católica del Ecuador Sede Santo Domingo De mi consideración, Por medio del presente informe en calidad del director/a del Trabajo de Titulación de Postgrado de

MAESTRÍA EN TECNOLOGÍAS DE LA INFORMACIÓN,

titulado APLICACIÓN WEB

BASADO EN MACHINE LEARNING PARA EL FORTALECIMIENTO DE LA GESTIÓN Y LOGÍSTICA DE SERVICIO A DOMICILIO EN LA EMPRESA MOBILFOODS DE LA PROVINCIA SANTO DOMINGO DE LOS TSÁCHILAS realizado por la maestrante: Sandra Patricia Sánchez Ramírez con cédula: No 1719820357 y el maestrante: Edwin David Villamarín Rojas con cédula: No 080217220-5, previo a la obtención del Título de Magíster en Tecnologías de la Información, informo que el presente trabajo de titulación escrito se encuentra finalizado conforme a la guía y el formato de la Sede vigente. Santo Domingo, 19 de julio de 2021 Atentamente,

Mg. Willian Javier Ocampo Pazos Profesor Titular Auxiliar I


v

AGRADECIMIENTOS A Dios, por darme paciencia, sabiduría, empatía, salud y alivio en los momentos que más lo he necesitado. A mí hermana Verónica Beatriz Sánchez Ramírez que me motivó a seguir estudiando la Maestría en Tecnología de la información y me ha ayudado con consejos en la realización de esta documentación. Sandra Patricia Sánchez Ramírez A Dios por brindarme vida, salud y la capacidad para desarrollar con éxito el presente trabajo de titulación. A mi padre Edwin Villamarín Córdova, por ser mi guía espiritual y ofrecerme en todo momento su apoyo incondicional y a mi compañera de tesis Sandra Sánchez por su entusiasmo y trabajo conjunto. Edwin David Villamarín Rojas A la empresa Mobilfoods por la predisposición y el tiempo empleado al brindar la información requerida para el desarrollo de este trabajo de titulación de maestría. Al Ph.D. en Artes y Educación Hishochy Delgado Mendoza por colaborar en validar los instrumentos de recolección de información como experto en el área de Investigación Al PhD en Comunicación Internacional Andrés García Umaña por ayudarnos a validar los instrumentos de recolección de información como experto en el área de Marketing Al Mg. en Gerencia Educativa y Maestrante en Estadística Aplicada por ayudarnos a validar los instrumentos de recolección de información como experto en el área de Estadística Al Mg. Wilian Ocampo a quien expresamos nuestra eterna gratitud por sus enseñanzas, paciencia, comprensión y apoyo. Sandra Patricia Sánchez Ramírez, Edwin David Villamarín Rojas


vi

DEDICATORIA

A Dios porque he tenido todo el tiempo, amor, paciencia espacio y vida para continuar con mis objetivos. A mi padre Jorge Agustín Sánchez Ramírez y a mi madre Rosa Flor María Ramírez Cevallos, porque sin ellos no estaría en este momento donde estoy. A mi hermana Mg. Verónica Sánchez por estar pendientes en mi progreso profesional. A mi hija que es el motor de mi vida, por la cual estoy creciendo profesionalmente Sandra Patricia Sánchez Ramírez A la memoria de madre, Patricia Rojas Delgado, a mi padre Edwin Villamarín Córdova y su esposa Ximena Andrade. A mis hermanos Sara Patricia, Querles Steeven, Joseph Gustavo y Edwina Juseth, los quiero mucho. Edwin David Villamarin Rojas


vii

RESUMEN En el Ecuador la venta online con entrega a domicilio está tomando un impulso considerable, las nuevas estructuras comerciales en Internet están impactando al comercio tradicional. La empresa Mobilfoods se dedica a la entrega a domicilio y se determinó que existe un deficiente seguimiento de las rutas y frecuencias en los pedidos, demora en las entregas, errores de cálculo de cobros, y por último poca interacción originando insatisfacción de sus clientes. En esta investigación se empleó un enfoque cuanti-cualitativo y el tipo de investigación aplicada y descriptiva. Los resultados se dividieron en tres apartados: en el primero se obtuvo los requerimientos necesarios mediante entrevistas; en el segundo resultado se analizó el mejor algoritmo de machine learning para la predicción de tendencias en compras y se implementó el algoritmo K vecinos más cercanos; en el tercer resultado se implementó la aplicación web basados en machine learning, que fue desarrollada en el lenguaje PHP, con un gestor de base de datos MySQL, JavaScript y Bootstrap. Se realizó un pre-test (sin machine learning) y un post-test (con machine learning) mediante la aplicación de la encuesta a los 882 clientes. Se empleó un análisis de Chi-cuadrado para validar la hipótesis alternativa, determinando que la aplicación web basado en machine learning influye significativamente en la gestión y logística de servicio a domicilio en la empresa Mobilfoods de la provincia Santo Domingo de los Tsáchilas. Palabras clave: Aplicación web; Machine learning; Comercio electrónico; Gestión Logística.


viii

ABSTRACT In Ecuador, online sales with home delivery are gaining considerable momentum; new Internet business structures are having an impact on traditional commerce. The company Mobilfoods is dedicated to home delivery and it was determined that there is a deficient monitoring of routes and frequencies in the orders, delay in deliveries, errors in the calculation of charges, and finally little interaction originating dissatisfaction of its customers. This research used a quantitative-qualitative approach and the type of applied and descriptive research. The results were divided into three sections: in the first one, the necessary requirements were obtained through interviews; in the second result, the best machine learning algorithm for the prediction of trends in purchases was analyzed and the nearest neighboring K algorithm was implemented; in the third result, the web application based on machine learning was implemented, which was developed in PHP language, with a MySQL database manager, JavaScript and Bootstrap. A pre-test (without machine learning) and a post-test (with machine learning) were performed by applying the survey to the 882 customers. A Chi-square analysis was used to validate the alternative hypothesis, determining that the web application based on machine learning significantly influences the management and logistics of home delivery service in the company Mobilfoods in the province of Santo Domingo de los Tsáchilas. Keywords: Web application; Machine learning; E-commerce; Logistics management.


ix

ÍNDICE DE CONTENIDOS 1.

INTRODUCCIÓN.............................................................................................. 1

1.1.

Antecedentes ........................................................................................................ 1

1.2.

Delimitación del problema ................................................................................... 2

1.3.

Formulación y sistematización del problema ....................................................... 3

1.3.1.

Formulación del problema. .................................................................................. 3

1.3.2.

Sistematización del problema. Preguntas específicas. ......................................... 3

1.4.

Justificación de la investigación........................................................................... 3

1.5.

Objetivos de la investigación ............................................................................... 5

1.5.1.

Objetivo general. .................................................................................................. 5

1.5.2.

Objetivos específicos. .......................................................................................... 5

2.

REVISIÓN DE LA LITERATURA ................................................................. 6

2.1.

Fundamentos teóricos........................................................................................... 6

2.1.1.

Aplicación web ..................................................................................................... 7

2.1.1.1.

Servidores web ..................................................................................................... 7 Servidores Apache ............................................................................................... 7 Internet Information Servers ( IIS) ....................................................................... 7 Tomcat.................................................................................................................. 8

2.1.1.2.

Accesibilidad web ................................................................................................ 8 Principios.............................................................................................................. 9 Pautas ................................................................................................................... 9 Criterios de Conformidad ................................................................................... 10 Técnicas .............................................................................................................. 10

2.1.1.3.

Lenguajes de Programación ............................................................................... 10 Lenguajes de programación Back-end ............................................................... 10 Lenguajes de programación Front-End .............................................................. 11


x 2.1.1.4.

Bases de datos .................................................................................................... 11 Tipos de Bases de Datos .................................................................................... 11 Motores de Bases de Datos ................................................................................ 11

2.1.2.

Machine Learning .............................................................................................. 11

2.1.2.1.

Importancia Machine Learning .......................................................................... 12 Comercio Electrónico ......................................................................................... 12 Machine learning en las finanzas ....................................................................... 12

2.1.2.2.

Clasificación de Machine Learning ................................................................... 13 Aprendizaje Supervizado ................................................................................... 13 Clasificación del aprendizaje supervisado ......................................................... 13

2.1.2.3.

Tipos de Algoritmos de regresión ...................................................................... 13 Regresión Lineal ................................................................................................ 14 Regresión polinomial ......................................................................................... 14

2.1.2.1.

Tipos de Algoritmos de Clasificación ................................................................ 14 Regresión logística ............................................................................................. 14 K-Nearest Neighbors .......................................................................................... 14

2.1.3.

Gestión Logística ............................................................................................... 15

2.1.3.1.

Logística y Distribución de mercadería ............................................................. 15 Importancia de la logística ................................................................................. 15 La Cadena Logística ........................................................................................... 15 Tipos de logísticas .............................................................................................. 16 Costos de Logística ............................................................................................ 16

2.1.3.2.

Infraestructura logística ...................................................................................... 16 Seguimiento y localización ................................................................................ 16 E-Business .......................................................................................................... 17

2.1.3.3.

Servicio al Cliente .............................................................................................. 17


xi Encuestas de Satisfacción .................................................................................. 17 Calidad de servicio ............................................................................................. 17 2.2.

Predicción Científica .......................................................................................... 18

3.

METODOLOGÍA DE LA INVESTIGACIÓN ............................................. 19

3.1.

Enfoque, diseño y tipo de investigación ............................................................ 19

3.2.

Población y muestra ........................................................................................... 20

3.3.

Operacionalización de las variables ................................................................... 22

3.4.

Técnicas e instrumentos de recogida de datos ................................................... 24

3.5.

Técnicas de análisis de datos.............................................................................. 24

4.

RESULTADOS ................................................................................................. 25

4.1.

Primer Resultado: Necesidades de la empresa en la gestión y logística ............ 25

4.1.1.

Resultados de la entrevista dirigida al jefe del departamento de Tics ............... 25

4.1.1.1.

Discusión de los resultados de la entrevista ....................................................... 26

4.1.2.

Resultados de la entrevista al jefe del departamento de Gestión Logística ....... 26

4.1.2.1.

Discusión de los resultados de la entrevista ....................................................... 27

4.1.3.

Diagrama de actividades .................................................................................... 28

4.1.4.

Resultados de las encuestas ................................................................................ 28

4.1.4.1.

Discusión de los resultados de las encuestas...................................................... 34

4.2.

Segundo Resultado: Algoritmo machine learning ............................................. 34

4.2.1.

Tabla comparativa de los algoritmos de regresión para machine learning ........ 34

4.2.2.

Tabla comparativa de los algoritmos de clasificación para machine learning ... 36

4.3.

Tercer Resultado: Desarrollar de la aplicación web........................................... 37

4.3.1.

Acrónimo de la aplicación web .......................................................................... 37

4.3.2.

Scrum ................................................................................................................. 38

4.3.3.

Primer Sprint ...................................................................................................... 38

4.3.3.1.

Planificación del primer Sprint .......................................................................... 38


xii Roles ................................................................................................................... 38 Arquitectura de software .................................................................................... 39 Parametrización .................................................................................................. 39 Product Backlog ................................................................................................. 39 Estimación .......................................................................................................... 40 Velocidad de desarrollo...................................................................................... 40 Fertilización cruzada .......................................................................................... 41 Escenarios de prueba .......................................................................................... 41 Gestión de Incidencias ....................................................................................... 41 Sprint backlog 1 ................................................................................................. 41 4.3.3.2.

Reuniones diarias del Sprint 1............................................................................ 42 Historia de usuario 1: Ingreso de categorías ...................................................... 43 Historia de usuario 2: Visualización de categorías y subcategorías .................. 45 Historia de usuario 3: Ingreso de tiendas ........................................................... 48 Historia técnica 1: Usabilidad ............................................................................ 50 Historia técnica 2: Accesibilidad ....................................................................... 50 Gráfico de trabajo pendiente .............................................................................. 50

4.3.3.3.

Revisión del primer sprint .................................................................................. 51

4.3.3.4.

Retrospectiva del primer sprint .......................................................................... 51

4.3.4.

Segundo Sprint ................................................................................................... 52

4.3.4.1.

Planificación del segundo Sprint ........................................................................ 52 Segundo sprint backlog ...................................................................................... 52

4.3.4.2.

Reuniones diarias del Sprint 2............................................................................ 53 Historia de usuario 4: Administración de tiendas .............................................. 53 Historia de usuario 5: Ingreso de productos ....................................................... 60 Historia de usuario 6: Administración de productos .......................................... 62


xiii Gráfico de trabajo pendiente .............................................................................. 65 4.3.4.3.

Revisión del segundo sprint ............................................................................... 66

4.3.4.4.

Retrospectiva del segundo sprint ....................................................................... 66

4.3.5.

Tercer Sprint....................................................................................................... 66

4.3.5.1.

Planificación del tercer sprint............................................................................. 66

4.3.5.2.

Tercer sprint backlog.......................................................................................... 67

4.3.5.3.

Reuniones diarias del Sprint 3............................................................................ 68 Historia de usuario 7: Ingreso de categorías de productos ................................. 68 Historia de usuario 8: Administración de categorías de productos .................... 69 Historia de usuario 9: Implementación Machine Learning en aplicativo .......... 73 Gráfico de trabajo pendiente .............................................................................. 77

4.3.5.1.

Revisión del tercer sprint ................................................................................... 78

4.3.5.2.

Retrospectiva del tercer sprint ............................................................................ 78

4.4.

Validación de la hipótesis .................................................................................. 78

5.

DISCUSIÓN...................................................................................................... 80

6.

CONCLUSIONES Y RECOMENDACIONES ............................................. 82

6.1.

Conclusiones ...................................................................................................... 82

6.2.

Recomendaciones ............................................................................................... 83

7.

REFERENCIAS BIBLIOGRÁFICAS ........................................................... 84

8.

ANEXOS ........................................................................................................... 93

Anexo I. Carta de aprobación, tabla de recursos y cronograma. ............................................. 93 Anexo II. Consentimiento informado, carta de impacto, árbol del problema.......................... 94 Anexo III. Validación de los instrumentos de investigación por experto de Marketing ......... 95 Anexo IV. Validación de los instrumentos de investigación por experto de Investigación .... 99 Anexo V. Validación de los instrumentos de investigación por experto estadístico ............. 100 Anexo VI. Evidencia de las encuestas, entrevistas y acta de entrega .................................... 101


xiv Anexo VII. Historias de usuario y escenarios de prueba. ...................................................... 102 Anexo VIII. Pruebas de aceptación primer Sprint ................................................................. 104 Anexo IX. Pruebas de aceptación segundo Sprint ................................................................. 106 Anexo X. Pruebas de aceptación tercer Sprint....................................................................... 108 Anexo XI. Evidencias de post test ......................................................................................... 110 Anexo XII. Manual de usuario y técnico ............................................................................... 111 Anexo XIII. Registro de capacitación .................................................................................... 116

ÍNDICE DE FIGURAS

Figura 1. Aplicación Web .......................................................................................................... 6 Figura 2. Machine Learning ....................................................................................................... 6 Figura 3. Gestión Logística ........................................................................................................ 6 Figura 4. Diagrama de actividades del proceso de gestión logística ....................................... 28 Figura 5. Tiempo que se ha utilizado el servicio en meses ...................................................... 29 Figura 6. Frecuencia que experimentan problemas en el servicio ........................................... 30 Figura 7. Productos y servicios que solicitan........................................................................... 30 Figura 8. Satisfacción del cliente con el servicio de entregas .................................................. 31 Figura 9. Probabilidad que vuelva a usar el servicio ............................................................... 32 Figura 10. Interés de clasificación de preferencias .................................................................. 32 Figura 11. Género .................................................................................................................... 33 Figura 12. Edad ........................................................................................................................ 33 Figura 13. Logo de la aplicación web ...................................................................................... 37 Figura 14. Control de incidencias con Jira.php........................................................................ 41 Figura 15. Diseño de ingreso Categoría ................................................................................... 43


xv Figura 16. Código fuente addnewcategory_view.php ............................................................. 43 Figura 17. Código fuente Restaurant_controller.php ............................................................... 43 Figura 18. Código fuente form-wizards-validation.demo.min.js ............................................. 44 Figura 19. Tabla fooddelivery_category .................................................................................. 44 Figura 20. Prueba unitaria nueva categoría.............................................................................. 44 Figura 21. Prueba de conexión añadir categoría ...................................................................... 44 Figura 22. Visualización de categorías .................................................................................... 45 Figura 23. Extracto de código category_view.php .................................................................. 45 Figura 24. Código fuente creación de tabla fooddelivery_subcategory .................................. 45 Figura 25. Código fuente función getcategoryallbyCity() ....................................................... 46 Figura 26. Código fuente de llamada al controlador en category_view_php .......................... 46 Figura 27. Código fuente de la interfaz de edición de categoría editcategory_view.php ........ 46 Figura 28. Código fuente de la función editcategorydetail () en el controlador ...................... 47 Figura 29. Código fuente del llamado al controlador desde editcategory_view.php............... 47 Figura 30. Código fuente fichero deletecategory.php .............................................................. 47 Figura 31. Código fuente de la función en Ajax deletecategory.php....................................... 47 Figura 32. Pruebas unitarias edición de categorías .................................................................. 48 Figura 33. Prueba de envío de parámetros ............................................................................... 48 Figura 34. Código fuente de interfaz de ingreso de tiendas. .................................................... 48 Figura 35. Código fuente de la tabla fooddelivery_restaurant() .............................................. 49 Figura 36. Código fuente de la función SQL restaurant_create_restaurant_in_city() ............. 49 Figura 37. Código fuente del llamado al controlador desde addrestaurant.php....................... 49 Figura 38. Pruebas unitarias de ingreso de restaurante ............................................................ 49 Figura 39. Guía Heurística ....................................................................................................... 50 Figura 40. Test de accesiblidad web ........................................................................................ 50 Figura 41. Gráfico de trabajo pendiente del Sprint 1 ............................................................... 51


xvi Figura 42. Diseño de la interfaz de Administración de tiendas ............................................... 54 Figura 43. Código fuente del diseño de la interfaz de Administración de tiendas .................. 54 Figura 44. Desarrollo de la tabla SQL fooddelivery_city ........................................................ 54 Figura 45. Desarrollo de la tabla SQL fooddelivery_restaurant .............................................. 54 Figura 46. Desarrollo de la tabla SQL fooddelivery_bookorder ............................................. 55 Figura 47. Ttabla SQL fooddelivery_category ........................................................................ 55 Figura 48. Desarrollo de la tabla SQL fooddelivery_category_res ......................................... 55 Figura 49. Desarrollo de las tablas SQL fooddelivery_menu .................................................. 55 Figura 50. Desarrollo de las tablas SQL fooddelivery_review. ............................................... 56 Figura 51. Desarrollo de la función getrestaurant() en el controlador. .................................... 56 Figura 52. Desarrollo de la funcionalidad getrestaurant() ....................................................... 56 Figura 53. Diseño - fichero editrestaurant_view.php............................................................... 57 Figura 54. Código fuente del diseño de la interfaz -editrestaurant_view.php ......................... 57 Figura 55. Desarrollo de la función editrestaurantdetail en el controlador.............................. 57 Figura 56. Desarrollo de la función editrestaurantdetail en el controlador.............................. 57 Figura 57. Funcionalidad para acceder a los métodos de edición de locales. .......................... 58 Figura 58. Método deletecategorymul() en el controlador delerestaurant_controller.php. ..... 58 Figura 59. Método deletemenuandsubmenu()-delerestaurant_controller.php ......................... 58 Figura 60. Método deletefoodorder() en el controlador delerestaurant_controller.php........... 59 Figura 61. Método deleteresreview () en el controlador delerestaurant_controller.php .......... 59 Figura 62. Método deleterestaurant ()-controlador delerestaurant_controller.php .................. 59 Figura 63. Fichero deleterestaurant.php usando Ajax-eliminar tiendas. ................................. 60 Figura 64. Función deleterestaurant con Ajax-eliminación de tiendas. ................................... 60 Figura 65. Prueba unitaria de edición de restaurante E ........................................................... 60 Figura 66. Diseño del formulario flotante para ingreso de productos ..................................... 61 Figura 67. Código fuente diseño formulario flotante-ingreso de productos ............................ 61


xvii Figura 68. Código fuente SQL para la creación de la tabla fooddelivery_submenu ............... 61 Figura 69. Código fuente de la función addnewsubmenu en el controlador ........................... 61 Figura 70. Código fuente de la funcionalidad en submenú_view que llama al controlador .... 62 Figura 71. Prueba unitaria de edición de producto .................................................................. 62 Figura 72. Diseño de la interfaz de administración de productos ............................................ 62 Figura 73. Código fuente del diseño de la interfaz de administración de productos ............... 62 Figura 74. Desarrollo-getsubmenubyid() en el restaurant_controller.php ............................... 63 Figura 75. Desarrollo de la funcionalidad-getsubmenubyid() en el controlador ..................... 63 Figura 76. Diseño de la interfaz Editar producto menu_view.php .......................................... 63 Figura 77. Código fuente del Diseño de la interfaz Editar producto en menu_view.php ........ 63 Figura 78. Desarrollo de la función editsubmenudetail- restaurant_controller.php ................ 64 Figura 79. Desarrollo de la funcionalidad - editsubmenudetail() ............................................ 64 Figura 80. Desarrollo de la función deletesubmenu() en Ajaxcontroller.php.......................... 65 Figura 81. Desarrollo del fichero Ajax/deletesubmenu.php-deletesubmenu() ........................ 65 Figura 82. Desarrollo de la función deletemenu() en la vista menu_view.php ....................... 65 Figura 83. Prueba unitaria de edición de producto .................................................................. 65 Figura 84. Gráfico de trabajo pendiente del Sprint 2 ............................................................... 66 Figura 85. Diseño de la interfaz de ingreso de categorías de productos .................................. 68 Figura 86. Código fuente Diseño-interfaz-ingreso-categorías- productos ............................... 68 Figura 87. Código fuente de creación de la tabla fooddelivery_menu en SQL ....................... 68 Figura 88. Desarrollo addnewmenu() en el controlador restauntant.php ................................. 69 Figura 89. Desarrollo-funcionalidad-addnewmenu() del controlador restaurant.php ............. 69 Figura 90. Prueba unitaria categorías de productos. ................................................................ 69 Figura 91. Diseño de la interfaz administración de categorías ................................................ 70 Figura 92. Código fuente diseño de la interfaz administración ............................................... 70 Figura 93. Desarrollo de la funcionalidad getallmenu() .......................................................... 70


xviii Figura 94. Desarrollo de la funcionalidad que llama a la función getallmenu()...................... 70 Figura 95. Diseño de la interfaz de edición de categoría. ........................................................ 71 Figura 96. Código fuente de interfaz de edición de categoría ................................................. 71 Figura 97. Desarrollo de la función editmenudetail() .............................................................. 71 Figura 98. Desarrollo de la funcionalidad para editar menú en menu.php .............................. 71 Figura 99. Desarrollo de la función deletemenu() en el controlador ajaxcontroller.php ......... 72 Figura 100. Desarrollo del fichero Ajax/deletemenu.php ........................................................ 72 Figura 101. Código fuente llama al fichero delemenu.php ...................................................... 72 Figura 102. Prueba unitaria edición categoría de producto ..................................................... 73 Figura 103. Diseño de la interfaz de administración de anuncios ........................................... 73 Figura 104. Código fuente del diseño de la interfaz administración de anuncios ................... 73 Figura 105. Código fuente de creación de la tabla fooddelivery_advertisement ..................... 74 Figura 106. Desarrollo de la funcionalidad para listar y filtrar los anuncios ........................... 74 Figura 107. Diseño de la interfaz registro de anuncios ............................................................ 74 Figura 108. Código fuente del Diseño de la interfaz registro de anuncios .............................. 74 Figura 109. Función addnewadvertisement() en restaurant_controller.php ........................... 75 Figura 110. Desarrollo de la funcionalidad que llama a la función addnewadvertisement() .. 75 Figura 111. Diseño de la interfaz edición de anuncios ............................................................ 75 Figura 112. Código fuente HTML diseño de la interfaz edición de anuncios ......................... 75 Figura 113. Desarrollo de la función updatedvisement() - ajaxcontroller.php ........................ 76 Figura 114. Desarrollo-fichero editadvertisement.php-llama al updatedvisement() ............... 76 Figura 115. Desarrollo del fichero editadvisement a través de Ajax ....................................... 76 Figura 116. Desarrollo deleteadvertisement() en el controlador ajaxcontroller.php ............... 76 Figura 117. Desarrollo del fichero deleteadvisement.php que llama al controlador ............... 77 Figura 118. Desarrollo del fichero deleteadvisement a través de Ajax ................................... 77 Figura 119. Prueba unitaria de edición de anuncio .................................................................. 77


xix Figura 120. Gráfico de trabajo pendiente del Sprint 3 ............................................................. 78 Figura 121. Carta de Aceptación ............................................................................................. 93 Figura 122. Tabla de recursos .................................................................................................. 93 Figura 123. Cronograma .......................................................................................................... 93 Figura 124. Consentimiento informado ................................................................................... 94 Figura 125. Carta de impacto ................................................................................................... 94 Figura 126. Árbol del problema ............................................................................................... 94 Figura 127. Acta de entrega ................................................................................................... 101 Figura 128. Evidencia de la reunión con el Product Owner y el Scrum Team ...................... 105 Figura 129. Evidencia de la reunión con el Product Owner y el Scrum Team ...................... 107 Figura 130. Evidencia de la reunión con el Product Owner y el Scrum Team ...................... 109

ÍNDICE DE TABLAS

Tabla 1. Muestra de la Empresa MobilFoods .......................................................................... 20 Tabla 2. Operacionalización de la variable independiente ...................................................... 22 Tabla 3. Operacionalización de la segunda variable independiente ........................................ 22 Tabla 4. Operacionalización de la variable dependiente ......................................................... 23 Tabla 5. Expertos en validación de los instrumentos de recolección de información ............. 29 Tabla 6. Tabla comparativa de algoritmos de Machine Learning ........................................... 35 Tabla 7. Tabla comparativa de algoritmos de Machine Learning ........................................... 36 Tabla 8. Roles Scrum ............................................................................................................... 39 Tabla 9. Parametrización ......................................................................................................... 39 Tabla 10. Product Backlog v1.3 .............................................................................................. 40 Tabla 11. Product Backlog Técnico ......................................................................................... 40


xx Tabla 12. Velocidad de desarrollo ........................................................................................... 40 Tabla 13. Sprint backlog .......................................................................................................... 42 Tabla 14. Segundo Sprint backlog ........................................................................................... 52 Tabla 15. Tercer Sprint backlog............................................................................................... 67 Tabla 16. Chi-cuadrado para los indicadores en función de la aplicación web ....................... 79


1

1.

INTRODUCCIÓN

1.1. Antecedentes En este mundo globalizado según Hernández, Hernández y Olguín (2020) existen nuevas estructuras comerciales en Internet impactando al comercio tradicional. Muchas empresas empiezan a ser arrastradas por el cambio en el área de gestión y logística, necesitan implementar sistemas eficientes para los procesos con los que se desempeñan. Se debe aprovechar las herramientas TIC’S por su evolución tecnológica constante y automatizar los procesos de acuerdo al giro del negocio. Algunos estudios realizados sobre el uso de aplicaciones web han dado resultados positivos. Flores, Carrasco, Montenegro y Rizo (2018) propusieron en la Facultad Regional Multidisciplinaria (FAREM Estelí) de la Universidad Nacional Autónoma de Nicaragua, en el "Centro de Investigación en Innovación y Emprendimiento" (CIIEMP) utilizar aplicaciones web para la gestión del trabajo. Como resultado, aumentó el número de candidatos en la bolsa de trabajo, lo que facilita la selección de los graduados y la integración en el mercado laboral. Además, Reyes, Ramos, Jiménez, Ramos, y Jiménez (2018). Desarrollaron una aplicación web para la gestión de la información en la Escuela de Capacitación de la Construcción en Pinar del Río, Cuba (GESCAP). Como resultado, obtuvieron mejoras en el proceso de gestión y control de la información de sus datos generales, lo que facilitó la labor administrativa. Y por último, Jones, Motta y Alderete (2016) desarrollaron un estudio en Argentina a 139 MIPYME de Córdoba. Donde se utilizó como base las tecnologías de la información para construir un modelo de ecuación estructural, analizando como variables la “Estrategia de TIC y control de gestión”. Los resultados muestran que las variables intermedias tienen un impacto positivo directo e indirecto en el desempeño de la organización económica de las pequeñas, medianas y microempresas. (MIPYME).


2

1.2. Delimitación del problema La pandemia del COVID-19 ha traído como resultado un aumento en la incidencia de compras online en los habitantes de Colombia. Las empresas colombianas vieron al comercio electrónico como una oportunidad de reactivar sus negocios para lograr comercializar sus productos y servicios. Si bien las ventas de Colombia, en la primera semana de distanciamiento social obligatorio cayeron a 46% en comparación con la última semana de febrero de 2020, la industria continuó creciendo en los siguientes meses de abril y mayo, con una tasa de crecimiento anual promedio de 12% semanal. (CCCE, 2020). Así también, en un estudio desarrollado en Ecuador por la Universidad Espíritu Santo (UEES) en la última semana de mayo de 2020. Se realizó una encuesta a 1226 personas, donde se evidenció que los consumidores electrónicos antes de la llegada de COVID-19, eran el 6%, en la pandemia aumentó el uso del comercio electrónico y se incrementó al 14 %. Y durante el mes de junio las compras crecieron del 19 % al 40%. Así también se realizó la encuesta a gerentes, directores, presidentes y otros altos cargos de 126 empresas. Entre los datos recogidos se prevé que con el COVID-19 el 40 % de las empresas encuestadas utilizarán servicio de delivery. (UEES, 2020). Por otra parte, MobilFoods es una empresa delivery, cuya actividad principal es el servicio de entregas a domicilio de productos a través de una aplicación móvil, el primer semestre de 2020 trajo consigo una afiliación masiva de nuevos locales y el registro de nuevos clientes, este crecimiento no planificado originó dificultades en la cadena de distribución y errores administrativos. Cabe considerar que en Ecuador la empresa MobilFoods tiene operación en tres ciudades del Ecuador. En Santo Domingo la empresa cuenta con 1800 clientes, de los cuales el 9% han realizado pedidos más de una vez y sólo el 3% son clientes frecuentes. Luego de la visita a la empresa MobilFoods, se pudo evidenciar el ineficiente manejo y control de las actividades diarias de los repartidores, esto implica errores en los cálculos de pagos en las comisiones. Además, el bajo control y seguimiento de las rutas y frecuencias en los pedidos da como resultado demora en las entregas, es decir no existe una planificación de la entrega en relación a la ubicación de los usuarios y el número de pedidos. Por último, existe poca interacción entre el cliente y la empresa que conlleva el poco uso concurrente del servicio, originando pérdida de fidelidad de sus clientes de manera no agresiva.


3 Luego de analizar y estudiar toda la problemática planteada, se determinó el deficiente control de gestión y logística de servicios a domicilio de la empresa MobilFoods en la provincia de Santo Domingo de los Tsáchilas.

1.3. Formulación y sistematización del problema 1.3.1. Formulación del problema. ¿Cómo se puede fortalecer la gestión y logística de pedidos a domicilio en la empresa MobilFoods de la Provincia Santo Domingo de los Tsáchilas? 1.3.2. Sistematización del problema. Preguntas específicas. ¿Qué información se requiere para determinar las necesidades que tiene la empresa MobilFoods en la gestión logística? ¿Qué aspectos son precisos para la creación de una aplicación web a través del algoritmo machine learning? ¿Qué solución TICS se aplicaría para el fortalecimiento de la gestión y logística de la empresa MobilFoods?

1.4. Justificación de la investigación El trabajo de titulación se plantea de acuerdo a la Constitución de la República del Ecuador, en el Título I, articulo 3, numeral 5, son deberes primordiales del estado “Planificar el desarrollo nacional, erradicar la pobreza, promover el desarrollo sustentable y redistribución equitativa de los recursos y la riqueza, para acceder al buen vivir” (Asamblea Nacional Constituyente, 2008). Asimismo, en el trabajo de investigación se planea de acuerdo a la Secretaria Nacional de Plan Nacional y Desarrollo (SENPLADES) uno de sus objetivos es: “Impulsar la productividad para el crecimiento económico sostenible de manera distribuida y solidaria”. (SENPLADES, 2017, pág. 80). El mismo que se encuentra en el segundo eje de la planificación, que establece: “Generar trabajo y empleo dignos fomentando el aprovechamiento de las infraestructuras construidas y las capacidades instaladas dentro de un


4 territorio”; el servicio que presta la empresa en el largo plazo cumple con la política establecida en el objetivo del Plan Nacional. (SENPLADES, 2017, pág. 83). Actualmente las Leyes del Ecuador son mucho más exigentes que hace pocos años atrás, en lo referente a la tecnología, esto hace que se obligue a las empresas a que estén innovando constantemente para seguir el paso acelerado que conlleva la modernización, de esta manera las instituciones sean más eficaces y asertivas a la hora de tomar decisiones al nivel de la implementación de tecnologías (Solís, 2016). En un estudio realizada por Otero, Bolivar, y Rincon (2016), donde indican que según datos de la Cámara Colombiana de Comercio Electrónico (CCCE), en Latinoamérica los negocios electrónicos están aumentando cuantiosamente, donde la entrega a domicilio a partir de una venta online está tomado un impulso considerable en las grandes cadenas comerciales, este servicio se compone de tres etapas principales, que comienzan con la recepción de la orden de pedido, continúan con la recolección en el almacén de los productos que componen la orden y finalizan con la entrega al cliente. Se puede sostener que un inadecuado manejo de la entrega de los productos a los clientes, incrementa los costos operacionales de picking en 450% en promedio. Es por ello que se plantea una aplicación web basado en machine learning para el fortalecimiento de la gestión y logística de servicio a domicilio en la empresa MobilFoods de la provincia Santo Domingo de los Tsáchilas. Así también, el predecir las necesidades de los clientes basados en los hábitos de compra. El presente trabajo de titulación busca conocer la realidad actual de la empresa MobilFoods en el fortalecimiento del área de gestión logística, y brindar un soporte sólido a través de herramientas de TIC´s para su crecimiento, la aplicación de una estrategia informática ayudó a la empresa MobilFoods a contar con una herramienta para un manejo seguro de la información, permitiendo que sus procesos sean eficientes, de esta manera ofrecer un excelente servicio y obtener una mayor fidelidad de sus clientes.


5

1.5. Objetivos de la investigación 1.5.1. Objetivo general. Implementar una aplicación web basado en machine learning para el fortalecimiento de la gestión y logística de servicio a domicilio en la empresa MobilFoods de la provincia de Santo Domingo de los Tsáchilas. 1.5.2. Objetivos específicos. Identificar las necesidades de la empresa MobilFoods en la gestión y logística para el análisis en la obtención de datos e información. Estructurar los datos obtenidos determinando el alcance y funcionalidad de la aplicación web a través del algoritmo machine learning para el desarrollo de la herramienta web. Desarrollar la aplicación web que optimice los tiempos de entrega del servicio a través de machine learning para el fortalecimiento de la gestión y logística de la empresa MobilFoods en la provincia de Santo Domingo de los Tsáchilas. El trabajo de titulación contiene; revisión de literatura, fundamentos teóricos; metodología de la investigación, el enfoque, diseño y tipo de investigación, la población y muestra, técnicas e instrumentos de recogida y análisis de datos, referencias bibliográficas y por último los anexos.


6

2. REVISIÓN DE LA LITERATURA

2.1. Fundamentos teóricos Los temas y subtemas del trabajo de titulación, se encuentra divididos en Aplicaciones web en la figura 1, Machine Learning en la figura 2 y por último en la figura 3 se puede observar los temas y subtemas de Gestión logística.

Figura 1. Aplicación Web

Figura 2. Machine Learning

Figura 3. Gestión Logística


7 2.1.1. Aplicación web Según Mateu (2004, págs. 12-14) confirma que, las aplicaciones web son muy importantes hoy en día, por ejemplo, actualmente contar con una dirección de correo electrónico, redes sociales, entre otros servicios dejaron de ser una novedad, ahora son parte imprescindible en la vida cotidiana, por tal motivo las instituciones, empresas, administraciones optan por migrar rápidamente todos los servicios que ofrecen un ambiente web que permita a sus usuarios y clientes acceder a través de internet a todo ello. Con toda seguridad se puede decir que el Internet está predestinado a ser una prestación de comunicaciones universal. 2.1.1.1.

Servidores web

Según Vukotic y Goodwill (2011, pág. 185) expresa que un servidor web o http es parte fundamental de los ecosistemas en la Internet y permiten el alojamiento y funcionalidad, uno de los más populares es el servidor web Apache que consiste es un proyecto opensource desarrollado por el servidor web Apache Fundación, donde el autor del su dominio HTTP fue Rob McCool en la universidad de Illinois, para su funcionamiento comúnmente usa el puerto 80 por defecto en la instalación estándar, para ingresar a un servidor web solamente necesitamos llamar al host seguido por el número de puerto, por ejemplo http://localhost:80/. Servidores Apache Según Kabir (2005, pág. 40) expresa que Apache es el servidor de código abierto más utilizado por la comunidad de desarrolladores, entre sus prestaciones destaca su sistema modular que lo hace altamente configurable y fácil de operar, además es una tecnología gratuita y trabaja con Perl, PHP, entre otros lenguajes de gran demanda en el mundo del script, apache opera en varias plataformas como Windows, Mac OS X, Linux y otros sistemas de Unix como FreeBSD y Solaris. Internet Information Servers ( IIS) Según Volodarsky, Londer, Hill, et al. (2008) Internet Information Services (IIS) es un servidor web licenciado por Microsoft que ofrece una plataforma fácil y segura para gestionar, desarrollar y alojar en la web de forma íntegra las aplicaciones y servicios. IIS usa una arquitectura modular y extensible lo que le permite desplegar, configurar, desarrollar, y


8 administrar la infraestructura de la web de manera intuitiva, a la vez que optimiza el desarrollo de software web y concede a los administradores y desarrolladores una arquitectura extensible para construir servidores web personalizados y especializados. Una de las prestaciones a destacar es que posee un sistema de configuración distribuido basado en XML logrando un mejor despliegue y fortaleciendo en la gestión de las aplicaciones web, haciéndola más sencilla y eficiente que en cualquier otro servidor web. Además, sumado a las capacidades de diagnóstico oportuno y solución de problemas permiten tanto a los administradores como a los desarrolladores web reducir el tiempo de inactividad. (Volodarsky, y otros, 2008) Tomcat Según Vukotic y Goodwill (2011, pág. 1) afirma que el servidor Apache Tomcat es un contenedor de aplicaciones web opensource basado en Java que ofrece grandes prestaciones, posee una gran estabilidad y tiene todas los distintivos de un contenedor comercial de aplicaciones web, actualmente está bajo la Licencia Apache que lo hace de uso libre y gratuito, las mayoría de versiones de Apache Tomcat concuerdan con las versiones de la declaración Java Servlet API liberado, o Java Servlet, las versiones de Tomcat soportan las correspondientes versiones de la API de JSP. Sumado también a la compatibilidad de la Java Virtual Machine. 2.1.1.2.

Accesibilidad web

Existe un reglamento que indica que los dueños de los sitios web tienen un plazo de cuatro años para ajustar sus sitios de acuerdo al nivel AA. A partir del ocho de agosto de 2020 todos los páginas web ecuatorianos que presenten algún tipo de servicio tienen que ser accesibles WCAG 2.0 nivela AA. (Luján, 2019). El propósito de que debe tener en sus páginas web la Accesibilidad es que logre un gran número de visitas o vistas de diferentes características que tenga el contenido de la página web. Por lo tanto, en el Ecuador se debe cumplir con la accesibilidad que debe tener en la web de diferentes características por ser universal y accesible a todas las personas que quieran acceder.


9 Principios Según W3C (World Wide Web Consortium [W3C], 2008) Existen cuatro principios que proporciona los fundamentos de la accesibilidad de la web, que son bases importantes para todos los usuarios de la red que accedan y utilice el servicio de los cuales son: perceptible, operable, comprensible y robusto. Perceptible la información de la interfaz de usuario debe ser visible al usuario, que pueda captar todos sus sentidos, es decir, el usuario debe percibir la información que se presenta; Operable La interfaz de usuario debe estar funcionando; Comprensible la información y la interfaz del usuario debe ser comprensible y por último robusto que la información debe estar disponible según como evoluciones la tecnología, es decir, el contenido debe permanecer accesible. El autor menciona también que, si alguno de estos criterios faltara, los usuarios con necesidades especiales no podrían utilizar la web. Existen muchos criterios generales que pueden ayudar a que todas las personas puedan acceder al contenido de una forma sencilla más útiles para todas las personas. Pautas Según W3C (World Wide Web Consortium [W3C], 2008) La pautas tiene la finalidad que los autores de los sitios web creen contenido más accesible para todas las personas, incluyendo personas con necesidades especiales. Además, ayudan a los autores a comprender los criterios de conformidad e implementar técnicas. Existe doce pautas son las siguientes: perceptibles, operable, comprensibles y robustos. El mismo autor define que perceptible proporciona alternativas textuales para que pueda convertirse de textos a voz, braille, lenguaje o símbolos, también crea contenidos que se pueda mostrar de diferentes formas los contenidos; Operables proporciona accesibilidad mediante el tiempo para leer y usar la información, el teclado, y evitar que puede provocar ataques, convulsiones, ayudar al usuario a encontrar contenido importante; Comprensible que los usuarios puedan elaborar contenidos entendibles, comprensible y manipulen de forma imaginable, ayudar a los usuarios a corregir errores, y por último Robusto que sea compatibles con otros sitios web presentes y futuras


10 Criterios de Conformidad Según W3C (World Wide Web Consortium [W3C], 2008) indica que existe varias pauta o requisitos de evaluación de conformidad que permiten emplear las WCAG 2.0 como: requerimientos de operaciones de comprar, diseño, regulación o acuerdos contractuales. Para lograr cumplir con el criterio de conformidad es decir con las carestías de grupos de usuarios y situaciones, se precisan tres niveles de conformidad: AAA (más alto), AA y A (más bajo). Técnicas Según W3C (World Wide Web Consortium [W3C], 2008) las técnicas suficientes y recomendables son informativas y se agrupan en dos categorías como son: técnicas suficientes y técnicas recomendables. Las técnicas recomendables es un asesoramiento que va más allá de la información requerida de cada criterio de conformidad. Y las técnicas suficientes son para satisfacer el criterio de conformidad. 2.1.1.3.

Lenguajes de Programación

Según Mateu (2004, pág. 21) expresa que los lenguajes de programación nos permiten desarrollar programas de software, aplicaciones web más útiles, y las más utilizadas, consienten en combinar lenguajes en la arquitectura cliente-servidor, es decir, un lenguaje de programación de software compuesto por el cliente interpretar instrucciones que digitemos en las páginas HTML (front-end) y un proceso de ejecución enlazado con el servidor que no muestre problemas de rendimiento y acceso a los datos (back-end). Lenguajes de programación Back-end Según Mateu (2004, págs. 20-22) expresa que el lenguaje de programación PHP se trata de un lenguaje que permite añadir código HTML en los trabajos de programación, con una sintaxis de los lenguajes que son C y Perl. Además, uno de sus puntos fuertes es su facilidad por aprender el código, sencillez y fuerza, se ha vuelto muy popular para algunos desarrolladores. Aunque, existen otros lenguajes de programación de aplicaciones web que también son populares entre algunos desarrolladores, como son mod_perl para Apache, RXML para Roxen, etc., pero estos programas de aplicaciones web integran servidor web concreto.


11 Lenguajes de programación Front-End Según Mateu (2004, págs. 20-22) expresa que Javascript es un lenguaje de programación interpretado que se ejecuta del lado del cliente. Aunque pueda que en algunos navegadores no existan el intérprete. Este lenguaje de script se enlaza a páginas web. Javascript y Java son diferentes lenguajes de programación con distintas filosofías, aunque, tienen en común la sintaxis, porque Netscape diseño a Javacript inspirado en la sintaxis de Java. 2.1.1.4.

Bases de datos

Según Campos (2005, pág. 8) Una base de datos se puede precisar como un modelo o representación de la realidad. El elemento primordial que se utiliza para modelar en una base de datos relacional son las tablas o también denominado relaciones. Aunque, en otros tipos de bases de datos se pueden utilizan otros elementos. Tipos de Bases de Datos Según Campos (2005, pág. 14) Los tipos de datos de los años ochenta y noventa eran muy limitados, actualmente la incorporación de nuevas tecnologías en los procedimientos de información, hacen que las bases de datos sean más robustas y garanticen la transaccionalidad y seguridad de la información como lo son las bases de datos relacionales SQL, y también se puede pensar en sistemas que requieran mayor velocidad de operación, debido a la alta demanda, tales como sistemas multimedia , sistemas en tiempo real, entre otros, donde no se requiere la transaccionalidad se puede utilizar bases de datos NOSQL. Motores de Bases de Datos Según Campos (2005, pág. 15) Los motores de bases de datos actuales permiten cumplir un conjunto de objetivos, por ejemplo ejecutar consultas no prefijadas y complejas, ofrecen también en flexibilidad a los cambios, eliminación de la redundancia de información, impedir la pérdida de integridad de datos, y permitir el acceso a la misma base de datos a varios usuarios. 2.1.2. Machine Learning La IA y el machine learning (ML) se utilizan en muchas aplicaciones. Puede utilizar algunos electrodomésticos del hogar sin darnos cuenta. Según Samuel (1959) indicó que el


12 Machine Learning es el campo de estudio que brinda a las computadoras el aprender sin la necesidad de mucho esfuerzo de programación. 2.1.2.1.

Importancia Machine Learning

El machine learning según Hugh (2019) menciona que es importante en la Inteligencia artificial, porque es sorprendentemente potencial al momento de ver algunos resultados. En el aprendizaje de las máquinas, si quieres que el ordenador sea capaz de aprender y encontrar patrones o resultados correctos, entonces el ML funcionará para ti. Asimismo, pretende generar una ayuda a las necesidades del ser humano como; recomendaciones después de la compra, revisar grandes cantidades de datos sobre finanzas y clientes, haciendo predicciones precisas sobre lo que la empresa debe hacer para aumentar los beneficios y los clientes felices a lo largo del camino. Comercio Electrónico El comercio electrónico según Chaffey (2009, pág. 11) afirma que debe ser considerado como todas las transacciones por medios electrónicos entre una organización y cualquier tercero. Además, se considerarían parte del comercio electrónico, la aplicación del área tecnológica hacia un camino de la automatización de servicios comerciales. Con la ayuda del machine learning se puede aprovechar los resultados de búsqueda optimizadas que pueda revelar patrones en las compras y preferencias de los clientes y recomendaciones de producto, que pueda crear con éxito un motor de recomendación de productos que sean capaces de identificar tendencias en el comportamiento de compra para sugerir productos adecuados a un comprador. Machine learning en las finanzas El machine learning en las finanzas según Mathur (2019) indica que se utiliza para predecir e invertir en el mercado de valores, así poder comprar y vender de forma más efectiva, usando un análisis de perspectiva un sistema completo que da recomendaciones sobre las acciones que debe realizar el sistema de comercio. Quiere decir, que los comerciantes experimentados en la bolsa aprenden con el tiempo, la máquina lo aprende también en poco tiempo y con un margen de error menor.


13 2.1.2.2.

Clasificación de Machine Learning

Según Russell (2018) se puede clasificar en diferentes sistemas de Machine Learning. Podemos dividirlos en cuatro categorías principales; aprendizaje sin supervisión, aprendizaje supervisado, aprendizaje de refuerzo, aprendizaje semi-supervisado. Para construir un modelo inteligente se puede usar la clasificación de Machine Learning que, permite que puedan aprender combinando nuevos puntos de datos de forma incrementada, pueden obtener nuevos datos o valores de otros datos aprendidos. Aprendizaje Supervizado En este tipo de sistema según Müller y Guido (2016) menciona que se utiliza siempre que queremos predecir una cierta resultado de una entrada dada. Los datos que se ingresan al algoritmo, y se va entrenando con los etiquetados que ya vienen con la respuesta correcta. Es importante que mientras exista mayor cantidad de conjunto de datos el algoritmo aprende sobre el tema. Luego de concluir con el entrenamiento, se le ofrecen datos desconocidos por el algoritmo, si las etiquetas de las respuestas correctas, y el algoritmo de aprendizaje utiliza los datos aprendidos durante el entrenamiento para predecir un resultado a futuro. Clasificación del aprendizaje supervisado Hay dos tipos de algoritmos de aprendizaje automático supervisados, llamados clasificación y regresión. En la clasificación, el objetivo es predecir una etiqueta de clase, que es una elección de datos predefinidos en una lista de posibilidades. En el de regresión puede predecir valores para obtener otros valores futuros (Müller & Guido, 2016, pág. 25). 2.1.2.3.

Tipos de Algoritmos de regresión

El algoritmo de regresión según Müller y Guido (2016) afirma que puede predecir los datos para obtener nuevos valores. Además, los valores obtenidos son continuos y no discretos. algunos ejemplos de este algoritmo son: predecir los valores que se obtienen a partir de las ventas de marketing, predecir precios de compras de una empresa que tenga ingresos de cualquier clase de productos, predecir cantidades en bolsa de valores. Los tipos de algoritmos de regresión incluyen: regresión lineal, regresión polinomeal, vectores de soporte regresión, arboles de decisión regresión, bosques aleatorios regresión. Además, los algoritmos de regresión también pueden ser usados para clasificación y viceversa.


14 Regresión Lineal La regresión lineal para González (2018) es un proceso que permite predecir una función que tenga variable dependiente y, y variables independientes x. Se puede usar datos continuos para predecir algún caso, por ejemplo, las utilidades que pueden obtener en el futuro una empresa, puede predecir un valor actual a un valor futuro. Regresión polinomial Según González (2018) menciona que es parte de la regresión lineal tiene la facilidad de adaptarse al aumento de complejidad de la fórmula, el número de atributos también aumenta, lo que los datos se hace difícil de manejar. Si se observa una regresión polinomial con una sola variable x1 será así la fórmula: 𝑦 = 𝑎1 𝑥1 + 𝑎2 𝑥1 2 + 𝑏, y con dos variables x1, x2 será así: 𝑦 = 𝑎1 𝑥1 + 𝑎2 𝑥1 2 + 𝑎3 𝑥2 + 𝑎4 𝑥2 2 + 𝑎5 𝑥1 𝑥2 + 𝑏 2.1.2.1.

Tipos de Algoritmos de Clasificación

Los tipos Algoritmo de clasificación según Russell (2018) indica que los datos pueden ir separados en clases especificas estas son: KNN, red neural, máquinas de soporte de vectores, regresión logística, árboles de decisiones clasificación y bosques aleatorios de clasificación. Regresión logística Según Morgan (2016, pág. 62) afirma que el objetivo es tomar valores binarios para clasificar si es 0 o 1 en este algoritmo se usa dos variables independientes. Se utiliza para estimar. Por ejemplo, se obtiene la variable edad y la variable salario y se determina si compró o no, se debe asignar los valores de 1 y 0 respectivamente, de esta manera se puede usar para predecir datos de las variables. K-Nearest Neighbors K-Neighbors Neighbors. Según Müller & Guido (2016, pág. 35) indica que el algoritmo almacena el conjunto de datos de entrenamiento, para hacer la predicción de un nuevo punto de datos, el modelo de clasificación encuentra los puntos de datos más próximos en el conjunto de datos de entrenamiento, en sí encuentra sus vecinos más cercanos. El uso del algoritmo k-NN es el más simple en el algoritmo de aprendizaje automático, se usa en una


15 variedad de aplicaciones tales como, predecir las tendencias en el comportamiento de compra para sugerir productos a un cliente, predicciones financieras, etc. 2.1.3. Gestión Logística Según Cuatrecasa (2012) indica que, la gestión logística o también llamada logística empresarial conlleva la organización, planificación, y control de la totalidad de las actividades involucran con la elaboración, transferencia y almacenamiento de productos y materiales, desde la obtención hasta su utilización, mediante la distribución y como un método integrado, englobando todo lo relacionado a los flujos de información. Las gestiones logísticas tienen la finalidad de satisfacer las necesidades y demandas de una manera eficaz y rápida al menor tiempo y coste posible. 2.1.3.1.

Logística y Distribución de mercadería

Según Cuatrecasas (2012) menciona que, por medio de la logística, una empresa planifica el control y la organización de todos los procesos y actividades que genera la cadena de distribución de mercadería, tratando de incorporar productos propios con productos de otras empresas, entregando el producto terminado hacia clientes finales. Importancia de la logística La importancia de la logística según Castellanos (2009, pág. 6) afirma que, permanece la necesidad de perfeccionar la atención al cliente y en optimizar procesos de la gestión y logística a un menor costo; es importante que la organización tenga las siguientes actividades que puede proceder de la gestión y logística de la empresa: La eficiencia y eficacia de producción, altos niveles, la distribución de mercadería debe tener pocos productos inventariados, el desarrollo de método de información, desarrollo de una aplicación web para pedidos en línea. La Cadena Logística Según Serrano (2019, pág. 26) afirma que, el producto sale del lugar fabricado o de bodega hasta llegar al cliente final, generalmente pasa por varias etapas y en ellas debe tener personal capacitado y responsable de su cuidado. Estas personas son los que vinculan cada una de las etapas de la cadena logística.


16 Tipos de logísticas Según Castellanos (2009, pág. 28) afirma que existen diferentes tipos de logística: de producción, aprovisionamiento, en reversa o inversa y distribución. La logística de aprovisionamiento es la gestión de suministros y materia prima para la fabricación. Logística de producción debemos señalar tales como fabricación, almacenes y todas las actividades que realizan en ellos. El siguiente paso es la logística de distribución y trasporte con el objetivo de satisfacer las necesidades de los clientes y llevarles hasta su destino final. En la Logística de Inversa o reversa es el regreso de las mercaderías dentro de una cadena de suministros. Costos de Logística El costo logístico es el gasto total generado por todas las actividades que demanda el mantenimiento logístico dentro de una organización desde lo que menciona Bastos (2007, pág. 2). También indica que, el costo logístico hace frente a la demanda para ofrecer calidad y buen servicio al menor costo. Los costos logísticos varían dependiendo de la organización de la empresa como: el valor de la mercadería, el transporte, los sistemas de optimización y los sistemas de control. 2.1.3.2.

Infraestructura logística

Según Franco (2015) indicó que la infraestructura logística son los distintos medios que utiliza la organización para la distribución física de los productos, y está compuesto principalmente por los puntos de stock, plataformas de distribución y la flota de trasporte que configura el modelo de distribución de la organización. (pág. 109). Por otro lado, González, Zamora Torres, Figueroa y Navarro (2016) afirman que hablar de infraestructura logística forzosamente se debe evaluar las necesidades de los clientes, para poder ejecutar las operaciones como: la administración, el control, el manejo y la recepción de mercadería y que se debe relacionar de forma correcta. (pág. 46) Seguimiento y localización Según Serrano (2019) afirmó que una de las ventajas del seguimiento y localización física de la mercadería en el proceso de distribución es controlar cada una de las etapas en su totalidad, desde la recogida del producto hasta la entrega al consumidor final, mediante código


17 de barras se facilita el seguimiento informático del producto, y mengua errores con prealertas y verificación de todos los procesos. (pág. 174). E-Business Según Siebel (2001) afirma que, las empresas deben innovar, agregando nuevo valor a la organización de una manera eficaz, eficiente y rapidez con el uso de la tecnología. Una de las características de e-Bussines es que todas las empresas se deben enfocar en lo que el cliente necesita, la digitalización de cada proceso de la empresa, el rediseño de las estrategias del negocio el uso de las TICS, y tener una estructura formal y flexible que integre todos los procesos y aplicaciones. 2.1.3.3.

Servicio al Cliente

El servicio al cliente según Ballou (2004, pág. 43) indica que se ha considerado importante dentro de la estrategia de negocios. El servicio al cliente debe contener la velocidad de entrega, productos en stock, y rapidez para contactarse con él cliente. Por lo que puede tener impacto importante sobre la demanda y la lealtad al cliente el servicio cumpliendo con una serie de aspectos como: la confianza, la flexibilidad, la calidad, la certeza y la exigencia. Encuestas de Satisfacción El método más popular según Ballou (2004, pág. 109) para obtener información del cliente es la encuesta. Por lo general se utiliza un cuestionario para obtener una base de datos a un bajo costo. Algunas interrogantes bien diseñadas, pueden obtener información para determinar las preferencias de los clientes al monto de comprar. Las respuestas de los compradores aportaran datos para crear y analizar la curva de servicios y ventas generando información importante para la toma de decisiones. Calidad de servicio Según Setó (2004) afirma que, la calidad del servicio ha cambiado, lo que se puede ver en las políticas y estrategias en las organización. El objetivo central de muchas empresas es la calidad, y luego está cambiando hacia la satisfacción del cliente, que está estrechamente relacionado con el concepto de calidad, y continúa cambiando hacia la fidelización o retención del cliente. Asimismo, existen una serie de equivalentes, por ejemplo, la calidad de los servicios que brinda la empresa se traduce en la satisfacción del cliente, y la satisfacción se traduce en


18 una mayor fidelidad del cliente. La fidelización de los clientes tiene un impacto positivo en la empresa (pág. 6).

2.2. Predicción Científica Se plantea la hipótesis nula (H0) y la alternativa (H1): H0: Aplicación web basado en machine learning no influye significativamente en la gestión y logística de servicio a domicilio en la empresa MobilFoods de la provincia Santo Domingo de los Tsáchilas. H1: Aplicación web basado en machine learning influye significativamente en la gestión y logística de servicio a domicilio en la empresa MobilFoods de la provincia Santo Domingo de los Tsáchilas.


19

3. METODOLOGÍA DE LA INVESTIGACIÓN

3.1. Enfoque, diseño y tipo de investigación Según Hernández (2014, págs. 532-535) el objetivo del enfoque mixto no es reemplazar al enfoque cuantitativo ni al enfoque cualitativo, más bien se encamina en utilizar las ventajas de ambos tipos de investigación involucrando la recolección y el análisis de datos, además que agrupan procesos empíricos, sistemáticos y críticos de investigación, así como su análisis conjunto e integración para realizar deducciones respecto a la información recabada, y lograr un mejor entendimiento de un caso de estudio. Luego de analizar muy detenidamente todos los tipos de enfoques, se ha seleccionado para el trabajo de titulación el enfoque mixto con preponderancia cuantitativa, por cómo se va a recolectar y analizar los datos. Según Hernández (2014, págs. 126-128) señala que, una vez que se determina el enunciado del problema, se establece el alcance inicial de la investigación y se formula la hipótesis, el investigador debe elegir o ampliar uno o más diseños de investigación y aplicarlos al contexto específico de su indagación. El término diseño se define como una estrategia o plan que obtenga información en respuesta al problema planteado. Se consideró un diseño experimental (preexperimentos, experimentos puros, cuasiexperimentos), en donde, por la situación atípica del Covid-19 y la característica de la muestra, se consideró realizar el preexperimento (se aplicó una prueba “pre test” al estímulo y al final otra prueba “post test” a un solo grupo en dos escenarios) (Hernandez, 2014, pág. 141). En la cual se manipula de manera intencional una o más variables independientes (causas), y analizar las consecuencias de tal manipulación sobre una o más variables dependientes. (Hernandez, 2014, pág. 130). Según Baena (2017, pág. 18) afirma que, la investigación aplicada plantea problemas específicos que requieren de soluciones inmediatas e igualmente específicas, centrándose en la búsqueda y consolidación del conocimiento. En el trabajo de titulación, la investigación aplicada se utilizó y, por tanto, para enriquecer el desarrollo cultural y científico. Su objetivo es investigar la incidencia de patrones o niveles de una o más variables en la población. El programa consiste en localizar un grupo de personas u otras criaturas, objetos, situaciones, trasfondos, fenómenos, comunidades en una o más variables y proporcionar sus descripciones.


20 Según Hernández (2014, págs. 88-101) afirma que, una da los diferentes tipos de investigación es la descriptiva, tiene como objetivo recopilar propiedades y características significativas de un entorno a estudiar, detallando tendencias en una población o grupo. Y por otra parte en la investigación de campo según Banea (2017, pág. 85) consiste en recoger y registrar ordenadamente los datos relativos teniendo contacto directo con el objeto de estudio. Por lo antes mencionado, se escogió para el trabajo de titulación la investigación aplicada, descriptiva y de campo.

3.2. Población y muestra Según Hernández (2014, pág. 15) afirma que el tamaño de la muestra depende de la cantidad de la población, el objetivo es generalizar de un grupo pequeño a uno mayor. La población es muy difícil de manejar por el gasto y el tiempo. En el trabajo de titulación la población se divide en dos, como se puede observar en la Tabla 1, la población interna que son todos los funcionarios de la empresa que se compone de 12 repartidores, representados por el jefe de gestión logística (Product Owner) y 4 administrativos representados por el jefe de TI y población externa que son 1800 clientes de MobilFoods. Tabla 1. Muestra de la Empresa MobilFoods TÉCNICOS REPARTIDORES Jefe de gestión logística 12 2 Jefe de TI

ADMINISTRATIVOS 4

CLIENTES 1800

Nota: Datos proporcionados por Empresa MobilFoods de la Provincia de Santo Domingo de los Tsáchilas

Según Aguilar (2005, pág. 5) indica que la población es infinita si excede de 10.000 integrantes, en cambio si el tamaño de la población se compone de un número menor de 10.000 integrantes se considera una muestra de población finita, la fórmula para calcular dicha muestra es la siguiente:

Donde: n = tamaño de la muestra. N = tamaño de la población.


21 Z = valor obtenido mediante niveles de confianza. S2 = varianza de la población en estudio (cuadrado de la desviación estándar). d = nivel de precisión absoluta (amplitud del intervalo de confianza deseado). Reemplazando para clientes de MobilFoods

N Tamaño de población: 1800 Z Nivel de confianza: 0.95 S2 Varianza de la población en estudio: 1200 d Nivel de precisión absoluta: 0.05 n= El resultado de la muestra es 317. Por lo tanto, en la muestra probabilística se aplicó la fórmula de la población finita a los 1.800 que son la población externa, dando como resultado la cantidad de 317 clientes. Según Hernández (2014, pág. 188), el tamaño de la muestra de estudios también depende de los subgrupos de población, en este caso la población tiene edad (cinco subgrupos), genero (dos subgrupos), tiempo de utilización del servicio (cinco subgrupos), total 50 subgrupos. A parte también depende de la unidad de análisis (si es población de individuos de hogares o de organizaciones) y su cobertura (si el trabajo de investigación es nacional o regional), obteniendo como resultado que la muestra tiene que ser más de 500 clientes. Además, según Hernández (2014, pág. 188) la muestra representa el balance entre el número de casos y el número que se pueda manejar; también considera que lo óptimo de una muestra depende de cuánto se aproxima a las características de la población y que se mejora al incrementar el tamaño de la muestra. Con estos indicadores antes mencionados, se decidió aplicar la encuesta a los 882 clientes.


22

3.3. Operacionalización de las variables Tabla 2. Operacionalización de la variable independiente CONCEPTUALIZACIÓN CATEGORÍAS Aplicación web Según Mateu (2004, págs. 1214) confirma que, las aplicaciones web son muy importantes hoy en día, por ejemplo, actualmente contar con una dirección de correo electrónico, redes sociales, entre otros servicios dejaron de ser una novedad, ahora son parte imprescindible en la vida cotidiana, por tal motivo las instituciones, empresas, administraciones optan por migrar rápidamente todos los servicios que ofrecen un servidor web.

Servidores web

Accesibilidad web

INDICADORES Servidores Apache IIS Tomcat Principios Pautas Criterios de Conformidad Técnicas Back-end

Lenguajes de Programación

Front-End

Bases de datos

Tipos de Bases de Datos Motores de Bases de Datos

Tabla 3. Operacionalización de la segunda variable independiente CONCEPTUALIZACIÓN CATEGORÍAS Machine Learning La IA y el machine learning (ML) se utilizan en muchas aplicaciones. Puede utilizar algunos

Importancia Machine Learning Clasificación de Machine Learning

ITEMS

INSTRUMENTO O TÉCNICA

¿En qué servidor web se va a alojar la aplicación?

¿Cree usted importante que la accesibilidad de la web sea perceptible, operable, comprensible y robusto? ¿Cree usted que la accesibilidad de la web sea para todas las personas, incluyendo personas con necesidades especiales? ¿Cuál es el requerimiento institucional relacionado al lenguaje de programación que se empleará tanto para el backend (lado del servidor) como para el frontend(lado del cliente)? ¿Cuál es el requerimiento institucional relacionado al uso del motor de base de datos?

INDICADORES Comercio Electrónico ML en las finanzas Aprendizaje Supervizado

ITEMS ¿Busca generar mayores ingresos en su compañía? ¿Cómo considera usted el marketing personalizado a cada cliente?

Entrevista a Jefe de Departamento de TICs

INSTRUMENTO O TÉCNICA Entrevista al jefe de Departamento de Gestión logística


23

electrodomésticos del hogar sin darnos cuenta. Según Samuel (1959) indicó que el Machine Learning es el campo de estudio que brinda a las computadoras el aprender sin la necesidad de mucho esfuerzo de programación.

Tipos de Algoritmos de regresión Tipos de Algoritmo de clasificación

Tabla 4. Operacionalización de la variable dependiente CONCEPTUALIZACIÓN CATEGORÍAS Gestión Logística Según Cuatrecasa (2012) indica que, la gestión logística o también llamada logística empresarial conlleva la organización, planificación, y control de la totalidad de las actividades involucran con la elaboración, transferencia y almacenamiento de productos y materiales, desde la obtención hasta su utilización, mediante la distribución y como un método integrado, englobando todo lo relacionado a los flujos de información. Las gestiones logísticas tienen la finalidad de satisfacer las necesidades y demandas de una manera eficaz y rápida al menor tiempo y coste posible.

Logística Distribución mercadería

y de

Infraestructura logística

Clasificación de Aprendizaje supervisado Regresión Lineal Regresión polinomial Regresión logística K-Nearest Neighbors

¿Qué tanto le interesa que se clasifiqué sus preferencias? ¿Cómo clasifica usted a cada cliente, según sus hábitos de compra?

Encuesta de satisfacción al cliente Entrevista al jefe de Departamento de Gestión logística

INDICADORES

ITEMS

INSTRUMENTO TÉCNICA

Importancia de la logística La Cadena Logística Tipos de logísticas Costos de Logística Seguimiento y localización E-Business

Servicio al Cliente

Encuestas de Satisfacción

Calidad de servicio

¿Qué importancia tendrá la internet dentro de los procesos logísticos?

¿Qué sistemas de seguimiento y localización implementan dentro de la cadena de suministro? ¿Considera usted necesario calificar la atención recibida por el servicio de delivery? Identifique su género Señale su edad Aproximadamente, ¿Cuántos meses tiene utilizando el servicio que se ofrece? ¿Con qué frecuencia experimenta problemas con el servicio que se ofrece? ¿Cuáles son los productos y servicios, que con frecuencia usted solicita? ¿Qué tan satisfecho se encuentras con el servicio de entregas? ¿Cuál es la probabilidad de que vuelva a usar el servicio que se ofrece?

O

Entrevista a Jefe de Departamento de Gestión logística

Encuesta de satisfacción al cliente


24

3.4. Técnicas e instrumentos de recogida de datos Según Hernández (2014, pág. 216) uno de los instrumentos para la recolección y análisis de datos cuantitativos es el cuestionario, que consiste en un conjunto de preguntas prediseñadas respecto de uno o más variables a medir, los cuestionarios son preguntas abiertas o cerradas que se utilizan en las encuestas y entrevistas, puede ser desarrollada físicamente en un papel o en un medio electrónico. Los instrumentos o técnicas que se utilizaron para la recolección de datos son la encuesta y la entrevista. La encuesta fue aplicada a los clientes de la empresa MobilFoods en la provincia de Santo Domingo, donde se hizo una observación y medición de sus requerimientos para fortalecer el servicio. La entrevista fue aplicada al jefe de TI y al jefe de gestión logística para obtener las historias de usuarios (funcionalidad), información de la empresa y de los procesos del control logístico.

3.5. Técnicas de análisis de datos Según Hernández (2014, págs. 168-169) expresa que, una vez planteado y sustentado el problema de manera sólida en la teoría y los efectos empíricos previos, se debe tener en cuenta la utilización idónea de técnicas de análisis estadísticos. Se debe también tomar en cuenta que pruebas estadísticas permiten significar los resultados; por tal motivo, son necesarias en todas las ciencias del comportamiento, las mismas que se determinan por laborar con datos diversos. Según Hernández (2014, pág. 272) el análisis cuantitativo se centra en la interpretación de los resultados de los métodos de análisis y no en los procedimientos de cálculo, por ello se recomienda realizarlo a través de herramientas computacionales, para esto primero se debe obtener los datos codificados, que estos estén libres de errores y se recomienda que estén transformados en una matriz. En el trabajo de titulación la información recolectada en la entrevista y las encuestas fueron analizadas mediante tablas o cuadros estadísticos en hojas de cálculo, escrito en un procesador de texto y con el aplicativo SPSS para obtener la tabla de distribución Chi-Cuadrado.


25

4. RESULTADOS

4.1. Primer Resultado: Necesidades de la empresa en la gestión y logística 4.1.1. Resultados de la entrevista dirigida al jefe del departamento de Tics Se realizó la entrevista al jefe de departamento de TICs, el señor Ing. Joseph Correa que es responsable (con la documentación y aprobación respectiva, se evidencia en el anexo I), de esta manera se logró obtener los datos técnicos que fueron necesarios para proceder con el desarrollo de la aplicación web (ver Anexo VI y VII). Pregunta 1: ¿En qué servidor web se va a alojar la aplicación? Respuesta: El servidor web se va a alojar en la nube, porque es más económico y es más fácil de usar. Pregunta 2: ¿Cree usted que la accesibilidad de la web sea para todas las personas, incluyendo personas con necesidades especiales? Respuesta: Sí, se debe desarrollar este tipo de aplicaciones para incluir a todas las personas. Pregunta 3: ¿Cree usted importante que la accesibilidad de la web sea perceptible, operable, comprensible y robusto? Respuesta: Sí, es totalmente necesario porque en Ecuador la cultura de la tecnología es muy limitada. Pregunta 4: ¿Cuál es el requerimiento institucional relacionado al lenguaje de programación que se empleará tanto para el backend (lado del servidor) como para el frontend (lado del cliente)? Respuesta: Para el backend (lado del servidor), se recomienda que continúe aplicando el lenguaje PHP, para que se conecte con los servicios que existen en la empresa. Por otro lado, para el frontend (lado del cliente) se solicita que se desarrolle en Javascript, utilizando la biblioteca multiplataforma jQuery.


26 Pregunta 5: ¿Cuál es el requerimiento institucional relacionado al uso del motor de base de datos? Respuesta: Para el uso de base de datos se debe utilizar MySQL versión 5.1 en adelante, para que se conecte con los servicios que existen en la empresa. 4.1.1.1.

Discusión de los resultados de la entrevista

Como se evidencia en el apartado anterior, en los resultados de la entrevista, se obtuvo información de los aspectos técnicos para el uso de lenguajes, motor de base de datos, frontend y backend que fueron recomendaciones del entrevistado. Por otro lado, en el desarrollo de aplicaciones web, estas deben ser inclusivas, el entrevistado indicó que es importante la accesibilidad de la web, y considera aspectos como perceptible, operable, comprensible y robusta. 4.1.2. Resultados de la entrevista al jefe del departamento de Gestión Logística Se realizó la entrevista al jefe de departamento y gestión logística, el señor Ing. David Eduardo García que es responsable. Las preguntas fueron realizadas para obtener información de los procesos en la empresa MobilFoods en la provincia de Santo Domingo de los Tsáchilas (ver Anexo VI y VII). Pregunta 1: ¿Busca generar mayores ingresos en su compañía? Respuesta: Sí, es lo que busca todo empresa, pero más que eso buscamos es dar un servicio en donde el cliente se encuentre muy satisfecho. Pregunta 2: ¿Cómo considera usted el marketing personalizado a cada cliente? Respuesta: Es muy importante puedes llegar a varios clientes de acuerdo a las necesidades de cada cliente. Quiero decir que se debe apersonar al cliente es mucho más eficiente que trabajar externamente. Pregunta 3: ¿Cómo clasifica usted a cada cliente, según sus hábitos de compra? Respuesta: Nosotros pedimos un reporte mensual al departamento técnico de los servicios realizados, en el cual se evidencia en las compras de cada cliente, el reporte contiene el detalle de los productos vendidos y a que tienda le compra.


27 Pregunta 4: ¿Qué importancia tendrá el internet dentro de los procesos logísticos? Respuesta: Es necesario e importante en la comunicación, como también en los negocios promete infinidad de ventajas, se puede obtener información y tomar acciones en menos tiempo y ser más efectivos a la hora de ofrecer y proveer nuestros servicios. Pregunta 5: ¿Qué sistemas de seguimiento y localización implementan dentro de la cadena de suministro? Respuesta: Son tres etapas; el cliente hace el pedido se le recepta, de ahí el motorizado hace la consulta al local si ellos tienen lo que el cliente desea y la tercera fase se hace la entrega el pedido al cliente. En todo momento esta monitoreado. Por otra parte, cada pedido se registra con estados estos son: acepta el repartidor, envía el pedido, acepta la tienda, repartidor recoge el pedido, repartidor entrega el pedido, cliente cancela el pedido sin haber aceptación del repartidor, auto rechazó por falta de aceptación de repartidor, auto rechazó por falta de confirmación de la tienda, rechazo por parte del repartidor y cliente cancela el pedido habiendo aceptación de un conductor. Pregunta 6: ¿Considera usted necesario calificar la atención recibida por el servicio de delivery? Respuesta: Por supuesto es muy necesario a la hora de tener una evaluación, para conocer la satisfacción del cliente sobre el servicio recibido y realizar una retroalimentación y mejora continua de nuestros servicios. 4.1.2.1.

Discusión de los resultados de la entrevista

En la entrevista realizada, se evidenció la necesidad de implementar la tecnología en los negocios actuales, sobre todo los servicios a domicilio con el contexto del Covid-19, todo ha cambiado la forma de vender, la forma de comprar, por ello, se fortaleció los procesos de gestión logística de la empresa MobilFoods. Por otro parte, el seguimiento de entrega a domicilio de la empresa es básico, tiene 3 etapas, la primera etapa el cliente realiza el pedido, en la segunda etapa el motorizado hace la consulta al local y la tercera fase se hace la entrega del pedido al cliente.


28 4.1.3. Diagrama de actividades La empresa MobilFoods tiene un flujo de procesos para realizar la gestión logística de la organización. En la figura 4 se observa el proceso que ejecuta la empresa, el cliente realiza el pedido, el repartidor acepta y notifica al cliente; el sistema de seguimiento comunica a la tienda, para que acepte o rechace el pedido; si la tienda acepta la solicitud de compra se notifica al repartidor el tiempo de entrega; y posteriormente el cliente califica el servicio recibido.

Figura 4. Diagrama de actividades del proceso de gestión logística

4.1.4. Resultados de las encuestas Los cuestionaros fueron validados por expertos especialistas en su área, como se puede observar en la tabla 5 se encuentra los nombres, título académico y el área. Estos instrumentos


29 de recolección de información que son las encuestas y entrevistas se puede observar en el anexo III, IV y V. Tabla 5. Expertos en validación de los instrumentos de recolección de información

NOMBRES

TÍTULO ACADÉMICO

ÁREA

Hishochy Delgado Mendoza Andrés García Umaña

Ph.D. en Artes y Educación PhD en Comunicación Internacional Mg. en Gerencia Educativa Maestrante en Estadística Aplicada

Investigación Marketing

Ángel Ramón Sabando García.

Estadística

Los resultados de la encuesta que se aplicaron a los clientes de la empresa MoboilFoods se dio a conocer el nivel de satisfacción de los clientes respecto a los servicios que ofrece la empresa (ver Anexo VI) su análisis e interpretación se detallan de la siguiente manera: Pregunta 1: ¿Cuántos meses tiene utilizando el servicio que se ofrece?

Tiempo de servicio

64% 563

24% 212 4% 32 0

1a3

4% 34

3% 23

3a4

4a5

2% 18 5a6

Más de 6

Pre-test

Figura 5. Tiempo que se ha utilizado el servicio en meses

Análisis e interpretación: En base a los datos obtenidos en la aplicación de la encuesta a los mismos clientes de la empresa, se observa en la figura 5, el 64% de los clientes de la empresa MobilFoods tienen 5 a 6 meses utilizando el servicio que se ofrece. Por otro lado, un 24% indicaron que hace 1 a 3 meses aproximadamente han utilizado el servicio de entregas a domicilio en la empresa MobilFoods, el 4% mencionaron que utilizaron el servicio hace 3 a 4 meses, el 4% señalaron que son nuevos clientes de la empresa, el 3% estuvieron utilizando el servicio de 4 a 5 meses y por último el 2% indicaron que más de 6 meses estuvieron utilizando el servicio que se ofrece en la empresa MobilFoods. Se pudo observar el interés de seguir utilizando este servicio.


30 Pregunta 2: ¿Con qué frecuencia experimenta problemas con el servicio que se ofrece?

Problemas con el servicio 70% 615

2% 18

0% 0

Casi siempre

53% 470 0% 0

Frecuentemente

22% 193

3% 28

0% 0

A veces Pre-test

47% 412 3% 28

Rara vez

Casi nunca

Post-test

Figura 6. Frecuencia que experimentan problemas en el servicio

Análisis e interpretación: En base a los datos obtenidos en la aplicación de la encuesta un antes (Pre-test) de 882 clientes y un después (Post-test) de 882 clientes de la empresa. Se observa en la figura 6, el 70% consideraban que frecuentemente experimentaban problemas con el servicio que ofrece la empresa, el 22% afirmaron que a veces experimentan problemas, el 3% señalaron que rara vez y casi nunca experimentaban problemas y el 2% mencionaron que casi siempre han experimentado problemas con el servicio que ofrece en la empresa, esta información muestra que la empresa si tenían problemas frecuentes al ofrecer el servicio. Luego de realizar la encuesta a los mismos clientes se observó que, el 0% indicaron que casi siempre, frecuentemente y A veces experimentan problemas con el aplicativo, el 53% mencionaron que rara vez experimentan problemas y el 47% casi nunca. Por lo tanto, el aplicativo ha mejorado en el servicio que ofrece con relación al antiguo aplicativo. Pregunta 3: ¿Cuáles son los productos y servicios, que con frecuencia usted solicita?

Productos y servicios 87% 771 19% 5% 169 42

6% 50

6% 50

60% 533 2% 18

6% 50

9% 0,11% 80 1

Servicio a domicilio Servicio deavíveres Servicio domicilioa de domicilio Farmacia Servicio de comida a domicilio preparada Servicio deafruterías domicilio de Ferretería Pre-test

Post-test

Figura 7. Productos y servicios que solicitan

Análisis e interpretación: En la figura 7 de la pregunta 3, los clientes indicaban que, el 87% utilizaron el servicio a domicilio de comida preparada, mientras que el 6% expresaron que usaron el servicio a domicilio de farmacia, también el 5% manipularon el servicio a


31 domicilio de víveres, por otro lado, el 2% de los encuestados afirmaron que recurrían al servicio de frutería y por último el 0,11% utilizaron el servicio a domicilio de ferretería. Lo que más se pide a domicilio es la comida preparada como se muestran los datos obtenidos. Después de realizar la misma encuesta a los clientes que utilizaron el aplicativo implementado, indicaron que, el 60% manejaron el servicio a domicilio de comida rápida, mientras el 19% se observa un aumento en el servicio a domicilio de víveres, también se incrementó el servicio a domicilio de ferretería en un 9%, mientras que el 6% utilizaron en el servicio a domicilio de farmacia, al igual que el 6 % en el servicio a domicilio de frutería que tiene un aumento en este servicio, como se puede observar en los datos obtenidos. Pregunta 4: ¿Qué tan satisfecho se encuentra con el servicio de entregas?

Satisfación del cliente 99% 872 50% 444 3% 26

1% 10

Muy satisfecho

3% 29 Satisfecho

23% 205

0% 0

Normal Pre-test

20% 178

0% 0 Poco satisfecho

0% 0

Nada satisfecho

Post-test

Figura 8. Satisfacción del cliente con el servicio de entregas

Análisis e interpretación: En base a los datos establecidos en figura 8, el 50% mencionaron que se encontraban poco satisfecho con el servicio de entregas, mientras que el 23% afirmaban que se encontraban normal con el servicio de entregas, además el 20% indicaron que se sentían nada satisfecho, el 3% manifestaron que se encuentran satisfecho y muy satisfecho con el servicio de entregas. Por último, se establece que necesita mejorar el servicio de entregas de la empresa MobilFoods. Después de implementado el aplicativo web se realizó la misma encuesta teniendo como resultado, que el 90%, indicaron que se sienten satisfechos, mientras que el 1% manifestó que se encontraban muy satisfecho, y no hubo encuestados que mencionaran sentirse normal, poco y nada satisfecho por ello se observa que su porcentaje de 0%.


32 Pregunta 5: ¿Cuál es la probabilidad de que vuelva a usar el servicio que se ofrece?

Probabildad de usar el servicio 77% 682 51% 451

4% 31

3% 30

Muy probable

3% 23 Probable

23% 19% 200 170

Normal Pre-test

0% 0

20% 177

0% 0

Poco probable Nada probable

Post-test

Figura 9. Probabilidad que vuelva a usar el servicio

Análisis e interpretación: En base a los datos proporcionados en la figura 9, el 51% manifestaron que es poco probable que vuelva a usar el servicio que se ofrece, además el 23% de los clientes comentaron que es normal que vuelva a usar el servicio, mientras que el 20% mencionaron que es nada probable, por otra parte, el 4% señalaron que es muy probable y el 3% explicaron que es probable que ellos vuelvan a usar el servicio de entregas a domicilio. Por ello se fortaleció el servicio de entregas con una aplicación web que permita mejorar el servicio. Después de implementar el aplicativo se realizó la misma encuesta y se obtuvo los siguientes resultados como se observa en la figura 9, el 77% indicaron que es probable que vuelvan a usar el servicio, mientras que el 19% explicaron que es normal que vuelvan a usar el servicio, y el 3% comentaron que es muy probable que vuelvan a usar el servicio que se ofrece, y no hubo encuestados que indicaran que fuese poco y nada probable en volver a usar el servicio que se ofrece. Pregunta 6: ¿Qué tanto le interesa que se clasifiqué sus preferencias?

Clasificación de preferencias 89% 789

4% 34

3% 23

Extremadamente interesado(a)

Muy interesado(a)

Moderadamente interesado(a)

2% 20

2% 16

Poco interesado(a) Nada interesado(a)

Pre-test

Figura 10. Interés de clasificación de preferencias


33 Análisis e interpretación: De acuerdo a la información en la figura 10, se muestra que el 89% de los clientes encuestados estuvieron muy interesados(as) que se clasifiqué sus preferencias, así como el 4% mencionaron que se encontraban moderadamente interesados(as), mientras que el 3% se encontraban extremadamente interesados(as), a diferencia del 2% encuestados indicaron que se encontraban poco y nada interesados(as). Por otro parte, con los datos obtenidos se observó el interés de que se clasifiqué sus preferencias, por ello se implementó en la aplicación un módulo de clasificación de preferencias utilizando un algoritmo de machine learning. Pregunta 7: Identifique su género

Género

91% 803

9% 79 Masculino

Femenino Pre-test

Figura 11. Género

Análisis e interpretación: A partir de los datos de la figura 11, se determinó que el 91% de los clientes encuestados son femeninos, mientras que el 9% indica que son masculinos. Esto quiere decir que son más mujeres las que usan el servicio de entregas a domicilio de la empresa MobilFoods. Pregunta 8: Señale su edad

Edad 69% 608 23% 202

2% 22

3% 27

18

19-24

25-30

31 a 36

3% 23 Más de 37

Pre-test

Figura 12. Edad

Análisis e interpretación: En la figura 12, se muestra los datos obtenidos donde el 69% tenían de 25 a 30 años de edad, mientras que el 23% indicó que tenían de 31 a 36 años,


34 además el 3% manifestaron que tenían entre 19 a 24 años, el 3% reveló que tenían más de 37 años y el 2% tiene 18 años de edad. 4.1.4.1.

Discusión de los resultados de las encuestas

La empresa MobilFood tiene 3 años de funcionamiento, cuenta con una estructura básica para poder desarrollar sus actividades. Como se observar en el apartado anterior con la información obtenida, se puede concluir que los problemas en la empresa MobilFoods se relacionaron con la frecuencia que experimentan dificultades en el servicio, los clientes, se encontraban poco satisfechos. Por ello, se debe fortaleció el servicio de entregas a domicilio para mejorar la satisfacción del cliente. Por otra parte, la mayoría de los encuestados mencionaron que, si están muy interesados que se les clasifiqué sus preferencias, es por ello que se desarrolló y se implementó una aplicación web para el fortaleciendo los procesos de gestión logística de servicio a domicilio en la empresa MobilFoods de la provincia de Santo Domingo de los Tsáchilas, basado en machine learning para poder clasificar las preferencias de los clientes. Asimismo, luego de la implementación de la aplicación web, se les aplicó la misma encuesta como se observa en el apartado anterior, mencionaron que están satisfecho con los servicios prestados y con la aplicación web.

4.2. Segundo Resultado: Algoritmo machine learning En este apartado se analizó los diferentes algoritmos de machine learning, con un cuadro comparativo, se obtuvo una estructura del algoritmo para determinar el alcance y funcionalidad en la aplicación web. 4.2.1. Tabla comparativa de los algoritmos de regresión para machine learning A partir de la entrevista realizada al ingeniero David Garcia, se pudo evidenciar que la empresa MobilFoods necesita clasificar las preferencias de cada cliente. Se puede evidenciar en la tabla 6 el cuadro comparativo de los algoritmos de regresión lineal, regresión polinomial y regresión logística.


35 Tabla 6. Tabla comparativa de algoritmos de Machine Learning ALGORITMOS DESCRIPCIÓN DEL ALGORITMO Regresión Lineal Implica predecir la variable dependiente y como una función de una o más variables independientes x trazando una línea recta que se ajuste mejor al conjunto de datos proporcionado. (Tusell, 2011, págs. 2-5) Si solo hay una variable independiente, la regresión lineal es simple; si hay más de una, la regresión lineal es múltiple. El modelo es rápido y robusto, si embargo para confirmar su operatividad normal, debe existir una relación lineal entre entrada y salida. (González B. , 2018, pág. 4) La ecuación que se emplea en la hipótesis es la siguiente: ℎ(𝑥) = 𝑏0 + 𝑏1𝑥1 Un ejemplo de regresión lineal simple es predecir la cantidad de paraguas que se venderán con base a los registros históricos meteorológicos del año anterior. (Svetlana, 2021, pág. 1) Un ejemplo de regresión lineal múltiple es predecir las ventas de productos en función de los fondos invertidos en comerciales de televisión y anuncios de radio. (Amat, 2016) En este último caso, dado que hay dos variables independientes, se pueden representar con un ajuste en el plano en lugar de la línea recta. Regresión Polinomial

La regresión polinomial intenta localizar un polinomio de grado n que se adapte a la distribución de datos a través de la curva. Es útil cuando la regresión lineal no puede ajustarse completamente a los datos debido a alguna falta de linealidad entre ellos. (Gonzalez, 2018) El modelo polinomial tiene una gran flexibilidad en comparación con el modelo lineal, ya que se obtienen más o menos curvas de ajuste según el grado del polinomio. Sin embargo, aumentar excesivamente el orden del polinomio provocará un ajuste excesivo, porque, aunque el error de los datos iniciales se ha reducido considerablemente, el modelo aún no se puede generalizar a los nuevos datos de entrada. (Gonzalez, 2018) La siguiente ecuación se emplea en la hipótesis para la regresión polinomial de tercer grado y de una variable. ℎ(𝑥) = 𝑏0 + 𝑏1𝑥1 + 𝑏2𝑥2 + 𝑏3𝑥3 …

Regresión Logística

Un ejemplo de regresión polinomial es la demanda horaria de electricidad en función de la temperatura ambiente, sigue un comportamiento no lineal ajustándose con un polinomio cuarto grado. (Gonzalez, 2018) La función logística es una función que encuentra la probabilidad (P) de ocurrencia del impacto en cuestión para cada individuo. Para entender el origen de esta función, se debe explicar la definición de Odd, que consiste en la razón entre la probabilidad de que ocurra el evento y la probabilidad de no ocurrir el evento. Puede utilizar este modelo cuando desee investigar si una o más variables explican las variables dependientes con características cualitativas. Esto sucede a menudo en la medicina, porque al intentar dar respuesta a preguntas basadas en la existencia o no existencia de determinadas características, estas características no se pueden cuantificar, sino que representan la existencia o no existencia de determinados efectos. Su ecuación se obtiene la inversa de la función llamada sigmoide. (Fuiza & Rodríguez , 2000, págs. 477-565). 1 ℎ(𝑥) = t 1 + 𝑒 −𝑤 x Por ejemplo, La regresión logística en la rama de la medicina se usa para pronosticar si un tumor es maligno o benigno según los años de edad del paciente y el tamaño del tumor. El término de decisión está marcado por la ecuación 𝑧 =wtx, por lo cual el grado de cada elemento cambia para obtener la curva más adecuada para los datos. (Kapur, 2016)


36 4.2.1. Tabla comparativa de los algoritmos de clasificación para machine learning En la tabla 7 se puede observar el cuadro comparativo de los algoritmos de clasificación como bayesiano ingenuo, k vecinos más próximos y máquinas de vectores de soporte. Tabla 7. Tabla comparativa de algoritmos de Machine Learning Modelo Ventajas Clasificador  Se adapta muy bien a datos de texto. bayesiano  Es fácil de implementar. ingenuo  Su ejecución es rápida al compararlo con otros algoritmos (Lauría & March, 2011).

k vecinos más próximos (KNN)

     

Máquinas de vectores de soporte (SVM)

 

Práctico para conjuntos de datos de texto. No paramétrico. Se consideran más características locales del documento o texto. Naturalmente opera clases múltiples conjuntos de datos. Por su simplicidad es fácil de comprender e interpretar. Posee una precisión alta. SVM puede modelar no lineales límites de decisión. Se desempeña de similar modo a la regresión logística cuando existe separación lineal.  Robusto para los problemas de sobreajuste en especial cuando se trata de datos de texto establecidos en varias dimensiones

Dificultades  Una hipótesis concreta sobre la forma de manejo de datos.  Restringido por la carencia de datos para los que es posible cualquier valor en el plano de características.  La probabilidad de un valor debe ser estimado por un estadista. (MacDonell & Gray, 1998).  Este modelo requiere un alto valor computacional.  El óptimo valor de k es difícil de hallar.  Restricción en grandes problemas de búsqueda para encontrar el vecino más cercano. (De La Hoz, De La Hoz, & Fontalvo, 2019)  Es difícil hallar una función significativa de distancia para los datos de texto en conjunto. (Bloehdorn & Hotho, 2004).  Inexactitud en los resultados causado por una gran cantidad de dimensiones originados para datos de texto.  Es difícil elegir un kernel eficiente cuando la función es susceptible a problemas de entrenamiento.  Complicación de la memoria (Albitar, Espinasse, & Fournier, 2012).

Con lo analizado en la tabla 7, se observó que el KNN es un algoritmo donde puede clasificar las tendencias en el comportamiento de compra y sugerir productos a un cliente. Se implementó KNN, el algoritmo de los k vecinos más cercanos, se utilizó la librería PHP-ML, que es una biblioteca de uso open source de aprendizaje automático para el lenguaje de PHP (Kondas, 2017) y se describe a continuación: 1. Cargar la librería que contiene el algoritmo use Phpml\Classification\KNearestNeighbors; 2. Inicializa K al número elegido de vecinos más cercanos para escanear predeterminados: 3; $k:3 3. Se usa la variable distanceMetric para objeto de distancia, euclidiano predeterminado $distanceMetric:


37 4. Calcula la distancia entre los datos de consulta y los datos actual. La instancia al algoritmo utilizando la variable k $classifier = new KNearestNeighbors($k=4); Lambda variable utilizada para el cálculo de la distancia Euclidean Clase para el cálculo de la distancia de Euclidean. √∑𝑛𝑖(𝑞𝑖 − 𝑝𝑖 )2 (Kondas, 2017) $classifier = new KNearestNeighbors($k=3, new Euclidean($lambda=4)); 5. Carga los datos que se tiene en la base de datos con una variable numérica y otra categórica. Luego se realiza un entrenamiento a un clasificador, simplemente se proporciona muestras de entrenamiento y etiquetas $samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]]; // vector bidimencional $labels = ['a', 'a', 'a', 'b', 'b', 'b'];// vector unidimensional $classifier = new KNearestNeighbors();// instancia del algoritmo $classifier->train($samples, $labels);// entrenamiento del algoritmo 6. Para predecir se envía valores aleatorios y retorna una variable o una matriz de muestra $classifier->predict([3, 2]); // return 'b' $classifier->predict([[3, 2], [1, 5]]); // return ['b', 'a'] (Kondas, 2017)

4.3. Tercer Resultado: Desarrollar de la aplicación web 4.3.1. Acrónimo de la aplicación web En la figura 13 se observa el logo de la empresa MobilFoods, que representa a su aplicación móvil para clientes, en vista de que el producto que se desarrolló pertenece a la empresa se decidió conserva el mismo logo.

Figura 13. Logo de la aplicación web


38 4.3.2. Scrum En el desarrollo de la aplicación web, se prefirió trabajar con Scrum, que es un proceso en el que aplica un conjunto de buenas prácticas y obtener mejores resultados en poco tiempo de manera organizada. Enfocándose en la administración de pequeños y medias proyectos en entornos complejos, donde la innovación, la flexibilidad, la productividad y competitividad son primordiales a través de soluciones adaptativas parSa problemas complejos. Según Schwaber & Sutherland (2020) indica que, “Scrum es un marco de trabajo liviano que ayuda a las personas, equipos y organizaciones a generar valor”. 4.3.3. Primer Sprint 4.3.3.1.

Planificación del primer Sprint

De acuerdo a la planificación utilizada en el marco de desarrollo Scrum, en el primer Sprint se escogió tres historias de usuarios (ingeniería de requerimientos ágil), que representan el módulo de categorías con una duración de dos semanas, que en total representan 44 puntos de estimación. Las cuales fueron revisadas en conjunto con la parte solicitante, de la cual se realizó el Sprint Backlog con el fin de organizar y optimizar la supervisión de las tareas a realizar con el equipo de trabajo. Se realizaron historias de usuarios para captar la funcionalidad del sistema, las mismas que consiste en una descripción detallada de los requerimientos del dueño de producto (Product Owner). Asimismo, en las historias de usuario se describen las funcionalidades (con un enfoque interactivo e incremental para garantizar la satisfacción del cliente), los puntos de estimación, el rol y los escenarios de pruebas. La planificación se desarrolló tomando en cuenta las operaciones del módulo de categorías, las cuales son; creación, visualización, modificación y eliminación. Roles Como se puede observar en la tabla 8, cada persona tiene un rol establecido que está a su cargo. Para este proyecto el Product Owner es el Ing. David García jefe de gestión y logística, el Scrum Master es el Mg. Willian Ocampo y el Scrum Team es Edwin Villamarin y Sandra Sánchez.


39 Tabla 8. Roles Scrum

ROL Product Owner

ENCARGADO Ing. David García

Scrum Master Scrum Team Scrum Team

Mg. Wilian Ocampo Ing. Edwin Villamarin Ing. Sandra Sánchez

ÁREA Jefe de gestión logística de MobilFoods Docente PUCE-SD Desarrollador y Tester Diseñador y Analistas

Nota: TI= Tecnologías de información

Arquitectura de software Se seleccionó el modelo vista controlador para el desarrollo de la aplicación web. Modelo: En este apartado se almacenó los datos del sistema, se empleó el gestor de base de datos Mysql; Vista: son los datos visibles para el usuario; Controlador: Interactúa con los datos del modelo y se publica para el usuario. Parametrización Como se puede observar en la tabla 9, la parametrización del código, (el modelo, vista y controlador) es una buena práctica para el desarrollador, que ayuda a la organización de cada parte de la aplicación web, de manera que permita entender la codificación y el desarrollo del aplicativo web. Tabla 9. Parametrización

MODELO Category_model.php

Usuario_model.php

VISTA category_view.php Editcategory_view.php Addnewcategory_view.php Addminacces_view.php Menú_view.php Logout_view.php Index_view.php

CONTROLADOR Restaurant_controller.php Authantication_controller.php

Product Backlog En este artefacto se capturar y prioriza la funcionalidad del producto, el cual contiene información como: ID, Historia de usuario, prioridad, estimación y riesgo de desarrollo, como se observa en la tabla 10 el Product backlog, fue recolectado por el Product Owner, que contiene descripciones breves de las funcionalidades (en las entrevistas se priorizó las historias de usuarios). En la tabla 11 se observa las historias técnicas para el desarrollo (Ver Anexo VII).


40 Tabla 10. Product Backlog v1.3 ID HISTORIA DE USUARIO

PRIORIDAD

ESTIMACIÓN

1 2 3 4 5 6 7 8 9

90 80 70 70 60 60 70 70 50

8 13 13 21 8 13 12 14 16

Ingreso de categoría Visualización de categorías y subcategorías Ingreso de tiendas Administración de tiendas Ingreso de productos Administración de productos Ingreso de categorías de productos Administración de categorías de producto Implementación machine learning en aplicativo

Tabla 11. Product Backlog Técnico ID HISTORIA TÉCNICA

ESTIMACIÓN

1 2

5 5

Accesibilidad Usabilidad

RIESGO DE DESARROLLO Media Media Media Media Media Media Media Media Alta

RIESGO DE DESARROLLO Media Media

Estimación La métrica de estimación se realizó con puntos de historias y la técnica que se aplicó fue serie Fibonacci, los puntos de historia consisten en establecer una cantidad de trabajo mínima a una cierta actividad y estimar el resto de tareas que se deben realizar en base a la cantidad de trabajo en un punto. La estimación es relativa y se realizó en base a la experiencia de los desarrolladores. Velocidad de desarrollo La velocidad de desarrollo es la suma de todos los puntos de historias que se da en un Sprint backlog. Cada historia de usuario se priorizó por parte del Product Owner, además se determinó 44 puntos la velocidad de desarrollo. Los mismos fueron desarrollados en un periodo de 2 semanas y con 5 días cada una, durante 4 horas diarias como se muestra en la tabla 12. Tabla 12. Velocidad de desarrollo SEMANAS

DÍAS

HORAS DIARIAS

1 2

5 5

4 4


41 Fertilización cruzada En esta etapa del desarrollo de la aplicación web se recoge las funcionalidades del aplicativo con previas reuniones del Product Owner y los desarrolladores. Se obtuvo como evidencia y herramienta las historias de usuario para trabajar en el desarrollo ágil. Escenarios de prueba Se elaboró los escenarios de pruebas para verificar que las historias de usuarios estén de acuerdo a los requerimientos del Product Owner. Por ello se evidencia las pruebas de aceptación como parte de la documentación del aplicativo web (ver Anexo VIII). Por ende, el desarrollo se orienta al Story Test-Driven Development. Gestión de Incidencias Como se observa en la figura 14, se realizó el control de incidencias con la aplicación en línea denominada Jira, que es una herramienta para la administración de tareas de un proyecto, en donde se registraron las tres historias de usuarios, que se planificó en el primer Sprint backlog. El Product Owner realizó el seguimiento de errores e incidencias para la gestión operativa del proyecto (Atlassian, 2021).

Figura 14. Control de incidencias con Jira.php Nota: HU1=Historias de usuarios 1; HT1= Historia técnica 1; MOB-18=MOBilfoods-incidencia 18

Sprint backlog 1 Se ha planificó en el Sprint backlog 1 tres historias de usuario, y dos historias técnicas que tienen 44 puntos de estimación total, aquí se muestra las tareas de ingeniería por historia de usuario, historia técnica, categoría y puntos de estimación de cada tarea como se observa en la tabla 13.


42 Tabla 13. Sprint backlog Objetivo: Elaborar el ingreso de categorías, subcategorías y tiendas para el correcto funcionamiento de la aplicación web. N°

HISTORIA

CATEGORÍA

ESTIMACIÓN

Diseño

3

Pruebas Pruebas

Prueba de conexión

1

Diseño de la interfaz del formulario de visualización de categorías se creó un fichero denominado category_view.php

2

Diseño

1

Pruebas

Desarrollo de una función php para envíar la búsqueda de category_view.php Creación de 2 tablas denominada fooddelivery_subcategory, en la base de datos fooddelivery en MySQL Server Desarrollo de la función getcategoryallbyCity() en el controlador denominado Restaurant_controller.php Diseño de la interfaz de edición de categorías fichero addnewcategory_ view.php. Desarrollo en el contrololador Restaurant_controller.php función editcategorydetail (). Desarrollo de una función php para llamar al método del controlador en category_view.php. Desarrollo de un fichero para eliminar categorías en deletecategory.php usando Ajax. Desarrollo de la función deletecategoryres() para la eliminación de categorías en el controlador llamado ajax_controller.php Pruebas unitarias en PhpUnit ( un caso de prueba)

Pruebas

Prueba de envío de parámetros

1

Diseño de la interfaz de ingreso de tiendas se elabora el fichero addrestaurant_view.php Creación de una tabla denominada fooddelivery_restaurant, en la base de datos fooddelivery en MySQL Server Creación de una función denominada restaurant_create_restaurant_in_city(), en la base de datos fooddelivery en el servidor MySQL Desarrollo de una funcionalidad para invocar a la función SQL el restaurant_create_restaurant_in_city(). Pruebas unitarias en PhpUnit ( un caso de prueba)

4

Desarrollo 1

8 Desarrollo

Desarrollo Desarrollo

Desarrollo

2

Visualización de categorías y subcategorías

Diseño

13

Desarrollo

Desarrollo Desarrollo Desarrollo

Diseño Desarrollo

3

Ingreso de tiendas

Desarrollo

13

Desarrollo

Pruebas 4 5

HT1 Accesibilidad HT2 Usabilidad

4.3.3.2.

ESTIMACIÓN

Diseño de la interfaz de ingreso de categorías fichero addnewcategory_ view.php. Desarrollo un script form-wizardsvalidation.demo.min .js Desarrollo de una tabla- fooddelivery_category, en la base de datos fooddelivery en MySQL Server. Desarrollo en el contrololador Restaurant_controller.php función addnewcategory(). Pruebas unitarias en PhpUnit ( un caso de prueba)

Desarrollo

Ingreso de categoría

TAREA DE INGENIERÍA

5 5

3 3

3

1

1

1

1 1

1 1 2

1

2

3

2

2

Analiza con la herramienta de accesibilidad TAW. Revisa con las guías de evaluación Heurística.

Reuniones diarias del Sprint 1

En las reuniones con el Product Owner y el Scrum Team duraron menos de 15 minutos, en donde se indicó de forma detallada el Sprint backlog, las dificultades de las tareas se realizaron de forma organizada, gracias a la aplicación del Jira se llevó un seguimiento para las


43 tareas de ingeniería asociadas a las primeras historias de usuarios. Se muestra de forma detallada el trabajo realizado de las tareas de ingeniería de cada historia de usuario que se ha realizado en el primer Sprint con el ScrumTeam. Historia de usuario 1: Ingreso de categorías Con el uso del editor de texto Notepad++ de código fuente libre, se diseñó la interfaz de usuario, también se utilizó Bootstrap 4. La misma que provee diseño web intuitivo para el usuario, el resultado se muestra en la figura 15. Se elaboró la vista addnewcategory_view.php, como se observa en la figura 16.

Figura 15. Diseño de ingreso Categoría

Figura 16. Código fuente addnewcategory_view.php

Además, para evitar ataques de inyección SQL y mejorar la organización del código fuente, se utilizó un controlador restaurant_controller.php, que consiste en un intermediario entre la vista y el modelo y permitió la ejecución de SQL, se evidencia en la figura 17.

Figura 17. Código fuente Restaurant_controller.php

Para gestionar el manejo del ingreso de categorías, se creó un script denominado formwizards-validation.demo.min.js valida que los inputs no estén vacíos para continuar y en caso de estarlo presenta una notificación, indicando que debe ingresar una categoría (ver Figura 18).


44

Figura 18. Código fuente form-wizards-validation.demo.min.js

Para la base de datos se utilizó un servidor MySQL, se denominó fooddelivery y se creó la tabla fooddelivery_category para almacenar las categorías de las tiendas, se puede observar en la figura 19. Para ver, editar, estructurar y conectar al servidor MySQL se utilizó HeidySQL de código fuente libre. Con el fin de probar el correcto funcionamiento del ingreso de categorías se creó una prueba unitaria, para ello se desarrolló la función it_visit_page_add_category(), como se muestra en la figura 20 y su ubicación dentro del archivo (/test/feature/prueba_unitaria.php).

Figura 19. Tabla fooddelivery_category

Figura 20. Prueba unitaria nueva categoría

Para

las

pruebas

de

conexión

se

llamó

al

controlador

denominado

restaurant_controller.php, el mismo que al ejecutarse correctamente presenta una respuesta, caso contrario aparece el mensaje de error “Por favor verifica el nombre de la categoría”, ver la figura 21.

Figura 21. Prueba de conexión añadir categoría


45 Historia de usuario 2: Visualización de categorías y subcategorías Para la interfaz de visualización de categorías y subcategorías, se desarrolló el fichero denominado category_view.php, a continuación, en la figura 23 se muestra un extracto del código fuente HTML que provee un diseño web intuitivo para el usuario, el resultado se muestra en la figura 22.

Figura 22. Visualización de categorías

Figura 23. Extracto de código category_view.php

Se puede observar el código SQL en la figura 24 para almacenar las categorías de las tiendas en la base de datos, se creó la tabla fooddelivery_subcategory, que contiene los campos: id, nombre y fecha de creación.

Figura 24. Código fuente creación de tabla fooddelivery_subcategory

Asimismo,

se

creó

la

función

getcategoryallbyCity()

en

el

controlador

restaurant_controller.php, permitiendo la ejecución de SQL para seleccionar todas las categorías disponibles de la ciudad y ordenarlas de forma descendente, como lo muestra el código fuente en la figura 25. Se realizó una procedimiento en el fichero category_view.php que llama a la función getcategoryallbycity(), permitiendo al usuario visualizar las categorías existentes por ciudad, se puede evidenciar un extracto del código fuente en la figura 26.


46

Figura 25. Código fuente función getcategoryallbyCity()

Figura 26. Código fuente de llamada al controlador en category_view_php

Para la interfaz de edición de categorías, se desarrolló una vista en el fichero editcategory_view, permitiendo editar y guardar categorías, en la figura 27 se muestra un extracto del código fuente HTML.

Figura 27. Código fuente de la interfaz de edición de categoría editcategory_view.php

También,

se

creó

la

función

editcategorydetail()

en

el

controlador

restaurant_controller.php, permitiendo procesar la consulta SQL para modificar una categoría y retornar una respuesta, como lo muestra el código fuente en la figura 28. Además, se realizó una función en el fichero editcategory_view.php, la misma que envía al controlador como parámetro el nombre y el id de la categoría a editar y devuelve una respuesta, al ser positiva mostrará un mensaje de éxito, caso contrario mostrará un mensaje de error y se puede evidenciar en la figura 29.


47

Figura 28. Código fuente de la función editcategorydetail () en el controlador

Figura 29. Código fuente del llamado al controlador desde editcategory_view.php

En la figura 30, se observa un extracto de código fuente para eliminar categorías que se encuentra en el fichero deletecategory.php, para ello se empleó la ejecución de una sentencia SQL. Además, se desarrolló la función deletecategory() que recibe como parámetro la id de categoría a eliminar devolviendo una respuesta, al ser positiva se actualizará la información, caso contrario mostrará un mensaje de error, para procesar esta respuesta se utilizó Ajax que evita recargar la página web. Se puede evidenciar el código fuente en la figura 31.

Figura 30. Código fuente fichero deletecategory.php

Figura 31. Código fuente de la función en Ajax deletecategory.php

Con el fin de probar el correcto funcionamiento de edición de categorías, se creó una prueba unitaria ubicado en el directorio /test/feature/prueba_unitaria.php, el código fuente de la prueba se muestra en la figura 32.


48 Para

comprobar

el

correcto

envío

de

parámetros

al

controlador

restaurant_controller.php, se realizó una prueba que permite recibirlos mediante la variable session, se observa el código fuente en la figura 33.

Figura 32. Pruebas unitarias edición de categorías

Figura 33. Prueba de envío de parámetros

Historia de usuario 3: Ingreso de tiendas Para la interfaz de ingreso de tiendas, se desarrolló una vista en el fichero addnewcategory_view.php, permitiendo ingresar y guardar tiendas, en la figura 34 se muestra un extracto del código fuente HTML.

Figura 34. Código fuente de interfaz de ingreso de tiendas.

Para la creación de tiendas en la base de datos, se modificó la tabla fooddelivery_restaurant, se añadió la opción de varias categorías o subcategorías de negocios, entre los campos más importantes se encuentran la ubicación geográfica de cada tienda que permite calcular precios de envío por distancia, ver figura 35 y 36.


49

Figura 36. Código fuente de la función SQL restaurant_create_restaurant_in_city() Figura 35. Código fuente de la tabla fooddelivery_restaurant()

En la figura 37, se observa un extracto de código fuente para el ingreso de tiendas mediante una consulta SQL, si se inserta los datos correctamente se procederá al ingreso de la tienda, caso contrario mostrará un mensaje de error al usuario. Como se observa en la figura 38, se generó una prueba unitaria para comprobar el correcto funcionamiento en el código fuente del ingreso de tiendas, las pruebas se encuentran dentro del archivo ubicado en /test/feature/prueba_unitaria.php.

Figura 38. Pruebas unitarias de ingreso de restaurante

Figura 37. Código fuente del llamado al controlador desde addrestaurant.php


50 Historia técnica 1: Usabilidad En la actividad de usabilidad se revisa guías de evaluación Heurística como se muestra en la figura 39, donde se analizó aspectos de usabilidad en las etapas de desarrollo.

Figura 39. Guía Heurística Nota: fuente: (Hassan Montero & Martín Fernández, 2003)

Historia técnica 2: Accesibilidad Como historia técnica, es necesario que se cumpla las pautas de accesibilidad al contenido web, WCAG (perceptible, operable, comprensible y robusto). Se analizó con la herramienta de accesibilidad TAW, que indica si la aplicación web de MobilFoods (https://altokeapp.com/franquicias/index.php) trabaja con las pautas, como se observa en la figura 40. Se solvento durante el desarrollo de este primer sprint las observaciones del reporte de la herramienta TAW (problemas, advertencias y no verificados).

Figura 40. Test de accesiblidad web Nota: fuente: https://www.tawdis.net/ (CTIC CT, 2021)

Gráfico de trabajo pendiente Como se observa en la figura 41, el gráfico de trabajo pendiente de Sprint backlog 1, se realizó en la aplicación en línea denominada Jira, se muestra lo siguiente: el tiempo en horas en el eje de las x y puntos de historias en el eje de la y, también se observa que se ha trabajado


51 en los tiempos planificados. Esta herramienta presenta informes para llevar un seguimiento del trabajo total restante y el cumplimiento del objetivo del sprint. Esto ayuda al Scrum Teams a gestionar el trabajo pendiente y responder en consecuencia a la administración de tareas de un proyecto, asimismo, el Product owner puede darle seguimiento de errores e incidencias, para la gestión operativa del proyecto.

Figura 41. Gráfico de trabajo pendiente del Sprint 1 Nota: fuente: https://www.atlassian.com/es/software/jira/free (Altassian, 2021)

4.3.3.3.

Revisión del primer sprint

Se realizaron pruebas de aceptación utilizando la técnica de caja negra, con ella se evidencia que el Product Owner está conforme con los avances realizados por el Scrum Team, dando garantía de que el cliente este satisfecho con el producto (Ver Anexo VIII). Durante el desarrollo del primer sprint también se realizaron varias pruebas unitarias con la finalidad de corregir los errores que se presenten, en cada una de las historias de usuarios y de están manera facilita que el código fuente esté libre de errores. 4.3.3.4.

Retrospectiva del primer sprint

En este primer sprint se logró desarrollar e implementar las tres primeras historias de usuarios que son ingreso de categorías, visualización de categorías y subcategorías e ingreso de tiendas. También se logró en realizar las dos historias técnicas que permitió evaluar la accesibilidad y la usabilidad en la web, controlando que la página sea perceptible, operable, comprensible y robusto.


52 Por otra parte, se analizó las historias de usuarios tomando en cuenta, los puntos de estimación en el que se va a trabajar, en el segundo sprint según con lo que se acordó con el Product Owner y el Scrum Team. 4.3.4. Segundo Sprint 4.3.4.1.

Planificación del segundo Sprint

De acuerdo a la planificación utilizada en el marco de desarrollo Scrum, en el segundo Sprint se escogió tres historias de usuarios (ingeniería de requerimientos ágil) que representan el módulo de categorías con una duración de dos semanas, que en total representan 42 puntos de estimación. las cuales fueron revisadas en conjunto con la parte solicitante, de la cual se realizó el segundo Sprint Backlog con el fin de organizar y optimizar la supervisión de las tareas realizadas con el equipo de trabajo. En esta planificación se desarrolló tomando en cuenta las operaciones del módulo de productos las cuales son: creación, visualización, modificación y eliminación, con un enfoque interactivo e incremental para garantizar la satisfacción del cliente. Segundo sprint backlog Se ha planificó en el segundo Sprint backlog, como se observa de forma detallada en la tabla 14, que contiende tres historias de usuario con 42 puntos de estimación total, así también las tareas de ingeniería por historia de usuario que son: administración de tienda, ingreso de productos y administración de productos, distribuidas por diferentes puntos de estimación de cada tarea (Ver Anexo VII). Tabla 14. Segundo Sprint backlog Objetivo: Elaborar la administración de tienda, ingreso de productos y administración de productos para el correcto funcionamiento de la aplicación web. N°

HISTORIA

4

Administrac ión de tiendas

CATEGORÍA

ESTIMACIÓN

21 Diseño Desarrollo

Desarrollo Desarrollo Diseño

TAREA DE INGENIERÍA

Diseño de la interfaz del formulario de administración de tiendas se creó un fichero denominado dashboard_view.php Desarrollo de 7 tablas en la base de datos: fooddelivery_restaurant, fooddelivery_bookorder, Fooddelivery_city, fooddelivery_category, fooddelivery_category_res, fooddelivery_menu, fooddelivery_review. Desarrollo de la función getrestaurant() en el controlador restaurant_controller. Desarrollo de la funcionalidad que permitirá enviar datos al controlador para visualizar y buscar los locales consultados. Diseño de la interfaz de edición de tiendas fichero editrestaurant_view.php

ESTIMACIÓN

2 4

3 3 2


53 Desarrollo Desarrollo

Desarrollo Desarrollo Pruebas 5

Ingreso de producto

8 Diseño

Desarrollo Desarrollo Desarrollo Pruebas 6

Administrac ión de productos

Diseño

13

Desarrollo Desarrollo Desarrollo Diseño

Desarrollo Desarrollo Desarrollo Desarrollo Desarrollo Desarrollo Pruebas

4.3.4.2.

Desarrollo en el contrololador Restaurant_controller.php y función editrestaurantdetail(), editreowndetail(). Desarrollo de 5 métodos deletecategorymul(), deletemenuandsubmenu(), deleteresfoodorder(), deleteresreview(), deleterestaurant(), para eliminar tiendas en restaurant_controller.php. Desarrollo del fichero deleterestaurant que llama a los 5 métodos del controlador. Desarrollo de función deleterestaurant() en el fichero de la vista dashboard_view.php para llamar al fichero Ajax Pruebas unitarias en PhpUnit ( un caso de prueba)

1

Diseño de la interfaz del formulario de visualización de productos se creó un fichero denominado submenu_view.php

2

Desarrollo de la tabla fooddelivery_submenu, en la base de datos fooddelivery en MySQL Server Desarrollo de la función addnewsubmenu() en el controlador restauntant_controller Desarrollo de la funcionalidad en submenu_view que llama a la función addsubmenu() en el controlador. Prueba de envío de parámetros

2

Diseño de la interfaz del formulario de ingreso de ingreso de productos a través de un modal dialog, se creó un fichero denominado submenu_view.php Desarrollo de la función getsubmenubyid() en el restaurant_controller.php Desarrollo de la funcionalidad que llama a getsubmenubyid() en el controlador Desarrollo de la función getcategoryallbyCity() en el controlador denominado Restaurant_controller.php Diseño de la interfaz del formulario de edición de productos a través de un modal dialog, se modificó el fichero denominado submenu_view.php Desarrollo de la función editsubmenudetail() en el restaurant_controller.php Desarrollo de la funcionalidad que llama a la función editsubmenudetail() Desarrollo de la función deletesubmenu() en Ajaxcontroller.php

1

Desarrollo del fichero Ajax/deletesubmenu.php que llama al deletesubmenu() Desarrollo de la función deletemenu() en la vista menu_view.php

1

Desarrollo del botón que llama a la función deletemenu() en menu_view.php Pruebas unitarias en PhpUnit ( un caso de prueba)

2

3

1 1 1

2 1 1

1 1 1 1

1 1 1

1

1

Reuniones diarias del Sprint 2

En cuanto a la planificación del Sprint 2, se consideró las historias de usuario 4, 5 y 6, donde se asignó 42 puntos de estimación en total, en las reuniones mantenidas con el Product Owner y el Scrum Team duraron hasta 15 minutos cada una. Se llevó a cabo un seguimiento para las tareas de ingeniería asociadas a las historias de usuarios con la ayuda de la aplicación Jira. Historia de usuario 4: Administración de tiendas Para la interfaz de administración de tiendas, se desarrolló una vista en el fichero dashboard_view.php, permitiendo visualizar, buscar, modificar y eliminar, en la figura 43 se muestra un extracto del código fuente HTML y el resultado se observa en la figura 42.


54

Figura 42. Diseño de la interfaz de Administración de tiendas

Figura 43. Código fuente del diseño de la interfaz de Administración de tiendas

Se

crearon

fooddelivery_bookorder,

las

tablas:

fooddelivery_city,

fooddelivery_category_res,

fooddelivery_restaurant, fooddelivery_menu,

fooddelivery_review, las cuales se utilizaron para la administración de los locales registrados. Se observa en la figura 44 el código fuente que permitió crear la tabla fooddelivery_city, donde se almacenan los datos ingresados de las ciudades en las que opera la aplicación.

Figura 44. Desarrollo de la tabla SQL fooddelivery_city

Figura 45. Desarrollo de la tabla SQL fooddelivery_restaurant

En la figura 45 se evidencia el código fuente de la tabla fooddelivery_restaurant, que fue creada para guardar la información relacionada a los locales o establecimientos dentro de la aplicación. Se creó la tabla fooddelivery_bookorder que almacena las órdenes de pedidos realizadas por los clientes desde la aplicación, para dar seguimiento en tiempo real, y también en histórico. El código SQL se puede observar en la figura 46. Como se observa en la figura


55 47, se creó la tabla fooddelivery_category para el ingreso de las categorías principales asociadas a los locales registrados.

Figura 47. Ttabla SQL fooddelivery_category

Figura 46. Desarrollo de la tabla SQL fooddelivery_bookorder

Se creó la tabla fooddelivery_category_res para el ingreso asociado de un establecimiento. El código SQL se puede observar en la figura 48.

Figura 48. Desarrollo de la tabla SQL fooddelivery_category_res

Figura 49. Desarrollo de las tablas SQL fooddelivery_menu

En la figura 49 se observa el código SQL que creó la tabla fooddelivery_menu para el almacenamiento de los menús que ofrecen en el establecimiento a los clientes a través de la aplicación. Se creó la tabla fooddelivery_review para el ingreso de calificaciones y reseñas de los usuarios hacia los locales registrados en la aplicación. El código SQL se puede observar en la figura 50. Se desarrolló la función getrestaunrant(), que realiza una consulta SQL para obtener un listado de los locales registrados en la aplicación por ciudad, ordenado de forma descendente, como se observa en la figura 51.


56

Figura 50. Desarrollo de las tablas SQL fooddelivery_review.

Figura 51. Desarrollo de la función getrestaurant() en el controlador.

En la figura 52 se observa el código fuente que sirvió para generar la búsqueda y visualización de locales en administración de tiendas, el código se encuentra dentro del fichero de la vista dashboard_view.php, que accede a la función getrestaurant() del controlador restaurant_controller.php.

Figura 52. Desarrollo de la funcionalidad getrestaurant()

Se diseñó la interfaz de edición de tiendas, que permite mostrar la información y la modificación de su contenido como muestra la figura 53 y en la figura 54 se puede observar su código fuente.


57

Figura 54. Código fuente del diseño de la interfaz editrestaurant_view.php Figura 53. Diseño - fichero editrestaurant_view.php

En la figura 55, se evidencia el código fuente de la función editrestaurantdetail() ubicada en el controlador restaurant_controller.php, que se desarrolló para actualizar los registros de información de la tienda. Se

creó

la

función

editreowndetails()

ubicada

en

el

controlador

restaurant_controller.php para la actualización de las credenciales del propietario, como se puede observar en la figura 56.

Figura 55. Desarrollo de la función editrestaurantdetail en el controlador

Figura 56. Desarrollo de la función editrestaurantdetail en el controlador

Se puede observar en la figura 57, el código fuente de los métodos editrestaurantdetail() y editreowndetail(), que permitió enviar los parámetros necesarios para modificar la información solicitada.


58

Figura 57. Funcionalidad para acceder a los métodos de edición de locales.

Se creó un fichero con 5 métodos deletecategorymul(), deletemenuandsubmenu(), deleteresfoodorder(), deleteresreview(), deleterestaurant() para eliminar tiendas

en

restaurant_controller.php. Se desarrolló el método delecategorymul() que permitió ejecutar la sentencia SQL para eliminar la asignación de la categoría. Se puede observar en la figura 58.

Figura 58. Método deletecategorymul() en el controlador delerestaurant_controller.php.

Se creó el método deletemenuandsubmenu() para ejecutar la sentencia SQL y eliminar los menús y productos asignados a la tienda, como se puede observar en la figura 59.

Figura 59. Método deletemenuandsubmenu()-delerestaurant_controller.php


59 Se desarrolló el método deleteresfoodorder(), que permite eliminar las órdenes de pedidos realizados por los clientes, en el código se utilizó sentencia SQL, como se muestra en la figura 60. Se estableció el método deleteresreview(), para eliminar todas las calificaciones de clientes para la tienda utilizando sentencias SQL. Se puede observar en la figura 61.

Figura 60. Método deletefoodorder() en el controlador delerestaurant_controller.php

Figura 61. Método deleteresreview () en el controlador delerestaurant_controller.php

Se puede observar en la figura 62, el código fuente del método deleterestaurant() que permite eliminar el registro de la tienda, como también los repartidores asignados y las credenciales de acceso del dueño. Se creó un fichero denominado deleterestaurant.php, para la eliminación de la tienda de forma ordenada, como se puede observar el código fuente en la figura 63.

Figura 62. Método deleterestaurant ()-controlador delerestaurant_controller.php

Se desarrolló la función deleterestaurant(), usando Ajax para llamar al fichero deleterestaurant.php, que envía el ID de la tienda para la eliminación de los registros de tablas


60 asociadas, en caso de no ejecutarse se presentará un mensaje de error, el código fuente se puede observar en la figura 64.

Figura 64. Función deleterestaurant con Ajaxeliminación de tiendas.

Figura 63. Fichero deleterestaurant.php usando Ajax-eliminar tiendas.

Como se observa en la figura 65, se generó una prueba unitaria para comprobar el correcto funcionamiento del código fuente de la edición de tiendas, las pruebas se encuentran dentro del archivo en la ubicación /test/feature/prueba_unitaria.php.

Figura 65. Prueba unitaria de edición de restaurante E

Historia de usuario 5: Ingreso de productos Como se observa en la figura 66, se elaboró la interfaz de usuario para el ingreso de productos, mediante la utilización de un control llamado “modal dialog”, el cual permitió a través de HTML5 superponer los controles de un contenedor flotante, de modo que se genere


61 una interfaz amigable que facilitó el ingreso de productos a la tienda, el código fuente generado se observa en la figura 67.

Figura 66. Diseño del formulario flotante para ingreso de productos

Figura 67. Código fuente diseño formulario flotante-ingreso de productos

Se creó la tabla fooddelivery_submenu en la base de datos fooddelivery, la misma que permite el ingreso de productos, se añadieron siete campos que corresponden a los días de la semana, dependiendo de la disponibilidad del producto. En la figura 68 podemos ver el código fuente SQL para la creación de la tabla.

Figura 68. Código fuente SQL para la creación de la tabla fooddelivery_submenu

Figura 69. Código fuente de la función addnewsubmenu en el controlador

Se desarrolló la función addnewsubmenu() en el controlador restauntant_controller, que permite ejecutar la sentencia para crear un nuevo producto, como se observa en la figura 69, la función recibe como parámetro los campos para crear el producto y devuelve un valor verdadero cuando ha sido ejecutado correctamente y falso cuando existe algún error.


62 Como se observa en la figura 70, en el fichero submenu_view.php se desarrolló la funcionalidad que accede a la función getrestaurant(), enviando los parámetros al controlador para el ingreso de los productos de las tiendas. Se generó una prueba unitaria para comprobar el correcto funcionamiento del código fuente del ingreso de productos, las pruebas se encuentran dentro del archivo en la ubicación /test/feature/prueba_unitaria.php, el código fuente se evidencia en la figura 71.

Figura 70. Código fuente de la funcionalidad en submenú_view que llama al controlador

Figura 71. Prueba unitaria de edición de producto

Historia de usuario 6: Administración de productos Se diseñó el formulario de administración de productos para lo cual se utilizó una interfaz amigable e intuitiva que permita al administrador acceder rápidamente a los menús mediante botones coloridos y etiquetas de precios, como se puede observar en la figura 72, para su desarrollo se utilizó CSS y HTML5, el código fuente se puede evidenciar en la figura 73.

Figura 72. Diseño de la interfaz de administración de productos

Figura 73. Código fuente del diseño de la interfaz de administración de productos


63 Se desarrolló la función getsubmenubyid() en el controlador restauntant_controller, que permite ejecutar la consultas SQL para seleccionar un listado de los productos de una tienda registrada en la aplicación, se puede observar el código fuente en la figura 74. Como se muestra en la figura 75, se desarrolló la funcionalidad en el fichero submenu_view.php, que llama a la función getsubmenubyid, enviando los parámetros al controlador para generar la visualización y búsqueda de productos de una tienda.

Figura 74. Desarrollo-getsubmenubyid() en el restaurant_controller.php

Figura 75. Desarrollo de la funcionalidadgetsubmenubyid() en el controlador

Como se observa en la figura 76, se elaboró la interfaz de usuario para la edición de productos, mediante la utilización de un control llamado “modal dialog”, el cual permitió a través de HTML5 superponer los controles de un contenedor flotante, de modo que se genere una interfaz amigable que facilita la edición de productos en la tienda, el código fuente generado se observa en la figura 77.

Figura 76. Diseño de la interfaz Editar producto menu_view.php

Figura 77. Código fuente del Diseño de la interfaz Editar producto en menu_view.php


64 Desarrollo

de

la

función

editsubmenudetail

()

en

el

controlador

restaurant_controller.php, que ejecutó la sentencia SQL para modificar registros de productos de una tienda, según de información de producto, como se observa en la figura 78.

Figura 78. Desarrollo de la función editsubmenudetail- restaurant_controller.php

Se desarrolló la funcionalidad para acceder a la función editsubmenudetail(), que permitirá enviar los parámetros necesarios para modificar la información solicitada. Se puede observar en la figura 79.

Figura 79. Desarrollo de la funcionalidad - editsubmenudetail()

Como se puede observar en la figura 80, se desarrolló el método deletesubmenu() en el controlador ajaxcontroller, que permite ejecutar la sentencia SQL para eliminar los productos de una tienda registrada en la aplicación. Se desarrolló la función deletesubmenu() que envía el ID del producto al controlador ajaxcontroller para la eliminación de los registros de tablas asociadas, en caso de no ejecutarse devuelve un mensaje de error y el código fuente se puede observar en la figura 81.


65

Figura 80. Desarrollo de la función deletesubmenu() en Ajaxcontroller.php

Figura 81. Desarrollo del fichero Ajax/deletesubmenu.php-deletesubmenu()

Se desarrolló la función deletemenu() usando Ajax para llamar al fichero deletesubmenu.php, que envía el ID del producto para la eliminación de los registros de tablas asociadas, en caso de no ejecutarse se presentará al usuario un mensaje de error, el código fuente se puede observar en la figura 82.

Figura 82. Desarrollo de la función deletemenu() en la vista menu_view.php

Figura 83. Prueba unitaria de edición de producto

Se generó una prueba unitaria para comprobar el correcto funcionamiento del código fuente de la edición de productos, las pruebas se encuentran dentro del archivo en la ubicación /test/feature/prueba_unitaria.php y el código fuente se observa en la figura 83. Gráfico de trabajo pendiente Como se observa en la figura 84, el gráfico de trabajo de Sprint backlog 2, se realizó en la aplicación en línea denominada Jira, en la gráfica muestra el tiempo en horas en el eje de las (x), puntos de historias en el eje de la (y) y también se observa el trabajado pendiente.


66

Figura 84. Gráfico de trabajo pendiente del Sprint 2

4.3.4.3.

Revisión del segundo sprint

Durante el desarrollo del segundo sprint también se realizaron varias pruebas unitarias con la finalidad de corregir los errores que se presenten, en cada una de las historias de usuarios y de están manera facilita que el código fuente esté libre de errores. Se realizaron las pruebas de aceptación utilizando la técnica de caja negra. Así el Product Owner estuvo conforme con los avances realizados por el Scrum Team. (Ver Anexo IX). 4.3.4.4.

Retrospectiva del segundo sprint

En este segundo sprint se logró desarrollar e implementar las tres historias de usuarios que son: administración de tienda, ingreso de productos y administración de productos. También se logró cumplir con la planificación realizada en el segundo sprint backlog, según lo acordado con el Product Owner y el Scrum Team. 4.3.5. Tercer Sprint 4.3.5.1.

Planificación del tercer sprint

De acuerdo a la planificación utilizada en el marco de desarrollo Scrum, en el tercer sprint se escogió tres historias de usuarios (ingeniería de requerimientos ágil) que representan el módulo de categorías con una duración de dos semanas, que en total representan 42 puntos de estimación. Las cuales fueron revisadas en conjunto con la parte solicitante, de la cual se realizó el Sprint Backlog con el fin de organizar y optimizar la supervisión de las tareas a realizar con el equipo de trabajo. Se realizaron historias de usuarios para captar la funcionalidad del sistema las mismas que consisten en una descripción detallada de los requerimientos del dueño de producto (Product Owner).


67 4.3.5.2.

Tercer sprint backlog

En la tabla 15 se observa lo planificado en el tercer Sprint backlog, que contiende tres historias de usuario con 42 puntos de estimación total, así también las tareas de ingeniería por historia de usuario que son: el ingreso de categorías de productos, administración de categorías de producto e implementación machine learning en el aplicativo, distribuidas por diferentes puntos de estimación de cada tarea. Tabla 15. Tercer Sprint backlog Objetivo: Elaborar el ingreso de categorías de productos, administración de categorías de producto e implementación machine learning en aplicativo, para el correcto funcionamiento de la aplicación web. HISTORIA CATEGORÍ ESTIMA TAREA DE INGENIERÍA ESTIMA N° A

7

Ingreso de categorías de producto

CIÓN

11

Diseño de la interfaz del formulario de categoría de productos se creó un fichero denominado menu.php Desarrollo de la tabla fooddelivery_menu en la base de datos.

2

Diseño Desarrollo Desarrollo

Desarrollo de la función addnewmenu() en el controlador restauntant.php.

2

Desarrollo

Desarrollo de la funcionalidad que llama a addnewmenu() del controlador restauntant.php. Pruebas unitarias en PhpUnit ( un caso de prueba)

2

Diseño de la interfaz administración de categorías

2

Desarrollo

Desarrollo de la función getallmenu() en el controlador restaurant.php.

2

Desarrollo

2

Diseño

Desarrollo de la funcionalidad que llama a la función getallmenu() en el controlador. Diseño de la interfaz de edición de categoría

Desarrollo

Desarrollo de la función editmenudetail() en el controlador restaurant.php

1

Desarrollo

Desarrollo de la funcionalidad para editar menú en menu.php

1

Desarrollo

Desarrollo de la función deletemenu() ajaxcontroller.php Desarrollo del fichero Ajax/deletemenu.php

Pruebas 8

Administrac ión de categorías de productos

13

Desarrollo

9

4

1

Diseño

Desarrollo

Implementa ción machine learning en aplicativo

CIÓN

en

el

controlador

1

1 1 1

Pruebas

Desarrollo de función deletemenu() en la vista menu_view.php, que llama al fichero deletemenu.php a través de Ajax. Pruebas unitarias en PhpUnit ( un caso de prueba)

2

Diseño Desarrollo

Diseño de la interfaz de administración de anuncios, se creó un fichero denominado advertisement_view.php Desarrollo de la tabla fooddelivery_advertisement en la base de datos. Desarrollo de la funcionalidad para listar y filtrar los anuncios de la base de datos Diseño de la interfaz del formulario de registro de anuncios a través de un modal dialog, se modificó el fichero denominado advertisement_view.php Desarrollo de la función función addnewadvertisement() en restaurant_controller.php Desarrollo de la funcionalidad que llama a la función addnewadvertisement(). Diseño de la interfaz del formulario de modificación de anuncios a través de un modal dialog, se modificó el fichero denominado advertisement_view.php Desarrollo de la función editadvisement() en ajax_controller.php

1

Desarrollo del fichero editadvertisement.php que llama al editadvisement() del controlador Desarrollo de la funcionalidad que llama al fichero editadvisement a través de Ajax Desarrollo de la función deleteadvertisement() en el controlador ajaxcontroller.php Desarrollo del fichero deleteadvisement.php que llama al controlador

1

Desarrollo Diseño

Desarrollo Desarrollo Diseño

Desarrollo Desarrollo Desarrollo Desarrollo Desarrollo

16

1

1

1

1 1 1

1

2 1 1


68 Desarrollo Pruebas

4.3.5.3.

Desarrollo de la funcionalidad que llama al fichero deleteadvisement a través de Ajax Pruebas unitarias en PhpUnit ( un caso de prueba)

1 1

Reuniones diarias del Sprint 3

En cuanto a la planificación del Sprint 3, se consideraron las historias de usuario 7, 8 y 9, donde se asignó 42 puntos de estimación en total, en las reuniones mantenidas con el Product Owner y el Scrum Team hasta 15 min, en donde se indicó de forma detallada el tercer Sprint backlog como muestra en la tabla 15, las tareas realizadas por el Scrum team se siguieron de forma organizada, se llevó a cabo un seguimiento para las tareas de ingeniería asociadas a las segundas historias de usuarios con la ayuda de la aplicación Jira. Historia de usuario 7: Ingreso de categorías de productos Se diseñó la interfaz del ingreso de categorías del producto, con un tiempo de respuesta de carga muy rápida. Se utilizó modal dialogs que permiten superponer el dialogo encima del formulario de administración. Como se puede observar en la figura 85 y el código fuente HTML en la figura 86.

Figura 85. Diseño de la interfaz de ingreso de categorías de productos

Figura 86. Código fuente Diseño-interfazingreso-categorías- productos

Se creó una tabla denominada fooddelivery_menu en la base de datos foodelivery_restaurant, la tabla se creó con la finalidad de almacenar las distintas categorías de productos a los cuales se nombra “menús de productos”, el código fuente SQL se evidencia en la figura 87.

Figura 87. Código fuente de creación de la tabla fooddelivery_menu en SQL


69 Se

creó

una

función

denominada

addnewmenu()

en

el

fichero

restaurant_controller.php, lo que permitió interactuar directamente con la base de datos para ingresar un registro de una categoría de productos a través de un insert en SQL, el código de la función se puede observar en la figura 88.

Figura 88. Desarrollo addnewmenu() en el controlador restauntant.php

Se desarrolló la funcionalidad que envía como parámetro el id y el nombre del menú a la función addnewmenu() del controlador, el código fuente de la funcionalidad en PHP se encuentra en la figura 89.

Figura 89. Desarrollo-funcionalidad-addnewmenu() del controlador restaurant.php

Como se observa en la figura 90 se generó una prueba unitaria para comprobar el correcto funcionamiento del código fuente de la creación de categoría de productos, las pruebas se encuentran dentro del archivo en la ubicación /test/feature/prueba_unitaria.php.

Figura 90. Prueba unitaria categorías de productos.

Historia de usuario 8: Administración de categorías de productos Como se observa en la figura 92, se creó el fichero menu_view.php correspondiente a la interfaz de la administración de categoría de productos, permite la visualización, búsqueda,


70 modificación y eliminación de las categorías de productos registrados, el resultado se puede observar en la figura 91.

Figura 91. Diseño de la interfaz administración de categorías Figura 92. Código fuente diseño de la interfaz administración

Se desarrolló la función getallmenu() ubicado en el controlador restaurant_controller, para obtener un listado de las categorías de productos registrados en la aplicación, como se observa en la figura 93.

Figura 94. Desarrollo de la funcionalidad que llama a la función getallmenu() Figura 93. Desarrollo de la funcionalidad getallmenu()

En la figura 94, se muestra el código que se desarrolló en el fichero de la vista menu_view.php, que accede directamente a la base de datos ejecutando una consulta SQL, en la que envía los parámetros para generar la búsqueda y posteriormente la visualización de categorías de productos en el panel de administración. Para el diseño de la interfaz de usuario se utilizó Bootstrap 4, la misma que provee diseño web intuitivo para el usuario, el resultado se muestra en la figura 95. Se utilizó modal dialog, que permitió superponer el formulario de edición de categoría sobre el panel, el código fuente se observa en la figura 96.


71

. Figura 95. Diseño de la interfaz de edición de categoría. Figura 96. Código fuente de interfaz de edición de categoría

Se desarrolló la función editmenudetail() ubicado en el código del fichero controlador restaurant_controller.php, para un update de registros de información de las categorías de productos, como se observa en la figura 97.

Figura 97. Desarrollo de la función editmenudetail()

Se desarrolló la funcionalidad para llamar al controlador restaurant_ controller.php desde el front-End en el fichero de la vista menu_view.php, se invocó a través de una petición Post [editmenu], que al acceder, envía como parámetro el id y el nombre del menú a la función editmenudetail(). El código fuente de la funcionalidad en PHP se encuentra en la figura 98.

Figura 98. Desarrollo de la funcionalidad para editar menú en menu.php

Se desarrolló el método deletemenu(), que permitió eliminar la categoría de producto seleccionada dentro de una tienda, al cual solicita como parámetro el id, que se envió y ejecutó a través de un delete para borrar el registro. Se puede observar en la figura 99.


72

Figura 99. Desarrollo de la función deletemenu() en el controlador ajaxcontroller.php

Se desarrolló el fichero deletemenu.php en la carpeta Ajax para la eliminación de la categoría de producto seleccionado, este fichero llama a la función deletemenu en el controlador ajaxcontroller, envía como parámetro el id de la categoría a eliminar y se puede observar el código fuente en la figura 100.

Figura 100. Desarrollo del fichero Ajax/deletemenu.php

Figura 101. Código fuente llama al fichero delemenu.php

En la figura 101, se puede observar el código fuente que se desarrolló una función denominada deletemenu() ubicado en el fichero de la vista menu_view.php, que permitió llamar y ejecutar a través de Ajax el fichero Ajax/deletemenu.php para enviar el identificador de la categoría de la tienda que eliminó el registro sin recargar la página. Como se observa en la figura 102 se generó una prueba unitaria que permitió comprobar el correcto funcionamiento del código fuente de la edición de categoría de productos, las pruebas se encuentran dentro del archivo en la ubicación /test/feature/prueba_unitaria.php.


73

Figura 102. Prueba unitaria edición categoría de producto

Historia de usuario 9: Implementación Machine Learning en aplicativo Se creó el fichero advertisement_view.php correspondiente a la vista de la interfaz de la administración de anuncios, es aquí donde se configuró los anuncios de productos, y alimentós la base de conocimiento a través de un algoritmo de machine learning como es el K vecinos más próximos. Con este algoritmo se puedo predecir los intereses de los compradores y enviará anuncios de acuerdo a sus gustos, además realiza operaciones como la búsqueda, modificación, eliminación y visualización de los anuncios registrados. El código se puede ver en la figura 104, y el resultado visual ejecutado se puede observar en la figura 103.

Figura 103. Diseño de la interfaz de administración de anuncios

Figura 104. Código fuente del diseño de la interfaz administración de anuncios

Se creó la tabla fooddelivery_advertisement que permitió ingresar toda la información relacionada a los anuncios que se creen, para su posterior análisis y envío automático a través de un proceso recurrente en la aplicación y el código SQL se puede observar en la figura 105.


74

Figura 105. Código fuente de creación de la tabla fooddelivery_advertisement

Figura 106. Desarrollo de la funcionalidad para listar y filtrar los anuncios

En la figura 106, se puede evidenciar el desarrollo de la funcionalidad en PHP en el fichero de la vista advertisement_view.php, que accede directamente a la base de datos a través de embeber el comando SQL, que permitió el ingreso de registros a la tabla fooddelivery_adverisement, enviando los parámetros para ingresar el registro. Para el diseño de la interfaz del ingreso de anuncios se utilizó modal dialgs, el mismo que permitió superponer el formulario de ingreso al panel de administración, para que su carga sea más rápida se utilizó Jquery. A través de HTML se diseñó la interfaz en el fichero de la vista advertisement_view.php como se observa en la figura 108 y el resultado al buscar en un navegador web se puede observar en la figura 107.

Figura 107. Diseño de la interfaz registro de anuncios

Figura 108. Código fuente del Diseño de la interfaz registro de anuncios


75 En el archivo del controlador restaurant_controller.php, se creó la función denominada addnewadvertisement() para el ingreso de los anuncios, y verificación de las respuestas obtenidas, se evidencia en la figura 109. Se puede observar en la figura 110, el desarrollo de la funcionalidad para llamar a la función addnewadvertisement(), en el controlador restaurant_controller.php, que tiene como funcionalidad el ingreso de anuncios, luego se envía los parámetros necesarios y se obtiene una respuesta que indica si es correcto el envió.

Figura 110. Desarrollo de la funcionalidad que llama a la función addnewadvertisement() Figura 109. Función addnewadvertisement() en restaurant_controller.php

Para el diseño de la interfaz de la edición de anuncios se utilizó modal-dialog, permitiendo superponer el formulario de ingreso al panel de administración. A través de HTML se diseñó la interfaz en el fichero de la vista advertisement_view.php como se observa en la figura 111 y el resultado al buscar en un navegador web se puede observar en la figura 112.

Figura 111. Diseño de la interfaz edición de anuncios Figura 112. Código fuente HTML diseño de la interfaz edición de anuncios

Se desarrolló la función updateadvertisement(), que permitió ejecutar la sentencia SQL para editar el anuncio seleccionado, al cual solicitó como parámetro el id, que es enviado y ejecutado a través de un update para editar el registro. Se puede observar en la figura 113.


76

Figura 114. Desarrollo-fichero editadvertisement.php-llama al updatedvisement() Figura 113. Desarrollo de la función updatedvisement() - ajaxcontroller.php

En la figura 114, se puede observar el desarrollo del fichero editadvertisement.php en la carpeta Ajax, para la edición del anuncio. Este fichero llama a la función editadvertisement() en el controlador ajaxcontroller y envía como parámetro el id del anuncio a editar. Se desarrolló la función editadvertesement() ubicado en el fichero de la vista advertesement_view.php, que permitió llamar y ejecutar a través de Ajax el fichero Ajax/editadvertesement.php, enviando el identificador del anuncio para guardar el registro sin recargar la página, se puede observar su implementación en la figura 115.

Figura 116. Desarrollo deleteadvertisement() en el controlador ajaxcontroller.php Figura 115. Desarrollo del fichero editadvisement a través de Ajax

Se desarrolló el método deleteadvertisement() que permitió ejecutar la sentencia SQL para eliminar el anuncio seleccionado, al cual solicita como parámetro el id, que es enviado y ejecutado a través de un delete para borrar el registro. Se puede observar en la figura 116 y figura 117.


77

Figura 118. Desarrollo del fichero deleteadvisement a través de Ajax

Figura 117. Desarrollo del fichero deleteadvisement.php que llama al controlador

En el desarrollo de función deleteadvertisement(), ubicado en el fichero de la vista advertisement_view.php

para

llamar

y

ejecutar

a

través

de

Ajax

el

fichero

Ajax/deleteadverisement.php, esta función envía el identificador del anuncio para eliminar el registro sin recargar la página, se puede observar su implementación en la figura 118 y en la figura 119, se generó una prueba unitaria para comprobar el correcto funcionamiento del código fuente de la edición de anuncios.

Figura 119. Prueba unitaria de edición de anuncio

Gráfico de trabajo pendiente Como se observa en la figura 120, el gráfico de trabajo de Sprint backlog 3, se realizó en la aplicación en línea denominada Jira, y se puede evidenciar el trabajo pendiente durante el Sprint con el Product Owner y el Scrum Team.


78

Figura 120. Gráfico de trabajo pendiente del Sprint 3

4.3.5.1.

Revisión del tercer sprint

En cuanto el tercer Sprint, las pruebas de aceptación se utilizó la técnica de caja negra. Así también, se realizaron varias pruebas unitarias durante el sprint con la finalidad de corregir los errores que se presenten, en cada una de las historias de usuarios y de esta manera facilita que el código fuente esté libre de errores. 4.3.5.2.

Retrospectiva del tercer sprint

Se analizó las historias de usuarios tomando en cuenta los puntos de estimación que se va a trabajar en el tercer sprint, según con lo que se acordó con el Product Owner y el Scrum Team, se logró desarrollar e implementar las tres últimas historias de usuarios que son ingreso de categorías de productos, administración de categorías de producto e implementación machine learning en aplicativo.

4.4. Validación de la hipótesis En la tabla 16, se observa los indicadores de las variables consideradas en los instrumentos de recolección de información, se realizó un pre-test (sin machine learning) y un post-test (con machine learning). Para validar la hipótesis se aplicó un análisis estadístico de Chi-cuadrado (𝑋 2 ), con grado de libertad 1 (gl) y significancia de probabilidad (p) a seis preguntas (de un total de ocho) del instrumento de recolección de información, que fueron validados por tres expertos (Anexo III, IV, V). Todas los indicadores de las variables que tiene el valor p ≤ 0,05 son las que influyen en el modelo de la aplicación web. En este sentido, con los resultados de esta investigación se valida la hipótesis alternativa: H1 Aplicación web basado


79 en machine learning influye significativamente en la gestión y logística de servicio a domicilio en la empresa MobilFoods de la provincia Santo Domingo de los Tsáchilas. Tabla 16. Chi-cuadrado para los indicadores en función de la aplicación web Preguntas relacionadas a los indicadores de las variables ¿Con qué frecuencia experimenta problemas con el servicio que se ofrece? ¿Cuáles son los productos y servicios, que con frecuencia usted solicita? ¿Qué tan satisfecho se encuentra con el servicio de entregas? ¿Cuál es la probabilidad de que vuelva a usar el servicio que se ofrece? Qué tanto le interesa que se clasifiqué sus preferencias? Identifique su género Nota: gl=grado de libertad, p=probabilidad; Datos de los resultados de campo

𝑿𝟐 1293,277 159,482 1170,606 993,876 6,895 33,977

gl 1 1 1 1 1 1

p 0,000 0,000 0,000 0,000 0,009 0,000


80

5. DISCUSIÓN Con la aplicación de la entrevista y encuesta desarrollada a los clientes, al jefe de Tics y al jefe de gestión y logística de la empresa MobilFood, los resultados permitieron identificar las necesidades de la empresa que consta en el primer objetivo específico, en donde existió: retraso de pedidos, un mal manejo y control de las actividades diarias de los repartidores, clientes no satisfechos y en el cálculo de pagos en las comisiones, así también en el análisis con el jefe de Tics se determinó la infraestructura de hardware y software, y con el jefe de gestión y logística se pudo acceder a documentación de la empresa, adicionalmente se analizó y se consideró implementar una aplicación web basados en machine learning para fortalecer el proceso de entregas de la empresa. Lo antes mencionado se alinea al criterio Hernández, Hernández y Olguín (2020) expresan que, el primer paso de las empresas es analizar su situación actual e identificar sus vulnerabilidades, oportunidades, riesgos y fortalezas, para definir una solución a la empresa que deben innovar tecnológicamente implementando una aplicación web para el fortalecimiento de la gestión logística con machine learning y ganar mercados para conservarlos. De igual manera los autores Jones, Motta y Alderete (2016) mencionan que para aplicar una estrategia tecnológica deseable sugieren evaluar, medir, analizar lo que la organización necesita y que esté alineada a la gestión de las Tics. En base al segundo objetivo planteado que es, estructurar los datos obtenidos determinando el alcance y funcionalidad de la aplicación web, a través del algoritmo machine learning, se estudió algunos algoritmos de la clasificación de aprendizajes supervisados, donde se aplicó el algoritmo KNN para cumplir este objetivo, así también se programó utilizando el lenguaje PHP y el motor de base de datos MySQL, obteniendo un algoritmo de clasificación que puede predecir el comportamiento de intención de compras de un determinado cliente. Esto concuerda con lo planteado por De La Hoz, De La Hoz, & Fontalvo (2019) quienes mencionan que el algoritmo de K vecinos más cercanos (KNN) es la más idónea porque presenta mejores resultados para predecir. También se alinea con la investigación de Jones, Motta y Alderete (2016), quienes indican que se debe organizar las estrategias de tecnologías de la información y comunicación con el desempeño organizacional, que es un impacto positivo en la productividad y la práctica organizacional, no solo para el aumento en ventas sino también por un crecimiento en clientes y manejo de calidad del servicio. Para continuar con el tercer objetivo específico en relación al desarrollo de la aplicación web, se utilizó el marco de trabajo Scrum por ser una herramienta liviana y ayuda a generar


81 valor agregado para el desarrollo de productos en base a sus diferentes actividades, se organizó las historias de usuario (funcionalidades) de una manera que se optimizó tiempo, de forma eficaz y eficiente para el desarrollo de la aplicación, así como realizar también pruebas unitarias para gestionar los riesgos que pueda tener el código y pruebas de aceptación de alto nivel. Esto se alinea a lo indicado por Schwaber & Sutherland (2020) quienes manifiestan que es liviano y simple para adaptarlo a problemas complejos. También se optó por la herramienta de Jira software, que está disponible en la nube y ayuda a la gestión de incidencias (historias de usuarios, historias técnicas y tareas de ingeniería) y control de trabajo pendiente. Esto se alinea a lo mencionado por la empresa Atlassian (2021) indica que: permite la planificación, supervisión, gestión, seguimiento de incidencias y errores para el control y la operatividad de los proyectos. De esta manera se registraba el trabajo con reuniones diarias con el Product Owner y el Scrum Team. Asimismo, para el desarrollo de la aplicación web se utilizó la base de datos MySQL para modelar las tablas que ayudó a representar la realidad. Esto concuerda con lo dicho por Campos (2005) indicando que, una base de datos se puede precisar como una representación de la realidad o modelo. También se desarrolló en el lenguaje de programación PHP que permitió trabajar con código HTML, integrar Ajax, y facilidad para trabajar con librerías de machine learning (PHP-ML), una de sus ventajas es que el código es sencillo, open socurce, su instalación es fácil y trabaja con la base de datos MySQL. Esto armoniza con lo mencionado según Mateu (2004) expresa que, en los lenguajes de programación Back-end, el lenguaje PHP tiene la facilidad de la sintaxis de su código, es open source, es uno de los códigos más populares que existen en el mercado por su sencillez de aprendizaje y fuerza. Se desarrolló el módulo para seguimiento y localización de la mercadería en el proceso de distribución con PHP, porque es importante que el cliente pueda observar la localización de su producto, por eso este módulo ayudó a controlar el proceso de cada etapa de la orden del pedido, desde la recogido del pedido hasta la entrega al cliente final. Asimismo, Serrano (2019) afirmó que, se debe controlar la distribución del producto en la totalidad de sus etapas, desde la recogida del producto hasta la entrega del consumidor final con un sistema informático que facilite menguar los errores con prealertas y verificación de los procesos.


82

6. CONCLUSIONES Y RECOMENDACIONES

6.1. Conclusiones Se concluye que, en cuanto al proceso actual de la gestión y logística de la empresa MobilFoods, se analizó que la empresa necesita el apoyo de la tecnología para impartir el servicio de entregas a domicilio, y de esta manera fortalecer el control de los repartidores, de los pedidos y de las comisiones que la empresa cobra a cada tienda. El dueño de la empresa se mostró muy interesado en la propuesta de la implementación de una aplicación web basados en machine learning para poder clasificar las preferencias de los clientes, y que se beneficie en el crecimiento de la empresa, dando un excelente servicio al cliente y mejorando el proceso de la gestión y logística de la empresa. En relación a la estructura de los datos, se realizó a través de un cuadro comparativo de los algoritmos de machine learning, después del análisis se eligió K vecinos más cercanos (KNN), porque esta función ayuda de gran manera a predecir las tendencias en el comportamiento de compra de cada cliente. Asimismo, con el desarrollo del algoritmo de KNN tal sencillez puede dar resultados altamente competitivos, permitiendo de forma rápida el crecimiento de la empresa porque tiene un impacto social y económico positivo, generando trabajo a los ciudadanos de la Provincia de Santo Domingo de los Tsáchilas, cumpliendo con las políticas establecidas en el objetivo de la SENPLADES. En lo que respecta al desarrollo de la aplicación web en la empresa MobilFoods, cuya actividad principal es el servicio de entregas de productos a domicilio, fue positivo porque fortaleció los tiempos de entrega del servicio, excelente manejo y control de las actividades diarias de los repartidores, de los clientes y de las tiendas y la clasificación de preferencias de compras a través del algoritmo de machine learning, en donde, se benefició notablemente en los procesos de la gestión y logística de la empresa en la Provincia de Santo Domingo de los Tsáchilas. Para finalizar, se logró demostrar con datos obtenidos en los dos escenarios (pre test, estímulo y post test al mismo grupo), que la aplicación web basado en machine learning influye significativamente en la gestión y logística de servicio a domicilio en la empresa MobilFoods de la provincia Santo Domingo de los Tsáchilas.


83

6.2. Recomendaciones Actualizar los procesos de la gestión y logística en base a las necesidades que se van presentando utilizando la tecnología para que progresen a través del tiempo y que puedan crecer como empresa de forma rápida. Por otro parte, la aplicación web después de cada año necesita analizar si es necesario de actualizar los requerimientos del servidor. Asimismo, que las actualizaciones de la aplicación web deben ser inclusiva para las personas con necesidades especiales, y sean perceptible, operable, comprensible y robusta (Accesibilidad Web). Por seguridad y garantía del aplicativo web se debe seguir pagando certificado SSL y para mayor expansión del negocio seguir potenciando el servidor que está alojado en la nube. En el desarrollo de alguna actualización se recomienda utilizar software actualizados de PHP, Javacript, y del motor de base de datos MySQL. En el proceso de servicio de entregas a domicilio se recomienda que se notifique al cliente cuando está cerca el repartidor o desarrollar un módulo de visualización en donde se muestre el pedido con la información del sitio, fecha, hora, nombre del repartidor, número de teléfono. Que se realice verificaciones constantes en donde exista una retroalimentación para una mejora continua del servicio de entregas a domicilio de la empresa MobilFoods, de forma quincenal con la finalidad de que el cliente se encuentre muy satisfecho con el servicio y la empresa siga creciendo.


84

7. REFERENCIAS BIBLIOGRÁFICAS Aguilar, S. (2005). Fórmulas para el cálculo de la muestra en investigaciones de salud. Obtenido de https://www.redalyc.org/pdf/487/48711206.pdf Albitar, S., Espinasse, B., & Fournier, S. (Septiembre de 2012). Towards a Supervised Rocchio-based Semantic Classification of Web Pages. Advances in Knowledge-Based and Intelligent Information and Engineering SystemsVolume: Frontiers in Artificial Intelligence and Applications. Berlin. doi:10.3233/978-1-61499-105-2-460 Altassian. (2021). Jira Software. Recuperado el febrero de 2021, de Altassian: https://www.atlassian.com/es/software/jira/free Amat, J. (Julio de 2016). rpubs.com. Obtenido de https://rpubs.com/Joaquin_AR/226291 Asamblea Nacional Constituyente. (2008). Constitución Política de la Republica del Ecuador. Obtenido

de

https://www.cancilleria.gob.ec/wp-

content/uploads/2013/06/constitucion_2008.pdf Atlassian. (2021). Funciones para el desarrollo de software Jira Software es la herramienta de

gestión

de

proyectos

para

equipos

ágiles.

Obtenido

de

https://www.atlassian.com/software/jira/features Baena, G. (2017). Metodología de la Investigación. Mexico D.C: Grupo Editorial Patria. Obtenido

de

http://www.biblioteca.cij.gob.mx/Archivos/Materiales_de_consulta/Drogas_de_Abus o/Articulos/metodologia%20de%20la%20investigacion.pdf Ballou,

R.

(2004).

Logística.

Admiministración

de

la

cadena.

Obtenido

de

https://books.google.com.ec/books?id=ii5xqLQ5VLgC&pg=PA43&lpg=PA43&dq=E


85 l+servicio+al+cliente+incluye+en+sentido+amplio+la+disponibilidad+de+inventario, +la+velocidad+de+entrega,+y+la+rapidez+y+precisi%C3%B3n+para+cumplir+con+ un+pedido.+Los+costos+asociados Bastos.

(2007).

Distribución

Logística

Y

Comercial.

Obtenido

de

http://books.google.com.ec/books?id=9uAUDkLyDcYC&pg=PT10&dq=concepto+d e+logistica&hl=es&sa=X&ei=LySjUO68Ls3F0AGb_IGwCg&ved=0CDMQ6AEwA A Bloehdorn, S., & Hotho, A. (2004). Impulsar la clasificación de texto con funciones semánticas. Advances in Web Mining and Web Usage Analysis, 6 ° Taller internacional sobre descubrimiento de conocimientos en la Web. Estados Unidos. doi:10.1007 / 11899402_10 Campos, R. (2005). Software Libre, Bases de Datos. Barcelona: Eureca Media. Obtenido de https://www.uoc.edu/pdf/masters/oficiales/img/913.pdf Castellanos, A. (2009). Manual de la gestión logística del transporte y distribución de mercancías.

Obtenido

de

https://bibliotecavirtual.puce.edu.ec/reader/logistica-

comercial-internacional-andres-castellanos-ramirez?location=55 CCCE. (2020). Impacto del Covid-19 sobre el comercio electrónico en Colombia. MinTic, Colombia.

Obtenido

de

https://www.mintic.gov.co/portal/604/articles-

145322_impacto_covid19_comercio_electronico_colombia_u20200611.pdf Chaffey, D. (2009). E-Business and E-commerce Management. London: Pearson Education Limited. Obtenido de https://b-ok.lat/book/1225454/9147f7


86 CTIC CT. (2021). Test de accesibilidad Web. Recuperado el Febrero de 2021, de TAW: https://www.tawdis.net/index Cuatrecasas, L. (2012). Logística. Gestión de la cadena de suministros. Obtenido de https://books.google.es/books?id=PIKtMJQHv68C&pg=PA532&dq=logistica+empre sarial&hl=es&sa=X&ei=E7fcUcb0Gov29gSk4CYDQ&ved=0CEYQ6AEwAzgU#v=onepage&q=logistica%20empresarial&f=false De La Hoz, E., De La Hoz, E., & Fontalvo, T. (2019). Metodología de Aprendizaje Automático para la Clasificación y. Obtenido de https://scielo.conicyt.cl/pdf/infotec/v30n1/07180764-infotec-30-01-247.pdf Flores, H., Carrasco, N., Montenegro, K., & Rizo, M. (2018). Aplicación web para la gestión de

empleo.

Revista

Cinetífica

de

FAREM-Estelí(26),

11-21.

doi:DOI:

http://dx.doi.org/10.5377/farem.v0i26.6442 Franco, J. (2015). Aspectos legales de la logística comercial y los contratos de servicio logistícos.

Bogota.

Obtenido

de

https://books.google.com.ec/books?id=rf-

OkQFjcoQC&pg=PA109&dq=infraestructura+log%C3%ADstica&hl=es&sa=X&ved =2ahUKEwiqmImBn7brAhUQSTABHUT1AcQQ6AEwBHoECAAQAg#v=onepage &q=infraestructura%20log%C3%ADstica&f=false Fuiza, D., & Rodríguez , J. (2000). La regresión logística: una herramienta versátil. Revista Nefrología.

Revista

Nefrología,

477-565.

Obtenido

de

https://www.revistanefrologia.com/es-la-regresion-logistica-una-herramienta-articuloX0211699500035664 González, B. (2018). Aplicación del análisis de regresión lineal simple para la estimación de los precios de las acciones de Facebook. Revista Electrónica de Investigación en


87 Ciencias

Económicas,

4.

doi:https://www.lamjol.info/index.php/REICE/article/view/5535 González, J., Zamora, A., Figeroa, R., & Navarro, J. (2016). Competitividad y Logistica del Comercio

Exterior

de

México.

Obtenido

de

https://books.google.com.ec/books?id=cwj7DQAAQBAJ&pg=PA46&dq=infraestruct ura+log%C3%ADstica&hl=es&sa=X&ved=2ahUKEwiqmImBn7brAhUQSTABHUT 1AcQQ6AEwAXoECAMQAg#v=onepage&q=infraestructura%20log%C3%ADstica &f=false Gonzalez, L. (6 de Abril de 2018). aprendeia.com. Obtenido de https://aprendeia.com/todosobre-aprendizaje-supervisado-en-machine-learning/ González,

L.

(2018).

Introducción

a

Machine

Learning.

Obtenido

de

https://aprendeia.com/algoritmo-regresion-polinomial-machine-learning/ Hassan Montero, Y., & Martín Fernández, F. (2003). Guía de Evaluación Heurística de Sitios Web.

2(ISSN

1886-8592).

Obtenido

de

https://www.researchgate.net/publication/309835303_Guia_de_evaluacion_heuristica _de_sitios_Web Hernández, J., Hernández, S., & Olguín , E. (2020). El negocio electrónico como estrategia de marketing. Boletín Científico de la Escuela Superior Atotonilco de Tula(13), 33-38. doi:10.29057/esat.v7i13.5292 Hernandez, R. (2014). Métodología de la investigación. México D.C: McGRAW-HILL. Obtenido

de

https://periodicooficial.jalisco.gob.mx/sites/periodicooficial.jalisco.gob.mx/files/meto dologia_de_la_investigacion_-_roberto_hernandez_sampieri.pdf


88 Hugh, J. (2019). Python Machine Learning A Crash Course for Beginners to Understand Machine learning, Artificial Intelligence, Neural Networks, and DeepLearning with Scikit-Learn,

TensorFlow

and

Keras.

Obtenido

de

https://b-

ok.lat/book/5679969/cbb8d3 Jones, C., Motta, J., & Alderete, M. (2016). Gestión estratégica de tecnologías de información y comunicación y adopción del comercio electrónico en Mipymes de Córdoba, Argentina Gestión estratégica de tecnologías de información y comunicación y adopción de comercio electrónico enMIPYME de Córdoba,. Estudios Gerenciales, 32(318), 4-13. doi:https://doi.org/10.1016/j.estger.2015.12.003 Kabir, M. (2005). La biblia del servidor apache 2. Anaya Multimedia. Obtenido de https://bok.lat/book/814399/c05dd0 Kapur, R. (22 de Enero de 2016). ayearofai.com. Obtenido de https://ayearofai.com/rohan-1when-would-i-even-use-a-quadratic-equation-in-the-real-world-13f379edab3b Kondas, A. (2017). PHP-ML: biblioteca de aprendizaje automático para PHP. Obtenido de https://php-ml.readthedocs.io/en/latest/machine-learning/classification/k-nearestneighbors/ Lauría, E., & March, A. (1 de Diciembre de 2011). Combining Bayesian Text Classification and Shrinkage to Automate Healthcare Coding: A Data Quality Analysis. ACM, 2(3). doi:https://doi.org/10.1145/2063504.2063506 Luján, S. (2019). Pautas de Accesibilidad para el Contenido Web (WCAG). Obtenido de http://accesibilidadweb.dlsi.ua.es/?menu=ecuador


89 MacDonell, S., & Gray, A. (1998). Alternativas a los modelos de regresión para estimar proyectos

de

software.

Dallas.

Obtenido

de

https://www.researchgate.net/publication/2747623_Alternatives_to_Regression_Mod els_for_Estimating_Software_Projects Mateu , C. (2004). Desarrollo de aplicaciones web. Barcelona: Fundació per a la Universitat Oberta

de

Catalunya.

Obtenido

de

https://libros.metabiblioteca.org/bitstream/001/591/1/004%20Desarrollo%20de%20ap licaciones%20web.pdf Mathur, P. (2019). Machine Learning Applications Using Pyton Cases Studies from Healthcard

Retail,

and

Finance.

Bangalore:

Apress.

doi:https://link.springer.com/book/10.1007%2F978-1-4842-3787-8 Morgan, P. (2016). DATA ANALYSIS FROM SCRATCH WITH PYTHON St ep By St ep Guide. AI Sciences. Obtenido de https://www.pdfdrive.com/data-analysis-from-scratch-withpython-beginner-guide-using-python-pandas-numpy-scikit-learn-ipython-tensorflowand-matplotlib-e188610626.html Müller, A. C., & Guido, S. (2016). Introduction to Machine Learning with Python A Guide for Data Scientists. (D. Schanafelt, Ed.) United States of America, Estados Unidos: O’Reilly Media, Inc. Otero, R., Bolívar, S., & Rincón, N. (2016). Comparación a través del picking en tienda de dos alternativas de entrega en un entorno de servicio a domicilio en supermercados. Universidad Javeriana, 17, 1-20. doi:https://doi.org/10.11144/Javeriana.cc17-44.ctpt


90 Reyes, R., Ramos, I., Jimenez, C., Ramos, M., & Jimenez, A. (2018). Aplicación web para la gestión de la información en la escuela de capacitación de la construcción de Pinar del Rio, Cuba. doi:10.47230/unesum-ciencias.v2.n3.2018.107 Russell, R. (2018). Machine learning guia detallada para implementar algoritmos de machine learning

con

pyton.

Obtenido

de

https://b-

ok.lat/book/3525633/869f21?dsource=recommend Samuel, A. (1959). “Some studies in machine learning using the game of checkers”. Obtenido de http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.368.2254&rep=rep1&type= pdf Schwaber , K., & Sutherland, J. (2020). La Guía de Scrum. La Guía Definitiva de Scrum: Las Reglas

del

Juego.

SCRUMstudy.

Obtenido

de

https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Spanish-LatinSouth-American.pdf SENPLADES. (2017). Plan Nacional de Desarrollo "Todo una Vida". Quito: Secretaría Nacional de Planificación y Desarrollo. Serrano,

M.

(2019).

Optimación

de

la

cadena

logística.

Obtenido

de

https://books.google.com.ec/books?id=C3flDwAAQBAJ&pg=PA174&dq=seguimien to+y+localizaci%C3%B3n+logistica&hl=es&sa=X&ved=2ahUKEwjkqrC87brAhUnpFkKHX0zAXEQ6AEwAXoECAEQAg#v=onepage&q=seguimiento% 20y%20localizaci%C3%B3n%20logistica&f=false Setó, D. (2004). De la calidad de servicio a la fidelidad del cliente. Madrid. Obtenido de https://books.google.com.ec/books?id=9Nk8sWMjoBcC&printsec=frontcover&dq=ca


91 lidad+de+servicio&hl=es&sa=X&ved=2ahUKEwi46qTF_7jrAhWt1VkKHXzNBnA Q6AEwAnoECAQQAg#v=onepage&q=calidad%20de%20servicio&f=false Solís, M. (2016). El Comercio electrónico y su aplicación en los pymes en Guayaquil. Obtenido de https://www.researchgate.net/project/El-Comercio-electronico-y-su-aplicacion-enlos-pymes-en-Guayaquil Svetlana,

C.

(03

de

Marzo

de

2021).

Ablebits.com.

Obtenido

de

https://www.ablebits.com/office-addins-blog/2018/08/01/linear-regression-analysisexcel/ Thomas,

M.

(2001).

Principios

del

E-Business.

Obtenido

de

https://books.google.com.ec/books?id=fIwadA2lDEwC&printsec=frontcover&dq=EBusiness&hl=es&sa=X&ved=2ahUKEwj_u9OjbfrAhXnpVkKHf1iB9IQ6AEwAHoECAEQAg#v=onepage&q=E-Business&f=false Tusell, F. (2011). Análisis de Regresión.Introducción Teórica y Práctica basada en R. Bilbao. Obtenido de http://www.et.bs.ehu.es/~etptupaf/nuevo/ficheros/estad3/nreg1.pdf UEES. (2020). Situación de las empresas durante el Covid-19 Ecuador. Cámara de Ecuador de

Comercio

Electrónico,

Guayaquil.

Obtenido

de

https://cece.ec/wp-

content/uploads/2020/06/Situacion-de-las-empresas-durante-el-Covid19-enEcuador.pdf Volodarsky, M., Londer, O., Hill, B., Cheah, B., Schofield, S., Meyer, K., & Aguilar, C. (2008). Internet

Information

ok.lat/book/632910/d850a0

Servers

(IIS)

7.0.

Obtenido

de

https://b-


92 Vukotic , A., & Goodwill, J. (2011). Apache Tomcat 7. Apress. Obtenido de https://bok.lat/book/1168129/019b2c World Wide Web Consortium [W3C]. (2008). Accesibilidad web. Obtenido de http://www.sidar.org/traducciones/wcag20/es/#perceivable


93

8. ANEXOS

Anexo I. Carta de aprobación, tabla de recursos y cronograma.

Figura 122. Tabla de recursos

Figura 121. Carta de Aceptación

Figura 123. Cronograma


94 Anexo II. Consentimiento informado, carta de impacto, árbol del problema

Figura 124. Consentimiento informado

Figura 125. Carta de impacto

Figura 126. Árbol del problema


95 Anexo III. Validación de los instrumentos de investigación por experto de Marketing


96


97


98


99 Anexo IV. Validación de los instrumentos de investigación por experto de Investigación


100 Anexo V. Validación de los instrumentos de investigación por experto estadístico


101 Anexo VI. Evidencia de las encuestas, entrevistas y acta de entrega

Figura 127. Acta de entrega


102

Anexo VII. Historias de usuario y escenarios de prueba.


103


104 Anexo VIII. Pruebas de aceptación primer Sprint


105

Figura 128. Evidencia de la reunión con el

Product Owner y el Scrum Team


106 Anexo IX. Pruebas de aceptación segundo Sprint


107

Figura 129. Evidencia de la reunión con el Product Owner y el Scrum Team


108 Anexo X. Pruebas de aceptación tercer Sprint


109

Figura 130. Evidencia de la reunión con el Product

Owner y el Scrum Team


110 Anexo XI. Evidencias de post test


111 Anexo XII. Manual de usuario y técnico


112


113


114


115


116 Anexo XIII. Registro de capacitación


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.