universidad central del ecuador facultad de ......calidad de autores y titulares de los derechos...
TRANSCRIPT
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
Aplicación móvil para registro de asistencias de la Universidad Central del
Ecuador
Trabajo de titulación, modalidad proyecto integrador previo a la obtención del título
de Ingeniero Informático
Roca Espinosa Carlos Alberto
Villafuerte Benavides Arturo José
TUTOR: Ing. Robert Arturo Enríquez Reyes.
QUITO, 2017
ii
DERECHOS DE AUTOR
Nosotros, Carlos Alberto Roca Espinosa y Arturo José Villafuerte Benavides en
calidad de autores y titulares de los derechos morales y patrimoniales del trabajo de
titulación “Aplicación móvil para registro de asistencias de la Universidad Central
del Ecuador”, modalidad Proyecto Integrador, de conformidad con el Art. 114 del
CÓDIGO ORGÁNICO DE LA ECONOMÍA SOCIAL DE LOS CONOCIMIENTOS,
CREATIVIDAD E INNOVACIÓN, concedemos a favor de la Universidad Central del
Ecuador una licencia gratuita, intransferible y no exclusiva para el uso no comercial de
la obra, con fines estrictamente académicos. Conservamos a nuestro favor todos los
derechos de autor sobre la obra, establecidos en la normativa citada.
Así mismo, autorizamos a la Universidad Central del Ecuador para que realice la
digitalización y publicación de este trabajo de titulación en el repositorio virtual, de
conformidad a lo dispuesto en el Art. 144 de la Ley Orgánica de Educación Superior.
Los autores declaran que la obra objeto de la presente autorización es original en su
forma de expresión y no infringe el derecho de autor de terceros, asumiendo la
responsabilidad por cualquier reclamación que pudiera presentarse por esta causa y
liberando a la Universidad de toda responsabilidad.
Carlos Alberto Roca Espinosa
CC. 1721092342
Arturo José Villafuerte Benavides
CC. 1723587778
iii
ACEPTACIÓN DEL TUTOR
Por el presente dejo constancia que he leído el plan del trabajo de titulación, modalidad
PROYECTO INTEGRADOR, cuyo título es APLICACIÓN MOVIL PARA
REGISTRO DE ASISTENCIAS DE LA UNIVERSIDAD CENTRAL DEL
ECUADOR.
Presentado por Carlos Alberto Roca Espinosa y Arturo José Villafuerte Benavides.
Y en tal virtud acepto asesorar a los estudiantes en calidad de Tutor, durante el
desarrollo de mismo hasta la elaboración del informe final, presentación y evaluación.
Dado en la ciudad de Quito, a los 20 días, del mes de enero de 2017.
Ing. Robert Arturo Enríquez Reyes
CC. 1708600240
iv
DEDICATORIA
A mis padres Olga y Eduardo por haberme dado la vida, por todo su apoyo
incondicional quienes están conmigo en todos los momentos felices y también en los
difíciles, por haber sembrado en mí grandes valores y ayudarme a convertir en un
hombre de bien.
A mis hermanos Félix y Micaela por darme siempre su cariño más puro y sincero, sus
alegrías y compartir conmigo esta gran aventura llamada vida.
A Rodrigo, Gaby, Sofy y toda mi familia quienes con su apoyo me ayudaron a
reponerme de las duras batallas que da la vida, a esos grandes amigos que uno se
encuentra a lo largo del camino quienes llegaron a ser parte de mi familia, esto es por
ustedes.
Carlos Alberto Roca Espinosa
v
DEDICATORIA
Este Proyecto Integrador se la dedico a Dios quién supo, darme fuerzas para seguir
adelante, guiarme por el buen camino, sin desmayar en los problemas y dificultades
presentados, enseñándome a enfrentar las adversidades sin jamás perder la dignidad ni
desfallecer en el intento.
A mi familia quienes por ellos soy lo que soy, mis padres y mi hermana por su apoyo,
consejos, comprensión, amor y ser infaltables en momentos difíciles, por jamás
permitir la falta de algún tipo de recurso y mucho menos el calor que siempre está
presente en nuestra bella familia, soy todo lo que han formado de mí, por esto y muchas
cosas más todos mis logros son de ustedes.
Arturo José Villafuerte Benavides
vi
AGRADECIMIENTO
A la Ing. Susana Cadena directora de la Dirección de Tecnologías de la Información y
Comunicaciones de la Universidad Central del Ecuador, quien dio apertura y apoyo para que
este proyecto sea parte del portafolio de servicios de la dirección para el uso de toda la
comunidad universitaria.
A la Dirección de Tecnologías de la Información y Comunicaciones de la Universidad Central
del Ecuador, por permitirme hacer uso de las instalaciones e infraestructura y facilitarme la
utilización de la plataforma virtual Moodle.
A mi tutor Ing. Robert Enríquez, así como mis revisores Ing. Mario Morales e Ing. Franz del
Pozo por aportar con sus conocimientos profesionales y ayudar con sus experiencias
personales.
A mi compañero y amigo Arturo por todo el apoyo brindado en este gran proyecto para que la
aplicación cumpla sus objetivos y surja con éxito.
A Dios y a mi familia por estar siempre apoyándome para el cumplimiento de este gran sueño.
Carlos Alberto Roca Espinosa
vii
AGRADECIMIENTO
En el presente Proyecto Integrador primeramente me gustaría agradecerte a ti Dios por
bendecirme con cada escalón recorrido, por cada tropiezo que me han ayudado para
crecer como persona y profesional y porque hiciste realidad este sueño anhelado.
A la UNIVERSIDAD CENTRAL DEL ECUADOR por darme la oportunidad de
estudiar y ser un profesional.
A mis padres Gladys Benavides y Arturo Villafuerte quienes han sido, son y serán
siempre sin lugar a duda el pilar más importante de mi vida y formación en todos los
aspectos, mostrándome la línea directa hacia el éxito y acompañándome hacia él, su
apoyo incondicional ha sido el motor de arranque para cada uno de mis proyectos
personales y laborales, que me han llevado hacia este día, un día en que reitero mis más
grandes agradecimientos hacia Dios por darme el honor de tener los mejores padres del
mundo.
A mi hermana y gran amiga Xiomara Villafuerte indudablemente un gran modelo a
seguir como persona y una excelente profesional, quien con sus grandes consejos ha
logrado abrir mi mente, para dar paso a nuevas tonalidades y maneras de interpretar el
mundo con los cuales poder seguir sus pasos que tantos buenos resultados ha dado.
También me gustaría agradecer a la Ing. Susana Cadena Directora de Tecnologías de
la Información y Comunicación de la Universidad Central del Ecuador, quien ha
aportado a el desarrollo de este Proyecto con gran calidad humana y profesional, no
solo el apoyo moral y emocional del cual estoy tan agradecido, sino también el apoyo
al proveer los recursos necesarios para llevarse a cabo este un verdadero Proyecto
Integrador, donde se ha designado a grandes profesionales para ello como el Ing.
Gabriel Castro, Ing. Paul Tutillo, Ing. Rene Camacho y Ing. Alex Caizapanta, quienes
con gran amabilidad y pericia han sabido aportar los recursos a este mi proyecto.
Por último, pero no menos importante a mi Tutor Ing. Robert Enríquez, así como a mis
revisores Ing. Mario Morales y Ing. Franz del Pozo que dieron el valor que merece este
proyecto, aportando con sus conocimientos y su disposición para que este se lleve a
cabo de la mejor manera.
Arturo José Villafuerte Benavides
viii
CONTENIDO
DERECHOS DE AUTOR .....................................................................................................ii
ACEPTACIÓN DEL TUTOR .............................................................................................. iii
DEDICATORIA .................................................................................................................. iv
DEDICATORIA ...................................................................................................................v
AGRADECIMIENTO .......................................................................................................... vi
AGRADECIMIENTO ......................................................................................................... vii
CONTENIDO .................................................................................................................... viii
LISTA DE ILUSTRACIONES ........................................................................................... xii
LISTA DE TABLAS.......................................................................................................... xiv
RESUMEN ......................................................................................................................... xv
ABSTRACT ...................................................................................................................... xvi
1. PLANTEAMIENTO DEL PROBLEMA................................................................... 1
1.1. Antecedentes ....................................................................................................... 1
1.2. Descripción y definición del problema. .............................................................. 1
1.3. Formulación del problema.................................................................................. 3
1.4. Justificación. ....................................................................................................... 3
1.5. Objetivos. ............................................................................................................ 5
1.5.1. Objetivo General. ........................................................................................ 5
1.5.2. Objetivos Específicos. .................................................................................. 5
1.6. Alcances............................................................................................................... 5
1.7. Limitaciones. ....................................................................................................... 7
2. MARCO TEORICO ................................................................................................... 8
2.1. Marco Conceptual............................................................................................... 8
2.1.1. Android ....................................................................................................... 8
2.1.2. iOS ............................................................................................................... 8
2.1.3. Php ............................................................................................................... 8
2.1.4. Apache ......................................................................................................... 9
ix
2.1.5. Android Studio .......................................................................................... 10
2.1.6. Xcode ......................................................................................................... 10
2.1.7. Swift ........................................................................................................... 11
2.1.8. Java ............................................................................................................ 11
2.1.9. Moodle ....................................................................................................... 12
2.2. Fundamentación Legal ..................................................................................... 12
2.3. Estado del Arte.................................................................................................. 12
2.4. Comparación de Desarrollo Móvil ................................................................... 16
2.4.1. Mobile Web Apps Vs Aplicaciones Nativas .............................................. 16
2.4.2. Comparación y Selección de tipo de aplicación móvil .............................. 17
2.4.3. Web Services Php ...................................................................................... 18
3. METODOLOGIA .................................................................................................... 19
3.1. Cascada ................................................................................................................. 19
4. PROCESO DE DESARROLLO ................................................................................. 22
4.1. Ingeniería y Análisis del Sistema ...................................................................... 22
4.2. Análisis de los requisitos del software .............................................................. 22
4.2.1. Requerimientos del software para el desarrollo ....................................... 22
4.2.2. Requerimientos funcionales. ..................................................................... 23
4.2.3. Requerimientos no funcionales. ................................................................ 23
4.3. Diseño ................................................................................................................ 23
4.3.1. Arquitectura .............................................................................................. 23
4.3.2. Diseño conceptual de la base de datos ...................................................... 24
4.3.3. Diseño físico de la base de datos................................................................ 30
4.3.4. Diseño de interfaces ................................................................................... 31
4.3.5. Diseño de la aplicación móvil iOS ............................................................. 45
4.4. Codificación ...................................................................................................... 46
4.4.1. Creación de la base de datos para la aplicación móvil ............................. 46
4.4.2. Entidades ................................................................................................... 49
4.4.3. Sincronización ........................................................................................... 50
4.4.4. Constantes ................................................................................................. 53
x
4.4.5. Autenticación ............................................................................................. 55
4.4.6. Interacción con la base de datos MariaDB de Moodle ............................. 57
4.4.7. Web Service ............................................................................................... 59
4.4.8. Web Service Verificación Active Directory .............................................. 59
4.4.9. Web Service Conexión Base de Datos ....................................................... 60
4.4.10. Web Service Insertar Recurso Asistencia ................................................. 61
4.4.11. Web Service Obtener Docente, Asignatura, Estudiante........................... 63
4.4.12. Web Service Insertar Asistencas............................................................... 65
4.5. Pruebas .............................................................................................................. 65
4.6. Implementación ................................................................................................ 66
4.7. Casos de uso. ..................................................................................................... 67
4.7.1. Caso de uso activar docente en la plataforma virtual. ................................. 67
4.7.2. Caso de uso crear curso en la plataforma virtual. ....................................... 68
4.7.3. Caso de uso logearse en la aplicación. .......................................................... 70
4.7.4. Caso de uso crear actividad. ......................................................................... 71
4.7.5. Caso de uso crear sesión. .............................................................................. 73
4.7.6. Caso de uso registrar asistencia. ................................................................... 74
4.7.7. Caso de uso justificar asistencia. .................................................................. 75
4.7.8. Caso de uso visibilidad de reporte de asistencia por estudiantes. ................ 77
4.7.9. Caso de uso reporte de asistencia por materias............................................ 78
5. RESULTADOS ......................................................................................................... 80
5.1. Encuesta ............................................................................................................ 80
5.1.1. Forma de aplicación de la encuesta .......................................................... 80
5.1.2. Tamaño de la muestra ............................................................................... 80
5.1.3. Modelo de Encuesta .................................................................................. 82
5.1.4. Análisis de resultados ................................................................................ 85
6. CONCLUSIONES .................................................................................................... 90
7. RECOMENDACIONES .......................................................................................... 92
8. BIBLIOGRAFÍA ........................................................................................................ 93
9. ANEXOS ................................................................................................................... 96
xi
9.1. Anexo 1: Acces Points Universidad Central del Ecuador ................................ 96
9.2. Anexo 2: Aprobación de Quality Assurance de la Dirección de Tecnologías de
la Información y Comunicaciones................................................................................ 97
xii
LISTA DE ILUSTRACIONES
Ilustración 1: Moodle Mobile Limitación .......................................................................... 14
Ilustración 2: Moodle Attendance App.............................................................................. 15
Ilustración 3: Arquitectura de la Aplicación ...................................................................... 23
Ilustración 4: Diseño físico de la base de datos SQLite..................................................... 31
Ilustración 5: Interfaz Principal Android e iOS ................................................................. 32
Ilustración 6: Interfaz ingresar al sistema Android e iOS ................................................... 33
Ilustración 7: Interfaz menú principal Android e iOS ........................................................ 34
Ilustración 8: Interfaz mi perfil Android e iOS .................................................................. 35
Ilustración 9: Interfaz asignaturas Android e iOS .............................................................. 36
Ilustración 10: Interfaz actividades Android e iOS ............................................................ 37
Ilustración 11: Interfaz crear actividad Android e iOS ....................................................... 38
Ilustración 12: Interfaz sesiones Android e IOS ................................................................ 39
Ilustración 13: Interfaz crear sesión Android e iOS ........................................................... 40
Ilustración 14: Interfaz estudiantes Android e iOS ............................................................ 41
Ilustración 15: Interfaz justificar asistencia Android e iOS ................................................ 42
Ilustración 16: Interfaz reporte Android e iOS................................................................... 43
Ilustración 17: Interfaz reporte por estudiante Android e iOS ............................................ 44
Ilustración 18: Diseño de la aplicación móvil iOS ............................................................. 45
Ilustración 19: Script base de datos SQLite Android ......................................................... 47
Ilustración 20: Script base de datos SQLite iOS ................................................................ 48
Ilustración 21: Clase Entidad RecursoAsistencia– Android ............................................... 49
Ilustración 22: Clase Entidad RecursoAsistencia– iOS ...................................................... 50
Ilustración 23: Sincronización ida - Android ..................................................................... 51
Ilustración 24: Sincronización ida - iOS ............................................................................ 51
Ilustración 25: Sincronización regreso - Android .............................................................. 52
Ilustración 26: Sincronización regreso - iOS ..................................................................... 53
Ilustración 27: Clase Constantes - Android ....................................................................... 54
Ilustración 28: Clase Constantes - iOS .............................................................................. 54
Ilustración 29: Autenticación - Android ............................................................................ 55
Ilustración 30: Autenticación - iOS ................................................................................... 56
Ilustración 31: Tablas de base de datos Moodle ................................................................ 57
Ilustración 32: Tabla de base de datos Moodle plugin Attendance ..................................... 58
Ilustración 33: Web Service Verificación Active Directory ............................................... 60
Ilustración 34: Web Service Conexión Base de Datos ....................................................... 61
Ilustración 35: Web Service Insertar Recurso Asistencia ................................................... 62
Ilustración 36: Web Service Obtener Docente ................................................................... 63
xiii
Ilustración 37: Web Service Obtener Estudiantes .............................................................. 64
Ilustración 38: Web Service Obtener Asignaturas ............................................................. 64
Ilustración 39: Web Service Insertar Asistencas ................................................................ 65
Ilustración 40: Web Service Constantes BD ...................................................................... 66
Ilustración 41: Web Service Constantes URL ................................................................... 67
Ilustración 42: Caso de uso activar docente en la plataforma virtual .................................. 67
Ilustración 43: Caso de uso crear curso en la plataforma virtual ......................................... 68
Ilustración 44: Caso de uso logearse en la aplicación......................................................... 70
Ilustración 45: Caso de uso crear actividad ....................................................................... 71
Ilustración 46: Caso de uso crear sesión ............................................................................ 73
Ilustración 47 Caso de uso registrar asistencia ................................................................... 74
Ilustración 48: Caso de uso justificar asistencia .................................................................. 76
Ilustración 49: Caso de uso reporte de asistencia por estudiantes ...................................... 77
Ilustración 50: Caso de uso reporte de asistencia por materias .......................................... 78
Ilustración 51: Tamaño de la muestra................................................................................ 81
Ilustración 52: Modelo de encuesta ................................................................................... 84
Ilustración 53: Resultados Encuesta P1 ............................................................................. 85
Ilustración 54: Resultados Encuesta P2 ............................................................................. 86
Ilustración 55: Resultados Encuesta P3 ............................................................................. 87
Ilustración 56: Resultados Encuesta P4 ............................................................................. 88
Ilustración 57: Resultados Encuesta P5 ............................................................................. 89
xiv
LISTA DE TABLAS
Tabla 1: Ventajas App Nativas vs Web Apps vs Web Apps Nativas .................................. 17
Tabla 2: Desventajas App Nativas vs Web Apps vs Web Apps Nativa ............................... 18
Tabla 3: Descripción de los campos de las tablas de la base de datos ................................. 24
Tabla 4: Descripción de Entidad Profesor .......................................................................... 25
Tabla 5: Descripción de Entidad Estudiante ....................................................................... 25
Tabla 6: Descripción de Entidad Materia ........................................................................... 26
Tabla 7: Descripción de Entidad Asistencia ....................................................................... 27
Tabla 8: Descripción de Entidad ProfesorMateria .............................................................. 28
Tabla 9: Descripción de Entidad ProfesorMateriaEstudiante .............................................. 28
Tabla 10: Descripción de Entidad Sesión ........................................................................... 29
Tabla 11: Descripción de Entidad RecursoAsistencia ........................................................ 30
Tabla 12: Descripción de las tablas con las que se interactuó de la base de datos MariaDB de
Moodle .............................................................................................................................. 58
Tabla 13: Descripción de las tablas con las que se interactuó de la base de datos MariaDB de
Moodle plugin Attendance ................................................................................................. 59
Tabla 14: Descripción de caso de uso activar docente en la plataforma virtual ................... 68
Tabla 15: Descripción de caso de uso crear curso en la plataforma virtual.......................... 69
Tabla 16: Descripción de caso de uso loguearse en la aplicación ....................................... 70
Tabla 17: Descripción de caso de uso crear actividad......................................................... 72
Tabla 18: Descripción de caso de uso crear sesión ............................................................. 73
Tabla 19: Descripción de caso de uso registrar asistencia ................................................... 74
Tabla 20: Descripción de caso de uso justificar asistencia .................................................. 76
Tabla 21: Descripción de caso de uso de reporte de asistencia por estudiante. .................... 77
Tabla 22: Descripción de caso de uso reporte de asistencia por materia ............................. 78
Tabla 23: Nivel de confianza para la muestra..................................................................... 81
xv
TITULO: Aplicación móvil para registro de asistencias de la Universidad Central del
Ecuador
Autores: Carlos Alberto Roca Espinosa
Arturo José Villafuerte Benavides
Tutor: Ing. Robert Arturo Enríquez Reyes
RESUMEN
El presente trabajo tiene como objetivo facilitar el control de asistencia de los
estudiantes por parte de los docentes de la Universidad Central del Ecuador, por medio
de la Plataforma Virtual Académica Moodle, a través del uso de una aplicación móvil
Android o iOS la cual permita resguardar y proteger la información buscando mantener
la integridad, confidencialidad y disponibilidad de los datos, tanto en forma online
como offline por las diferentes adversidades que puedan presentarse con cualquier red.
PALABRAS CLAVE: APLICACIÓN MÓVIL / ANDROID / IOS / REGISTRO DE
ASISTENCIAS / MOODLE / JAVA / SWIFT / PHP / XCODE / ANDROID STUDIO
/ REST
xvi
TITLE: Mobile Application for Attendance Register at the Universidad Central del
Ecuador (Central University of Ecuador)
Author: Carlos Alberto Roca Espinosa
Arturo José Villafuerte Benavides
Tutor: Ing. Robert Arturo Enríquez Reyes
ABSTRACT
The goal of this thesis is to ease the control process of the attendance to the students
on the part of the professors at the Universidad Central del Ecuador (Central
University of Ecuador), through the Moodle Academic Virtual Platform, as well as the
use of a mobile application for Android and/or iOS, which will allow information to be
protected; consequently, this application seeks to keep the integrity, confidentiality,
and availability of data, both online and offline, due to the different adversities that any
network may face.
KEY WORDS: MOBILE APPLICATION / ANDROID / IOS / ATTENDANCE
REGISTER / MOODLE / JAVA / SWIFT / PHP / XCODE / ANDROID STUDIO /
REST
1
1. PLANTEAMIENTO DEL PROBLEMA
1.1. Antecedentes
La Universidad Central del Ecuador consta en el periodo 2016-2017 con 36839 alumnos
según el portal de datos abiertos www.datosabiertos.uce.edu.ec constituyéndose en una
de las más grandes universidades del Ecuador en cuanto al número de estudiantes. Uno
de los problemas que se ha tenido es controlar de manera más eficiente, eficaz y ágil el
registro de asistencia de los estudiantes a sus clases, en los diferentes cursos y paralelos
a los cuales asisten. (Hernandez, Rosero, Enriquez, & Cadena, 2017)
Existe la posibilidad de registrar la asistencia diaria de los estudiantes mediante el sistema
Académico actual (SAU), así como también por medio del sistema virtual Moodle,
plataforma dedicada para el manejo de información académica universitaria.
A pesar de que existen la facilidad tecnológica para tomar asistencia, todavía persiste la
costumbre de firmar hojas con los datos del estudiante y su firma para constatar su
asistencia, debido a que no se cuenta con un computador o con la red en el instante de la
toma de asistencia.
1.2. Descripción y definición del problema.
En la sociedad actual, en continuo movimiento, los avances tecnológicos aparecen para
dar respuesta a las necesidades de estar en continua conexión con la información y las
comunicaciones. Es por esta razón por la que aparecen las tecnologías móviles que van a
configurar un nuevo paradigma social, cultural y educativo. En el presente artículo se va
a crear un marco conceptual y teórico que contextualice las tendencias actuales en el uso
de los dispositivos móviles en nuestra sociedad, para luego centrarse en el impacto actual
de la utilidad práctica de estos dispositivos en la educación no universitaria, educación
universitaria y dentro del aprendizaje permanente.
La conclusión principal es que el uso de dispositivos móviles en educación es un
2
elemento fundamental en la construcción de conocimiento, ya que con la utilización de
estas tecnologías se incrementan las posibilidades de interactuar con los miembros del
grupo, se mejora la comunicación; por lo tanto, se difumina la barrera que separa a
docentes y discentes. La tendencia actual hacia el uso de dispositivos móviles en
educación está enfocada a que, en el futuro, cada vez más se utilicen estos aparatos en
las aulas y en los centros educativos y culturales. (Cantillo Valero, Roura Redondo, &
Sánchez Palacín, 2012)
En la búsqueda de la mejora constante en optimizar procesos administrativos en las
organizaciones, en este caso particular la Universidad Central del Ecuador, surge la
necesidad de empezar a sistematizar y agilizar la tarea del registro de asistencias de
manera online y offline, ya que no se guarda las seguridades del caso que normalmente
se llevan a cabo de manera manual y se hacen repetitivos en muchos casos,
incrementando la integridad de los datos.
Por otro lado, aun existiendo los métodos antes mencionados para la toma de asistencia,
no son usados muy comúnmente ya que su interface se adapta a computadores y varios
docentes no siempre lo tienen a la mano.
Por tales motivos buscamos apoyo de software para reducir tiempos de respuesta, y
aumentar la seguridad de la información.
Según la Dirección de Tecnologías de la Información y Comunicaciones (DTIC) de la
Universidad Central del Ecuador, la misma cuenta con una Red Wireless extensa con
alrededor de 767 Access Points, lo cual hace mucho más fácil la conexión con los
servicios de aplicativos móviles y demás, adjuntado en el Anexo 1. (Cisco Prime
Universidad Central del Ecuador, 2017)
3
1.3. Formulación del problema.
Una vez analizado el problema, se determinó que la toma de asistencias en la Universidad
Central del Ecuador se realiza de forma manual, es decir se registra en hojas de papel, lo
cual genera perdida de la información, reduciendo significativamente la confidencialidad,
disponibilidad e integridad de la misma, además de que el registro de asistencia por parte
del docente es obligatorio debido a que un estudiante puede aprobar o perder la materia
por el número de asistencias, esto genera inseguridad en los estudiantes al no tener un
método de registro de asistencia oficial por parte de la Universidad Central del Ecuador.
Para lo cual se plantea el Desarrollo de un aplicativo móvil que permita tomar asistencia
en forma online y offline para la Universidad Central del Ecuador para solventar las
necesidades al momento de toma de asistencia, así solventando el problema planteado,
además disminuyendo la dificultad y pérdida de información al momento de realizar la
dicha toma de asistencia en la Universidad Central Del Ecuador.
El diseño y una arquitectura adaptada para dispositivos móviles la que representa una
experiencia diferente a un sistema web existente, y presentarla de forma nativa en cada
uno de los sistemas operativos del aplicativo móvil, facilitando la adaptabilidad del
aplicativo móvil con el dispositivo.
1.4. Justificación.
En la actualidad vivimos en un mundo globalizado y muy desarrollado tecnológicamente,
por lo cual es necesario automatizar los procesos actuales de registro de asistencia de
alumnos en sus respectivas asignaturas para mejorar la integridad, disponibilidad y
confidencialidad de dicha información. (ISO27000)
La consultora especializada en tecnología Gartner ha publicado el informe
correspondiente al tercer trimestre de 2016 sobre el mercado de telefonía celular. Según
consta en el reporte, las ventas de Smartphone crecieron un 3,9% respecto del mismo
periodo del año anterior, alcanzándose un brutal total de 349 millones de dispositivos
4
móviles entregados a los usuarios. (Gartner, 2016)
Tomando en cuenta que la aplicación móvil para registro de asistencias de la Universidad
Central del Ecuador está en la línea de investigación del proyecto Open Data y Smart
University de la Universidad Central del Ecuador. (Hernandez, Rosero, Enriquez, &
Cadena, 2017)
Por lo tanto, para el desarrollo de la aplicación móvil de registro de asistencias de la
Universidad Central del Ecuador, se toma en cuenta dos partes fundamentales para el
cumplimiento de los requerimientos establecidos:
Etapa 1: Se centra en el desarrollo de los módulos de operatividad y funcionamiento del
aplicativo móvil en los lenguajes: Swift perteneciente a dispositivos iPhone con Sistema
Operativo iOS, desarrollado en el IDE Xcode propio de la compañía Apple que desarrolla
dichos dispositivos y sistema operativo antes mencionado.
Así también lenguaje Java perteneciente a dispositivos con sistema operativo Android
desarrollado en el IDE Android Studio propio de la compañía Google que desarrolla
dispositivos con dicho sistema operativo y que libera el código de cada actualización del
sistema operativo.
Se realizará un diseño que tenga una interfaz amigable y fácil de utilizar por el usuario.
Etapa 2: Se centra en la administración de los datos; el cual está enfocado en la relación
entre la base de datos existente de la Universidad Central del Ecuador en formato de
MariaDB y la sincronización con la plataforma virtual Moodle con la información
requerida alojada en el aplicativo móvil tanto Android como iOS perteneciente a SQLite,
para de esta manera poder administrar el registro de asistencia.
La etapa 1 será realizada por el Sr. Arturo Villafuerte y la etapa 2 por el Sr. Carlos Roca.
5
1.5. Objetivos.
1.5.1. Objetivo General.
Desarrollar un sistema para dispositivos móviles iOS y Android para registrar la
asistencia de los estudiantes de la Universidad Central del Ecuador, que se sincroniza con
la plataforma Moodle que está definida como aula virtual, tanto en forma online como
offline; el cual permita resguardar y proteger la información buscando mantener la
integridad, confidencialidad y disponibilidad de los datos.
1.5.2. Objetivos Específicos.
Analizar e identificar los procesos de registro de asistencia estudiantil en el
sistema Moodle.
Construir un sistema de información de toma de asistencia con interfaces gráficas.
Ofrecer a los usuarios una forma eficaz de registro de asistencia desde su
dispositivo móvil, tanto en forma online como offline.
Implementar y proponer una arquitectura de aplicaciones móviles para la
Dirección de Tecnología y Comunicación de la Universidad Central del Ecuador
1.6. Alcances.
El Proyecto aplicación móvil para registro de asistencias de la Universidad Central del
Ecuador abre las puertas a la innovación y desarrollo tecnológico en la Universidad
Central del Ecuador para facilitar la toma de asistencias de los estudiantes. Se
automatizará fundamentalmente, la gestión de manejo de listas mediante una aplicación
móvil realizado en los lenguajes nativos de iOS y Android como Swift y Java
respectivamente.
La aplicación va a permitir automatizar tecnológicamente el proceso de registro de
asistencias por parte de los docentes, mejorando la integridad, disponibilidad y
confidencialidad de dicha información, dando la posibilidad de realizar el proceso de
ingreso a la asignatura requerida y proceder al registro la asistencia de estudiantes en la
6
misma, con la posibilidad de realizarlo de manera offline para su sincronización en cuanto
se encuentre online.
Etapa 1 – Desarrollo de Aplicativo Móvil:
Ingreso al aplicativo móvil mediante credenciales del docente.
Registro de asistencia de estudiantes de cada asignatura seleccionada por el
docente.
Justificación de inasistencias por asignatura y fecha seleccionadas.
Reporte de asistencias individual de cada estudiante por asignatura seleccionada
hasta la fecha actual incluyéndose el portaje del mismo.
Estadística promedio de asistencia mensual, porcentaje promedio de asistencias
hasta la fecha actual por asignatura seleccionada.
Modo Offline
Etapa 2 – Sincronización online:
Diseño y desarrollo del modelo de base de datos para el uso del aplicativo móvil.
Conexión y administración de datos provenientes de la Base de Datos de origen
MariaDB alojado en el servidor de la Universidad Central del Ecuador.
Desarrollo del Servicio REST para la conectividad entre la base de datos
MariaDB y las bases de datos SQLite pertenecientes al aplicativo móvil alojada
en iOS y Android.
Sincronización de datos alojados en las bases de datos del aplicativo móvil hacia
el servidor el cual realizara las operaciones de obtención, inserción y
actualización en la base de datos en formato de MariaDB.
Modo Online.
La aplicación móvil estará disponible tanto para Android como iOS, sin ser estas
agregadas a una tienda virtual como PlayStore, AppStore respectivamente.
7
1.7. Limitaciones.
No se creará credenciales Developer en ninguna de las plataformas virtuales.
No se crearán cuentas Developer en AppStore ni PlayStore.
No se firmará digitalmente los aplicativos móviles en iOS ni Android.
No emitirá ningún reporte digital en ningún formato.
No se permitirá descargar archivos desde la aplicación.
Solo se entregará la compilación en SO Android no iOS.
8
2. MARCO TEORICO
2.1. Marco Conceptual
Para el desarrollo del proyecto aplicación móvil para registro de asistencia de la
Universidad Central del Ecuador; usamos las siguientes herramientas; para ello se analizó
varias fuentes de información como: documentos, artículos, entre otros. Para obtener
conocimiento de los siguientes temas.
2.1.1. Android
Android es una plataforma de software de código abierto creada para una amplia gama
de dispositivos con diferentes factores de forma. Los principales propósitos de Android
son crear una plataforma de software abierta disponible para los operadores, Fabricantes
de Equipos Originales y desarrolladores para hacer realidad sus ideas innovadoras e
introducir un producto exitoso y real que mejore la experiencia móvil de los usuarios.
Android fue originado por un grupo de empresas conocidas como la Alianza de Teléfonos
Abiertos (OHA por sus siglas en ingles), liderada por Google. Hoy en día, muchas
compañías tanto miembros originales de la OHA como otras han invertido mucho en
Android. Estas empresas han asignado importantes recursos de ingeniería para mejorar
Android y llevar dispositivos Android al mercado. (Android, 2017)
2.1.2. iOS
iOS es el sistema operativo que se ejecuta en dispositivos iPad, iPhone y iPod touch. El
sistema operativo gestiona el hardware del dispositivo y proporciona las tecnologías
necesarias para implementar aplicaciones nativas. El sistema operativo también incluye
varias aplicaciones del sistema, como Phone, Mail y Safari, que proporcionan servicios
estándar al usuario. (iOS Technology Overview, 2017)
2.1.3. Php
PHP es un lenguaje de programación de uso general de código del lado del servidor
9
originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los
primeros lenguajes de programación del lado del servidor que se podían incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que procese
los datos. El código es interpretado por un servidor web con un módulo de procesador de
PHP que genera la página web resultante. PHP ha evolucionado por lo que ahora incluye
también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas
independientes. Puede ser usado en la mayoría de los servidores web al igual que en casi
todos los sistemas operativos y plataformas sin ningún costo. Fue creado originalmente
por Rasmus Lerdorf en el año 1995. Actualmente el lenguaje sigue siendo desarrollado
con nuevas funciones por el grupo PHP. (Historia de PHP y Proyectos Relacionados,
2017)
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. (Proyecto GNU - Licencias de software libre incompatibles con la GPL;
CamelBones, an Objective-C/Perl bridge for Mac OS X & GNUStep - Home, 2010)
2.1.4. Apache
El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas
Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa
el protocolo HTTP/1.1 y la noción de sitio virtual. (RFC 2616, 1999)
Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA
HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que alguien
quería que tuviese la connotación de algo que es firme y enérgico, pero no agresivo, y la
tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU,
y en esos momentos la preocupación de su grupo era que llegasen las empresas y
"civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además,
Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En
inglés, a patchy server (un servidor "parcheado") suena igual que Apache Server. El
servidor Apache es desarrollado y mantenido por una comunidad de usuarios bajo la
10
supervisión de la Apache Software Foundation dentro del proyecto HTTP Server (httpd).
(The Apache HTTP Server Project, 2017)
2.1.5. Android Studio
Google adquiere Android Inc. en el año 2005. Se trataba de una pequeña compañía, que
acababa de ser creada, orientada a la producción de aplicaciones para terminales móviles.
Ese mismo año empiezan a trabajar en la creación de una máquina virtual Java optimizada
para móviles (Dalvik VM). (Gironés, 2011)
En el año 2007 se crea el consorcio Handset Alliance1 con el objetivo de desarrollar
estándares abiertos para móviles. Este formado por Google, Intel, Texas Instruments,
Motorola, T-Mobile, Samsung, Ericsson, Toshiba, Vodafone, NTT DoCoMo, Sprint
Nextel y otros. Una pieza clave de los objetivos de esta alianza es promover el diseño y
difusión de la plataforma Android. Sus miembros se han comprometido a publicar una
parte importante de su propiedad intelectual como código abierto bajo licencia Apache
v2.0. (Gironés, 2011)
En noviembre del 2007 se lanza una primera versión del Android SDK. Al año siguiente
aparece el primer móvil con Android (T-Mobile G1). En octubre Google libera el código
fuente de Android principalmente bajo licencia de código abierto Apache (licencia GPL
v2 para el núcleo). Ese mismo mes se abre Android Market, para la descarga de
aplicaciones. En abril del 2009 Google lanza la versión 1.5 del SDK que incorpora nuevas
características como el teclado en pantalla. A finales del 2009 se lanza la versión 2.0 y
durante el 2010 las versiones 2.1, 2.2 y 2.3. Durante el año 2010 Android se consolida
como uno de los sistemas operativos para móviles más utilizados, con resultados cercanos
al iPhone e incluso superando al sistema de Apple en EE.UU. (Gironés, 2011)
2.1.6. Xcode
Xcode es el entorno de desarrollo integrado (IDE, en sus siglas en inglés) de Apple Inc.
y se suministra gratuitamente junto con Mac OS X. Xcode trabaja conjuntamente con
Interface Builder, una herencia de NeXT, una herramienta gráfica para la creación de
11
interfaces de usuario.
Xcode incluye la colección de compiladores del proyecto GNU (GCC), y puede compilar
código C, C++, Swift, Objective-C, Objective-C++, Java y AppleScript mediante una
amplia gama de modelos de programación, incluyendo, pero no limitado a Cocoa, Carbón
y Java. Otras compañías han añadido soporte para GNU Pascal, Free Pascal, Ada y Perl.
(CamelBones, an Objective-C/Perl bridge for Mac OS X & GNUStep - Home, 2010)
Entre las características más apreciadas de Xcode está la tecnología para distribuir el
proceso de construcción a partir de código fuente entre varios ordenadores, utilizando
Bonjour.
2.1.7. Swift
“Swift es un potente e intuitivo lenguaje de programación para macOS, iOS, watchOS y
tvOS”. (Apple Inc., 2017)
“Swift es un lenguaje de programación de propósito general construido con un enfoque
moderno de seguridad, rendimiento y patrones de diseño de software. El objetivo del
proyecto Swift es crear el mejor lenguaje disponible para usos que van desde la
programación de sistemas, aplicaciones móviles y de escritorio, ampliación a servicios
en la nube. Lo más importante, Swift está diseñado para facilitar la escritura y el
mantenimiento de programas correctos para el desarrollador”. (Swift.org, 2017)
2.1.8. Java
“Java es un lenguaje de programación y una plataforma informática comercializada por
primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que
no funcionarán a menos que tenga Java instalado y cada día se crean más. Java es rápido,
seguro y fiable. Desde portátiles hasta centros de datos, desde consolas para juegos hasta
súper computadoras, desde teléfonos móviles hasta Internet, Java está en todas partes”.
(Oracle, 2017)
12
2.1.9. Moodle
Moodle es una plataforma de aprendizaje diseñada para proporcionarle a educadores,
administradores y estudiantes un sistema integrado único, robusto y seguro para crear
ambientes de aprendizaje personalizados.
Moodle está construido por el proyecto Moodle, que está dirigido y coordinado por el
Cuartel General Moodle, que está soportada financieramente por una red mundial de
cerca de 80 compañías de servicio Moodle Partners (Socios Moodle). (Moodle, 2017)
PHP es el lenguaje de script en el cual Moodle está desarrollado. Está integrado con su
servidor web. El servidor web detecta (por su extensión) las páginas PHP y las envía a
PHP para que se ejecutan. PHP debe de estar instalado y configurado apropiadamente
para que Moodle funcione adecuadamente (o que simplemente funcione). (Moodle,
Moodle Php, 2017)
2.2. Fundamentación Legal
Según el instructivo para la evaluación estudiantil de grado las asignaturas, cursos o
equivalente que deban tomar los estudiantes dentro de su etapa de formación serán
aprobadas con un mínimo del 70% de la calificación y una asistencia mínima del 80% de
clases presenciales, por lo cual es obligatoria la toma de asistencia por parte de los
docentes a los estudiantes para la aprobación del curso. (Honorable Consejo
Universitario, 2017)
2.3. Estado del Arte
En las universidades se están implementando aplicaciones web para registrar la
asistencia, pero no son utilizados con frecuencia al no tener acceso a internet o no tener
una computadora a la mano. Actualmente al 2017 existen un sin número de aplicaciones
móviles para la toma de asistencia a cualquier evento, facilitando y simplificando de esta
manera el control de los asistentes, generando reportes de manera más rápida.
Una buena solución es la integración de la aplicación móvil con el sistema web para tener
un excelente control de la asistencia en las universidades principalmente.
13
Según Bucicoiu y Tapus en su conferencia han propuesto un método de autenticación
basado en la ubicación que utiliza NFC para determinar la ubicación y el uso de una foto
con el fin de garantizar la autenticación doble. La versión de implementación que han
desarrollado solo requiere autenticación con la cuenta de Moodle, tanto desde el lado del
profesor como del estudiante y un simple toque de teléfono. (Bucicoiu & Tapus, 2013)
Se ha investigado que en la Conference on Systems and Computer Science (ICSCS), los
autores Zamfirache Eftcnoiu y Tapus siguen el diseño y desarrollo de una aplicación
móvil y un servicio web diseñado como una extensión del sistema de gestión de cursos
de Moodle, con funciones específicas para móviles, como el modo sin conexión,
notificaciones y asistencia basadas en la ubicación. © 2013 IEEE. (Zamfirache, Eftcnoiu,
& Tapus, 2013)
En otro artículo investigado Mohandes describe un prototipo del Sistema de Gestión de
Asistencia a Clases (CAMS) que se ha desarrollado y evaluado utilizando un dispositivo
móvil habilitado para NFC y una etiqueta / tarjeta NFC (o RFID). Este sistema ayuda a
los profesores de la escuela / universidad a tomar asistencia en una clase usando su
teléfono móvil de una manera rápida y sencilla, ahorrando así un tiempo precioso en un
salón de clases. (Mohandes, 2017)
Se ha investigado que existe una aplicación oficial desarrollada por Moodle Pty Ltd. Para
Android e iOS en la cual se puede ojear el contenido de los cursos en modo offline, ver
calificaciones, encontrar y contactar otras personas, subir imágenes, audio y video desde
su dispositivo móvil y más. (Mobile Moodle , 2017)
Una limitación de esta aplicación es que no tiene la posibilidad de crear actividades ni
tampoco registrar la asistencia de los estudiantes.
14
Ilustración 1: Moodle Mobile Limitación
Fuente: App Moodle Mobile
Otra aplicación investigada es Moodle Attendance desarrollada por FusionBit que sirve
para la gestión de la asistencia de los estudiantes en línea, para el funcionamiento se debe
instalar el web service de la app. (FusionBit, 2017)
Una limitación de esta aplicación es que no funciona de forma offline.
15
Ilustración 2: Moodle Attendance App
Fuente: App Moodle Attendance
16
Como se ha podido investigar los enfoques realizados hasta la fecha no toman en cuenta
la integración de aplicaciones móviles para iOS y Android con la plataforma virtual
Moodle que funcione de manera online y offline para gestionar la asistencia de los
estudiantes, por ello se ha decidido realizar este proyecto que integra lo antes mencionado
además de sincronizar con la plataforma virtual Moodle.
2.4. Comparación de Desarrollo Móvil
2.4.1. Mobile Web Apps Vs Aplicaciones Nativas
Para poder comparar estas herramientas debemos preguntarnos las necesidades que va a
tener la aplicación que vamos a desarrollar, por lo cual surgen las siguientes preguntas.
2.4.1.1. ¿Cuándo crear Aplicaciones Nativas?
Las Aplicaciones nativas se las crea cuando necesite aprovechar las características de un
dispositivo que un navegador web móvil no permite, por ejemplo: (Fling, 2009)
Crear un juego
Usar ubicaciones especificas
Cámara
Acelerómetro
Acceder al sistema de archivos
Usuarios offline
2.4.1.2. ¿Cuándo crear Webs Apps?
Las aplicaciones web para móviles se utilizan generalmente para contenido y servicios
cuando no se utilizan las características de hardware de un dispositivo móvil.
El proyecto PhoneGap, es un esfuerzo de código abierto que le permite crear aplicaciones
nativas para iPhone, Android y dispositivos BlackBerry, exponiendo muchas
características del dispositivo como la ubicación y el acceso al sistema de archivos a su
aplicación web. (Fling, 2009)
17
2.4.2. Comparación y Selección de tipo de aplicación móvil
2.4.2.1. Ventajas App Nativas vs Web Apps vs Web Apps Nativas
Tabla 1: Ventajas App Nativas vs Web Apps vs Web Apps Nativas
App Nativas Web Apps Web Apps Nativas
Acceso completo al
dispositivo
El mismo código base
reutilizable en múltiples
plataformas
Es posible distribuirla en
las tiendas de iOS y
Android
Mejor experiencia del
usuario
Proceso de desarrollo más
sencillo y económico
Instalación nativa pero
construida con JavaScript,
HTML y CSS
Envío de notificaciones a
los usuarios
No necesitan ninguna
aprobación externa para
publicarse (a diferencia de
las nativas para estar
visibles en la app store)
El mismo código base
para múltiples plataformas
La actualización de la app
es constante
El usuario siempre
dispone de la última
versión
Acceso a parte del
hardware del dispositivo
Uso de recursos sin
conexión a internet.
Pueden utilizarse sitios
responsivos ya diseñados
Fuente: (LanceTalent, 2014)
18
2.4.2.2. Desventajas App Nativas vs Web Apps vs Web Apps Nativa
Tabla 2: Desventajas App Nativas vs Web Apps vs Web Apps Nativa
App Nativas Web Apps Web Apps Nativas
Diferentes habilidades,
idiomas, herramientas
para cada plataforma de
destino
Requiere de conexión a
internet
Experiencia del usuario
más propia de la
aplicación web que la app
nativa
Tienden a ser más caras de
desarrollar
Acceso muy limitado a los
elementos y
características del
hardware del dispositivo
Diseño visual no siempre
relacionado con el sistema
operativo en el que se
muestre
El código del cliente no es
reutilizable entre las
diferentes plataformas
La experiencia del usuario
(navegación,
interacción...) y el tiempo
de respuesta es menor que
en una app nativa
Requiere de mayor
esfuerzo en promoción y
visibilidad
Fuente: (LanceTalent, 2014)
Para seleccionar el tipo de aplicación más adecuada para nuestro proyecto hemos
analizado las ventajas e inconvenientes de cada una y llegamos a la conclusión de
desarrollar una aplicación nativa para iOS y Android, ya que estas nos darán mejor
experiencia para el usuario, acceso completo al dispositivo, nos permitirá manejar de
mejor manera el modo offline, permitiéndonos así lograr una mejor integridad,
disponibilidad y confidencialidad de la información, además de poseer diseños nativos.
2.4.3. Web Services Php
La aplicación móvil para el registro de asistencias de la Universidad Central del Ecuador
se sincronizará con la plataforma virtual Moodle con su plugin Attendance para llevar el
registro de asistencia de los estudiantes, Moodle está desarrollada en Php y ejecutándose
en el servidor web Apache, la sincronización entre la aplicación móvil y Moodle se la
realizará a través de servicios web que van a ser desarrollados en Php para de esta manera
mantener un solo lenguaje de programación, además de tomar a los servicios web como
19
parte del Moodle y que se ejecuten en el mismo servidor web, cumpliendo de esta manera
con la integridad, disponibilidad y confidencialidad de la información que se va a generar
a través de las aplicaciones móviles y de Moodle.
3. METODOLOGIA
3.1. Cascada
En Ingeniería de software el desarrollo en cascada, también llamado modelo en cascada
(denominado así por la posición de las fases en el desarrollo de esta, que parecen caer en
cascada “por gravedad” hacia las siguientes fases), es el enfoque metodológico que
ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma
que el inicio de cada etapa debe esperar a la finalización de la etapa anterior. Al final de
cada etapa, el modelo está diseñado para llevar a cabo una revisión final, que se encarga
de determinar si el proyecto está listo para avanzar a la siguiente fase. Este modelo fue el
primero en originarse y es la base de todos los demás modelos de ciclo de vida. (S.
Pressman, 2001)
La versión original fue propuesta por Winston W. Royce en 1970 y posteriormente
revisada por Barry Boehm en 1980 e Ian Sommerville en 1985. (Cataldi, Lage, Pessacq,
& Garcia Martínez)
Un ejemplo de una metodología de desarrollo en cascada es:
Análisis de requisitos.
Diseño del sistema.
Diseño del programa.
Codificación.
Pruebas.
Implementación del programa.
Mantenimiento.
Análisis de requisitos del software
20
En esta fase se analizan las necesidades de los usuarios finales del software para
determinar qué objetivos debe cubrir. De esta fase surge una memoria llamada
Documento de Especificación de Requisitos (SRD, por sus siglas en inglés), que contiene
la especificación completa de lo que debe hacer el sistema sin entrar en detalles internos.
Es importante señalar que en esta etapa se debe consensuar todo lo que se requiere del
sistema y será aquello lo que seguirá en las siguientes etapas, no pudiéndose requerir
nuevos resultados a mitad del proceso de elaboración del software de una manera.
Diseño del sistema
Descompone y organiza el sistema en elementos que puedan elaborarse por separado,
aprovechando las ventajas del desarrollo en equipo. Como resultado surge el Documento
de Diseño del Software (SDD, por sus siglas en inglés), que contiene la descripción de la
estructura relacional global del sistema y la especificación de lo que debe hacer cada una
de sus partes, así como la manera en que se combinan unas con otras. Es conveniente
distinguir entre diseño de alto nivel o arquitectónico y diseño detallado. El primero de
ellos tiene como objetivo definir la estructura de la solución (una vez que la fase de
análisis ha descrito el problema) identificando grandes módulos (conjuntos de funciones
que van a estar asociadas) y sus relaciones. Con ello se define la arquitectura de la
solución elegida. El segundo define los algoritmos empleados y la organización del
código para comenzar la implementación. (S. Pressman, 2001).
Diseño del programa
Según Pressman esta es la fase en donde se realizan los algoritmos necesarios para el
cumplimiento de los requerimientos del usuario, así como también los análisis
necesarios para saber qué herramientas usar en la etapa de Codificación. (S. Pressman,
2001)
21
Codificación
Es la fase en donde se implementa el código fuente, haciendo uso de prototipos, así como
de pruebas y ensayos para corregir errores.
Dependiendo del lenguaje de programación y su versión se crean las bibliotecas y
componentes reutilizables dentro del mismo proyecto para hacer que la programación sea
un proceso mucho más rápido.
Pruebas
Los elementos, ya programados, se ensamblan para componer el sistema y se comprueba
que funciona correctamente y que cumple con los requisitos, antes de ser entregado al
usuario final.
Verificación
Es la fase en donde el usuario final ejecuta el sistema, para ello el o los programadores
ya realizaron exhaustivas pruebas para comprobar que el sistema no falle.
Mantenimiento
Una de las etapas más críticas, ya que se destina un 75 % de los recursos, es el
mantenimiento del software ya que al utilizarlo como usuario final puede ser que no
cumpla con todas nuestras expectativas. (S. Pressman, 2001)
22
4. PROCESO DE DESARROLLO
En el desarrollo de la aplicación móvil para el registro de asistencias de la Universidad
Central del Ecuador se aplicó la metodología Cascada que es considerada como el
enfoque clásico para el ciclo de vida del desarrollo de sistemas, siendo un método puro
que implica un desarrollo rígido, entre sus actividades o etapas se realizaron las
siguientes:
4.1. Ingeniería y Análisis del Sistema
A través del análisis que se llevó acabo se planteó desarrollar aplicaciones móviles en
iOS y Android para que los docentes registren la asistencia de los estudiantes de la
Universidad Central del Ecuador de forma offline y un web service desarrollado en Php
para la sincronización con la plataforma virtual Moodle para la forma online, de esta
manera estas aplicaciones mejorarán la integridad, disponibilidad y confidencialidad
de la información facilitando así el registro de asistencia a través de una interfaz
amigable con el usuario, aprovechando de esta forma la gran red inalámbrica
universitaria.
4.2. Análisis de los requisitos del software
4.2.1. Requerimientos del software para el desarrollo
Android Studio 2.0
Windows 7/8/10 (32 o 64 bits).
2 GB de RAM (8 GB de RAM recomendado).
2 GB de espacio libre mínimo (4 GB recomendado).
Resolución mínima de 1.280 x 800.
Java 8.
64 bits y procesador Intel (emulador).
JDK (Java Development Kit)
Android SDK (Software Development kit para Android)
Xcode 9.2
Mac OS X 10.6 o posterior.
23
Un dispositivo Móvil para pruebas. Esto es opcional ya que la herramienta que
provee Apple viene con un simulador de iPhone y de iPad.
iOS SDK (Software Development kit para iOS)
4.2.2. Requerimientos funcionales.
Tener instalado el Moodle con el plugin Attendance.
Instalar web service de la aplicación móvil para el registro de asistencias de la
Universidad Central del Ecuador.
Versión mínima de iOS 10.
Versión mínima de Smart Phone Android 4.4(Kit Kat).
4.2.3. Requerimientos no funcionales.
Los permisos de acceso al sistema podrán ser cambiados solamente por el
administrador de acceso a datos.
La aplicación debe funcionar de forma offline
4.3. Diseño
4.3.1. Arquitectura
El primer paso para el diseño de la aplicación móvil es su arquitectura para lo cual se
ha basado en servicios web REST para la comunicación entre la aplicación móvil y la
plataforma virtual Moodle.
Ilustración 3: Arquitectura de la Aplicación
24
Elaborado por: Roca Carlos, Villafuerte Arturo
La base de datos del dispositivo almacena la información generada por la aplicación
móvil la cual se sincroniza a través de servicios REST con la base de datos de la
plataforma virtual Moodle para de esta manera ver reflejada la información en la
plataforma virtual uvirtual.uce.edu.ec.
4.3.2. Diseño conceptual de la base de datos
En la elaboración del diagrama conceptual se identifican y analizan las entidades que
comprenden el modelo de datos que serán utilizados para el almacenamiento y
disponibilidad de la información cuando no exista conexión a internet, el modelo se
realizó con base a la información proporcionada por la base de datos del Moodle.
Cada entidad de la base de datos SQLite cuenta con los siguientes campos:
Tabla 3: Descripción de los campos de las tablas de la base de datos
Campos de las Tablas
Entidad Nombre de la Entidad
Atributo Nombre del campo que define una característica de una entidad
Tipo Define el tipo de dato del atributo
Longitud Tamaño máximo de caracteres del atributo
Descripción Detalla o describe al atributo
Elaborado por: Roca Carlos, Villafuerte Arturo
25
Diseño de Entidad Profesor
La información del docente será almacenada en el dispositivo móvil para que esté
disponible cuando no se tenga conexión a internet.
Tabla 4: Descripción de Entidad Profesor
Entidad: Profesor
Atributo Tipo Longitud Descripción
id_profesor varchar 10 Clave primaria que
identifica al docente
p_nombre varchar 255 Nombre del docente
p_email varchar 160 Correo del docente
p_password varchar 50 Password del docente
p_foto varchar 100 Url de la foto del docente
p_estado boolean Estado de sincronización
del profesor Elaborado por: Roca Carlos, Villafuerte Arturo
Diseño de Entidad Estudiante
La información de los estudiantes será almacenada en el dispositivo móvil para que
esté disponible cuando no se tenga conexión a internet.
Tabla 5: Descripción de Entidad Estudiante
Entidad: Estudiante
Atributo Tipo Longitud Descripción
id_estudiante varchar 10 Clave primaria que identifica al
estudiante
e_nombre varchar 255 Nombre del estudiante
e_email varchar 255 Correo del estudiante
e_foto varchar 100 Url de la foto del estudiante
e_estado boolean Estado de sincronización del
estudiante Elaborado por: Roca Carlos, Villafuerte Arturo
26
Diseño de Entidad Materia
La información de la asignatura será almacenada en el dispositivo móvil para que esté
disponible cuando no se tenga conexión a internet.
Tabla 6: Descripción de Entidad Materia
Entidad: Materia
Atributo Tipo Longitud Descripción
id_materia integer
Clave primaria que identifica a la
materia
m_nombre varchar 255 Nombre de la materia
m_semestre integer
Semestre al que pertenece la materia
m_facultad varchar 100 Facultad al que pertenece la materia
m_carrera varchar 100 Carrera al que pertenece la materia
m_estado boolean Estado de sincronización de la
materia Elaborado por: Roca Carlos, Villafuerte Arturo
27
Diseño de Entidad Asistencia
La información de la asistencia será almacenada en el dispositivo móvil para que esté
disponible cuando no se tenga conexión a internet.
Tabla 7: Descripción de Entidad Asistencia
Entidad: Asistencia
Atributo Tipo Longitud Descripción
id_asistencia integer
Clave primaria que identifica a la
asistencia
id_sesion Integer
Id de la sesión en la cual se registró
la asistencia
id_profesor Integer
Id del profesor quien registró la
asistencia
id_estudiante Varchar 10 Id del estudiante al que se le registro
la asistencia
a_fecha Varchar 512 Fecha en la que se registró la
asistencia
a_asistencia Integer Valor de la asistencia 0=Ausente,
1=Presente, 2=Retraso,
3=Justificado
a_estado integer Estado de sincronización para la
asistencia Elaborado por: Roca Carlos, Villafuerte Arturo
28
Diseño de Entidad ProfesorMateria
La información que relaciona al docente con la materia será almacenada en el
dispositivo móvil para que esté disponible cuando no se tenga conexión a internet.
Tabla 8: Descripción de Entidad ProfesorMateria
Entidad: ProfesorMateria
Atributo Tipo Longitud Descripción
id_prof_mat integer
Clave primaria que identifica al
profesor materia
id_materia integer
Id de la materia
id_profesor varchar 10 Id del profesor
pm_estado boolean Estado de sincronización para
ProfesorMateria Elaborado por: Roca Carlos, Villafuerte Arturo
Diseño de Entidad ProfesorMateriaEstudiante
La información que relaciona al docente con la materia y los estudiantes será
almacenada en el dispositivo móvil para que esté disponible cuando no se tenga
conexión a internet.
Tabla 9: Descripción de Entidad ProfesorMateriaEstudiante
Entidad: ProfesorMateriaEstudiante
Atributo Tipo Longitud Descripción
id_prof_mat_est integer
Clave primaria que identifica al
ProfesorMateriaEstudiante
id_estudiante varchar 10 Id del Estudiante
id_prof_mat integer
Id del ProfesorMateria
pme_estado boolean Estado de sincronización para
ProfesorMateriaEstudiante Elaborado por: Roca Carlos, Villafuerte Arturo
29
Diseño de Entidad Sesión
La información de la sesión será almacenada en el dispositivo móvil para que esté
disponible cuando no se tenga conexión a internet.
Tabla 10: Descripción de Entidad Sesión
Entidad: Sesión
Atributo Tipo Longitud Descripción
id_sesion integer
Clave primaria que identifica la
Sesión
id_rec_asistencia integer
Id del rec_asistencia donde se creó
la sesión
s_date integer
Fecha de la sesión
id_profesor integer Id del docente que creó la sesión
s_fecha integer Fecha en la que se creó la sesión
s_duracion integer Tiempo de duración de las horas de
clase
s_fecha_edicion integer Fecha en la que se editó la sesión
s_nombre varchar 255 Nombre de la actividad
s_estado integer Estado de sincronización
Elaborado por: Roca Carlos, Villafuerte Arturo
30
Diseño de Entidad RecursoAsistencia
La información de la actividad (recurso asistencia) será almacenada en el dispositivo
móvil para que esté disponible cuando no se tenga conexión a internet.
Tabla 11: Descripción de Entidad RecursoAsistencia
Entidad: RecursoAsistencia
Atributo Tipo Longitud Descripción
id_rec_asistencia integer
Clave primaria que identifica el
RecursoAsistencia
id_materia integer
Id de la materia en la cual se creó el
RecursoAsistencia
ra_nombre varchar 255 Nombre del RecursoAsistencia
ra_grade integer Puntaje máximo del
RecursoAsistencia
ra_fecha integer Fecha en la que se creó el
RecursoAsistencia
ra_estado integer Estado de sincronización
Elaborado por: Roca Carlos, Villafuerte Arturo
4.3.3. Diseño físico de la base de datos
A partir del diseño de las entidades generamos el diseño físico de la base de datos
31
Ilustración 4: Diseño físico de la base de datos SQLite
Elaborado por: Roca Carlos, Villafuerte Arturo
4.3.4. Diseño de interfaces
A continuación, se muestran los prototipos de interfaces de la aplicación móvil para
registro de asistencias de la Universidad Central del Ecuador.
Pantalla principal
Se muestra al abrir la aplicación, a partir de aquí parte toda la funcionalidad.
32
Ilustración 5: Interfaz Principal Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
33
Ingresar al sistema
En esta Interfaz el docente ingresara su información para loguearse en la aplicación
Ilustración 6: Interfaz ingresar al sistema Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
34
Menú Principal
Muestra todas las opciones de la aplicación.
Ilustración 7: Interfaz menú principal Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
35
Mi Perfil
Interfaz que muestra la información del docente.
Ilustración 8: Interfaz mi perfil Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
36
Asignaturas
Muestra una lista de las asignaturas en las que el docente da clases.
Ilustración 9: Interfaz asignaturas Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
37
Actividades
Muestra la lista de actividades que el docente ha creado.
Ilustración 10: Interfaz actividades Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
38
Crear Actividad
En esta pantalla el docente creara una actividad para registrar las sesiones.
Ilustración 11: Interfaz crear actividad Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
39
Sesiones
Muestra la lista de sesiones que el docente ha creado.
Ilustración 12: Interfaz sesiones Android e IOS
Elaborado por: Roca Carlos, Villafuerte Arturo
40
Crear Sesión
En esta pantalla el docente creara una sesión para registrar la asistencia.
Ilustración 13: Interfaz crear sesión Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
41
Estudiantes
Pantalla para registrar la asistencia de cada estudiante con un toque en el nombre, con
cada toque cambiamos entre PRESENTE (color verde), AUSENTE (color rojo) y
RETRASO (color azul).
Ilustración 14: Interfaz estudiantes Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
42
Justificar Asistencia
Pantalla para justificar la asistencia de cada estudiante con un toque en el nombre, con
cada toque cambiamos entre JUSTIFICADO (color amarillo), AUSENTE (color rojo)
y RETRASO (color azul).
Ilustración 15: Interfaz justificar asistencia Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
43
Reporte
Pantalla con el reporte de asistencias global de la asignatura, El porcentaje de
PRESENTE, RETRASO FALTA JUSTIFICADA y FALTA INJUSTIFICADA, así
como el total de sesiones y el total de estudiantes.
Ilustración 16: Interfaz reporte Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
44
Reporte por Estudiante
Pantalla con el reporte de asistencias por cada estudiante, el número de asistencias y el
número total de clases, así como el porcentaje de aprobación del curso.
Ilustración 17: Interfaz reporte por estudiante Android e iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
45
4.3.5. Diseño de la aplicación móvil iOS
Ilustración 18: Diseño de la aplicación móvil iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
46
4.4. Codificación
En esta sección se describe el desarrollo de los algoritmos en cada sección de la
aplicación móvil y del web service.
4.4.1. Creación de la base de datos para la aplicación móvil
Partiendo del diseño de la base de datos, se ha generado el script para la generación de
las tablas en la base de datos SQLite para los dispositivos móviles iOS y Android.
47
Ilustración 19: Script base de datos SQLite Android
Elaborado por: Roca Carlos, Villafuerte Arturo
48
Ilustración 20: Script base de datos SQLite iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
49
4.4.2. Entidades
A partir de la generación de la base de datos se crean las entidades que representan a
cada tabla, donde se almacenará temporalmente la información para ser mostrada en la
aplicación según las consultas necesarias.
Ilustración 21: Clase Entidad RecursoAsistencia– Android
Elaborado por: Roca Carlos, Villafuerte Arturo
50
Ilustración 22: Clase Entidad RecursoAsistencia– iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
4.4.3. Sincronización
En esta clase se hace el envío de la nueva información generada en la aplicación móvil
al web service, luego de esto se carga nuevamente la información requerida del web
service a la aplicación móvil.
Para el envió de información se realiza la consulta de los datos a la base interna del
dispositivo y se invoca el método de envió de datos con dichos parámetros.
51
Ilustración 23: Sincronización ida - Android
Elaborado por: Roca Carlos, Villafuerte Arturo
Ilustración 24: Sincronización ida - iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
52
Para ingresar la información del servicio hacia el dispositivo primero hacemos la petición de
los datos a registrar los ubicamos en un objeto y procedemos a la inserción dentro de la base
interna del dispositivo.
Ilustración 25: Sincronización regreso - Android
Elaborado por: Roca Carlos, Villafuerte Arturo
53
Ilustración 26: Sincronización regreso - iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
4.4.4. Constantes
Es la clase donde se registran y sestean los atributos, datos o información que no va a
variar y además puede ser reutilizada en diferentes partes del código en el desarrollo
de la aplicación.
54
Ilustración 27: Clase Constantes - Android
Elaborado por: Roca Carlos, Villafuerte Arturo
Ilustración 28: Clase Constantes - iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
55
4.4.5. Autenticación
Para realizar la autenticación del docente a la aplicación se realizó una verificación de
usuario y contraseña con el Directorio Activo de la Universidad Central del Ecuador
Ilustración 29: Autenticación - Android
Elaborado por: Roca Carlos, Villafuerte Arturo
56
Ilustración 30: Autenticación - iOS
Elaborado por: Roca Carlos, Villafuerte Arturo
57
La segunda verificación se realiza a través de una búsqueda del usuario en la base de
datos MariaDB de la plataforma virtual Moodle
4.4.6. Interacción con la base de datos MariaDB de Moodle
Para realizar la sincronización entre la aplicación móvil y el sistema Moodle se
realizó la interacción con las siguientes tablas de la base de datos MariaDB del
sistema Moodle.
Ilustración 31: Tablas de base de datos Moodle
Elaborado por: Roca Carlos, Villafuerte Arturo
58
Tabla 12: Descripción de las tablas con las que se interactuó de la base de datos
MariaDB de Moodle
Tablas del Sistema Moodle
Nombre de la tabla Descripción
mdl_user Almacena información de todos los usuarios del
Moodle
mdl_role Almacena información sobre todos los roles
definidos para el sistema
mdl_enrol Almacena la relación de roles de usuarios con cursos
mdl_user_enrolments Almacena el enrolamiento de usuarios
mdl_role_asignments Almacena la relación de usuarios con rol
mdl_course Almacena información sobre los cursos del sistema
mdl_course_categories Almacena la categoría de cada curso
mdl_context Almacena los contextos del sistema
Elaborado por: Roca Carlos, Villafuerte Arturo
Ilustración 32: Tabla de base de datos Moodle plugin Attendance
Elaborado por: Roca Carlos, Villafuerte Arturo
59
Tabla 13: Descripción de las tablas con las que se interactuó de la base de datos
MariaDB de Moodle plugin Attendance
Tablas del Plugin Attendance
Nombre de la tabla Descripción
mdl_attendance Registra información de la actividad de
asistencia
mdl_attendance_log Almacena la información de las asistencias
mdl_attendance_sessions Almacena la información de las sesiones de
asistencia
mdl_course_sections Almacena las secciones de cada curso del sistema
mdl_course_modules Almacena los módulos de cada curso del sistema
Elaborado por: Roca Carlos, Villafuerte Arturo
4.4.7. Web Service
Se desarrollo un web service que va a actuar como medio de comunicación entre las
aplicaciones móviles Android e iOS con la base de datos MariaDB del sistema Moodle,
este es independiente del sistema Moodle, pero fue desarrollado en PHP para tomar a
los servicios web como parte del Moodle y que se ejecuten en el mismo servidor web
facilitando de esta manera su instalación.
4.4.8. Web Service Verificación Active Directory
El servicio de autenticación recibe como parámetros de entrada al usuario y contraseña
del docente hace la verificación con Active Directory y retorna verdadero si la
información es correcta caso contrario falso.
60
Ilustración 33: Web Service Verificación Active Directory
Elaborado por: Roca Carlos, Villafuerte Arturo
4.4.9. Web Service Conexión Base de Datos
Se setean la información de usuario contraseña y base de datos para poder realizar la
conexión con la base de datos del sistema virtual Moodle.
61
Ilustración 34: Web Service Conexión Base de Datos
Elaborado por: Roca Carlos, Villafuerte Arturo
4.4.10. Web Service Insertar Recurso Asistencia
El servicio recibe como parámetros de entrada el id del Curso la descripción de la
actividad de asistencia el puntaje y la fecha de creación, a partir de estos datos se hace
la inserción de la nueva actividad de asistencia, luego se obtiene el id de instancia
62
insertado con el método getInstance(), y el id de la sección de dicho curso con el método
getSection(), para de esta manera insertar un nuevo módulo con el método
insertModulo(), luego se obtiene la secuencia de esa sección con el método
getSequence() y la secuencia nueva del curso con getSequenceNueva(), para insertar
la nueva secuencia de valores para la toma de asistencia con el método
insertSecuencia().
Ilustración 35: Web Service Insertar Recurso Asistencia
Elaborado por: Roca Carlos, Villafuerte Arturo
63
4.4.11. Web Service Obtener Docente, Asignatura, Estudiante
Para obtener la información del docente el servicio recibe como parámetro el nombre
de usuario.
Ilustración 36: Web Service Obtener Docente
Elaborado por: Roca Carlos, Villafuerte Arturo
Para obtener la información de los estudiantes el servicio recibe como parámetro el id
del curso.
64
Ilustración 37: Web Service Obtener Estudiantes
Elaborado por: Roca Carlos, Villafuerte Arturo
Para obtener la información de las asignaturas el servicio recibe como parámetro el id
de usuario.
Ilustración 38: Web Service Obtener Asignaturas
Elaborado por: Roca Carlos, Villafuerte Arturo
65
4.4.12. Web Service Insertar Asistencas
El servicio recibe como parámetros de entrada el id de la actividad de Asistencia, el id
de la sesión, el id del estudiante, el id del docente el valor de la asistencia y la fecha a
través del método insertAsistencia().
Ilustración 39: Web Service Insertar Asistencas
Elaborado por: Roca Carlos, Villafuerte Arturo
4.5. Pruebas
La Dirección de Tecnologías de Información y Comunicación de la Universidad Central
del Ecuador, tiene un área de aseguramiento de la calidad (Quality Assurance) la cual
tiene por objetivo la verificación del funcionamiento correcto de la aplicación. De esta
manera, para pasar a la fase de producción se tiene mayor control del sistema.
Para la puesta en producción de la aplicación, el área de aseguramiento de la calidad se
basa en lo siguiente:
Pruebas de regresión: verifica que los nuevos cambios generados, no afecten al
funcionamiento anterior de la aplicación.
Pruebas de integración: verifica que lo desarrollado se despliegue sin errores en los
ambientes de pruebas y producción.
Pruebas del sistema: verifica que la funcionalidad del sistema cumpla con los objetivos
que las historias de usuario plantearon en su definición.
66
Pruebas de estrés: pone a prueba el sistema para encontrar fallas en el desarrollo, por
lo que expone al software a casos extremos.
Una vez que la funcionalidad del sistema pasa por las pruebas realizadas y que se
verifique que el proceso haya terminado con éxito, se continua con la siguiente fase de
la metodología
4.6. Implementación
Se realiza la implementación de la aplicación para su puesta en producción, para lo cual
realizamos lo siguiente:
En el servidor donde se encuentra instalado el sistema virtual Moodle copiamos el
directorio “asistencias” que contiene el Web Service de la aplicación móvil para el
registro de asistencias de la Universidad Central del Ecuador en el siguiente directorio:
/var/www/html/moodle/
Una vez insertado el Web Service modificamos el archivos dentro del directorio
/var/www/html/moodle/asistencias/ constantes.php, donde encontramos las constantes
de conexión a base de datos.
Ilustración 40: Web Service Constantes BD
Elaborado por: Roca Carlos, Villafuerte Arturo
Seguidamente el archivo constantes_url.php donde encontramos las direcciones que se
usan para la visualizar las imágenes de los usuarios y el dominio del sistema Moodle.
67
Ilustración 41: Web Service Constantes URL
Elaborado por: Roca Carlos, Villafuerte Arturo
Con estas únicas modificaciones las aplicaciones móviles Android e iOS están listas
para la sincronización y correcto funcionamiento.
4.7. Casos de uso.
Una explicación clara de la aplicación móvil para registro de asistencias de la
Universidad Central del Ecuador se la hace mediante diagramas de casos de uso.
En un caso de uso se detalla la secuencia de interacciones que se producen entre un
sistema y los actores para cumplir una función.
Un actor es un agente externo a la aplicación y se relaciona con esta para utilizar su
funcionalidad.
A continuación, se presenta cada uno de los casos de uso de la aplicación móvil para el
registro de asistencia de la Universidad Central del Ecuador para entender el
funcionamiento de la misma.
4.7.1. Caso de uso activar docente en la plataforma virtual.
DOCENTE uvirtual.uce.edu.ec
LOGEARSE EN MOODLE
Ilustración 42: Caso de uso activar docente en la plataforma virtual Elaborado por: Roca Carlos, Villafuerte Arturo
68
Tabla 14: Descripción de caso de uso activar docente en la plataforma virtual
Nombre: Activar Docente en Plataforma Virtual
Descripción:
Proceso con el cual el docente activa su cuenta en la plataforma virtual
Actores:
Docente.
Flujo Normal:
Ingresar a la plataforma virtual
Logearse en el sistema.
Elaborado por: Roca Carlos, Villafuerte Arturo
4.7.2. Caso de uso crear curso en la plataforma virtual.
CREAR CURSO
ADMINISTRADOR uvirtual.uce.edu.ec
AGREGAR USUARIOS
ESTUDIANTES
DOCENTE
ASIGNAR ESTUDIANTES
ASIGNAR DOCENTE
Ilustración 43: Caso de uso crear curso en la plataforma virtual Elaborado por: Roca Carlos, Villafuerte Arturo
69
Tabla 15: Descripción de caso de uso crear curso en la plataforma virtual
Nombre: Crear Curso
Descripción:
Proceso con el cual el administrador crea un curso en la plataforma virtual y agrega
Docente y estudiantes al mismo.
Actores:
Administrador.
Precondiciones:
El docente y los estudiantes deben estar autentificados por lo menos una vez en la
plataforma virtual de la Universidad Central el Ecuador.
Flujo Normal:
Ingresar a la plataforma virtual de la Universidad Central del Ecuador.
Ir a Administrar.
Crear curso.
Asignar Docente.
Agregar Estudiantes.
Elaborado por: Roca Carlos, Villafuerte Arturo
70
4.7.3. Caso de uso logearse en la aplicación.
DOCENTESMART PHONE
ESTUDIANTES
ASIGNATURAS
REPORTES
JUSTIFICAR
SERVIDOR WEB
AUTENTICACIÓN
uvirtual.uce.edu.ec
APP ASISTENCIAS
UCE
uvirtual.uce.edu.ec
Ilustración 44: Caso de uso logearse en la aplicación Elaborado por: Roca Carlos, Villafuerte Arturo
Tabla 16: Descripción de caso de uso loguearse en la aplicación
Nombre: Log in Aplicación
Descripción:
Proceso con el cual el docente se loguea en la aplicación móvil para el registro de
asistencias de la Universidad Central del Ecuador
Actores:
71
Docente.
Precondiciones:
El docente debe esta autentificados por lo menos una vez en la plataforma virtual de
la Universidad Central el Ecuador.
Flujo Normal:
Abrir la aplicación móvil.
Elegir la opción iniciar sesión.
Ingresar username y password.
Asignar Docente.
Loguearse.
Elaborado por: Roca Carlos, Villafuerte Arturo
4.7.4. Caso de uso crear actividad.
DOCENTESMART PHONE
ASIGNATURAS
APP ASISTENCIAS
UCE
LISTA DE ASIGNATURAS
SELECCIONAR ASIGNATURA
CREAR ACTIVIDAD
Ilustración 45: Caso de uso crear actividad Elaborado por: Roca Carlos, Villafuerte Arturo
72
Tabla 17: Descripción de caso de uso crear actividad
Nombre: Crear Actividad
Descripción:
Proceso con el cual el docente crea una actividad en la cual va a registrar las sesiones
en las cuales tomará asistencia.
Actores:
Docente.
Precondiciones:
El docente debe tener asignado por lo menos un curso en la plataforma virtual de la
Universidad Central el Ecuador.
Flujo Normal:
Abrir la aplicación móvil.
Elegir la opción asignaturas.
Seleccionar la asignatura deseada.
Ingresar la información.
Crear actividad.
Elaborado por: Roca Carlos, Villafuerte Arturo
73
4.7.5. Caso de uso crear sesión.
DOCENTESMART PHONE
ASIGNATURAS
APP ASISTENCIAS
UCE
LISTA DE ASIGNATURAS
SELECCIONAR ASIGNATURA
SELECCIONAR ACTIVIDAD
CREAR SESIÓN
Ilustración 46: Caso de uso crear sesión Elaborado por: Roca Carlos, Villafuerte Arturo
Tabla 18: Descripción de caso de uso crear sesión
Nombre: Crear Sesión
Descripción:
Proceso con el cual el docente crea una sesión en la cual va a registrar la asistencia
de los estudiantes.
Actores:
Docente.
Precondiciones:
El docente debe tener creada por lo menos una actividad en la plataforma virtual de
la Universidad Central el Ecuador o en la aplicación móvil.
Flujo Normal:
74
Abrir la aplicación móvil.
Elegir la opción asignaturas.
Seleccionar la asignatura deseada.
Seleccionar la actividad.
Ingresar la información o dejar predeterminada.
Crear sesión.
Elaborado por: Roca Carlos, Villafuerte Arturo
4.7.6. Caso de uso registrar asistencia.
DOCENTESMART PHONE
ASIGNATURAS
APP ASISTENCIAS
UCE
LISTA DE ASIGNATURAS
SELECCIONAR ASIGNATURA
SELECCIONAR ACTIVIDAD
REGISTRARASISTENCIA
Ilustración 47 Caso de uso registrar asistencia Elaborado por: Roca Carlos, Villafuerte Arturo
Tabla 19: Descripción de caso de uso registrar asistencia
Nombre: Registrar Asistencia
Descripción:
Proceso con el cual el docente registra asistencia de los estudiantes.
75
Actores:
Docente.
Precondiciones:
El docente debe tener creada la sesión en la plataforma virtual de la Universidad
Central el Ecuador o en la aplicación móvil con la fecha del día en que va a tomar
asistencia.
Flujo Normal:
Abrir la aplicación móvil.
Elegir la opción asignaturas.
Seleccionar la asignatura deseada.
Seleccionar la actividad.
Registrar asistencia
Elaborado por: Roca Carlos, Villafuerte Arturo
4.7.7. Caso de uso justificar asistencia.
DOCENTESMART PHONE
JUSTIFICAR
APP ASISTENCIAS
UCE
LISTA DE ASIGNATURAS
SELECCIONAR ASIGNATURA
SELECCIONAR ACTIVIDAD
SELECCIONAR SESIÓN
JUSTIFICARASISTENCIA
76
Ilustración 48: Caso de uso justificar asistencia Elaborado por: Roca Carlos, Villafuerte Arturo
Tabla 20: Descripción de caso de uso justificar asistencia
Nombre: Justificar Asistencia
Descripción:
Proceso con el cual el docente justifica la asistencia de los estudiantes.
Actores:
Docente.
Precondiciones:
El docente debe haber tomado asistencia por lo menos una vez en la plataforma
virtual de la Universidad Central el Ecuador o en la aplicación móvil.
Flujo Normal:
Abrir la aplicación móvil.
Elegir la opción justificar.
Seleccionar la asignatura deseada.
Seleccionar la actividad.
Seleccionar la sesión.
Justificar la asistencia.
Elaborado por: Roca Carlos, Villafuerte Arturo
77
4.7.8. Caso de uso visibilidad de reporte de asistencia por estudiantes.
DOCENTESMART PHONE
ESTUDIANTES
APP ASISTENCIAS
UCE
LISTA DE ASIGNATURAS
SELECCIONAR ASIGNATURA
SELECCIONAR ACTIVIDAD
REPORTE DE ASISTENCIAS
Ilustración 49: Caso de uso reporte de asistencia por estudiantes Elaborado por: Roca Carlos, Villafuerte Arturo
Tabla 21: Descripción de caso de uso de reporte de asistencia por estudiante.
Nombre: Reporte Estudiantes
Descripción:
Proceso con el cual el docente visualiza el reporte de la asistencia de los
estudiantes.
Actores:
Docente.
Precondiciones:
El docente debe haber tomado asistencia por lo menos una vez en la plataforma
virtual de la Universidad Central el Ecuador o en la aplicación móvil.
Flujo Normal:
78
Abrir la aplicación móvil.
Elegir la opción Estudiantes.
Seleccionar la asignatura deseada.
Seleccionar la actividad.
Visualizar el reporte.
Elaborado por: Roca Carlos, Villafuerte Arturo
4.7.9. Caso de uso reporte de asistencia por materias.
DOCENTESMART PHONE
REPORTES
APP ASISTENCIAS
UCE
LISTA DE ASIGNATURAS
SELECCIONAR ASIGNATURA
ESTADÍSTICA
Ilustración 50: Caso de uso reporte de asistencia por materias Elaborado por: Roca Carlos, Villafuerte Arturo
Tabla 22: Descripción de caso de uso reporte de asistencia por materia
Nombre: Reporte Materias
Descripción:
79
Proceso con el cual el docente visualiza el reporte de la asistencia de los
estudiantes por materias.
Actores:
Docente.
Precondiciones:
El docente debe haber tomado asistencia por lo menos una vez en la plataforma
virtual de la Universidad Central el Ecuador o en la aplicación móvil.
Flujo Normal:
Abrir la aplicación móvil.
Elegir la opción reportes.
Seleccionar la asignatura deseada.
Visualizar el reporte.
Elaborado por: Roca Carlos, Villafuerte Arturo
80
5. RESULTADOS
Para proceder con la evaluación de calidad y la satisfacción de los usuarios de la
aplicación móvil para la toma de asistencia de la Universidad Central del Ecuador se
realizó a una encuesta a los docentes de la facultad de Ciencias Físicas y Matemática.
5.1. Encuesta
Para la realización de la encuesta se tomó en cuenta los siguientes indicadores
Sistemas utilizados
Usabilidad
Facilidad de uso
Utilidad
5.1.1. Forma de aplicación de la encuesta
Se realizó la aplicación de la encuesta a los docentes a través de una encuesta online
que facilita la obtención de información para el análisis de resultados, además de
ahorrar en costo y tiempo.
La herramienta utilizada para la aplicación de la encuesta es SurveyMonkey que es una
de los mayores proveedores de soluciones para encuestas online del mundo, tiene
facilidad de manejo, creación de encuestas y recopilación de resultados, además de
tener una versión free. (SurveyMonkey, 2017)
5.1.2. Tamaño de la muestra
SurveyMonkey provee de una calculadora para el cálculo del tamaño de la muestra,
que utiliza la siguiente fórmula:
Tamaño de la muestra =
Tamaño de la población = N | Margen de error = e | puntuación z = z
e es un porcentaje, debe estar expresado con decimales (por ejemplo, 3 % = 0.03).
81
La puntuación z es la cantidad de desviaciones estándar que una proporción dada se
aleja de la media. Para encontrar la puntuación z adecuada, consulta la tabla a
continuación:
Tabla 23: Nivel de confianza para la muestra
Nivel de confianza deseado Puntuación z
80 % 1.28
85 % 1.44
90 % 1.65
95 % 1.96
99 % 2.58 Fuente: (SurveyMonkey tamaño muesta, 2017)
La población para esta encuesta son los docentes de la facultad de Ingeniería, Ciencias Físicas
y Matemática de la Universidad Central del Ecuador en el periodo académico 2017-2018 la
cual consta de 34 docentes. (Reportes UCE, 2017)
Al tener un tamaño de población reducido se tomó un nivel de confianza del 80% y un margen
de error del 0.27 para el cálculo del tamaño de la muestra.
Ilustración 51: Tamaño de la muestra
Fuente: (SurveyMonkey tamaño muesta, 2017)
82
Por lo cual se realizó la encuesta a 5 docentes de la facultad de Ingeniería, Ciencias Físicas y
Matemática de la Universidad Central del Ecuador.
5.1.3. Modelo de Encuesta
83
84
Ilustración 52: Modelo de encuesta
Elaborado por: Roca Carlos, Villafuerte Arturo
85
5.1.4. Análisis de resultados
5.1.4.1. Pregunta 1
Ilustración 53: Resultados Encuesta P1
Elaborado por: Roca Carlos, Villafuerte Arturo
A través de los resultados se puede apreciar que el sistema más utilizado es la
aplicación móvil para toma de asistencia con integración al aula virtual Moodle,
seguido del Registro Manual, se puede apreciar también que los docentes no utilizan el
Sistema Académico Universitario ni el Aula Virtual Moodle.
86
5.1.4.2. Pregunta 2
Ilustración 54: Resultados Encuesta P2
Elaborado por: Roca Carlos, Villafuerte Arturo
El 100% de la muestra encuestada recomendaría a otros docentes el uso de la aplicación
móvil para la toma de asistencia.
87
5.1.4.3. Pregunta 3
Ilustración 55: Resultados Encuesta P3
Elaborado por: Roca Carlos, Villafuerte Arturo
88
Con base a los resultados se puede apreciar que el medio de toma de asistencia más
fácil de utilizar es la aplicación móvil para la toma de asistencia.
5.1.4.4. Pregunta 4
Ilustración 56: Resultados Encuesta P4
Elaborado por: Roca Carlos, Villafuerte Arturo
La valoración de la aplicación es de 4,8 sobre 5 que es una excelente puntuación dada
por los docentes.
89
5.1.4.5. Pregunta 5
Ilustración 57: Resultados Encuesta P5
Elaborado por: Roca Carlos, Villafuerte Arturo
El modo offline recibe una calificación de 5 sobre 5 ya que es una herramienta
sumamente útil al no necesitar estar conectado a una red para su utilización.
90
6. CONCLUSIONES
Se desarrolló un sistema de medios móviles tanto Android como iOS, ágil y
oportuno para el registro de asistencias de estudiantes de la Universidad Central del
Ecuador que se sincroniza con la plataforma Moodle que está definida como aula
virtual, tanto en forma online como offline.
Se identificaron los procesos que se llevan a cabo para registrar la asistencia en el
sistema Moodle a través del análisis de la base de datos MariaDB y del plugin
attendance para de esta forma crear un Web Service que permita sincronizar a la
aplicación móvil con el sistema Moodle.
Las aplicaciones móviles fueron desarrolladas en diferentes lenguajes de
programación con diferentes componentes gráficos tanto en iOS como en Android,
con este proyecto se logró diseñar una interfaz muy parecida para ambas plataformas
facilitando de esta manera el uso e interacción con el usuario, familiarizándolo con
la aplicación independientemente de la plataforma.
La aplicación móvil presenta a los usuarios una forma eficaz para el registro de
asistencias la cual no produce perdida de la información ya que esta se almacena en
la base interna del dispositivo de manera offline además de sincronizar de forma
online con el sistema Moodle.
La aplicación móvil para el registro de asistencias presenta una arquitectura que la
Dirección de Tecnologías de la Información y Comunicaciones (DTIC) de la
Universidad Central del Ecuador evaluará para el futuro desarrollo de aplicaciones
móviles.
La aplicación móvil permite al docente mantener un control de las asistencias de los
estudiantes de la Universidad Central del Ecuador de forma eficaz, segura y fácil.
Mediante la aplicación móvil el registro de las asistencias de los estudiantes de la
Universidad Central del Ecuador, ha solventado los problemas de pérdida de
información y ahorrando el tiempo dedicado a esta actividad.
La aplicación móvil incentiva a docentes y estudiantes a una mayor utilización de
la Plataforma Virtual Moodle utilizando de mejor manera los recursos
proporcionados por la Dirección de Tecnologías de la Información y
Comunicaciones (DTIC) de la Universidad Central del Ecuador.
El diseño de la arquitectura que se planteó para la aplicación permite la adaptación
a nuevos servicios para un potencial crecimiento lo cual representa una arquitectura
escalable y de fácil mantenimiento.
91
El Web Service desarrollado aporta interoperabilidad entre las diferentes
aplicaciones de software independientemente de las plataformas sobre las que se
instalen o de su lenguaje de programación en el cual fueron desarrollados.
El Web Service permite una fácil configuración del funcionamiento de la aplicación,
para cambios futuros que puedan presentarse.
Al estar anclado el web service al servidor del Moodle resulta fácil el mantenimiento
por parte de los administradores del sistema, quien con las mismas credenciales
puede realizar los cambios necesarios sin incurrir en el uso de otros servidores.
El Web Service nos permite sincronizar la aplicación y la información del sistema
virtual Moodle preservando la integridad, confidencialidad y disponibilidad de los
datos cumpliendo de esta manera con los objetivos planteados.
El modo offline de la aplicación evita mayor consumo de energía del dispositivo
móvil permitiendo apagar el Wi-Fi o Datos Móviles mientras se usa la aplicación.
Al usar lenguajes nativos de los sistemas operativos Android y iOS, se puede utilizar
todos los recursos del dispositivo y/o sistema operativo, abriendo paso a muchas
más funcionalidades en cuanto a conectividad o uso de recursos como cámara,
micrófono, NFC, etc.
Con este proyecto se ha logrado experiencia en aplicaciones móviles que se verán
reflejadas en el diseño y desarrollo de otras aplicaciones que se implementarán en
el nuevo sistema Integral de Información Universitaria SIIU.
Se desarrolló las aplicaciones en Android y iOS para cubrir los sistemas operativos
más utilizados en los dispositivos móviles en la Universidad Central del Ecuador.
Al manejar las herramientas nativas se encontraron las mayores dificultades en el
desarrollo de vistas por sus diferentes componentes, siendo este uno de los retos del
proyecto que se lograron resolver con éxito.
A medida que el desarrollo de los aplicativos móviles avanzaba, se implementaron
funciones adicionales al diseño original, ya que se notó diferencias para la
integración con el sistema virtual Moodle que no representaban un alto impacto
desde el punto de vista de implementación, pero facilitaba la integración, así como
la usabilidad general de la aplicación.
92
7. RECOMENDACIONES
Se recomienda que se designe a una persona que se encargue del mantenimiento del
Web Service de la aplicación móvil para el registro de asistencias alojado en el
servidor de la Universidad Central del Ecuador.
Se recomienda que no se generen automáticamente todas las sesiones del semestre
en la Plataforma Virtual Moodle, estas se creen día a día.
Se sugiere implementar la aplicación móvil para el registro de asistencias con el
Sistema Académico SIIU vigente para un paso de asistencias directo al sistema.
Se recomienda analizar el estándar, y la arquitectura propuesta, para ser
implementada en el área de desarrollo.
93
8. BIBLIOGRAFÍA
Android. (2017). Obtenido de https://source.android.com/source/
Apple Inc. (2017). Swift. Obtenido de https://developer.apple.com/swift/
Bucicoiu, M., & Tapus, N. (2013). Easy attendance: location-based authentication for
students integrated with moodle. Roedunet International Conference (RoEduNet),
2013 11th. Obtenido de http://ieeexplore.ieee.org/abstract/document/6511761/
CamelBones, an Objective-C/Perl bridge for Mac OS X & GNUStep - Home. (2010).
Recuperado de http://camelbones.sourceforge.net/index.html
Cantillo Valero, C., Roura Redondo, M., & Sánchez Palacín, A. (2012). Tendencias actuales en
el uso de dispositivos móviles en educación. La Educacion digital magazine.
Cataldi, Z., Lage, F., Pessacq, R., & Garcia Martínez, R. (s.f.). Ingeniería de software
educativo.
(2017). Cisco Prime Universidad Central del Ecuador.
Fling, B. (2009). Mobile Design and Development. O’Reilly Media, Inc.
FusionBit. (2017). Moodle Attendance App. Obtenido de
https://play.google.com/store/apps/details?id=com.rutvik.moodleattendanceapp
Gartner. (19 de Mayo de 2016). Gartner. Obtenido de
http://www.gartner.com/newsroom/id/3323017
Gironés, J. T. (2011). El gran libro de Android. Barcelona, España: Marcombo.
Hernandez, A., Rosero, N., Enriquez, R., & Cadena, S. (08 de 2017). Datos Abiertos
Universidad Central del Ecuador. Obtenido de
http://datosabiertos.uce.edu.ec/Indicadores
Historia de PHP y Proyectos Relacionados. (2017). Obtenido de php:
http://php.net/manual/es/history.php
Honorable Consejo Universitario, U. (2017). INSTRUCTIVO PARA LA EVALUACIÓN
ESTUDIANTIL DE GRADO. Obtenido de http://aka-
cdn.uce.edu.ec/ares/w/facs/fo/pregrado/noticias/INSTRUCTIVO%20PARA%20LA%2
0EVALUACI%C3%93N%20ESTUDIANTIL%20DE%20GRADO.pdf
94
iOS Technology Overview. (2017). Obtenido de Apple Inc.:
https://developer.apple.com/library/content/documentation/Miscellaneous/Conce
ptual/iPhoneOSTechOverview/Introduction/Introduction.html
ISO27000. (s.f.). ISO 27000. Obtenido de http://www.iso27000.es
LanceTalent. (20 de Febrero de 2014). LanceTalent . Obtenido de
https://www.lancetalent.com/blog/tipos-de-aplicaciones-moviles-ventajas-
inconvenientes/
López, G., & Temoltzin, F. (27 de noviembre de 2013). Modelado Orientado a Objetos y
Desarrollo Agil. Obtenido de https://modulopoo.wordpress.com/unidad-iv/
Mobile Moodle . (2017). Obtenido de https://download.moodle.org/mobile/
Mohandes, M. A. (2017). Class Attendance Management System Using NFC Mobile Devices.
Intelligent Automation & Soft Computing. Obtenido de
http://www.tandfonline.com/doi/full/10.1080/10798587.2016.1204749
Moodle. (2017). Obtenido de https://docs.moodle.org/all/es/Acerca_de_Moodle
Moodle. (2017). Moodle Php. Obtenido de https://docs.moodle.org/all/es/PHP
Oracle. (2017). Java. Obtenido de https://www.java.com/es/download/faq/whatis_java.xml
Proyecto GNU - Licencias de software libre incompatibles con la GPL. (s.f.). Obtenido de
https://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses
Reportes UCE. (2017). Obtenido de http://reportes.uce.edu.ec/Reportes/Login.aspx
RFC 2616. (1999). Obtenido de http://www.ietf.org/rfc/rfc2616.txt
S. Pressman, R. (2001). Ingeniería del software: Un enfoque práctico, 3a Edición. Madrid:
S.A. MCGRAW-HILL / INTERAMERICANA DE ESPAÑA.
SurveyMonkey. (2017). Obtenido de https://es.surveymonkey.com/mp/aboutus/
SurveyMonkey tamaño muesta. (2017). Obtenido de
https://es.surveymonkey.com/mp/sample-size-calculator/
Swift.org. (2017). Obtenido de https://swift.org/about/#swiftorg-and-open-source
The Apache HTTP Server Project. (2017). Obtenido de
http://httpd.apache.org/ABOUT_APACHE.html
95
Zamfirache, V., Eftcnoiu, A., & Tapus, N. (2013). Extending the moodle course management
system for mobile devices. Systems and Computer Science (ICSCS), 2013 2nd
International Conference on. Obtenido de
http://ieeexplore.ieee.org/abstract/document/6632031/
96
9. ANEXOS
9.1. Anexo 1: Acces Points Universidad Central del Ecuador
Fuente: (Cisco Prime Universidad Central del Ecuador, 2017)
97
9.2. Anexo 2: Aprobación de Quality Assurance de la Dirección de Tecnologías
de la Información y Comunicaciones