Identificación y clasificación de patrones en el diseño de aplicaciones móviles
Authors:   , Yorio Rubén Darío 
Published: September 2019

Durante los últimos años hemos sido testigos de un gran crecimiento tecnológico en materia de comunicaciones inalámbricas. Han surgido innumerables mejoras en las redes de comunicación, protocolos más eficientes, mayores anchos de banda, mayores áreas de cobertura, entre otras. Y por otra parte se han mejorado las prestaciones de los dispositivos móviles, los cuales cuentan ahora con baterías de mayor duración, displays de mayor resolución, mayor poder de cómputos y un número creciente de nuevas prestaciones. Esta revolución tecnológica ha facilitado el desarrollo de aplicaciones móviles más complejas que sus predecesoras, pero que a su vez deben poder evolucionar con mayor rapidez. En otras palabras las nuevas aplicaciones móviles deben adaptarse a los cambios tecnológicos, siendo flexibles y extensibles de forma que puedan cambiar su funcionalidad o extenderse para soportar una nueva. Actualmente el desarrollo de sistemas para escenarios móviles se ha difundido considerablemente. De aplicaciones casi experimentales, solo utilizadas en ambientes universitarios, se ha llegado a aplicaciones comerciales de uso a mayor escala, con una variedad que va desde las orientadas a empresas, pasando por las de uso personal y sin dejar de lado aquellas utilizadas simplemente para entretenimiento. El mercado ha cambiando, o visto de otra forma el usuario ha cambiado, sus necesidades son otras, su nivel de requerimientos es otro. Por citar un ejemplo, no hace mas de cinco años enviar mensajes SMS era cosa de unos pocos, hoy existen prestadoras de servicios celulares que permiten enviar mensajes a solo aquellos “contactos” que se encuentran dentro de las proximidades del usuario, y esto ya es visto como algo habitual, el usuario se acostumbra a este servicio y cada vez resulta mas difícil sorprenderlo con nuevas funcionalidades. Los diseñadores deberán agudizar su ingenio para lograr nuevas aplicaciones, situación que sin lugar a duda sucederá. En este escenario aparecen nuevas necesidades, cada vez más desafiantes y complejas que las anteriores, y que obligan a soluciones que deben ser puestas en servicio cada vez con mayor rapidez. Si bien no se puede negar que el dominio de las aplicaciones móviles, es un dominio completamente ligado a los avances tecnológicos, y hasta se podría afirmar que el mismo es de carácter sumamente restrictivo, al momento de diseñar una aplicación de este tipo existen otros puntos a tener en cuenta, más allá que las limitaciones tecnológicas. Por ejemplo diferentes grados de personalización de la aplicación por medio del usuario, según sus preferencias o su contexto actual, son requerimientos que pueden afectar el diseño de una aplicación móvil y que distan de tener una componente tecnológica que los afecte. En esta evolución surgen desafíos más que interesantes para la ingeniería de software. La importancia de analizar el diseño, antes comenzar a escribir una sola línea de código, para aplicaciones que debe evolucionar rápidamente, es sin lugar a dudas un punto que no puede ser menospreciado. El modelado de una arquitectura a nivel conceptual permite al diseñador decidir cuestiones que tendrán influencia a lo largo de todo el ciclo de vida de la aplicación. En la literatura, se encuentran varios trabajos relacionados con el desarrollo de aplicaciones para escenarios móviles [Bur03], [CD03], [Chu04], [KCL03], [LB03], [Rot01], [RR04], y dentro de los mismos existen varias corrientes que propician la utilización de patrones. Argumentan el éxito obtenido en otros dominios para replicar la idea al dominio de aplicaciones móviles. En algunos de ellos se presentan jerarquías de patrones, en otros se los agrupa según clases y los mas avezados, presentan al estilo de la tabla periódica, una matriz donde se predice cual seria el patrón ha ser descubierto para cada fila/columna. De todas maneras, es claro que el uso de patrones como herramienta para capturar conocimiento o experiencia de los diseñadores mas experimentados ha sido uno de los grandes logros de la ingeniería de software y por lo tanto es natural tratar de replicar este concepto en el dominio de las aplicaciones móviles.