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.
- Obtener requerimientos: se sugiere hacer una serie de entrevistas al cliente, para que manifieste los síntomas del problema o necesidades que se pretenden solucionar con las tecnologías móviles, o simplemente, para que señale las características que debe tener la aplicación.
- Clasificar los requerimientos: una vez identificados los requerimientos que debe tener el software, se procede a clasificarlos. Dichos requerimientos se pueden clasificar en entorno, mundo, funcionales y no funcionales.
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.
- Personalizar el servicio: adicionalmente se deben analizar aspectos de la cotidianidad del cliente como preferencias, costumbres y particularidades del usuario, con el propósito de garantizar la aceptación del servicio.
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.
- Definir el escenario: las aplicaciones móviles se pueden diseñar para ejecutarse en diferentes escenarios, dependiendo del sistema de conexión y sincronización con el servidor o aplicación central; el proceso de sincronización se realiza para insertar, modificar o borrar información. Entre los diferentes escenarios se encuentran los siguientes: 1) desconectado: los procesos se realizan en el dispositivo móvil desconectado, después de terminar el proceso, si se requiere, puede conectarse con una aplicación central mediante el proceso de sincronización. 2) Semiconectado: los procesos pueden ejecutarse en el dispositivo móvil desconectado, pero se requiere establecer conexión en algún momento para terminar el proceso, al sincronizar la información con el servidor o aplicación central. En los escenarios desconectado y semiconectado se recomienda utilizar los protocolos y tecnologías que se ajusten al servicio y capacidades tecnológicas del dispositivo. Algunos son: Media Transfer Protocol (MTP), Near Field Communication (NFC), SlowSync, FastSync, SyncML, entre otros. 3) Conectado: el dispositivo debe estar siempre conectado con la aplicación central o servidor para su correcto funcionamiento, no se almacenan datos o archivos en el móvil, la sincronización se realiza mediante la validación de formularios, usualmente se utiliza el Protocolo de Transferencia de Hipertexto (Hypertext Transfer Protocol, HTTP).
- Estructurar el software: se deben utilizar algunos diagramas de Modelado de Lenguaje Unificado, Unified Modeling Language (UML), según las necesidades del proyecto, modelando el sistema desde varias perspectivas, 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.
- Definir tiempos: se establecen los plazos para cada una de las actividades restantes, con el objetivo de terminar la aplicación a tiempo para su salida al mercado. Se debe tener en cuenta el diseño computacional del software realizado en la tarea anterior y, las características volátiles y dinámicas de los servicios móviles.
- Asignar recursos: se asignan los recursos para realizar cada actividad y alcanzar los objetivos propuestos, se deben considerar recursos humanos, financieros y tecnológicos. Además, se deben seleccionar las herramientas para el desarrollo de la aplicación móvil.