INTEGRANTES: De la

22
INTEGRANTES: De la Torre Guevara, Belgica Choquehuanca Vargas, Denis Huatay Incacari, Alex Romero Quiroz Jose

Transcript of INTEGRANTES: De la

INTEGRANTES:De la Torre Guevara, BelgicaChoquehuanca Vargas, Denis

Huatay Incacari, AlexRomero Quiroz Jose

Estudio de Metodologías para el Desarrollode Aplicaciones móviles

Resumen

El presente documento nosenseña cómo ha evolucionado latecnología en función a losteléfonos móviles enLatinoamérica contextualizadosen las diferentes generacionestecnológicas, lascaracterísticas del softwarepara dispositivos móviles y unapropuesta de método de trabajopara el desarrollo deaplicaciones para móviles.

El método se basa en laconceptualización de lastecnologías y las metodologíaságiles para el desarrollo desoftware, y el objetivoprincipal es facilitar lacreación de nuevas aplicacionesy servicios exitosos. El métodose desarrolla en cinco etapas:etapa de análisis, donde seobtienen y clasifican losrequerimientos y se personalizael servicio; etapa de diseño,momento en el que se define elescenario tecnológico y seestructura la solución por mediode algún diagrama o esquema,integrando tiempos y recursos;etapa de desarrollo, cuando seimplementa el diseño en un

producto de software; etapa deprueba de funcionamiento, dondese emula y simula el productoajustando detalles, se instalaen equipos reales y se evalúa elrendimiento, y posteriormente seevalúa el potencial de éxito; yfinalmente, en la etapa deentrega, se define el canal dedistribución de la aplicación,con el propósito de adecuar laaplicación al mismo.

También se tiene comopropósito conocer más afondo lasdiferentes metodologías agilespara el desarrollo deaplicaciones móviles con el finde seleccionar la más flexible,que permita crear productos decalidad, incorporando estándaresde usabilidad y un modelo deaprendizaje.

Actualmente, se vive uncrecimiento acelerado en el usode dispositivos móviles consistemas basados en iOS de Appley Android, Windows,

BlackBerry. Por lo tantola demanda en el mercado para eldesarrollo de aplicaciones

móviles que se instalan en losdispositivos son los siguientes:

Figura Nro.01Android el favorito de Latinoamérica

Obtenido de: http://www.merca20.com/android-el-favorito-de-latinoamerica/

Abstract

This document shows us howtechnology has evolved accordingto mobile phones in LatinAmerica contextualized in thedifferent technologicalgenerations, the characteristicsof software for mobile devicesand a proposed method of workfor the development of mobileapplications.

The method is based on theconceptualization oftechnologies and agilemethodologies for softwaredevelopment, and the mainobjective is to facilitate thecreation of new applications andservices successful.

The method is developed infive stages: analysis stage,which are obtained andclassified requirements andpersonalized service; designstage, at which stage technologyis defined and the solutionthrough a structure diagram orscheme, integrating time andresources; stage of development,when the design is implementedin a software product; trialstage of operation, where itemulates and simulates theproduct adjusting details,installed in real equipment andits performance is evaluated,and the potential for success isfurther evaluated; and finally,at the delivery stage, thedistribution channel of theapplication, in order to adaptthe application at the samedefined.

Also it aims to learn morein depth the various agilemethodologies for developingmobile applications in order toselect the most flexible,allowing create qualityproducts, incorporatingstandards of usability and alearning model.

Currently, an accelerateduse of mobile devices based onApple iOS and Android, Windows,Blackberry growth live systems.Therefore the market demand forthe development of mobileapplications that are installedon the devices are:

Introducción

En la última década, eluso de la telefonía móvil enLatinoamérica ha tenido uncreciente ascendente; ladisminución de los costos en losequipos y la evolución de lastecnologías móviles hanpermitido aumentar el número deusuarios y las velocidades detransferencia de información.

Figura Nro. 02El 86% de los latinoamericanos utilizará Smartphone para el año 2020

Obtenido de: http://pulsosocial.com/2015/06/04/el-86-de-los-latinoamericanos-utilizara-smartphones-para-el-ano-2020/

La disponibilidad de lasmejoras tecnológicas, tanto enlas redes de los operadores comoen los dispositivos móviles,están creando en las personas lademanda del uso de nuevosservicios. Servicios que sebasan en estas tecnologías parasolucionar problemas específicosen el ámbito empresarial,comercial, académico, de salud ysocial.

En la actualidad, lamayoría de los servicios móvilesestán desarrollados en: HTML 5,WAP, Java 2 Micro Edición(J2ME), C#, Silverlight, .NET,entre otros. También, enaplicaciones nativas para los

Sistemas Operativos de losmóviles (S.O. del móvil), como:Android, Symbian, iOS y MeeGo.

El escenario tecnológicoactual posiciona a losdesarrolladores de servicioscomo la nueva fuerza de negociosallí radica la importancia deunificar metodologías y entornospara el desarrollo de servicios,que faciliten la creación deestos con alto nivel de calidad,llevando dicho desarrollo aléxito, de forma atractiva yeficiente.

El desarrollo deaplicaciones para proveerservicios móviles, difiere deldesarrollo de softwaretradicional en muchos aspectos,lo que provoca que lasmetodologías usadas para estosentornos móviles, tambiéndifieran de las del softwareclásico.

La ingeniería de softwarejuega un papel importante en eldesarrollo, portabilidad,mantenibilidad, funcionalidad,fiabilidad y productividad delsoftware, igualmente, lasmetodologías ágiles son procesospara desarrollar software demanera rápida.

Es donde nace el término“métodos ágiles” termino queimplica ser eficaz y fácil demanejar, lo que es muyconveniente para el tamaño yagilidad de los proyectos deaplicaciones móviles, las cualeshan venido creciendoconsiderablemente en los últimosaños, en número de desarrollos,pero no en calidad, esto nos

permite reconocer que losmétodos de software deben seradaptados e involucrados en eldesarrollo de aplicaciones paradispositivos móviles, si es quese quiere lograr un efectoóptimo en este ámbito .

Sin embargo, existen muypocas investigaciones hasta elmomento sobre el uso de losmétodos ágiles en el desarrollode aplicaciones paradispositivos móviles.

Las metodologías ágilespara el desarrollo de software,surgieron como una solucióninmediata, garantizando larealización de proyectos encorto plazo, las cuales sepueden ajustar a los Time-toMarker de los serviciosmóviles.

Sin embargo, no garantizanel potencial de éxito de estos,éxito que depende en gran partedel conocimiento electrónico yde telecomunicaciones, delentorno específico donde seejecuta la aplicación, además dela caracterización del clientelatinoamericano.

Por lo tanto daremos aconocer las características delas metodologías agiles con elfin de poder tener un contextogeneral de cómo es la estructurade una aplicación (APP).

Además presentaremos uncaso práctico de cómo puedeinfluenciar estas tecnologías enel entorno.

Marco Teórico

El mercado de aplicacionesmóviles ha experimentado unarápida expansión durante losúltimos 10 años, las plataformasmóviles siguen mejorando sudesempeño, y la necesidad de losusuarios de una amplia variedadde aplicaciones móviles va enaumento. Los operadores móvilesy proveedores de softwareesperan que esta tendenciacontinúe y la industria deaplicaciones móviles y servicioscomerciales se expanda,consiguiendo colocar susproductos alrededor del mundo.Ejemplos de aplicacionescomerciales pueden ser:servicios de información,anuncios, servicios basados encontenido, en localización oaplicaciones de pago sobre móvil(1*).

Como se puede observar enla Figura 3: Evolución de losdispositivos móviles., en losúltimos años, se ha disparado lafiebre de móviles con pantallatáctil, que inició con el iPhoney que ha revolucionadototalmente el mercado de laventa de móviles (celulares) ypor ende, el de las aplicacionesmóviles. Estos pequeñoselementos se han convertido enaccesorio indispensable paratrabajar, estudiar y realizar unsinnúmero de actividades, puesposeen casi todas lascaracterísticas de uncomputador, con la gran ventajade ser cómodos y portables,

1* DISEÑO E IMPLEMENTACION DE UN APLICATIVO MÓVIL PARA LA CONSULTA DE SERVICIOS POR PARTE DE LOS CLIENTES DE PEQUEÑA Y MEDIANA EMPRESA DEUNE-TELEFONICA DE PEREIRA extraido de: http://repositorio.utp.edu.co/dspace/bitstream/11059/5135/1/62138456C157.pdf

cualidad que los hacedisponibles en todo momento.

Figura 3: Evolución de losdispositivos móviles.

Figura Nro. 03DISEÑO E IMPLEMENTACION DE UN APLICATIVO MÓVIL PARA LA CONSULTA DE

SERVICIOS POR PARTE DE LOS CLIENTES DE PEQUEÑA Y MEDIANA EMPRESA DE UNE-TELEFONICA DE PEREIRA Obtenido de:

http://repositorio.utp.edu.co/dspace/bitstream/11059/5135/1/62138456C157.pdf

Ahora bien, a medida quelas aplicaciones móviles sehacen más populares y por lotanto más rentables, losdesarrolladores de software handebido investigar nuevasmetodologías, o decidirse pormodificar y optimizar las yaexistentes. Es importanteaclarar que, en el caso de lasmetodologías de desarrollo desoftware para aplicacionesmóviles, los requerimientos sondiferentes y se precisa de unamayor rapidez para la entrega delos productos. Aunque losllamados “métodos agiles”cumplen con los requisitosnecesarios para desarrollaraplicaciones. (1*)

El desarrollo de softwarepara las plataformas móvilesviene con características únicasy restricciones que se aplican ala mayoría de las etapas delciclo de vida. Lascaracterísticas distintivas másimportantes son: alto nivel de

competitividad, cortó tiempo deentrega, movilidad,portabilidad, capacidadesespecíficas y constantementecambiantes de las terminales,sistemas operativos diferentes eincompatibles, entre otras.

Según un estudio realizadoen el año 2012 y presentado enla Figura 2: Estadísticas de usode los Sistemas Operativos, sepuede ver como Android haencabezado el interés de losdesarrolladores de aplicacionesmóviles, con un 77% junto conIOS que posee el 66%, mientrasque BlackBerry posee un 34%frente a un 37% de Windows Phone(2*).

Figura 4: Estadísticas de uso delos Sistemas Operativos

Figura Nro. 04Metodologías ágiles en el desarrollo de aplicaciones para dispositivos

móviles. Estado actual Obtenido de:http://www.academia.edu/9603029/Metodolog%C3%ADas_

%C3%A1giles_en_el_desarrollo_de_aplicaciones_para_dispositivos_m%C3%B3viles._Estado_actual_Agile_methodologies_in_the_development_o

f_applications_for_mobile_devices._present_state

Actualmente Androidcontinúa siendo la plataformamás interesante para losdesarrolladores de aplicacionesmóviles, junto con iOS. Así lodemuestran también los estudiosde la empresa Visión Mobile, queen su informe DeveloperEconomics, en la sexta edición,que estudia el primer trimestrede 2014, analiza las tendencias

2* Metodologías ágiles en el desarrollo de aplicaciones para dispositivos móviles. Estado actualhttp://www.academia.edu/9603029/Metodolog%C3%ADas_%C3%A1giles_en_el_desarrollo_de_aplicaciones_para_dispositivos_m%C3%B3viles._Estado_actual_Agile_methodologies_in_the_development_of_applications_for_mobile_devices._present_state

del mercado en cuanto al interésde los desarrolladores por elsegmento de la movilidad (3*).

En la Figura 5: Plataformas másinteresantes para losdesarrolladores de software seobservan los resultados.

Figura Nro. 05Plataformas Móviles Obtenido de:

http://www.poderpda.com/plataformas.

Las Metodologías ágiles enel desarrollo de aplicacionespara dispositivos móvilesdurante todo el ciclo de vida dedesarrollo del producto, lasiteraciones individuales debenproducir alguna característicacompletamente funcional omejorada su principal objetivoes reducir el tiempo dedesarrollo, del mismo modo quecon el modelo en cascada y usadoinicialmente para desarrollo desoftware, donde todos losrequisitos se analizan antes deempezar a desarrollar, sinembargo, los requisitos se

dividen en “incrementos”independientemente funcionales.

Muchas ideas que seplantean en las metodologíaságiles no son nuevas, en granparte responden al sentidocomún.

La aparición de lasmetodologías ágiles no puede serasociada a una única causa, sinoa todo un conjunto de ellas, sibien es cierto que la mayoría deautores lo relacionan con unareacción a las metodologíastradicionales, ¿cuáles fueronlas causas de esta reacción?,los factores que comúnmente semencionan son la pesadez,lentitud de reacción y exceso dedocumentación, en definitiva,falta de agilidad de los modelosde desarrollo formales; otropunto importante sería laexplosión de la red, lasaplicaciones Web y lasaplicaciones móviles, así comoel crecimiento notorio delmovimiento open source.

A todo esto se puedeañadir un cambio bastanteimportante, en cuanto a lademanda del mercado delsoftware, cada vez más orientadaa la Web y a dispositivosmóviles, con requisitos muyvolátiles y en constante cambio,que requieren tiempos dedesarrollo cada vez más cortos,lo que provocó que las empresasse fijaran más en nuevosdesarrolladores, con nuevosmétodos “amateurs” que secombinan con técnicas de lasmetodologías formales.

Los modelos de desarrollode las comunidades open sourcepudieron ciertamente determinarla aparición de las metodologíaságiles, pero cada autordetermina el surgimiento de lasmetodologías ágiles dediferentes maneras.

Hoy en día se reconoce quelas metodologías más acordespara dispositivos móviles secentran en el desarrollo ágil yla generación rápida de código.

Por lo general lasaplicaciones móviles sonpequeñas y son desarrolladas porempresas pequeñas de software(conocidas como fábricas desoftware), el desarrollosistemático es quizá el problemamás difícil ya que se deben deentregar resultados rápidamente,en Jeong et. Al (2008), sedescribe que existen muchasmetodologías que pueden servirpara este propósito, el problemaes que las empresas gastanmuchos recursos para adoptarlasy dar un seguimiento de calidad,se termina trabajando para lametodología, afectando en granmedida e las pequeñas y medianasempresas.

Existen dos tipos deMetodologías las de Desarrollo,las Agiles y Las de ProgramaciónExtrema

Metodologíade Desarrollo

MetodologíaAgiles

ExtremeProgramin

Unametodologíaes unacolección deprocedimientos, técnicas,herramientas

surgen comounaalternativa alastradicionales, estasmetodologías

Se centra enlas mejoresprácticaspara eldesarrollode software.Consta de

y documentosauxiliaresque ayudan alosdesarrolladores desoftware ensus esfuerzosporimplementarnuevossistemas deinformación.Unametodologíaestá formadapor fases,cada una delas cuales sepuede dividiren sub-fases,que guiarán alosdesarrolladores desistemas aelegir lastécnicas másapropiadas encada momentodel proyectoy también aplanificarlo,gestionarlo,controlarlo yevaluarlo

se derivan dela lista delosprincipiosque seencuentran enel“ManifiestoÁgil” [9], yestán basadosen undesarrolloiterativo quese centra másen capturarmejor losrequisitoscambiantes yla gestión delos riesgos,rompiendo elproyecto eniteracionesde diferentelongitud,cada una deellasgenerando unproductocompleto yentregable; eincrementaldonde unproducto seconstruyebloque abloquedurante todoel ciclo devida dedesarrollodel producto.

doceprácticas:el juego deplanificación, pequeñasemisiones,la metáfora,el diseñosencillo,las pruebas,larefactorización, laprogramaciónen parejas,la propiedadcolectiva,integracióncontinua,semana 40-h,los clientesen el lugar,y losestándaresdecodificación.

En el siguiente cuadro semuestra las características ydiferencias de metodologíasagiles y las tradiciones.

Tabla 1: Tabla comparativa demetodologías

Aunque los sistemasmóviles comerciales no hanresultado funcionalmente tansatisfactorios como prometían,los operadores móviles y losproveedores de software de valorañadido para móviles tienen laesperanza de que el efecto del3G/3.5G y la cantidad de móvilesno-tontos que se están vendiendoactualmente den un cambiodrástico a la industria de lasaplicaciones móviles,consiguiendo expandir el uso dedichas aplicaciones y servicioscomercialmente. Ejemplos deaplicaciones comerciales puedenser: servicios de información,anuncios, servicios basados encontenido, servicios basados enlocalización o aplicaciones depago sobre móvil.

En cambio las aplicacionesmóviles ha sufrido una rápidaexpansión durante los últimos 10años, las plataformas móvilessiguen evolucionando sudesempeño, y la necesidad de losusuarios de una amplia variedadde aplicaciones móviles va enaumento. El desarrollo desoftware para las plataformasmóviles viene concaracterísticas únicas yrestricciones que se aplican ala mayoría de las etapas delciclo de vida. Lascaracterísticas distintivas másimportantes son identificadas,tales como: un alto nivel decompetitividad, cortó tiempo deentrega, movilidad,portabilidad, capacidadesespecíficas y constantementecambiantes de las terminales,sistemas operativos diferentes eincompatibles, entre otras.

Alcance de la Investigación

Un método de desarrollo desoftware se dice que es un métodoágil de desarrollo de softwarecuando se centra en las personas,es orientado a la comunicación,flexible (listo para suadaptación a la espera de uncambio inesperado en cualquiermomento), rápida (estimula elrápido e iterativo desarrollo delproducto en versiones pequeñas),eficiente (se centra en acortarlos plazos y costes y en lamejora de la calidad), adaptable(reacciona adecuadamente a loscambios esperados e inesperados),y aprende (centrado en la mejora

durante y después del desarrollodel producto).

Estas mediciones nosayudan a identificar procesos máscrecientes hoy en día que vanreferenciados a calidad deservicio, satisfacción declientes, participación openetración del mercado,fidelización, efectividad decampañas, contactos virtuales,tiempo de servicios, climalaboral, entre otros.

Análisis de Estudio

Características yrequerimientos específicos delentorno móvil

El desarrollo deaplicaciones móviles difiere deldesarrollo de softwaretradicional en muchos aspectos,lo que provoca que lasmetodologías usadas para estosentornos también difieran de lasdel software clásico.

Esto es porque el softwaremóvil tiene que satisfacer unaserie de requerimientos ycondicionantes especiales que lohace más complejo:

• Movilidad: Aquí influyenconsideraciones como lamigración de direcciones, altalatencia debido a cambio deestación base o la gestión de lainformación dependiente delocalización.

• Portabilidad: Lacaracterística portabilidad delos dispositivos terminalesimplica una serie de

limitaciones físicasdirectamente relacionadas con elfactor de forma de los mismos,como el tamaño de las pantallaso del teclado, limitando tambiénel número de teclas y sudisposición.

Por otro lado, estánevolucionando en la dirección dela convergencia de los ultrasportátiles, con los dispositivosinteligentes (Smartphone)constituyendo cada vez menos unelemento diferencial.

• Usabilidad: Lasnecesidades específicas deamplios y variados grupos deusuarios, combinados con ladiversidad de plataformastecnológicas y dispositivos,hacen que el diseño para todosse convierta en un requisito quegenera una complejidad crecientedifícil de acotar.

• Time-to-market: En unsector con un dinamismo propio,dentro de una industria en plenocambio, los requisitos que seimponen en términos de tiempo delanzamiento son muy estrictos yañaden no poca dificultad en lagestión de los procesos dedesarrollo.

El uso de metodologíaságiles es el medio más apropiadopara el desarrollo de tecnologíaen móviles, aunque lascaracterísticas especiales delos terminales y de las redes detelefonía móvil demandan algunosajustes sobre las actualesmetodologías ágiles.

Ventajas* El cliente está satisfecho yaque recibe lo que necesita yesperaba 

* El coste en términos deproceso y Management es mínimo,llevando a un resultado másrápido y barato. 

* Así que ayuda a la empresa aahorrar tiempo y dinero 

* Permite realizar proyectos enlos que la documentación de losrequerimientos de negocios noestán muy claros como para serdesarrolladas 

* Rápido desarrollo, sedesarrolla rápidamente y testea,y cualquier error puede serfácilmente rectificado. 

* Los problemas se identificanpor adelantado en las reunionesdiarias y por lo tanto se puedenresolver rápidamente * Hay visibilidad clara deldesarrollo del proceso 

* Es fácil entregar un productode calidad en el tiempoestipulado 

* Puede trabajar con cualquiertecnología o lenguaje deprogramación 

* Hace el proceso del desarrollo

de software más centrado ymanejable

Desventajas* Si no existe una fechadefinitiva de finalización delproyecto es posible que se sigasolicitando, y añadiendo, nuevafuncionalidad. 

* Si una tarea no está biendefinida, los costes de tiempo ydinero estimados del proyecto noserán demasiado exactos. En esecaso, la tarea se puede extendersobre varios sprints. 

* Este bien para proyectospequeños, de rápido movimientoya que trabaja bien solo conequipos pequeños. 

* Esta metodología necesita solomiembros de equipoexperimentados. Si el equipoconsiste en gente que es junior,el proyecto no puede sercompletado a tiempo. 

* Además de los recursos sinsuficiente experiencia, la faltade dirección firme pueden llevara los proyectos a no completarseo incluso fallar. 

* Si algunos de los miembros delequipo se marcha durante eldesarrollo puede tener un efectonegativo enorme en el desarrollodel proyecto. 

* El control de la calidad delproyecto es difícil de

implementar y cuantificar amenos que el equipo de testpuedan llevar a cabo testeo deregresión después de cadasprint. 

Metodología

La metodología propuestapara el desarrollo deaplicaciones para móviles sefundamenta en la experiencia deinvestigaciones previas enaplicaciones móviles, laevaluación del potencial deéxito para servicios de tercerageneración denominada 6 M, laingeniería de software educativocon modelado orientado porobjetos (ISE-OO), yprincipalmente en los valores delas metodologías ágiles.

De la ISE-OO se hereda elenfoque de los micro mundosinteractivos y la orientaciónpor objetos; los elementos delos micro mundos más utilizadosen los servicios móvilesinteractivos son: Mundo,Escenarios, Personajes y Roles,Argumento e Historia, VariablesCompensatorias, Variables deControl, Variables de Resultado,Zonas de Comunicación,Ambientación Caracterización,Recuperación de EstadosAnteriores, Manejo deInformación del Usuario,Mecanismos para Análisis deDesempeño, Ampliación de lasPosibilidades del Micro mundo,Personalización del Ambiente y,Soporte a la Comunicación enGrupo, entre otros (Gómez,Galvis y Mariño, 1998).

De las metodologías ágilesse heredan los conceptosinmersos en los cuatropostulados o manifiesto ágil(Beck et al., 2001).

Desarrollar software quefunciona más que conseguir buenadocumentación. La respuesta anteel cambio es más importante queel seguimiento de un plan.

Colaboración con elcliente sobre negociacióncontractual. Individuos einteracciones sobre procesos yherramientas.

De la 6 M’s se extrae laconcepción de que lasaplicaciones móviles debengarantizar el cumplimiento delas necesidades de los usuariosy al mismo tiempo genereningresos. La 6 M’s debe sunombre a los seis atributos quese miden para evaluar el éxitodel servicio propuesto: Movement(Movimiento), Moment (Momento),Me (Yo), Multi-user(Multiusuario), Money (Dinero) yMachines (Máquinas) (Ahonen,Barret y Golding, 2002).

La metodología seencuentra enmarcada en cincofases como se muestra en lafigura 6, denominadas: análisis,diseño, desarrollo, pruebas defuncionamiento y entrega. Acontinuación se describe cadauna de las actividades queintervienen en el desarrollo dela propuesta.

Figura Nro. 06 Metodología para el desarrollo de aplicaciones móvilesObtenido de: http://www.scielo.org.co/scielo.php?pid=S0123-

921X2014000200003&script=sci_arttext

Análisis

En esta fase se analizanlas peticiones o requerimientosde las personas o entidad parala cual se desarrolla elservicio móvil “Cliente”, elpropósito es definir lascaracterísticas del mundo oentorno de la aplicación. Serealizan tres tareas: obtenerrequerimientos, clasificar losrequerimientos y personalizar elservicio.

El entorno se refiere atodo lo que rodea al servicio.Por ejemplo, las característicastécnicas del dispositivo móvildel cliente, el sistemaoperativo subyacente (móvil yservidores), la tecnologíautilizada para la transferenciade información, el SistemaManejador de Base de Datos, DataBase Management System (DBMS),si se requiere, el formato dearchivos y, otros módulostecnológicos utilizados para elservicio.

Diseño

El objetivo de esta etapaes plasmar el pensamiento de lasolución mediante diagramas oesquemas, considerando la mejoralternativa al integrar aspectostécnicos, funcionales, socialesy económicos. A esta fase seretorna si no se obtiene lo

deseado en la etapa prueba defuncionamiento.

Se realizan cuatroactividades en esta fase:definir el escenario,estructurar el software, definirtiempos y asignar recursos.

Definir el escenario:Las aplicaciones móviles sepueden diseñar para ejecutarseen diferentes escenarios,dependiendo del sistema deconexión y sincronización con elservidor o aplicación central;el proceso de sincronización serealiza para insertar, modificaro borrar información. Entre losdiferentes escenarios seencuentran los siguientes:

1) desconectado: los procesosse realizan en eldispositivo móvil

desconectado, después determinar el proceso, si serequiere, puede conectarsecon una aplicación centralmediante el proceso desincronización.

2) Semi conectado: losprocesos pueden ejecutarseen el dispositivo móvildesconectado, pero serequiere establecerconexión en algún momentopara terminar el proceso,al sincronizar lainformación

Estructurar elsoftware: Se deben utilizaralgunos diagramas de Modelado deLenguaje Unificado (UML), segúnlas necesidades del proyecto,modelando el sistema desdevarias perspectivas, Se sugieretraducir los requerimientosobtenidos de la etapa anterioren un diagrama que describa enforma objetiva el servicio porimplementar. Además, definir unpatrón de diseño paraflexibilizar modular yreutilizar lo desarrollado; laselección del patrón de diseñodebe estar acorde con elescenario del servicio. Algunospatrones que se ajustan a losescenarios de las aplicacionesmóviles son: modelo vista decontrolador, diseño de capas,entre otros

Definir tiempos: Seestablecen los plazos para cadauna de las actividadesrestantes, con el objetivo determinar la aplicación a tiempopara su salida al mercado. Sedebe tener en cuenta el diseñocomputacional del software

realizado en la tarea anteriory, las características volátilesy dinámicas de los serviciosmóviles.

Asignar recursos: Seasignan los recursos pararealizar cada actividad yalcanzar los objetivospropuestos, se deben considerarrecursos humanos, financieros ytecnológicos. Además, se debenseleccionar las herramientaspara el desarrollo de laaplicación móvil.

Desarrollo El objetivo de esta fase

es implementar el diseño en unproducto de software. En estaetapa se realizan las siguientesactividades:

Codificar: Se escribe enel lenguaje de programaciónseleccionado, cada una de laspartes definidas en losdiagramas realizados en la etapade diseño.

Pruebas unitarias: Severifica el funcionamiento de laaplicación. En primer lugar, secomprueba la correcta operaciónde cada elemento desarrolladoobjeto, clase, actividad,documento, entre otros en formaindividual; posteriormente, sepone en funcionamiento elconjunto de elementos,comprobando la interrelaciónentre ellos. Se ejecuta y seobservan los resultadosobtenidos, para compararlos conlos esperados.

Documentar el código:a medida que se codifica y seprueba cada elemento, se redactala pequeña documentación sobrelo desarrollado.

Codificar ayudas:además del manual de instalacióny de usuario, deben existir unaserie de ayudas que informen demanera didáctica lo que puedehacer el usuario con laaplicación, estas ayudas debenser codificadas en el mismolenguaje de programación eintegrada en la interfaz deaplicación para visualizarlas enel móvil.

Discusión

En la actualidad el 83% delas empresas usan metodologíaságiles para el desarrollo de susaplicaciones

Un dato interesante delestudio es que el 83% de lasempresas usan metodologíaságiles para el desarrollo de susaplicaciones, ya que éstas lespermiten adaptarse mejor a loscambios del mercado. El 46% deestas empresas no disponen, sinembargo, de técnicas de testingconsistentes para estasmetodologías.

Los dispositivos móvilesse han convertido en el primercanal de comunicación conempleados y clientes. Pero el45% de las empresas no validancorrectamente lasfuncionalidades, el rendimientoy la seguridad de lasaplicaciones en los dispositivos

móviles ni la de los propiosdispositivos.

El 56% de lasorganizaciones que participaronen el estudio señala la ausenciade metodologías especializadaspara entornos móviles como unagran barrera para hacer testing,mientras un 48% considera laausencia de profesionalesexpertos como obstáculo.

A continuación vamos arealizar unos casos prácticos decomo la tecnología orientado aaplicaciones móviles ha estadocambiando constantementeteniendo en cuenta laimportancia que es para todonosotros.

Caso Práctico. Lector deRSS

Para poner en práctica lasmetodologías ágiles en eldesarrollo de unaaplicación Android,decidimos hacer unaaplicación que mostraselas entradas de un blogque exportase sus entradasen formato RSS 2.0. Paraeste ejemplo, vamos arealizar únicamente laprimera iteración queproponen estasmetodologías, por lo quenuestra aplicación seráúnicamente una primeraversión como resultado deuna vuelta al ciclo devida. El único objetivocon esta interacción esconseguir una aplicaciónque funciona, aunque notenga todas lasfuncionalidades

requeridas. Así, porejemplo, en esta primeraiteración se han aprendidolos conceptos básicos deldesarrollo en Android y seha desarrollado unaaplicación que permiteleer los feeds de un sitiousando RSS 2.0. Una vezterminada la aplicación,se han identificadodiversas funcionalidadesque podrían ser añadidas omejoras al producto querealizar en siguientesiteraciones como podríanser: almacenar los feedsen la memoria delteléfono, poner un botónde actualizar los feeds,leer otros formatos conRSS 1.0 o Atom.

El ejemplo desarrollado secompone de dosactividades, una quemuestra el listado defeeds (extendiendoOnItemClikListener que asu vez extiende aListActivity) y otra quemuestra un feed completo(que simplemente extiendede Activity). Cadaactividad tiene su vistaasociada a través de unfichero xml. Acontinuación se muestra amodo de ejemplo como sedefine la vista de un feedque se compone de una cajade texto (con el texto dela entrada) y un botón devolver.

Caso Práctico sobre Chipde firmware para laincrustación enteléfonos móviles Mobile

FeliCa es una tecnologíade tarjetas sin contacto ICampliamente utilizado en Japón,desarrollado y promovido porSony Corporation3. FeliCa esutilizado por IC Mobile, que

está integrado en un teléfonomóvil conocido como “OsaifuKeitai” (medio de monederoelectrónico) por NTT DoCoMo,Inc., y hoy en día estosteléfonos móviles puedenutilizarse como monederoelectrónico, tickets para eltren, identificación, llaves,etc.

Tiene un sistema dearchivos de seguridad, unprotocolo de comunicaciones y unfirewall que controla losmúltiples servicios antesmencionados. Uno de los aspectosmás importantes es asegurar lamáxima calidad del software conel fin de evitar gravesproblemas sociales relacionadoscon la infraestructura y elservicio que reciben losclientes no se vería afectado.Lenguaje Utilizado Debido a laexigencia del proyecto sedeterminó utilizar un métodoformal para el proyecto, bajolos siguientes objetivos:

1. Describir rigurosamente lasespecificaciones y definición defunciones.

2. Desarrollar y aplicar unsistema y los procesos dedesarrollo de la especificación,la aplicación y pruebas delfirmware.

3. Verificar detalladamente lasespecificaciones formales parael conjunto de procesos dedesarrollo de software.

FIG. 7: ETAPAS DEL MODELO V LEÓN-CARRILLO, LUIS VINICIO (2005A) 8Temas de Ciencia y Tecnología

Resultados Obtenidos

Los resultados obtenidosdurante el proceso se muestranen la Figura 4. Se generó eldesarrollo y lasespecificaciones externas usandoVDM++. El proceso de laespecificación del proyecto esla siguiente:

1. Discutir losrequerimientos con losStakeholders y escribirlas especificacionesgenerales en un lenguajenatural con variosdiagramas basándose ennotación UML, diagramas detransición de estado ydiagramas de secuencia.

2. Modelar el sistema dearchivos de FeliCa ydiseñar e implementar unfirmware en VDM++.

3. Describir comandos yespecificaciones deseguridad usando elfirmware.

4. Hacer especificacionesde pruebas usando unfirmware de pruebasunitarias.

Caso de Desarrollo de Aplicación Móviles con Android para una farmacia

Debido a la necesidad delos usuarios por adquirirmedicamentos de manera Deliverysin la necesidad de estar alalta del teléfono, se decidedesarrollar una aplicaciónmóvil en la cual se puederealizar pedidos de medicamentoya sean genéricos o de marca,además de implementar un sistemaweb en el cual se encarga deadministrar todos los pedidos delos distintos usuarios.

Esta app se desarrollóutilizando la metodologíaSCRUM, la cual iniciodesarrollando una lista dehistorias de usuario con losrequerimientos tanto del clientecomo también de la parteadministrativa de la farmacia.

Una vez finalizada estaetapa y llenado el Back log, seprocedido a realizar lapriorización e inicio deldesarrollo de esto. Esteproyecto se finalizó en 2 mesestanto la parte Móvil comoAdministradora. Demostrando asíque la metodología Scrum eseficiente para el desarrollo deeste tipo de proyecto pequeño

Conclusión Las aplicaciones móviles

deben considerar lascaracterísticas delentorno de ejecución de laaplicación que dispone elteléfono, para garantizarel correcto funcionamientode la misma

Las aplicaciones móvilespueden ayudar a solventarlos problemas de tipoparticular o general de lasociedad, debido a suscaracterísticas demovilidad y ubicuidad.

Los entornos integrados dedesarrollo (IDE) facilitanla elaboración deaplicaciones móviles,porque ofrecenherramientas de edición,compilación, depuración,análisis y ejecución enuna misma interfaz,mejorando los tiempos deejecución de las etapas dediseño, desarrollo ypruebas, de la metodologíapropuesta.

En el tiempo que serealizó la aplicación, latendencia de laprogramación endispositivos móviles migróhacia los nuevos sistemasoperativos Android yWindows Phone.

El mercado de AplicacionesMóviles es amplio y sigueevolucionando , uno de susgrandes problemas es eladaptarse al nuevohardware o sistemaoperativo que estosdispositivos tienen

Las metodologías agilespermiten desarrollar unsin número de proyectos demanera conjunta y eficaz,pero su gran problemáticaes la estimación decostos.

En el mundo existe unagran demanda de lasnecesidades de clientes

que desean realizardiferentes accionesmediante el uso dedispositivos que esténsiempre cerca de ellos.

Existen un sin número demetodologías, las cualesse deben ser empleadasadecuadamente para ciertotipos de proyecto

Referencias

[1] Métodos para el desarrollode aplicaciones móviles. 30 demayo del 2015. Sitio Web:https://www.exabyteinformatica.com/uoc/Informatica/Tecnologia_y_desarrollo_en_dispositivos_moviles/Tecnologia_y_desarrollo_en_dispositivos_moviles_(Modulo_4).pdf

[2] Metodologías ágiles en eldesarrollo de aplicaciones paradispositivos móviles. Estadoactual. 30 de mayo del 2015.Sitio Web:http://www.uelbosque.edu.co/sites/default/files/publicaciones/revistas/revista_tecnologia/volumen12_numero2/12Articulo_Rev-Tec-Num-2.pdf

[3] Propuesta Metodológica paraDesarrollo de AplicacionesMóviles para DispositivosAndroid. 30 de mayo del 2015.Sitio Web:http://www.researchgate.net/publication/265207670_Propuesta_Metodolgica_para_Desarrollo_de_Aplicaciones_Mviles_para_Dispositivos_Android

[4] Metodología de desarrolloágil para sistemas móvilesIntroducción al desarrollo conAndroid y el iPhone. 01 de Juniodel 2015. Sitio Web:http://www.adamwesterski.com/wp-content/files/docsCursos/Agile_doc_TemasAnv.pdf

[5] Metodología para eldesarrollo de Aplicaciones enTelefonía Móvil: Ejemplificaciónpara un Videojuego. 01 de Junio

del 2015: Sitio Web:http://www.academia.edu/5783560/Metodolog%C3%ADa_para_el_desarrollo_de_Aplicaciones_en_Telefon%C3%ADa_M%C3%B3vil_Ejemplificaci%C3%B3n_para_un_Videojuego

[6] Métodos aplicables para eldesarrollo de aplicacionesmóviles. 01 de Junio del 2015.Sitio Web:http://www.genbetadev.com/desarrollo-aplicaciones-moviles/metodos-aplicables-para-el-desarrollo-de-aplicaciones-moviles

[7] Metodología de desarrollo ágil parasistemas móviles Introducción aldesarrollo con Android y el iPhone.30 demayo del 2015. Sitio web:http://www.adamwesterski.com/wp-content/files/docsCursos/Agile_doc_TemasAnv.pdf

[8] Caracterización De MetodologíasAgiles Para El Desarrollo De AplicacionesEducativas Móviles. 30 de mayo del2015. Sitioweb:http://tics.uptc.edu.co/eventos/index.php/cong_inv_pedagogia/con_inv_pedag/paper/viewFile/204/201

[9]Agile Methodologies In TheDevelopment Of Applications For MobileDevices. Present State. 30 de mayo del2015. Sitio web:http://Www.Uelbosque.Edu.Co/Sites/Default/Files/Publicaciones/

Revistas/Revista_Tecnologia/Volumen12_Numero2/12Articulo_Rev-Tec-Num-2.Pdf

[10] Estudio De La Aplicación DeMetodologías Ágiles Para LaEvolución De Productos Software.30 de mayo del 2015. Sitioweb:http://oa.upm.es/1939/1/TESIS_MASTER_PILAR_RODRIGUEZ_GONZALEZ.pdf

[11] Metodologías Ágiles: Herramientas YModelo De Desarrollo Para AplicacionesJava Ee Como Metodología EmpresarialTesis Final De Máster. 30 de mayo del2015. Sitio web:https://Upcommons.Upc.Edu/Pfc/Bitstream/2099.1/5608/1/50015.Pdf

[12] Empresas usan metodologías ágilespara el desarrollo de sus aplicaciones. 01de Junio del 2015. Sitio web:

http://www.pymesyautonomos.com/tecnologia/el-83-de-las-empresas-usan-metodologias-agiles-para-el-desarrollo-de-sus-aplicaciones

[13] Diseño de una metodologíapara el desarrollo deaplicaciones móviles en empresasPyMES de la región centrooccidente de México. 01 de Juniodel 2015. Sitio web:

http://upaep.mx/micrositios/coloquios/coloquio2014/memorias/Mesa%203%20Ing%20Software%20&%20TI/Coloquio_Dise%C3%B1o_metodolog

%C3%ADa_para_el_desarollo_movil_2014.pd

[14] Delfdroid: metodolog´ıaagil de desarrollo de softwarepara dispositivos ´ moviles. 01de Junio del 2015. Sitio web:

http://servicio.bc.uc.edu.ve/ingenieria/revista/v20n3/art07.pdff

[15] Siete mejores prácticaspara construir aplicaciones quecumplan con los requisitos delnegocio. 02 de Junio del 2015.Sitio web:

http://www8.hp.com/h20195/v2/GetPDF.aspx%2F4AA3-6360ESE.pdf

[16] Metodologías ágiles en eldesarrollo de aplicaciones paradispositivos móviles. Estadoactual. 02 de Junio del 2015.Sitio web:

http://www.uelbosque.edu.co/sites/default/files/publicaciones/revistas/revista_tecnologia/volumen12_numero2/12Articulo_Rev-Tec-Num-2.pdf

[17] Adopting an Agile Approach forthe Development of Mobile Applications.02 de Junio del 2015. Sitio web:

http://www.academia.edu/8106733/Adopting_an_Agile_Approach_for_the_Development_of_Mobile_Applications

[18]Ferreira-Medina Heberto1,4 , Vega-Lebrún Carlos Arturo2, Morales-Salgado María delRocío Guadalupe2 , de la

Barrera-Monpellier Erick1 ,Cendejas-Valdéz José Luis 3 ,Diseño de una metodología parael desarrollo de aplicacionesmóviles en empresas PyMES de laregión centro occidente deMéxico.Consultado el 26 de mayodel 2015 Fuente:http://upaep.mx/micrositios/coloquios/coloquio2014/memorias/Mesa%203%20Ing%20Software%20&%20TI/Coloquio_Dise%C3%B1o_metodolog%C3%ADa_para_el_desarollo_movil_2014.pdf

[19]Yohn Daniel Amaya ,Metodologías ágiles en eldesarrollo de aplicaciones paradispositivos móviles,Universidad Pedagógica yTecnológica de Colombia, sedeTunja.Consultado el 26 de mayo2015 , fuente de consulta:http://www.uelbosque.edu.co/sites/default/files/publicaciones/revistas/revista_tecnologia/volumen12_numero2/12Articulo_Rev-Tec-Num-2.pdf

[20]Paco Blanco, Julio Camarero,Antonio Fumero, Adam Werterski,Pedro Rodríguez UniversidadPolitécnica de Madrid,Metodología de desarrollo ágilpara sistemas móvilesIntroducción al desarrollo conAndroid y el iPhone, Consultadoel 27 de Mayo 2015 Fuente deconsulta:http://www.adamwesterski.com/wp-content/files/docsCursos/Agile_doc_TemasAnv.pdf

[21]Escobar Bonilla GuillermoSantiago.*; Campaña Guzmán AlexIsarael,Diseño e implementaciónde una aplicación móvil quecumpla la función de estación entierra para el monitoreo de

uav’s en el centro deinvestigación y desarrollo de lafuerza aéreaecuatoriana.Consultado el 27 deMayo del 2015 fuente:http://repositorio.espe.edu.ec/bitstream/21000/8188/1/AC-ESPEL-SOF-0002.pdf