Metodologías para el desarrollo de aplicaciones móviles

26
Metodologías para el desarrollo de aplicaciones móviles Presenta: VALDIVIA LUNA JOELY JAQUELINE

Transcript of Metodologías para el desarrollo de aplicaciones móviles

Page 1: Metodologías para el desarrollo de aplicaciones móviles

Metodologías para el desarrollo de aplicaciones móvilesPresenta: VALDIVIA LUNA JOELY JAQUELINE

Page 2: Metodologías para el desarrollo de aplicaciones móviles

INTRODUCCIÓN El desarrollo de aplicaciones móviles sufre

prácticamente los mismos problemas que la gran mayoría de desarrollos de software. Aunque hay que tener en cuenta sus principales peculiaridades como la corta duración de sus desarrollos, la gran competencia del sector que obliga a una constante innovación, los cambios frecuentes en la plataforma de desarrollo y en el hardware o la simplicidad de algunas aplicaciones. Todo ello influye a la hora de elegir una metodología concreta de desarrollo.

Page 3: Metodologías para el desarrollo de aplicaciones móviles

API Interfaz de programación de

aplicaciones o API es el conjunto de funciones y procedimientos que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Son usadas generalmente en las  "librerías".

Page 4: Metodologías para el desarrollo de aplicaciones móviles

Estructura de una aplicación en Android

Page 5: Metodologías para el desarrollo de aplicaciones móviles

DIRECTORIO SRC Se encuentra toda la lógica de

aplicación, todas las clases programadas en JAVA. Dentro de ella puedes definir distintos paquetes, donde puedes dividir en capas tus reglas de negocio

Page 6: Metodologías para el desarrollo de aplicaciones móviles

ANDROID LIBRARY Aquí se encuentran todas las librerías propias

del SDK de android, dependiendo la versión elegida al crear el proyecto tendrá una versión u otra.

Page 7: Metodologías para el desarrollo de aplicaciones móviles

DIRECTORIO «RES» Se encuentran todos los archivos con los

recursos que usan la aplicación. Las imágenes, archivos de idiomas, estilos, etc.

Page 8: Metodologías para el desarrollo de aplicaciones móviles

Drawable: Carpeta con todas las imágenes de la app. Se subdivide en múltiples carpetas desde la versión 1.6, que contienen las imágenes en distintas resoluciones y tamaños que se usarán dependiendo el dispositivo usado.

Directorio layout: Aquí se encuentran las distintas “pantallas” de la aplicación, es decir, los archivos xml con las interfaces visual asociadas a las activities.

Values: Carpeta con los xml de contenido de la app. En ella puede haber definidas las constantes de la aplicación, dando la posibilidad del multidioma. También puedes definir estilos para tus componentes. Y todo tipo de configuraciones.

Page 9: Metodologías para el desarrollo de aplicaciones móviles

DIRECTORIO BIN Aquí se encuentran todos los archivos generados

por la propia app. Android usa la máquina virtual dalvik, primero se traduce a los típicos archivos .class de java y posteriormente es traducido a los archivo .dex propios de Android.

También esta el ejecutable de la aplicación "apk", sería el equivalente a los "exe" de windows. Es el archivo que deberías instalar en cualquier teléfono android para probar la aplicación.

Page 10: Metodologías para el desarrollo de aplicaciones móviles

DIRECTORIO GEN En esta carpeta esta el archivo R.class,

éste contiene lo identificadores los recursos usados por tu proyecto: imágenes, layout, etc.

Page 11: Metodologías para el desarrollo de aplicaciones móviles

DIRECTORIO ASSESTS Carpeta donde se encuentran los archivos

auxiliares de tu aplicación: imágenes, audios, vídeos... la diferencia con los que se encuentran con la carpeta "RES", es que los archivos incluidos aquí no generarán un identificador dentro del archivo R.class anteriormente descrito.

Para usar estos archivos, en vez de referenciarlos por un ID, habría que usar la ruta física como cualquier otro archivo

Page 12: Metodologías para el desarrollo de aplicaciones móviles

DIRECTORIO LIB Aquí irán las librerías externas

importados que necesites. Por ejemplo, si deseas meter publicidad en tu app, aquí ira la librería necesaria para ello.

Page 13: Metodologías para el desarrollo de aplicaciones móviles

ANDROID MANIFEST Situado en la raíz de nuestras aplicaciones

como AndroidManifest.xml, es un archivo de configuración donde podemos aplicar las configuraciones básicas de nuestra app. Su configuración puede realizarse a través de una interfaz gráfica, pero es recomendable conocer la sintaxis ya que en muchas ocasiones será más fácil y rápido hacerlo desde el propio xml. 

Page 14: Metodologías para el desarrollo de aplicaciones móviles

METODOLOGÍAS PARA EL DESARROLLO DE APLICACINES MÓVILES

Page 15: Metodologías para el desarrollo de aplicaciones móviles

¿QUÉ ES UNA METODOLOGÍA 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 evaluarlo.

Page 16: Metodologías para el desarrollo de aplicaciones móviles

MODELO WATERFALL (CASCADA)

Clásico. Sólo aplicable cuando están totalmente cerrados los requisitos y no van a cambiar.

No hay retroalimentación entre las fases en que se divide el proyecto. Por lo que cada fase se va cerrando de forma secuencial. Todo el proceso está fijado por fechas límites y presupuestos.

Este modelo sólo es aconsejable para proyectos móviles muy controlados y previsibles, no existe incertidumbre por lo que se quiere hacer ni influyen los cambios en la industria.

Page 17: Metodologías para el desarrollo de aplicaciones móviles

Desarrollo rápido de aplicaciones

Se da énfasis a la obtención de un prototipo funcional de una aplicación para posteriormente ir mejorándolo incluyendo más funcionalidades y complejidad. Es recomendable el uso de patrones de diseño bien conocidos para adaptarse a los cambios de requisitos.

Se suele usar cuando los plazos de entrega son muy cortos y se precisa tener un entregable de forma inmediata. No se descarta utilizar otras metodologías de forma posterior, ya que este tipo de desarrollo puede ser usado para mostrar un esbozo de la aplicación a un cliente, generalmente en un par de días.

Page 18: Metodologías para el desarrollo de aplicaciones móviles

Desarrollo ágil

En primer lugar, la alta volatilidad del entorno hace que constantemente el equipo de desarrollo se deba adaptar a nuevos terminales, cambios en la plataforma o en el entorno de desarrollo. Un ritmo cambiante que requiere una alta respuesta al cambio más que al seguimiento de un plan concreto.

Page 19: Metodologías para el desarrollo de aplicaciones móviles

Los equipos de desarrollo móvil suelen se integrados por pocas personas. No más de ocho o diez desarrolladores entorno a un misma aplicación o, incluso, un único desarrollador. Las interacciones en el proceso y las herramientas son más controlables y es posible una fluida comunicación entre los miembros del equipo.

Page 20: Metodologías para el desarrollo de aplicaciones móviles

Mobile-D El objetivo de este método es conseguir ciclos de

desarrollo muy rápidos en equipos muy pequeños. Fue creado en un proyecto finlandés en 2005, pero sigue estando vigente. Basado en metodologías conocidas pero aplicadas de forma estricta como: extreme programming, Crystal Methodologies y Rational Unified Process.

Se compone de distintas fases: exploración, inicialización, fase de producto, fase de estabilización y la fase de pruebas. Cada una tiene un día de planificación y otro de entrega.

Page 21: Metodologías para el desarrollo de aplicaciones móviles

En la fase de exploración se centra la atención en la planificación y a los conceptos básicos del proyecto. Aquí es donde hacemos una definición del alcance del proyecto y su establecimiento con las funcionalidades donde queremos llegar.

En la iniciación configuramos el proyecto identificando y preparando todos los recursos necesarios como hemos comentado anteriormente en esta fase la dedicaremos un día a la planificación y el resto al trabajo y publicación.

Page 22: Metodologías para el desarrollo de aplicaciones móviles

En la fase de producto se repiten iterativamente las subfases. Se usa el desarrollo dirigido por pruebas (TDD), antes de iniciar el desarrollo de una funcionalidad debe existir una prueba que verifique su funcionamiento. En esta fase podemos decir que se lleva a acabo toda la implementación.

Después de la fase de producto llega la fase de estabilización en la que se realizan las acciones de integración para enganchar los posibles módulos separados en una única aplicación.

Page 23: Metodologías para el desarrollo de aplicaciones móviles

Fase de pruebas. Una vez parado totalmente el desarrollo se pasa una fase de testeo hasta llegar a una versión estable según lo establecido en las primeras fases por el cliente. Si es necesario se reparan los errores, pero no se desarrolla nada nuevo.

Una vez acabada todas las fases deberíamos tener una aplicación publicable y entregable al cliente.

Page 24: Metodologías para el desarrollo de aplicaciones móviles

EXTREME PROGRAMING (XP)

Se centra en las mejores prácticas para el desarrollo de software. Consta de doce prácticas: el juego de planificación, pequeñas emisiones, la metáfora, el diseño sencillo, las pruebas, la refactorización, la programación en parejas, la propiedad colectiva, integración continua, semana 40-h, los clientes en el lugar, y los estándares de codificación

Page 25: Metodologías para el desarrollo de aplicaciones móviles

Esta metodología utiliza el modelo iterativo incremental para el proceso de desarrollo y así lograr la rápida entrega de software y mejorar las capacidades de gestión de riesgos. Algunas de las características ágiles que se destacan y que también se alinean con las necesidades de desarrollo de aplicaciones móviles son según:

Desarrollo basado en pruebas. Participación continúa del cliente. Establecimiento de prioridades en los requisitos. Comunicación efectiva. Calidad garantizada. Desarrolladores expertos. Revisión de todo el proceso y sesiones de aprendizaje.

HYBRID METHODOLOGY DESIGN

Page 26: Metodologías para el desarrollo de aplicaciones móviles

MOBILE DEVELOPMENT PROCESS SPIRAL

Esta propuesta metodológica utiliza el modelo de desarrollo en espiral como base, e incorpora procesos de evaluación de la usabilidad, priorizando la participación del usuario en todos los procesos del ciclo de vida de diseño, con el fin de garantizar un diseño centrado en el usuario, aun cuando se trata de un modelo de proceso orientado a proyectos grandes y costosos, ya que está destinado a ser un modelo de reducción de riesgos.