• No se han encontrado resultados

Sistema de información móvil para controlar y administrar las actividades comerciales de los representantes técnicos comerciales (RTC) de la empresa Agriandes Daymsa S A

N/A
N/A
Protected

Academic year: 2020

Share "Sistema de información móvil para controlar y administrar las actividades comerciales de los representantes técnicos comerciales (RTC) de la empresa Agriandes Daymsa S A"

Copied!
133
0
0

Texto completo

(1)SISTEMA DE INFORMACIÓN MÓVIL PARA CONTROLAR Y ADMINISTRAR LAS ACTIVIDADES COMERCIALES DE LOS REPRESENTANTES TÉCNICOS COMERCIALES (RTC) DE LA EMPRESA AGRIANDES DAYMSA S.A. HAROLD ANTONIO RENGIFO ARCE CESAR ENRIQUE MENDOZA VICTORIA. UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERÍA INGENIERÍA DE SISTEMAS SANTIAGO DE CALI 2016.

(2) SISTEMA DE INFORMACIÓN MÓVIL PARA CONTROLAR Y ADMINISTRAR LAS ACTIVIDADES COMERCIALES DE LOS REPRESENTANTES TÉCNICOS COMERCIALES (RTC) DE LA EMPRESA AGRIANDES DAYMSA S.A. HAROLD ANTONIO RENGIFO ARCE CÉSAR ENRIQUE MENDOZA VICTORIA. PROYECTO DE GRADO. ASESOR: INGENIERO JHON HAIDE CANO BELTRÁN. FACULTAD DE INGENIERÍA. UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERÍA INGENIERÍA DE SISTEMAS SANTIAGO DE CALI 2016.

(3) CONTENIDO pág. 1.. IDENTIFICACIÓN DEL PROBLEMA. 17. 1.1. PLANTEAMIENTO DEL PROBLEMA. 17. 1.2. FORMULACIÓN DEL PROBLEMA. 18. 2. OBJETIVOS. 19. 2.1. OBJETIVO GENERAL. 19. 2.2. OBJETIVOS ESPECÍFICOS. 19. 3.. JUSTIFICACIÓN. 20. 4.. MARCO REFERENCIAL. 22. 4.1. MARCO TEÓRICO Y CONCEPTUAL. 22. 4.1.1. Movilidad empresarial y convergencia de dispositivos. 22. 4.1.2. Aplicaciones móviles. 23. 4.1.2.1. Aplicaciones móviles nativas. 23. 4.1.2.2. Aplicaciones móviles web. 25. 4.1.2.3. Aplicaciones móviles híbridas. 25. 4.1.3. Aplicaciones móviles en empresas. 26. 4.1.4. Sistema operativo para dispositivos móviles. 27. 4.1.4.1. Android. 27. 4.1.4.2. IOS. 28. 4.1.4.3. Windows Phone. 28. 4.1.4.4. BlackBerry OS. 28. 4.1.5. Lenguajes de programación para dispositivos móviles. 29. 4.1.6. GPS en aplicaciones móviles. 29. 4.1.7. Metodologías de desarrollo. 30. 4.1.7.1. Metodologías ágiles. 30. 4.1.7.2. Metodologías ágiles en el desarrollo de aplicaciones móviles. 33. 4.1.8. Patrones de diseño de software. 35.

(4) pág. 4.1.8.1. Patrón Modelo Vista Controlador (MVC). 35. 4.2. MARCO CONTEXTUAL. 37. 4.3. ANTECEDENTES. 38. 4.3.1. Sistema móvil para carga de datos del informe agronómico mensual del RIAN. 38. 4.3.2. AgrocomM. 38. 4.3.3. Agroprecios y Agroclima. 38. 4.3.4. Produti. 39. 4.3.5. Sistema de información geográfica (SIG). 39. 5.. METODOLOGÍA. 40. 5.1. INVESTIGACIÓN. 40. 5.2. FASES DEL PROYECTO. 41. 5.2.1. Fase de exploración. 41. 5.2.2. Fase de iniciación. 42. 5.2.3. Fase de producción. 42. 5.2.4. Fase de estabilización. 43. 5.2.5. Fase de pruebas del sistema. 43. 6.. DESARROLLO DEL PROYECTO. 44. 6.1. FASE DE EXPLORACIÓN. 44. 6.1.1. Requerimientos. 44. 6.1.1.1. Requerimientos no funcionales. 44. 6.1.1.2. Requerimientos funcionales. 45. 6.1.2. Casos de uso. 54. 6.1.2.1. Caso de uso iniciar sesión. 56. 6.1.2.2. Caso de uso registrar clientes. 57. 6.1.2.3. Caso de uso registrar cultivo. 58. 6.1.2.4. Caso de uso registrar establecimiento. 60. 6.1.2.5. Caso de uso registrar usuario. 61.

(5) pág. 6.1.2.6. Caso de uso registrar plan de trabajo. 62. 6.1.2.7. Caso de uso registrar visita. 64. 6.1.2.8. Caso de uso sincronizar. 66. 6.1.3. Diagrama de secuencia. 69. 6.1.3.1. Caso de uso iniciar sesión. 69. 6.1.3.2. Caso de uso registrar cliente. 71. 6.1.3.3. Caso de uso registrar cultivo. 75. 6.1.3.4. Caso de uso registrar establecimiento. 76. 6.1.3.5. Caso de uso registrar plan de trabajo. 77. 6.1.3.6. Caso de uso registrar visita. 78. 6.1.3.7. Caso de uso sincronizar. 80. 6.1.3.8. Caso de uso registrar usuario (Web). 82. 6.1.3.9. Caso de uso iniciar sesión (Web). 83. 6.1.3.10. Caso de uso registrar cliente (Web). 84. 6.1.3.11. Caso de uso registrar cultivo (Web). 84. 6.1.3.12. Caso de uso registrar establecimiento (Web). 85. 6.1.3.13. Caso de uso registrar plan de trabajo (Web). 86. 6.1.3.14. Caso de uso registrar visita (Web). 87. 6.1.4. Diagrama de clases. 89. 6.1.5. Modelo entidad relación. 90. 6.1.6. Diagrama de base de datos. 91. 6.1.7. Diccionario de datos. 92. 6.2. FASE DE INICIACIÓN. 99. 6.3. FASE DE PRODUCCIÓN. 100. 6.4. FASE DE ESTABILIZACIÓN. 118. 6.5. FASE DE PRUEBAS DEL SISTEMA. 118. 6.5.1. Caso de prueba iniciar sesión. 119. 6.5.2. Caso de prueba registrar clientes. 120.

(6) pág. 6.5.3. Caso de prueba registrar cultivo. 121. 6.5.4. Caso de prueba registrar establecimiento. 122. 6.5.5. Caso de prueba registrar usuario. 123. 6.5.6. Caso de prueba registrar plan de trabajo. 124. 6.5.7. Caso de prueba registrar visita. 125. 6.5.8. Caso de prueba sincronizar. 126. 7. CONCLUSIONES. 127. 8. RECOMENDACIONES. 129. BIBLIOGRAFÍA. 130. ANEXOS. 132.

(7) LISTA DE GRÁFICOS pág. Gráfico 1. Principales entornos en función de sistema operativo. 23. Gráfico 2. Ejecución aplicación móvil nativa. 24. Gráfico 3. Interacción aplicación móvil nativa y sistema operativo. 24. Gráfico 4. Interacción aplicación móvil web, con sistema operativo. 25. Gráfico 5. Ejecución aplicación móvil híbrida. 26. Gráfico 6. Interacción aplicación móvil híbrida y sistema operativo. 26. Gráfico 7. Principales plataformas para desarrolladores. 27. Gráfico 8. Proceso metodología Scrum. 31. Gráfico 9. Principios programación extrema. 32. Gráfico 10. Desarrollo orientado a las pruebas. 33. Gráfico 11. Ciclo de desarrollo Mobile-D. 34. Gráfico 12. Flujo MVC con entrada de usuario. 36. Gráfico 13. Diagrama de caso de uso iniciar sesión. 57. Gráfico 14. Diagrama de caso de uso registrar cliente. 58. Gráfico 15. Diagrama de caso de uso registrar cultivo. 59. Gráfico 16. Diagrama de caso de uso registrar establecimiento. 61. Gráfico 17. Diagrama de caso de uso registrar usuario. 62. Gráfico 18. Diagrama de caso de uso registrar plan de trabajo. 64. Gráfico 19. Diagrama de caso de uso registrar visita. 65. Gráfico 20. Diagrama de caso de uso sincronizar. 67. Gráfico 21. Diagrama de caso generar reportes. 68. Gráfico 22. Diagrama de secuencia del caso de uso iniciar sesión. 69. Gráfico 23. Diagrama de secuencia del caso de uso alterno iniciar sesión. 70. Gráfico 24. Diagrama de secuencia del caso de uso registrar cliente. 72. Gráfico 25. Diagrama de secuencia del caso de uso alterno registrar cliente. 74. Gráfico 26. Diagrama de secuencia del caso de uso registrar cultivo. 75. Gráfico 27. Diagrama de secuencia del caso de uso registrar establecimiento. 76. Gráfico 28. Diagrama de secuencia del caso registrar plan de trabajo. 77.

(8) pág. Gráfico 29. Diagrama de secuencia del caso registrar visita. 79. Gráfico 30. Diagrama de secuencia del caso sincronizar. 81. Gráfico 31. Diagrama de secuencia del caso registrar usuario. 82. Gráfico 32. Diagrama de secuencia del caso iniciar sesión. 83. Gráfico 33. Diagrama de secuencia del caso registrar cliente. 84. Gráfico 34. Diagrama de secuencia del caso registrar cultivo. 85. Gráfico 35. Diagrama de secuencia del caso registrar establecimiento. 86. Gráfico 36. Diagrama de secuencia del caso registrar plan de trabajo. 87. Gráfico 37. Diagrama de secuencia del caso registrar visita. 88. Gráfico 38. Modelo entidad relación. 90. Gráfico 39. Diagrama de base de datos. 91. Gráfico 40. Modelo interfaz inicio de sesión. 100. Gráfico 41. Modelo interfaz menú usuario. 101. Gráfico 42. Modelo interfaz crear cliente. 101. Gráfico 43. Modelo interfaz crear establecimiento. 102. Gráfico 44. Modelo interfaz crear plan de trabajo. 102. Gráfico 45. Modelo interfaz ver rutas. 103. Gráfico 46. Modelo interfaz detalle cliente ruta. 103. Gráfico 47. Modelo interfaz cambio de contraseña. 104. Gráfico 48. Logo aplicación Android. 104. Gráfico 49. Imagen bienvenida aplicación. 105. Gráfico 50. Imagen menú aplicación Android. 105. Gráfico 51. Imagen de fondo pantallas aplicación Android. 106. Gráfico 52. Imagen inicio de sesión aplicación web. 107. Gráfico 53. Imagen menú aplicación web. 107. Gráfico 54. Imagen menú desplegado aplicación web. 108. Gráfico 55. Imagen registro plan de trabajo aplicación web. 108. Gráfico 56. Imagen registro de visita aplicación web. 109. Gráfico 57. Imagen registro de establecimiento aplicación web. 109. Gráfico 58. Imagen registro de cliente aplicación web. 110. Gráfico 59. Imagen registro de cultivo aplicación web. 110.

(9) pág. Gráfico 60. Imagen registro de tipo de cultivo aplicación web. 111. Gráfico 61. Imagen registro de cultivo por establecimiento aplicación web. 111. Gráfico 62. Imagen reporte de visitas aplicación web. 112. Gráfico 63. Imagen reporte de gráficos aplicación web. 112. Gráfico 64. Imagen registro de usuarios aplicación web. 113. Gráfico 65. Imagen registro de ciudad aplicación web. 113. Gráfico 66. Imagen registro de tipo de cliente aplicación web. 114. Gráfico 67. Imagen registro de tipo de documento aplicación web. 114. Gráfico 68. Imagen registro de rol aplicación web. 115. Gráfico 69. Imagen prototipo ubicación geográfica. 115. Gráfico 70. Imagen prototipo ubicación en mapa Google. 116. Gráfico 71. Imagen prototipo sincronización servidor MySql. 117. Gráfico 72. Imagen prototipo Interacción base de datos MySql. 117.

(10) LISTA DE TABLAS pág. Tabla 1. Requerimientos no funcionales. 44. Tabla 2. Requerimientos RF-001. 45. Tabla 3. Requerimientos RF-002. 46. Tabla 4. Requerimientos RF-003. 46. Tabla 5. Requerimientos RF-004. 47. Tabla 6. Requerimientos RF-005. 48. Tabla 7. Requerimientos RF-006. 48. Tabla 8. Requerimientos RF-007. 49. Tabla 9. Requerimientos RF-008. 50. Tabla 10. Requerimientos RF-009. 50. Tabla 11. Requerimientos RF-010. 51. Tabla 12. Requerimientos RF-011. 52. Tabla 13. Requerimientos RF-012. 52. Tabla 14. Requerimientos RF-013. 53. Tabla 15. Requerimientos RF-014. 54. Tabla 16. Tabla de actores. 54. Tabla 17. Caso de uso iniciar sesión. 56. Tabla 18. Caso de uso registrar cliente. 57. Tabla 19. Caso de uso registrar cultivo. 58. Tabla 20. Caso de uso registrar establecimiento. 60. Tabla 21. Caso de uso registrar usuario. 61. Tabla 22. Caso de uso registrar plan de trabajo. 62. Tabla 23. Caso de uso registrar visita. 64. Tabla 24. Caso de uso sincronizar. 66. Tabla 25. Tabla diccionario de datos tipo_documento. 92. Tabla 26. Tabla diccionario de datos ciudad. 92. Tabla 27. Tabla diccionario de datos departamento. 92. Tabla 28. Tabla diccionario de datos tipo_cliente. 93. Tabla 29. Tabla diccionario de datos usuario. 93.

(11) pág. Tabla 30. Tabla diccionario de datos plan_trabajo. 94. Tabla 31. Tabla diccionario de datos cultivo_establecimiento. 94. Tabla 32. Tabla diccionario de datos visita. 95. Tabla 33. Tabla diccionario de datos rol. 95. Tabla 34. Tabla diccionario de datos cliente. 96. Tabla 35. Tabla diccionario de datos establecimiento. 96. Tabla 36. Tabla diccionario de datos tipo_cultivo. 97. Tabla 37. Tabla diccionario de datos cultivo. 98. Tabla 38. Tabla diccionario de datos estado. 98. Tabla 39. Tabla características tecnológicas. 99. Tabla 40. Tabla equipo humano. 99. Tabla 41. Tabla herramientas de desarrollo. 99. Tabla 42. Tabla caso de prueba iniciar sesión. 119. Tabla 43. Tabla pasos y condiciones caso de prueba iniciar sesión. 119. Tabla 44. Tabla caso de prueba registrar clientes. 120. Tabla 45. Tabla pasos y condiciones caso de prueba registrar clientes. 120. Tabla 46. Tabla caso de prueba registrar cultivo. 121. Tabla 47. Tabla pasos y condiciones caso de prueba registrar cultivo. 121. Tabla 48. Tabla caso de prueba registrar establecimiento. 122. Tabla 49. Tabla pasos y condiciones caso de prueba registrar establecimientos. 122. Tabla 50. Tabla caso de prueba registrar usuario. 123. Tabla 51. Tabla pasos y condiciones caso de prueba registrar usuario. 123. Tabla 52. Tabla caso de prueba registrar plan de trabajo. 124. Tabla 53. Tabla pasos y condiciones caso de prueba registrar plan de trabajo. 124. Tabla 54. Tabla caso de prueba registrar visita. 125. Tabla 55. Tabla pasos y condiciones caso de prueba registrar visita. 125. Tabla 56. Tabla caso de prueba sincronizar. 126. Tabla 57. Tabla pasos y condiciones caso de prueba sincronizar. 126.

(12) LISTA DE ANEXOS pág. ANEXO A. Diagrama de clases. 133. ANEXO B. Manual de usuario AppAgriandes App. 134. ANEXO C. Manual Usuario AppAgriandes Web. 158.

(13) GLOSARIO. Android: es un sistema operativo inicialmente pensado para teléfonos móviles, al igual que iOS, Symbian y Blackberry OS. Lo que lo hace diferente es que está basado en Linux, un núcleo de sistema operativo libre, gratuito y multiplataforma. Aplicación móvil (APP): es una aplicación de software que se instala en dispositivos móviles o tabletas para ayudar al usuario en una labor concreta, ya sea de carácter profesional o de ocio y entretenimiento. Base de datos: es una herramienta para recopilar y organizar información. Customer Relationship Management (CRM): software para la administración de la relación con los clientes. Sistemas informáticos de apoyo a la gestión de las relaciones con los clientes, a la venta y al marketing. Enterprise Resource Planning (ERP): sistemas informáticos que permite a las compañías centralizar e integrar los procesos y captura de información de las áreas que la conforman y de esta forma administrar los recursos. Georreferenciación: es el uso de coordenadas de mapa para asignar una ubicación espacial a entidades cartográficas. Todos los elementos de una capa de mapa tienen una ubicación geográfica y una extensión específicas que permiten situarlos en la superficie de la Tierra o cerca de ella. Prototipo: es una representación limitada de un producto, permite a las partes probarlo en situaciones reales o explorar su uso, creando así un proceso de diseño de iteración que genera calidad. Requerimientos: es un conjunto de recomendaciones para la especificación de los requisitos de software el cual tiene como producto final la documentación de los acuerdos entre el cliente y el grupo de desarrollo para así cumplir con la totalidad de exigencias estipuladas. Software: conjunto de programas y rutinas que permiten a la computadora realizar determinadas tareas..

(14) RESUMEN. El actual trabajo de grado se presenta como una solución a la problemática mostrada en la empresa Agriandes Daymsa S.A., una empresa dedicada a la comercialización de productos e insumos para el agro; dicha empresa realiza la recolección de información de las actividades comerciales, por medio de documentos impresos que son diligenciados de forma manual, conllevando a errores e imprecisiones que afectan la parte administrativa en la toma de decisiones. AppAgriandes es una herramienta desarrollada en ambiente web y móvil, la cual agiliza los procesos de recolección de información, soluciona los inconvenientes de imprecisiones en los datos y permite realizar un seguimiento más efectivo a las actividades comerciales de los representantes técnicos comerciales (RTC) de la empresa Agriandes Daymsa S.A. Estas herramientas, por estar desarrolladas en ambientes móviles y web, permiten su portabilidad, asegurando así que sean accesibles en todo momento para la toma y consulta de información. Dado lo anterior y por las características de las tecnologías Android el sistema de aplicación móvil AppAgriandes, mejora la toma de información sin necesidad de tener acceso continuo a internet. Dicho aplicativo se despliega bajo los lineamientos de la metodología de desarrollo Mobile-D, el cual, por ser metodología de desarrollo ágil, permite el desarrollo de la herramienta en tiempos razonables y con la calidad necesaria para un producto de este tipo.. PALABRAS CLAVES: Sistemas, georreferenciación, servicios, web, publicación web, aplicación Android.. 14.

(15) ABSTRACT The current degree work is presented as a solution to the problems shown in the company Agriandes Daymsa S.A., a company dedicated to the marketing of products and inputs for agriculture; the company performs the information collection business activities, through printed documents are filled out manually, leading to errors and inaccuracies affecting the administrative part in decision-making. AppAgriandes is a tool developed in mobile web environment, which streamlines the process of gathering information, overcomes the drawbacks of inaccuracies in the data and allows for a more effective follow-up to the commercial activities of technical commercial representatives (RTC) of the company Agriandes Daymsa S.A. These tools, being developed in mobile and web environments, allow portability, ensuring that they are accessible at all times for making information and consultation. Given the above and the characteristics of the Android system technologies AppAgriandes mobile application, information improves decision without having continuous access to the Internet. Such application is deployed under the guidelines of the development methodology Mobile-D, which being agile development methodology allows the development of the tool at reasonable times and with the quality required for a product of this type. KEYWORDS: Systems, georeferencing, web services, web publishing, Android application.. 15.

(16) INTRODUCCIÓN. En la actualidad el auge de los servicios que se proveen en internet, el avance de las nuevas tecnologías, la tendencia a dispositivos más veloces y pequeños, junto con la necesidad constante de tener acceso a información en cualquier momento y lugar, son factores que permiten el desarrollo de nuevas tecnologías de acceso a internet desde dispositivos móviles tales como celulares, Smartphone y tablets PC. Para Agriandes Daymsa S.A. estas tecnologías no son ajenas, ya que ésta dota a sus representantes técnicos comerciales con dispositivos celulares Smartphone de última tecnología, lo cual les permite aprovechar tales recursos para optimizar sus procesos. En este sentido se busca aprovechar estas tecnologías, que en la actualidad son muy accesibles en el mercado y en especial para las empresas. Así mismo se pretende dar uso adecuado a estas ciencias aplicadas en torno a una problemática de información presentada en la empresa Agriandes Daymsa S.A. Para atender a lo anterior se desarrolla una aplicación móvil que se ejecuta sobre el sistema operativo Android y que permite al personal técnico comercial de la empresa gestionar sus actividades, en cuanto al ingreso de nuevos clientes, revisión y ajuste de los planes de trabajo, registro de visitas a clientes y ubicación geográfica de estos. Adicionalmente esta herramienta provee un ambiente web de administración en el cual se puede ingresar, actualizar y eliminar registros de: usuarios, roles, ciudades, cultivos, tipos de cultivos, establecimientos, clientes y la generación de reportes estadísticos. Para el desarrollo y puesta en marcha del proyecto mencionado se utiliza como base las metodologías de desarrollo agiles, tales como: Scrum, programación extrema, entre otras. Para esto se selecciona una metodología enfocada en aplicaciones móviles denominada metodología Mobile-D, la cual nos permite gestionar el proceso con estándares y guías acordes al aplicativo realizado en fases como: exploración, iniciación, producción, estabilización, prueba y reparación del sistema.. 16.

(17) 1. IDENTIFICACIÓN DEL PROBLEMA. 1.1 PLANTEAMIENTO DEL PROBLEMA. La empresa Agriandes Daymsa S.A, dedicada a la representación de las marcas Daymsa y Klasmann, y a la distribución de insumos para el agro, con sede principal en la ciudad de Bogotá D.C. y con cobertura nacional. Esta empresa requiere como estrategia y control de su área comercial tener información detallada y actualizada de sus clientes, los cuales están divididos en dos canales principales: canal de distribución regional y canal de productores directos y/o agremiados. Para el canal de distribución regional la información del cliente está parcialmente completa debido al proceso de venta y facturación, pero para el canal de venta directa a productores o agremiaciones no se cuenta con información consolidada y centralizada. La información que existe de este último canal está registrada por medio de un formato de una hoja de cálculo de Excel o por formato impreso diligenciado manualmente durante la visita de los representantes técnicos comerciales (RTC) al cliente. Este formato posteriormente es enviado vía correo electrónico a la oficina principal y en la mayoría de los casos estos registros no son tramitados de forma correcta, omitiendo información o por el contrario presentando datos que no son de importancia. Es decir, se genera novedades como: falta de identificación, cuantificación y catalogo correcto de los clientes, entendiéndose catalogo como la clasificación de los clientes según el tipo de cultivo, tamaño en hectáreas del terreno, tipo de manejo agrícola (artesanal o tecnificado), ciclos del cultivo y capacidad de producción. El registro inadecuado sumado a la falta de control tampoco permite extraer información valiosa como zonas de mercado, productos que más consumen, zona de cultivo y georreferenciación exacta de las fincas. Esta última es de gran importancia ya que por la ubicación de un gran número de clientes en zonas rurales es necesario acceder a estos sin inconvenientes. Por otro lado, los representantes técnicos comerciales (RTC) presentan un informe en hoja de cálculo de Excel, que es utilizado para el control de sus actividades comerciales, tales como: identificación de clientes potenciales, de rutas de los recorridos, visitas y asesorías realizadas en el mes, asesorías programadas según la necesidad del cliente y de oportunidades de negocio, así como también programan el cronograma de visita a cliente. Éste último informe no se maneja de forma estándar para todos los representantes técnicos comerciales (RTC), lo cual dificulta la generación de indicadores sobre el rendimiento y/o actividades 17.

(18) realizadas en un período de tiempo y tampoco permite tener control sobre el cronograma de visitas. En ocasiones un cliente es visitado varias veces sin ser necesario o simplemente no es visitado, provocando que se inviertan recursos en visitas innecesarias o se pierdan ventas por omisión. Además de tener en cuenta el entorno donde se desarrolla la actividad de los clientes, en el que se dificultan las conexiones a redes de comunicación y a computadores bien sea escritorio o portátiles, se requiere el desarrollo de una aplicación móvil que permita registrar la información relevante de los clientes del canal de productores directos y/o agremiados. Como solución a estos problemas, la empresa ha intentado usar software libre, implementando documentos online por medio de One Drive, pero no se lograron los resultados esperados, ya que de igual manera los representantes técnicos comerciales (RTC) modifican a su antojo el reporte tanto en su formato como en contenido, lo que hace que se pierda el seguimiento realizado.. 1.2 FORMULACIÓN DEL PROBLEMA. ¿Cómo administrar y controlar las actividades comerciales de los representantes técnicos comerciales (RTC) de la empresa Agriandes Daymsa S.A.?. 18.

(19) 2. OBJETIVOS. 2.1 OBJETIVO GENERAL. Desarrollar un sistema de información móvil que administre y controle las actividades comerciales de los representantes técnicos comerciales (RTC) de la empresa Agriandes Daymsa S.A.. 2.2 OBJETIVOS ESPECÍFICOS. o Clasificar y administrar los clientes de la empresa Agriandes Daymsa S.A. o Georreferenciar a los clientes de la empresa Agriandes Daymsa S.A. o Desarrollar un método rápido y confiable de los registros de campo correspondientes a clientes y actividades comerciales. o Controlar las actividades comerciales de los representantes técnicos comerciales (RTC) de la empresa Agriandes Daymsa S.A. o Generar una herramienta que permita apoyar las estrategias comerciales.. 19.

(20) 3. JUSTIFICACIÓN. Con la masificación del uso de las tecnologías de información y comunicación, cada vez más personas tienen acceso a estas herramientas, lo que propone un reto y oportunidad para que las empresas aprovechen y promuevan el uso de estas nuevas tecnologías para su oficio y/o para su negocio, de otra forma corren el riesgo de no mantenerse competitivos en el mercado cambiante. Las empresas o microempresas que no se conectan a internet, que no utilicen el internet, que no hagan uso de aplicaciones móviles para promover sus negocios, para hacer crecer sus industrias están destinadas a tener una reducción significativa en un mercado global. Para Agriandes Daymsa S.A., es de carácter primordial, administrar y controlar las actividades comerciales, logrando catalogar los datos de sus clientes de forma idónea. Para esto es necesario contar con una herramienta que garantice el registro y confiabilidad de los datos, que sea ordenada y rápida en la captura y manipulación de información asociada a los cultivos de los clientes, puesto que en la actualidad no cuenta con la información necesaria para la toma de decisiones estratégicas, ni de optimización para su línea de mercado, permitiéndose gastos y logística innecesaria, durante las visitas de sus representantes técnicos comerciales (RTC). Con el desarrollo e implementación del sistema de información móvil para controlar y administrar las actividades comerciales de los representantes técnicos comerciales (RTC) de la empresa Agriandes Daymsa S.A., se busca permitir ingresar, almacenar y consultar la información de los clientes de esta compañía, georreferenciar la ubicación de los terrenos de los clientes, definir rutas de visitas para los representantes técnicos comerciales (RTC). Con este sistema se tiene acceso en línea a los diferentes datos almacenados, garantizando información en tiempo real. Además, lo anterior permite sistematizar procesos manuales garantizando tiempos de respuesta mínimos e identificar los canales existentes y participación de mercado en el territorio nacional, lo cual soporta de forma pertinente y eficaz la toma de decisiones en las diferentes áreas, especialmente en el área comercial y de igual forma obtener una reducción de costos de personal. En cuanto a las oportunidades de negocio se puede decir que como cualquier nueva aplicación resulta difícil aventurar el alcance y el impacto que a medio plazo va a suponer en el negocio, pero se puede analizar y proponer algunas de las oportunidades tales como: La mejora del servicio al cliente, reducción de los kilómetros recorrido y costos asociados a las rutas de visitas, disminución del número de recursos usados como impresión, una mejor gestión del tiempo de los Representantes Técnicos Comerciales (RTC) empleado y el cumplimiento de los horarios de visita a los clientes. 20.

(21) Uno de los factores más relevantes para Agriandes Daymsa S.A. es el hecho de no contar con el presupuesto financiero para pagar el desarrollo o licencias de una aplicación que se ajuste a sus requerimientos actuales. Además, se encontró que los representantes técnicos comerciales (RTC) cuentan con celulares tipo Smartphone que en la actualidad están siendo subutilizados, desaprovechando las prestaciones que ofrece esta herramienta. Es por esto que se propone desarrollar esta aplicación a la medida, con herramientas de software libre o que impliquen un gasto mínimo para la compañía, de tal forma que se usen los dispositivos actuales, las tecnologías móviles y el internet como parte fundamental del sistema. Actualmente el MinTIC* pretende, a través de la Dirección de Gobierno en Línea y el Ministerio de Agricultura y Desarrollo Rural, buscar incluir al sector agrícola del país en el uso y aprovechamiento de las tecnologías de información y comunicación. Adicional a esto el MinTIC tiene una iniciativa con su plan “Vive Digital”, dentro de su programa Apps.co, para promover y potenciar la creación de negocios a partir del uso de las tecnologías de información y comunicación, colocando especial interés en el desarrollo de aplicaciones móviles, software y contenidos. Lo anterior supone un apoyo adicional por parte del gobierno el cual busca dar apalancamiento financiero y asistencia técnica especializada para el desarrollo de aplicaciones móviles.. *. Ministerio de Tecnologías de la Información y las Comunicaciones de Colombia.. 21.

(22) 4. MARCO REFERENCIAL. 4.1 MARCO TEÓRICO Y CONCEPTUAL 4.1.1 Movilidad empresarial y convergencia de dispositivos. La movilidad empresarial, es la tendencia que se está aplicando en las empresas, en la que cada vez sus empleados deben trabajar fuera de las instalaciones u oficinas, y por tanto deben tener acceso seguro y confiable a los datos de su empresa sin que esto se convierta en un obstáculo para el progreso del negocio. En este caso se habla de convergencia de dispositivos que es útil cuando existe la necesidad en el ámbito laboral de acceder a la información desde cualquier lugar, tiempo o dispositivos diferentes a un computador, consiguiendo ser tan productivos como si estuviese en el computador de la oficina. Según el estudio “Latin America Predictions 2014”, realizado por IDC*, durante el año 2013 el 43% de las empresas permitió el uso de dispositivos personales para fines comerciales, pero ahora el crecimiento es diferente. Se estima que para el 2014 el uso de tablets crece un 55% mientras que el uso de teléfonos inteligentes un 34% y un 26% para computadores portátiles. También se estima que más del 30% de las organizaciones empresariales de América Latina se movilizarán a las aplicaciones relacionadas con el negocio, tales como automatización del campo de servicio, flujos de trabajo automáticos (workflow), CRM y ERP. En otra reciente publicación “Latin America IT Industry 2016 Predictions” afirma que, en la región, el uso de dispositivos móviles para el trabajo seguirá creciendo rápidamente, se dice que el uso de dispositivos móviles para trabajar en el 2014 llegó a 110 millones y en 4 años más el IDC espera que esta cifra llegue a 138 millones equivalente al 50% del uso total. Además, para el 2016 se espera que más de 1 de cada 3 empresas inviertan fuertemente en temas de movilidad, según las encuestas realizadas por IDC, el tema de movilidad empresarial se encuentra entre las 3 principales iniciativas de tecnología e información en las organizaciones, y se refleja que aplicaciones básicas y aplicaciones de comunicación como correo electrónico y mensajería instantánea han superado el 80% de penetración en las organizaciones de América latina en comparación con aplicaciones relacionadas con el negocio como CRM, ERP o Workflow que en los últimos años solo han llegado al 35% de penetración. Finalmente, como dato importante IDC comenta que el siguiente paso será tomar ventaja de los avances realizados hasta el momento, llevando la expansión de la movilidad empresarial a un mayor número de procesos *. IDC es proveedor líder en el mundo en análisis e inteligencia de mercados, y en soporte táctico a fabricantes y usuarios, en el sector de Informática y Telecomunicaciones; Sitio web: http://www.idclatin.com/campaign/predictions/default.html.. 22.

(23) de la organización (marketing, servicio al cliente, servicio de campo, etc.) y los ecosistemas que los rodean (clientes, proveedores, socios, reguladores, etc.). Para el año 2016, más del 45% de organizaciones en América Latina va a poner en práctica una estrategia móvil definitiva, incluidos las aplicaciones móviles para mejorar las operaciones comerciales, la seguridad o la experiencia del cliente. 4.1.2 Aplicaciones móviles. Una aplicación móvil o también conocida como APP, es un software el cual se ejecuta en un dispositivo móvil, como Smartphone o tablets, las aplicaciones móviles pueden ser: 4.1.2.1 Aplicaciones móviles nativas. Son aplicaciones que se instalan directamente en el dispositivo móvil y están diseñadas de acuerdo a cada Sistema operativo. Como se muestra en el gráfico 1.. Gráfico 1 Principales entornos en función de sistema operativo.. Fuente: http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles/. o Ventajas de las aplicaciones nativas. Estas aplicaciones tienen acceso total a las utilidades de sistema operativo en el cual se ejecuta como cámara, conexiones, dispositivos de almacenamiento. En el gráfico 2 se ilustra como la aplicación móvil nativa es ejecutada en el dispositivo.. 23.

(24) Gráfico 2 Ejecución aplicación móvil nativa.. Fuente: http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicacionesmoviles/.. o Desventajas aplicaciones móviles nativas. Al ser desarrollada para un sistema operativo en concreto, la aplicación debe ser reescrita para cada lenguaje diferente. De este modo es más complejo su distribución masiva en todos los sistemas operativos por ser basada en el código nativo del sistema operativo requiere personal idóneo con el conocimiento de la estructura de cada sistema operativo para el cual se desarrolle. En el gráfico 3 se observa como es la estructura de interacción de un sistema operativo con una aplicación nativa.. Gráfico 3 Interacción aplicación móvil nativa y sistema operativo.. Fuente: http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles.. 24.

(25) 4.1.2.2 Aplicaciones móviles web. Son aplicaciones que se ejecutan en un dispositivo móvil por medio de un navegador web, y están generalmente desarrolladas en HTML, CSS, y JavaScript. En el gráfico 4 se observa como la aplicación web interactúa con el sistema operativo desde un navegador.. Gráfico 4 Interacción aplicación móvil web, con sistema operativo.. Fuente: http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles.. o Ventajas aplicaciones móviles web. Por ser aplicaciones ejecutadas desde un navegador web, su desarrollo se hace estándar para todas las plataformas de sistemas operativos, además no requieren ser descargadas directamente en el dispositivo móvil. o Desventajas aplicaciones móviles web. Por ser un desarrollo estándar, el acceso a las utilidades del sistema operativo es limitado.. 4.1.2.3 Aplicaciones móviles híbridas. Son aplicaciones que integran los conceptos de aplicación nativa y web permitiendo desarrollar aplicaciones que se ejecutan en el dispositivo móvil, pero son parte web. Un ejemplo de una aplicación híbrida es el Facebook. Estas aplicaciones para tener mayor control de las ventajas del sistema operativo utilizan herramientas adicionales como el phonegap*.. *. Phonegap es un Framework para el desarrollo de aplicaciones móviles. 25.

(26) Gráfico 5 Ejecución aplicación móvil híbrida.. Fuente: http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles/.. Gráfico 6 Interacción aplicación móvil híbrida y sistema operativo.. Fuente: http://geospatialtraininges.com/recursos-gratuitos/tipos-de-aplicaciones-moviles.. 4.1.3 Aplicaciones móviles en empresas. Según reporte de la Corporación Internacional de datos (IDC por sus siglas en 26.

(27) inglés), indica que 7 de cada 10 compañías utilizan los dispositivos móviles para acceder a sus datos empresariales. Dentro de las más usada se pueden encontrar app para el manejo de correo electrónico, calendario, app diseñadas para transferencia de datos, toma de pedidos, para realizar transacciones bancarias, todo esto gracias también a la evolución que ha tenido los terminales. Sus capacidades son cada vez más grande brindado muchísimas funcionalidades. Las aplicaciones especializadas para empresas se convierten en la mejor herramienta de gestión, seguimiento de procesos, de ubicación de sus empleados, control de calidad o gestión del conocimiento; que a su vez permite brindar valor agregado a sus servicios. El término Mobile commerce se refiere a que a través de dispositivos móviles se crean estrategias y nuevos hábitos de compra y aquí el objetivo de las aplicaciones puede ser la venta de productos o servicios. 4.1.4 Sistema Operativo para dispositivos móviles. En la actualidad el mercado de los sistemas operativos para terminales móviles ha sido abordado por tres grandes plataformas. Como se puede observar en el gráfico 7 hay cierta preferencia por el desarrollo de aplicaciones sobre sistema operativos Android, seguidos por IOS, BlackBerry y Windows Phone, a continuación, se describirán cada uno de los principales sistemas operativos más utilizados por los desarrolladores.. Gráfico 7 principales plataformas para desarrolladores.. Fuente: http://vmob.me/DE1Q15 - http://vmob.me/DE1Q16.. 4.1.4.1 Android. Es una plataforma basada en Linux de la Open Handset Alliance, un consorcio de 79 compañías de hardware, software y telecomunicaciones que tienen como objetivo desarrollar estándares abiertos para dispositivos móviles. El kernel se usa como HAL*. Su programación de aplicaciones se hace principalmente en java, aunque también se pueden usar otros lenguajes de programación, su sistema operativo consiste en aplicaciones java que se ejecutan en un Framework *. Hardware abstraction layer. 27.

(28) de aplicaciones basado también en java, es orientado a objetos y se ejecuta en una máquina virtual Dalvik, la cual realiza una compilación Just in Time. Android es una plataforma de código abierto para dispositivos móviles, esto incluye sistema operativo, middlewarey y aplicaciones básicas. Su historia básicamente comienza en el año 2005 cuando Google Inc. compró a la empresa desarrolladora de software Android Inc., luego Google Inc. colocó en el mercado la plataforma para los fabricantes de dispositivos y operadores bajo la premisa de que fuera un sistema flexible y actualizable. En el 2006 se anunció la primera plataforma para dispositivos móviles sobre la versión 2.6 del kernel de Linux. Durante el cuarto trimestre del 2010, Android fue la plataforma para Smartphone más vendida en el mundo. 4.1.4.2 IOS. Abarca tanto el sistema operativo como las tecnologías necesarias para ejecutar aplicaciones nativamente en dispositivos de la marca Apple, tales como iPad, IPhone e iPod touch. Fue diseñado para suplir las necesidades de un entorno móvil, entre ellas el soporte para una interfaz táctil, acelerómetro y GPS. En sus comienzos fue conocido como IPhone OS, ya que fue originalmente para iPhone, pero ahora se ha extendido para soportar otros dispositivos de Apple. Se debe aclarar que Apple no es soportado en hardware de terceros. IOS es una derivación del MAC OS X, lo que significa que es un sistema operativo parecido a Unix. Fue lanzado en el año 2007 y no soportaba aplicaciones de terceros, en junio de 2010 Apple renombra el IPhone OS como IOS, esta versión ya soportaba la funcionalidad de multitarea, correo electrónico y varias aplicaciones enfocadas hacia los negocios, desde entonces, ha estado liberando actualizaciones que cada día presentan más y más funcionalidades. La interfaz de IOS es basada en el concepto de manipulación, utiliza gestos multicontacto, deslizadores, interruptores y botones, y proporciona una interfaz fluida y rápida. Por otro lado, sus aplicaciones deben estar escritas y compiladas específicamente para IOS y la arquitectura ARM. 4.1.4.3 Windows Phone. Anteriormente conocido como Windows Mobile, plataforma que estuvo disponible para varios dispositivos móviles de diferentes operadores inalámbricos, como DELL, HP, Motorola, entre muchos otros más. Inicialmente fue diseñado para dispositivos que manejaban redes GSM o CDMA, equipos como computadores de bolsillo o las famosas PDA, que funcionaban con una pantalla táctil y un stylus. En la actualidad y desde hace algún tiempo se ha adaptado a Smartphone con un rediseño Silverlight y XNA para interfaces de usuario más ricas. 4.1.4.4 BlackBerry OS. Sistema operativo desarrollado por Research In Motion (RIM) para dispositivos móviles BlackBerry que soporta multitarea permitiendo aplicaciones de correo electrónico, envío de fax, navegación y demás aplicaciones y servicios de conectividad. Anteriormente los dispositivos BlackBerry no tenían pantalla táctil y RIM fue uno de los pioneros en el uso de teclados QWERTY en 28.

(29) dispositivos móviles y el llamado trackball, que es un dispositivo para apuntar con una bola alojada en un hueco provisto de sensores que detectan la rotación de la bola sobre dos ejes, que comparados con un computador hace las veces de mouse. Por tanto, ha disfrutado de una gran aceptación entre los usuarios del mundo de los negocios debido a sus dispositivos BlackBerry. Al día de hoy compite con los demás fabricantes con sus pantallas táctiles y eliminando en sus nuevos equipos el teclado físico. Para la última actualización de este sistema operativo contiene soporte para tecnología Near Field Communication que permite intercambiar información con otros dispositivos compatibles o con accesorios de BlackBerry con un solo toque, además de incorporar NFC, y ahora cuenta con realidad aumentada. 4.1.5 Lenguajes de programación para dispositivos móviles. Los dispositivos móviles permiten implementar diversas funcionalidades que se integran en un solo dispositivo, por medio de circuitos electrónicos, procesadores de audio, codificador de video, cámaras digitales, memoria de servicio, entre otros. Al igual que las computadoras, los dispositivos móviles cuentan con un sistema operativo, algunos de ellos descritos en el numeral 4.1.4. Estos sistemas operativos integran las plataformas sobre las cuales las aplicaciones se ejecutan. Un lenguaje de programación es un idioma por medio del cual se puede definir una serie de acciones consecutivas que el dispositivo debe realizar. Para poder desarrollar una aplicación móvil, estas se deben de escribir en un lenguaje de programación diferente según sea el sistema operativo. Algunos de estos lenguajes más utilizados para desarrollar programas móviles son: o o o o. Para desarrollar aplicaciones iPhone o iPod touch, se usará Objective- C. Para desarrollar aplicaciones Android, se usará Java. Para desarrollar aplicaciones BlackBerry, se usará Java Micro Edition. Para desarrollar aplicaciones Symbian OS, se puede usar C++, Java o .NET Compact Framework. o Para desarrollar aplicaciones Windows Mobile, las opciones son Visual C++, Visual C#, Visual Basic, JScript y ASP.NET. 4.1.6 GPS en aplicaciones móviles. Desde hace varios años los dispositivos móviles como Smartphone de gama alta, traen incorporado receptores sistema de posicionamiento global (GPS por sus siglas en inglés), los cuales mediante redes satelitales pueden ubicar o localizar en cualquier parte del planeta. Esta localización también se logra mediante la intensidad de la señal de telefonía celular y luego triangular la posición estimada. El sistema de posicionamiento global (GPS por sus siglas en inglés) es usado dentro de lo que se llamado “Administrador de Ubicaciones” de Android, el cual como fue dicho antes se encarga de determinar la posición geográfica del dispositivo. Location base applications o location based services (LBA o LBS) son aplicaciones o servicios basados en la posición geográfica del usuario, en dispositivos Android es posible acceder o utilizar la localización mediante la suscripción a 29.

(30) LocationListener, a los eventos relacionados con la localización, junto con los métodos onLocationChanged, onProviderDisabled, onProviderEnabled y onStatusChanged que permiten escuchar los cambios de estado y la disponibilidad de los proveedores de localización. De igual forma se puede utilizar librerías proporcionadas por Google como son la API de Google maps, la cual presenta un viewgroup llamado mapview, que permite mostrar mapas como los propios de Google maps y utilizar datos de su servicio, incluyendo su interfaz gráfica. El uso del sistema de posicionamiento global (GPS por sus siglas en inglés) en las aplicaciones, hoy en día para las compañías, es de gran importancia para tener trazabilidad de sus fuerzas de ventas, saber dónde se encuentra, si los clientes realmente fueron visitados y de esta manera no descuidar el portafolio de clientes. 4.1.7 Metodologías de desarrollo Una metodología es una colección de procedimientos, técnicas, herramientas y documentos auxiliares que ayudan a los desarrolladores de software en sus esfuerzos por implementar nuevos sistemas de información. Una metodología está formada por fases, cada una de las cuales se puede dividir en sub-fases, que guiarán a los desarrolladores de sistemas a elegir las técnicas más apropiadas en cada momento del proyecto y también a planificarlo, gestionarlo, controlarlo y evaluarlo1. La definición que nos brinda Avison y Fitzgerald, nos guía sobre las diferentes fases de las metodologías de desarrollo y sus principales características, pero cabe denotar que una metodología no puede ser considerada como una serie de pasos o métodos a seguir; puesto que estos conceptos se aplican o no dependiendo del contexto de desarrollo en el cual se apliquen. 4.1.7.1 Metodologías ágiles. Las metodologías ágiles se basan en el desarrollo iterativo e incremental, son utilizadas principalmente en proyectos que requieren rapidez y flexibilidad, con equipos de desarrollo pequeños los cuales requieren poca documentación. Estas metodologías permiten incorporar cambios con facilidad en el proceso de desarrollo de software. Entre las metodologías más conocidas se pueden encontrar las siguientes: o Scrum. Es un marco de trabajo por medio del cual se pueden abordar problemas complejos y realizar entrega de productos con el máximo valor de productividad 1. AVISON David E. y FITZGERALD Guy, Information system development. Methodologies, techniques & tools, McGraw-Hill, Inglaterra, 2006, pág. 35.. 30.

(31) y creatividad. El Scrum se caracteriza por ser ligero, fácil de entender y algo complejo de dominar al principio. Scrum nace en los 90 por Takeuchi y Nonaka. Este término deriva del mismo término utilizado en Rugby, el cual hace referencia a cómo se devuelve el balón que ha salido fuera del campo, al terreno de juego de manera colectiva. Scrum surgió como práctica en el desarrollo de productos tecnológicos y no sería hasta 1993 que Jeff Sutherland aplicará el modelo al desarrollo de software en la Easel Corporation, como lo muestran Avison y Fitzgerald1 .En el gráfico 8 se representa el proceso del Scrum, el cual muestra como un proyecto bastante grande se divide en pequeñas tareas, las cuales tienen un tiempo de entrega corto llamado Sprint y son motorizadas diariamente, por el equipo de desarrollo. De este modo puede modificarse la planificación del proyecto de forma anticipada, si afectar el tiempo de entrega final.. Gráfico 8 Proceso metodología Scrum.. Fuente: http://www.proyectosagiles.org/que-es-scrum.. o Extreme programing (XP). La programación extrema fue concebida en 1996 por Kent Beck. Este tipo de programación se basa en la simplicidad, la 1. Ibíd; pág. 41.. 31.

(32) comunicación y el reciclado continuo de código, y trabaja bajo doce principios fundamentales que son: principio de pruebas, proceso de planificación, el cliente en el sitio, programación en parejas, integración continua, refactorización, entregas pequeñas, diseño simple, metáfora, propiedad colectiva de código, estándar de codificación y bienestar del programador. En la Gráfico 9 se observa cómo estos principios interactúan entre sí.. Gráfico 9 Principios programación extrema.. Fuente: http://xprogramming.com/what-is-extreme-programming/.. o Test driven development (TDD). Desarrollo orientado a las pruebas. Esta metodología de desarrollo se basa en las pruebas, enfocados principalmente a la calidad del producto final y tiene un ciclo de desarrollo que se basa en elegir el requisito, escribir un aprueba, verificar que la prueba falle, escribir la implementación, ejecutar las pruebas automatizadas, eliminación de código duplicado y por último actualización de lista de requisitos. En el gráfico 10 se muestra un esquema general del desarrollo orientado a pruebas donde se inicia escribiendo pruebas para fallos, luego realizando el código, y por último eliminando la redundancia el código final. En esta metodología ningún desarrollo sale a producción sin ser probado. 32.

(33) Gráfico 10 Desarrollo orientado a las pruebas.. Fuente: http://blog.spec-india.com/spec-india-implemented-test-driven-developmenttdd.. 4.1.7.2 Metodologías agiles en el desarrollo de aplicaciones móviles. Durante los últimos años el mercado de aplicaciones móviles ha venido expandiéndose y masificando, mejorando su desempeño y aprovechando al máximo las características de los dispositivos. El desarrollo de estas aplicaciones móviles se caracteriza principalmente por tener un alto nivel de competitividad, corto tiempo de entrega, movilidad, portabilidad, capacidades específicas y constantemente cambiantes de las terminales, sistemas operativos diferentes. Todas estas características, hacen que el desarrollo de aplicaciones móviles sea enfocado a ciclos de desarrollo relativamente cortos, propios de metodologías de desarrollo ágiles, las cuales se han modificado para acoger de manera más óptima las necesidades de un desarrollo de software para aplicaciones móviles. o Mobile-D. Consta de cinco fases que son: exploración, iniciación, producción, estabilización y prueba del sistema. Cada una de estas fases tiene un número de etapas, tareas y prácticas asociadas. Como se puede ver en el gráfico 11, en la primera fase de exploración se debe de establecer un plan y las características del proyecto. En la segunda de fase iniciación los desarrolladores preparan e identifican los recursos necesarios, además se preparan los planes para las siguientes fases. En la fase tres de producción se planifica la iteración de trabajo en términos de requisitos y tareas a realizar. En la cuarta fase de estabilización, se lleva a cabo la integración, para asegurar que el sistema completo funcione correctamente. En la última fase prueba y reparación del sistema, se busca la disponibilidad de una versión estable, el producto termina se prueba con los requisitos del cliente. 33.

(34) Gráfico 11 Ciclo de desarrollo Mobile-D.. Fuente: http://virtual.vtt.fi/virtual/agile/mobiled.html.. o Hybrid methodology design. En esta metodología, se utiliza el modelo iterativo incremental para el proceso de desarrollo esto con el fin de mejorar la capacidad de gestión de riesgos y lograr una rápida entrega de software. La metodología de diseño híbrido, parte del ciclo de vida tradicional, con cuatro iteraciones. La primera en la cual se realiza el análisis, el diseño basado en arquitectura, la implementación y las pruebas se basan en los conceptos de desarrollo orientado a pruebas (TDD). La segunda iteración integra partes de los modelos NPD (New Product Development) añadiendo pruebas de mercado. La tercera iteración extrae de los métodos de desarrollo adaptativo (ASD) el motor de desarrollo, orientando a la calidad de procesos. En la cuarta iteración se añaden elementos de prototipado. o Mobile development process spiral. Se basa en el modelo de desarrollo en espiral, incorporando procesos de evaluación de la usabilidad y dando principal importancia a la participación del usuario en todos los procesos del ciclo de vida de diseño. Por ser un modelo de reducción de riesgos, este se recomienda para proyectos grandes y costosos ya que implementa las métricas en todo su proceso. Esta metodología consta de cinco iteraciones, cada una de ellas con tres tareas (determinación de requisitos, diseño y pruebas). La primera iteración determina los requisitos del sistema e identifica los usuarios, tareas y el contexto de usabilidad de la aplicación; se dibuja un prototipo y se realiza prueba a dicho prototipo. En la segunda iteración, se recogen datos y requisitos; se diseñan prototipo con alta fidelidad de la interfaz y se realizan pruebas. En la tercera iteración, se identifican y priorizan los atributos de usabilidad, se diseña se realiza la versión alfa con sus pruebas. En la cuarta iteración, los resultados de 34.

(35) la iteración anterior se usan para identificar los atributos de facilidad de uso; se desarrolla versión beta, y se libera para pruebas con el usuario. En la quinta iteración, se desarrolla el producto final y se libera el producto.. 4.1.8 Patrones de diseño de software Un patrón de diseño de software ofrece una solución abstracta a un problema de diseño que aparece muy frecuentemente, expresada mediante un conjunto de relaciones e interacciones entre componentes. En otras palabras, es un conjunto de clases y objetos que se comunican entre sí para resolver un problema; También se puede considerar como un documento que define la estructura de clases que aborda una situación en particular.. 4.1.8.1 Patrón Modelo Vista Controlador (MVC). Es un patrón de arquitectura que tiene como misión separar los datos y la lógica de negocio de una aplicación de la vista o interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones. Las aplicaciones de Android están diseñadas en torno al patrón MVC el cual usa estructuras en capas: o Modelo: contiene los datos y lógica del negocio de la aplicación, suele estar diseñado para modelar los objetos que interactúa con la aplicación, contiene mecanismos para acceder y manipular la información. En Android, las clases del modelo son generalmente clases personalizadas creadas por el desarrollador. o Vista: Es la presentación del modelo, maneja la presentación visual de los datos representados por el Modelo. Genera una representación visual del Modelo y muestra los datos al usuario. Interactúa con el Modelo a través de una referencia al propio Modelo. Android proporciona una gran cantidad de clases de vista configurables y también se pueden crear clases de vista personalizados o Controlador: proporciona significado a las órdenes del usuario, actuando sobre los datos representados por el Modelo. Cuando se realiza algún cambio, entra en acción, bien sea por cambios en la información del Modelo o por alteraciones de la Vista. Interactúa con el Modelo a través de una referencia al propio Modelo. En Android, un controlador es típicamente una subclase de un Activity, fragmento o servicio. El grafico 12 muestra el control de flujo entre los objetos en respuesta a un evento de usuario, como presionar un botón.. 35.

(36) Gráfico 12 Flujo MVC con entrada de usuario.. Fuente:https://andy-education.gitbooks.io/lorem-epsum/content/chapter_2.html.. 36.

(37) 4.2 MARCO CONTEXTUAL Este proyecto es presentado para ser desarrollado en la compañía Agriandes Daymsa S.A. con los representantes técnicos comerciales (RTC), quienes serán los principales usuarios del proyecto en conjunto con los directivos del departamento comercial, cada uno desde su propio rol. Para contextualizar el entorno empresarial, se tiene en cuenta que Agriandes es una empresa cuya misión principal es comercializar en el mercado productos de excelente calidad que contribuyan con la productividad de los cultivos, proporcionando un servicio eficiente y oportuno. Su fuerza de ventas está compuesta por un equipo de cinco (5) representantes técnicos comerciales (RTC), los cuales son profesionales agrónomos encargados de realizar las visitas técnicas a los clientes. Así mismo se encargar de dar charlas y orientación sobre los productos comercializados por Agriandes Daymsa S.A. y de esta forma asegurar ventas y reconocimiento de la marca. Es de tener en cuenta que Agriandes tiene presencia en la región oriente colombiana: Boyacá, Cundinamarca y Meta, como también en la zona occidente: Antioquia, Eje Cafetero, norte del Valle del Cauca y Huila. Adicionalmente se debe mencionar que la empresa española Daymsa, líder en el mercado europeo de productos para la nutrición vegetal especializada, forma parte del grupo de accionista de la compañía, aportando de esta manera con el desarrollo agrícola del país.. 37.

(38) 4.3 ANTECEDENTES Actualmente las aplicaciones móviles ofrecen gran variedad de servicios que ayudan a solventar de una forma innovadora los problemas presentados por los usuarios, teniendo en cuenta el ambiente en el que se ejecutan las soluciones móviles varían y del mismo modo su alcance. En Colombia el desarrollo de las aplicaciones móviles para la gestión de información del sector agrícola es mínimo pero viene creciendo por las iniciativas de Gobierno por medio del Ministerio de Tecnologías de la Información y las Comunicaciones (MinTIC) y sus iniciativas para promover el uso de las TIC*. De acuerdo con la investigación realizada se encontraron algunas aplicaciones móviles con utilidades similares a las desarrolladas en este trabajo, tales como: 4.3.1 Sistema móvil para carga de datos del informe agronómico mensual del RIAN. La Red de Información Agropecuaria Nacional (RIAN), del Instituto Nacional de Tecnología Agropecuaria (INTA) de Argentina, realiza un relevantamiento de información agronómica permanente de los principales cultivos agrícolas de las regiones. El sistema registra datos referentes al estado y evolución de los cultivos y rendimientos pre-cosecha en zonas con aptitud agrícola. 4.3.2 AgrocomM. Desarrollo de un software web y móvil para la gestión de información de campo de cultivos agrícolas. Una plataforma informática flexible y adaptable a empresas agrícolas en sectores diversos como el azucarero, paneleros y algodonero. Este permite la asignación y control de actividades a través de valoraciones y registro de inconsistencias, y cuenta con tres módulos: captura de datos para dispositivos móviles, transferencia y sincronización de datos. 4.3.3 Agroprecios y Agroclima. El MinTic a través de la Dirección de Gobierno en Línea, en colaboración con el Ministerio de Agricultura y Desarrollo Rural y el DANE, al desarrollar dos aplicaciones que ofrecen información para los trabajadores del sector agrícola del país: o Agroprecios (SIPSA), permite consultar el precio de productos en diferentes mercados mayoristas, dando información de primera mano y en cualquier lugar. o Agroclima, brinda datos sobre el comportamiento del clima por zonas del país, con la capacidad de consultar el registro histórico de datos fundamentales para el desarrollo de la actividad agropecuaria como precipitaciones, horas de luz, *. Iniciativas MinTic: Las iniciativas del Ecosistema Digital están alineadas con el plan estratégico institucional y en concordancia con las políticas del Gobierno Nacional, con el fin de mejorar la gestión y el servicio a la ciudadanía. El cumplimiento de las iniciativas se desarrolla en un proceso de planeación participativa, integrado en la formulación del Plan de Acción del Ministerio de TIC, http://www.mintic.gov.co/portal/vivedigital/612/w3-propertyname-509.html. 38.

(39) humedad y temperatura. 4.3.4 Produti. La vitrina del productor nacional, es una plataforma web y móvil que contiene una base de datos actualizada y centralizada del sector agrícola de la región nororiental colombiana. Este permite a los productores comercializar sus productos, encontrar nuevos mercados, estadísticas del sector en tiempo real, etc. 4.3.5 Sistema de Información Geográfica (SIG). La Corporación Colombiana de Investigación Agropecuaria (CORPOICA) desarrolló este sistema que permite identificar, cuantificar y analizar los problemas relacionados con la producción agropecuaria, manejando bases cartográficas digitales sobre zonas agro-eco.. 39.

(40) 5. METODOLOGÍA. 5.1 INVESTIGACIÓN Este proyecto se aborda como un desarrollo tecnológico, en el cual para lograr identificar y comprender la envergadura del proyecto se realiza dos (2) tipos de actividades: Consulta de fuentes indirectas y consulta de fuentes directas. o Consulta de fuentes indirectas. -Revisión bibliográfica de desarrollo de aplicaciones móviles. -Consulta de información institucional, estructura interna de la empresa y organigramas. o Consulta de fuentes directas. -Entrevistas a funcionarios para conocer los procesos y problemática presentada. La entrevista a realizar tendrá como objetivo determinar el estado de los documentos utilizados en la labor de los representantes técnicos comerciales (RTC), determinar las unidades de los documentos y tratar de unificar en un solo formato todos los existentes. Así mismo realizar el levantamiento de Información con los usuarios involucrados en los procesos mediante encuestas personalizadas tanto para los cargos administrativos como para los representantes técnicos comerciales (RTC), que serían los que deben interactuar directamente con la aplicación, todo esto con el fin de modelar el proceso actual que se desarrolla en Agriandes Daymsa S.A. Con base en la información recopilada se modelará el proceso sugerido y se presentará el resultado para validación por parte de los administrativos de la empresa y revisores del proyecto con el fin de poder iniciar su desarrollo e implementación.. 40.

(41) 5.2 FASES DEL PROYECTO Como metodología de desarrollo se plantea Mobile-D, la cual, por ser una metodología ágil, se caracteriza por: o o o o. Conseguir ciclos de desarrollo muy cortos. Equipos de trabajo pequeños. Poca documentación. Basado en metodologías Extreme Programming, Crystal Methodologies y Rational Unified Process.. A continuación, se definirán las diferentes fases de la metodología Mobile-d describiendo sus etapas y los diferentes criterios de salida que se tienen en cuenta en cada una de estas:. 5.2.1 Fase de exploración: o Establecimiento de las partes interesadas: Se identifica y asignan los grupos interesados en el desarrollo del proyecto, por parte de la empresa Agriandes Daymsa S.A. se designan dos colaboradores, un profesor para el asesoramiento por parte de la universidad Cooperativa de Colombia, y dos estudiantes de ingeniería de Sistemas. o Definición del alcance: Se definieron los objetivos y alcance del proyecto, se identificaron los requerimientos funcionales y no funcionales. o Establecimiento del proyecto: Se definió el ambiente de desarrollo, los lenguajes de programación, los motores de base de datos y la asignación de personal. Salidas: 1. El documento de requisitos iniciales donde se han definido los requerimientos preliminares. 2. Los recursos del proyecto / grupos de actores y sus responsabilidades. 3. Los requisitos de hardware del proyecto. 4. Plan de Formación. 5. Descripción de la arquitectura.. 41.

(42) 5.2.2 Fase de iniciación El objetivo de la fase de Proyecto Set-Up es: o Se identificaron los recursos físicos y técnicos para el proyecto. o Se entrenó al equipo del proyecto. o Se analizaron los requerimientos encontrados en la fase anterior. o Se realizaron prototipos de las pantallas de la aplicación. o Se realizaron los diagramas de caso de uso, de secuencia, de base de datos y de clases. Salidas: 1. 2. 3. 4.. Documento de descripción de arquitectura y diseño de software. Funcionalidad implementada. Actualización de documento de requerimientos iniciales. Desarrollar notas e interfaz de usuario - ilustraciones de cada requerimiento discutido. 5. Las pruebas para cada requerimiento.. 5.2.3 Fase de producción: Los siguientes tres subprocesos se realizan por cada uno de los requerimientos a desarrollar. o Día de Planificación: Se planificaron todas las actividades que se realizaron por cada requerimiento e interfaces de usuario realizadas en la etapa anterior. o Día de trabajo: Se desarrolló cada una de las actividades propuestas en el día de planificación. o Día de lanzamiento: Se verifico y valido la funcionalidad implementada. Salidas: 1. 2. 3. 4.. Funcionalidad implementada. Notas de Desarrollo. Interfaz de usuario – ilustraciones. Requisitos iniciales documento. 42.

(43) 5.2.4 Fase de estabilización: o Día de Planificación: Luego de realizar las pruebas a la funcionalidad se planifican las modificaciones a realizar. o Día de trabajo: Se aplicaron las nuevas modificaciones. o Documentación de cierre: Se realizaron los cambios en la documentación según las modificaciones requeridas. o Día de lanzamiento: Se verifico y valido la funcionalidad implementada. Salidas: 1. La funcionalidad implementada de todo el software del proyecto, 2. La documentación del producto finalizado. 5.2.5 Fase de pruebas del sistema: Las etapas individuales de la prueba del sistema y la fase de corrección son: o Prueba del sistema: se desarrollaron las pruebas de cada funcionalidad según los casos de uso de la aplicación. o Corrección: Se corrigieron los defectos encontrados en la fase de prueba del sistema. Se realizaron iteraciones del día de estabilización. Salidas: 1. Una prueba y sistema fijo (la versión final), Documentación de los fallos encontrados.. 43.

(44) 6. DESARROLLO DEL PROYECTO. 6.1 FASE DE EXPLORACIÓN Para conocer la real problemática presentada en la empresa Agriandes Daymsa S.A., se realizó un primer encuentro entre las partes interesadas, en este caso un representante de la empresa y los responsables en desarrollar una solución para la compañía. Se discutió y planteo los objetivos que debería alcanzar el proyecto, encaminados a la solución de necesidades puntuales del cliente. Al tener la información requerida para el inicio del proyecto, se procedió a definir el alcance del proyecto el cual se enmarco en los objetos de ese mismo. Se definió que la mejor herramienta para el cliente sería una aplicación móvil, por su portabilidad, necesaria para las zonas que los representantes técnicos comerciales (RTC) visitan en su labor diaria. En cuanto a la tecnología que está al alcance de la empresa, se optó por un desarrollo para la plataforma Android, acompañado de un motor de base de datos MySql. Adicionalmente se planteó una herramienta administrativa web, desarrollada en PHP, que ayudaría a gestionar la información de la aplicación y generar los reportes necesarios para esta. 6.1.1 Requerimientos Por medio de entrevistas con el señor Carlos Bermúdez se construyeron los siguientes requerimientos, los cuales se dividen en funcionales y no funcionales, dependiendo de su naturaleza. 6.1.1.1. Requerimientos no funcionales:. Tabla 1 Requerimientos no funcionales. Código Descripción Prioridad RNF-001 Permitir sincronizar la información Alta perteneciente a los clientes, establecimientos, plan de trabajo y visitas. RNF-002 Permitir la instalación de la aplicación en Media equipos móviles con los siguientes requerimientos mínimos (pantalla de 4.8 pulgadas, procesador Quad Core a 1.4 Ghz, 1 GB de RAM, 8 GB de almacenamiento interno, Android 4.0, GPS) 44.

(45) RNF-003. RNF-004 RNF-005 RNF-006 RNF-007 RNF-008. Crear formularios para el ingreso de información de cliente, establecimientos, plan de trabajo y visitas. Desarrollo para sistema operativo Android. Desarrollo para plataforma web. Consumo mínimo de datos móviles. Mínimo consumo de batería del dispositivo móvil. Cifrar la contraseña de ingreso al sistema.. Alta. Alta Alta Alta Alta Media. Fuente: Elaboración propia.. 6.1.1.2. Requerimientos funcionales:. o La aplicación móvil permitirá autenticar usuario El requerimiento RF-001, muestra como el aplicativo controla el ingreso por medio de autenticación de usuarios, registrados en el sistema. En la tabla 2 se describe dicho requerimiento.. Tabla 2 Requerimientos RF-001. Código. IMPLEMENTACIÓN DE APLICACIÓN AGRIANDES DAYMSA SA. APPAGRIANDES.. RF-001 Nombre. Especificación de Requerimientos La aplicación móvil permitirá autenticar usuario.. Entrada. Nombre usuario y contraseña del usuario.. Salida. Ingreso al aplicativo. El usuario debe estar creado. Restricciones Debe tener acceso a internet o haber ingresado anteriormente en el aplicativo. Proceso En usuario ingresa en el aplicativo el sistema pide un nombre de usuario y contraseña, al ser ingresados correctamente el sistema permite ingresar, de lo contrario mostrar la advertencia del caso. Fuente: Elaboración propia.. 45.

(46) o La aplicación móvil permitirá ingresar datos de cliente, establecimiento, plan de trabajo y visita El requerimiento RF-002 muestra como el aplicativo permite ingresar datos de clientes, establecimientos, plan de trabajo y visitas al sistema. En la tabla 3 se describe dicho requerimiento.. Tabla 3 Requerimientos RF-002. Código. IMPLEMENTACIÓN DE APLICACIÓN AGRIANDES DAYMSA SA. APPAGRIANDES.. RF-002. Especificación de Requerimientos La aplicación móvil permitirá ingresar datos de cliente, Nombre establecimiento, plan de trabajo y visita. Información de cliente, establecimiento, plan de trabajo o Entrada visita. Cliente, establecimiento, plan de trabajo o visita Salida requeridos. Información de cliente, establecimiento, plan de trabajo o Restricciones visita correcta. Proceso Al ingresar al aplicativo, este permitirá agregar un nuevo cliente, establecimiento, plan de trabajo o visita según el caso requerido. Fuente: Elaboración propia.. o La aplicación móvil permitirá clasificar los clientes por tipo y tamaño de cultivo. El requerimiento RF-003 muestra como el aplicativo permite clasificar los clientes por tipo y tamaño del cultivo. En la tabla 4 se describe dicho requerimiento.. Tabla 4 Requerimientos RF-003. Código RF-003 Nombre. IMPLEMENTACIÓN DE APLICACIÓN AGRIANDES DAYMSA SA. APPAGRIANDES. Especificación de Requerimientos La aplicación móvil permitirá clasificar los clientes por tipo y tamaño de cultivo. 46.

Figure

Gráfico 3 Interacción aplicación móvil nativa y sistema operativo.
Gráfico 9 Principios programación extrema.
Gráfico 10 Desarrollo orientado a las pruebas.
Gráfico 12 Flujo MVC con entrada de usuario.
+7

Referencias

Documento similar

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

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)