Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de...

76
Instituto Politécnico Nacional Escuela Superior de Ingeniería Mecánica y Eléctrica TESIS Aplicación Móvil para la Evaluación y Logística de Información Educativa Que para obtener el título de Ingeniero en Comunicaciones y Electrónica P R E S E N T A N Ávila Gómez José de Jesús Fuentes Gómez José Fermín Asesores David Vázquez Álvarez Gabriela Sánchez Meléndez México D.F. Mayo 2015

Transcript of Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de...

Page 1: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

Instituto Politécnico Nacional

Escuela Superior de Ingeniería Mecánica y Eléctrica

TESIS

Aplicación Móvil para la Evaluación y

Logística de Información Educativa

Que para obtener el título de

Ingeniero en Comunicaciones y Electrónica

P R E S E N T A N

Ávila Gómez José de Jesús

Fuentes Gómez José Fermín

Asesores

David Vázquez Álvarez

Gabriela Sánchez Meléndez

México D.F. Mayo 2015

Page 2: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme
Page 3: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

Este proyecto, como todo lo que he logrado, solo puede estar dedicado a los tres pilares de mi vida:

A mi Mamá, por el carácter heredado, la incondicionalidad de tu amor y la inspiración diaria que me ha traído hasta donde estoy.

A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme de la formas mas inesperadas.

A mi hija, por compartir un espacio de tu vida, tus experiencias y tu cariño desde antes que yo pudiera recordar, por impulsarme con tu ejemplo y ayudarme a buscar mi libertad.

Sin olvidar a Danna, gracias por alegrar esto últimos años de principio a fin y espero poder algún día darte algo tan inmenso como lo que tu me has dado.

Infinitamente agradecido

José de Jesús Ávila Gómez.

Page 4: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

Agradecimientos del Ing. José Fermín Fuentes Gómez.

Dedico esta tesis a todos aquellos que no creyeron en mí, a aquellos que esperaban mi fracaso en cada paso que daba hacia la culminación de mis estudios, a aquellos que nunca esperaban que lograra terminar la carrera, a todos aquellos que aposaban a que me rendiría a medio camino, a todos los que supusieron que no lo lograría.

Por otra parte dedico mi tesis primeramente a Dios, por haberme dado la paciencia y la sabiduría para poder afrontar cada obstáculo en mí camino.

A mis padres que con todo mi amor, hicieron todo en la vida para que yo pudiera lograr mis sueños, por motivarme y darme la mano cuando sentía que el camino se terminaba, a ustedes por siempre mi corazón y mi agradecimiento.

A mi hermana Fernanda, que con su gran apoyo, supo cómo enseñarme a salir adelante.

A mis abuelos Joaquín y Rafaela que de alguna manera fueron un gran apoyo, a mi abuelito Valentín y a mi abuelita Ana María que es mi gran apoyo y a la que debo todo por haber sido parte de mi formación tanto escolar como personal.

A esas personas importantes en mi vida, mis tíos y primos, que siempre estuvieron listos para brindarme toda su ayuda. Ahora me toca regresar un poquito de todo lo inmenso que me han otorgado.

A la familia Gómez Morales, que siempre estuvieron y están al pendiente de todos mis triunfos, y que siempre han sido un gran apoyo para mí y mi familia.

A mis amigos, Daniel, Miguel, Henry, Víctor, Edgar, Jesús, Marco y Luis por todo su apoyo brindado.

Para ustedes está tesis en agradecimiento por toda su confianza y paciencia.Gracias.

Page 5: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

2

Índice de Temas

Índice de Temas ................................................................................. 2

Índice de Figuras e Ilustraciones ........................................................... II

Índice de Figuras Anexas .................................................................... III

Objetivo ........................................................................................... I8

Introducción ....................................................................................... 8

Justificación ...................................................................................... 9I

Capítulo 1 Marco de Referencia...................................................... 10

1.1 Historia de dispositivos y aplicaciones móviles .............................. 10

1.2 Clasificación de las aplicaciones móviles ....................................... 10

1.3 Evolución de las aplicaciones móviles ........................................... 12

1.4 Las aplicaciones móviles en la educación ...................................... 13

1.4.1 Perspectivas de campo ..................................................... 14

1.4.2 Tendencias...................................................................... 14

Capítulo 2 Análisis y estudio de campo .......................................... 17

2.1 Android ................................................................................... 17

2.2 SDK Android ............................................................................ 18

2.3 Java ....................................................................................... 19

2.4 Eclipse .................................................................................... 19

2.5 My SQL ................................................................................... 21

2.6 SQLite .................................................................................... 21

2.7 PHP ........................................................................................ 22

2.8 Xammpp ................................................................................. 23

Capítulo 3 Propuesta y diseño ....................................................... 24

3.1 Comparación en el Tiempo ............................................................ 24

3.2 Propuesta y diseño del proyecto ................................................. 26

Page 6: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

3

Capítulo 4 Implementación y Pruebas ........................................... 35

4.1 Base de datos Externa .............................................................. 35

4.2 Base de datos Interna .................................................................. 38

4.3 Aplicación Móvil .......................................................................... 39

4.3.1 Diseño............................................................................ 39

4.3.2 Desarrollo Fase I ................................................................ 43

4.3.3 Desarrollo Fase II ............................................................... 49

Conclusiones .................................................................................. 55

Apéndices/Anexos ......................................................................... 60

Anexo A “Instalación de IDE Eclipse” ........................................ 60

Anexo B “Instalación de Xammpp” ........................................... 63

Anexo C “Artículo Presentado en Congreso” ............................... 68

Bibliografía .................................................................................... 74

Page 7: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

4

Índice de Figuras e Ilustraciones

8Figura 1.2.1 “Dispositivos Móviles Actuales” ........................................ 11

Figura 1.3.1 "Gráfica de Sistemas Operativos" ..................................... 12

Figura 2.1.1 "Logo Android" .............................................................. 17

8Figura 2.2.1 "Logo SDK Android" ....................................................... 18

Figura 2.3.1 "Logo Java" ................................................................... 19

Figura 2.4.1 "Logo IDE Eclipse" ......................................................... 20

8Figura 2.5.1 "Logo MySQL"................................................................ 21

Figura 2.6.1 "Logo SQLite" ................................................................ 22

Figura 2.7.1 "Logo PHP" ................................................................... 22

8Figura 2.8.1"Logo Xammpp" .............................................................. 23

Figura 3.0.1 "Logo Aplicación Color Note" ........................................... 24

Figura 3.0.2 "Logo Aplicación My Class Schedule" ................................ 25

8Figura 3.0.3 "Logo Aplicación My Homework" ...................................... 25

Figura 3.0.4 "Logo School Assistant" .................................................. 25

Figura 3.2.0.1 "Estructura del Sistema" .............................................. 26

8Figura 3.2.0.2 “Diagrama Entidad-Relación Externa” ............................ 27

Figura 3.2.0.3 "Diagrama de Parseo HTML" ......................................... 28

Figura 3.2.0.4 "Diagrama Entidad-Relación Interna" ............................. 29

8Figura 3.2.0.5 “Diagrama de Clases de Aplicación” ............................... 31

Figura 4.1.1 "Conexión de Base de Datos" .......................................... 35

Figura 4.1.2 "HTML Sitio Web" ........................................................... 36

8Figura 4.1.3 “Método de Parseo HTML” ............................................... 36

Figura 4.1.4 "Inserción de Datos" ...................................................... 37

Figura 4.1.5 "Consulta de Datos Insertados" ....................................... 37

Figura 4.2.1 "Campos de Tablas" ....................................................... 38

Figura 4.2.2 "Creación de Tablas" ...................................................... 38

Figura 4.2.3 "Creación de Base de Datos" ........................................... 39

Figura 4.3.1.1 "Diseño Pantalla de Inicio" ........................................... 39

Figura 4.3.1.2 "Diseño de Pantalla de Registro" ................................... 40

Figura 4.3.1.3 "Diseño de Menú Principal" ........................................... 40

Page 8: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

5

Figura 4.3.1.4 "Diseño de Configuración de Horario" ............................ 40

Figura 4.3.1.5 "Diseño de Creación de Eventos"................................... 41

Figura 4.3.1.6 "Diseño de Línea del Tiempo" ....................................... 41

Figura 4.3.1.7 "Diseño de Captura de Evaluaciones" ............................. 42

Figura 4.3.1.8 "Diseño de Pantalla de Gráficas" ................................... 42

Figura 4.3.1.9 "Diseño de Lista de Eventos" ........................................ 42

Figura 4.3.8 "Pantalla de Inicio" ......................................................... 44

Figura 4.3.9 "Creación de Cuenta de Usuario" ..................................... 44

Figura 4.3.10 "Menú de Datos Escolares" ........................................... 44

Figura 4.3.11 "Ejemplo de Selección de Materias" ................................ 45

Figura 4.3.12 "Configuración de Horas" .............................................. 45

Figura 4.3.13 "Selección de Materias" ................................................. 46

Figura 4.3.14 "Ejemplo de Innovación" ............................................... 46

Figura 4.3.15 "Menú de Opciones para Selección de Fotos" ................... 47

Figura 4.3.16 "Selección de Fotografía" .............................................. 47

Figura 4.3.17 "Galería de Imagenes" .................................................. 48

Figura 4.3.18 "Menú de Gráficas" ....................................................... 48

Figura 4.3.19 "Gráfica en Línea" ........................................................ 48

Figura 4.3.20 "Gráfica en Barras ........................................................ 48

Figura 4.3.21 "Ejemplo de Gráfica en Barras" ...................................... 49

Figura 4.3.22 "Ejemplo de Gráfica en Línea" ........................................ 49

Figura 4.3.23 "Pantalla de Apertura" .................................................. 50

Figura 4.3.24 "Pantalla Final de Acceso" ............................................. 50

Figura 4.3.25 "Pantalla Final de Registro" ........................................... 51

Figura 4.3.26 "Pantalla Final de Segundo Nivel de Registro" .................. 51

Figura 4.3.27 "Pantalla Final de Nivel Tres de Registro" ........................ 52

Figura 4.3.28 "Pantalla Final de Menú Principal" ................................... 52

Figura 4.3.29 "Pantalla Final de Horario" ............................................ 53

Figura 4.3.30 "Pantalla Fina de Generación de Eventos"........................ 53

Figura 4.3.31 "Pantalla de Línea del Tiempo" ....................................... 54

Figura 4.3.32 "Pantalla de Interfaz Dibujo Táctil" ................................. 54

Figura 4.3.33 "Ejemplo de Gráfica en Línea" ........................................ 54

Page 9: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

6

Índice de Figuras Anexas

Figura A “Logotipo de Eclipse” ........................................................... 61

Figura B “Elección de Dirección de Carpeta de Archivos” ....................... 61

Figura C “Ventana de Bienvenida de Eclipse” ....................................... 62

Figura D “Entorno de Trabajo del Editor Eclipse” .................................. 62

Figura E “Cambio de Carpeta Xammpp a la de Aplicaciones”.................. 63

Figura F “Búsqueda de Icono Xammpp_Control” .................................. 63

Figura G “Panel de Control” ............................................................... 64

Figura H “Menú de Controles de Xammpp” .......................................... 64

Figura I “Navegador Local” ................................................................ 64

Figura J “Gestor de Base de Datos” .................................................... 65

Figura K “Pestaña de Privilegios” ........................................................ 65

Figura L “Permisos de Datos y Estructura” .......................................... 66

Figura M “Nueva Conexión” ............................................................... 67

Page 10: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

7

Objetivo

Objetivo General.

Desarrollar una aplicación móvil capaz de vincular la información capturada por

alumnos con el propósito de mostrar estadísticas para detectar áreas de oportunidad

en los métodos de aprendizaje y con esto mejorar la calidad educativa.

Objetivos específicos.

Brindar al alumno una herramienta con la cual pueda administrar de una mejormanera sus actividades escolares.

Llevar una agenda escolar personalizada por usuario con materias específicaspor cada uno.

Proporcionar a los alumnos un herramienta que le ayudará a llevar unadecuado registro de sus calificaciones

Mostrar estadísticas sobre el desempeño académico basadas en los datos almacenados por el usuario.

Motivar al estudiante mediante la aplicación móvil de tal manera que le sea útilpara su desarrollo educativo.

Dar a conocer al usuario las competencias en las que destaca con el fin de quese encamine según sus aptitudes.

Compartir información con los demás usuarios, promoviendo el compañerismoy la mejora continua.

Dar al alumno el conocimiento necesario para crear una transición más ligeraentre el ambiente escolar y laboral.

Page 11: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

8

Introducción

Jamás en la historia de la humanidad una tecnología y un medio de comunicación

habían evolucionado a tal velocidad y se habían difundido tan transversal y

globalmente como el teléfono móvil en menos de dos décadas existen en torno a

5000000000 de usuarios y teléfonos móviles en activo en todo el mundo.

Los dispositivos móviles han propiciado asimismo la aparición de un nuevo modelo de

interacción social, estilos de vida móviles y usos con los que Alexander Graham Bell,

el eminente científico, inventor e ingeniero a quien se le acredita la invención del

primer teléfono práctico, jamás habría osado soñar.

Las comunicaciones móviles y las redes inalámbricas han superado con creces las

meras llamadas de voz. La era moderna ha sido testigo de la aparición de un sinfín de

usos, aplicaciones y chips informáticos inteligentes que posibilitan una profunda

versatilidad a las tecnologías que los incorporan.

Agregar un poquito de información que ligue la tecnología que mencionas con la

educación y su importancia.

Es indiscutible que la escuela debe contribuir a la transmisión de conocimientos, y saberes a los jóvenes de las nuevas generaciones.Sin embargo poco sabemos acerca de cuáles son las competencias básicas para la vida, cuál es la opinión de los diferentes agentes: sociales, empresariales o del sector productivo, familiares y profesionales.

La escuela sí que prepara en unas competencias aplicables a la vida cotidiana, al margen del logro académico conseguido, de la continuación o no en otros niveles educativos o de la inserción en el mundo laboral.

Este es el sentido de una enseñanza obligatoria para todos: que la escuela proporcione unos hábitos y unos aprendizajes suficientes para una adaptada inserción en nuestra sociedad. El alumno debe estar formado en unas competencias básicas que le capaciten para poder integrarse plenamente en la sociedad.

Page 12: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

9

Justificación

La calidad en la educación siempre ha sido un factor vital en el desarrollo profesional

de las personas. Hoy en día, las nuevas tecnologías no se han adaptado a los

sistemas de calificación. Los sistemas de calificación aún aplicados en la institución,

son útiles hasta cierto punto donde se evalúa a los alumnos asignando un número que

depende de exámenes tareas y otros aspectos que el profesor tome en cuenta.

En la actualidad las empresas toman a consideración las diferentes aptitudes de cada

persona, trabajan bajo el sistema de competencias. Este aspecto es mayormente

ignorado por los alumnos hasta que se enfrentan al mundo laboral aún cuando ya

poseen estas.

A pesar de que los alumnos se encuentran en estudios universitarios, el profesor

cuenta con ciertas responsabilidades y estas no siempre son bien comprendidas.

Los proyectos tanto en el ambiente laboral como en el escolar toman un papel

importante ya que se trabaja de forma integral como debe hacerlo un ingeniero con

aspectos como: liderazgo, trabajo en equipo, pro actividad, empatía, mejora continua,

etc.

A su vez todos los miembros del proyecto trabajan bajo un líder de proyecto (Project

Manager), que es el papel que desempeña el profesor de una manera más sutil.

Una comunicación efectiva entre alumnos y maestros puede llegar a ser muy difícil de

alcanzar debido a diferentes factores por ambas partes, ya sea desconcentración, falta

de memoria y no llevar un registro adecuado de cada cambio que se hace en la forma

de evaluar, y por consecuente el descuido en este rubro por parte del alumno.

Este mal flujo de información genera diferencias entre todos los participantes,

perdiendo de vista el objetivo del semestre y concentrando su tiempo y energía en

algo totalmente distinto a lo que estaba planeado.

Es importante resolver estos aspectos de una manera sencilla y eficiente,

adecuándose a las necesidades escolares de cada alumno brindándole una

herramienta de control con la cual pueda apoyarse en el transcurso de su carrera

encontrando los datos necesarios para cumplir con sus deberes.

Las soluciones no pueden ser implementadas si no se detecta un área en donde

hacerlo, las estadísticas así como la minería de datos es fundamental e increíblemente

poderosa para mostrar patrones de comportamiento, aplicando estos conocimientos a

nivel escolar se pueden detectar las áreas de oportunidad para que cada profesor a la

par de su grupo logren el mayor rendimiento escolar con el fin de lograr alumnos de

excelencia.

Page 13: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

10

Capítulo 1 Marco de Referencia

1.1 Historia de dispositivos y aplicaciones móviles

El origen de las primeras aplicaciones móviles surge de los últimos años de la década

de los 90, realmente eran aplicaciones como horarios esenciales, juegos de árcade

editores de ringtone, estas aplicaciones eran bastante sencillas y con un diseño poco

atractivo, cumplían con funcionalidades muy básicas.

La evolución de las apps se dio rápidamente gracias a las innovaciones en tecnología

WAP y la transmisión de data EDGE esto vino acompañado de un desarrollo muy

fuerte de los celulares. Finalmente la evolución de dichas aplicaciones nace con el

lanzamiento del iphone de Apple y el desarrollo del sistema operativo para móviles

Android. Junto a estos desarrollos llegan muchas más propuestas de smartphones, y

de esta forma empieza el boom de las apps, juegos, noticias, diseño, arte, educación,

fotografía, medicina todo inmerso en lo que antes eran un simple equipo de

comunicación celular, la incorporación de internet en los celulares y la creación de las

Tablets revolucionó el mundo de las aplicaciones móviles.

El surgimiento de las Apps Stores terminó de impulsar el éxito de las aplicaciones

móviles y un significativo cambio en la manera en que se distribuye y comercializa el

software.

La empresa ShoutEm ha publicado una infografía que muestra la evolución de las

tiendas de aplicaciones, desde el surgimiento de la App Store de Apple en el año 2008

con apenas 500 aplicaciones.

Android Market entró al negocio a los pocos meses, con un repositorio de 50 apps. La

tercera fue BlackBerry App World y Ovi Store de Nokia en el 2009. Microsoft llegó

mucho más tarde abriendo en el 2010 con Windows Phone Marketplace.

1.2 Clasificación de dispositivos móviles

La clasificación que se le puede dar a los dispositivos móviles, está sujeta a ciertas

valoraciones en la cual es difícil ubicar al dispositivo móvil en alguna familia

determinada.

En base a las características que un dispositivo móvil posee como conexión a internet,

cámara fotográfica, reproducción de videos, videojuegos y muchas cosas más se

pueden clasificar en distintos grupos:

- Dispositivo de comunicación

Es aquel dispositivo móvil que es capaz de ofrecer una infraestructura de

comunicación ofreciendo principalmente la vía telefónica, ya que estos

dispositivos dan servicio de mensajes SMS y MMS principalmente y

considerando también la ejecución de aplicaciones con conexión a internet.

Page 14: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

11

- Dispositivo de Computación

Es el dispositivo móvil que ofrece mayor capacidad en el procesamiento de

datos en el cual ya se encuentran los PDA (Asistente Digital Personal) ya que

permitían al usuario disponer de un organizador más completo, la visualización

de documentos y el acceso a internet.

- Reproductor Multimedia

Es el dispositivo que fue diseñado especialmente para proporcionar al usuario

la reproducción de uno o más formatos digitales, ya sea de audio, de video o

imágenes en los cuales encontramos los reproductores de MP3, los DVD

portátiles y entre los más actuales se encuentran los ipod y ipad de Mac.

- Grabador Multimedia

Es el dispositivo que permite al usuario grabar datos en un formato digital

determinado principalmente en audio y video, hallándose en esta categoría las

cámaras fotográficas y de video digital.

- Consolas Portátiles

Son aquellos dispositivos donde su única función es proporcionar al usuario

una plataforma de juego. Las consolas fueron junto con los teléfonos móviles,

los primeros en ser vendidos como productos en masas. Algunos ejemplos de

esta categoría se encuentran el Nintendo DS y el PSP de Sony.

En la figura 1.2.1, se muestran los diferentes dispositivos móviles que hoy se

encuentran en el mercado:

Figura 1.2.1 Dispositivos móviles actuales: a) Tablet iPad 2da. Generación; b) Reproductor iPod 3ra.

Generación; c) Reproductor iPod Nano; d) PDA Acer N34; e) ebook Sony; f) Camara fotográfica Nikkon; g)

consola portátil Nintendo DS; h) consola portátil PSP.

Page 15: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

12

1.3 Evolución de las aplicaciones móviles

Las aplicaciones móviles y el contenido digital representan el mayor potencial, dentro

de la cadena de valor, en las telecomunicaciones e Internet. Se estima que en los

próximos 5 años haya un crecimiento promedio del 23,6% en la adopción de

aplicaciones y contenido móvil en América Latina. A nivel de usuario final se habla de

contenido como música, juegos en línea, redes sociales, entre otras.

Actualmente los desarrolladores de contenido son quienes se benefician de los

ingresos por publicidad en línea y aplicaciones, aprovechando el creciente tráfico de

Internet e inversiones en redes que realizan los operadores, sin embargo, existen

formas para que el operador pueda sacarle provecho a su infraestructura y de esta

forma también obtener ingresos sobre el contenido que se curse por la misma.

El crecimiento que está experimentando el mercado de aplicaciones móviles es

realmente espectacular en las plataformas iOS de Apple, Android, y windows Phone,

destacando este último con respecto al año pasado por su reciente aparición.

Actualmente es uno de los negocios más activos del momento, siendo una gran

oportunidad de obtener ingresos tanto para desarrolladores como empresas. Así lo

refleja un año más el informe Developer Economics 2012 publicado por la consultora

Vision Mobile.

El desarrollo de este mercado se puede medir actualmente por el número de

aplicaciones desarrolladas para las diferentes plataformas anteriormente

mencionadas.

En el siguiente gráfico se muestra la distribución del desarrollo de aplicaciones en

base al Sistema Operativo, en comparación con el año 2010 y 2011, con un fuerte

incremento del desarrollo en aplicaciones de Android y Windows Phone.

Figura 1.3.1 Gráfica de sistemas operativos

Herramientas de analítica como Google Analytics y Adobe Omniture (entre otras) ya

han hecho sus respectivos ajustes para la medición de estas aplicaciones ofreciendo

huellas para cada sistema operativo y utilizando sus entornos de análisis para estudiar

la información recogida; también existen otras herramientas más especializadas como

Mobclix o Mobilitix que se centran solamente en la medición móvil pero que ofrecen las

mismas posibilidades que las ya conocidas herramientas de analítica web. Sea cual

sea la herramienta escogida o el mercado de aplicaciones, ahora se tiene la

Page 16: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

13

posibilidad de medir el uso que los usuarios dan a sus smartphones y a las

aplicaciones desarrolladas para estos dispositivos.

Entre los años 2011 y 2012 el desarrollo se ha visto orientado hacia plataformas que

antes no estaban en el mercado. Como vemos en la siguiente gráfica el desarrollo se

ha orientado a plataformas móviles: iOS, Android, Chrome, Windows Phone.

1.4 Las aplicaciones móviles en la educación

El uso de las TIC’s puede verse como un componente de innovación que puede

contribuir en el mejoramiento de calidad y cobertura de la educación, en este sentido,

los contenidos digitales educativos o aplicaciones móviles para la educación juegan un

papel muy importante como apoyo a la enseñanza, no sólo en el aula, sino en

cualquier lugar a través de la producción de aplicaciones de alta calidad que se

encuentren por la red para que puedan ser utilizados y reutilizados por todos los

actores del sector educativo.

El desarrollo de estos contenidos o aplicaciones deben ser apoyados por fondos

públicos y privados, incentivando la creación no solo de contenidos abiertos sino

también pagos basados en el ofrecimiento de productos para necesidades específicas

con mayor valor agregado. Las aplicaciones móviles enfocadas a la educación se

componen de contenidos digitales, que podemos dividir en las siguientes categorías:

Multimedia: Fotografía, Ilustración, Video, Animación, Música, Efecto sonoro,

Locución, Audio compuesto, Texto narrativo, Hipertexto, Grafismo, Media Integrado.

Sistema de información: Base de datos, Tabla, Gráfico, Mapa conceptual, Mapa de

navegación, Presentación multimedia, Tutorial, Diccionario digital, Enciclopedia digital,

Publicación digital periódica, Web/portal temático o corporativo, Wiki, Weblog.

Aplicación informática: Herramienta de creación/edición multimedia, Herramienta de

creación/edición web, Herramienta de ofimática, Herramienta de programación,

Herramienta de análisis/organización de información/conocimiento, Herramienta de

apoyo a procesos/procedimientos, Herramienta de gestión de aprendizaje/trabajo

individual/cooperativo/colaborativo.

Servicio: Servicio de creación/edición multimedia, Servicio de creación/edición web,

Servicio de ofimática, Servicio de programación, Servicio de análisis/organización de

información/conocimiento, Servicio de apoyo a procesos/procedimientos, Servicio de

gestión de aprendizaje/trabajo individual/cooperativo/colaborativo.

Contenido didáctico: Lecturas guiadas, Lección magistral, Comentario de texto-

imagen, Actividad de discusión, Ejercicio o problema cerrado, Caso contextualizado,

Problema abierto, Escenario real o virtual de aprendizaje, Juego didáctico, Webquest,

Experimento, Simulación, Cuestionario, Examen, Autoevaluación.

Existen contenidos digitales educativos abiertos llamados REA los cuales son

ofrecidos abiertamente por Internet y sin costo para profesores, alumnos y

Page 17: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

14

autodidactas a fin de que sean usados y reutilizados para enseñar, mientras se

aprende y se investiga.

Algo importante a la hora de desarrollar aplicaciones móviles para la educación es el

proceso de identificación, recuperación y descripción de dichas aplicaciones y su

contenido. Existen iniciativas a nivel mundial para estandarizar los contenidos digitales

con la generación de sistemas de información que permitan clasificar y catalogar los

contenidos educativos para su fácil ubicación e identificación en la red.

1.4.1 Perspectivas de campo

Gracias a los avances tecnológicos de los últimos años y la aparición de sistemas

operativos móviles mucho más eficientes y dinámicos, el desarrollo de las aplicaciones

móviles ha evolucionado de manera impresionante. Se cuenta con equipos novedosos

que permiten interactuar de forma fácil entre el usuario y el artefacto, y el mercado de

aplicaciones se ha visto desarrollado en todos los ámbitos, salud, entretenimiento,

educación, etc. Lo cual ha promovido su uso masivo y por consecuencia la reducción

de costos.

Se observa una tendencia en el desarrollo de aplicaciones móviles altamente

especializadas, adaptables, disponibles en diversos dispositivos móviles y para

múltiples plataformas.

Se espera que este mercado llegue a tal punto de que mediante estos dispositivos se

controle hasta la salud del usuario, mantenga informado su ubicación por seguridad y

que desplace las aulas de capacitación presencial a ambientes totalmente virtuales.

Las posibilidades son inmensas y este mercado parece tener posibilidades para

generar una nueva convergencia tecnológica.

1.4.2 Tendencias

Actualmente las apps están ganando cada vez más terreno, sencillamente, porque

permiten conectarte a la red de forma rápida e inmediata sin pasar por ningún tipo de

filtro previo. De esta forma, nos encontramos ante un mercado que si bien irá

asentándose de manera gradual, supone ya un soporte prioritario para los usuarios y

anunciantes, que han visto en las aplicaciones una oportunidad única para dar a

conocer su marca.

Prueba de ello es cómo las aplicaciones móviles gratuitas que por regla general se

rentabilizan mediante publicidad, han logrado quitarles el terreno a las de pago en el

conjunto del universo móvil.

Si se analiza el mercado objetivo de los anunciantes, las apps del iPhone son las

reinas indiscutibles por delante del gigante Google. Las últimas cifras revelan que la

compañía Apple ha registrado hasta la fecha 15.000 millones de descargas desde su

App Store, mientras que Google llegó a los 4.500 millones desde su Android Market.

Page 18: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

15

En definitiva, el mercado de las aplicaciones móviles presenta un grandísimo potencial

y los anunciantes comienzan a ser conscientes del partido que le pueden sacar.

Hay casi una aplicación disponible para cada tipo de interacción que desee realizar y

los desarrolladores siguen en continúo desarrollo. Según datos publicados por Nielsen

(2011), las categorías más populares son los juegos, seguidos de las noticias, mapas,

redes sociales y música.

Cuál es la explicación del éxito de las aplicaciones móviles? La explicación está en

que con un Smartphone tiene Internet 24 horas los 7 días de la semana, lo que supone

un acceso constante a internet, esto genera que el mercado de las aplicaciones

móviles no vaya a decrecer según lo observado.

Mientras el número de celulares inteligentes y tablets siga creciendo, la demanda de

aplicaciones seguirá aumentando. En Europa la demanda es cada vez mayor, en

España y Reino Unido solamente los Smartphone tienen más del 50 % de penetración,

lo que demuestra la evolución de este mercado. Algo importante a tener en cuenta son

las tarifas, ya que ahora son más accesibles, impulsando el crecimiento del mercado.

Las tablets han crecido en popularidad desde su lanzamiento en 2011, debido a que

combinan portabilidad con un tamaño de pantalla más agradable para la lectura,

sumado también a que ofrecen funciones propias de los ordenadores.

En Alemania, Francia, Italia, Inglaterra y España, el 8,3% de los usuarios con móvil

también han declarado tener una tablet. España, lidera este grupo de países con un

10,3% (ComScore, 2012).

En España, las descargas de aplicaciones móviles llegaron a 1.000.000 al día. (The

App Date, 2012)

Cada vez más desarrolladores están entrando a esa industria en el país porque ven en

los teléfonos móviles y las tablets el próximo gran negocio en el mundo del software,

uno con millones de clientes potenciales en México. Con estas estadísticas se observa

una tendencia creciente en este mercado que está aún en auge y parece que va a

continuar su desarrollo.

Las aplicaciones móviles están cambiando la forma en que los usuarios viven, la forma

en que se utilizan estas herramientas tecnológicas, ya sea para matar el tiempo o para

ayudar en el trabajo, las aplicaciones se han convertido en parte de la vida cotidiana.

A nivel internacional existen diferentes estrategias que suponen un marco de

referencia para las nuevas iniciativas en Colombia que orienten la creación y

desarrollo de aplicaciones móviles y contenidos digitales educativos:

OER WikiCommunity es un portal donde los miembros de la UNESCO pueden

colaborar en asuntos relacionados con los REA (en inglés OER) concebidos como una

oportunidad estratégica para mejorar la calidad de la educación, así como facilitar el

diálogo sobre políticas, intercambio de conocimientos y creación de capacidad.

Page 19: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

16

Enlaces - Centro de Educación y Tecnología, funciona como un portal integrador de

todas las iniciativas TIC para la educación en el país dirigido a docentes, estudiantes,

escuelas e investigadores.

Plan CEIBAL URUGUAY - Conectividad Educativa de Informática Básica para el

Aprendizaje en Línea, inicialmente buscaba que cada alumno de educación básica y

media recibiera de forma gratuita un computador portátil para reducir la brecha digital,

sin embargo bajo este plan se ha creado un portal que brinda a docentes y estudiantes

recursos educativos interactivos que buscan ampliar el aprendizaje en todas las áreas

de la educación.

Instituto de Tecnologías Educativas ITE –Es una Unidad del Ministerio de Educación

español encargada de la integración de las TIC en las etapas educativas no

universitarias.

Biblioteca de Tecnología y Ciencia Aplicada de la Universidad de Texas, se trata de la

primera biblioteca sin libros; posee 425.000 libros electrónicos, esto permite a varios

estudiantes acceder al mismo libro de forma simultánea. En un futuro pretenden cargar

colecciones de textos en tabletas y lectores electrónicos que los estudiantes puedan

tomar prestados para llevarse a su casa.

M.I.T. on iTunes U es una de las primeras universidades en haber tomado la decisión

de llevar todos sus contenidos académicos a una plataforma comercial como iTunes,

esto con el objetivo de llegar a los estudiantes y profesores de una manera informal,

en donde ellos puedan acceder para estudiar o preparar sus clases desde su casa o

mientras se dirigen al campus. Esta iniciativa ha sido adoptada por otras universidades

como Stanford, Harvard y Oxford.

Page 20: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

17

Capítulo 2 Análisis y estudio de campo

2.1 Android

Android es una plataforma de Software basada en el núcleo de Linux. Fue diseñada en

un principio para dispositivos móviles y permite controlar dispositivos por medio de

bibliotecas desarrolladas o adaptados por Google mediante el lenguaje de

programación Java.

Su gran competencia en el mercado es la plataforma iOS, ya que se introdujo primero

al mercado y tiene una gran gama de aplicaciones, más que la de android. La

plataforma iOS cuenta con más de 350 mil aplicaciones a diferencia de 150 mil que

solo tiene android [1].

Todas las aplicaciones para Android se programan en lenguaje Java y son ejecutadas

en una máquina virtual especialmente diseñada para esta plataforma, que ha sido

bautizada con el nombre de Dalvik. El núcleo de Android está basado en Linux 2.6.

A diferencia de los equipos con iOS, los de Android siguen siendo más accesibles al

público en general, ya que son más económicos y hay muchos modelos de equipos

móviles que dependen de las necesidades de cada usuario. Concretamente, Android

se mantiene como líder absoluto del mercado, con un 75 por ciento de los equipos

instalados, mientras que iOS le sigue con un 17,3 por ciento de base instalada [2].

Apple ha decidido explotar las capacidades de iOS por su cuenta, sin dejar que otros

fabricantes puedan adoptar su plataforma, ya que Google inicialmente renunció a

fabricar terminales Android y mostró más apertura en este sentido, animando a que

terceras empresas adopten y desarrollen su ecosistema. Esta diferencia resulta muy

significativa, ya que ha permitido a Google aliarse con fabricantes tan representativos

como Samsung, HTC, Sony, Huawei o ZTE, por ejemplo, para incrementar la oferta

disponible de terminales Android.

La licencia de distribución elegida para Android ha sido Apache 2.0, lo que lo convierte

en software de libre distribución. A los desarrolladores se les proporciona de forma

gratuita un SDK y la opción de unos plug-in para el entorno de desarrollo Eclipse,

varias que incluyen todas las API necesarias para la creación de aplicaciones, así

como un emulador integrado para su ejecución. Existe disponible una amplia

documentación de respaldo para este SDK [3].

Figura 2.1.1 Logo de Android

Page 21: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

18

2.2 SDK Android

Es un software que permite a los programadores crear aplicaciones para la plataforma

Android, en la cual incluye proyectos, un ejemplo es con código fuente, herramientas

de desarrollo, un emulador que incluye sus propias bibliotecas que se necesitan para

poder construir la aplicación.

Las aplicaciones se escriben utilizando el lenguaje de programación Java y se

ejecutan en Dalvik, una máquina virtual personalizada diseñada para el uso integrado

que se ejecuta sobre un kernel Linux.

Es algo tan sencillo como una interfaz de programación de aplicaciones, creada para

permitir el uso de cierto lenguaje de programación, o puede, también, incluir hardware

sofisticado para comunicarse con un determinado sistema, las herramientas más

comunes incluyen soporte para la detección de errores de programación como un

entorno de desarrollo integrado y otras utilidades. Los SDK frecuentemente incluyen,

también, códigos de ejemplo y notas técnicas de soporte u otra documentación [4].

Android no diferenciará entre las aplicaciones propias del teléfono y las aplicaciones

creadas por terceros, todos tendrán el mismo nivel de acceso a las capacidades del

teléfono.

Android no dará límites a ninguna aplicación, es decir, un desarrollador podrá

combinar o sincronizar la información de Internet con los datos del teléfono como

contactos, calendario, ubicación geográfica.

Un programador suele recibir el SDK del desarrollador del sistema para el que se está

escribiendo el programa. Incluso, hay veces que el SDK puede descargarse de

internet. De hecho, muchos SDKs se distribuyen gratuitamente para animar a los

desarrolladores a usar el sistema o el lenguaje. Así que se deduce que a veces son

usados como herramientas de marketing. En consecuencia mucha gente se anima a

comprar muchos otros widgets suyos ya que pueden programarlos gratuitamente [5].

Los proveedores de SDK para ciertos sistemas o subsistemas pueden utilizar un

término más específico que el de "software". Por ejemplo, tanto Microsoft como Apple

proveen Driver Development Kits (DDK) o kits para el desarrollo de drivers para

desarrollar drivers para dispositivos, y PalmSource distribuye su propio kit de

desarrollo como el PalmOS Development Kit (PDK) o kit de desarrollo para PalmOS.

Figura 2.2.1 Imagen de SDK

Page 22: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

19

2.3 JAVA

Java es un lenguaje de programación orientado a objetos desarrollado por Sun

Microsystems a principio de los años 90´s.

El lenguaje de programación Java fue originalmente desarrollado por James Gosling

de Sun Microsystems y publicado en el 1995 como un componente fundamental de la

plataforma Java de Sun Microsystems. Las aplicaciones de Java son generalmente

compiladas a bytecode (clase Java) que puede ejecutarse en cualquier máquina virtual

Java sin importar la arquitectura de la computadora subyacente [6].

Java es un leguaje de programación el cual está basado en elementos de C/C++

principalmente. Junto con su amplia gama de bibliotecas, con un soporte de ejecución

estándar y su máquina virtual nos da una opción que garantiza su portabilidad.

Su función principal es hacer uso de programas punteros, como herramientas, juegos

y aplicaciones de negocios por lo que es necesario para la elaboración de aplicaciones

que conlleven al mejoramiento tanto en forma gráfica como en su facilidad de manejar

cualquier dispositivo portátil principalmente.

Las Actualizaciones del SDK están coordinadas con el desarrollo general de Android.

El SDK soporta también versiones antiguas de Android, por si los programadores

necesitan instalar aplicaciones en dispositivos ya obsoletos o más antiguos. Las

herramientas de desarrollo son componentes descargables, de modo que una vez

instalada la última versión, pueden instalarse versiones anteriores y hacer pruebas de

compatibilidad [7].

Figura 2.3.1 Logo de Java

2.4 Eclipse

Eclipse es una plataforma de desarrollo open source basada en Java. Es un desarrollo

de IBM cuyo código fuente fue puesto a disposición de los usuarios. En sí mismo

Eclipse es un marco y un conjunto de servicios para construir un entorno de desarrollo

a partir de componentes conectados (plug-in).

Page 23: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

20

Su característica principal es que es extenso. La forma en que los plugins interactúan

es mediante interfaces o puntos de extensión; así, los nuevos aportes se integran

fácilmente.

Es una herramienta en la cual el programador desarrolla principalmente aplicaciones

Java, facilitando al máximo la gestión de proyectos colaborativos mediante el control

de versiones 'cvs', es posible también con subversión, exportar e importar proyectos. [8]

Una gran parte de la programación de Eclipse fue realizada por IBM antes de la

creación del proyecto Eclipse como tal. Su antecesor de Eclipse fue VisualAge y se

construyó usando Smalltalk en un entorno de desarrollo llamado Envy. Con la

aparición de Java en la década de los 90, IBM desarrolló una máquina virtual válida

tanto para Smalltalk y Java. La rápida expansión de Java y sus ventajas con miras a

una Internet en plena expansión obligaron a IBM a plantearse el abandono de esta

máquina virtual dual y la construcción de una nueva plataforma basada en Java desde

el principio. [9]

El producto final resultante fue Eclipse, que ya había costado unos 40 millones de

dólares a IBM en el año 2001.

A finales de 2001 IBM, junto a Borland, creó la fundación sin ánimo de lucro Eclipse,

abriéndose así al mundo de código abierto. A este consorcio se han unido

progresivamente importantes empresas del desarrollo de software a nivel mundial:

Oracle, Rational Software, Red Hat, SuSe, HP, Serena, Ericsson, Novell, entre otras[10].

Hay dos ausencias significativas: Microsoft y Sun Microsystems. Microsoft ha sido

excluida por su posición de monopolio del mercado, y Sun Microsystem cuenta con su

propio IDE y principal competencia de Eclipse: NetBeans. De hecho, el nombre de

Eclipse fue elegido porque el objetivo era crear un IDE capaz de "eclipsar a Visual

Studio" (Microsoft).

Más allá de eso afirmaron que el juego de palabras ("eclipsar el sol") no era hacia Sun

Microsystems, y se querían asociar con ellos, pero el departamento de marketing se

negó a realizar negocios con una organización/empresa con un nombre tan

contradictorio a ellos, sumado a que el nombre se encontraba ya utilizado en otros

ramos, por ejemplo el sitio oficial de eclipse.org, fue comprado a un equipo de Fútbol

femenino de Illinois.

Figura 2.4.1 Logo de IDE Eclipse

Page 24: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

21

2.5 My SQL

El servidor de bases de datos MySQL es muy rápido, seguro, y fácil de usar. Se

pueden encontrar comparaciones de desempeño con algunos otros manejadores de

bases de datos. Sin embargo, para manejar grandes bases de datos se necesita un

servidor mucho más rápido para estar siendo usado exitosamente en ambientes de

producción sumamente exigentes por mucho tiempo.

My SQL es un sistema de gestión de bases de datos creada por la empresa MYSQL

AB, teniendo el código fuente del servidor SQL. Este software es de código abierto

Inicialmente, MySQL carecía de algunos elementos esenciales en las bases de datos

relacionales, tales como integridad referencial y transacciones. A pesar de esto, atrajo

a los desarrolladores de páginas web con contenido dinámico, debido a su simplicidad,

de tal manera que los elementos faltantes fueron complementados por la vía de las

aplicaciones que la utilizan. Poco a poco estos elementos faltantes, están siendo

incorporados tanto por desarrolladores internos, como por desarrolladores de software

libre.

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta

licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos

deben comprar a la empresa una licencia específica que les permita este uso. Está

desarrollado en su mayor parte en ANSI C. [11]

Figura 2.5.1 Logo de My SQL

2.6 SQLite

Es un sistema de gestión de bases de datos relacional compatible con ACID,

contenida en una relativamente pequeña biblioteca escrita en C. SQLite es un

proyecto de dominio público creado por D. Richard Hipp.

Se ha diseñado para efectuar un uso eficaz de los recursos de la memoria e incluye

pocas funciones. Y en consecuencia, puede resultar una buena elección para

aplicaciones incrustadas e inalámbricas [12].

Este programa tiene un proceso separado funcionando como servidor ya que lee y

escribe directamente en archivos que se encuentran dentro del disco duro. Se puede

ejecutar en diferentes plataformas y sus bases de datos pueden ser ejecutadas sin

ninguna configuración o administración.

Page 25: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

22

SQLite usa un sistema de tipo inusual; en lugar de asignar un tipo a una columna

como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a

los valores individuales [13]. A diferencia de los sistemas de gestión de bases de datos

cliente-servidor, SQlite no es un proceso independiente con el que el programa

principal se comunica, en lugar de hacer eso SQlite se enlaza con el programa

pasando a ser parte integral del mismo. Ahora en su nueva actualización nos permite

introducir 2T de información y permite la inclusión de datos tipo Blob.

Figura 2.6.1 Logo de SQLite

2.7 PHP (Hypertext Pre-processor)

Es un lenguaje de programación de uso general diseñado para desarrollar contenido

web y aplicaciones gráficas independientes. Creado originalmente por Rasmus

Lerdorf en 1995, este lenguaje forma parte del software libre publicado bajo la licencia

PHP que es incompatible con la Licencia Pública General de GNU debido a las

restricciones del uso del término PHP.

El gran parecido que posee PHP con los lenguajes más comunes de programación

estructurada, como C y Perl, permiten a la mayoría de los programadores crear

aplicaciones complejas con una curva de aprendizaje muy corta. También les permite

involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un

nuevo grupo de funciones.

Figura 2.7.1 Logo de PHP

Page 26: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

23

2.8 Xampp

XAMPP, es un servidor de plataforma libre que integra en una sola aplicación, un

servidor web Apache, interpretes de lenguaje de scripts PHP, un servidor de base de

datos MySQL, un servidor de FTP FileZilla, el popular administrador de base de datos

escrito en PHP, MySQL, entre otros módulos. Sus creadores solo pretendían que fuera

una herramienta de desarrollo y ahora es un servidor que muchos programadores

utilizan para sitios web ya que haciendo modificaciones se puede utilizarlo de forma

segura.

Esta herramienta sirve para poder probar tus programas sin necesidad de hacer uso

de internet ya que provee de una configuración totalmente funcional desde el momento

de la instalación aunque no garantiza una seguridad eficiente. Su función es crear una

distribución fácil de instalar, de tal manera que los desarrolladores web principiantes

cuenten con todo lo necesario para empezar a utilizar este servidor.

Figura 2.8.1 Logo de Xampp

Page 27: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

24

Capítulo 3 Propuesta y Diseño

3.1 Comparación en el Tiempo.

Durante mucho tiempo el alumno siempre deja las tareas a última hora, mas sin

embargo se han creado con el paso del tiempo una serie de aplicaciones que ayudan

al alumno y al profesor en el ámbito escolar, a dar manejo eficaz de tareas pendientes

o fechas de exámenes para que no lo olviden, pero con tantas distracciones como la

TV, los dispositivos móviles, los videojuegos o las redes sociales, es fácil olvidarse de

las labores escolares y más si no cuentas con una herramienta que te haga

recordatorios constantes creo que no será posible tener un buen rendimiento escolar.

A comparación de aplicaciones de tiempo atrás que nos daban una amplia gama de

utilidades para poder llevar a cabo la tarea de resguardar y dar a conocer importantes

acontecimientos dentro del ámbito escolar, nuestra aplicación demuestra una pequeña

superioridad y grandes ventajas a comparación de las anteriores.

Existen aplicaciones que cuentan con este tipo de utilidades que se necesitan para un

buen manejo de las actividades escolares pendientes.

Empezando por aplicaciones más sencillas que antes fueron hechas para

recordatorios se encuentra la aplicación Color Note, que básicamente es un block

post-it que ayuda a recordar tareas importantes ya que se puede pegar en el escritorio

de tu móvil para una mejor visualización del usuario.

Figura 3.0.1 Logo de la Aplicación Color Note

Ya hablando de aplicaciones más avanzadas se encuentra MY Class Schedule en la

cual, no sólo te mantiene informado acerca de tus próximas clases, sino que también

le recuerda los exámenes y las tareas pendientes.

La principal característica de esta aplicación es el calendario que muestra la

programación para cualquier día en particular o de la semana y una visión general del

grado con buenas calificaciones y promedio.

Page 28: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

25

Figura 3.0.2 Logo de la aplicación My Class Schedule

Otra de las aplicaciones en la cual nos ofrece utilidades parecidas al proyecto es My

Homework, en esta aplicación puedes crear tu propio perfil, en donde es posible

anotar todas las materias que llevas en la primaria, secundaria, preparatoria o

universidad, ya que incluyes la información de tus clases y profesores en cada una, así

como un apartado especial en el que anotes los trabajos que debes hacer para cada

una de las materias.

Figura 3.0.3 Logo de la aplicación My Homework

Una ventaja importante que debemos tomar en cuenta es que trabaja tanto en

aplicación móvil y también existe una versión para PC que sería una aplicación web.

También de la cual debemos saber es de la aplicación de School Assistant ya que

posee una gran cantidad de utilidades que podrán ayudar a la implementación del

proyecto.

Figura 3.0.4 Logo de la aplicación School Assistant

Page 29: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

26

Esta aplicación cuenta con notificaciones que te ayudan a no olvidar tus tareas o

exámenes pendientes ya que es una de las problemáticas más usuales que un alumno

puede tener, también cuenta con una gráfica la cual proporciona información acerca

de tu progreso escolar durante todo el año.

Por último una de sus utilidades novedosas es el silenciador del móvil, cada que una

clase de comienzo automáticamente el móvil se pondrá en silencio para que no

interrumpa con el sonido del móvil.

Estas y otras más aplicaciones son las bases para que el proyecto de paso adelante y

mejore todas las utilidades antes mencionadas, ya que con un buen planteamiento y

una buena programación se puede llegar a superar o estar en competencia con las

otras aplicaciones dentro del mercado.

Todas las aplicaciones antes mencionadas están en venta o de manera gratuita dentro

de la tienda Android ya que han sido diseñadas para esta plataforma, unas ya están

en diferentes plataformas pero no toda la gama de aplicaciones de este tipo.

Dando paso a otras cosas, las aplicaciones móviles aplicadas a este tema en especial

se toman mucho en cuenta la implementación y la programación, ya que han sufrido

varios cambios a través de los tiempos, para dar un mejor funcionamiento a la

aplicación y también llenar de utilidades novedosas y que puedan ayudar al usuario a

facilitar sus tareas dentro de su formación académica.

Por medio de estas aplicaciones los alumnos podrán mejorar su situación escolar

gracias a que la aplicación guiara al alumno, de tal manera que le dé una motivación

para poder seguir asechando frutos y hacerse de mejores notas y también tendrá la

organización debida en todas sus actividades escolares para que pueda llegar

alcanzar los objetivos propuestos por el mismo alumno.

Ya que existen todas estas herramientas de gran utilidad para el alumno, se puede

decir que gracias a esto se ha mejorado el rendimiento académico y por parte de los

profesores les han ayudado a tener más ordenada su agenda escolar, ya que ellos

también pueden tener acceso a estas herramientas.

3.2 Propuesta y Diseño del Proyecto.

Como se ha establecido en los capítulos anteriores, nuestro sistema se basa en

plataformas móviles con acceso a base de datos remota e internamente.

El diagrama que se muestra a continuación representa la estructura principal del

sistema.

Figura 3.2.0.1 Estructura Principal del Sistema

Page 30: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

27

El cual cuenta con una plataforma móvil conectándose a dos diferentes bases de

datos, una de manera interna y una externa. La base de datos externa se diseñó

pensando en una próxima expansión de la aplicación, por lo tanto cuenta con

diferentes tablas y relaciones las cuales permiten el manejo de una manera más

rápida y selectiva para el manejo del usuario, ya que esta base será consultada de

manera remota, es decir, será alojada en un servidor y podrá ser consultada por medio

de una dirección.

El diseño que manejamos implica un acceso más rápido a los datos, ya que esto se

refleja en el consumo de internet por parte del teléfono móvil.

La base de datos se relaciona de la siguiente manera; se genera una tabla llamada

“Nivel”, la cual nos indica el nivel escolar que el usuario desea seleccionar, contando

con dos niveles uno “Superior” y uno “Medio Superior”, tomando en cuenta que son los

niveles educativos que más se asemejan en el modo de evaluación a nivel público y

esto permite que las funciones aplicadas puedan ser mas homogéneas.

Contamos con una tabla llamada “Institución” la cual se relaciona por medio de una

tabla auxiliar con la tabla anteriormente explicada, eso es, debido a que la relación es

compleja “de muchos campos a muchos campos”, y aquí se planea almacenar las

diferentes instituciones que se tienen contempladas a futuro; para nuestro análisis es

importante notar que en estos niveles de estudio las instituciones cuentan con

diferentes escuelas y a su vez con diferentes carreras, es por esto que todas estas

tablas van relacionadas como en la figura 3.2.0.2 que se muestra a continuación:

Figura 3.2.0.2 Diagrama Entidad- Relación de la base de datos externa

Gracias a este diagrama será posible la estructuración de nuestra base de datos

generando un modelo entidad relación con las funcionalidades que nos brinda el

sistema gestor de base de datos MySQL Workbench, y aplicando ingeniería inversa,

se genera un “Scrpit” que son las sentencias SQL necesarias para generar esta base

de datos.

Page 31: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

28

La estructura una vez generada necesita ser administrada y llenada en sus diferentes

campos, porque este tipo de base de datos, será llenada y administrada

periódicamente.

Debido a que el análisis esta realizado para diferentes escuelas y la implementación

planeada para una escuela piloto, se requiere una manera diferente de

almacenamiento de datos, es aquí donde implementamos el lenguaje de programación

PHP así como sus librerías que son de gran utilidad en la conexión y reutilización de

datos. Generalmente las páginas web de las diferentes instituciones cuentan con un

plan de estudios al que se puede ingresar como método de consulta.

Esta información la utilizaremos, ya que se encuentra embebida en un documento

HTML y organizada por DOM. Así podemos retomar información almacenada en la

web y descifrarla e insertarla en nuestra base de datos, lo que nos beneficia en

tiempo, ya que solo se necesitan las diferentes consultas y el algoritmo que obtiene los

datos del documento.

El flujo de la obtención de la información se muestra en la figura 3.2.0.3:

Figura 3.2.0.3 Diagrama que muestra el funcionamiento del Parsero HTML

Con esto la base de datos para consulta de la aplicación ha quedado llena en su

mayoría. La plataforma ahora podrá acceder a esta información por medio de una

conexión que permitirá filtrar los datos, y organizarlos dependiendo de las peticiones

anteriores si es el caso, conjuntando estos datos en un objeto JSON para el

intercambio de datos, debido a su simplicidad estos procesos serán rápidos en

comparación con otro método de obtención de datos como XML.

Una vez en la aplicación estos datos formarán parte de la base de datos interna, que a

diferencia de la base de datos anterior funciona de manera personal, permitiendo

alojar a diferentes usuarios con diferentes configuraciones propias.

Page 32: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

29

El análisis de la base de datos se muestra en la figura 3.2.0.4:

Figura 3.2.0.4 Diagrama Entidad-Relación de la base de datos interna.

Cada usuario necesita su propia configuración, así que un sistema de ingreso es

indispensable el cual incluya los mínimos datos requeridos para una autentificación,

tratando de hacer más fluido y menos tedioso el uso de la aplicación. Tratando de

persuadir más al usuario se incluirá una conexión a la red social ”Facebook”, el

propósito funcional de esta vinculación será mencionado posteriormente en las

funcionalidades de la aplicación, en cuanto a base de datos, está planeado hacer más

fácil el registro obteniendo los datos principales de la cuenta del usuario, minimizando

la captura y agilizando el proceso.

Cuando se crea un usuario, necesita relacionarlo con los datos que ha seleccionado

como: Nivel, Institución, Escuela, Semestre y Materias, por medio de los diferentes

identificadores de cada uno de estos registros.

Tomando en cuenta que un usuario solo puede estar inscrito en un solo nivel, una

institución y una escuela al mismo tiempo, por el contrario puede estar cursando

diferentes semestres y materias, por diferentes situaciones que no se han tomado en

consideración ya que no afectan a las reglas de negocio de la aplicación.

Las diferentes relaciones y tablas consideradas en la base de datos interna se

muestran en el siguiente diagrama, considerando que debido a las diferencias con

MySql y SQLite, la base de datos necesita ser creada en el primer proceso que ejecute

nuestro sistema para su posterior consulta y estas tablas y sus relaciones se crean por

medio de código nativo en este caso.

Page 33: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

30

Diferentes procesos de esta aplicación utilizan almacenamiento de datos, que utilizan

diversos procesos de almacenamiento ya sea de archivos o de variables, ajenos a la

base de datos.

La decisión que permanecieran fuera a esta estructura se debe a que la mayoría son

datos no relacionales y otros métodos de guardado de datos funcionan más rápido

tanto para su guardado como para su posterior lectura.

Estos métodos serán explicados a la par de la funcionalidad que los utiliza, con el

propósito de que su entendimiento sea más claro y conciso.

La aplicación móvil cuenta con diferentes funciones, enlazadas unas con otros en

algunos casos según su uso. Y en algunos casos funcionando a la par con el fin de

hacer más fluido el proceso general.

Siguiendo con las tendencias marcadas por diferentes aplicaciones con éxito como “”,

la aplicación iniciará con un tutorial visual, el cual muestra el funcionamiento de la

aplicación, esto será visible la primera vez que el usuario ingrese a la aplicación.

Posteriormente se mostrará una ventana que contará con tres funcionalidades.

La primera será el ingreso a usuarios ya registrados, esto se hace por medio de la

confirmación del nombre de usuario así como su contraseña, para fácil accesibilidad

estos registros serán confirmados con la base de datos interna con el propósito de no

limitar el uso de nuestro sistema, al alcance del internet.

El registro de usuario contará de tres diferentes fases, las cuales se asignan en tres

diferentes pantallas así como en tres diferentes clases. El flujo de datos es un

problema que en este tipo de aplicaciones, debido a las diferentes consultas en base

de datos, nos lo puede demostrar de forma lenta. Esto a causa de que la mayoría de

estas consultas son anidadas, necesitamos el resultado anterior para proceder con la

siguiente consulta.

Por la manera en la que android está diseñado, (al igual que la mayoría de los

sistemas operativos), un hilo principal se encarga de generar y delegar los procesos

con las consultas al depender de hilos secundarios y estos estar esperando una

respuesta de manera infinita hasta conseguirla, logran que se esté hilo principal se

sature, lo que a pequeña escala conduce a hacerse lenta la aplicación, llegando hasta

el daño del procesador del móvil debido al calentamiento.

Page 34: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

31

Figura 3.2.0.5 Diagrama de clases de la aplicación

Page 35: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

32

Es por esto que las tres clases, a su vez ligadas con tres actividades distribuyen estos

procesos permitiendo generar y liberar memoria, agilizando nuestro sistema y

procurando el buen estado del dispositivo.

La primera de estas tres actividades tiene como propósito capturar los datos

principales del usuario, como nombre de usuario, una contraseña con la confirmación

correspondiente, el sexo, pensando en futuras notificaciones personalizadas, y un

botón el cual nos facilita la tarea de la captura obteniendo estos datos de nuestra

cuenta de Facebook.

El segundo paso requerirá por primera vez en nuestra aplicación acceder a la red para

consultar la base de datos, en esta clase principalmente almacena los datos escolares

generales para mostrar las materias a cursar.

La forma en que se representan las categorías están organizadas jerárquicamente y

se actualizan automáticamente dependiendo como vayan siendo seleccionadas, con el

fin de proporcionar al usuario la mayor facilidad.

Para la tercera clase los datos previamente seleccionados aun no han sido guardados,

solo se van enviando de clase en clase, recordemos que este era un proceso en

general y lo delegamos a tres diferentes clases, ahora al final conjuntarán los datos y

los insertarán ya sea en la base de datos interna o en alguno de los otros métodos de

guardado.

La ultima parte de la configuración de usuario, consiste en desplegar las materias

correspondientes al semestre seleccionado, otorgando la posibilidad al usuario de

escoger las materias que cursará en el semestre. Y recordando que por cada

semestre se pueden cursar materias de periodos anteriores o futuros, se da la opción

de escoger más materias. Con lo cual se termina el proceso de configuración.

Una vez terminado el registro por usuario se puede ingresar completamente a todas

las funcionalidades tratando de limitar el uso de la red para brindar una mejor

experiencia de usuario.

Tomando en cuenta que las aplicaciones son una nueva implementación tanto

internacional, y más aún nacionalmente, han surgido diferentes y nuevas tendencias

de diseño avaladas por mercadólogos, diseñadores y desarrolladores las cuales

permiten al usuario desarrollar y mantener una atracción hacia el sistema.

Continuando con estos paradigmas establecidos en diferentes escritos se han tratado

de implantar en nuestro sistema, haciendo más fluido, natural y sencillo de usar.

Es por eso que la implantación requiere el máximo de funcionalidades en el mínimo

espacio requerido entrelazadas de la mejor manera para no ocasionar problemas de

ejecución.

Así se llego al diseño de un menú general, el cual será colocado en la parte inferior de

nuestra pantalla para establecer como un fondo de pantalla dinámico el horario y las

notas propias del usuario.

Page 36: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

33

Este menú contendrá por lo menos 5 opciones, la primera de ellas será la

configuración del horario y las funcionalidades propias.

Como primer paso se toma en cuenta que el usuario tiene la libre decisión de

configurar su horario, se da la opción de que introduzca las diferentes materias que

cursa por fila, seleccionando las horas por rango, ofreciendo las validaciones

necesarias para evitar problemas tanto de comprensión como de ejecución y base de

datos.

Se agrega una fila por cada rango de hora, donde se selecciona hora de inicio y hora

de fin, seleccionados apropiadamente gracias al elemento propio de android llamado

“Time Picker”.

Por cada fila se crea una casilla por cada día de la semana. Donde con un primer “tap”

se selecciona una de las materias seleccionadas en nuestra configuración de usuario.

Estas materias se muestran en un Dialogo de alerta propio de la plataforma y se llena

con el contenido obtenido de la base de datos, con el nombre de la materia, así como

con ID asignado único.

Seleccionadas las materias de cada usuario conforme a sus necesidades se libera el

botón de confirmación, el cual notifica al usuario que es una configuración final. Otros

cambios posteriores tendrán que ser ajenos y pueden crear modificaciones en las

alertas de los eventos, ya que cada uno de estos eventos programados esta

especificado a una hora.

Aceptados estos términos la funcionalidades de las casillas cambian, permitiendo al

estudiante permanecer en la misma pantalla y empezar a hacer uno del sistema.

Con esto se muestra un dialogo por casilla seleccionada, lo cual despliega dos

funcionalidades.

La primera de estas es la introducción de un evento, al seleccionar una casilla del

horario y después un evento, la aplicación toma los valores de la casilla facilitando la

captura de los datos y tomando de la base de datos el nombre de la materia, el id, y el

horario.

Como campos propios del evento, se introduce una descripción, una fecha de entrega

una prioridad y una categoría, en la fecha establecida al usuario se le solicita por

medio de una notificación facilitando el posterior calculo de estadísticas.

No olvidando las necesidades del usuario se diseño una funcionalidad la cual es capaz

de manejar los diferentes datos que el usuario introduzca como imágenes desde

galería, cámara o notas, organizándolos por fecha en una línea de tiempo

independiente por materia. La generación del perfil como se menciono antes depende

de todos los datos ya sean descargados de la base de datos externa o de los datos

acumulados por el usuario.

Page 37: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

34

Con esto se procede a utilizar el algoritmo el cual permite hacer un cruce, este cruce

se realiza ya que por cada materia se tienen ciertas competencias específicas, por

cada tipo de trabajo entregado se ubican competencias generales y multiplicándolas

por los resultados obtenidos en estos mismos trabajos.

Page 38: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

35

Capítulo 4 Implementación del Proyecto

4.1 Base de Datos Externa

En base a la información contenida en los capítulos anteriores sirvió de apoyo para la

creación de la aplicación ya que se hizo especialmente para apoyar al alumno a

mejorar su calidad educativa.

Una parte fundamental del sistema es la consulta de nuestra base de datos y por lo

tanto la inserción de datos a esta misma, para se recurre como antes se menciono a

una conexión por medio del lenguaje php.

Gracias a los elementos empleados en esta aplicación se darán resultados que en

comparación a otras aplicaciones móviles ya antes mencionadas, serán de gran ayuda

hacia el usuario, ya que las mejoras realizadas y las innovaciones ya implementadas

hacen de la aplicación un proyecto que dará fruto conforme el usuario disponga de

ella.

Figura 4.1.1 Conexión a Base de Datos por Código PHP

Esta parte de código solo nos conecta a la base de datos, las inserciones dependen

del administrador, como ya se menciono se recurre a un método de parseo que agiliza

el trabajo y nos permite detectar cambios desde el contenido HTML de una URL, en

este caso el sitio donde se alojan los datos de las escuelas.

Localizando los Diferentes sitios web de los cuales se pueden obtener los datos para

las escuelas que se tiene contempladas, se analiza el contenido web, y analizando el

DOM, se puede llegar hasta los elementos hijos del nodo raíz los cuales contienen la

información deseada.

Page 39: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

36

Figura 4.1.2 Contenido HTML del Sitio Web

Una vez obtenida la información, necesita pasar por un filtro el cual nos ayudará a

limpiar la información de la formación de caracteres por el tipo de codificación que se

maneja, así como de variables no deseadas.

Figura 4.1.3 Resultado obtenido por el método de parseo HTML.

Debido a que el método de parseo utilizado usa como plataforma el lenguaje de

programación PHP y a su vez este lenguaje se ejecuta en el servidor, es posible que

por cada resultado obtenido se genere una inserción inmediata, ayudado de la

conexión a la base de datos y generando la instrucción SQL.

Page 40: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

37

Figura 4.1.4 Inserción de datos obtenidos en la tabla Escuelas.

Estas inserciones tienen efecto inmediato en nuestra base y ahora están disponibles

para cualquier consulta que el usuario desee desde la aplicación al momento del

registro.

Con códigos similares y cambiando la URL de origen, así como los diferentes

parámetros para realizar la búsqueda de los nodos hijos en el documento HTML y

filtrando los resultados se pueden obtener los datos para las diferentes tablas en

nuestra base de datos.

Figura 4.1.5 Consulta de la base de datos con los datos insertados.

Page 41: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

38

4.2 Base de Datos Interna.

La Generación de esta base de datos es generada dentro de la misma aplicación, ya

que será de uso exclusivo de la misma una vez instalada y solo almacenará los datos

de los usuarios registrados, por lo tanto se recurre a las librerías que el lenguaje Java

ofrece así como SQLite considerando que la base de datos será móvil.

Figura 4.2.1 Asignación de nombres de los campos de las tablas.

Figura 4.2.2 Creación de Tablas

Page 42: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

39

Figura 4.2.3 Creación de Base de Datos.

4.3 Aplicación Móvil

4.3.1 Diseño

Como se menciono en capítulos anteriores una parte muy importante a considerar en

el proyecto, es la interfaz gráfica para producir una experiencia más agradable que

favorezca al usuario en el uso de las funcionalidades de la aplicación.

Como primera pantalla mostramos el splash, el cual cumple con la doble función de

ser la introducción por unos segundos de la aplicación cada vez que se acceda a esta,

así como de mantener visualmente ocupado al usuario mientras los principales

procesos se realizan síncronamente. Este proceso muestra una pantalla de acceso a

la aplicación, la cual, redireccionará a la ventana adecuada para crear una nueva

cuenta en caso de no haber generado una anteriormente.

Figura 4.3.1.1.Diseño pantalla de inicio

Page 43: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

40

El registro de nuevos usuarios ligado a nuestra aplicación, solicita una conexión a

nuestra base de datos externa y dependiendo de estos parámetros se recibirá un

paquete de datos, el cual, contendrá las materias y las competencias de manera

encapsulada en un objeto.

Figura 4.3.1.2 Diseño pantalla registro

Posteriormente, el usuario podrá elegir solo las materias que el necesite para su ciclo

escolar. La siguiente ventana que mostramos será el menú, el cual contendrá las 5

funcionalidades o reportes de estadísticas, donde planeamos incluir el reporte de las

competencias desarrolladas para evitar confusión y frustración al usuario.

Figura 4.3.1.3 Diseño Menú Principal

Una de las principales funcionalidades a desarrollar es el horario del usuario por lo que

decidimos crear una lista dinámica compuesta por botones, los cuales tendrán la

posibilidad de agregar la hora o la materia conforme corresponda así como guardar el

horario una vez configurado.

Figura 4.3.1.4 Diseño Configuración Horario

Page 44: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

41

Terminada esta configuración, las propiedades de los botones cambiarán para poder

mostrar ahora una nueva ventana, en la que se asignarán los eventos que el usuario

desee para después guardarlos en base de datos y enviar las notificaciones

necesarias.

Figura 4.3.1.5 Diseño Creación de eventos

Para la línea de tiempo se creó una ventana, la cual pueda ser deslizable debido a que

el contenido de esta aumenta o disminuye dependiendo de las actualizaciones. El

contenido se diseñó para ser capaz de contener ya sea imágenes de cámara, de la

galería o de notas realizadas en el móvil.

Figura 4.3.1.6 Diseño Línea de tiempo.

La incorporación del sistema de captura de evaluaciones ha sido acoplada de la

manera más dinámica y fluida posible, es por eso que se incluye una barra de

tabuladores los cuales indican el periodo de la evaluación, y para los porcentajes por

materia, se han introducido barras de desplazamiento.

Page 45: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

42

Figura 4.3.1.7 Diseño captura de evaluaciones.

Las gráficas de rendimiento incluidas, abarcarán el tamaño completo de la pantalla,

haciendo más fácil poder observar su desempeño.

Figura 4.3.1.8 Diseño pantalla de Gráficas

Como última funcionalidad incluimos una lista de los eventos programados por

usuario, la cual será deslizable dependiendo el contenido que haya sido generado y

almacenado en la base de datos interna.

Figura 4.3.1.9 Diseño lista de eventos

Page 46: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

43

4.3.2 Desarrollo Fase 1

Como segunda parte del proyecto se inicio con el planteamiento de la aplicación,

tomando en cuenta varios aspectos que, vistas en otras aplicaciones, se analizaron y

mejoraron a través de su avance. Una de las primeras cosas que se implementaron

fue el fondo de pantalla que la aplicación tendrá, comparándolo así con las demás

aplicaciones; se pensó en algo que llamará la atención del usuario y que fuera vistoso

al abrirla ya que siendo más llamativa atraería a más usuarios que quisieran obtener la

aplicación.

La figura 4.3.8 muestra la pantalla de inicio de la aplicación, tomando en cuenta el

eslogan y los colores que harán de su presentación algo única.

Figura 4.3.8 Pantalla de inicio

Después de haber realizado la pantalla de inicio, diseñamos la pantalla de creación del

usuario o del login, poniendo como entrada la cuenta de usuario y la contraseña, de no

haber adquirido ninguno de los dos datos pedidos por la aplicación, se procede a

llenar una clase de datos, como en la figura 4.3.9, para que la aplicación pueda crear

la cuenta de usuario y generar la contraseña que se necesita para la apertura de la

aplicación. Ya obtenidos estos datos se podrá ingresar a la aplicación de forma

instantánea gozando de las atributos que esta tiene.

Page 47: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

44

Figura 4.3.9 Creación de la cuenta de usuario

Ya creada la cuenta de usuario, la aplicación muestra un menú en el cual el usuario

escogerá los datos escolares a los que desea que la aplicación acceda como se

muestra en la figura 4.3.10, ya que por medio de esos datos y dependiendo del

semestre seleccionado, la tira de materias a escoger variará como se exhibe en el

ejemplo de la figura 4.3.11, que presenta como asignar las materias a cursar y las que

no se cursarán.

Figura 4.3.10 Menú de datos escolares

Figura 4.3.11 Ejemplo de selección de materias

Page 48: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

45

Como siguiente paso se dará a conocer el horario, con opción a configuración de día

y hora correspondiente a cada materia seleccionada por el usuario como se observa

en la figura 4.3.12, poniendo así la estructura formal de un horario de clases regular

como se muestra en la figura 4.3.13, donde la aplicación dará de forma correcta y

ordenada la organización de dicho itinerario.

Figura 4.3.12 Configuración de horas

Figura 4.3.13 Selección de materias

Terminada ya la configuración del horario, ya se tiene acceso a los diferentes

atributos que posee la aplicación, tomando en cuenta los datos incluidos

anteriormente. Se presenta una de las innovaciones creadas en la aplicación que fue

hecha para hacer recordatorios en una fotografía, en el cual se podrá hacer

anotaciones sobre la imagen, para recordar eventos importantes ya sea tareas, notas

extra clase, etc., lo que ayudará al usuario a no olvidar acontecimientos significativos

para su estudio.

Esta novedad en la aplicación será fácil de usar, ya que a su manejo práctico de la

misma, ayudará al alumno a hacer notas más rápidas sin necesidad de apuntar en una

hoja de papel o algún similar y que fue diseñada para agilizar este proceso y así no

Page 49: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

46

desperdiciar cualquier tipo de papel. En la figura 4.3.14 se muestra el ejemplo de una

imagen la cual fue capturada por un dispositivo móvil, en donde se muestra como se

puede hacer un pequeño rayón por parte del usuario dando a conocer que sobre la

pantalla se puede hacer anotaciones como antes se menciono.

Figura 4.3.14 Ejemplo de innovación

Para hacer uso de esta parte primero se selecciona en el horario de clases la materia

a la cual se desea que se guarde la foto y hacer los apuntes correspondientes; ya

seleccionada la materia, se despliega un menú como en la figura 4.3.15, el cual te da

tres opciones: Foto y Nota; se usará la opción que diga Foto para así acceder a

capturar la fotografía o tomar la opción de acceder a la galería de fotos mostrada en la

figura 4.3.16 y ahí seleccionar una imagen existente para que pueda ser utilizable a la

hora de hacer las anotaciones que el usuario desee.

Figura 4.3.15 Menú de opciones para selección de foto

Page 50: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

47

Figura 4.3.16 Selección de Fotografía

Ya habiendo seleccionado la fotografía correspondiente al apunte del usuario como en

la figura 4.3.17, que demuestra la selección de imagen de la galería de fotografías

capturadas anteriormente por él usuario, para que pueda ser usada para hacer

anotaciones, se procede a ser guardada en la aplicación para que el usuario pueda

visualizarla desde ahí, haciendo que no se olvide de sus notas y así ayudarlo a dar

seguimiento a sus observaciones apuntadas por el usuario mismo.

Figura 4.3.17 Galería de imágenes

Ya habiendo conocido este tipo de innovación en la aplicación, se procede a pasar a

otra, la cual, por medio de este, el usuario introduce datos que la aplicación toma para

poder dar a conocer el rendimiento del usuario de tal forma que dé una estadística de

información que ayudará al alumno de forma anímica a que siga con sus estudios

dependiendo de que tan bien se encamine hasta lograr la meta propuesta por el

mismo usuario.

Las gráficas que la aplicación ofrece son en base a datos que el usuario introduce

como calificaciones de exámenes, tareas entregadas, trabajos extra clase, etc., que a

su vez la aplicación toma como referencia para poder dar una estadística exacta de

que tal es su rendimiento por medio de estas referencias.

En la figura 4.3.18 muestra un menú en la que el usuario decidirá qué tipo de gráfica

quiere observar. Hay dos posibles opciones: la gráfica clásica y la gráfica en tiempo

real.

Page 51: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

48

Figura 4.3.18 Menú de gráficas

Cada una tiene dos estilos de graficas, en línea y en barra, la cual el usuario decidirá

cual a su propia conveniencia o a sus necesidades. En las figuras 4.3.19 y 4.3.20 se

muestran las diferentes gráficas que la aplicación proporciona al usuario.

Figura 4.3.19 Gráfica en línea

Figura 4.3.20 Gráfica en barras

Ya conociendo el tipo de gráficas que la aplicación tiene, se hizo un ejemplo

mostrando como la gráfica da a conocer las estadísticas del usuario; que ha

introducido sus eventos o calificaciones que haya obtenido a través de pruebas dentro

del plantel estudiantil. En la figura 4.3.21 muestra el ejemplo antes mencionado en

forma de gráfica de barras en la que nos muestra por materia, la estadística por día

que el alumno obtendrá por medio de los datos capturados por la aplicación.

Figura 4.3.21 Ejemplo de gráficas en barras

Page 52: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

49

En la imagen 4.3.22 se muestra la gráfica en línea que la aplicación ofrece, poniendo

como ejemplo los mismos datos que la gráfica anterior tenia pero ahora mostrándolo

mediante datos recopilador durante todo el semestre cursado para que el usuario

pueda escoger la que se ajuste a sus necesidades mostrándole la información

deseada.

Figura 4.3.22 Ejemplo de gráfica en línea.

4.3.3 Desarrollo Fase 2

En esta fase incluimos mejoras tanto visuales como de funcionalidad. Como se

muestra en la figura 4.3.23, la nueva pantalla cuenta con el logotipo de la aplicación,

con lo que se planea atraer al usuario con un diseño universitario y moderno.

Figura 4.3.23 Pantalla de apertura

Page 53: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

50

En la pantalla de registro, implementamos el nuevo diseño y mejoras acerca de la

navegación, las cuales permiten al usuario una transición más sencilla entre pantallas.

Figura 4.3.24 Pantalla final de acceso

En la figura 4.3.25, se muestra la pantalla final de registro de usuario, el cual ahora

podrá iniciar una conexión a Facebook, que permite enlazarse a una cuenta y obtener

los datos de esta red social acelerando el proceso de registro.

Figura 4.3.25 Pantalla final de registro

Page 54: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

51

En el segundo nivel, la interfaz de usuario se encuentra mejorada, así como una nueva

estructura de base de datos la cual permite que la velocidad entre requerimiento y

envío de datos sea más rápida.

Figura 4.3.26 Pantalla final del segundo nivel de registro

En la lista de materias a seleccionar, que se muestra en la imagen 4.3.27 agregamos

el diseño correspondiente, a nivel de base de datos se descargan por perfil y por

materia las competencias, esto al momento de finalizar el registro. También con la

finalidad de que el registro sea completo, es solo al final que se almacena en la base

de datos los registros de los dos niveles anteriores, para prevenir duplicados o errores

de relaciones, en el caso en que el usuario cancele su proceso de registro.

Figura 4.3.27 Pantalla final nivel tres de registro.

Page 55: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

52

El menú de la aplicación se simplifico utilizando solo los accesos a las funcionalidades

necesarias, e incluyendo un visor en el cual se muestran las imágenes

correspondientes a las competencias del usuario, se incluye un cierre de sesión con lo

cual se brinda la oportunidad a un diferente usuario de entrar a su cuenta.

Figura 4.3.28 Pantalla final del menú principal.

La imagen 4.3.29 muestra la pantalla del horario que ahora más dinámica y limpia,

eliminando el elemento pop-up y agregando una nueva ventana como se muestra en

la imagen 4.3.30, permitiendo al usuario un mejor registro de eventos agregando

campos como prioridad y tipo de evento.

Figura 4.3.29: Pantalla final Horario.

Page 56: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

53

Figura 4.3.30: Pantalla final generación de evento.

La captura de imágenes se sustituye por la línea de tiempo que se muestra en la

imagen 4.3.31 que permite la captura de imágenes o la utilización de imágenes directo

de la galería, así como una mejora en la interfaz de dibujo que se muestra en la

imagen 4 3.32 por medio de la pantalla táctil, y la incorporación de notas y el envío a

través de bluetooth.

Figura 4.3.31 Pantalla Línea de Tiempo

Page 57: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

54

Figura 4.3.32 Pantalla interfaz dibujo táctil..

La figura 4.3.33 muestra la captura de las evaluaciones dependiendo el periodo,

contenidas en tres diferentes tabuladores lo cual minimiza la transición entre

actividades y con la visibilidad de los porcentajes en cada materia que el usuario ha

registrado.

Figura 4.3.33 Ejemplo de gráfica en línea.

Page 58: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

55

Conclusiones

La presente tesis tuvo como objetivo diseñar y programar una aplicación móvil desarrollada en el sistema operativo android. Para llevarlo a cabo primero se realizo un análisis de las aplicaciones actuales, observando que el flujo de información se encuentra limitado en simples datos del usuario almacenando información pero no reutilizándola y observando por datos de las tiendas de aplicaciones que el uso de las mismas para productividad, demanda más y mejor atención por parte de los desarrolladores. Definitivamente se observo que los flujos de información se están haciendo menos cíclicos y sin ningún fin, lo que quiere decir que las funcionalidades no llegan más allá de las expectativas del usuario. El hecho de las nuevas tendencias en el desarrollo de aplicaciones móviles, brindan una portabilidad, así como una programación más personalizada dificultando las diferentes condiciones con las cuales se deben contar. En términos más técnicos se concluye que el análisis de la base de datos externa, fue tan primordial como confusa; la relación entre más de tres tablas fue la solución. Esto a su vez permitió una relación más profunda entre cada campo, pero a su vez, el acceso a datos específicos requirió de un número más grande de parámetros y que los datos fueran cuidadosamente seleccionados dependiendo del tipo de uniones en las consultas. La agilidad aumentó al ahora para ingresar a más de tres tablas por medio de una sola consulta. Es importante notar que, el desempeño de la base de datos remota montada en un servidor local, se comporta de manera totalmente diferente si esta es puesta en un servidor externo y para accesar a ella, se necesita de una conexión a internet. En cuando a la misma base, el lenguaje SQL, el sistema de montaje de base de datos así como el motor MySQL, facilitan mucho el trabajo, es tan simple como exportar un tipo de archivo y por medio del sistema montarlo y hacer las pruebas de ejecución y consulta permitentes para asegurarnos de su correcto funcionamiento. No solo basta con cambiar la ubicación de nuestra base de datos, si no de los procesos que interactúan con ella, no olvidar que el lenguaje de programación que se eligió para realizar las diferentes consultas tiene la ventaja de ejecutarse en el servidor, así que ahí deben ser colocados nuestros servicios. La primera complicación que se presentó es al accesar a esta información, ya que a pesar de que la base está constituida de la misma manera, los prefijos en las consultas que antes se necesitaban ahora causan complicaciones; la forma de corregirlo fue suprimir estos detalles y dejar las consultas de la manera más simple. Sin duda el manejador de base de datos utilizado facilita la exploración de la base de datos, es por eso que la vinculación de este con la nueva base por medio de una nueva conexión fue necesaria, pero estas conexiones resultaron complejas y sin éxito, debido a que nuestro servicio de host donde está montada la base de datos es ajeno, así que no contábamos con los permisos necesarios. Con esto pudimos deducir que toda la accesibilidad es más factible si se cuenta con un espacio propio de pruebas.

Page 59: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

56

Se determinó que las diferentes consultas a ejecutar serian más simples por medio de servicios externos en las nuevas actualizaciones que se tenían que montar en la aplicación, notamos una gran ventaja de estar usando diferentes plataformas para diferentes áreas; el área que utiliza el recurso solo se preocupa por la forma en la que recibe el paquete de datos, no de donde lo obtiene, por lo tanto el cambio de localidad de la base de datos no afecto en la aplicación más que en el cambio de dirección del cual lo obtendrá. En cuestión al desarrollo, el sistema operativo móvil android funcionó a nuestro favor, debido a que es el más usado y cuenta con diferentes fuentes de información, así mismo permite su accesibilidad para realizar diferentes pruebas, aunque como cualquier sistema cuenta con limitaciones o dificultades. Las consultas de bases de datos internas se realizaron accesando a los datos del emulador, trabajando con una base de datos de solo lectura, alentando en análisis diseño y depuración de la estructura de la base así como de los métodos de la aplicación que accesan a ella sea cual sea la operación. Los diferentes tamaños de dispositivos en el mercado representan una gran complejidad, tomando en cuenta que existen más de tres mil modelos diferentes con este sistema operativo y a pesar de que entre ellos mismos cuentas con tamaños de pantallas similares algunos varían dependiendo la resolución, esto causo un gran problema en la toma de decisión de en que dispositivo desarrollar la primera versión, ya que los diferentes libros que hablan de la experiencia de usuario y la interfaz de usuario, es recomendable empezar a programar bajo una resolución, por lo cual escogimos una pantalla que se adaptara a una tableta de 7 pulgadas, debido a que las funcionalidades serian más accesibles, y el diseño quedaría mejor desarrollado. Una variable mas en el desarrollo a considerar fue la versión de sistema operativo, ya que hasta ahora se cuenta con más de diez diferentes versiones, las cuales en orden cronológico muestran mejoras, a pesar de eso según las gráficas mostradas en capítulos anteriores el 90 por ciento del mercado solo usa dos diferentes sistemas operativos. Con esto es definitivo que optar por una versión más antigua del sistema es la mejor opción en el caso de esta aplicación, ya que se necesitan las operaciones, funcionalidades y elementos nativos a los cuales se accesan, pueden ser utilizando con la versión 2.3 del sistema operativo, así como las últimas versiones sin tener nada depreciado, y con esto abarcamos los dos diferentes sistemas superiores a la versión mencionada, ya que se evita reducir el mercado. La accesibilidad como desarrollador a otras plataformas con las cuales la plataforma coexista es indispensable, por eso concluimos que desarrollar una aplicación ya sea móvil web o de escritorio necesita más de un lenguaje. En este caso la característica que java presenta al ser software libre, funciono al integrar los otros elementos del sistema como bases de datos y servicios web. Es importante notar que al momento de empezar a desarrollar una aplicación móvil requiere un análisis en este caso más extenso que el de una aplicación de escritorio.

Page 60: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

57

Como pudimos deducir después de consultar nuestras fuentes en torno al desarrollo necesitábamos establecer un flujo que fuera apropiado para la cantidad de recursos que íbamos a consumir, ya que el uso correcto de la aplicación depende de una conexión a internet. Este diseño aporta estabilidad y mejores resultados considerando que esto implica un menor uso de memoria el cual sabemos que por el tipo de dispositivos está limitado. Manejar el flujo natural que debería tener la aplicación de manera gráfica, recuerda lo complejo o natural que puede ser, a pesar que el sistema cuenta con diferentes implementaciones por defecto, para el desarrollo y la interfaz de usuario esto fue una complicación y hubo que modificar el comportamiento natural. De esta forma se puede concluir que la interfaz gráfica de usuario sirve como medio

para la comunicación con un sistema. El diseñador cumple una función primordial

como constructor de mensajes. Todo proyecto de diseño implica un proceso pensado

y consiente que puede tener variaciones, todo depende de diversos factores entre

ellos del cambio y evolución que tenga el medio electrónico-digital para lograr que ésta

sea eficaz, de fácil uso y memorización y que incluso provoque emociones en el

usuario, en beneficio directo del mismo.

Pudimos observar que un menor uso de pantallas facilitaba el manejo de la aplicación tanto para el usuario como para el desarrollador, ya que en el caso del sistema se usan aproximadamente tres clases por actividad. En cuestión a consumo haciendo pruebas con los dos diferentes sistemas de manejo de conjuntos de datos como XML y JSON, fue definitivo que el segundo presentaba características más útiles para nuestro caso. Como la construcción automática por medio del servicio así como el uso de solo una etiqueta y su interpretación en android más simple. Es claro que las validaciones en un sistema operativo son más necesarias, complejas y variadas, salen del marco que originalmente ha sido establecido. El manejo de los elementos gráficos en la aplicación se han usado de las dos maneras existentes, estáticos y dinámicos, de lo anterior podemos concluir que el análisis es necesario para identificar que vista va a ser completamente necesaria construir a través de código cada elemento, ya que el manejo de su información, su construcción así como su transformación posterior es más fácil, pero no podemos olvidar que se necesitan diferentes parámetros como coordenadas, tamaño y contenido por cada uno de estos elementos. El manejo de estos mismo cualquiera que sea su origen es de las principales complejidades con las que nos encontramos, ya que el contenido tiene que estar cambiando constantemente lo haya decidió o no, siempre se está adaptando a la nueva información introducida. Con todos estos cambios realizados notamos que la mejor manera de construir un elemento en nuestro caso es de forma dinámica, ya que todo morfológicamente está cambiando como se menciono en el párrafo anterior dependiendo el contenido de la aplicación, y considerando que es usada por más de un usuario.

Page 61: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

58

Como en cualquier software es importante considerar que almacenamiento de los datos depende únicamente de aquel que el desarrollador implemento. En desarrollo móvil pudimos contar con diferentes opciones de almacenamiento y notamos que los diferentes datos a pesar de tener el mismo contexto no se relacionaban de la misma manera. En cuanto al almacenamiento de los datos se usaron tres diferentes formas notando las siguientes ventajas y desventajas.

Base de Datos Interna (SQLite). La creación y manejo se realiza directamente desde código, esto permite mayor manejo de datos y tablas a su vez es más complejo el desarrollo y los errores tienden a aumentar. Como la creación y manejo son una clase más se puede accesar a esta por medio de programación orientada a objetos lo cual permite que la conexión se realice por medio de una instanciación y llamado de un método. La inserción extracción y demás manejo de datos se hacen por medio de métodos manejo y retorno de parámetros lo cual agiliza el manejo de estos ya que todos estos registros se muestran como elementos propios del lenguaje de programación haciendo más fácil la tarea de involucrarlos en la aplicación sin requerir un método de parseo u otro parecido. Al ser una base de datos interna, no se cuenta con un manejador en tiempo real, lo cual dificulta las consultas de prueba o de rectificación de guardado o actualización. El acceso a la base de datos no es practico ya que se tiene que extraer de la memoria del emulador lo cual dificulta el proceso de depuración.

Archivos El más complejo de los tres usados, con más validaciones y más propenso a errores ya que está limitado a la capacidad de memoria externa del dispositivo. El usuario tiene acceso a estos archivo los cuales modificados pueden causar errores de aplicación. Se guardan diferentes tipos de texto e imágenes no dependiendo de un registro. La cantidad de texto no está limitada como en un registro de base de datos. La generalización es más compleja, en el caso de la aplicación por cada tipo de archivo a guardar en un método diferente.

Preferencias Principalmente se usa para validaciones y datos pequeños ya que su acceso y guardado es el más sencillo de todos, por lo cual es muy rápido para comparaciones de registros anteriores. Solo guarda pocos tipos de datos, lo cual limita a menos de que se cuente con una transformación de tipo de dato. Estos datos no fueron de fácil extracción así que cuentas con nivel de protección más alto que el método de guardado de archivos.

Page 62: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

59

Con todo esto mencionado se establece que el propósito de analizar, diseñar y desarrollar un sistema capaz de generar un perfil por medio de un asistente escolar ha sido exitoso. Con una primera fase de desarrollo ha sido posible replicar las principales funcionalidades que un estudiante llega a utilizar durante sus ciclos escolares, reutilizando la información existente en los sitios de internet y creando un ecosistema el cual permita el flujo de datos de la manera más natural, utilizando diferentes recursos explotando las características con las cuales estos fueron diseñados. Con un número limitado de pruebas pudimos observar que lo usuarios se encuentran en un entorno agradable rápido y conciso en la aplicación. Ingresando de una forma rápida fluida, con lo cual se logra una aplicación de bolsillo, poderosa y rápida.

Page 63: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

60

Apéndices/Anexos

A. Instalación de IDE Eclipse

Una vez descargado el software de internet, Eclipse inicia su instalación, se crea una

carpeta llamada eclipse y se procede a descomprimir el archivo descargado indicando

solamente la unidad donde se va a instalar un ejemplo seria en el disco C. Ya creada

la carpeta se dirige al archivo de tipo ejecutable para iniciar la configuración del

software, ejemplo: eclipse.exe

La primera imagen que aparece es el logotipo de eclipse como se muestra en la figura

A, que es la pantalla inicial de la instalación.

Figura A. Logotipo de eclipse

Después ya que se ejecutó el editor eclipse por primera vez, aparece un diálogo para

seleccionar la carpeta donde se almacenarán los programas por desarrollar para una

mejor organización y así evitar perder los archivos hechos en el editor. Aparecerá una

ventana, en la cual, el usuario elegirá la dirección en que quiere que la carpeta de

archivos se encuentre como se muestra en la figura B:

Figura B. Elección de la dirección de carpeta de archivos

Page 64: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

61

Ya configurada la carpeta de archivos el editor enseñara una pantalla de inicio como

se muestra en la figura C, ya habiéndola observado, se quitará oprimiendo el icono

Workbench, desplegando el entorno de trabajo del editor eclipse como se muestra en

la figura D.

Figura C. Ventana de bienvenida de eclipse

Figura D. Entorno de trabajo del editor Eclipse.

Page 65: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

62

B. Instalación de Xampp

El primer paso de todos, es conseguir el software XAMPP. Para ello, debe dirigirse a la

web de apache, que promueve este proyecto y se descarga el binario universal del

programa.

Una vez descargado y montado de forma automática la imagen (si no aparece un

icono similar al de un USB con el nombre de "XAMPP for Mac OS X 1.7.3", ir a la

carpeta descargas y haz doble click sobre el archivo recientemente descargado)

enseguida aparecerá la siguiente imagen:

Figura E: cambio de carpeta Xammpp a la de aplicaciones

Como muchas de las aplicaciones para este sistema operativo, se instala arrastrando

el archivo a la carpeta aplicaciones. Una vez copiado, al abrir la carpeta, podrá ver que

tiene varios alias. No debe interesarle, solo se necesita usar el icono llamado "XAMPP

Control".

Figura F: Búsqueda del ícono “Xammp_Control”

Al ejecutarlo, aparecerán dos ventanas, una ayuda rápida y el panel de control en sí.

En Getting starred, informa de información básica, como que, para acceder a la web,

Page 66: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

63

nos basta con poner, en un navegador, http://localhost (aún no funciona, tenemos que

levantar los servidores), y que, por defecto, el usuario root de MySQL no tiene

contraseña.

Figura G: Panel de control

Se debe proceder a dar el botón "Start" de Apache (servidor web) y de MySQL. Es

posible que pida la contraseña de nuestro usuario de mac OS. Esto es así porque

ejecuta unos scripts para poder hacer funcionar todo el sistema de BDD. Si todo ha ido

bien, las luces pertenecientes a los grupos que interesen estar en verde, tal que así:

Figura H: Menú de controles de Xampp.

Ahora, escribir en la barra de direcciones del navegador http://localhost accederá a

esta página (primero preguntará por nuestro idioma):

Figura I: Navegador Local

Page 67: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

64

Esto indica que se ha conseguido que el servidor web funcione correctamente. A partir

de aquí, todos los pasos son iguales en todos los sistemas operativos.

A continuación, utilizaremos PHPM y bAdmin, un gestor de bases de datos MySQL,

para configurar nuestra base de datos.

Figura J: Gestor de Base de Datos.

Lo primero que hay que hacer, es crear un usuario para conectar a la base de datos.

Acceder a la pestaña privilegios, y seleccionar agregar nuevo usuario:

Figura K: Pestaña Privilegios

En nombre de usuario y contraseña, poner lo que se quiera (teniendo en cuenta que

debe recordar), pero en Servidor, elegir del desplegable la opción local:

Page 68: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

65

Figura L: Permisos de Datos y Estructura

Como se puede ver en la figura L, se dieron todos los permisos de Datos y Estructura,

para no tener problemas con las operaciones que se realizarán. No es necesario crear

una base de datos con el nombre del usuario, puesto que se creará una que se llame

tiendaonline, para mantener los nombres con la BDD oficial. Si se pulsa en continuar,

que aparece abajo del todo, el sistema confirmará que se ha creado el usuario de

forma correcta. El siguiente paso, es crear la BDD tiendaonline. Para ello, necesitará el

fichero que ha proporcionado en moodle, el que se llama "tol.spl". Para acceder a su

contenido, lo abrimos con textedit, y copiamos todo el contenido (cmd+a y luego

cmd+v). Pulsar sobre la pestaña SQL, y escribir:

create database tiendaonline;

use tiendaonline;

cmd+v, es decir, pegar el contendio de tol.sql.

Tras esto, se podrá hacer click en continuar. Ejecutará todo y ya tendrá la BDD

armada, igual que la oficial. Se puede trabajar con ella con phpmyadmin, que es una

solución interesante, pero se recomienda trabajar con SQLDeveloper, puesto que

permite hacer copias de las instrucciones que el usuario de, mientras que, con

phpmyadmin, cuando se ejecutan no se pueden recuperar. Por lo tanto, ahora se hace

la configuración de SQLDeveloper para trabajar con nuestra BDD. Tan sólo se tiene

Page 69: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

66

que agregar una nueva conexión, como si fuése a introducir una de las oficiales, pero

con éstos datos:

Figura M: Nueva conexión

Nombre de Conexión: (nombre que elijas)

Usuario: el usuario que creamos en phpmyadmin

Contraseña: la que le dimos antes

Nombre del host: localhost

Puerto: 3306

Elegir en el desplegable tienda online, probar la conexión y, si no da problemas,

guardarla. Una vez guardada esta conexión, se puede ejecutar una instrucción de

prueba, tal que

select * from articulo

Y ver que nos devuelve lo mismo que en la oficial. Es importante tener en cuenta que

cualquiera, si conoce nuestra IP, puede acceder a esta BDD, así que lo mejor es

investigar para proteger los servidores, y desconectarlos cuando no se use (en el

panel de control de XAMPP, darle a Stop a los servicios) con estos pasos, ya se tiene

la BDD de forma local, y ha configurado un cliente SQL para poder acceder a ella.

Page 70: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

67

Anexo C. Artículo Presentado en Congreso

industrial.

Page 71: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

68

Page 72: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

69

Page 73: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

70

Page 74: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

71

Page 75: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

72

Page 76: Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme

73

Bibliografía

1. http://www.efefuturo.com/noticia/ios-contra-android-ventajas-y-caracteristicas/ 2. http://es.wikipedia.org/wiki/Android 3. http://es.scribd.com/doc/131841875/PFC-Jaime-Aranaz-Tudela-2010116132629 4. http://www.webopedia.com/TERM/A/Android_SDK.html 5. http://www.webopedia.com/TERM/A/Android_SDK.html 6. http://www.infor.uva.es/~cllamas/sd/temasPDF/Java.pdf 7. http://www.cad.com.mx/historia_del_lenguaje_java.htm 8. http://www.uv.es/~jgutierr/MySQL_Java/TutorialEclipse.pdf 9. http://www.uv.es/~jgutierr/MySQL_Java/TutorialEclipse.pdf 10. http://java-white-box.blogspot.mx/2012/08/eclipse-historia-de-eclipse-por-que-

e.html 11. http://es.wikipedia.org/wiki/MySQL 12. http://www.slideshare.net/maymania/sqlite-8346148 13. http://www.php.net/manual/es/intro.sqlite.php