Metodologías para el desarrollo de aplicaciones móviles

Metodologías
para el
desarrollo de
aplicaciones
móviles
Presenta:
VALDIVIA LUNA JOELY
JAQUELINE
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.
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".
Estructura de una aplicación en
Android
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
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.
DIRECTORIO «RES»
 Se encuentran todos los archivos con los recursos
que usan la aplicación. Las imágenes, archivos de
idiomas, estilos, etc.
 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.
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.
DIRECTORIO GEN
 En esta carpeta esta el archivo R.class, éste
contiene lo identificadores los recursos
usados por tu proyecto: imágenes, layout, etc.
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
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.
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.
METODOLOGÍAS PARA EL
DESARROLLO DE
APLICACINES 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.
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.
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.
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.
 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.
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.
 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.
 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.
 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.
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
 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
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.
1 de 26

Más contenido relacionado

La actualidad más candente(20)

Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
juanksi28102.6K vistas
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
María Inés Cahuana Lázaro28.5K vistas
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
Camila Arbelaez29.9K vistas
PROGRAMACIÓN DE DISPOSITIVOS MÓVILESPROGRAMACIÓN DE DISPOSITIVOS MÓVILES
PROGRAMACIÓN DE DISPOSITIVOS MÓVILES
Faber Orozco67.6K vistas
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
Abner Gerardo115K vistas
RUP - Fase de ElaboraciónRUP - Fase de Elaboración
RUP - Fase de Elaboración
Adrian González6.9K vistas
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
Registro Nacional de Identificación y Estado Civil (RENIEC)19.2K vistas
Herramientas caseHerramientas case
Herramientas case
Junior Solano de Arco4.6K vistas
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy23.7K vistas
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
Yadith Miranda Silva31K vistas
Ieee 830Ieee 830
Ieee 830
ALEX MERINO60.7K vistas
Metodologias De Desarrollo De SoftwareMetodologias De Desarrollo De Software
Metodologias De Desarrollo De Software
guesta169567031.3K vistas
Herramientas CASEHerramientas CASE
Herramientas CASE
xinithazangels7.4K vistas
Proceso unificadoProceso unificado
Proceso unificado
Yolanda Uruchima9.5K vistas
Rational roseRational rose
Rational rose
Israel Chava Gonzales8.2K vistas

Similar a Metodologías para el desarrollo de aplicaciones móviles

1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_softwareMiguel Castro
1.1K vistas20 diapositivas
Metodologia rupMetodologia rup
Metodologia rupmireya2022
2.6K vistas19 diapositivas

Similar a Metodologías para el desarrollo de aplicaciones móviles(20)

Framework para desarrollo de apps móvilesFramework para desarrollo de apps móviles
Framework para desarrollo de apps móviles
Iván Campaña Naranjo4K vistas
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
francisco alexander sanchez1.2K vistas
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
Miguel Castro1.1K vistas
Herramientas para el desarrollo de aplicacionesHerramientas para el desarrollo de aplicaciones
Herramientas para el desarrollo de aplicaciones
HctorJessPonceCastil11 vistas
Metodologia rupMetodologia rup
Metodologia rup
mireya20222.6K vistas
Desarrollo de softwareDesarrollo de software
Desarrollo de software
sairarcf512 vistas
García _Herrera_Victor_Eduardo_S9.pptxGarcía _Herrera_Victor_Eduardo_S9.pptx
García _Herrera_Victor_Eduardo_S9.pptx
VictorEduardoHerrera33 vistas
Resolucion de guiaResolucion de guia
Resolucion de guia
reina vigil107 vistas
Resolucion de guiaResolucion de guia
Resolucion de guia
reina vigil131 vistas
10575714011057571401
1057571401
Daniel Barreto678 vistas
Metodologia RUPMetodologia RUP
Metodologia RUP
Carlos Vargas49 vistas
Modelos de proceso del softwareModelos de proceso del software
Modelos de proceso del software
Diego Llusco776 vistas
Diseño de softwareDiseño de software
Diseño de software
CarmineMaggio27 vistas
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativa
Diego Sinche726 vistas
Trabajo de sistemas de informacion radTrabajo de sistemas de informacion rad
Trabajo de sistemas de informacion rad
Henry Cambal2.4K vistas
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
Jazmin Cr1.7K vistas

Metodologías para el desarrollo de aplicaciones móviles

  • 2. 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.
  • 3. 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".
  • 4. Estructura de una aplicación en Android
  • 5. 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
  • 6. 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.
  • 7. DIRECTORIO «RES»  Se encuentran todos los archivos con los recursos que usan la aplicación. Las imágenes, archivos de idiomas, estilos, etc.
  • 8.  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.
  • 9. 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.
  • 10. DIRECTORIO GEN  En esta carpeta esta el archivo R.class, éste contiene lo identificadores los recursos usados por tu proyecto: imágenes, layout, etc.
  • 11. 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
  • 12. 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.
  • 13. 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.
  • 14. METODOLOGÍAS PARA EL DESARROLLO DE APLICACINES MÓVILES
  • 15. ¿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.
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19.  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.
  • 20. 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.
  • 21.  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.
  • 22.  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.
  • 23.  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.
  • 24. 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
  • 25.  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
  • 26. 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.