Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de...
Transcript of Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de...
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
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.
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.
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
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
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
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
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
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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
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
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).
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
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.
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
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
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.
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
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
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.
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.
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.
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.
31
Figura 3.2.0.5 Diagrama de clases de la aplicación
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.
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.
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.
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.
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.
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.
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
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
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
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.
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
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.
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
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
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
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.
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
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
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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.
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,
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
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:
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
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.
67
Anexo C. Artículo Presentado en Congreso
industrial.
68
69
70
71
72
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