QUE PARA OBTENER EL TTULO DE INGENIERO EN COMUNICACIONES Y ELECTRNICA
PRESENTA
MIGUEL DANIEL RAMOS MARTNEZ.
ASESOR: ING.CATALINA PATIO GALLEGOS.
MEXICO, DF NOVIEMBRE 2013
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 2
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 3 INDICE GENERAL INDICE GENERAL 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 4 INDICE FIGURAS 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 5 OBJETIVO 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 6 JUSTIFICACIN 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 7 CAPTULO I INTRODUCCION 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 8 CAPITULO II - METODOLOGIA PARA DESARROLLO MVIL 3333333333333333333333333333333333333333333333 9 !"#" !%&'"( )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) * !+,%(",+ ,% &%-+./+ )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 01 "&2(/3/3 4 ,/3%5+ )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 00 Bocetos .............................................................................................................................................................. 12 WireframingMockup .................................................................................................................................. 1S Prototipado ....................................................................................................................................................... 14 Proceso .............................................................................................................................................................. 14 ANLISIS TIEMPO DESARROLLO Y COSTOS ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 06 Delimitacin del Alcance ........................................................................................................................... 17 Complejidad Tiempo y Costo .................................................................................................................. 19 Plan de trabajo ............................................................................................................................................... 19 /&/./"&,+ %( #7+4%.'+ ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 80 Contexto ............................................................................................................................................................. 22 /!#(%!%&'"./9& ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 8: FR0NT ENB ....................................................................................................................................................... 2S BACK ENB .......................................................................................................................................................... 2S NIBBLEWARE ................................................................................................................................................. 2S TECN0L0uIAS ................................................................................................................................................. 26 BASES BE BAT0S ........................................................................................................................................... 27 #;<(/."./9& )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 8= APPST0RE (i0S) ............................................................................................................................................. 28 u00uLE PLAY ST0RE(Anuioiu) .............................................................................................................. S1 BLACKBERRY APP W0RLB(BB1u) ......................................................................................................... SS NARKETPLACE BE WINB0WS PB0NE(Winuows 8) ..................................................................... S6 CONCLUSIONES 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 4: GLOSARIO 3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 5; BIBLIOGRAFA 33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 5<
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 4 INDICE FIGURAS
Figuie 1 Biagiama ue Activiuaues ........................................................................................................ 8 Figuie 2 Flujo ue pioceso ......................................................................................................................... 9 Figuie S Ejemplo ue plantilla paia bocetauo ................................................................................ 12 Figuie 4 Ejemplo aplicacion ue contiol ue llamauas telefonicas usanuo Balsamiq Nockups .............................................................................................................................................. 1S Figuie S Ejemplo ue un piototipo ...................................................................................................... 14 Figuie 6 Tabla ue estimacion ue esfueizo ...................................................................................... 18 Figuie 7 Ejemplo ue tableio en tiello .............................................................................................. 2S Figuie 8 Pantalla ue inicio ue TestFlight ........................................................................................ 24 Figuie 9 Naque, heiiamienta que simula seivicios y aceleia su integiacion. ............... 2S Figuie 1u Couigo ue ejemplo ue 0IImageview ............................................................................ Su Figuie 11 Coiieo ue bienveniua a BlackBeiiy App Woilu ..................................................... S4 Figuie 12 Platafoimas ue uesaiiollo sopoitauas poi BB ........................................................ SS
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 5 OBJETIVO
Crear una metodologa que permita guiar el flujo de trabajo para desarrollo de aplicaciones mviles en cualquier plataforma o sistema operativo mvil: iOS, Android, BlackBerry 10, Windows Phone y desarrollo multiplataforma con Phonegap, MonoTouch o iFactr.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 6
JUSTIFICACIN Debido a que existe poco o nula informacin completa en espaol que nos permita conocer el proceso de creacin de aplicaciones mviles. Lograr crear una sola aplicacin que funcione en cada plataforma y configuracin de pantallas es un reto. Este trabajo permitir compartir la experiencia de varios aos en el flujo de trabajo del mundo de los mviles, mostrar los trucos y atajos que he aprendido en esta jornada laboral. El desarrollo de aplicaciones mviles ha crecido en estos ltimos 5 aos con la aparicin de los smartphones y las tablets, en este mundo de movilidad donde la gente esta o intenta estar siempre conectada, en un mundo de social media y de marketing digital y como en el proceso de verse sumergido, en este conjunto de patrones, procesos, y mtodos para ir resolviendo las necesidades de este nuevo mercado de aplicaciones donde lo que se vende son experiencias ms que aplicaciones por si mismas. Donde el tiempo de respuesta, el presupuesto, las habilidades tcnicas de las empresas y de los ingenieros estn siendo retadas a diario en un mundo global y digital donde el mvil es ya un elemento esencial en el da a da. Nuestro reto es lograr en la creacin de aplicaciones mviles hacer eficiente: ! El uso de los recursos ! El presupuesto ! El trabajo en conjunto de creativos, ingenieros, el personal de marketing y/o ventas en ofrecer una solucin de calidad.
Diversas soluciones han salido al mercado de la mano de distintas empresas Apple, Google, Microsoft, Samsung o LG. Cada una con distintos sistemas operativos, diversas resoluciones y tamao de pantalla, distintas prestaciones, experiencia de usuario, funcionalidad y nicho de mercado.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 7 CAPTULO I INTRODUCCION Egresado desde el 2000, inicialmente especializado en el desarrollo e implantacin de soluciones de redes con UNIX, Novell, Windows NT y Linux. Configuracin de servidores desde instalacin del sistema operativo hasta la puesta en marcha con clientes en red, configuracin de servicios de DHCP, DNS, Firewall, correo y proxy de internet. La configuracin de servidores de aplicaciones se hizo simple, rutinaria y comenc a interesarme en las aplicaciones en el server, de cmo crearlas. Ah inici el aprendizaje de tecnologas como Java, vinieron tambin .NET, algo de Access, SQL, MSSQL y el inicio de creacin aplicaciones comerciales comenz. Sistema de control de bsculas electrnicas y adquisicin de datos por puerto RS232, administracin de aplicaciones .NET. Instructor de estas tecnologas en la Direccin de Informtica del IPN, combinado con la actividad de FreeLancer que permiti sumergirme en temas avanzados de JEE y .NET, en temas de web con HTML5, CSS y JS, as como el diseo con uso de herramientas de Macromedia ahora Adobe Systems. El uso de estndares web (HTML, CSS) en conjunto de varios frameworks como Struts, Java Server Faces permiti dar soluciones ms rpidas y eficientes. El desarrollo de aplicaciones web enriquecidas sufri un gran cambio con el surgimiento de Adobe Flex, tecnologa en la cual me especialice y me hice experto. La versatilidad de Adobe Flex y su sencilla integracin con mltiples soluciones como Spring, JEE ,.NET o Ruby me permiti crear proyectos en el entorno empresarial. Los desarrollos de aplicaciones interactivas comenz y la solicitud de aplicaciones mviles lleg permitiendo desarrollar nuevas habilidades y aprender nuevos procesos. Estos procesos son lo que abordar y describir con detalle.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 8 CAPITULO II - METODOLOGIA PARA DESARROLLO MVIL Proceso para el desarrollo de software, tambin denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe una enfoque diferente para distintas actividades que tienen lugar durante el proceso. 1
Las actividades F1 que se realizan para el desarrollo mvil son similares, pero el enfoque principal ser en el desarrollo iterativo e incremental centrado en la construccin de secciones reducidas de software, para facilitar as la deteccin de problemas de importancia en fases tempranas. Los procesos iterativos pueden ayudar a desvelar metas del diseo en el caso de clientes que no saben cmo definir lo que quieren. En el diagrama se muestran las actividades en las que nos centraremos:
=>?@AB C ,>D?ADED FB &GH>I>FDFBJ
1 Fuentes Wikipedia http://es.wikipedia.org/wiki/Proceso_para_el_desarrollo_de_software
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 9
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 10 "?@%(#@? @% &%A?BC? El punto inicial del desarrollo de cualquier aplicacin mvil es identificar el problema que se desea resolver, identificarlo claramente qu es lo que se busca y reflejarlo en la solucin. Algo comn que sucede cuando no se tiene experiencia en el desarrollo de las aplicaciones es comenzar pensando en implementar varias caractersticas se desean tener en la aplicacin, sin ver qu hay que centrarse en una caracterstica principal de la aplicacin, Es decir lo que usualmente se conoce con un Producto Mnimo Viable ( MVP de Mnimum Viable Product) teniendo como eje la solucin de este elemento inicial, es decir identificar la caracterstica que le da ms valor a nuestra aplicacin, identificar la caracterstica que permitir que nuestra aplicacin se distinga. Aun siendo que la aplicacin sea pensada por un tercero (algn cliente que nos solicite el requerimiento) o quiz por uno mismo. El hablar con la persona que: ! Tiene identificada una necesidad concreta ! Conceptualizada ya una solucin ! Que desee migrar una aplicacin ya existente al mercado mexicano o latino( lo que conoce como tropicalizacin 2 )
Se debe priorizar esa caracterstica sobre la cual nuestra aplicacin girar. Esto es primordial porque permitir saber: ! Que caractersticas agregar o no. ! Si deben agregarse a la aplicacin o se dejan para una distinta que se centre en estas nueva caracterstica identificada. ! Si las aplicaciones sean complementarias y se entregue un MVP ms rpido. Es posible que en este paso se pueda seleccionar la tecnologa en la que se va a construir la aplicacin, ya sea por estadsticas de uso, usuarios de un nicho ya identificado o quiz por aspectos meramente financieros.
2 Solucin para un cierto contexto o regin
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 11 #&D(CECE F @CE%G? Al tener identificado el problema a resolver en cualquiera de los escenarios indicados, se recomiendan las siguientes actividades: ! Creacin de bocetos (Sketching) ! Wireframing/Mockups ! Prototipado (Prototyping) No es una regla realizar los 3 procesos, depende de varios factores como el tiempo o el presupuesto. Lo importante es realizar el anlisis de la aplicacin, sus pantallas, el flujo de navegacin un proceso que va dirigido por la experiencia de usuario (UX de User eXperience), centrado en el usuario y en lo que la aplicacin resolver. Por ejemplo, si nuestra aplicacin dar la ubicacin de la gasolinera ms cercana, esperamos que el usuario de la aplicacin no deba navegar un gran nmero de pantallas para alcanzar la informacin que est buscando y ayudarnos de un diseo que permita que con el menor nmero de toques de pantalla pueda ver lo que busca, quiz en una lista o en un mapa, que sea rpido y simple visualizar lo que est buscando y no se pierda en el proceso. Si al abrir una aplicacin se utiliza alguna de las caractersticas del Smartphone, ejemplo geo localizacin, esta simple accin se mostrar la informacin que se est buscando, se simplifica el uso y se mejorar la experiencia del usuario en la aplicacin. Al dedicarle tiempo a la creacin del sketch o al mockup de nuestra aplicacin permitir comenzar de una forma rpida y simple, lo que deseamos lograr , involucrar lo ms pronto posible al cliente para validar los diseos, hacer estas iteraciones hasta con nosotros mismos, inventar usuarios, crear historias de uso y nos ayudar a tomar la decisin de qu elementos agregar y cuales no. Expliquemos en qu consiste cada uno de estos tres elementos fundamentales en el proceso de diseo de una aplicacin ! Bocetos (Sketching) ! Wireframing/Mockup ! Prototipado (Prototyping)
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 12
Bocetos
La intencin de un sketch es realizar el bosquejo de diferentes ideas basado en dibujos a mano alzada F3 , sin la intencin de ser un trabajo terminado (colocar todos los elementos o pantallas de aplicacin) y establecer una composicin de ideas para ahora o para despus. Este bosquejo de ideas, es un elemento de inicio para los creativos, que sirve como base o referencia para siguientes fases. Muchas de estas ideas quiz no lleguen a la aplicacin final, pero los elementos bsicos(la esencia de la aplicacin estar representada en estos dibujos).
=>?@AB 4 !LBENKM FB NKDOH>KKD NDAD PMGBHDFM
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 13
WireframingHMockup Aunque en ocasiones se pueden considerar 2 actividades distintas tiene la misma base, solo los diferencia que habr un diseo grfico ms refinado en los mockups. La intencin de esta fase de diseo se centra en los aspectos funcionales y la distribucin, notas de intencin o funcionalidad, sistema de navegacin, y como los elementos de la interfaz grfica trabajan(componentes) centrado primordialmente en el uso, sin darle mucha importancia a estilos, gua de colores o a los grficos.
Existen a una gran diversidad de herramientas para crear los mockups. Estas herramientas pueden incluir diseo interactivo, exportacin a HTML5, en el flujo de trabajo ayudan a mostrar como se pretende que usuario interacte con la aplicacin. Una recomendacin es mantener un diseo limpio, sin tomar un estilo especifico, es decir no enfocado a una plataforma en particular, el usuario en la mayora de los casos considera que ese es el arte final y si lo se presenta simple, enfocado al contenido y a la arquitectura de la informacin, se tendr una funcionalidad mas cerrada, el diseo, colores se definen en otra etapa y/o en la fase de la creacin del prototipo.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 14 Prototipado Se toma como base el wireframe o mockup de la aplicacin para simular el arte final, textura, colores, guas de diseo, se obtiene una versin simplificada de la solucin o versin ligera, que logra capturar el diseo o aspecto esperado de la versin final, as como tambin verificar posibles errores en el flujo o el diseo.
=>?@AB 6 !LBENKM FB @O NAMHMH>NM Proceso El tiempo, el dinero y la complejidad definir si todas las tareas qie sern realizadas, una actividad que es esencial es: Los mockups o wireframes, se preguntarn Por qu? , la respuesta es simple: 1. Se requiere entender el problema a resolver. El diseo del mockup permitir delimitar funcionalidades (caractersticas) que la aplicacin tendr, numero de pantallas, flujo navegacin , componentes (personalizados o los definidos en cada plataforma) para resolver y dar la mejor experiencia de usuario posible. 2. Se necesita acotar la solucin. Con el nmero de pantallas y el flujo de navegacin podremos generar una aproximacin un poco mas precisa de tiempo y costos, adems de una fuerte base en la toma de
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 15 decisin con el cliente sobre qu incluir o qu dejar fuera para sta o futuras versiones de la aplicacin.
3. No es necesario arte final Se est diseando centrados en los aspectos funcionales, no en las guas de colores, el aspecto constantemente puede ser modificado por el cliente, pero no as la funcionalidad el elemento principal de la aplicacin se crea en esta fase y se mantendr hasta el fin del proyecto.
ANLISIS TIEMPO DESARROLLO Y COSTOS
Qu hay con respecto a los tiempos? Cunto tiempo lleva esta fase y sus iteraciones?
El primer borrador de wireframes se logra concretar entre medio y un da de trabajo (jornada de 8 horas) T1 , difcilmente aun siendo un experto en el diseo se logra entregarlo a la primera iteracin, se requerir la retroalimentacin del usuario o de un compaero del equipo para afinar el diseo, hay que recordar que estamos haciendo aplicaciones para una audiencia distinta a uno mismo y lo que funciona en nuestra perspectiva no es regla que aplique para todos.
Iteracin/Draft Horas 1ra Iteracin Wireframe 4 a 8 2da Iteracin Wireframe 2 a 6 2C Tiempos para Wireframes Una recomendacin es probar nuestras hiptesis lo ms pronto posible, esto permitir fallar rpido pero tener mejor asertividad en la propuesta de interfaz, diseo, navegacin o componentes. Una tcnica simple es exponer nuestro trabajo a gente que no cuenta con el contexto de la aplicacin y as validar la hiptesis de diseo, pantallas , flujos y quiz hasta funcionalidad. Cmo hacerlo?
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 16 Ir a un Starbucks pedirle a alguna persona que nos ayuda a cambio de comprarle algn caf o galleta, esta validacin ser importante, la forma que el equipo interno ha conceptualizando la aplicacin es distinta a la forma que la pueda percibir otra persona o grupo de personas. Entre mayor repitamos este proceso , tendremos mayor informacin o validacin de lo que hasta ahora se ha hecho. Despus, ya estos ajustes, se recomienda presentarlo a un grupo de personas ms cercanas al pblico meta de la aplicacin, estas personas permitirn validar: ! Al usuario de la aplicacin ! Funcionalidad
Esta informacin permitir saber si es requerido cambiar algn aspecto del proyecto. Recuerda que los usuarios estn acostumbrados ya a ciertos usos y patrones, cambiar radicalmente esto puede ser riesgoso y que la interfaz no termine siendo intuitiva o responsiva como nosotros podramos pensarlo. Qu hay de los otros 2 elementos?, el prototipado es lo mas cercano que tendremos antes de una aplicacin funcional pueden ser simples imgenes vinculadas con arte final para mostrar la interactividad, algunos botones responsivos, y siempre corremos el riesgo de tener un prototipo tambin terminado, que el cliente pueda inclinarse a pensar que no hace falta nadas mas y que ya esta todo listo para el da de maana. Los bosquejos son algo esencial en otras industrias como por ejemplo en el cmic, en las pelculas son parte del proceso creativo del diseador. Hay quien tiene esa escuela muy arraigada, y adems una facilidad para completar sus dibujos, en mi experiencia, conozco un par de personas que son increblemente productivos con el papel y lpiz, adems que es un proceso de unas cuantas horas, siempre tendremos a mano un lpiz y un papel. Si una idea viene a tu mente, dibjala y quiz ests creando la siguiente caracterstica que destaque en esta carrera de creacin de experiencias mviles. Los mockups ayudarn a delimitar el alcance, nos darn un panorama global,ms no especfico de cada una de las tareas a realizar.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 17 Delimitacin del Alcance
Nuestra siguiente herramienta ser una hoja de clculo, donde desglosaremos: ! Funcionalidades de cada pantalla ! Detallando elementos de UI ! Servicios ! Integracin de su integracin ! Pruebas utilizaremos las siguiente clasificacin de complejidad en las tareas T2
Categora Very Easy Easy Normal Complex Very Complex 2< 2DPKD #MENKBL>FDF FB HDABDJ A cada categora le asignaremos un tiempo en horas, tomaremos como base 8 horas, de inicio e iremos aumentando hasta 40 horas hasta completar cada elemento de nuestra clasificacin. La tabla de categora contra tiempo base T3 , un ejemplo puede ser as: Categora Horas Very Easy 8 Easy 16 Normal 24 Complex 32 Very Complex 40 24 !LBENKM FB #DHB?MAVD IJ 2>BENM SDJB
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 18 Estos nmeros no son ni fijos ni definitivos, son slo un inicio , una referencia. Algo interesante de esta mtrica, es que cuando alguna tarea sea muy compleja, quizs le asignamos un valor de 2, que en sentido estricto son 2 semanas hora/hombre pero se lee menos tiempo, aspecto psicolgico quiz, la ltima decisin es tuya.
En mi experiencia un cliente al ver la descripcin se centrar en el total de horas, no en que una tarea llevar 15 das terminarla. Haciendo el desglose de tareas por pantalla tendremos el total de esfuerzo en horas para las pantallas, los componentes y los servicios. Agregaremos una tabla F6 ms para obtener el esfuerzo en das, semanas y meses, tanto para 1 recurso (llmese Diseador o Desarrollador) hasta 4 recursos , esto dar un panorama claro de cunto tiempo se llevar construir la aplicacin. Y se contara con informacin suficiente para la toma decisiones en cuanto a recursos, costos, tiempos.
=>?@AB 7 2DPKD FB BJH>EDG>QO FB BJR@BAWM
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 19 Complejidad Tiempo y Costo Las tres variables de un desarrollo son ! Tiempo ! Costo ! Complejidad 3
Estos 3 elementos son dinmicos y complementarios. Si el costo es fijo, las variables a cambiar sern entrega en un mayor tiempo o entrega con una reduccin funcionalidad. Si el tiempo es fijo , se reduce funcionalidad o se aumenta recursos( conlleva un mayor costo) para salir en tiempos de entrega acordado. Aqu juega mucho el trabajo en equipo ya que alguien de ventas por cerrar la venta, prometa entregar en un tiempo no realista (improbable) a un cliente y entonces todo es para ayer. En el caso que las caractersticas de la aplicacin sean inamovibles, se debe considerar si aumentamos el tiempo si nos ha quedado corto y esto de forma directa impacta en los costos. El hacer una buena estimacin es todo un arte y es subjetivo, depende completamente de la experiencia de quien la crea, as como del equipo que har las tareas. En el desarrollo de software es de los errores ms comunes, del que hay que aprender rpido, porque implica 2 elementos centrales. Dinero y Reputacin , lo segundo es lo ms valioso porque har que llegue ms lo primero. Terminada la estimacin, Qu es lo que sigue? El plan de trabajo. Plan de trabajo El plan de trabajo es el arte de asignar tareas, vincularlas coherentemente, en este proceso eliminar dependencias y posibles tiempos muertos, generar entregables tangibles para cada tomador de decisin( stakeholder 4 : cliente , desarrollador o diseador). Estos entregables se recomienda tenerlos en periodos cortos (milestone 5 ) , cada milestone se recomienda de 2 semanas , as tendremos periodos reducidos y en caso de algn retraso que se tenga, el tiempo para retomar cada hito apegado al plan de trabajo, ah es donde cada individuo
3 Asociando nmero de tareas o caractersticas a implementar 4 Quienes pueden afectar o son afectados por las actividades de una empresa 5 Marcador de prxima entrega en una etapa desarrollo iterativo de software.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 20 juega un rol importante al tener una comunicacin clara y eficaz con el equipo de trabajo y metodologas como Scrum, Extreme Programming incluso Team Software Process ayudan a enfocar los esfuerzos en cada entrega. Este plan se puede hacer en otra hoja de clculo, o incluso con una herramienta como MS Project. El xito de estar al da con el plan de trabajo, no esta en la herramienta sino en el equipo que se compromete a tener cada entregable en tiempo y forma. Con el Vo.Bo. del cliente o del equipo es hora comenzar a crear nuestra aplicacin. Antes de continuar, recordarn que los prototipos dan una versin real del aspecto final de nuestra aplicacin. Hay, habr y seguirn existiendo clientes que son extremadamente visuales y que requerirn de este artefacto para continuar incluso antes del plan de trabajo. La valoracin est en el cliente y en nosotros mismos; si no es claro que se va a construir, esto traer retrasos, salidas tarde del trabajo, fines de semana pegados a la computadora y estoy seguro que nadie desea que esto pase. Por esto, es importante usar estas tcnicas (Bosquejos, Mockup o prototipos) para cuando se lleguen las entregas. Se tenga muy bien acotado el alcance, el producto final(entregable) y no existan sorpresas para nadie.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 21 C&CBC#&@? %( $I?F%B'? Antes de todo, contar con un control de versiones debe ser primer paso incluso antes de los bosquejos, mockups o prototipos. Existen varias opciones como por ejemplo SVN o Git, se recomienda Git por ser el menos invasivo es decir slo tendremos un directorio llamado .git el la raz de nuestro proyecto(directorio donde se que llevar la informacin del control de cambios) , a diferencia de SVN que crear un directorio .svn en cada carpeta que exista en nuestro repositorio( directorio con el mismo propsito). Git se instala fcilmente en cualquier sistema operativo y en un par de das usndolo son suficientes para el da a da. El control de versiones permitir llevar el tracking de cambios y ayudar al trabajo en paralelo por los integrantes de equipo y/o quien tenga acceso al repositorio. Dos opciones de control de cambios son ! Bitbucket ! Github !"#$%&'(# Bitbucket permite la creacin ilimitada de repositorios pblicos (repos a los cualquier persona tiene acceso) y a repositorios privados (slo un grupo selecto tiene acceso). El acceso privado est limitado a 4 usuarios y en trminos de proyectos comerciales esta limitadsimo , para repositorios de Pruebas de Concepto (POC's) viene bien y no es una limitante. Bitbucket utiliza tanto Git y Mercurial (otro controlador de versiones) en su control de versiones. Si se enva invitaciones a que otros usuarios se suscriban a usar el servicio, bitbucket agregara el acceso para un usuario ms por cada invitacin y registro conseguido. *"#+%$ Github permite la creacin ilimitada de repositorios pblicos pero no existe opcin de repos privados. En ambos casos Bitbucket y Github son las versiones gratuitas. Para mayor informacin pueden consultar los sitios de cada uno de ellos ! http://github.com ! http://bitbucket.com
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 22 La relacin costo/beneficio hace que el pago mensual o anual de control de versiones sea un producto bsico en nuestro proceso de desarrollo de software. Tener el acceso a el repositorio de cdigo va web o va consola y adems por ejemplo, en el caso concreto de Desarrollo mvil con Phonegap, se tiene un servicio de construccin de aplicaciones en la nube integrado a Github 6 . Este servicio permitir reducir el tiempo de construccin de un aplicacin al simplificar la configuracin de un equipo con el ambiente de desarrollo de cada plataforma. Qu tecnologa utilizar? iOS/Android Nativo o Hibrido (Phonegap, MonoTouch, iFactr) La respuesta esta basada en: ! Contexto de la aplicacin ! Las caractersticas ! El presupuesto ! El tiempo. B8)5*J58 K> Cual es el mercado a donde llegas tu aplicacin? 3> Cual es tu mercado meta? 7
L> Quiero estar presente en todas las plataformas? M> Tengo un presupuesto reducido? N> Poco tiempo para tener la aplicacin lista? O> Que tan importante es el rendimiento de la aplicacin?
Estas preguntas nos guiarn en la toma de decisiones y acotarn en mayor o menor medida cual plataforma ser seleccionada. Desde la fase del modelado de negocio se puede ya definir sobre que plataforma, se construir la aplicacin.
6 Phonegap Build, producto de adobe 7 Mercado meta es tu pblico objetivo, el que consideramos ser el usuario
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 23 C"$(%"%&'#BCP& Con el plan de trabajo se podr realizar las tareas en paralelo ! Front End ! Backend 2I?&' %&@ El desarrollo del Front end implica la implementacin del mockup siguiendo cada tarea del plan de trabajo. Aqu es donde el ingeniero de software crea el producto, se recomienda la integracin continua, es decir cada nueva funcionalidad implementada ponerla a disposicin del cliente aunque solo sea para pruebas internas. Herramientas como Git integrado con Jenkins(Servidor de Integracin Continua) permiten realizar este proceso de una manera ms simple, directa y claro mas barata. Un tablero de control recomendado para administrar el avance dentro de cada entrega y llevar un autocontrol reduciendo as la necesidad de un administrador de proyecto es Trello F7 . Trello es un tablero con mltiples listas donde se puede ver de forma visual cuales son la tares, como se asignaron y que avance se lleva, permite compartir documentos, notas.
=>?@AB 8 !LBENKM FB HDPKBAM BO HABKKM
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 24 ,-./!01
Una manera simple de distribuir el avance con los clientes o los miembros del equipo pensando en el desarrollo iOS es TestFlight F8 , un sistema que mediante un mail el posible distribuir una versin alpha o beta de la aplicacin mvil que se esta desarrollando.
=>?@AB 9 (DOHDKKD FB >O>G>M FB 2BJH=K>?XH Para ms informacin visita https://testflightapp.com Las tareas ms comunes en la implementacin del front end son: ! Creacin de las vistas ! Integracin de APIs nativas(Contactos, Agenda, Acelermetro, etc). ! Integracin con APIs de terceros (Twitter, Facebook, Dropbox) ! Modelado del almacenamiento local. ! Pruebas de integracin con servicios remotos(Web Services)
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 25 Una excelente herramienta que permite la sencilla integracin de los servicios finales y las vistas es Maque F9 .
=>?@AB : 0DT@BY XBAADE>BOHD T@B J>E@KD JBAI>G>MJ Z DGBKBAD J@ >OHB?ADG>QO3 Maque es una aplicacin multiplataforma, basada en el escritorio, diseada para ayudar a los desarrolladores crear, probar y mantener aplicaciones web creando servicios de datos simulados, acelerando la integracin con los servicios finales. Q#BR %&@ El desarrollo del back end implica: ! Definicin de la arquitectura para servicios de datos. ! Creacin del modelo de datos. ! Diseo del API para consumir servicios. ! Pruebas de integracin con cliente mvil.
"C@@(%S#I% Los servicios se recomienda sigan una estructura de Transferencia de Estado Representacional (Representational State Transfer) REST. Un concepto importante en REST es la existencia de recursos (elementos de informacin), que pueden ser accedidos utilizando un identificador global (un Identificador Uniforme de Recurso). Para manipular estos recursos, los componentes de la red (clientes y servidores) se comunican a travs de una interfaz estndar (HTTP) e intercambian representaciones de estos recursos (los ficheros que se descargan y se envan) - es cuestin de debate, no obstante, si la distincin entre recursos y sus representaciones es demasiado platnica para su uso prctico en la red, aunque es popular en la comunidad RDF. 8
El back end no es exclusivamente el modelado de datos, sino el como se expone la informacin para ser consumida por la aplicacin mvil.
8 Fuente Wikipedia
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 26 A diferencia de desarrollo tradicional(Web o Desktop), en el mvil se requiere disminuir las llamadas a los servicios, de esta forma optimizar el uso de las peticiones, es mejor hacer una peticin que entregue muchos datos, que realizar una peticin por cada seccin o dato que se desea mostrar en pantalla. Esto optimizar el uso del plan de datos del telfono o tableta, y permitir el ahorro de energa en el dispositivo(mayor tiempo de vida para la batera). '%B&?(?AC#E
Existen distintas tecnologas para la implementacin del backend ! Node.js ! Ruby on Rails (RoR) ! Java(JVM) Veamos algunas caractersticas y cmo pueden ayudarnos en el desarrollo exitoso de nuestra aplicacin 234(567 Node.js es un entorno de programacin en la capa del servidor basado en el lenguaje de programacin JavaScript, con I/O de datos en una arquitectura orientada a eventos, y basado en el motor JavaScript V8. Fue creado con el enfoque de ser til en la creacin de programas de red altamente escalables. Plataforma con un gran ecosistema, actualmente cuenta con una popularidad por la sencillez de configuracin , y su pequea curva de aprendizaje. -%$8 39 -:";7 Ruby on Rails, tambin conocido como RoR o Rails es un framework de aplicaciones web de cdigo abierto escrito en el lenguaje de programacin Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos cdigo que con otros frameworks y con un mnimo de configuracin. El lenguaje de programacin Ruby permite la meta programacin, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible. Rails se distribuye a travs de RubyGems, que es el formato oficial de paquetes y el canal de distribucin de bibliotecas y aplicaciones en Ruby. Ruby es uno de los lenguajes ms poderosos , con una gran cantidad de adeptos.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 27 <:=:><?@A Java es un lenguaje de programacin de propsito general, concurrente, basado en clases, y orientado a objetos, que fue diseado especficamente para tener tan pocas dependencias de implementacin como fuera posible. La JVM es una de las piezas fundamentales de la plataforma Java. Se sita en un nivel superior al hardware del sistema operativo sobre el que se pretende ejecutar la aplicacin, y este acta como un puente que entiende tanto el cdigo binario (bytecode) como el sistema sobre el que se pretende ejecutar. As, se tiene una gran cantidad de lenguajes de programacin que corren en esta mquina virtual, algunos ejemplos: ! Groovy ! Scala ! JRuby(Ruby) ! Jython(Python)
Q#E%E @% @#'?E Para el caso de almacenamiento de datos se tienen las siguientes sistema de gestin de bases de datos relacionales(RDBMS por su siglas en ingls) ! PosgreSQL ! MySQL ! MongoDB ,37#BC(1DE PostgreSQL es un sistema de gestin de bases de datos relacional orientado a objetos y libre, publicado bajo la licencia Berkeley Software Distribution (BSD). Estable y eficiente opcin para soluciones de alta concurrencia. @81DE MySQL es un sistema de gestin de bases de datos relacional, multihilo y multiusuario. Software libre en un esquema de licenciamiento dual (GNU GPL y cerrado). @39B3F! MongoDB es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de cdigo abierto. MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL. En vez de guardar los datos en tablas como se hace en las base de datos relacionales, MongoDB guarda estructuras de datos en
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 28 documentos tipo JSON con un esquema dinmico (MongoDB llama ese formato BSON), haciendo que la integracin de los datos en ciertas aplicaciones sea ms fcil y rpida. 9
$TQ(CB#BCP& Con nuestra aplicacin construida , distribuida para pruebas con usuarios y/o clientes, podemos pasar al siguiente paso que es: la publicacin en la tienda de aplicaciones correspondiente. Cuales son los requisitos para hacerlo? Cuanto cuesta? Cuanto tiempo se lleva el proceso? Dependiendo de la tecnologa T5 que se halla seleccionado para la implementacin, se tienen las siguientes opciones para distribucin:
Tecnologa Canal de distribucin iOS AppStore Android Google Play Store BlackBerry BlackBerry App World Windows Phone 8 Marketplace de Windows Phone PhoneGap, iFactr AppStore Google Play Store BlackBerry App World Marketplace de Windows Phone Xamarin(Monotouch) AppStore, Google Play Store Flex Mobile(AIR) AppStore Google Play Store BlackBerry App World Marketplace de Windows Phone 25 2DPKD 2BGOMKM?VD IJ 2>BOFD FB DNK>GDG>MOBJ #$$E'?I% U-?EV 10
Un requisito indispensable para poder distribuir una aplicacin al AppStore es: estar suscrito como desarrollador de Apple (iOS Developer Program).
9 Fuente Wikipedia http://es.wikipedia.org/wiki/MongoDB 10 Informacin actualizada el sitio de Apple Julio 2013 https://developer.apple.com
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 29 El programa de desarrollador de Apple ofrece un conjunto completo de recursos tcnicos, soporte o acceso a versiones de software de pre-release y nos permite. ! Desarrollar ! Probar ! Distribuir Las herramientas de desarrollo en el iOS SDK a las que se tendr acceso son:
Entorno de desarrollo que permite la edicin del cdigo , depurar cdigo grficamente y administracin del proyecto.
"H1 1"I%;:#3C
El simulador permite ejecutar, probar y depurar la aplicacin de forma local con un simulador para iPhone y iPad. til si no contamos con un dispositivo a la mano.
J97#C%I(9#7
Recoleccin, despliegue y comparador de rendimiento mediante la grfica en tiempo real para optimizar la aplicacin y encontrar posibles fugas de memoria.
J9#(CK:&( !%";4(C Interface Builder permite disear grficamente de forma simple las interfaces y vista con arrastrar y soltar componentes.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 30 El ecosistema de desarrollo, distribucin de la plataforma iOS es el mas completo hasta hoy da, sobre cualquier otra plataforma. Las recursos de desarrollo a los que se tendr acceso son:
! Foros Apple Developer ! Documentos y videos ! Biblioteca iOS Developer ! Ejemplos de cdigo
L3C37 0MM;( F(=(;3M(C
Foro de discusin sobre temas de desarrollo en iOS por los desarrolladores y los ingenieros de Apple.
F3&%I(9#37 8 ="4(37
Videos y documentacin de herramientas, frameworks, mtodos de diseo y mejores prcticas de desarrollo. Acceso a los videos del WWDC (Worldwide Developers Conference) mximo evento de Apple enfocado a la comunidad ue uesaiiollauoies Apple.
!"$;"3#(&: "H1 F(=(;3M(C
Desde artculos, guas paso a paso , notas de versiones, ejemplos de cdigo.
/6(IM;37 4( &N4"B3
Cdigo de como usar las APIs y mejorar el diseo de las aplicaciones. Ejemplos completos listos para usar y probar. Al seleccionar una clase dentro de XCode F10 se puede accesar al cdigo de ejemplo usando el API.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 31
! Individual ! Empresa
la suscripcin se puede hacer en https://developer.apple.com/programs/
El costo es el mismo $99 USD, la diferencia principal es que como empresa se debe solicitar un DUNS number (asignado por el gobierno de los estados unidos a una empresa legalmente constituida en el pas que hace la solicitud). Este trmite es gratuito solo hay que llenar un formulario , el proceso se completa en un par de das. Para solicitarlo ingresar a D&B D-U-N-S .Se puede acelerar el proceso pagando para D&B una cuota. Cuenta individual se obtiene en un par de das, la empresarial en aproximadamente una semana. En el caso que se requiera distribuir aplicaciones en un entorno cerrado y que no se hagan pblicas, Apple cre el iOS Developer Enterprise Program, una distribucin solo para los empleados de la empresa o clientes especficos. A??A(% $(#F E'?I%U#),08-,V 11
En el caso de Android para empezar a publicar se configura una cuenta publicador de Google Play. As es como se hace:
1. Registro para una cuenta de publicador de Google Play 2. Si va a vender aplicaciones, configurar una cuenta de Google Checkout Merchant 3. Explorar Google Play Android Developer Console y aprender acerca de las herramientas para la publicacin. Antes de iniciar el registro considerar los siguiente: ! Se necesita una cuenta de Google para registrarte. Puede crear una durante el proceso. ! Si se esta dando de alta una organizacin, considerar registrar una nueva cuenta de Google en lugar de utilizar una cuenta personal. ! Revisar los pases donde se puede distribuir y vender aplicaciones.
O%(9#: *33B;( ,;:8
11 Informacin actualizada del sitio Google Julio 2013 https://developer.android.com/index.html
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 32 El primer paso es visitar el Android de Google Play Consola de desarrollador y registrarse para obtener una cuenta de editor. Los pasos para el registro son los siguientes K> Visite Google Play Android Developer Console en: https://play.google.com/apps/publish/ 3> Ingresar la informacin bsica sobre la identidad del programador - nombre, direccin de correo electrnico, etc. Esta informacin se puede modificar posteriormente. L> Leer y aceptar el acuerdo de distribucin para desarrolladores que se aplica al pas o regin. Tener en cuenta que las aplicaciones y listas de tiendas que se publican en Google Play debe cumplir con las Polticas de Desarrollo del Programa y del derecho exportacin de los EE.UU., M> Pagar una cuota de $25 USD de inscripcin a travs de Google Checkout. Si usted no se tiene una cuenta de Google Checkout, se puede configurar una durante el proceso. Cuando el registro es verificado, se notificar a la direccin de correo electrnico que se especific en el registro(esta cuenta de correo no puede modificarse). *33B;( O+(&'3%# @(C&+:9# Si se quiere vender productos en Google Play como ! Aplicaciones ! Productos integrados en la aplicacin ! Suscripciones Se tendr que crear una cuenta de Google Checkout Merchant. Esto puede hacerse en cualquier momento, pero hay que revisar la lista de pases en los cuales se pueden comercializar las aplicaciones. Los pasos para configurar una cuenta de Google Checkout Merchant K> Acceda a su consola de Google Play en https://play.google.com/apps/publish/ 3> Hacer clic en "Editar perfil". L> Seleccionar "Configuracin de una cuenta Google Checkout Merchant. Esto le llevar a la pgina de Google Checkout para inscribirse como comerciante, ingresando la informacin personal o de la empresa. /PM;3C:C ;: &3973;: 4( 4(7:CC3;;3 Cuando tener el registro verificado, se puede acceder a la consola de desarrolladores de Android, que ser la sede para las operaciones de publicacin de aplicaciones y herramientas en Google Play. La cuenta se obtiene en minutos.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 33 Q(#BRQ%IIF #$$ S?I(@UQQKWV 12
En el caso de BlackBerry hay que registrarse en el portal de proveedores de BlackBerry App World y presentar el producto para su evaluacin por parte de RIM. El registro se realiza en https://appworld.blackberry.com/isvportal/login_input.do Los pasos para crear la cuenta de vendedor es siguiendo estos sencillos pasos: K> Aceptar el Acuerdo de proveedores de BlackBerry App World. 3> Ingresar la informacin de contacto personal. L> Ingresar la informacin de contacto de la empresa. M> Asociar una cuenta de PayPal con su cuenta de vendedor. Se debe contar con una cuenta PayPal para poder participar en el Portal de proveedores de BlackBerry App World. Una cuenta de PayPal se requiere para la compra y pago a los proveedores.
Una vez que las credenciales de cuenta ha sido validadas, se recibir un email de confirmacin con instrucciones sobre cmo puede comenzar a enviar productos a RIM El correo electrnico de confirmacin llega en una semana. F11
12 Informacin actualizada del sitio de BlackBerry en Julio 2013 http://developer.blackberry.com
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 34
=>?@AB CC #MAABM FB P>BOIBO>FD D SKDGUSBAAZ &NN ]MAKF Como se puede observar viene en 4 secciones ! Construye tu aplicacin ! Prepara y enva ! Publicita para venta ! Monetiza as como un enlace a respuestas a preguntas frecuentes que se encuentra aqu: https://developer.blackberry.com/devzone/appworld/faq/ O397#C%8( #% :M;"&:&"N9
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 35 En el caso de BlackBerry existe la posibilidad de seleccionar entre 5 plataformas para desarrollar las aplicaciones K> C/C++ Native SDK 3> HTML5 Webworks L> Actionscript Adobe AIR M> Java Android Runtime N> Java Blackberry Java
adems de la opcin de crear temas personalizados para BlackBerry con el Theme Studio
=>?@AB C< (KDHDRMAEDJ FB FBJDAAMKKM JMNMAHDFDJ NMA SS Pgina actual de plataformas soportadas por BB: https://developer.blackberry.com/devzone/platforms/
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 36 "#IR%'$(#B% @% SC&@?SE $X?&%US-),8Y4 ZV 13
Los prerrequisitos para publicar una aplicacin Windows Phone son los siguientes: 14
OC(:C %9: &%(9#: 4( @"&C373K# Debe tener una cuenta de Microsoft (antes conocido como Windows Live ID) para inscribirse en Dev Center. Si an no tiene una cuenta de Microsoft, se le pedir que cree una antes de registrarse. Para crear una, vaya a la configuracin de la cuenta Microsoft . -(BQ7#C(7( M:C: 3$#(9(C %9: &%(9#: 4(; &(9#C3 4( 4(7:CC3;;3 Despus de registrarse para una suscripcin anual del centro de desarrollo, tendrs que presentar un nmero ilimitado de aplicaciones de pago a Windows Phone Store. Tambin puede enviar un mximo de 100 aplicaciones gratuitas. Siga estos pasos para completar el proceso de registro: 1(;(&&"39( %9 #"M3 4( &%(9#: Para empezar, seleccione entre una empresa o una cuenta individual / Estudiante. Empresa: Seleccione la empresa si se est registrando en nombre de una sociedad annima, sociedad de responsabilidad limitada (LLC), sociedad u otra empresa legalmente registrada con su gobierno local. Tenga en cuenta que los futuros cambios en su primer, apellido o nombre de la editorial requerirn cuenta nueva verificacin (aplicaciones no se pueden presentar durante la verificacin posterior). Usted debe completar las siguientes acciones para activar su cuenta de la compaa: ! Completar el registro y pagar la cuota de suscripcin. ! Completar el proceso de validacin de cuenta Microsoft. Completar el proceso de validacin de cuentas de Microsoft incluye los siguientes pasos: ! Su empresa recibir un correo electrnico de Symantec que contiene un enlace para verificar la cuenta. Este correo electrnico ser enviado a la direccin de email aprobador especificado durante el proceso de registro en la seccin de informacin aprobador. ! Haga clic en el enlace para validar la cuenta de correo electrnico.
Algunas notas adicionales en el proceso de validacin de cuentas de Microsoft:
13 Informacin actualizada el sitio de Microsoft Julio 2013 http://dev.windowsphone.com 14 Fuente Microsoft Julio 2013
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 37 Para asegurar la activacin rpida, el aprobador corporativa debe responder con su aprobacin. Es importante tener en cuenta que si el aprobador Corporativa rechaza el enlace enviado a su correo electrnico, la cuenta ser cancelada. Symantec solicitar la documentacin apropiada si es necesario. Individual o Estudiante: Seleccione Individual si eres un desarrollador individual. Seleccione Student si usted es un estudiante con una cuenta de DreamSpark verificado. Usted puede obtener una nueva cuenta DreamSpark durante el registro. En este punto, se le requiere que proporcione prueba de su condicin de estudiante. No hay cuota de membresa anual que si usted compra la suscripcin mediante DreamSpark. Usted recibir un correo electrnico de verificacin del Centro de Desarrollo para validar su cuenta de correo electrnico. Si crea una nueva cuenta y desea mover sus aplicaciones de la cuenta anterior, tendr que anular la publicacin de las aplicaciones publicadas y las remitir para la certificacin en la nueva cuenta. Despus de que sus aplicaciones han pasado la certificacin en la nueva cuenta, pueden ser publicados bajo la nueva cuenta el nombre del editor. Cualquier calificaciones o revisiones asociados con la publicacin anterior no se aplicarn a la publicacin de la nueva cuenta.
F:#37 4( &39#: 8 (; 93I$C( 4(; (4"#3C
Introduzca la informacin de contacto necesaria (nombre, direccin, telfono, correo electrnico, etc) y, a continuacin, crear un nombre del editor. Nombre del editor es el nombre de los usuarios se ven en su telfono. Editorial nombres son nicos y se verificar durante la cuenta de los procesos de validacin de Microsoft inscripcin y. Para cuentas individuales y/o estudiantes, puede ingresar su nombre o Razn Social (DBA). Para las cuentas de la compaa, escriba el nombre legal de su negocio, ya que est registrado con su gobierno local. Un nombre de DBA tambin es aceptable. Para las cuentas de la compaa, Symantec utilizar este nombre durante el proceso de validacin de identidad. Por favor, asegrese de que toda la documentacin de la empresa se alinea con el nombre del editor de la compaa entr. Si recibe un mensaje de error de conflicto de nombre de la editorial, el error indica que el nombre de la editorial nico en el mundo que ya ha proporcionado ya est en uso en el centro de desarrollo de. Sus opciones son: [ Proporcionar un nuevo nombre de la editorial
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 38 [ Disputar la utilizacin por otra persona si tiene los derechos sobre el nombre de la editorial. O3IMC: 4( %9: 7%7&C"M&"N9 Para adquirir una suscripcin, se puede pagar con tarjeta de crdito o PayPal. Si usted es un estudiante y tiene una cuenta DreamSpark, seleccione la opcin estudiante verificado DreamSpark para configurar una cuenta de Centro de Desarrollo gratuita (hay que confirmar su estado de DreamSpark primero). Si tienes un cdigo promocional, redime al introducir el cdigo en el campo. O39K"B%C:C %9: &%(9#: 4( M:B3 Para recibir dinero para su aplicacin y las compras In-App, seleccione un mtodo de pago. Despus de seleccionar corriente o de ahorros, al introducir el nombre del titular de la cuenta, asegrese de que es el mismo que el nombre de su cuenta bancaria. La vinculacin del centro de desarrollo para PayPal es tan simple como proporcionar su direccin de correo electrnico de PayPal. Para obtener ms informacin acerca del reembolso, ver Que me paguen para Windows Phone . OC(:C %9 M(CK"; 4( "IM%(7#3 Crear o editar su perfil tributario para vender aplicaciones de pago y productos in-app. Usted puede hacer esto durante el proceso de registro o en la seccin de resumen de cuenta del Dashboard. Para obtener ms informacin acerca de la configuracin de su perfil tributario, ver Que me paguen para Windows Phone . .#";"&( M%$O(9#(C M:C: &C(:C :M;"&:&"39(7 :4RK"9:9&":437 Si desea crear aplicaciones ad-financiados, usted necesita tener una cuenta de pubCenter Microsoft Advertising. Si usted no tiene una cuenta pubCenter, puede inscribirse en uno de Dev Center.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 39
CONCLUSIONES
El presente trabajo abarco: El flujo de trabajo del desarrollo mvil. Los puntos esenciales para crear aplicaciones mviles sin enfocarnos en una tecnologa, lenguaje o plataforma en particular. Las principales plataformas para la creacin de aplicaciones moviles. Las herramientas son actualizadas en un promedio de 6 meses , pero la metodologa o flujo se mantiene constante, quiz se agregue algn elemento o herramienta para simplificar o automatizar la tarea pero con la necesidad de realizarla. Por ejemplo en el bocetado, se puede sustituir el prototipado de papel por una herramienta que permite crear aplicacin interactiva con los bocetos, cambia la forma de interactuar con ellos.
Que puntos se deben destacar: ! Centrarse en las caractersticas concretas de la aplicacin. ! Bocetar e iterar desde el inicio. ! Refinar estimacin de tiempo/costos ! Seleccionar la plataforma y herramientas adecuadas al tipo aplicacin. ! Adoptar prcticas de integracin continua.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 40
GLOSARIO Application Programming Interface(API) Es el conjunto de funciones y procedimientos (o mtodos, en la programacin orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstraccin. App Store App Store es un servicio para venta de aplicaciones creado por Apple Inc, que permite a los usuarios buscar y descargar aplicaciones informticas desarrolladas para iPhone, el iPod Touch, el iPad, Mac OS X y publicadas por Apple. GUI La interfaz grfica de usuario, conocida tambin como GUI (del ingls Graphical User Interface) es un programa informtico que acta de interfaz de usuario, utilizando un conjunto de imgenes y objetos grficos para representar la informacin y acciones disponibles en la interfaz. Killer feature En terminologa de marketing, una funcin nica es cualquier atributo de un producto que, para un tipo particular de uso, llega a ser esencial para los usuarios debido a su utilidad. Esta caracterstica supera con eficacia a los competidores del mercado. Look and Feel El aspecto y comportamiento de una interfaz grfica de usuario(GUI de Graphical User Interface), es el conjunto de propiedades y caractersticas que le dan una identidad visual nica y pueden ser percibidos de manera diferente de acuerdo con cada usuario.5 Milestone Marcador de prxima entrega en una etapa desarrollo iterativo de software. MVP Minimum Viable Product, es la versin mnima o reducida de una aplicacin para ser comercializada.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 41 Stakeholder Quienes pueden afectar o son afectados por las actividades de una empresa Testflight Es un servicio que permite la distribucin de aplicaciones de prueba en iOS Trello Es una herramienta que permite la organizacin de proyectos dentro de un tablero, permite saber en que esta trabajado cada miembro del equipo y las tareas a realizar.
Metodologa De Desarrollo Aplicaciones Mviles ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA 42
BIBLIOGRAFA Apple. (n.u.). ,>?>@AB>C "BB@>. Fiom Apple Inc: https:uevelopei.apple.com