El documento explora los métodos de desarrollo de aplicaciones móviles, incluyendo el modelo cascada, desarrollo ágil, Mobile-D y fases típicas como planificación, recolección de requisitos, especificación y diseño e implementación. Explica brevemente cada método y fase, así como consideraciones de diseño, pruebas e implementación para aplicaciones móviles.
4. MÉTODOS DE DESARROLLO DE APLICACIONES MÓVILES
Buena parte de los proyectos de desarrollo de aplicaciones móviles son de
corta duración, esto debido a que no son muy complejos o nacen como
prototipos que exponen solo una parte de su funcionalidad y van
evolucionando. No obstante existen desarrollos complejos y que requieren
con mayor fuerza de métodos de desarrollo para guiar su proceso. Entre los
métodos más conocidos para desarrollo de aplicaciones móviles más
conocidos tenemos:
• Modelo waterfall.
• Desarrollo rápido de aplicaciones.
• Desarrollo ágil (cualquiera de sus variantes).
• Mobile-D
5. MODELO WATERFALL O CASCADA
Es un modelo estático que es aplicable cuando los requerimientos del proyecto
no cambian (proyectos previsibles y controlados), se da mucha importancia al
análisis y diseño, y se pueden aplicar técnicas de gestión de proyectos
convencionales. El modelo consta de una serie de o fases consecutivas y
navegables en un solo sentido (no puede iniciar una etapa sin que se termine
la anterior): Análisis y definición de requerimientos, Diseño, Implementación,
pruebas y mantenimiento.
6. DESARROLLO ÁGIL
Es un método de desarrollo iterativo que pretende producir un prototipo evolutivo que
crecer en funcionalidad con cada iteración. Es útil para desarrollo de aplicaciones
urgentes con tiempos de entrega cortos. En cada iteración se realizan todas las fases
de desarrollo. Se fundamenta en los 12 principios del manifiesto ágil. Existen varios
métodos que aplican el manifiesto: XP, Crystalclear, ASD, entre otros). Son
adecuados para el desarrollo de aplicaciones móviles por las siguientes razones:
• Tasa de cambio de los entornos de desarrollo alta, nuevos terminales y tecnologías.
• Equipos de desarrollo pequeños y proyectos de corta duración.
• Normalmente no son aplicaciones de nivel crítico.
7. MOBIL-D
Desarrollado por investigadores del VTT (instituto de investigación finlandés) en 2004 aún sigue vigente.
Pretende realizar ciclos de desarrollo muy cortos con grupos pequeños de hasta 10 desarrolladores, en
un mismo espacio físico. Comparte algunas características de los métodos ágiles como XP, Crystal y RUP.
También pretende usar técnicas como TDD (test drivendevelopment). Comprende las siguientes fases:
• Exploración: Planificación y conceptos
• Inicialización: Identificación de recursos y entorno técnico
• Producto: Subfases iterativas de planificación, trabajo y entrega.
• Estabilización: Se realiza la integración
• Reparación: Pruebas y ajustes.
8. FASES DE LOS PROYECTOS DE DESARROLLO DE APLICACIONES
MÓVILES
En general los proyectos de desarrollo de aplicaciones móviles
tienen unas determinadas fases:
• Planificación.
• Recolección de requerimientos.
• Especificación y diseño.
• Implementación.
9. PLANIFICACIÓN
Pretende gestionar el tiempo y recursos necesarios para desarrollar la aplicación,
realizar estimaciones y reducir los riesgos del proyecto. Al momento de la
planeación de debe tener presente:
• El nivel de experticia del equipo de desarrollo en la tecnología y herramientas que
se usara para el desarrollo.
• Planear las pruebas en dispositivos reales.
• Time to market.
• Cuando se tendrá el primer prototipo, dado que es un hito muy importante para
el proyecto.
10. RECOLECCIÓN DE REQUERIMIENTOS
Como todo proyecto de software, la recolección de requerimientos funcionales y no
funcionales constituye un factor fundamental que permite direccionar el proyecto.
• En un proyecto de desarrollo móvil, es importante además construir el plan de
dispositivos que contiene el listado de dispositivos que se desea soportar, y agruparlos
teniendo presente que se pueda aplicar al grupo la misma solución. A cada grupo estimar
los costos, ingresos y beneficios, y ponderarlos para priorizar los grupos a los cuales se
enfocara inicialmente el desarrollo y maximizar el impacto en el mercado.
• Otra consideración importante de la planeación es la definición de la arquitectura. Las
cuales pueden ser fuera de línea, en línea y sincronización
11. ESPECIFICACIÓN Y DISEÑO
En cuanto al diseño de la aplicación, se suelen usar patrones de diseño como:
• MVC: Para separar las capas de la aplicación (negocio, presentación, control).
• Multihilos: Para posibilitar las tareas en segundo plano.
• Delegation: Delegar tareas en otros objetos.
• Memoria gestionada: Capa intermedia para maximizar el uso de la memoria
Para la interfaz gráfica se usan patrones como:
• Cuadro de control: Acceder rápidamente a principales funcionalidades (3 a 6)
• Barra de acción: Agrupa todas las acciones de una pantalla en una determinada zona (superior o
inferior)
• Menús contextuales: Se muestran dependiendo del objeto que se presione.
• Listas dinámicas: Listas que se cargan dependiendo en el momento que se solicite.
• Mensajes de alerta: Advertir sobre un evento
12. IMPLEMENTACIÓN Y PRUEBAS
La mayoría de proyectos son de corta duración y ciclos de desarrollo cortos por las necesidades del
mercado y la necesidad de prototipos rápidos. Para las pruebas iníciales se requieren simuladores,
que suelen ser lentos, y las pruebas en dispositivos reales tienen más complicaciones, en algunos
casos se requiere licencia. Para el éxito de la implementación es necesario considerar factores
como:
• Usabilidad: Uso de estándares visuales, coherencia del diseño, facilidad de uso.
• Responsividad: Responder a las acciones del usuario de la mejor manera y lo más pronto posible.
• Optimización de recursos: Cuidar el uso de batería, evitar cálculos y procesamiento excesivo, usar
los recursos eficientemente
• Accesibilidad de la aplicación: Habilitar la aplicación para que sea usada de diferentes maneras.
13. PREGUNTAS
• En queconsisteTDD (test driven development).?
• Cuáles son los 10 principios que propone
Nielsen de Usabilidad? .Como puede evaluarse
la usabilidad de un sitio o aplicación?
14. BIBLIOGRAFIA
AGILE DEVELOPMENT METHODS FOR MOBILE APPLICATIONS, ANDREI CRISTIANSPATARU.UNIVERSITY OF EDINBURGH.
2010. (HTTPS://WWW.INF.ED.AC.UK/PUBLICATIONS/THESIS/ONLINE/IM100767.PDF)
MÉTODOS PARA DESARROLLO DE APLICACIONES MÓVILES. ROBERT RAMÍREZ VIQUE, BARCELONA, ESPAÑA, UNIVERSITAT
OBERTA DE CATALUNYA.