• No se han encontrado resultados

Intercambio síncrono de información a través de un video juego en dispositivos móviles

N/A
N/A
Protected

Academic year: 2017

Share "Intercambio síncrono de información a través de un video juego en dispositivos móviles"

Copied!
129
0
0

Texto completo

(1)

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA

La Universidad Católica de Loja

ÁREA TÉCNICA

TÍTULO DE INGENIERO EN SISTEMAS INFORMÁTICOS Y

COMPUTACIÓN

Intercambio síncrono de información a través de un video juego en

dispositivos móviles.

TRABAJO DE TITULACIÓN

AUTOR

: Chalán Romero, Luis Claudio

Loaiza Rosas, Roberth Paúl

DIRECTOR

: Torres Tandazo, Rommel Vicente, PhD.

(2)

Esta versión digital, ha sido acreditada bajo la licencia Creative Commons 4.0, CC BY-NY-SA: Reconocimiento-No comercial-Compartir igual; la cual permite copiar, distribuir y comunicar públicamente la obra, mientras se reconozca la autoría original, no se utilice con fines comerciales y se permiten obras derivadas, siempre que mantenga la misma licencia al ser divulgada. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.es

(3)

APROBACIÓN DEL DIRECTOR DEL TRABAJO DE TITULACIÓN

Ph.D.

Rommel Vicente Torres Tandazo.

DOCENTE DE LA TITULACIÓN

De mi consideración:

El presente trabajo de titulación denominado: “Intercambio síncrono de información a través de un video juego en dispositivos móviles”. realizado por Luis Claudio Chalán

Romero - Roberth Paúl Loaiza Rosas, ha sido orientado y revisado durante su ejecución, por cuanto se aprueba la presentación del mismo.

Loja, Septiembre de 2016

f). . .

Rommel Vicente Torres Tandazo, PhD

(4)

DECLARACIÓN DE AUTORÍA Y CESIÓN DE DERECHOS

Nosotros, Luis Claudio Chalán Romeroy Roberth Paúl Loaiza Rosas declaramos ser autores del presente trabajo de titulación “Intercambio síncrono de información a través de

un video juego en dispositivos móviles.”, de la Titulación de Ingeniero en Sistemas Informáticos y Computación, siendo Rommel Vicente Torres Tandazo director del

presente trabajo; y eximo expresamente a la Universidad Técnica Particular de Loja y a sus representantes legales de posibles reclamos o acciones legales. Además certifico que

las ideas, conceptos, procedimientos y resultados vertidos en el presente trabajo investigativo, son de mi exclusiva responsabilidad.

Adicionalmente declaro conocer y aceptar la disposición del Art. 88 del Estatuto Orgánico de la Universidad Técnica Particular de Loja que en su parte pertinente textualmente dice: “Forman parte del patrimonio de la Universidad la propiedad intelectual de

investigaciones, trabajos científicos o técnicos y tesis de grado que se realicen con el apoyo financiero, académico o institucional (operativo) de la Universidad”.

f)...

Luis Claudio Chalán Romero

C.I: 1104471170

f)...

Roberth Paúl Loaiza Rosas

(5)

DEDICATORIA

Luis Claudio Chalán Romero, dedico el presente Trabajo de Titulación realizado con mucho esfuerzo y dedicación, a Dios por darme vida, salud y fortaleza, guiándome en los

momentos de calma y angustia para cumplir con esta etapa de mi vida. A mis padres quienes son mi ejemplo a seguir de humildad, honestidad, perseverancia y amor, por

hacer de mi un hombre lleno de valores, principios y coraje para conseguir mis objetivos, a mi familia que siempre ha apoyado las decisiones y que de alguna manera me apoyado con un granito de arena para que esté sueño se haga realidad. Y a todas aquellas

personas que Dios las puso en mi camino con las que he compartido momentos felices siendo un sustento de amor, amistad y lealtad.

Roberth P. Loaiza Rosas, dedico el presente Trabajo de Titulación a Dios por regalarme la salud y la sabiduría para poder terminar mis estudios, a mis padres por que día a día

son ejemplo a seguir de perseverancia y superación, a toda mi familia por apoyarme y estar pendiente de mis triunfos y derrotas. Y Anita Cristina quien día a día es mi fuerza e

(6)

AGRADECIMIENTO

Luis Chalán y Roberth Loaiza agradecemos a los profesores y personal en general de la

Universidad Técnica Particular de Loja por compartir sus conocimientos y experiencias para nuestra formación profesional. A nuestro tribunal por su colaboración incondicional

(7)

ÍNDICE DE CONTENIDOS

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA ... i

DECLARACIÓN DE AUDITORÍA Y CESIÓN DE DERECHOS ... iii

DEDICATORIA ... iv

AGRADECIMIENTO ... v

INDICE DE CONTENIDOS ... vi

GLOSARIO DE TERMINOS

...

ix

RESUMEN

...

1

ABSTRACT

...

2

INTRODUCCIÓN

...

3

CAPITULO I

...

5

1. Contexto de la investigación

...

5

1.1 Introducción

...

6

1.2 Planteamiento del problema - Contexto ... 6

1.3 Justificación

...

7

1.4 Alcance

...

10

1.5 Objetivos

...

11

1.5.1 Objetivo general

...

11

1.5.2 Objetivo específico

...

11

CAPITULO II

...

12

2. Estado del arte

...

12

2.1 Redes

...

13

2.1.1 Análisis redes móviles

...

13

2.1.2 Definición Wi-Fi Direct

...

15

2.1.2.1 Características de Wi-Fi Direct

...

16

2.1.2.2 Beneficios de Wi-Fi Direct

...

17

2.1.2.3 Wi-Fi Direct con conexión a Internet

...

18

2.1.2.4 Wi-Fi Direct sin conexión a Internet

...

18

2.2 Dispositivos móviles

...

19

2.2.1 Definición de dispositivo móvil

...

19

(8)

2.3.1.1 Versiones del Sistema Operativo Android

...

23

2.3.1.2 Desarrollo de herramientas lúdicas en Android

...

24

2.4 Lenguajes de programación y herramientas de desarrollo de software

...

25

2.4.1 Características IDEs

...

25

2.4.2 IDEs móviles

...

25

2.4.3 IDE Juegos móviles

...

26

2.4.3.1 Integración del marco de desarrollo AndEngine

...

27

2.5 Metodología de desarrollo para proyectos de software

...

29

2.5.1 Metodología XP (Programación Extrema)

...

30

2.5.1.1 Definición

...

31

2.5.1.2 Actividades del ciclo XP

...

31

2.5.1.3 Planeación

...

31

2.5.1.4 Diseño

...

33

2.5.1.5 Codificación

...

34

2.5.1.6 Pruebas

...

35

CAPITULO III

...

37

3. Diseño de la aplicación Math

...

37

3.1 Introducción

...

38

3.2 Situación actual

...

38

3.3 Propuesta de solución

...

39

3.4 Herramientas de desarrollo

...

39

3.5 Iteraciones para el desarrollo de las historias de usuario

...

40

3.6 Definición del alcance

...

41

3.6.1 Interfaz principal (Tutor)

...

41

3.6.2 Interfaz principal (Estudiante)

...

43

3.6.3 Resultados esperados

...

44

CAPITULO IV

...

45

4. Desarrollo de Math

...

45

4.1 Introducción

...

46

4.2 Planeación

...

46

4.2.1 Historia de usuario (Escenario tutor)

...

47

4.2.2 Historia de usuario (Escenario estudiante)

...

52

4.3 Diseño

...

54

(9)

4.3.2 Modelo Entidad - Relación

...

55

4.3.3 Diccionario de datos

...

55

4.3.4 Diagrama de solución

...

56

4.3.5 Diagrama de UML

...

56

4.3.5.1 Diagrama de clases

... 57

4.3.5.2 Diagrama de componentes

... 57

4.4 Codificación

...

58

4.4.1 Aplicación móvil

...

58

4.5 Lenguaje de programación

...

59

4.6 Diseño y modelado de interfaces

...

59

4.6.1 Pruebas e implementación

...

59

4.6.1.1 Pruebas unitarias

...

62

4.6.1.2 Pruebas de calidad de software

...

62

4.6.1.3 Pruebas de campo

...

62

4.6.2 Implementación de Math

...

63

CONCLUSIONES

...

64

RECOMENDACIONES

...

65

BIBLIOGRAFÍA

...

66

ANEXOS

...

71

ANEXOS A

...

72

ANEXOS B

...

76

ANEXOS C

...

81

ANEXOS D

...

87

ANEXOS E

...

89

ANEXOS F

...

91

ANEXOS G

...

103

ANEXOS H

...

105

ANEXOS I

...

107

ANEXOS J

...

110

(10)

GLOSARIO DE TERMINOS

HTML: Lenguaje de marcas de hipertexto (HyperText Markup Language), hace referencia

al lenguaje de marcado para la elaboración de páginas web, facilitando publicar información, estableciendo como un idioma, o una especie de lengua materna para que

todos los equipos puedan entender, creando la premisa de que todo tipo de dispositivos deben ser capaces de utilizar la información en la Web: PCs, teléfonos móviles,

dispositivos de mano, dispositivos para el discurso de salida y entrada, ordenadores con ancho de banda alto o bajo, etc. (Raggett, Le Hors, Jacobs, & others, 1999).

WWW: Red informática mundial (World Wide Web), es un medio de comunicación de texto, gráficos y otros objetos multimedia a través de Internet, denominada red de

recursos de información. La web se basa en mecanismos (URI, HTTP, HTML) para hacer que estos recursos fácilmente estén disponibles en la mayor parte del público potencial (Raggett et al., 1999).

HTTP: Protocolo de transferencia de hipertexto (HyperText Transfer Protocol) que permite la transferencia de información en la World Wide Web. Es un protocolo a nivel de

aplicación para distribuir información, colaboración, sistemas hipermedia, más allá de su uso para hipertexto puede ser usado para muchas tareas, tales como servidores y

sistemas distribuidos de gestión de objetos, a través de la extensión de sus métodos de petición, códigos de error y las cabeceras (Fielding et al., 1999).

TT: Sigla usada para acortar el nombre del “Trabajo de Titulación”

SO: (Sistema Operativo) Programa o conjunto de programas de un sistema informático

que es el encargado de gestionar los recursos del hardware.

IDE: Un entorno de desarrollo integrado (IDE) es una suite de software que consolida las

herramientas básicas de desarrolladores que necesitan para escribir el software de prueba. Por lo general, un IDE contiene un editor de código, un compilador o intérprete y un depurador, que el desarrollador tiene acceso a través de una única interfaz gráfica de

usuario ( GUI ). (Furey & Pottjewijd, 2015).

ÁBACO: Instrumento que facilita realizar las operaciones aritméticas de adición,

(11)

colocadas paralelamente y cada cuerda contenía diez bolas que se puedan desplazar a lo largo de la cuerda.

SDK: Kit de Desarrollo de Software que contienen plataformas y otros componentes que necesitas para desarrollar aplicaciones Android (Android, 2008).

CRUD: Se refiere a las cuatro funciones básicas de almacenamiento persistente (OracleFAQ, 2010):

• Crear (Create) • Recuperar (Retrieve) • Actualizar (Update) • Eliminar (Delete)

UML: El Lenguaje de Modelamiento Unificado (Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que

comprende el desarrollo de software. UML entrega una forma de modelar cosas conceptuales como lo son procesos de negocio y funciones de sistema, además de cosas

(12)

RESUMEN

En el presente TT se muestra el desarrollo de una herramienta lúdica para apoyar el aprendizaje de matemática en la educación básica. La herramienta utiliza tecnologías de

información específicamente dispositivos móviles. Está herramienta considera tres aspectos: 1) Una plataforma de comunicación que permite sincronizar las tareas entre

tutor y estudiante. 2) Una interfaz gráfica amigable. 3) El desarrollo de operaciones matemáticas de suma y resta en los dispositivos.

La herramienta permite la interacción de un tutor con el estudiante a través de dispositivos

móviles, un dispositivo es asignado al tutor que es quien propone las operaciones

matemáticas y el estudiante utiliza otro dispositivo para resolverlas. La herramienta ha sido desarrollada para dispositivos móviles con sistema operativo Android. Debido a que

los requerimientos se fueron depurando en el desarrollo y pruebas de la herramienta, fue necesario el uso de la metodología ágil Programación Extrema XP. Para el intercambio de datos se la realizó a través de Wi-Fi Direct para evitar la dependencia de puntos de

acceso externos. La interfaz gráfica y animación fue desarrollada usando el marco de desarrollo AndEngine.

(13)

ABSTRACT

In the present TT is shown the development of a ludic tool to support the mathematic

learning in the basic education. The tool uses information technologies specifically mobile devices. The mentioned tool considers three aspects: 1) A platform of communication that

allows tasks synchronization between tutor and student 2) A friendly graphical interface. 3) The development of mathematical operations as addition and subtraction on devices.

The tool allow the interaction between tutor and student through mobile devices; a mobile

device is assigned to the tutor who is responsible for proposing the mathematical operations, while the student uses other mobile device to resolve them. The tool has been

developed for mobile devices whose operating system is Android. Due to the fact that the requirements were depurated throughout the development and testing of the tool, it was

necessary the use of an agile methodology Extreme Programming XP. The synchronization between devices for data interchange was done by the use of Wi-Fi Direct

to avoid the dependence of external access points. The graphical interface and animation were developed using the development framework AndEngine.

(14)

INTRODUCCIÓN

“El aprendizaje más eficaz y efectivo no es el que se obtiene a través del juego

por el juego, No se aprende jugando exactamente, sino jugando con lo que se

aprende” Avilio de Gregorio.

El presente TT muestra el desarrollo de una herramienta lúdica que demuestra el

intercambio síncrono entre dispositivos móviles. La herramienta lúdica y la tecnología móvil apoya el aprendizaje en los niños en el área de la educación básica

específicamente matemática. Se considera pertinente el nivel de enseñanza establecido en las instituciones educativas de los primeros años de educación básica (primer,

segundo y tercero) de nuestro país. Además la herramienta enfatiza la interacción entre un tutor y el estudiante, donde el tutor será quien deba guiar al estudiante formulando las operaciones para el aprendizaje. El estudiante a través de la herramienta podrá

interactuar con un ábaco virtual para resolver las operaciones matemáticas de adición y la sustracción.

Una característica principal de la herramienta es que está enfocada dentro de la educación básica para facilitar el aprendizaje del alumno a través de la interacción que

existe entre los participantes y la facilidad de manejo de la herramienta. La calidad de las interfaces y la animación también son características relevantes para que el estudiante se vea atraído y pueda resolver las operaciones. La adición y la sustracción son las

operaciones que se pueden realizar con la herramienta. De igual forma se considera que

la adición y la sustracción son la base para resolver operaciones complejas en los años superiores y por eso es necesario que el estudiante pueda aprender rápido, fácil y que

mejor manera de hacerlo disfrutando y aprendiendo.

Para realizar la herramienta lúdica se consideró el uso de dispositivos móviles. Estos dispositivos como los teléfonos inteligentes dependen de un sistema operativo para su

funcionamiento como por ejemplo Android.

Android es un sistema operativo con mayor número de aplicativos descargados en la

(15)

la herramienta lúdica se desarrolle en Android Studio, con lenguaje de programación nativo de Java.

El desarrollo de la herramienta se lo realizó bajo la metodología de Programación Extrema XP; la cual es una metodología ágil que se acopla a las necesidades del equipo de

desarrollo que tiene como principal objetivo aumentar la productividad a la hora de desarrollar un proyecto software. Está metodología da prioridad a los trabajos que dan un

(16)

CAPÍTULO I

(17)

1.1 Introducción.

El presente apartado tiene como principal objetivo describir la problemática del TT, y

establecer el alcance que se debe cumplir, basándose en los objetivos que sé propone en el TT, y que demuestre la importancia que puede tener una herramienta lúdica dentro de la educación básica.

La finalidad de cumplir con los objetivos y requerimientos del TT para obtener una herramienta lúdica con normas de calidad de software para que sea un proyecto que

participe de futuras versiones y continúe aportando en la educación de los niños.

1.2 Planteamiento del problema – Contexto.

Este trabajo de titulación se enfoca en el desarrollo de una herramienta lúdica en red

para dispositivos móviles, para ello, los dispositivos móviles deben estar sincronizados y cumplir con ciertos requerimientos de software y hardware tales como: Teléfonos Inteligentes con sistema operativo Android a partir de la versión 4.4,

y conexión Wi-Fi Direct. Para cumplir con dichos requerimientos se analizaron tiempos como los componentes de software y hardware que permiten que las

interfaces de comunicación del dispositivo móvil operen correctamente.

Es parte del TT desarrollar una herramienta lúdica, en la cual sea necesaria como

infraestructura de red solo los recursos de comunicación (interfaces) disponibles en el dispositivo como: la conexión inalámbrica Wi-Fi Direct. Por ejemplo los dispositivos sincronizados con Wi-Fi Direct deben comunicarse directamente, un dispositivo móvil

es el cliente y el otro dispositivo el punto de acceso.

La herramienta lúdica se orienta en el área de la educación básica, para crear o aprovechar la interacción que puede existir entre tutor y estudiante, para facilitar a través de la herramienta el poder identificar la dificultad que tiene el niño para

resolver las operaciones matemáticas como adición o sustracción, o la facilidad con la que puede resolver.

Lo que cambia con la ayuda de la tecnología es el conjunto de problemas que se pueden plantear y la forma en que se pueden presentar dichas operaciones. Algunos

(18)

operaciones, los niños deben experimentar con objetos matemáticos y disfrutar al momento de realizar la operación. Dichos niños necesitan de representaciones

visuales como (diagramas, figuras geométricas o imágenes en movimiento), para poder responder con mayor facilidad dicha operación.

Piaget sostiene que la compresión de la inclusión constituye un requisito esencial para comprender la adición y la sustracción. Los niños entienden las palabras “uno y

dos son tres” pero no podrán entender lo que significa hasta que lo puedan comprender, como el conjunto “tres” puede dividirse en los subconjuntos “uno y dos”.

Piaget afirma que la comprensión de la inclusión en clase, supone un requisito indispensable para operar con éxito la adición y la sustracción. El uso del ábaco resuelve en parte el problema de la inclusión porque se puede entender la forma de

cómo resolver cada operación gráficamente facilitando la comprensión en el alumno.

La finalidad es que los niños puedan resolver problemas y aplicar los conceptos y habilidades matemáticas para desenvolverse en la vida cotidiana e incrementar la interacción con sus padres a través de la enseñanza en la herramienta.

1.3 Justificación.

El dispositivo móvil hoy en día es un dispositivo multifuncional que permite registrar información importante para el usuario como: contactos, ubicación, pronóstico del tiempo, ofertas, publicaciones, etc., También, contiene aplicativos que hacen del

teléfono más utilizable con la interacción con redes sociales, registro de mensajes, uso de aplicaciones, reproducción de sonidos e imágenes, etc. Dichas aplicaciones

son usadas de forma propia por el dispositivo.

Es así que con el fin de que la tecnología móvil sea una ayuda en el área de

educación básica, se desarrolla una herramienta lúdica que facilita el aprendizaje para resolver operaciones matemáticas de adición y sustracción, y que permite

interactuar con un tutor a través de otro dispositivo con el que este sincronizado.

Para la justificación del alcance se realizó una infografía (ver figura 1) del proceso de

investigación donde se nombra cada investigación realizada en el TT.

(19)

1. Herramientas.- Se investiga cada herramienta disponible para el desarrollo de la herramienta lúdica y que se adapte a las necesidades del equipo de trabajo.

2. Tipo de Conexión.- Se analiza la forma apropiada para realizar el intercambio de información síncrona entre los dispositivos móviles, comparando cada una de las

interfaces de comunicación que tienen los dispositivos como se explican en la sección 2.1.1.

3. Wi-Fi Direct.- Realizar una investigación integra sobre este tipo de conexión para implementar en la herramienta lúdica.

4. Conexión móvil.- Establecer la conexión entre los dispositivos.

5. Aplicación del juego.- Desarrollar la lógica y escenarios posibles de la

(20)

Figura 1: Infografía del proceso de investigación.

(21)

1.4 Alcance.

Investigación

Ø Investigar las comunicaciones entre dispositivos móviles, que sea independiente a una infraestructura de red externa.

Ø Investigar y determinar el marco de desarrollo para establecer la lógica de la herramienta lúdica, considerando la historia de desarrollo de estos software como una breve reseña del alcance que han tenido en la actualidad.

Ø Establecer las buenas prácticas y pasos para el desarrollo de herramientas orientado a dispositivos móviles.

Desarrollo

Ø Definir el mejor IDE de desarrollo para programar la lógica de la herramienta lúdica como las diferentes interfaces que tendrá el aplicativo.

Ø Definir la metodología ágil que mejor se acople para el desarrollo de la herramienta.

Ø Analizar la estructura de conexión síncrona mediante Wi-Fi Direct de los dispositivos móviles.

Ø Desarrollar la lógica de sincronización entre los dispositivos móviles. (Teléfonos inteligentes)

Ø Establecer la complejidad de las operaciones aritméticas de la adición y sustracción aplicada por niveles:

• Nivel inicial, unidades - dos dígitos (la adición no puede ser mayor a nueve).

• Nivel básico, unidades y decenas, tres dígitos (la adición no puede ser mayor a nueve tanto en unidades como en decenas, en la sustracción no puede pedir decenas para poder operar en las unidades).

(22)

1.5 Objetivos.

1.5.1 Objetivo general.

Ø Diseñar una herramienta lúdica que permita la interacción en tiempo real entre los dos dispositivos móviles, con el objeto de diseñar interfaces que permita a los usuarios la sincronización en los dispositivos móviles con Sistema

Operativo Android.

1.5.2 Objetivos específicos.

Ø Estudiar y seleccionar las formas en que las interfaces de comunicación de los

dispositivos móviles trabajen.

Ø Familiarizarse con el IDE de programación Android Studio para dispositivos móviles.

(23)

CAPÍTULO II

(24)

2.1 Redes.

El presente capítulo se enfoca en las redes de comunicación, señalando la

importancia que tiene dentro del TT.

Entre las redes más destacadas para elaborar una conexión síncrona entre

dispositivos móviles está la comunicación inalámbrica, como Wi-Fi, Wi-Fi Direct y Bluetooth. Se considera pertinente conocer a fondo cada una de estas tecnologías,

tanto similitudes como diferencias para elegir la más adecuada.

2.1.1 Análisis redes móviles.

Los dispositivos al tener diferentes tipos de conexiones que permite establecer una comunicación entre dos o más equipos con adaptadores inalámbricos a una red

conocida con el nombre de "ad hoc", es decir, una conexión de equipo a equipo, sin necesidad de usar un punto de acceso.

En caso de que uno de los equipos de la red ad hoc esté conectado a Internet, éste

puede compartir su conexión con los demás equipos de esa red como en una red local tradicional. Las características de los dispositivos inteligentes, cámaras,

acelerómetro, GPS, pantalla táctil, interfaz gráfica e interfaz inalámbrica, pueden generar un intercambio colectivo de información, en una topología completa y

detallada (Torres Tandazo, 2011).

Las redes móviles son diseñadas para que un dispositivo móvil establezca un intercambio de datos de tal forma que un usuario se pueda trasladar de un lugar a

otro sin perder la conexión.

La tabla 1 muestra diferentes tipos de conexión y sus principales características.

Ø Redes infrarrojas (IR): Este tipo de conexión permite la comunicación entre dos nodos, utilizando leds infrarrojos. Son emisores/receptores de las ondas infrarrojas entre ambos dispositivos, cada uno de estos dispositivos necesita del otro para realizar esta comunicación (Jiménez Chavolla, López Ixtla, Martinez Perez, &

Mancilla, 2015).

(25)

de radiación del emisor y receptor tienen que estar lo más cerca posible y su alineación debe ser correcta, adicionalmente no debe existir ningún tipo de

interferencia ya que de lo contrario la conexión se perdería.

Ø Bluetooth: es una especificación para redes inalámbricas de área personal (WPAN) que hace posible la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia. Los principales objetivos del

Bluetooth son facilitar las comunicaciones entre dispositivos móviles y fijos, eliminar cables y conectores entre éstos y que sea posible crear pequeñas redes

inalámbricas así como facilitar la sincronización de datos entre dispositivos (Lee, Su, & Shen, 2007).

Ø Conexión de datos móviles: conexión que el teléfono usa para enviar y recibir datos por antena a través de la red celular del operador, es decir, el servicio que brinda las redes telefónicas para realizar las llamadas desde los celulares a

cualquier lugar donde tenga cobertura (Bilib, 2012).

Ø Conexión Wi-Fi: Wi-fi, es sin duda un recurso esencial que forma parte del hardware en un teléfono. Eventualmente surgen nuevas necesidades en los usuarios, ya que Wi-Fi necesita estar conectado a Internet para enviar y recibir

datos. Wi-Fi Direct es una nueva tecnología que está disponible en diferentes equipos electrónicos como: móviles, Teléfonos Inteligentes, Tablet y Smart TV (Mao, Wang, & Jiang, 2015). A diferencia de Wi-Fi, Wi-Fi Direct no necesita de una

conexión a un punto de acceso para enviar datos a otro dispositivo con la misma

tecnología y red, este tipo de tecnología es la que se usa en el desarrollo de la herramienta lúdica,

Tabla 1: Comparativa de diferentes tipos de conexión móvil

Nombre Comunicación Dependencia Conexión

Redes

infrarrojas (IR)

Comunicación entre dos nodos utilizando leds infrarrojos.

Necesita de otro dispositivo para la comunicación

Punto a punto, el emisor y receptor

con ondas

(26)

Bluetooth

Transmisión de voz y datos entre diferentes

dispositivos

mediante un enlace por radiofrecuencia

Necesita de otro dispositivo para la comunicación

Redes

inalámbricas de área personal (WPAN), en el cual no se use cables y conectores, así facilita la sincronización entre dispositivos.

Conexión de datos móviles

Sirve para enviar y recibir datos por antena a través de la red celular.

Necesita tener habilitada la conexión de datos que provee la

empresa de

telecomunicación.

Redes telefónicas con las que se realiza llamadas desde nuestros celulares a cualquier lugar donde tenga cobertura.

Conexión Wi-Fi

Sirve para enviar y recibir datos a través

de una red

inalámbrica a la que se puede conectar

cuando esté

disponible.

Necesita de una contraseña para conectarse.

Se conecta a Internet de forma inalámbrica a través de un router por medio de un dispositivo.

Wi-Fi Direct

Soportan una tecnología que permite a los dispositivos con conexión Wi-Fi.

Pueden conectarse entre sí sin unirse

a una red

doméstica, de oficina o punto de acceso tradicional

Elaboración : Autores

2.1.2 Definición Wi-Fi Direct.

Wi-Fi CERTIFIED Wi-Fi Direct ® es una marca de certificación para los dispositivos que soportan una tecnología que permite a los dispositivos con conexión Wi-Fi Direct

poder conectarse directamente figura 2, por lo que es simple y conveniente para hacer tareas como imprimir, compartir, sincronizar y visualizar en pantalla. Los

productos que llevan la marca de certificación Wi-Fi Direct pueden conectarse entre sí sin unirse a una red doméstica, de oficina o punto de acceso tradicional (Alliance,

(27)

Figura 2: Conectividad entre dispositivos móviles con Wi-Fi Direct.

Fuente : Autores

2.1.2.1 Características de Wi-Fi Direct.

La introducción de Wi-Fi Direct en los dispositivos extiende la utilidad de Wi-Fi en las necesidades del contenido portátil y facilita la portabilidad de los contenidos y

aplicaciones a través de todos los dispositivos que utilizan una sola tecnología, lo que permite a los usuarios acceder a datos fácilmente.

Wi-Fi Direct se basa en los puntos fuertes de Wi-Fi tradicionales como (Alliance,

2010):

Ø Rendimiento.

Ø Seguridad.

Ø Facilidad de uso

Ø y la ubicuidad.

Añade características que optimizan el consumo como (Alliance, 2015):

(28)

Ø Los usuarios pueden conectarse directamente a los dispositivos. Esto permite por ejemplo, que un dispositivo móvil tal como un teléfono móvil se conecte

directamente a un ordenador portátil, sin importar si está conectado a una red de infraestructura disponible.

Los dispositivos certificados por Wi-Fi Direct extienden el alcance de la tecnología inalámbrica para incluir las conexiones simples y directas que muchos usuarios

pueden lograr utilizando cables.

2.1.2.2 Beneficios de Wi-Fi Direct.

La movilidad y portabilidad: Dispositivos certificados por Wi-Fi Direct se conectan en cualquier momento y en cualquier lugar.

Utilidad inmediata: Los usuarios tienen la capacidad de crear conexiones con cualquier dispositivo Wi-Fi Direct.

Facilidad de uso: Dispositivos Wi-Fi Direct tienen características que permiten a los

usuarios identificar los dispositivos disponibles y servicios antes de establecer una conexión.

Conexiones seguras simples: Wi-Fi Protected Setup ™ hace que sea sencillo crear seguridad y protección de conexiones entre dispositivos. (Alliance, 2010).

Ø Es suficiente que un solo dispositivo envié la solicitud de conexión Wi-Fi Direct, para que el resto de dispositivos puedan establecer una conexión con dicho dispositivo, una ventaja de esta tecnología es que cualquier dispositivo

se puede conectar sin importar que tecnología tenga, el único requisito seria

que tenga conexión Wi-Fi Direct.

Ø Un dispositivo con Wi-Fi Direct tiene la facilidad de conectarse con varios dispositivos simultáneamente como impresoras, cámaras, Smart Tv, etc. Sin necesidad de router.

Wi-Fi Direct no es afectado por modificaciones del hardware, ya que está

(29)

proveedores de software pueden implementar dicha funcionalidad en distintos dispositivos a través de actualizaciones de software (Alliance, 2015).

2.1.2.3 Wi-Fi Direct con conexión a Internet.

Wi-Fi Direct sigue cumpliendo la funcionalidad de conectarse con otro dispositivo así

funcione con Internet, la diferencia es que la dirección IP del dispositivo será generada por el servidor DHCP de la red a la que está conectada. La conexión a

Internet seguirá funcionando de forma normal sin ser interrumpida por la conexión Wi-Fi Direct, en la figura 3 se representa la conexión con Internet.

Figura 3: Conexión Wi-Fi Direct con acceso a Internet

Fuente: Autores

2.1.2.4 Wi-Fi Direct sin conexión a Internet.

Como se indica en la figura 4, los dispositivos con certificación Wi-Fi Direct pueden formar conexiones con todos los dispositivos Wi-Fi Direct ™(Alliance, 2015).

Esta conexión sin duda alguna resulta de gran ayuda en la transferencia de datos, la

conexión de los dispositivos Wi-Fi Direct pueden ocurrir en cualquier lugar, en cualquier momento. El dispositivo con Wi-Fi Direct emite una señal a otros

dispositivos en el área que se puede hacer una conexión. Se puede ver los dispositivos disponibles y pedirles conectarse. En algunos casos, es posible que se

reciba una invitación para conectarse a otro dispositivo con Wi-Fi Direct, el usuario puede decidir si acepta la invitación o no. En muchos dispositivos la única acción

(30)

Una vez que se confirma una conexión el protocolo Wi-Fi hace una conexión segura para ayudar a proteger su comunicación. Esta conexión segura se completa con

seguridad WPA2 estándar de la industria (Alliance, 2010). Una vez que dos o más dispositivos con Wi-Fi Direct se conectan directamente, han formado una red Wi-Fi.

Figura 4: Conexión Wi-Fi Direct sin acceso a Internet

Fuente: Autores

2.2 Dispositivos móviles.

En la actualidad los usuarios utilizan sus equipos portátiles y sus dispositivos móviles para la mayoría de actividades como navegar en la red o revisar sus correos

electrónicos.

2.2.1 Definición de dispositivo móvil.

Un dispositivo móvil se puede definir como un aparato de tamaño pequeño, con capacidad de procesamiento, conexión permanente o intermitente a una red, con

memoria limitada, diseñado específicamente para una función. Pueden llevar a cabo otras funciones más generales. De acuerdo con esta definición existe multitud de dispositivos móviles, desde los reproductores de audio portátiles hasta los

navegadores GPS, pasando por los teléfonos móviles, PDAs o Tablet, PCs, entre otros (Alonso, Artime, Rodríguez, & Baniello, n.d.).

Los autores (Alonso et al., n.d.) del artículo “Dispositivos Móviles” lo clasifican al

(31)

Ø PDAs (Personal Digital Assintant): Un PDA, es una computadora de mano originalmente diseñada como una agenda electrónica con un sistema de

reconocimiento de escritura. Inicialmente estos dispositivos incluían aplicaciones relacionadas con su función como el de la agenda electrónica, con el pasar del

tiempo han evolucionado hasta los dispositivos actuales que ofertan muchas más aplicaciones multimedia. Las características del PDA moderno son pantalla touch,

conexión a un ordenador para su sincronización, ranura para tarjeta de memoria, y al menos Infrarrojo, Bluetooth o Wi-Fi.

Ø Teléfonos móviles: Es un dispositivo electrónico inalámbrico basado en las tecnologías de ondas de radio, que tiene la misma funcionalidad que cualquier

teléfono de línea fija. Su principal característica es su portabilidad, ya que realiza llamadas y no es dependiente de ningún terminal fijo y no requiere de ningún tipo de cableado para llevar a cabo la conexión a la red telefónica. Aunque su principal

función es la comunicación de voz, como el teléfono convencional, su rápido desarrollo ha incorporado funciones adicionales como mensajería (sms), agenda,

juegos, cámara fotográfica, agenda, acceso a Internet, reproducción de videos e incluso GPS y reproductor mp3. En un inicio los teléfonos móviles solo permitían

realizar llamadas de voz y enviar mensajes de texto. Con el avance de nuevas tecnologías se incluyeron nuevas aplicaciones como juegos, alarma, calculadora y acceso WAP (acceso a Internet mediante páginas web especialmente responsivas

para móviles).

Ø Teléfonos Inteligentes oSmartphones”: Un Teléfono Inteligente es un dispositivo electrónico que funciona como un teléfono móvil con características

similares a las de un ordenador personal. Es un elemento a medio camino entre un teléfono móvil clásico y una PDA ya que permite hacer llamadas y enviar mensajes de texto como un móvil convencional. Además incluye características cercanas a

las de un ordenador personal. La mayoría de teléfonos inteligentes tienen como característica importante, permitir la instalación de programas para incrementar el

procesamiento de datos y la conectividad. Los teléfonos inteligentes se pueden llegar a distinguir por muchas características, entre las que destacan las pantallas

(32)

algunos programas de navegación así como la habilidad de leer documentos en una gran variedad de formatos como PDF y Office. Estos dispositivos tienen una

ventaja importante sobre el uso de redes geográficamente distribuidas a nivel global por lo que los hace vulnerables a virus o ataques informáticos.

En la guía NISTIR 7100 del Instituto Nacional de Estándares de Tecnología (NIST) los autores (Ayers, Jansen, & Brothers, 2014) clasifica a los teléfonos móviles con

tecnología básica de comunicación de voz y SMS, mientras que los teléfonos avanzados ofrecen tecnología y servicios multimedia, por último, los teléfonos

inteligentes combinan las capacidades de un teléfono avanzado con la de un PDA, cuya característica de hardware se detalla en la Tabla 2.

Tabla 2: Características a nivel de hardware

Avanzado Inteligente

Procesador Velocidad Limitada (~52Mhz)

Velocidad superior (~1 GHz

dual-core)

Memoria Capacidad Limitada

(~5 MB) Capacidad superior (~128 GB)

Tamaño de pantalla Color , 4k – 260k (12-bit a 18-(12-bit)

De gran tamaño, color de 16.7 millones (~24-bit)

Ranuras para tarjetas MiniSD o XC MiniSDIO o XC

Cámara Foto Foto Panorámica, Video (HD).

Entrada de texto Teclado numérico, Teclado virtual

Pantalla táctil, reconocimiento de escritura, teclado incorporado

estilo QWERTY

Entrada de voz Ninguna Reconocimiento de voz (Marcación y control)

Interfaz celular Voz y datos limitados Voz y datos de alta velocidad

Wireless IrDA, Bluetooth Bluetooth, Wi-Fi and NFC

Batería Fijo /Desmontable, Li-Ion Polímero

Fijo/Desmontable, Recargable

Li-Ion Polímero.

(33)

Los teléfonos inteligentes cuentan en la actualidad con diferentes sistemas operativos como: Android, iOS, BlackBerry, Windows Phone, entre los más destacados. A pesar

de existir una amplia gama de SO, los autores del TT eligen trabajar en base al SO Android, donde se analiza de antemano las principales características y beneficios

que aporta este SO.

2.3 Android en los dispositivos móviles.

Android es un sistema operativo móvil basado en el kernel de Linux, con una interfaz de programación Java, diseñado para ser utilizado en dispositivos móviles como

teléfonos inteligentes, tabletas, Google TV y otros. Desarrollado por Open Handset Alliance la cual es liderada por Google.

Android permite programar aplicaciones en una variación de Java llamada Dalvik. El sistema operativo proporciona todas las interfaces necesarias para que puedan desarrollar para dispositivos móviles. Android admite aplicaciones que accedan a las

funciones del teléfono (GPS, llamadas, SMS, agenda, entre otras) de una forma muy fácil en un lenguaje de programación muy popular como es Java (Tapia, 2013).

Android es de código abierto, por lo que cualquiera puede hacer una copia y añadir características que consideren necesarias, no es un requisito que los cambios se

presenten a Google de hecho hay varias versiones desarrolladas por diferentes empresas para llegar a tener una mejor experiencia con el usuario final de Android (Herraiz Antón, 2012).

Según el artículo de Android indica que no hay dos dispositivos Android en que se

vean exactamente los mismos resultados (Herraiz Antón, 2012).

2.3.1 Sistema operativo Android.

Dentro de la guía de los autores (Sacristán & Fernández, 2012) de Programación en Android menciona las características que posee Android y a su vez su historia.

Android es un sistema operativo inicialmente diseñado para teléfonos móviles, en la

(34)

2.3.1.1 Versiones del sistema operativo Android.

Las versiones disponibles en la actualidad se las menciona en la Tabla 3, donde se

exponen las diferentes denominaciones de cada una de las versiones.

Tabla 3: Versiones del Sistema Operativo Android

Historial de versiones de Android

Versión CODENAME

1.0 Apple Pie

1.1 Banana Bread

1.5 Cupcake

1.6 Donut

2.0/2.1 Eclair

2.3.x Gingerbread

3.x Honeycomb

4.0.x Ice Cream Sandwich

4.1 Jelly Bean

4.2 Jelly Bean (Gummy Bear)

4.3 Jelly Bean (Michel)

4.4 KitKat (Doger)

5.0 Lollipop

6.0 Marshmallow

Fuente: (“Android - Historia,” 2015)

Elaboración: Autores

Para el desarrollo de la herramienta se considera que la herramienta debe poseer diferentes plugins y su kit de desarrollo (SDK), que contiene nuevas actualizaciones por parte del IDE de desarrollo. Para la compatibilidad de la herramienta con

versiones futuras de Android se establece desarrollar sobre la versión 4.4.0 en adelante, debido a que el marco de desarrollo de diseño 2D AndEngine no soporta

(35)

2.3.1.2 Desarrollo de herramientas lúdicas en Android.

Los juegos en los dispositivos móviles tuvieron su gran acogida desde el lanzamiento

del iPhone según menciona en la guía (Campíns Frau, 2012), un ejemplo claro es el famoso y conocido juego de Angry Birds, el cual está disponible para la mayoría de

plataformas móviles. (TICbeat, 2011) menciona que se tendrá alrededor de 182.700 millones de descargas de apps en el año 2015, por tal motivo este tipo de

aplicaciones son las más descargadas del mercado según datos publicados por (McQuilken, 2011) hasta abril. Los juegos de entretenimiento encabezan las listas de

las categorías de aplicaciones más descargadas en Android. En la plataforma de Android los juegos representan el 29% y en entretenimiento el 17% (McQuilken,

2011).

El juego es una actividad lúdica que permite desarrollar en el individuo una serie de potencialidades psicomotoras que están presentes en el niño durante el transcurso de

su vida, mientras que el entretenimiento es el uso del tiempo para realizar un descanso con diversión que implica participación activa pero de una manera

refrescante y divertida.

Figura 5: Categorías de aplicaciones más populares

(36)

El TT es desarrollado en Android Studio teniendo en cuenta que es software gratuito para desarrolladores estándar y permite publicar aplicaciones en Play Store, se debe

tener en cuenta que Play Store actualmente hace un cobro de 25 USD por una única vez con lo que se puede ser desarrollador que contribuya con aplicaciones.

2.4 Lenguajes de programación y herramientas de desarrollo de software.

Los IDE (Entorno de Desarrollo Integrado) son entornos de programación que han

sido denominados como un programa que contienen diferentes herramientas como un editor de código, un compilador, un depurador y a su vez un constructor de interfaz

gráfica. Para automatizar partes de las tareas que se deben realizar dentro del ciclo de desarrollo de la aplicación.

2.4.1 Características IDEs.

Los IDEs ofrecen un marco de desarrollo amigable haciendo al programador trabajar en varios lenguajes como C++, Python, Java, C#, Delphi, Visual Basic, etc.

Actualmente existe la posibilidad de que un IDE pueda trabajar con varios lenguajes de programación. Este es el caso de Netbeans, al que mediante el panel de

proyectos se puede crear ya sea POO (Programación Orientada a Objetos) o desarrollo Web como PHP-HTML.

2.4.2 IDEs móviles.

El software Android SDK incorpora herramientas básicas para desarrollar aplicaciones (apps) en Android que incluye funciones como conversor de código,

debugger, librerías, emulador, documentación y algunos ejemplos de códigos

(Tomas, 2015).

(Villegas, 2014a) menciona que los IDEs expuestos en la Tabla 4 con mayor

popularidad preferidos por los desarrolladores de aplicaciones móviles son:

Tabla 4: IDE(s) de desarrollo

IDE(s)

Eclipse: Entorno de desarrollo, de código abierto y gratuito, utiliza un patrón de

(37)

con una gran variedad de lenguajes de programación.

Android Studio: Entorno de desarrollo creado por Google para facilitar la tarea de

programación dentro de su sistema operativo. Hasta este momento toda la documentación oficial gira en torno a Eclipse como IDE recomendado por Google.

Netbeans: Es un IDE que de igual manera es de código abierto, gratuito, posee una

estructura modular para aumentar las características del entorno de desarrollo dependiendo de las necesidades que planteen los desarrolladores, permite de forma

rápida y fácil desarrollar aplicaciones de escritorio, móvil y web, usando tecnologías y lenguajes como HTML5, Javascript y CSS. Además nos proporciona un conjunto

de herramientas para PHP, C y C++.

IntelliJ IDEA: Entorno integrado de desarrollo usado y bastante recomendado para el desarrollo de apps en Android. Existen dos distribuciones disponibles en este IDE la

una es gratuita y de código abierto denominado IntelliJ IDEA Community Edition y la segunda de pago denominado IntelliJ IDEA Ultimate.

AIDE: Se trata de un IDE que permite programar y compilar proyectos directamente

en nuestro dispositivo móvil. Entre las características tenemos la posibilidad de seguir programando nuestros proyectos en los dispositivos como son Smartphone,

Tablets para poder emular directamente la aplicación desarrollada.

Fuente: (Villegas, 2014a) Elaboración: Autores

2.4.3 IDE juegos móviles.

Dentro de las recomendaciones que realiza el autor (Villegas, 2014b) sobre los IDEs más óptimos para el desarrollo de este tipo de herramienta lúdica, se elige Android Studio como el más apropiado para utilizar en el desarrollo del TT, además por ser

un entorno multiplataforma disponible para Windows, Linux y Mac, siendo un entorno de desarrollo que facilita la tarea de programar dentro del sistema operativo Android.

Es basado en el IDE IntelliJ IDEA Community Edition por lo tanto se puede afirmar que consta con las características antes mencionadas, a diferencia que este entorno

de desarrollo posee algunas otras características propias que ha incorporado Google.

(38)

Ø Sistema de construcción y ayudas para codificación: Sistema de construcción y empaquetamiento de proyectos Android, añadiendo una compatibilidad con

Maven (Apache Software Foundation., n.d.), usando el lenguaje específico de dominio basado en (Groovy, n.d.), permitiendo añadir servicios de integración

continuos. Este permite una edición fluida, refactorizando y mejorando el análisis del código.

Ø Pre-visualización y generación de recursos: Posibilidad de visualizar el recurso graficado en varios tipos de densidad y resolución. Añade un selector de color

que aparece tras indicar el código pulsando sobre él.

Ø Ayuda para el diseño y detección de errores: Diálogos que facilitan la generación

de recursos para distintas configuraciones. Cuenta con un depurador de código que facilita y ayuda en la labor de corrección de errores de forma automática. Por lo que permite mostrar errores de sintaxis para poder mejorar el código fuente.

Ø El sistema tiene una característica de análisis personalizada que les permite trabajar sobre áreas específicas de Android.

Ø El sistema comprueba y visualiza una serie de opciones para pasar como parámetro así de esta forma ayuda a evitar fallos mejorando el desarrollo de

nuevas aplicaciones.

Los IDEs de juegos para móvil necesitan de otros recursos para facilitar el desarrollo al programador como los marcos de desarrollo que son el complemento del IDE.

2.4.3.1 Integración del marco de desarrollo AndEngine.

AndEngine es un marco de desarrollo (Carretero, 2013), que usa OpenGL ES 2 para juegos en la plataforma Android. Se ha optado por usar AndEngine por sus

excelentes funcionalidades y la disponibilidad de ser un recurso libre y abierto.

La herramienta lúdica tendrá una estructura especial bajo el marco de desarrollo que trabaja bajo escenarios y no como una estructura XML, como normalmente lo trabaja

(39)

El proceso de integración AndEngine con Android Studio está disponible en el Anexo A.

La terminología usada en AndEngine es la siguiente:

BaseGameActivity: Es la raíz del juego, que contiene el motor y crea la vista donde

se va a dibujar los escenarios, solo existe un solo Engine por cada raíz.

Engine: Motor interno del juego el cual se encarga de ir dibujando en la pantalla

como también el actualizar los objetos en la escena, marco a marco.

EngineOptions: Para el manejo de resolución y orientación de escenarios

dependiendo del tamaño del dispositivo y la orientación.

IResolutionPolicy: La implementación de IResolutionPolicy Interface es parte del

EngineOptions. Abstrae la resolución del terminal cuando trabaja para una resolución en especial y AndEngine se encarga del acoplamiento de las gráficas. Si la herramienta lúdica se va a correr en un dispositivo con una pantalla de diferente

resolución, las librerías de OpenGL, escalaría la resolución más próxima a la de ese dispositivo, pero siempre manteniendo el IResolutionPolicy planteado por defecto.

Camera: Un objeto Camera define el rectángulo de la parte de la escena visible. Normalmente hay una cámara por escena. Hay subclases específicas que permiten

hacer zoom y mover la cámara suavemente, de esta forma, consiguen un efecto en el que la cámara sigue al personaje principal cuando se desplaza.

Scene: Esta clase, es el contenedor para todos los objetos que se van a dibujar en la

escena visibles o no en ese momento. Una escena puede tener capas (layers), para

poder ordenar los objetos, existen subclases como CameraScene/HUD/MenuScene que tienen comportamientos específicos.

Entity: Esta entidad, es un objeto que puede ser dibujado, como por ejemplo imágenes, texto, líneas, rectángulos y otras figuras más. La entidad tiene posición, rotación, zoom y color. Lo que visualizamos en la Scene hereda de Entity que se

(40)

ITextureRegion: Una ITextureRegion define un rectángulo en el que guarda en memoria la imagen, que probablemente será un archivo .png o .jpg.

BitmapTextureAtlas: Contenedor para ITextureRegion´s, no es obligatorio su uso ya que su implementación genera complejidad al momento de programar, pero mejora el

rendimiento, lo que hace este rectángulo es permitir encajar diferentes imágenes permitiendo así al motor cargar todas las imágenes de una sola vez.

IUpdateHandler: Objeto que puede ser implementado bien al motor del juego o a la escena. Cualquiera de los dos casos su función es ejecutarse cada vez que se

cambie de marco, un fragmento de código por defecto del programador.

2.5 Metodología de desarrollo para proyectos de software.

Se realiza una comparativa de las diferentes metodologías de desarrollo ágil basados en (Letelier & Penadés, 2006) Tabla 5, donde la Media Total representa la agilidad de cada metodología a mayor cantidad mayor agilidad está comparativa se enfoca en 3

parámetros:

Ø Vista del sistema algo cambiante: Valoración considerando la metodología que más se apega a todo el desarrollo del proyecto.

Ø Colaboración: Valoración basada en el aporte de los integrantes que conforma el equipo de desarrollo.

Ø Características de la propia metodología (CM): Valoración en función de cada una de las características que están sujetas a cada metodología ágil como la

simplicidad, excelencia técnica, resultados, adaptabilidad y prácticas de

(41)

Tabla 5: Comparativa Metodologías Ágiles

Fuente: (Letelier & Penadés, 2006)

El análisis en la Tabla 5 determina que XP y ASD (Desarrollo Adaptable de Software) son las metodologías con el resultado más alto. Sin embargo, XP tiene mejores

características y procesos (Echeverry Toón & Delgado Carmona, 2007) los cuales se deben practicar durante el tiempo de desarrollo que dure el proyecto. La principal

característica es ser susceptible a modificaciones durante el periodo de desarrollo. Además de poder mantener una colaboración con todos los miembros del equipo de desarrollo. Para el TT es necesario la implementación de una metodología que sea

adaptable a los diferentes cambios, permitiendo tener una buena relación de comunicación entre programador y los interesados. Por tal motivo la metodología ágil

de desarrollo de software XP (Programación extrema), será usada para el desarrollo del TT.

2.5.1 Metodología XP (Programación Extrema).

La metodología ágil XP se basa en realimentar al cliente continuamente y al equipo

de desarrollo, en una comunicación fluida entre todos los interesados. Es usada especialmente en proyectos que necesitan soluciones flexibles para cambios en

(42)

2.5.1.1 Definición.

El nombre fue elegido por Kent Beck (Beck, 2000), debido a que el enfoque se lleva a

niveles “extremos”, como el desarrollo iterativo; en el libro de Ingeniería de Software (Sommerville, 2005) lo define como “el enfoque de desarrollo utilizando buenas

prácticas reconocidas, como el desarrollo iterativo y la participación del cliente en niveles extremos” (p.364).

2.5.1.2 Actividades del ciclo XP.

La Programación Extrema abarca un conjunto de reglas y prácticas que ocurren en el

contexto de cuatro actividades del marco de trabajo: planeación, diseño, codificación y pruebas (Calabria & Píriz, 2005). En la figura 5 se observa las actividades y tareas

que respectan a cada actividad del marco de trabajo.

Figura 5: Proceso de la Programación Extrema (Murillo Montesdeoca, 2015).

Fuente: (Calabria & Píriz, 2005) 2.5.1.3 Planeación.

La planeación comienza con la creación de las historias de usuario, poniendo en

(43)

v Historias de usuario.

Técnica usada para especificar los requisitos del software, describen las

características ya sean requisitos funcionales o no funcionales y funcionalidades requeridas para el software que se construirá. Los integrantes del equipo de

desarrollo evalúan las historias de usuario las cuales le asignan un costo que se mide en semanas de desarrollo, si las historias tienen mucha carga y tienen más de tres

semanas de desarrollo, piden al interesado reducirla en historias. Son muy dinámicas y flexibles las cuales permiten reemplazarse por otras más específicas o generales,

añadirse nuevas o ser modificadas (Calabria & Píriz, 2005).

Para colocar la información en las historias de usuario, se hace uso de plantillas ya

elaboradas como por ejemplo la Tabla 6, es la más conocida por desarrolladores.

Tabla 6. Formato Historia de Usuario.

Historia de Usuario

Número: Nombre Historia de Usuario

Modificación (o extensión) de Historia de Usuario (Nro. y Nombre):

Usuario: Quien la genera o usa Iteración Asignada:

Prioridad en Negocio:

Alta/Media/Baja

Puntos Estimados: Semanas de desarrollo

Riesgo en desarrollo:

Alta/Media/Baja

Programador Responsable:

Persona que se encargara de

desarrollar la historia de usuario

Descripción: Descripción de la tarea o proceso que da lugar a esta historia

de usuario

Observación:

(44)

v Valores.

La Programación Extrema básicamente no es un conjunto de reglas a seguir sino un

conjunto de valores y principios como son: la comunicación, la sencillez, la realimentación y la valentía, asumiendo la responsabilidad de hacer un trabajo de

calidad (Murillo Montesdeoca, 2015).

v Criterios de pruebas de aceptación.

Los criterios de pruebas de aceptación se los realiza basándose en las historias de usuario. El cliente aclarará los escenarios para poder poner a prueba la historia de

usuario, validando si la implementación es correcta y garantizando la funcionalidad del requisito planteado (Wells, 2013).

v Plan de iteración.

Es una planificación donde los desarrolladores y clientes establecen de cuanto serán los tiempos, dividendo el desarrollo de una a tres semanas de duración, ideales para

la implementación en los tiempos de las historias de usuario, con una visión en la prioridad con la que serán implementadas cada versión del aplicativo (Wells, 2013).

2.5.1.4 Diseño.

Diseño de aquellas historias de usuario que el cliente ha seleccionado para la

iteración actual. Por un lado se establece que no es posible tener un diseño completo del sistema, sin errores desde el principio y segundo es que debido a los cambios del proyecto dentro de los requisitos, el hacer un diseño muy extenso en las fases

iniciales del proyecto para luego tener que modificarlo es un desperdicio de tiempo

(Echeverry Tobón & Delgado Carmona, 2007).

v Diseño simple

Una de las partes más importantes es la simplicidad en todos los aspectos, donde se establece que un diseño sencillo se logra rápido y se puede llegar a implementar en menos tiempo, la idea es que se pueda diseñar lo más sencillo pero cumpliendo los

(45)

v Tarjetas CRC

El uso de la tarjeta CRC (Clase, Responsabilidad, Colaboración), tiene la principal

funcionalidad de ayudar a dejar el pensamiento procedimental para incorporar un enfoque orientado a objetos (Echeverry Tobón & Delgado Carmona, 2007). Cada

tarjeta representa una clase usando el formato que se muestra en la Tabla 7.

Tabla 7. Tarjetas CRC

Nombre de la clase:

Responsabilidades Colaboradores

Fuente: (Echeverry Tobón & Delgado Carmona, 2007) Elaboración: Autores

v Soluciones en punto

Crear soluciones puntuales (Spike Solution), pequeña aplicación la cual intenta explorar el problema y propone una solución potencial al enfrentar a requerimientos

de los clientes que generan problemas desde el punto de vista del diseño o la implementación (Echeverry Tobón & Delgado Carmona, 2007).

v Prototipos

Técnica la cual se puede obtener una visión preliminar del futuro sistema que se implementará. Un prototipo permite ver la reacción del cliente llegando a determinar

cierto tipo de sugerencias o posibles cambios de manera temprana antes de empezar

con la codificación del aplicativo.

2.5.1.5 Codificación.

Actividad más importante y de la cual es inevitable prescindir que sin está no existiera

aplicativo funcional. Por lo tanto, se necesita codificar y plasmar los requerimientos a través del código. Para el presente desarrollo la programación extrema propone una

(46)

v Programación en parejas

El trabajar en pareja se obtiene un diseño de mejor calidad con un código más

organizado, con menos errores. Tiene una ventaja importante la cual es contar con un compañero que ayuda a solucionar los inconvenientes en tiempo de codificación.

Mientras un integrante del equipo se preocupa del método que se está escribiendo el otro se ocupa de cómo encaja este en el resto de la clase.

Cuando los programadores terminan su trabajo éste debe ser integrado, en algunas ocasiones está tarea se encarga directamente el equipo de integración. Realizar la

estrategia de integración continua, apoya en gran parte a evitar algunos problemas como la compatibilidad de interfaces, ayudando a mitigar errores desde un principio

(Echeverry Tobón & Delgado Carmona, 2007).

Cabe resaltar que para el presente TT se aplicara está metodología ágil con una programación en parejas ya que existen dos personas involucradas en este tema.

Respecto a la plataforma de desarrollo a utilizar será Android Studio más detalle en la sección 2.4.2.

2.5.1.6 Pruebas.

Las pruebas cuando están bien implementadas no habrá temor de modificar el código

del otro programador. Las pruebas muestran los errores y de esta manera permite corregirlos (Echeverry Tobón & Delgado Carmona, 2007). Existen diferentes tipos de pruebas:

v Pruebas de aceptación

Llamadas también pruebas funcionales son supervisadas por el cliente basándose principalmente por los requerimientos tomados en las historias de usuario. En todas

(47)

v Pruebas unitarias

Las pruebas que se crean deben ser implementadas en un marco de trabajo que

permita ejecutarse de manera fácil y repetida. Este tipo de pruebas busca asegurar que el código funciona de acuerdo con las especificaciones, para ello se dividen en

módulos y se realiza la prueba a cada uno (Wells, 2013).

v

Pruebas de campo

Correr el aplicativo en el ambiente real planteado por los propios interesados para

encontrar errores y poder garantizar el producto contra las especificaciones originales.

El capítulo IV muestra un detalle del desarrollo de la aplicación usando la metodología ágil XP con sus respectivos entregables, los cuales serán:

ü Historias de usuario.

ü Tarjetas CRC.

(48)

CAPÍTULO III

DISEÑO DE LA APLICACIÓN“MATH”.

(49)

3.1 Introducción.

En este capítulo se muestra el contexto de la herramienta lúdica para matemática

básica que se ha denominado “Math”. Se ha determinado el estado actual de este tipo de herramientas dentro de la educación básica como la solución y la inclusión de

Math para la enseñanza de la matemática en la educación.

3.2 Situación actual.

La educación es fundamental para lograr el progreso de un país y para avanzar hacia una sociedad más libre y con oportunidades para cada persona. Sin embargo, a

pesar de los aumentos en cobertura del sector académico en los últimos años, la calidad de la educación que reciben los niños y jóvenes en el país no parece haber

algún tipo de mejora. De acuerdo con la última evaluación nacional a los estudiantes, la mayoría obtuvo calificaciones insuficientes para matemática, donde el 49% de los estudiantes culminan el colegio con conocimientos insuficientes (Adrián Briones

Rugel, André Rivas Requena, Eduardo Viteri Narváez, Mario Estrada Aguilar, & de Tesis, n.d.).

Para la enseñanza de la matemática la guía (Ministerio de Educación, 2016) menciona que dentro de la integración del concepto de número y de reconocer

situaciones del entorno requieren la formulación de expresiones matemáticas sencillas para resolverlas de forma individual o grupal, utilizando los algoritmos de adición, sustracción, multiplicación y división exacta.

Se han desarrollado metodologías de enseñanza donde la guía (Ministerio de

Educación, 2014) de primer año indica la matemática con, relación – número – cantidad, donde los niños asociación los números con cantidades y establecen una

cantidad correcta. La guía (El & Caribe, 2014) de segundo año menciona la resolución de adición y sustracción sin reagrupación, con números hasta la centena con un valor de 999 donde los resultados no supere a 9. La guía (Caribe, 2014) de

tercer año menciona la formulación y resolución de la adición con reagrupación con números de dos cifras en la resolución de problema, como aplica la misma

Figure

Figura 1: Infografía del proceso de investigación.  Fuente : Autores
Tabla 1: Comparativa de diferentes tipos de conexión móvil
Figura 2: Conectividad entre dispositivos móviles con Wi-Fi Direct. Fuente : Autores
Figura 3: Conexión Wi-Fi Direct con acceso a Internet  Fuente: Autores
+7

Referencias

Documento similar

 Se ha desarrollado una aplicación que permite gestionar emplazamientos creados por el usuario, representar un perfil junto con la primera zona de Fresnel en

Desarrollo de una aplicación de cálculo de mapas de visibilidad radioeléctricos para dispositivos móviles móvil con sistema operativo

Ilustración 11 - Clase para gestionar la comunicación con el servidor 31 Ilustración 12 - Clase para manejar los datos recibidos por parte del servidor 32 Ilustración 13 - Logotipo

Desarrollo de un sistema de telecontrol distribuido para la gestión de arquetas hidráulicas basado en dispositivos móviles y motes

h) Emplear herramientas de desarrollo, lenguajes y componentes visuales, siguiendo las especificaciones y verificando interactividad y usabilidad, para desarrollar

En este proyecto se crea una aplicación para móviles que trata de ser una versión simple y original de un videojuego para tabletas y smartphones con el sistema operativo Android,

Para dar solución al problema antes descrito se plantea como objetivo general: Desarrollar una aplicación para dispositivos móviles con sistema operativo Android, que

Para dar cumplimiento al problema planteado se establece como objetivo general: Desarrollar una aplicación para dispositivos móviles con sistema operativo Android