Metodología para el desarrollo de aplicaciones móviles

Methodology for mobile application development

Maira Cecilia Gasca Mantilla1, Luis Leonardo Camargo Ariza2, Byron Medina Delgado3

1Ingeniero Electrónico, Magíster en Mantenimiento Industrial. Docente de la Universidad Antonio Nariño. Santa Marta, Colombia. Contacto: magasca@uan.edu.co
2Ingeniero Electrónico, Magíster en Ingeniería Electrónica. Docente de la Universidad del Magdalena. Santa Marta, Colombia. Contacto: lcamargoa@unimagdalena.edu.co
3Ingeniero Electrónico, Magíster en Ingeniería Electrónica. Docente de la Universidad Francisco de Paula Santander. Cúcuta, Colombia. Contacto: byronmedina@ufps.edu.co

Fecha de recepción: 1 de marzo de 2013 Fecha de aceptación: 27 de agosto de 2013

Clasificación del artículo: investigación
Financiamiento: Universidad del Magdalena


Resumen

El artículo presenta la evolución de los servicios de telefonía móvil en Latinoamérica contextualizados en las diferentes generaciones tecnológicas, las características del software para dispositivos móviles y una propuesta de método de trabajo para el desarrollo de aplicaciones para móviles. El método se basa en la conceptual-ización de las tecnologías y las metodologías ágiles para el desarrollo de software, y su objetivo principal es facilitar la creación de nuevas aplicaciones y servicios exitosos. El método se desarrolla en cinco etapas: etapa de análisis, donde se obtienen y clasifican los requerimientos y se personaliza el servicio; etapa de diseño, momento en el que se define el escenario tecnológico y se estructura la solución por medio de algún diagrama o esquema, integrando tiempos y recursos; etapa de desarrollo, cuando se implementa el diseño en un producto de software; etapa de prueba de funcionamiento, donde se emula y simula el producto ajustando detalles, se instala en equipos reales y se evalúa el rendimiento, y posteriormente se evalúa el potencial de éxito; y finalmente, en la etapa de entrega, se define el canal de distribución de la aplicación, con el propósito de adecuar la aplicación al mismo. Además, el artículo presenta los resultados del desarrollo de un servicio m-salud para Android y J2ME utilizando el método propuesto, el servicio está dirigido a pacientes que requieren o deseen tener un control periódico de las medidas corporales de tensión arterial y glucosa, servicio que obtuvo un potencial de éxito en los usuarios de prueba.

Palabras clave: comunicación móvil; servicio de información; software de código abierto.


Abstract

This paper presents: the evolution of mobile telephony services in Latin America contextualized in different technology generations, the features of software for mobile devices, and proposes a method for developing mobile applications in Latin America. This method is based on the conceptualization of contemporary telecommunications technologies and the agile software development methodologies. The main objective of this method is to facilitate the creation and evaluation of new applications and services. The method is developed in five steps: the analysis stage, the requirements is obtained and classified and the service is customize; the design stage, in this stage is defined the technological and the solution is structured by some chart or diagram; the development stage, the design is implemented in a software product; the performance test stage, the application is emulates and simulates to adjusting details in the product, the software is installs in real equipment and is evaluated the performance and success; the delivery stage, the distribution channel of the application is defined, in order to adapt the application at the same. Furthermore, the paper presents the results of developing a m-health service in Android and J2ME using the proposed method, service for patients who need or wish to have regular monitoring of measurements of blood pressure and glucose. The service has a satisfactory evaluation with test users.

Key words: Information Services; Mobile Communication; Open Source Software.


Introducción

En la última década, el uso de la telefonía móvil en Latinoamérica ha tenido un creciente auge; la disminución de los costos en los equipos y la evolución de las tecnologías móviles han permitido aumentar el número de usuarios y las velocidades de transferencia de información, garantizando la penetración en el mercado con un promedio de 103 líneas telefónicas por cada 100 habitantes en el 2011 en Latinoamérica (UIT, 2012).

Un valor agregado que le permitió a la telefonía móvil una alta penetración en el mercado y un grado de aceptación alto por parte de los usuarios, es el poder ofrecer servicios alternos a los canales de voz.

La primera generación 1G de telefonía móvil, por ser de naturaleza analógica, solo podía prestar el servicio de voz. La segunda generación es el comienzo de la era digital en la interfaz de radio y los operadores pudieron prestar servicios de transferencia de datos; fue en ese momento cuando se popularizó el Servicio de Mensajería Corta, Short Message Service (SMS). En redes de 2G como: Sistema Global para las Comunicaciones Móviles, Global System for Mobile Communications (GSM) y Servicio Avanzado de Telefonía Móvil-Digital, Digital-Advanced Mobile Phone Service (D-AMPS).

Con la implementación de tecnologías como: Servicio General de Paquetes de Radio, General Packet Radio Service (GPRS), Tasa de Datos Mejorada para la Evolución de GSM, Enhanced Data Rates GSM of Evolution (EDGE) y Acceso Múltiple por División de Código, Code Division Multiple Access (CDMA IS95, IS95B); se dio paso a la generación 2.5G, aumentando la velocidad de transferencia (Halonen, Romero y Melero, 2003), y con esto aparecieron nuevos servicios como el acceso a Internet desde el móvil por medio del Protocolo para Aplicaciones Inalámbricas, Wireless Application Protocol (WAP), el Servicio de Mensajería Mejorada, Enhanced Messaging Service (EMS), el Servicio de Mensajería Multimedia, Multimedia Messaging Service (MMS), entre otros (Montilla, 2004).

En la tercera generación 3G y 3.5G aparecen nuevos servicios, entre los que se destacan la videoconferencia y el Sistema de Posicionamiento Global, Global Positioning System (GPS), además del uso de las redes del operador de telefonía para acceder a Internet desde un computador con altas velocidades de descarga, High Speed Downlink Packet Access (HSDPA) (Holma y Toskala, 2004).

La cuarta generación 4G con tecnologías como: Long Term Evolution (LTE), LTE Avanzado, LTE Advanced (LTE-A), High Speed Packet Access (HSPA+) y el estándar IEEE 802.16; ofrecen servicios basados completamente en el Protocolo de Internet (IP), con velocidades de transferencia hasta de 100 Mbps y con Calidad de Servicios, Quality of Service (QoS) (Agusti et al., 2010).

Paralelamente al crecimiento de las redes, la evolución de los teléfonos móviles ha conllevado a la integración de diversas tecnologías a estos dispositivos, tecnologías como WiFi, Bluetooth, GPS, infrarrojo, touchscreen, USB, entre otras. Esto ha permitido que el teléfono celular sea compatible con una amplia gama de dispositivos y pueda sincronizarse con otros equipos para el intercambio de información.

La disponibilidad de las mejoras tecnológicas, tanto en las redes de los operadores como en los dispositivos móviles, están creando en las personas la demanda del uso de nuevos servicios. Servicios que se basan en estas tecnologías para solucionar problemas específicos en el ámbito empresarial (m-business), comercial (m-commer-ce), académico (m-learning), de salud (m-health) y social (redes sociales como: correo electrónico instantáneo de Blackberry, Facebook, Twitter, MySpace, Skype, entre otros) (Autelsi, 2009).

Los servicios móviles representan las capacidades de comunicación que los operadores ponen a disposición de los clientes "Usuarios". Estas capacidades están completamente definidas a través de protocolos y funciones estandarizadas, al menos en su forma de uso.

En la actualidad, la mayoría de los servicios móviles están desarrollados en: HTML 5, WAP, Java 2 Micro Edición (J2ME), C#, Silverlight, .NET, entre otros. También, en aplicaciones nativas para los Sistemas Operativos de los móviles (S.O. del móvil), como: Android, Symbian, iOS y MeeGo.

El escenario tecnológico actual posiciona a los desarrolladores de servicios como la nueva fuerza de negocios en las redes de próxima generación Application Stores, allí radica la importancia de unificar metodologías y entornos para el desarrollo de servicios, que faciliten la creación de estos con alto nivel de calidad, llevando dicho desarrollo al éxito, de forma atractiva y eficiente.

El desarrollo de aplicaciones para proveer servicios móviles, difiere del desarrollo de software tradicional en muchos aspectos, lo que provoca que las metodologías usadas para estos entornos móviles, también difieran de las del software clásico (Rahimian y Ramsin, 2008).

Las características especiales de los entornos móviles como el canal de radio, la capacidad de los terminales, la portabilidad, el tiempo de salida al mercado "Time-to-Markef\ la movilidad del usuario, entre otras; exigen nuevas tendencias para desarrollar el software móvil en Latinoamérica.

Las metodologías ágiles para el desarrollo de software, surgieron como una solución inmediata, garantizando la realización de proyectos en corto plazo, las cuales se pueden ajustar a los Time-to-Marker de los servicios móviles, como es el caso de las metodologías Mobile-D (Kynkáánniemi y Komulainen, 2006), y Rapid7 (Kylmákoski, 2005). Sin embargo, no garantizan el potencial de éxito de estos, éxito que depende en gran parte del conocimiento electrónico y de telecomunicaciones, del entorno específico donde se ejecuta la aplicación (terminales y redes), además de la caracterización del cliente latinoamericano.

Por las razones anteriores, se propone la "Metodología para el Desarrollo de Aplicaciones Móviles, MDAM", metodología usada para la creación de un servicio m-salud (mHealth) denominado DrMovil y que es el caso de uso.

El término mHealth se define como la unión de la computación móvil, sensores médicos y tecnologías de comunicación, para el cuidado de la salud (Istepanian, Jovanov y Zhang, 2004). MHealth es una propuesta tecnológica que en los últimos años ha surgido como un segmento importante de la telemedicina y su objetivo principal es mejorar los servicios de salud, integrando los beneficios de movilidad y ubicuidad, propios de los sistemas móviles, a los tratamientos de cuidados de la salud tradicional, tratando de llevar la atención de salud a la gente y no la gente al sistema de salud. Las aplicaciones de mHealth están creando mecanismos para el intercambio de información relacionada con el cuidado de la salud, incluso en lugares remotos y de escasos recursos, debido a la gran área de cobertura e influencia social de las redes de telefonía móvil, convirtiéndose en un factor estratégico para salvar vidas (Vital Wave Consulting, 2009).

Metodología

La metodología propuesta para el desarrollo de aplicaciones para móviles se fundamenta en la experiencia de investigaciones previas en aplicaciones móviles, la evaluación del potencial de éxito para servicios de tercera generación denominada 6 M, la ingeniería de software educativo con modelado orientado por objetos (ISE-OO), y principalmente en los valores de las metodologías ágiles.

De la ISE-OO se hereda el enfoque de los micro-mundos interactivos y la orientación por objetos; los elementos de los micromundos más utilizados en los servicios móviles interactivos son: Mundo, Escenarios, Personajes y Roles, Argumento e Historia, Variables Compensatorias, Variables de Control, Variables de Resultado, Zonas de Comunicación, Ambientación-Caracterización, Recuperación de Estados Anteriores, Manejo de Información del Usuario, Mecanismos para Análisis de Desempeño, Ampliación de las Posibilidades del Micro-mundo, Personalización del Ambiente y, Soporte a la Comunicación en Grupo, entre otros (Gómez, Galvis y Mariño, 1998).

De las metodologías ágiles se heredan los conceptos inmersos en los cuatro postulados o manifiesto ágil (Beck et al., 2001).

De la 6 M's se extrae la concepción de que las aplicaciones móviles deben garantizar el cumplimiento de las necesidades de los usuarios y al mismo tiempo generen ingresos. La 6 M's debe su nombre a los seis atributos que se miden para evaluar el éxito del servicio propuesto: Movement (Movimiento), Moment (Momento), Me (Yo), Multi-user (Multiusuario), Money (Dinero) y Machines (Máquinas) (Ahonen, Barret y Golding, 2002).

La metodología se encuentra enmarcada en cinco fases como se muestra en la figura 1, denominadas: análisis, diseño, desarrollo, pruebas de funcionamiento y entrega. A continuación se describe cada una de las actividades que intervienen en el desarrollo de la propuesta.

Análisis

En esta fase se analizan las peticiones o requerimientos de las personas o entidad para la cual se desarrolla el servicio móvil "Cliente", el propósito es definir las características del mundo o entorno de la aplicación. Se realizan tres tareas: obtener requerimientos, clasificar los requerimientos y personalizar el servicio.

El entorno se refiere a todo lo que rodea al servicio. Por ejemplo, las características técnicas del dispositivo móvil del cliente, el sistema operativo subyacente (móvil y servidores), la tecnología utilizada para la transferencia de información, el Sistema Manejador de Base de Datos, Data Base Management System (DBMS), si se requiere, el formato de archivos y, otros módulos tecnológicos utilizados para el servicio.

El mundo es la forma cómo interactúan el usuario y la aplicación. Aquí se encuentran los requerimientos de la Interfaz Gráfica de Usuario, Graphical User Interface (IGU), la forma en que el software va a generar los datos de salida, el formato de los datos y los demás requerimientos que involucren la comunicación hombre-máquina, considerando la gama tecnológica de los teléfonos móviles de los usuarios a la que va dirigida el servicio.

Los requerimientos funcionales son todos aquellos que demandan una función dentro del sistema. Se deben definir claramente cada una de las tareas que debe realizar la aplicación.

Los requerimientos no funcionales son la estabilidad, la portabilidad, el rendimiento, el tiempo de salida al mercado y, el costo, entre otros.

Diseño

El objetivo de esta etapa es plasmar el pensamiento de la solución mediante diagramas o esquemas, considerando la mejor alternativa al integrar aspectos técnicos, funcionales, sociales y económicos. A esta fase se retorna si no se obtiene lo deseado en la etapa prueba de funcionamiento.

Se realizan cuatro actividades en esta fase: definir el escenario, estructurar el software, definir tiempos y asignar recursos.

Se sugiere traducir los requerimientos obtenidos de la etapa anterior en un diagrama que describa en forma objetiva el servicio por implementar. Además, definir un patrón de diseño para flexibilizar, modular y reutilizar lo desarrollado; la selección del patrón de diseño debe estar acorde con el escenario del servicio. Algunos patrones que se ajustan a los escenarios de las aplicaciones móviles son: modelo vista de controlador, diseño de capas, entre otros.

Desarrollo

El objetivo de esta fase es implementar el diseño en un producto de software. En esta etapa se realizan las siguientes actividades:

Pruebas de funcionamiento

El objetivo de esta fase es verificar el funcionamiento de la aplicación en diferentes escenarios y condiciones; para esto se realizan las siguientes tareas:

Cualquier servicio que brinde un gran valor en cualquiera de las 6 M's tiene un buen potencial para el éxito como servicio móvil. Si la evaluación de las 6 M's del servicio es insatisfactoria, se debe rediseñar el servicio fortaleciendo los atributos mencionados.

Entrega

Terminada la depuración de la aplicación y atendidos todos los requerimientos de última hora del cliente se da por finalizada la aplicación y se procede a la entrega del ejecutable, el código fuente, la documentación y el manual del sistema.

Las tiendas físicas u outlets, especializadas o no, corresponden a las tiendas que venden dispositivos y servicios de telecomunicaciones, normalmente operadores o marcas como Apple.

Los portales de operadores o desarrolladores de servicios, ofrecen un catálogo amplio de aplicaciones y ventas vía Web Site desde el PC, que luego son instaladas en el móvil.

Las Applications Stores, son las tiendas online de los fabricantes de dispositivos o de sistemas operativos.

OTA, Over the Air, es la comercialización de aplicaciones a través de la interfaz de radio. Los contenidos móviles son distribuidos a los terminales usando SMS, WAP y Streaming, entre otros.

Los servicios basados en el Subscriber Identity Module (SIM), o la Universal Integrated Circuit Card (UICC), son aplicaciones instaladas previamente en el chip de estas tarjetas.

Resultados

El método propuesto, llamado DrMovil, se utilizó para desarrollar el servicio de m-Health para prevenir y monitorizar pacientes con enfermedades relacionadas a la glucosa y tensión arterial (HTA). DrMovil se desarrolló considerando las tecnologías presente en Latinoamérica en un tiempo de cuatro meses, cumpliendo el Time-to-Market y obteniendo una evaluación de éxito satisfactoria por parte de un grupo de usuarios y expertos; los desarrolladores del servicio son: Miguel Jose Rivera Ospino y Andrés Fabián Díaz-Granados Tobías estudiantes de Ingeniería, y el docente Luis Leonardo Camargo Ariza. En la figura 3 se muestra la ejecución de cada fase con la dedicación del tiempo en semanas.

El servicio desarrollado está soportado por: Dr-Movil.apk, aplicación para usuarios de móviles con S.O. Android; DrMovil.jar, aplicación para usuarios de móviles con S.O. Symbia y OS7 de BlackBerry; y DrMovilServidor, software que incorpora la lógica del servicio y la aplicación Web dirigida al médico supervisor del servicio. DrMo-vilServidor y DrMovil fueron diseñados para ejecutarse en conjunto como se ilustra en la figura 4.

DrMovil.apk y DrMovil.jar están dirigidas a personas: hipertensas, diabéticos, hipoglucémicos, deportistas, mujeres embarazadas, entre otras, permitiendo al usuario utilizar su dispositivo móvil para:

Para la HTA se clasifican las medidas en: Normal, Pre-hipertensión, HTA1, HTA2, como se muestra en la tabla 1 (U.S. Department of health and human services, 2004).

Los niveles de glucosa en mg/dl se clasificaron en bajo (<80), normal (>80 y <155) y alto (>155), teniendo en cuenta la tabla 2 (Alfaro, Simal y Botella, 2000).

DrMovilServidor está dirigido a las empresas prestadoras de servicios de salud que quieran utilizar los beneficios de las tecnologías de información y comunicación para mejorar los procesos de supervisión de pacientes y prevención de enfermedades. Las funciones básicas del DrMovilServidor son:

Las aplicaciones se instalaron y probaron en varios dispositivos comerciales con soporte para J2ME y sistema operativo Android, comprobando los parámetros de: presentación, navegación, ayudas, gráficas, almacenamiento y sincronización con el servidor. En la figura 5 se muestran algunos pantallazos de la ejecución de la aplicación DrMovil.jar y DrMovil.apk. En la figura 6 se muestra algunos pantallazos de la aplicación web.

Posteriormente se realizó una jornada de utilización del sistema DrMovil en el campus de la Universidad del Magdalena; en esta jornada algunos estudiantes se tomaron muestras de glucosa o presión arterial, acompañados de estudiantes de enfermería de últimos semestres, utilizando el DrMovil instalado en sus teléfonos personales para registrar, comparar y enviar la información de las medidas tomadas; además, los próximos profesionales de enfermería realizaron pruebas de funcionamiento a la aplicación Web DrMovil-Servidor, revisando las muestras almacenadas por los voluntarios, ver figura 7.

Se les solicitó a los usuarios mencionados y algunos expertos, diligenciar una encuesta sobre el servicio. Las características de la muestra de los usuarios se enmarcan en la figura 8.

Los usuarios con sistema operativo Windows Mobile y otros no pudieron instalar, ni evaluar el servicio. Los resultados de la encuesta se utilizaron para valorar el potencial de éxito del servicio, la evaluación se sintetiza en la tabla 3.

Conclusiones

Las aplicaciones móviles deben considerar las características del entorno de ejecución de la aplicación que dispone el teléfono, para garantizar el correcto funcionamiento de la misma.

Las aplicaciones móviles pueden ayudar a solventar los problemas de tipo particular o general de la sociedad, debido a sus características de movilidad y ubicuidad.

Los entornos integrados de desarrollo (IDE) facilitan la elaboración de aplicaciones móviles, porque ofrecen herramientas de edición, compilación, depuración, análisis y ejecución en una misma interfaz, mejorando los tiempos de ejecución de las etapas de diseño, desarrollo y pruebas, de la metodología propuesta.

J2ME es una plataforma soportada por una gran variedad de dispositivos, incluyendo aquellos que no poseen alta capacidad de procesamiento, como los teléfonos móviles no inteligentes.

Android, permite la creación de formatos de interfaz más amigables para el usuario, sin gran complejidad en el código, por la característica de edición mediante archivos xml.

La utilización de SMS para mensajes emergentes permite que el usuario reciba la información sin necesidad de tener activa la aplicación, mejorando el rendimiento computacional y el tiempo útil de la batería.

El uso de aplicativos m-Health mejora los tiempos y los costos que implican el diagnóstico de pacientes con enfermedades que requieran un control periódico, porque permite conectar al médico y al paciente, sin importar su ubicación geográfica.

El servicio desarrollado facilita el autocontrol a pacientes con problemas de azúcar e hipertensión, porque guarda y grafica los históricos de las medidas corporales, referenciando éstas con valores de estándares mundiales de prevención.

En el tiempo que se realizó la aplicación, la tendencia de la programación en dispositivos móviles migró hacia los nuevos sistemas operativos Android y Windows Phone.

Financiamiento

Este artículo es un producto del proyecto de investigación: Sistema de interacción entre un paciente y el médico utilizando las tecnologías móviles, financiado por la Universidad del Magdalena.


Referencias

Agusti, R., Bernardo, F., Casadevall, F., Ferrús, R., Pérez, J. y Sallent, O. (2010). LTE: Nuevas Tendencias en Comunicaciones Móviles. Madrid: Fundación Vodafone España.

Ahonen, T., Barret, J. & Golding, P. (2002). Services for UMTS, Creating Killer Applications in 3G. West Sussex: John Wiley & Sons.

Alfaro, J., Simal, A. y Botella, F. (2000). Tratamiento de la diabetes mellitus. Revista Información Terapéutica del Sistema Nacional de Salud, 24 (2), 33-43.

Autelsi, Asociación española de usuarios de telecomunicaciones y de la sociedad de la información (2009). Modelos de negocios en dispositivos y aplicaciones móviles. Recuperado de http://www.autelsi.es/cms/autel/images/socios/aplicmov.pdf.

Beck, K., Beedle, M., Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M. & Thomas, D. (2001). Manifesto for Agile Software Development. Utah: The Agile Alliance. Available http://agilemanifesto.org/.

Gómez, R., Galvis, A. y Mariño, O. (1998). Ingeniería de software educativo con modelaje orientado por objetos: un medio para desarrollar micromundos interactivos. Informática Educativa UNIANDES - LIDIE, 11 (1), 9-30.

Halonen, T., Romero, J. & Melero, J. (2003). Gsm, Gprs And Edge Performance Evolution Towards 3G Umts. Inglaterra: John Wiley & Sons.

Holma, H. & Toskala, A. (2004). WCDMA for UMTS. Radio Access For Third Generation Mobile Communications. Inglaterra: John Wiley & Sons.

Istepanian, R., Jovanov, E. & Zhang, Y. (2004). Guest editorial introduction to the special section on m-health: Beyond seamless mobility for global wireless healthcare connectivity. IEEE Transactions on information technology in biomedicine, 8 (4), 405-412.

Kylmãkoski, R. (2005). RaPiD7: A Collaborative Method for the Planning Activities in Software Engineering - Industrial Experiment. Recuperdado de Information Technology for European Advancement: http://www.agile-itea.org/public/papers/RaPiD7.pd.

Kynkããnniemi, T. & Komulainen, K. (2006). Agile Documentation in Mobile-D Projects (Agile Deliverable D.2.10). Recuperado de Information Technology for European Advancement: http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.10_vl.O.pdf.

Montilla, A. (2004). Desarrollo de servicios para telefonía móvil 2.5g y 3g. Caracas: CONA-TEL/CEDITEL.

Rahimian, V. & Ramsin, R. (2008, 6 de junio). Designing and agile methodology for mobile software development: a hybrid ethod engineering approach. Second International Conference on Research Challenges in Information Science. Recuperado de http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4632123&punumber%3D4620134%26sortType%3Dasc_p_Sequence%26filter%3DAND%28p_IS_Number%3A4632084%29%26pageNumber%3D2.

UIT, Unión Internacional de Telecomunicaciones. (2012). World Telecommunication ICT Indicators Database, Mobile cellular subscriptions. Recuperado de http://www.itu.int/ITU-D/ict/statistics/material/excel/Mobile-cellular2000-2011.xls.

U.S. Department of health and human services. (2004). Seventh Report of the Joint National Committee on Prevention, Detection, Evaluation, and Treatment of High Blood Pressure. Recuperado de http://www.nhlbi.nih.gov/guidelines/hypertension/jnc7full.pdf.

Vital Wave Consulting. (2009). MHealth for Development: The Opportunity of Mobile Technology for Healthcare in the Developing World. Recuperado de http://www.globalproblems-globalsolutions-files.org/unf_website/assets/publications/technol-ogy/mhealth/mHealth_for_Development_full.pdf.