• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this document? Why not share!

Proyecto integrador final, Estudio del entorno de desarrollo de videojuegos en sistema Operativo Android. Caso de estudio: Tic Tac Toe

on

  • 1,472 views

Estudio del entorno de desarrollo de videojuegos en sistema Operativo Android. Caso de estudio: Tic Tac Toe

Estudio del entorno de desarrollo de videojuegos en sistema Operativo Android. Caso de estudio: Tic Tac Toe

Statistics

Views

Total Views
1,472
Views on SlideShare
1,449
Embed Views
23

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 23

http://faccilearn.uleam.edu.ec 23

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Proyecto integrador final, Estudio del entorno de desarrollo de videojuegos en sistema Operativo Android. Caso de estudio: Tic Tac Toe Proyecto integrador final, Estudio del entorno de desarrollo de videojuegos en sistema Operativo Android. Caso de estudio: Tic Tac Toe Document Transcript

    • UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ FACULTAD DE CIENCIAS INFORMÁTICAS ASIGNATURA: PROYECTO INTEGRADOR INTEGRANTES: FLORES POSLIGUA JOSÉ BOLÍVAR MERA GUARANDA YANDRY XAVIER PALMA PALMA ROMEL JOSUE Curso: 4to NIVEL “B” Profesor: ING. JORGE PINCAY MANTA-MANABÍ-ECUADOR Enero, 2013
    • Dedicatoria.Con alta dedicación y respeto queremos dedicar todos nuestros esfuerzos eneste proyecto.A Dios, que con su infinito poder ilumino e inspiro nuestra inteligencia ybendiciones para culminar este proyecto.A nuestros Padres, que incentivaron y nos enseñaron a valorar el tiempo,esfuerzos y sacrificios que un ser humano realiza por amor.De manera especial estamos muy orgullosos de ellos, ya que son la fuentede inspiración para poder alcanzar nuestras metas y seguir adelante.Y nos dedicamos este proyecto integrador a nosotros por el enorme esfuerzoy dedicación a la hora de la elaboración del mismo. Los Autores.AgradecimientosA nuestro Dios porque todo lo hicimos en su nombre y en gracia delTodopoderoso.Fuente de sabiduría que día a día nos da fortalezas para no desmayar en miPropósito de superación en el camino del éxito.Al Ing. Jorge Pincay que con sus enseñanzas ha transmitido todos susconocimientos y experiencias en nuestro proceso estudiantil.A nuestros padres que son nuestra fuente de inspiración, con sus sacrificios yconsejos hemos culminado este importante proyecto para nuestraautoeducación y obtener muchos conocimientos en el campo deinvestigación, ya que al terminarlo este trabajo hemos obtenido muchosconocimientos sobre el tema.Yo Yandry Mera les agradezco a mis compañeros de grupo por su importantecolaboración en la elaboración del proyecto. 2
    • Yo José Flores le agradezco a mis compañeros por aportar con susconocimientos e investigación, para con nuestro proyecto.Yo Romel Palma le agradezco a mis compañeros por el ímpetu, ánimos ysobre todo la responsabilidad que se invirtió al mismo. 3
    • Resumen. El proyecto consiste en el estudio, análisis y puesta en práctica del desarrollo de un videojuego en dos dimensiones sobre la plataforma Android. En concreto se ha estudiado el entorno de programación disponible y las herramientas y conceptos que se deben utilizar para desarrollar aplicaciones que funcionen en el sistema operativo Android. Así como el funcionamiento interno de dicho sistema operativo. Se ha continuado con el análisis, selección y estudio de las herramientas apropiadas para la construcción de un videojuego. Desde la selección de la librería gráfica hasta la búsqueda de motores de físicas que nos permitan facilitar toda la gestión de la física del juego. En esta selección se ha premiado que, aparte de potente, eficiente y fácil de usar, la herramienta sea multiplataforma, facilitando la portabilidad a otros sistemas operativos móviles así como a ordenadores de sobremesa u otras plataformas. Nuestro videojuego se basa en la personalización de un videojuego en especial llamado tic tac toe; hasta el momento es muy conocido, y no es ni mucho menos el único. Pero nuestro objetivo es ofrecer a todos los usuarios de móviles Android una sana diversión y destreza mental, esta aplicación requiere una agilidad mental muy buena, si quieres dar con las soluciones que te conviertan en el mejor jugador. Es una aplicación simple para poner a prueba los conocimientos adquiridos durante la fase de estudio y análisis del proyecto, así como los conocimientos adquiridos durante el semestre, algunos de los cuales deberán ser adaptados al SO móvil Android. 4
    • Índice de contenidosDedicatoria. 2Agradecimientos 2Resumen. 4CAPITULO I 8CONTEXTUALIZACIÓN DE LA INVESTIGACIÓN 8INTRODUCCIÓN 8PRESENTACIÓN DEL TEMA 10SITUACIÓN PROBLEMÁTICA 10 Ubicación y contextualización 10 Planteamiento de problema. 10 Contextualización Macro, Meso y Micro 10 Contextualización Macro 10 Contextualización Meso 11 Contextualización Micro 12 Diagrama Causa-Efecto del Problema. 14 Formulación del problema. 15 Delimitación del problema 15 Objetivos. 16 Objetivo general. 16 Objetivos específicos de investigación. 16 Objetivos específicos de resolución del problema 16JUSTIFICACIÓN. 18Impactos Esperados. 19 Impacto Tecnológico. 20 Impacto Social. 21 Impacto Ecológico. 21FORMULACIÓN DE HIPÓTESIS 22CAPITULO II 23Marco teórico referencial 23Introducción. 23DEFINICIONES CONCEPTUALES 32 Sistema Operativo para Móviles. 45 5
    • Arquitectura. 45 Eclipse IDE y Java. 47 ¿Qué es Eclipse? 47 Arquitectura 49 Características 51 MÉTODOS ÁGILES 51CAPITULO III 56MARCO PROPOSITIVO (PROPUESTA) 56INTRODUCCIÓN 56DESCRIPCIÓN DE LA PROPUESTA. 58INVESTIGACIÓN DOCUMENTAL 58RECURSOS. 60 Humanos. 60 Materiales 60DISEÑO Y CONSTRUCCIÓN DE LA PROPUESTA. 62CAPITULO IV 74VALIDACIÓN DE LOS RESULTADOS. 74SEGUIMIENTO Y MONITOREO DE RESULTADOS. 74CONCLUSIONES Y RECOMENDACIONES. 74 CONCLUSIONES. 74 RECOMENDACIONES. 75ANEXOS 76GLOSARIO 79Bibliografía 80MANUAL DE USUARIO 81 6
    • ÍNDICE DE GRÁFICOSGráfico 1 ...................................................................................................................... 28Gráfico 2 ...................................................................................................................... 37Gráfico 3 ...................................................................................................................... 39Gráfico 4 ...................................................................................................................... 40Gráfico 5 ...................................................................................................................... 41Gráfico 6 ...................................................................................................................... 42Gráfico 7 ...................................................................................................................... 44Gráfico 8 ...................................................................................................................... 49Gráfico 9 Pantalla princ/FaseDiseño ........................................................................... 67Prueba 1 pantalla de juego ........................................................................................... 68Prueba 2 Pantalla princ ................................................................................................ 68Prueba 3 ....................................................................................................................... 69Prueba 4 ....................................................................................................................... 69Prueba 5 Créditos ......................................................................................................... 69Prueba 6 ....................................................................................................................... 70Prueba 7 ....................................................................................................................... 70Prueba 8 ....................................................................................................................... 70Prueba 9 ....................................................................................................................... 70Anexo 1 Ícono .............................................................................................................. 76Anexo 2 Ganador “X” .................................................................................................. 76Anexo 3 Ganador “O” .................................................................................................. 76Anexo 4 Principal ........................................................................................................ 76Anexo 5 Créditos ......................................................................................................... 77Anexo 6 Jugando.......................................................................................................... 77Anexo 7 Botón 2 players.............................................................................................. 78Anexo 8 Botón vs CPU ................................................................................................ 78Anexo 9 Botón Salir..................................................................................................... 78Anexo 10 Botón Créditos............................................................................................. 78Figura 1 ........................................................................................................................ 81Figura 2 ........................................................................................................................ 81Figura 3 ........................................................................................................................ 81Figura 5 ........................................................................................................................ 81Figura 4 ........................................................................................................................ 81 7
    • CAPITULO I CONTEXTUALIZACIÓN DE LA INVESTIGACIÓNINTRODUCCIÓNSin duda, el mundo de los videojuegos y los móviles se están integrando ycomplementando una a una en los campos laborales y en distintos proyectos,viendo como éstas, que en algún tiempo pasado fueron solo expectativas, ennuestra actualidad van tomando cada día más fuerza y protagonismo,teniendo una real importancia en el desarrollo de las sociedades, pasando ajugar un rol determinante en el futuro de las organizaciones.La tecnología móvil evoluciona a pasos agigantados y nos presenta en laactualidad el llamado teléfono inteligente (o Smartphone en inglés). Losteléfonos inteligentes se caracterizan por el hecho de ser computadores debolsillo con unas posibilidades cada vez más cercanas a los computadoresde sobremesa.Son varios los sistemas operativos que existen para teléfonos inteligentes, sinembargo, Android está pegando fuerte en el mercado actual, al tratarse desoftware libre que además da multitud de facilidades tanto a desarrolladores 8
    • que quieran desarrollar aplicaciones, como a usuarios que quieren gestionarsu información sin restricciones.La curiosidad por estos nuevos dispositivos (y todos los gadgets que estosincorporan), que cada vez están más presentes en la sociedad, junto con lacuriosidad por el SO. de Google en concreto, es lo que me ha llevado a tratareste tema en mi proyecto de final de semestrePor otro lado, tenemos al videojuego, cada vez más presenten en nuestrasociedad.Una forma relativamente nueva de expresarnos y enviar nuestrosconocimientos o emociones a los jugadores, que los recibirán y percibirán deuna forma diferente a como lo hacen cuando ven una película o leen un libro.Ya que lo importante es la innovación de nuevas aplicaciones, y eso es loque proponemos como expectativa profesional, la innovación para quenuestros productos lleguen al mercado y sean muy exitosos. 9
    • PRESENTACIÓN DEL TEMA“Estudio del entorno de desarrollo de videojuegos en sistema OperativoAndroid. Caso de estudio: Tic Tac Toe.”SITUACIÓNPROBLEMÁTICA Ubicación y contextualización Facultad de Ciencias Informáticas de la Universidad Laica Eloy Alfaro de Manabí (FACCI). Planteamiento de problema. Contextualización Macro, Meso y Micro Contextualización Macro El desarrollo de servicios o aplicaciones móviles se maneja con la más alta tecnología en informática alrededor del mundo. El desarrollo de un videojuego se considera una de las actividades más desafiantes dentro del sector de las TICs. El crecimiento de la tecnología en el ámbito de los sistemas de cómputo presenta una tendencia generalizada a incrementar las 10
    • capacidades de un sistema o dispositivo y decremento en su tamaño ycosto, es por eso, que se ha visto el cambio de las grandescomputadoras de uso limitado a empresas, a la computadora deescritorio, después a las computadoras portátiles y ahora adispositivos móviles, los cuales muchos de ellos, actualmente tienendiversas funciones en un solo dispositivo.Pero, ¿se pueden incrementar las funciones de estos dispositivosmóviles según nuestras necesidades?, la teoría dice que si se puedehacer, mediante la adecuada programación de estos dispositivos, lacual, no es la misma que la programación de una computadora deescritorio, pues en un dispositivo se deben considerar suscaracterísticas como: tamaño del dispositivo, tamaño de la pantalla,capacidad de memoria, capacidad de interconexión a otrosdispositivos, etc.Contextualización MesoEn el Ecuador debido al hecho de que las aplicaciones distribuidasestán tomando fuerza sobre el mundo de la informática y es el modelomás utilizado actualmente, es de gran importancia el combinar estemodelo de aplicaciones con las nuevas tecnologías y nuevosdispositivos estos son los dispositivos móviles. 11
    • Aunque en la actualidad esté tomando fuerza la programación paramóviles, aún no se ha popularizado tanto al llegar al punto de que lasmayorías de las empresas desarrollen o tengan en su tecnologíadesarrollos para dispositivos móviles, sin embargo, lo empiezan aconsiderar como nuevas opciones para su desempeño laboral. Esto noquiere decir que no existan aplicaciones móviles en las empresas,existen aunque aún son limitadas pues se debe considerar lasfunciones de la empresa y lo que se desea obtener de la aplicación.Contextualización MicroEn la ciudad de manta la universidad Laica Eloy Alfaro de Manabí, ensu facultad de ciencias informáticas, se desempeña la labor de impartirconocimientos sobre programación móvil para sus estudiantes de uncuarto semestre. El aprender a comprender dicha programacióndepende mucho de cada uno porque representa nuestra calificaciónpara aprobar nuestro semestre con éxito, los conocimientos sobre elentorno de programación del sistema operativo Android es el que serequiere para el desarrollo de aplicaciones para nuestros proyectos, lafalta de conocimientos sobre dicho entorno es la que causa unproblema en la hora del desarrollo de aplicaciones, ya que la 12
    • tecnología a avanzado tanto que en un futuro todo va a ser móvil yfalta mucho talento humano en este campo.Este proyecto de tesis, pretende obtener una muestra de laprogramación de los dispositivos móviles bajo la plataforma delsistema operativo Android.Se mostrará la forma en cómo se puede programar un sistema,destinado para ser utilizado sobre dispositivos móviles con el uso deAndroid. 13
    • Diagrama Causa-Efecto del Problema. Asume un tiempo Trabajar en el de investigación por entorno de desarrollo los pocos Eclipse con vacíos en Un mal análisis del conocimientos. la programación sistema. orientada a objetos. Problema: La falta de Causas conocimientos sobre el entorno de desarrollo y las herramientas que el sistema operativo Android requiere para el desarrollo de videojuegos. Prolongaría la Produciría una Se llegaría a una Efectos aplicación con culminación del solución equivocada, y videojuego ya que errores y que no resuelve el no contamos con los propensa a fallos. problema que plantea conocimientos y el nuestro sistema. tiempo necesario.
    • Formulación del problema.¿Existe un alto conocimientos sobre el entorno de desarrollo y lasherramientas que el sistema operativo Android requiere para eldesarrollo de videojuegos?Delimitación del problemaCAMPO: Ingeniería de software.ÁREA: Desarrollo.ASPECTO: Programación móvil.TEMA:Estudio del entorno de desarrollo de videojuegos en el SistemaOperativo Android. Caso de estudio: tic Tac Toe.PROBLEMA: poco conocimiento de entornos de desarrollo paraaplicacionescon Sistema Operativo Android.DELIMITACIÓN ESPACIAL: FACCI.DELIMITACIÓN TEMPORAL: Octubre 2012-Enero 2013
    • Objetivos. Objetivo general. Estudiar el entorno de desarrollo y las herramientas que el sistema operativo Android tiene para el desarrollo de videojuegos. Caso de estudio: tic tac toe. Objetivos específicos de investigación. Obtener conocimientos sobre el desarrollo de aplicaciones Android Estudiar el funcionamiento interno de Android. Así como la estructura de un videojuego. Buscar el entorno de desarrollo para esta plataforma de móviles. Manipular con precisión el entorno de desarrollo Eclipse. Objetivos específicos de resolución del problema Realizar un primer producto simple pero funcional en el que se integren los conocimientos adquiridos. Teniendo en cuenta parte de los resultados del análisis de antecedentes. Desarrollar una base de datos, que será destinada al albergue de la información referente a la aplicación. 16
    • Realizar un segundo producto más complejo donde se tengan encuenta la totalidad de las conclusiones extraídas del análisis deantecedentes, de forma que desarrollemos un producto que puedallegar a funcionar en el mercado.Conseguir dotar al segundo producto de las propiedades deextensibilidad, reutilización y portabilidad, por tal de facilitar suampliación y posibilitar la creación de segundas partesaprovechando la misma base. Siempre sin olvidar la eficiencia, quedeberá ser la suficiente para que el producto funciona endispositivos móviles de gama media/baja 17
    • JUSTIFICACIÓN.En vista que se han desarrollado aplicaciones muy parecidas a la nuestra,claro no con el mismo nombre, pero el principio es el mismo el juego del “TICTAC TOE”, como lo hemos denominado, o como se conoce comúnmente“tres en raya”; nos basamos en el principio del juego para así poderdesarrollar esta aplicación.Esto sirve como pauta e inspiración para así desarrollarla en base a los“clásicos” papelitos sobre un tablero (comúnmente un hoja de cuaderno en lacual preparábamos el entorno de juego) para crear una aplicación utilizandolos mismos parámetros pero dentro de un dispositivo móvil con sistemaoperativo Android.En vista que las aplicaciones móviles hoy en día son una tendencia muyconcurrida y puesto que aparte de desarrollarla en ámbito pre-profesional, esun requisito para aprobar la materia de programación móvil nos ha fascinadola idea de poder crear un mecanismo de juego, un escenario, unos objetos,etc. Y que las personas puedan llegar a divertirse, disfrutar o aprender conello, así que desde el principio se pensó en combinar ambas cosas y de ahí 18
    • salió la idea del proyecto, que es esta novedosa aplicación, que por cierto seespera que sea lanzada al mercado, esperando obtener resultados positivosde aceptación.Impactos Esperados.Los videojuegos son tan importantes para un dispositivo móvil que gran partedel éxito de un sistema operativo depende de las facilidades que este dé paradesarrollar videojuegos y, por tanto, del catálogo que este ofrezca a sususuarios.Nos hayamos preguntado por la eficacia de nuestra aplicación. ¿Cómomedimos esa eficacia? Probemos, antes de recibir la formación, a describir loque esperamos de ella, a describir el impacto esperado de la aplicación. Siconseguimos alinear este impacto con algún objetivo de la organización, esdecir, si el impacto esperado tiene una influencia directa en algún objetivoestratégico. Comprobaremos si ha tenido lugar dicho impacto y por tanto, sehan cumplido los objetivos.En caso de que ese impacto suponga una influencia positiva en algúnobjetivo estratégico de la organización, ya podemos confirmar que se haproducido un retorno de satisfacción para con nosotros por el desarrollo deuna buena aplicación. 19
    • En este proyecto el impacto esperado es que nuestra aplicación sea un éxitoen el ambiente educativo en el que estudiamos los integrantes de esteproyecto, obteniendo lo esperado podremos concluir nuestro semestre conuna excelente calificación. Impacto Tecnológico. La tecnología móvil evoluciona a pasos agigantados y nos presenta en la actualidad el llamado teléfono inteligente (o Smartphone en inglés). Los teléfonos inteligentes se caracterizan por el hecho de ser computadores de bolsillo con unas posibilidades cada vez más cercanas a los computadores de sobremesa. El desarrollo para aplicaciones móviles y para sistemas operativo Android en la actualidad es una excelente fuente de trabajo al desarrollar nuestra aplicación podemos llegar al punto de que la Tecnología es la organización y aplicación de conocimientos para el logro de fines prácticos. Un ejemplo es un celular Smartphone representa un aspecto de la tecnología pero los programas o software son igualmente importantes. Es aquí donde entra en juego nuestra aplicación en lo tecnológico, ya que si tiene el éxito que buscamos a la hora de su finalización, pues tendrá un impacto tecnológico en los Smartphone de nuestra entidad educativa. 20
    • Impacto Social.La tecnología en la sociedad, tienen un carácter cambiante y dinámicoque es funcional a sus propósitos y objetivos. No obstante, estoscambios abruptos, a veces, repercuten de manera negativa en la saludfísica y mental de sus miembros, generando alteraciones en el estilode vida de los mismos. Los adolescentes se han convertido en losprincipales usuarios de los diferentes servicios que ofrece la telefoníamóvil a los que dedican cada vez más tiempo y recursos económicos.Nuestra aplicación si va dirigida a causar un impacto social ya que setrata de un videojuego, como es el tic tac toe muy sencillo perodinámico, que llamara mucho la atención en los usuarios que poseaneste sistema operativo que es Android.Impacto Ecológico.Se entiende por impacto ecológico el efecto que produce unadeterminada acción humana sobre el medio ambiente en sus distintosaspectos. El concepto puede extenderse, con poca utilidad, a losefectos de un fenómeno natural catastrófico. Técnicamente, es laalteración de la línea de base, debido a la acción entrópica o a eventosnaturales. 21
    • Las acciones humanas, motivadas por la consecución de diversos fines, provocan efectos colaterales sobre el medio natural o social. Mientras los efectos perseguidos suelen ser positivos, al menos para quienes promueven la actuación, los efectos secundarios pueden ser positivos y, más a menudo, negativos. La evaluación de impacto ambiental (EIA) es el análisis de las consecuencias predecibles de la acción; y la Declaración de Impacto ambiental (DIA) es la comunicación previa, que las leyes ambientales exigen bajo ciertos supuestos, de las consecuencias ambientales predichas por la evaluación.FORMULACIÓN DE HIPÓTESISAl colocar en store esta aplicación en la tienda de Google Play contribuirá eldesarrollo social, tecnológico y motivara a la creación de aplicacionesbasadas en Sistema Operativo Android. 22
    • CAPITULO IIMarco teórico referencialIntroducción. (Povedano, 2012) Cuando nos disponemos a desarrollar una aplicación para un nuevo sistema operativo con el que no se hemos trabajado con anterioridad, lo primero que hay que hacer es estudiar el funcionamiento de este, así como el funcionamiento de sus aplicaciones. Especialmente si se trata de un SO móvil, pues estos son bastante cerrados y las aplicaciones que desarrollemos para ellos se estructurará de forma diferente a como se estructuran en otros sistemas operativos. Igual o más importante es analizar las diferentes herramientas con las que podemos trabajar para desarrollar una aplicación que funcione en el SO. objetivo, por tal de poder escoger las herramientas que más se ajustan a nuestros requisitos. Y, por último, también es útil llevar a cabo un análisis de las aplicaciones del mismo ámbito desarrolladas para dicho SO, pues estas nos pueden ayudar a decidir los objetivos concretos de nuestra aplicación y a evitar errores durante el desarrollo. 23
    • En resumen, el estudio y el análisis del sistema operativo Android ha sidoun primer paso muy importante antes de embarcarnos en el desarrollo delos videojuegos. En este capítulo se explican los conceptos másimportantes estudiados y se exponen los análisis llevados a cabo parapoder desarrollar videojuegos para Android cometiendo el mínimo númerode errores posibles en todos los ámbitos.Empezaremos por una explicación de qué es el sistema operativo Android.Seguiremos con la estructura de las aplicaciones para este sistemaoperativo. Continuaremos con el entorno de desarrollo que Google hapreparado para el desarrollador de Android y explicaremos cómo seadapta la estructura de un videojuego a este SO.Por último, se describirán los dos importantes análisis llevados a cabo: unanálisis de los videojuegos más exitosos de Android, con el fin de extraerlas claves para que nuestras aplicaciones tengan éxito y para que nocometamos errores en su desarrollo; y un análisis de las herramientasdisponibles para llevar a cabo el desarrollo de videojuegos, con lasventajas e inconvenientes de las diferentes alternativas. 24
    • Dispositivos Móviles¿Qué es un Dispositivo Móvil?(Martinez, 2011)Los dispositivos móviles o mejor conocidos en sus términos en ingléscomo: “informationdevice”, “informationappliance”, “embeddeddevice” o“smalldevice”, son aparatos pequeños con algunas capacidades deprocesamiento, con conexión permanente o intermitente a una red, conmemoria limitada, diseñados específicamente para una función, pero quepueden llevar a cabo otras más generales.Una característica importante es el concepto de movilidad: los dispositivosmóviles son aquellos suficientemente pequeños para ser transportados yempleados durante su transporte. Normalmente se sincronizan con unsistema de sobremesa para actualizar aplicaciones y datos por medio deuna red inalámbrica, dando la impresión al usuario de que los datos estánalmacenados en el propio dispositivo.Características de un Dispositivo Móvil.Las principales características de un dispositivo móvil son: Portabilidad. Aparatos pequeños. 25
    • Tienen una limitada capacidad de procesamiento. Pueden o no tener una conexión a una red. Su memoria es limitada. Diseñados específicamente para una función, aunque se pueden añadir algunas otras. Normalmente son para el uso individual.Otra característica importante es el término en inglés “Wireless” (enespañol, inalámbrico); un dispositivo inalámbrico es aquel que es capaz decomunicarse o acceder a una red sin cables, por ejemplo un teléfono móvilo un PDA. Este tipo de dispositivos se comportan como si estuvieranconectados a una red mediante un cable, pero su tecnología esinalámbrica.Algunas de las características que hacen que estos dispositivos seandiferentes de las computadoras de escritorio son las siguientes: Tienen una funcionalidad limitada. No es necesariamente extensible y actualizable. En pocos años, el usuario deberá cambiarlo. Son más baratos. Son menos complicados en su manejo. Fácil de aprender su operación. 26
    • No se requiere un usuario experto.Algunos dispositivos que entran en la categoría son: • Asistentes Personales Digitales (PDA, IPod, etc.) • Teléfonos móviles inteligentes (Smartphone, IPhone, Black Berry, etc.) con sistema operativo similar al de las PDA. • Teléfonos móviles con capacidad de ejecución de programas JavaAlgunos dispositivos que no entran en la categoría son: • Computadoras portátiles (demasiado grandes, no portables). • Tablet PC • Teléfonos móviles sin capacidad de ejecutar programas. • Agendas electrónicas simples. • Calculadoras electrónicas programables. • Cámaras digitales, reproductores MP3, etc.Clasificación de los Dispositivos MóvilesPor su definición y características de los dispositivos móviles, se puedenclasificar en 4 grupos principales: 27
    • Gráfico 1 ¿Para qué sirve un Dispositivo Móvil? La expansión de computadoras personales en nuestro entorno hace que éstas sean ya una herramienta de trabajo muy necesaria y por supuesto, también de diversión. Pero cada vez, las computadoras son más potentes y nos dan muchas más posibilidades, lo que hace que no sólo estén en el trabajo y en nuestro hogar, sino que también nos los podamos encontrar en cualquier ámbito de nuestra vida. Por tanto, vemos que la evolución se centra en fabricar aparatos más pequeños, dotándoles de habilidad de comunicación y potencia de cálculo. Independientemente del tipo de aparato, les requerimos que más o menos nos den las mismas prestaciones en cualquier momento. 28
    • Los dispositivos móviles utilizados actualmente, abarcan una gran cantidadde funcionalidades, entre las principales y las más usadas son lassiguientes:• Teléfono móvil: Su principal función es la comunicación personal, dandola opción de que se le pueda localizar en cualquier momento y lugar, pormedio de la recepción y emisión de llamadas. Actualmente, los teléfonosmóviles evolucionaron y ya incluyen juegos, cámara fotográfica y de video,reproductor de mp3, mensajes de texto, directorio, Internet, televisión yrastreo satelital.• Smartphone / Black Berry: Su principal función es la de comunicaciónpersonal, muy similar a un teléfono móvil, pero con la diferencia de que elSmartphone y la Black Berry, trabajan con la tecnología Microsoft y poseencaracterísticas interesantes, como es el poder trabajar con ventanas tipoWindows y la lectura y edición de documentos de la paquetería Office;además de los ya mencionados, como es conexión a Internet,sincronización con equipos de escritorio, cámara fotográfica, cámara devideo, mp3, videos, películas, mensajes escritos, agenda, correo de voz,directorio y juegos.• PDA: El objetivo de este dispositivo es, como su nombre lo indica, unasistente personal, en donde se tienen funciones como agenda, juegos,recordatorios, videos, música, fotografías, editor de texto, sincronización 29
    • con equipos de escritorio, reproductor de Mp3 y videos y conexión aInternet.• Pocket PC: El objetivo de este dispositivo es similar al de PDA, solo queéste trabaja particularmente con la tecnología Microsoft, por lo que setienen opciones de poder manejar documentos de la paquetería Office, porlo que ofrece mucha funcionalidad para el trabajo. También tienen accesoa Internet, agenda, música, videos, fotografías, correo electrónico, chat ysincronización con equipos de escritorio.• IPhone: De la compañía Apple Inc., es un teléfono inteligente multimediacon conexión a internet, pantalla táctil con tecnología multi-touch y unainterfaz de hardware minimalista. Ya que carece de un teclado físico, semuestra uno virtual en la pantalla. El iPhone dispone de una cámara defotos y un reproductor de música (equivalente al del iPod) además desoftware para enviar y recibir mensajes de texto y mensajes de voz.También ofrece servicios de internet como leer correo electrónico, cargarpáginas Web y conectividad por Wi-Fi.Ventajas y Desventajas de un Dispositivo Móvil.A continuación se muestra un listado de ventajas y desventajas de losdispositivos móviles, contra los equipos de escritorio:Ventajas de trabajar con equipos móviles:• Al ser equipos pequeños son fáciles de transportar.• El costo es menor. 30
    • • Actualmente un dispositivo móvil tiene muchas funciones.• Al poder llevarlos a todos lados, ayudan en la organización personal.• Equipados con batería, no es necesario conectarlos a la corrienteeléctrica.• Algunos de ellos, al tener rastreo satelital, brindan incluso seguridad alusuario.• Actualmente, se pueden conectar a Internet casi en cualquier lugar.• Son fácilmente accesibles para cuando se les necesite.Desventajas de trabajar con equipos móviles:• Tienen memoria limitada.• Capacidad de procesamiento es menor.• En pocos años se tendrá que cambiar de dispositivo.• La batería tiene un tiempo de energía limitado.• Algunas de sus pantallas no tienen la resolución suficiente para podernavegar completamente en Internet.• Algunos no tienen una capacidad completa para el uso en el trabajo.• La velocidad es menor, por lo tanto los tiempos de respuesta sonmayores. 31
    • DEFINICIONES CONCEPTUALES Cómo Programar un Dispositivo Móvil? Proceso de Programación. El desarrollo de aplicaciones destinadas a dispositivos móviles, desde el punto de vista de la ingeniería del software, no debe diferir sustancialmente de los pasos a dar cuando se construyen aplicaciones para computadoras de escritorio, sólo cambiará la última parte, la cual es: la compilación o generación de código ejecutable sobre el sistema operativo contenido en el dispositivo. Así, podríamos establecer los siguientes pasos: a) Análisis de Requerimientos El programador deberá determinar, las necesidades que los usuarios finales tienen y los requerimientos que se les pedirá tener a la aplicación. Por ejemplo, en el caso de un análisis para una aplicación que se ejecutará en un dispositivo móvil, algunos de los requerimientos podrían ser la facilidad de uso, que se pueda ejecutar en los teléfonos móviles, PDAs y Smartphone´s, que permita una conexión a una entidad mayor para obtener datos actualizados o también que sea capaz de almacenar cierta información de manera persistente. 32
    • b) Diseño de la AplicaciónEs muy importante en este tipo de aplicaciones el crear programasseparados por cada uno de los posibles usos que se le dé a la aplicación;de esta manera cada programa será más pequeño y se adaptará muchomejor a las características de los dispositivos móviles. Ya en la fase deimplementación se tendrá que establecer un mecanismo que controle lasdiferentes aplicaciones.En cuanto al diseño del interfaz de usuario, debemos decidir lacorrespondencia entre la aplicación y la pantalla. Los diseñadores en estafase no deben considerar cómo los usuarios operarán con el dispositivopara llevar a cabo una tarea, o cómo se notificará a la aplicación lasacciones del usuario, se deben concentrar sólo en el objetivo de la pantallay en la tarea que permitirá llevar a cabo.El almacenamiento persistente es un aspecto a tener en cuenta en nuestrodiseño, la pregunta a responder es: ¿qué datos deben sobrevivir a lafinalización de la aplicación y estar disponibles para la siguiente vez que sevaya a ejecutar? Otra cuestión, que no se debe plantear en esta fase sinoen la de implementación es qué utilizar para realizar ese almacenamiento.Finalmente, debemos tener en cuenta dentro del diseño aspectosrelacionados con la conectividad y con la entrada / salida, ya que son 33
    • puntos muy importantes que van a determinar la portabilidad de laaplicación. Por tanto, en este momento deberemos tomar decisiones en unnivel de abstracción alto, que luego se concretarán cuando determinemosclaramente el tipo de dispositivo y sus características.c) Desarrollo de la AplicaciónEs en esta parte en la que el desarrollador se dedica a programar laaplicación para que cumpla con los requerimientos especificados; sededicará a escribir código, crear pantallas, adaptar controles y se harán laspruebas hasta que la aplicación esté lista.Hay dos formas de desarrollar aplicaciones para los dispositivos móviles:desde una computadora de escritorio o sobre el propio dispositivo móvil.a. Computadora de EscritorioEsta es la forma más común a la hora de programar un dispositivo móvil.Esta técnica consiste en realizar la aplicación a través de algunaherramienta ejecutada en una PC. Estas herramientas pueden serextensiones para los lenguajes y entornos habituales de las PC o bienentornos de desarrollo específicamente creados para generar códigoejecutable sobre los dispositivos móviles. 34
    • Dado que supondría un problema tener que cargar en el dispositivo elprograma en desarrollo cada vez que se quiera probarlo, conviene contarcon emuladores de los dispositivos concretos y sus sistemas operativos.En el mercado existe diversa variedad de emuladores para los diferentesdispositivos móviles; Estos emuladores cambian de acuerdo con el sistemaoperativo y del tipo de dispositivo móvil.Normalmente, el proceso de las aplicaciones concluye con la generacióndel código de la aplicación que se instalará en dispositivo móvil. En estecaso hay dos formas de hacerlo, el código generado es directamenteejecutable en la máquina o bien se genera un código intermedio que alinstalarse requerirá de un programa intérprete que lo traduzca y ejecutedefinitivamente.Cuando trabajamos sobre una computadora de escritorio para programardispositivos móviles, debemos lograr pasar el código o programaejecutable al dispositivo móvil final, esto se hace con alguna de lassiguientes opciones:• Se descargará la aplicación a través de una conexión de red, se cargaráen memoria, se ejecutará la aplicación, y finalmente se eliminará cualquiertraza de ésta en el dispositivo.• Siempre que el dispositivo lo permita, se instalará físicamente. 35
    • b. En el Dispositivo MóvilEsta forma de programar consiste en realizar la aplicación directamente enel mismo dispositivo móvil donde será ejecutado.Debido a las limitaciones de recursos de los dispositivos móviles, loseditores y traductores de esta categoría suelen ser limitados en cuanto a lafacilidad para el trabajo de programación y puesta a punto.Diferentes dispositivos, diferentes plataformasLos lenguajes de programación y sus entornos de desarrollo asociadosdisponibles para crear aplicaciones para los dispositivos móviles son,esencialmente los mismos que se utilizan para las demás computadoras,no obstante ya existen algunos lenguajes específicamente diseñados paraello.Como en todo, hay siempre una solución de compromiso entrerequerimientos de cómputo, facilidad de uso y de aprendizaje, costo ycalidad de los resultados que se obtienen. Al desarrollar aplicaciones paralos dispositivos móviles hay que tener en cuenta su especificidad. Losdispositivos móviles no son una PC ni una laptop. Tamaño de la pantalla, generalmente de 160 x 160 pixeles. Patrón de utilización: varias veces al día por períodos muy cortos. 36
    • Pocas entradas. No se requiere el ingreso de grandes volúmenes de datos. Potencia del procesador: Normalmente de 16 a 33 MHz Baterías pequeñas. Memoria que suele llegar hasta 64 MB.A continuación se presentan la plataforma con la que trabaja Android queel sistema operativo al que nos enfocamos el desarrollo de la aplicación.La gente de Google ha escogido el lenguaje Java para dar soporte aaquellas personas y empresas que deseen realizar aplicaciones de forma“nativa” en la plataforma de Android. En su renovadapágina developer.android.com podrás encontrar toda la información quenecesitas para poder hacer tus aplicaciones, ya que cuentas con tutoriales,foros, videos y códigos de ejemplo sobre cada API de Android; digamosque es el santo grial para documentarse sobre programación en Android. Gráfico 2 37
    • ¿Pero qué pasa si no sabes programar en Java? ¿O lo probaste algunavez y decidiste que ese no era el lenguaje de programación para ti porquehay lenguajes más cómodos y con curvas de aprendizaje más suaves? Esmás, ¿qué pasa si no eres programador, no sabes nada de líneas decódigo pero quieres hacer esa aplicación para Android que tienes enmente? ¿Te vas a quedar fuera del mundo de las aplicaciones móviles?Ante ete escenario, debo decirte que existen diversos ambientes paraprogramar rápidamente en Android diferentes a Java, incluso puedeshacer aplicaciones sin teclear una sola línea de código.Aquí en Androideity nos basamos en el lenguaje que ofrece oficialmenteGoogle para sus desarrollos porque es del cual existe más información, endonde las actualizaciones están al día (como por ejemplo con JellyBean,que ya lo puedes descargar), y con el cuál más gente en el mundo trabaja.Pero no por eso vamos a dejar de mostrarte otras alternativas que sepueden ajustar más a tus necesidades, es por eso que te mostraremosunas herramientas que de seguro te van a interesar, y empezamos con:Basic4Android 38
    • Basic4Android es una plataforma de programación para aplicacionesAndroid cuyo lenguaje base de programación es VisualBasic, el eternorival de Java, ese lenguaje que está orientado a aquellas personas queempezamos en el mundo de la programación de una manera más gráfica yno tan abstracta. No es el mismo lenguaje de Microsoft, pero su sintaxises la misma, lo cual tiene sus mismas ventajas como algunos de susinconvenientes. Gráfico 3Mono para AndroidOtro de los lenguajes que Microsoft desarrollo para hacer aplicaciones fueC# y .NET, las cuales son muy usados en diferentes ambientes, por lo que 39
    • no podría faltar que estos lenguajes tan comunes y opuestos a Java llegaran a Android.Gráfico 4 Si tu ambiente de programación es Visual Studio lo único que debes instalar es el SDK de Android, la versión para Android de Mono y listo amigo, sigue desarrollando sin ningún inconveniente; además según Xamarin (la empresa creadora de Mono), trabajas con un lenguaje nativo para Android ya que no tiene un intérprete con lo tendría Basic4Android, y su aprendizaje es relativamente sencillo en un tiempo prudente si lo que buscas es hacer esa aplicación tienes ya en mente y no tienes tiempo de aprender un nuevo lenguaje. App Inventor ¿No quieres Java, ni C#, ni C, ni .NET, ni VisualBasic, en resumidas cuentas, ningún programa de desarrollo tradicional? ¿Eres diseñador, 40
    • contador, chef, médico, estudiante, en fin cualquier persona que tiene unaidea de aplicación para Android sin tener necesariamente un backgroundtécnico? Perfecto, con App Inventor es para ti.Esta plataforma de desarrollo está basada en un lenguaje de desarrollográfico en donde no escribes ni una sola línea de código, tan solo arrastrasbloques identificados con la acción que necesitas hacer y listo. Gráfico 5Esta plataforma de desarrollo fue impulsada por Google hace un tiempocon el fin de que más personas se unieran a la familia de Android; estagenial herramienta usa tu navegador como centro principal de trabajo, yalmacena todo esto en servidores que están disponibles cada vez queentres a internet. Intentar explicarlo con palabras es más difícil que usarAppInventor. ¿Te preocupa el precio? Pues no debes pagar nada, ni en 30días ni en 1 año, solo descargas lo necesario y listo, arrastras bloquecitos 41
    • y ya. ¿Quieres conectar tu aplicacion con Twitter? Ok, arrastras el bloquede Twitter. ¿Quieres usar el Bluetooth? Ok, entonces toma el bloque deBluetooth y conéctalo de una vez. Así de sencillo, solo práctica, prueba ylisto.Android podrá ver como al arrastrar un elemento a tu entorno de trabajo seve al mismo tiempo en tu dispositivo, algo así como “programación encaliente”.LiveCodeImagina una plataforma en la que puedas programar tanto para Android,iOS, Windows, Linux, iPhone, iPad, Web y para Servidores con una solaplataforma de trabajo. Si ya lo imaginaste, mira si se asemeja a LiveCode. Gráfico 6 42
    • Digamos que eres un desarrollador Web y un cliente que pidió hacer unaaplicación “x”, la diseñaste, la trabajaste y con un buen tiempo quedo listamontada en el servidor y con miles de visitas diarias. Ahora imagina que tucliente te pide que lleves esa misma aplicación a Windows y a iOS paracubrir un mercado más grande; en ese momento debes a pensar ya en porlo menos un programador para cada plataforma, y de repente tu cliente aldarse cuenta del rumbo que tomó la tecnología hacia los dispositivosmóviles, te pide que de una vez lleves tu aplicación a Android, iPhone yiPad. Entonces sale una famosa frase, “Oh por dios, ¿y ahora quien podrádefendernos?”. Una locura en verdad, pero pasa.En vez de pensar en 5 desarrolladores nuevos para tu empresa, ¿qué taluna plataforma de desarrollo que haga todo para todas las plataformas conunos sencillos click?. Eso en resumidas cuentas es LiveCode.El lenguaje de programación que usa LiveCode se llama “ProgramaciónOrientada a Eventos”, y se basa en arrastrar elementos a un área detrabajo y programar los eventos que estén vinculados a este elemento; porejemplo, si arrastras un botón al área de trabajo, el evento que tienesvinculados es el click sobre ese botón, o por ejemplo si arrastras unaimagen, el evento vinculado es por ejemplo moverlo sobre la pantalla. 43
    • In Design CS6¿Eres una persona que escribe libros, revistas, comics, catálogos,periódicos, y quieres que tus publicaciones estén de una manera rápida,limpia y como tú la diseñes en los dispositivos móviles Android o iOS, perono quieres aprender ninguno de los anteriores programas para crearaplicaciones? Entonces te tenemos la solución. Desde tu CS6 podráshacer las aplicaciones que desees sin escribir una sola línea de código. Gráfico 7Ok, estás creando esa revista y sabes que necesitas llevarla a losdispositivos móviles, pero no quieres aprender un lenguaje deprogramación para hacer una tarea que no se sabe si con las plataformasexistentes puedes llevar a cabo tu cometido, pero tampoco quierescontratar a un programador que te va a decir que esto o aquello no sepuede hacer porque debes estar haciendo aplicaciones cada vez quequieras sacar una nueva publicación de tu revista. 44
    • Para esto Adobe te da una solución muy sencilla, solo debes hacer 3 cosas:1. Debes tener InDesign CS6 instalado en tu computadora.2. Debes descargar Adobe Content View para que puedas organizar el trabajo apropiado y organizado para llevarlo a las tablets.3. Por último debes comprar una licencia dependiendo de cuántas publicaciones vaya a tener tu revista o periódico o cómic que desees realizar. Sistema Operativo para Móviles. ¿Qué es Android? (Mendoza, 2010) Android es un conjunto de software que constituye un ecosistema para las aplicaciones móviles. Dentro de este conjunto se incluye un sistema operativo móvil, lo que significa que Android está dirigido principalmente a teléfonos inteligentes (o Smartphone) y a Tablet. Y detrás de este software se encuentra la empresa Google Inc., archiconocida multinacional dedicada a ofrecer servicios y productos basados generalmente en Internet.Arquitectura. 45
    • Los componentes principales del sistema operativo de Android (cadasección se describe en detalle):Aplicaciones: las aplicaciones base incluyen un cliente de correoelectrónico, programa de SMS, calendario, mapas, navegador,contactos y otros. Todas las aplicaciones están escritas en lenguaje deprogramación Java.Marco de trabajo de aplicaciones: los desarrolladores tienen accesocompleto a los mismos apisdel framework usados por las aplicacionesbase. La arquitectura está diseñada para simplificar la reutilización decomponentes; cualquier aplicación puede publicar sus capacidades ycualquier otra aplicación puede luego hacer uso de esas capacidades(sujeto a reglas de seguridad del framework). Este mismo mecanismopermite que los componentes sean reemplazados por el usuario.Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++usadas por varios componentes del sistema. Estas características seexponen a los desarrolladores a través del marco de trabajo deaplicaciones de Android; algunas son: System C library(implementación biblioteca C estándar), bibliotecas de medios,bibliotecas de gráficos, 3D y sqlite, entre otras. 46
    • Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato DalvikExecutable (.dex), el cual está optimizado para memoria mínima. La Máquina Virtual está basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida "dx". Núcleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software. Eclipse IDE y Java.(Vargas, 2012)¿Qué es Eclipse? Eclipse es un entorno de desarrollo integrado de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones 47
    • de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano"basadas en navegadores. Esta plataforma, típicamente ha sido usadapara desarrollar entornos de desarrollo integrados (del inglés IDE),como el IDE de Java llamado Java DevelopmentToolkit (JDT) y elcompilador (ECJ) que se entrega como parte de Eclipse (y que sonusados también para desarrollar el mismo Eclipse). Sin embargo,también se puede usar para otros tipos de aplicaciones cliente, comobittorrento Azureus.Eclipse es también una comunidad de usuarios, extendiendoconstantemente las áreas de aplicación cubiertas. Un ejemplo es elrecientemente creado Eclipse Modeling Project, cubriendo casi todaslas áreas de ModelDrivenEngineering.Eclipse fue desarrollado originalmente por IBM como el sucesor de sufamilia de herramientas para visualage. Eclipse es ahora desarrolladopor la Fundación Eclipse, una organización independiente sin ánimo delucro que fomenta una comunidad de código abierto y un conjunto deproductos complementarios, capacidades y servicios.Eclipse fue liberado originalmente bajo la CommonPublicLicense, perodespués fue re-licenciado bajo la Eclipse PublicLicense. La Free 48
    • Software Foundation ha dicho que ambas licencias son licencias de software libre, pero son incompatibles con Licencia pública general de GNU (GNU GPL).Arquitectura La base para Eclipse es la Plataforma de cliente enriquecido (del Inglés RichClientPlatform RCP). Los siguientes componentes constituyen la plataforma de cliente enriquecido: Gráfico 8 Plataforma principal - inicio de Eclipse, ejecución de pluginsosgi- una plataforma para bundling estándar. El Standard Widget Toolkit (SWT) - Un widget toolkit portable. Jface- manejo de archivos, manejo de texto, editores de texto. El Workbench de Eclipse - vistas, editores, perspectivas, asistentes. 49
    • Los widgets de Eclipse están implementados por una herramienta dewidget para Java llamada SWT, a diferencia de la mayoría de lasaplicaciones Java, que usan las opciones estándarAbstractWindowToolkit (AWT) o Swing. La interfaz de usuario deEclipse también tiene una capa GUI intermedia llamada jface, la cualsimplifica la construcción de aplicaciones basadas en SWT.El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos(en inglés plug-in) para proporcionar toda su funcionalidad al frente dela plataforma de cliente enriquecido, a diferencia de otros entornosmonolíticos donde las funcionalidades están todas incluidas, lasnecesite el usuario o no. Este mecanismo de módulos es unaplataforma ligera para componentes de software. Adicionalmente apermitirle a Eclipse extenderse usando otros lenguajes deprogramación como son C/C++ y Python, permite a Eclipse trabajarcon lenguajes para procesado de texto como latex, aplicaciones en redcomo Telnet y Sistema de gestión de base de datos. La arquitecturaplugin permite escribir cualquier extensión deseada en el ambiente,como sería Gestión de la configuración. Se provee soporte para Java yCVS en el SDK de Eclipse. Y no tiene por qué ser usado únicamentepara soportar otros lenguajes de programación. 50
    • La definición que da el proyecto Eclipse acerca de su software es: "una especie de herramienta universal - un IDE abierto y extensible para todo y nada en particular".Características Eclipse dispone de un Editor de texto con resaltado de sintaxis. La compilación es en tiempo real. Tiene pruebas unitarias con junit, control de versiones con CVS, integración con Ant, asistentes (wizards) para creación de proyectos, clases, tests, etc., y refactorización. Asimismo, a través de "plugins" libremente disponibles es posible añadir control de versiones con Subversion.4 e integración con Hibernate.MÉTODOS ÁGILESAlgunos métodos ágiles de desarrollo de software:Adaptive Software Development (ASD).Agile Unified Process (AUP).Crystal Clear.Essential Unified Process (EssUP).Feature Driven Development (FDD).Lean Software Development (LSD). 51
    • Kanban.Open Unified Process (OpenUP).ProgramaciónExtrema (XP).Método de desarrollo de sistemas dinámicos (DSDM).Scrum.XP PROGRAMACIÓN EXTREMADefinir lo que es la XP de una forma formal es tarea dificultosa debido a quesu propia definición es rebatida por lo que con ella se intenta lograr.Básicamente se podría decir que la programación extrema es una“metodología Ligera1 (Martin) o ágil para el desarrollo de software eficiente yaltamente efectivo”2. (Mitchell)La gran controversia en la definición de la programación extrema viene de lamano de la palabra metodología. Muchos defensores a ultranza de la XPconsideran que no podemos denominarla metodología porque elimina toda laparte burocrática anteriormente asociada a las metodologías para eldesarrollo de software (continua documentación, diseños varios, y papeleosexcesivos).Por otro lado, obviar que nos proporciona una guía o un proceso repetitivopara el desarrollo de software sería obviar lo que en sí es. Así pues, se puede 52
    • tomar como bueno el consenso de denominarla como metodología ligera (oágil), debido a que elimina la “pesada” carga del papeleo a losdesarrolladores.XP COMO METODOLOGÍABásicamente, la programación extrema, busca dos objetivos claramente:hacer un software bien (con calidad) y de la forma más rápida posible. Dehecho estos son los objetivos fundamentales de cualquier metodologíaaplicada al desarrollo de software y a cualquier otra área en general. A pesarde esto, con las metodologías de desarrollo actuales, el 70% de los proyectosfracasan y aproximadamente, también, el 70% de los fallos no son debidos acuestiones técnicas, son debidos a cambios en la gestión o problemas decomunicación3.(Xp-An Overview)Con estos datos es lógico pensar en que las metodologías actuales no son losuficientemente buenas, porque una tasa de éxito inferior a una tercera partedel total de proyectos no es algo deseable.Una vez analizado el problema, podemos ver en XP la solución, o al menosun acercamiento. La programación extrema centra su atención en laproducción de software con una fuerte arquitectura, intentando sacarproductos al mercado rápidamente, con gran calidad y motivando al equipode trabajo para seguir mejorando esta tendencia. 53
    • Como metodología, la programación extrema, presenta muchos puntoscomunes con el desarrollo incremental, comenzando por el hecho de que elsoftware desarrollado con XP se realiza de forma incremental. Para ver todoslos puntos en que se centra la XP, vamos a dividirlo por fases4(Cunningham).CODIFICAR: Trabajar significa que, al final del día, tienes algo que funcione yque proporcione beneficios al cliente. Por tanto, todo el software se producemediante la puesta a punto de pequeñas versiones incrementales deproducción corta.PROBAR: Hay que asegurarse de que todo lo que se hace funcionecorrectamente. Para ello, lo mejor es desarrollar la prueba desde el momentoque se conocen los casos de uso (o, según XP, las historias del usuario). Porello, lo mejor es desarrollar las pruebas antes de generar el código para teneruna prueba más objetiva del correcto funcionamiento de éste.ESCUCHAR: Tanto para diseñar, como para desarrollar pruebas, como paradesarrollar, tienes que saber exactamente lo que quieres, para ello, se debeaprender a escuchar muy bien al cliente, al jefe de proyecto y a todo elmundo en general.DISEÑAR: El diseño también debe ser incremental y debe estar empotradoen el software, lo cual quiere decir que la estructura de éste debe ser clara.Hay que diseñar lo que las necesidades del problema requieren, no lo que 54
    • uno cree que debería ser el diseño. Además, siempre hay que tener encuenta que diseñar cosas para el futuro es una pérdida de tiempo, porque nolas vas a necesitar. 55
    • CAPITULO III MARCO PROPOSITIVO (PROPUESTA)INTRODUCCIÓNEl proyecto consiste en el estudio, análisis y puesta en práctica del desarrollode un videojuego en dos dimensiones sobre la plataforma Android.En concreto se ha estudiado el entorno de programación disponible y lasherramientas y conceptos que se deben utilizar para desarrollar aplicacionesque funcionen en el sistema operativo Android. Así como el funcionamientointerno de dicho sistema operativo.Se estudiara las herramientas apropiadas para la construcción de unvideojuego. Desde la selección de la librería gráfica hasta la búsqueda demotores de físicas que nos permitan facilitar toda la gestión de la física deljuego.En esta selección se ha premiado que, aparte de potente, eficiente y fácil deusar, la herramienta sea multiplataforma, facilitando la portabilidad a otrossistemas operativos móviles así como a ordenadores de sobremesa u otrasplataformas. 56
    • El videojuego en especial llamado tic tac toe; hasta el momento es muyconocido, y no es ni mucho menos el único. Pero nuestro objetivo es ofrecera todos los usuarios de móviles Android una sana diversión y destrezamental, esta aplicación requiere una agilidad mental muy buena, si quieresdar con las soluciones que te conviertan en el mejor jugador.Es una aplicación simple para poner a prueba los conocimientos adquiridosdurante la fase de estudio y análisis del proyecto, así como los conocimientosadquiridos durante el semestre, algunos de los cuales deberán ser adaptadosal SO móvil Android.El proyecto de investigación se ejecutó, utilizando de métodos quepermitieron una mayor eficiencia en el trabajo realizado. Entre ellos tenemosel método científico, que nos acercó al estudio real de la actividad, empleadoa través del desarrollo de un cuestionario de preguntas denominado“encuestas”.El método descriptivo por consiguiente, es otro de los métodos que se utilizópara recopilar información relevante, organizar, resumir, presentar y analizarlos resultados provenientes de las observaciones, mientras que el métododeductivo se lo aplicó con el propósito de partir de aspectos generales de la 57
    • información obtenida, para llegar a situaciones particulares.Se utilizó el método “Analítico”, ya que para comprobar la hipótesis efectuadase deberá analizar el problema planteado, a través de la descomposición decada una de las partes que sencillamente conformarán un solo elemento,relacionados entre sí.DESCRIPCIÓN DE LA PROPUESTA.La denominada investigación de campo, radica en el lugar de los hechosdonde se desarrollaron los acontecimientos. Es el contacto directo que seobtuvo del sujeto con el objeto de la investigación, para obtener resultadosviables que conllevó a conclusiones efectivas.Por otro lado para el uso de esta actividad se tomó como referencia lasfacultades de auditoría, ciencias médicas y arquitectura de la universidadlaica Eloy Alfaro de Manabí, Con el uso y desarrollo de encuestas para poderasí analizar y lograr medir el grado de aceptación de nuestro proyecto ante lasociedad.INVESTIGACIÓN DOCUMENTALDurante la investigación o estudio del proyecto, que favorecerá a la facultad 58
    • de ciencias informáticas se puedo obtener algunos archivos como informesestadísticos de mega tendencias móviles, archivos de programación quepueden servir de mucha ayuda al momento del desarrollo del software.El método de investigación utilizado es el “Explicativo”, puesto que el mismoreúne las características de la investigación aplicada que requiere controlmetodológico como estadístico, por el que se logró identificar las causas delproblema y objeto de estudio, mediante la utilización de materiales didácticosenfocados al análisis del entorno y basados en una filosofía que enriqueciólos principios básicos y generalidades de la indagación.Por consiguiente de forma implícita realizamos una exposición clara de cómofue utilizado el tipo método planteado:Método “Explicativo”, se efectuó para buscar explicaciones ciertas sobre elcomportamiento de la acogida del SO por la sociedad y además los procesosnecesarios para llevar a cabo el proyecto y los beneficios esperados,identificando sus diferencias y posteriormente relacionarlas entre sí. 59
    • RECURSOS.Mantenemos bien en claro que estos recursos son un conjunto de personas,bienes materiales, financiero y técnico con que cuenta y utiliza unadependencia, entidad, u organización para alcanzar sus objetivos y producirlos bienes o servicios que son de su competencia.Humanos.Para nuestro proyecto contamos con el recurso humano de los interesadosen llevar a cabo esta investigación, es decir, los Integrantes y los Naturales:Integrantes: Flores Posligua José Bolívar. Mera Guaranda Yandry Xavier. Palma PalmaRomelJosue.Naturales: Ing. Jorge Pincay (Tutor del proyecto). Personal Docente de la Facultad de Ciencias Informáticas. Alumnos de la facultad antes mencionada (FACCI). Materiales Los materiales a considerarlos útiles para esta investigación son los siguientes: Hojas, Esferos, lápices, calculadora, borrador, etc. Teléfono que cuente con el sistema operativo Android. 60
    • Computadora de escritorio. Impresora. Cámara fotográfica.EQUIPAMIENTO Los equipamientos son los que nos van a permitir realizar reuniones grupales con el fin de recopilar información. Transporte Internet Teléfono Luz, etc. Presupuesto Referencial Para hallar el presupuesto referencial es necesario realizar la siguiente tabla. Total Recursos Total Equipamiento Presupuesto Materiales Referencial $350,00 $130,00 $480,00 Cabe recalcar que es una cifra considerable, para poder empezar desde cero con el desarrollo del proyecto. 61
    • Descripción de financiamiento. Para la sustentación económica de nuestro proyecto hemos decidido que recibir donaciones internas por parte de nuestros familiares, es decir que cada integrante del grupo ha tenido que pedir algo de apoyo económico a sus padres o familiares, para sustentar el gasto que este proyecto implica; además de las operaciones patrimoniales que cada integrante ha hecho con el fin de realizar un trabajo de calidad.DISEÑO Y CONSTRUCCIÓN DE LA PROPUESTA.El uso y aprovechamiento de las herramientas computacionales en losdispositivos móviles ha ido en aumento, cada vez es más frecuenteencontrar que en los diferentes dispositivos móviles software cada vez másfiables y potentes utilizando la computadora como objeto de creación de losmismos, los software que actualmente salen al mercado como herramientade apoyo para facilitar las labores cotidianas que el usuario realiza a diario..Este proyecto presenta una metodología que permitirá desarrollar un 62
    • software orientado al estudio del entorno de desarrollo de aplicacionesmóviles con SO Android y el caso de estudio fijo será una aplicación derecreación: TIC TAC TOE o TRES EN LÍNEA así se cumplirán los objetivospropuestos.Para el desarrollo de esta aplicación empleamos las metodologías ágilesSCRUM y XP(programación extrema)en nuestro equipo de desarrollo.PLANEACIÓN.Este equipo de desarrollo está conformado por tres miembros, en donde cadauno aporta con el desarrollo de la manera más eficiente posible, en cadasprint mejoraremos el diseño y desarrollo de nuestra aplicación y como parteindependiente de cada uno quedara la investigación sobre el uso y aplicaciónde las metodologías agiles, así como la programación en el entorno eclipsepara dispositivos móviles con SO Android.ORGANIZACIÓN.Acorde a los requerimientos por parte de nuestro tutor de proyecto y uso dela metodología aplicada en este desarrollo la organización de cada integrantesegún el perfil de cada uno sería el siguiente: 63
    • INVESTIGACIÓN Y ANÁLISIS.Flores Posligua José Bolívar.Mera Guaranda Yandry Xavier.Palma PalmaRomelJosue.CODIFICACIÓN DE LA APLICACIÓN.Flores Posligua José Bolívar.Mera Guaranda Yandry Xavier.Palma PalmaRomelJosue.PLANIFICACIÓN DEL PROYECTO.En este punto interviene nuestro “cliente”, serán aquellas personas a las cualse les presentara el proyecto integrador; en este caso el principal será el Ing.Jorge Pincay que al ser nuestro tutor, es la persona encargada de indicarnoslas correcciones en cada reunión que se ha suscitado a lo largo del semestre.FASES DE LA METODOLOGÍA XP.1° FASE: PLANIFICACIÓN DEL PROYECTO. 64
    • EL USUARIO PODRÁ DESCARGAR LA APLICACIÓN DESDE INTERNET. INTERNET TIC TAC TOE USUARIO TIC TAC TOE UNA VEZ DESCARGADA LA APLICACIÓN EL USUARIO ACCEDERÁ A LA MISMA. INTERNET TIC TAC TOEDESCARGAR USESAPP USES DESARROLLADOR SUBIR APLICACIÓN EXPLICACIÓN DE LA INTERVENCIÓN DE LOS ACTORES: USUARIO Y DESARROLLADOR 65
    • RELEASE PLANNING: durante el desarrollo del proyecto lo que más se hadebido modificar es el documento, cada documentación entregada al tutorservía como base puesto que las correcciones se aplicaban a ésta y sobreella se trabajaba en las correcciones y mejoras hasta obtener un resultadosatisfactorio para el tutor (cliente) y el equipo de desarrollo.ITERACIONES:en la etapa de documentación se presentaron borradorescomenzando en el primer mes de clases con la propuesta del tema, de ahí enadelante se trabajó mejorando documentos los cuales se presentaban al tutorpara que envié las respectivas correcciones hasta llegar a completar ladocumentación final.VELOCIDAD DEL PROYECTO: el tiempo de presentación de cada borradores de un mes y en este lapso de tiempo se ha corregido para mejorar nuestradocumentación y aclarar dudas, todo el lapso de tiempo ha sido empleado enel desarrollo de la aplicación y la documentación.PROGRAMACIÓN EN PAREJA: cada sprint servía para trabajar endocumentación, pero también se debía trabajar en el desarrollo de laaplicación como tal para esto cada integrante trabajaba de forma individualpero aplicando la metodología XP, la comunicación del equipo de desarrollotambién fue por vía internet ya que por diferentes ocupaciones y 66
    • disponibilidad de tiempo no se podía siempre hacer reuniones presenciales.Cada miembro aporto para el desarrollo y mejora de la aplicación.2° FASE: DISEÑO.El diseño de la aplicación en su pantalla principal es un fondo del juego TICTAC TOE con 4 botones de funcionalidad.Gráfico 9 Pantalla princ/FaseDiseño3° FASE: CODIFICACIÓN.En esta etapa se aplicó lo aprendido en la clase de Programación Móvil,siendo de mucha ayuda las clases impartidas por el docente Ing. EdgardoPanchana; el cual estuvo presto a resolver inquietudes de parte del equipo dedesarrollo y a darnos alternativas y pautas para el desarrollo correcto denuestra aplicación. 67
    • 4° FASE: PRUEBA Y ERRORES. Durante el desarrollo de nuestra aplicación se realizaron diferentes pruebas, las cuales se detallaran a continuación: PRIMERA PRUEBA: Como primera nuestra aplicación nos mostraba la pantalla de bienvenida con 4 botones, la misma que al pulsar el modo de juego nos envía a otra ventana para poder jugar. Prueba 1 pantalla de juegoPrueba 2 Pantalla princ 68
    • SEGUNDA PRUEBA:En esta prueba se procedía a pulsar cada botón para observar el correctofuncionamiento.Prueba 4 Prueba 3 Prueba 5 Créditos 69
    • TERCERA PRUEBA: En la tercera prueba se jugó en el modo vs PC para comprobar su funcionamiento, los resultados fueron positivos. Prueba 7 Prueba 6 CUARTA PRUEBA: En la cuarta prueba se jugó en el modo 2 Players para comprobar su funcionamiento, los resultados fueron positivos.Prueba 9 Prueba 8 70
    • REQUERIMIENTOS DE SOFTWARE:Requerimiento #1Detalle: la aplicación debe ser desarrollada para el Sistema OperativoAndroid.Fundamentación/explicación: la aplicación será desarrollada en lenguaje javay se utilizara el IDE Eclipse porque será instalada en dispositivos móviles consistema Operativo Android.Especificación: desarrollada para Sistema Operativo Android.Fuente: Ing. Edgardo Panchana. Ing. Jorge Pincay. Ing. Jacinto Reyes.Requerimiento #2Detalle: interfaz de la aplicación.Fundamentación/explicación: la aplicación tendrá un fondo blanco con unbackground de TIC TAC TOE, los jugadores tendrán “X” y “O” como fichas; lapantalla principal constara de 4 botones: 2 players, vs CPU, Credits, Exit; eninglés, en español los botones serán: 2 jugadores, vs PC, Créditos y Salir.Los colores de las piezas para jugar serán verde claro para: “X” y verdeoscuro para: “O”.Especificación: interfaz de la aplicación.Fuente: Equipo de desarrollo 71
    • Requerimiento #3Detalle: la aplicación será para 1 y 2 jugadores.Fundamentación/explicación: la aplicación será desarrollada y diseñada para2 jugadores, el primero en jugar tendrá la ficha “X” y el segundo jugador serepresenta con la ficha “O” y serán player 1 y player 2; pero también se podrájugar contra el CPU del móvil.Especificación: 1 y 2 jugadores.Fuente: Equipo de desarrollo.Requerimiento #4Detalle: el icono de la aplicación será una imagen de TIC TAC TOE.Fundamentación/explicación: el icono de la aplicación será una imagen conreferente al juego detallado de la siguiente manera: fondo blanco y las figurascon el fondo de TIC TAC TOE serán de color rojo.Especificación: icono de la aplicación.Fuente: Equipo de desarrollo.Requerimiento #5Detalle: mostrar ganador o empate.Fundamentación/explicación: al haber ganador se lo representara medianteun mensaje en pantalla Game Over Win Crosses o Win Circles (en español 72
    • Ganan las cruces o ganan los círculos), en caso de haber empate el mensajeseríaThey lied (Han empatado).Especificación: notificación ganador o empate.Fuente: Equipo de desarrollo.Requerimiento #6Detalle: Idioma de la aplicación.Fundamentación/explicación: el idioma de la aplicación será validadoautomáticamente acorde al idioma que este establecido endispositivo(español o inglés), si el idioma fuera diferente a cualquiera deéstos por defecto adoptará inglés.Especificación: idioma.Fuente: Equipo de desarrollo. 73
    • CAPITULO IV VALIDACIÓN DE LOS RESULTADOS.SEGUIMIENTO Y MONITOREO DE RESULTADOS.Hasta los actuales momentos la aplicación de entretenimiento TIC TAC TOEestá en la fase de prueba esperando un poco de tiempo (podría ser de 2meses) se notará si se cumplió con los objetivos propuestos.Acorde a los comentarios de los usuarios de nuestra aplicación tendremos enmente mejorar la versión y poder desarrollar una actualización.CONCLUSIONES Y RECOMENDACIONES. CONCLUSIONES. Las conclusiones tomadas luego de haber desarrollado este proyecto y esta aplicación se basan principalmente en el estudio del entorno al desarrollo de aplicaciones móviles orientadas para SO Android el caso principal de estudio fue la aplicación TIC TAC TOE. Se desarrolló en el IDE Eclipse, en donde se adquirió experiencia y conocimiento en esta área informática como es el desarrollo de aplicaciones. Esta aplicación 74
    • fue implementada en un dispositivo y se realizó pruebas con usuarios,recibiendo comentarios positivos y satisfactorios de la misma.RECOMENDACIONES.Se recomienda a todos los usuarios del IDE Eclipse y a losdesarrolladores de aplicaciones orientadas a móviles con SO Androidtener muy en cuenta a sintaxis en las líneas de código, puesto que unerror por más mínimo que signifique ser de sintaxis, imposibilitara laejecución del código y en sí mismo de la aplicación desarrollada. 75
    • ANEXOS Anexo 1 Ícono Anexo 2 Ganador “X” Anexo 3 Ganador “O” Anexo 4 Principal 76
    • Anexo 5 Créditos Anexo 6 Jugando 77
    • Anexo 7 Botón 2 playersAnexo 8 Botón vs CPUAnexo 9 Botón Salir Anexo 10 Botón Créditos 78
    • GLOSARIOFACCI.- Facultad de Ciencias Informáticas.Gadgets.- iconos de aplicaciones en la pantalla principal.Tics.- tecnologías de información y comunicación.Background.-fondo de pantalla. 79
    • BibliografíaAndroidety. (s.f.). Obtenido de http://androideity.com/2012/07/16/5-lenguajes-para- programar-en-android/. (s.f.).Cruz, G. (s.f.). Prorama Ecoatlas.Cunningham, W. (s.f.). Extreme Programming.Martin, R. C. (s.f.). Metodología Ligera.Martinez, P. l. (Martes de Noviembre de 2011). Moviles. Recuperado el Lunes de Noviembre de 2012, de Introduccion a moviles.Mendoza, C. (Miercoles de Septiembre de 2010). Programacion Movil. Recuperado el Sabado de Noviembre de 2012, de Conceptos basicos.Mitchell, L. (s.f.). Definición Propuesta.Povedano, D. G. (2012). Desarrollo de VideoJuegos. En D. G. Povedano, Desarrollo de VideoJuegos sobre la Plataforma Android (pág. 60). Bogota.Rey, J. R. (s.f.). El Sistema de Posicionamiento Global - GPS.Vargas, J. (Domingo de Octubre de 2012). Eclipse. Recuperado el Miercoles de Noviembre de 2012, de Eclipse introduccion: http://es.wikipedia.org/wiki/EclipseXp-An Overview. (s.f.). 80
    • MANUAL DE USUARIONombre de la aplicación:TresEnRaya.apkDesarrolladores: Flores Posligua José Bolívar, Mera Guaranda YandryXavier, Palma PalmaRomelJosue.Introducción.Esta aplicación es de entretenimiento, no tiene límite de edades para losusuarios porque al ser de entretenimiento puede ser utilizada por usuarios decualquier edad que sepan jugarla o aun desconociendo su temática de juegoes muy fácil y divertida; recomendable para distraerse en cualquier momentoy cualquier hora.Recomendaciones del juego: Esta aplicación fue desarrollada para dispositivos móviles con Sistema Operativo Android versión 4.2.1 Recomendada para dispositivos con pantalla táctil o touch. Las piezas para jugar serán “X” y “O”. El juego consiste en una pantalla de fondo con 9 casilleros vacíos, el objetivo del juego es que 3 piezas iguales estén formando una fila independientemente si es vertical u horizontal (como se observa en las figuras 1, 2,3). 81
    • Figura 3 Figura 2 Figura 1 Se puede jugar vs la PC del dispositivo. Se puede jugar 2 players. El juego está diseñado para idiomas inglés y español. En caso de no tener seleccionado como idioma ni ingles ni español, por defecto la aplicación se ejecutará en el idioma inglés. Al iniciar la aplicación se observará el nombre de la misma con un fondo similar a la marca de agua de este manual pero en color rojo y 4 botones(figura 4,5): o 2 players (opción para jugar 2 personas). o vs CPU (1 jugador vs la PC del dispositivo). o Créditos (información de los desarrolladores). o Exit (botón para salir de aplicación). Figura 5 Figura 4 82