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
76
Embed
Instituto Politécnico Nacional · 2017. 5. 31. · A mi Papá, por explicarme el concepto de compromiso y familia sin decir una sola palabra, por estar no estando y por apoyarme
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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.
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,