Вы находитесь на странице: 1из 110

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y


MATEMÁTICA

CARRERA DE INGENIERÍA INFORMÁTICA

DESARROLLO DE UNA APLICACIÓN MÓVIL PARA EL


CONTROL Y GESTIÓN DE ESTUDIANTES, QUE SERA
DESARROLLADO PARA LA UNIDAD EDUCATIVA “LA
COLINA”

TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL


TÍTULO DE INGENIERO INFORMÁTICO

AUTOR: SAMPEDRO CHÁVEZ PAUL ADRIÁN

TUTOR: ING. DEL POZO SÁNCHEZ FRANZ EDUARDO

QUITO - ECUADOR

2015
DEDICATORIA

A mis padres por enseñarme el valor del esfuerzo y sacrificio, y en especial a


mi madre que fue un ejemplo de respeto, amor, cariño y humildad.

A mi hermano por ser un amigo y compañero en los momentos difíciles que


han pasado en el trascurro de la carrera.

A cada profesor que tuve la oportunidad de conocer en la facultad que me hizo


crecer un poco más como persona, sus enseñanzas inculcaron en mi un
deseo de aprender y mejorar cada día.

Paul A. Sampedro

ii
AGRADECIMIENTO

Al Ingeniero Franz del Pozo por ser una valiosa guía en el transcurso del
desarrollo del proyecto de titulación, y a mis revisores Ingeniero Rene Carrillo
y Matemático Jorge Arroba.

Paul A. Sampedro

iii
AUTORIZACIÓN DE AUTORÍA INTELECTUAL

iv
CERTIFICACIÓN DEL TUTOR

v
INFORME DE LA CONCLUSIÓN DEL TRABAJO DE GRADUACIÓN

vi
DESIGNACIÓN TRIBUNAL

vii
CALIFICACIÓN TRIBUNAL

viii
CONTENIDO

DEDICATORIA .......................................................................................................... ii

AGRADECIMIENTO ................................................................................................ iii

AUTORIZACIÓN DE AUTORÍA INTELECTUAL ................................................. iv

CERTIFICACIÓN DEL TUTOR ............................................................................... v

INFORME DE LA CONCLUSIÓN DEL TRABAJO DE GRADUACIÓN .......... vi

DESIGNACIÓN TRIBUNAL ................................................................................... vii

CALIFICACIÓN TRIBUNAL .................................................................................. viii

CONTENIDO ............................................................................................................. ix

LISTA DE FIGURAS .............................................................................................. xiii

LISTA DE TABLAS ................................................................................................. xv

LISTA DE ABREVIATURAS ................................................................................. xvi

RESUMEN .............................................................................................................. xvii

ABSTRACT ........................................................................................................... xviii

CERTIFICADO DE TRADUCCIÓN RESUMEN AL INGLES .......................... xix

TITULO DEL TRADUCTOR .................................................................................. xx

INTRODUCCIÓN....................................................................................................... 1

1 CAPITULO PRESENTACIÓN DEL PROBLEMA .............................................. 3

PLANTEAMIENTO DEL PROBLEMA .......................................................... 3

INTERROGANTES DE LA INVESTIGACIÓN ............................................ 3

OBJETIVOS DEL PROYECTO ..................................................................... 4

Objetivo general. ....................................................................................... 4

Objetivos específicos. .............................................................................. 4

ALCANCE ......................................................................................................... 4

ix
LIMITACIONES ................................................................................................ 5

JUSTIFICACIÓN .............................................................................................. 5

2 CAPÍTULO MARCO TEÓRICO ........................................................................... 7

ANTECEDENTES ........................................................................................... 7

FUNDAMENTACIÓN TEÓRICA ................................................................... 7

La educación en el Ecuador.................................................................... 7

Los padres de familia en la educación. ................................................. 8

Sistemas académicos. ............................................................................. 8

DISPOSITIVOS MÓVILES ............................................................................. 9

Hardware. ................................................................................................. 10

Software. .................................................................................................. 11

SERVICIOS WEB .......................................................................................... 24

Estándares empleados .......................................................................... 25

JAVASCRIPT OBJECT NOTATION (JSON) ............................................ 29

HYPERTEXT TRANSFER PROTOCOL (HTTP) ..................................... 33

Transacciones HTTP .............................................................................. 33

Métodos de petición ............................................................................... 34

3 METODOLOGÍA DE DESARROLLO ................................................................ 35

INTRODUCCIÓN ........................................................................................... 35

DESARROLLO RÁPIDO DE APLICACIONES RAD ............................... 35

Fases del RAD ........................................................................................ 36

Características......................................................................................... 37

x
4 CAPITULO ANÁLISIS Y DISEÑO DE LA SOLUCIÓN................................... 39

INTRODUCCIÓN ........................................................................................... 39

ARQUITECTURA .......................................................................................... 39

LEVANTAMIENTO DE REQUERIMIENTOS ............................................ 40

DISEÑO DE LA INTERFAZ DE LA APLICACIÓN ................................... 42

Despliegue de listas ............................................................................... 44

ANÁLISIS DE REQUERIMIENTOS ............................................................ 44

CASOS DE USO ........................................................................................... 46

Ingresar a la aplicación móvil ................................................................ 46

Lista de materias ..................................................................................... 48

Lista de profesores ................................................................................. 49

Lista de compañeros .............................................................................. 50

Conducta por periodo ............................................................................. 51

Horario escolar ........................................................................................ 53

Notas por materia ................................................................................... 54

Detalle de notas por modulo ................................................................. 55

ANÁLISIS DE LAS HERRAMIENTAS DE DESARROLLO..................... 56

Android Studio ......................................................................................... 56

Visual Studio ............................................................................................ 56

Sql Server Express Edition .................................................................... 57

DECISIONES DE DISEÑO E IMPLEMENTACIÓN ................................. 57

Detalles de implementación .................................................................. 57

5 CAPITULO MARCO ADMINISTRATIVO ......................................................... 60

xi
RECURSOS ................................................................................................... 60

Recursos Humanos ............................................................................... 60

Recursos Didácticos ............................................................................... 60

PRESUPUESTO ............................................................................................ 60

CRONOGRAMA ............................................................................................ 61

6 CONCLUSIONES Y RECOMENDACIONES .................................................. 64

CONCLUSIONES .......................................................................................... 64

RECOMENDACIONES................................................................................. 65

BIBLIOGRAFÍA ........................................................................................................ 66

ANEXOS ................................................................................................................... 70

MANUAL TÉCNICO ............................................................................................ 70

MANUAL DE USUARIO ..................................................................................... 80

xii
LISTA DE FIGURAS

Figura 1. Las diferentes capas del Sistema operativo iOS............................... 14

Figura 2. Logos de las versiones de IOS. ........................................................... 15

Figura 3.Gráfico versiones Android ...................................................................... 16

Figura 4. Logo OS BlackBerry............................................................................... 19

Figura 5. Logo Windows Mobile ............................................................................ 21

Figura 6. Logo Windows Phone 8......................................................................... 22

Figura 7.Los servicios web en funcionamiento ................................................... 25

Figura 8. Estructura de un documento XML ....................................................... 26

Figura 9. Representación objeto JSON ............................................................... 30

Figura 10. Representación arreglo JSON ........................................................... 30

Figura 11. Representación valor JSON ............................................................... 31

Figura 12. Representación cadena de caracteres JSON ................................. 32

Figura 13. Representación número JSON .......................................................... 32

Figura 14. Ejemplo petición GET con parámetros. ............................................ 34

Figura 15. Las 5 fases del RAD ........................................................................... 36

Figura 16.Diagrama de componentes de la arquitectura de la aplicación ..... 40

Figura 17.Captura pantalla principal S.A.S.E .................................................... 41

Figura 18. Estructura general de la aplicación móvil ......................................... 43

Figura 19. Variación diseño para dispositivos mayor tamaño ......................... 44

Figura 20. Ingreso a la aplicación móvil .............................................................. 47

Figura 21.Diagrama de secuencia – Ingreso a la aplicación móvil ................. 47

Figura 22.Caso de uso - Lista de materias por estudiante ............................... 49

Figura 23.Diagrama de secuencia - Lista de materias por estudiante ........... 49

Figura 24.Caso de uso – Lista de profesores ..................................................... 50

xiii
Figura 25.Caso de uso – Lista de compañeros por estudiante ....................... 51

Figura 26.Caso de uso-Conducta por periodo ................................................... 52

Figura 27.Caso de uso-Horario escolar ............................................................... 53

Figura 28. Caso de uso-Notas de la materia ...................................................... 55

Figura 29. Caso de uso-Detalle de notas por modulo ....................................... 56

Figura 30.Logo Android Studio ............................................................................. 56

Figura 31.Logo Visual Studio 2012 ...................................................................... 57

Figura 32.Logo SQL Server ................................................................................... 57

Figura 33.Prototipo herencias de clases AsyncTask......................................... 58

Figura 34.Proceso de ejecución de hilos con AsyncTask ................................ 59

xiv
LISTA DE TABLAS

Tabla 1.Cuota de mercado de OS de dispositivos móviles. ............................. 12

Tabla 2 Versiones de Android. .............................................................................. 19

Tabla 3. Costo de licencia plataformas de distribución. .................................... 24

Tabla 4.Descripción textual del actor padre familia/representante ................. 45

Tabla 5.Descripción textual actor administrador sistema ................................. 45

Tabla 6.Descripción textual actor profesor .......................................................... 45

Tabla 7.Descrip.Ingresar a la aplicación móvil ................................................... 47

Tabla 8.Descrip.Listar materias ............................................................................ 48

Tabla 9.Descrip.Lista de profesores..................................................................... 50

Tabla 10.Descrip.Lista de compañeros ............................................................... 51

Tabla 11.Descrip. Conducta por periodo ............................................................. 52

Tabla 12.Descrip. Horario escolar ........................................................................ 53

Tabla 13. Descrip. Notas por estudiante ............................................................. 54

Tabla 14. Descrip. Detalle notas por modulo ...................................................... 55

Tabla 15.Presupuesto estimado ........................................................................... 61

Tabla 16.Cronograma ............................................................................................. 63

xv
LISTA DE ABREVIATURAS

OS: Sistema operativo.

PC: Computadora personal.

TIC: Tecnologías de la información y comunicación.

SMS: Servicio de mensajes corto.

WAP: Protocolo de aplicaciones inalámbrica.

API: Interfaz de programación de aplicaciones.

GSM: Sistema global para las comunicaciones móviles.

GPS: Sistema de posicionamiento global.

JDK: Kit de desarrollo de java.

RAD o DRA: Desarrollo rápido de aplicaciones.

S.A.S.E: Sistema académico sección escolar.

SENESCYT: Secretaría Nacional de Educación Superior, Ciencia,

Tecnología e Innovación

CEAACES: Consejo de evaluación, acreditación y aseguramiento de la


calidad de la educación superior.
ENES: Examen nacional para la educación superior.

xvi
RESUMEN

DESARROLLO DE UNA APLICACIÓN MÓVIL PARA EL CONTROL Y


GESTIÓN DE ESTUDIANTES, QUE SERA DESARROLLADO PARA LA
UNIDAD EDUCATIVA “LA COLINA”

El trabajo aquí presentado se basa en investigaciones sobre el efecto que


tiene la participación, del padre de familia en el rendimiento escolar de sus
hijos, y además de como los avances tecnológicos de las últimas décadas,
permiten al padre de familia conocer acerca del rendimiento escolar de estos,
a través de sistemas académicos implementados por algunas instituciones
educativas.

Esta investigación es un avance a dichos sistemas, que anteriormente


estaban limitados a solo ser usados a través de ordenadores. Esta
investigación, propone la utilización de una aplicación que pueda ser ejecuta
en dispositivos móviles que cuenten con el sistema operativo Android.

Este documento describe el análisis y desarrollo de una aplicación para


dispositivos móviles, que permita averiguar las realizar de forma sencilla y
remota consultas, acerca de las actividades del estudiante en la institución
académica.

Además se desarrollara una aplicación servidor, que atenderá las peticiones


desde el cliente a través de servicios web, y que acceda a la base de datos
del sistema para recuperar la información del estudiante de manera
transparente para el usuario.

DESCRIPTORES:
RENDIMIENTO ESCOLAR/SISTEMAS ACADÉMICOS/SERVICIOS
WEB/ANDROID/GESTIÓN ESTUDIANTES/APLICACIÓN MÓVIL/UNIDAD
EDUCATIVA “LA COLINA”/ANDROID STUDIO/SQL SERVER

xvii
ABSTRACT

DEVELOPMENT OF A MOBILE APPLICATION FOR THE CONTROL AND


MANAGEMENT OF STUDENTS, WHICH WILL BE DEVELOP FOR UNIDAD
EDUCATIVA “LA COLINA”

The document here by presented is based on investigations about the effects


that the involvement of the head of the household has when it comes to the
academic performance of his-her children, and also how technological
advances in the last decades allows the head of the household to be informed
about the academic performance of their children, through an academic
systems implemented by academic institutions.

This research is an improvement over said systems, that were once limited to
their use only through computers. This Investigation proposes the utilization of
an application that can be executed on mobile devices that work with the
Android Operative system.
This document describes the analysis and development of an application for
mobile devices that allows to find out the activities of the students in an
academic institution in a simple and remote manner.

In addition, a server application will be develop, which will handle the requests
from the client through web service, and gain access to the data base of the
system for the retrieval of information about the student in a transparent
manner for the user.

DESCRIPTORS:
ACADEMIC PERFORMANCE/ACADEMIC SYSTEMS/WEB
SERVICE/STUDENTS MANAGEMENT/MOBILE APPLICATION/ UNIDAD
EDUCATIVA “LA COLINA”/ANDROID STUDIO/SQL SERVER

xviii
CERTIFICADO DE TRADUCCIÓN RESUMEN AL INGLES

xix
TITULO DEL TRADUCTOR

xx
INTRODUCCIÓN

Uno de los principales problemas de la actualidad con lo que respecta a la


educación, es lo poco que se implica el padre de familia o representante, en
la enseñanza del representado, muchas veces por falta de tiempo o por el
trabajo. Se sabe gracias al (Ministerio de Educacion de Colombia, 2007) que
“si los padres o responsables de los menores se integran activamente a la
dinámica de las instituciones educativas, seguramente podrán establecer
objetivos claros en su papel de formadores.”. Este objetivo parece cada vez
más fácil de lograr, gracias a los avances tecnológicos en los campos de la
comunicación, como son el internet y las redes Wi-FI, permitiendo a través de
estos y de los sistemas académicos, explicados a continuación, conocer el
rendimiento en la institución de sus representados.
Muchas son las instituciones que han optado por los sistemas académicos,
pero sin embargo, aún no han implementado todas las tecnologías más
actuales, ya que estos solo están pensados para navegadores web de
ordenadores y no para dispositivos móviles.
Lo que se quiere lograr a través del desarrollo de la tesis es incorporar las
nuevas tecnologías al sistema educativo actual, más específicamente en la
consulta de reportes educativos, utilizando para este propósito los dispositivos
móviles, ya que estos no solo han tenido una mayor compenetración en el
mercado ecuatoriano en los últimos años, sino que también han aumentado
su capacidad y rendimiento, dando como resultado que actualmente existan
una mayor cantidad de aplicaciones en estos y que sean utilizados como una
herramienta en el ámbito educativo y empresarial.
La propuesta se aplicara al sistema de reportes de la Unidad Educativa “La
Colina”, en donde los padres de familia preocupados por el rendimiento de
sus representados y su poco tiempo disponible para acercarse a la institución,
para consultar cualquier incidencia con respecto a su representado, tendrán
la opción de consultar dichos reportes a través de sus dispositivos móviles
que cuenten con el sistema operativo Android. Este sistema fue elegido en
base al estudio realizado por (IDC, 2015), que deja ver claramente que un
porcentaje mayor de personas ha optado por dispositivos equipados con
Android, concluyendo que al elegir este sistema operativo se podrá llegar a

1
un mayor número de padres de familia.

2
1 CAPITULO PRESENTACIÓN DEL PROBLEMA

PLANTEAMIENTO DEL PROBLEMA

Los padres de familia de la institución educativa están muy interesados en el


rendimiento escolar que tienen sus representados en el plantel, pero surge
una problemática con la vida ajetreada y con cada vez con menos tiempo para
asistir a reuniones y enterarse de las diferentes actividades y notas que estos
tienen.
Esto lleva a que los representantes del alumnado que, al no conocer la
situación de estos en la institución, no puedan dar un correctivo, y los
estudiantes a su vez no informen de dichas incidencias dentro de la institución,
concluyendo en un rendimiento escolar no satisfactorio por parte de los
alumnos.

INTERROGANTES DE LA INVESTIGACIÓN

¿Cuál es la necesidad actual de los representantes de los alumnos dentro de


la institución?

 Implementar una nueva opción para que los representantes de los


alumnos, puedan consultar información, acerca del rendimiento
académico y las incidencias de los estudiantes en la institución, sin
tener la necesidad de visitar dicho lugar.

¿Qué valor agregado ofrece el proyecto?

 Sin lugar a dudas el mayor valor agregado es la utilización de


dispositivos móviles, como una forma más rápida y fácil para
informarse de cualquier incidencia dentro de la institución, dejando así
de lado, la labor de acercarse personalmente a indagar en el plantel
para conocer el rendimiento académico de los alumnos.

3
OBJETIVOS DEL PROYECTO

Objetivo general.

Analizar, diseñar, desarrollar e implementar una aplicación móvil, para la


Unidad Educativa “La Colina”, que va a permitir la generación de reportes y
notificaciones para el control y la gestión de los estudiantes, esta aplicación
será utilizada por los padres de familia o representantes, para mantenerse
informados acerca de los estudiantes a su cargo.

Objetivos específicos.

 Añadir una opción para que los padres de familia o representantes


puedan informarse de los sucesos relacionados con sus respectivos
representados y del rendimiento académico de estos.
 Desarrollar una aplicación móvil que cumpla con el objetivo anterior y
que además ofrezca una interfaz sencilla e intuitiva.
 Establecer una comunicación entre el dispositivo móvil a través de una
aplicación y el servidor de base de datos por medio de una red
inalámbrica, usando internet con la tecnología de servicio Web, para la
visualización y actualización instantánea de registros.

ALCANCE

Este proyecto ha sido pensado para los representantes y padres de


familia de la Unidad Educativa “La Colina”, que cuenten con un
dispositivo con sistema operativo Android junto con conexión a internet.
El alcance de la aplicación a continuación, fue planeado en base al
tiempo establecido para la culminación del proyecto de titulación, así
como también del conocimiento y costos necesarios para realizarlo.
Alcance de la aplicación:

 Control de usuarios específicos para la aplicación.


 Seguridad de aplicación al encriptar datos.
 Cambio de datos de usuario que ingreso en la aplicación.
 Reportes de rendimiento del representado:

4
 Reporte de notas por materia y promedio.
 Detalle de las actividades que se realizaron para alcanzar la nota
promedio.
 Reporte de conducta y promedio general.
 Notificaciones instantáneas de fugas y atrasos.
 Información general del representado.
 Reporte de actividades realizadas por el estudiante.
 Información de materias y profesores que dictan cada una de
ellas.
 Información de compañeros de clase.
 Comunicación con servidor de base de datos S.A.S.E.
 Desarrollo de servicio Web para obtener datos desde el servidor.
 Publicación de servicio Web para posterior consumo de la
aplicación Android.

LIMITACIONES

 La aplicación móvil será ejecutada para dispositivos móviles con


sistema operativo Android.
 La visualización de los datos estará restringida a la disponibilidad del
servidor S.A.S.E, el cual provee los datos para generar los distintos
reportes en la aplicación móvil.
 La carga de datos en la aplicación móvil se verá afectada, por las
redes inalámbricas usadas y por el proveedor de hosting del servidor
de datos S.A.S.E.

JUSTIFICACIÓN

La importancia del desarrollo de una aplicación móvil, para la generación de


reportes, para el control y gestión de los estudiantes para La Unidad
Educativa “La Colina”, radica en el uso de tecnologías actuales, como las
aplicaciones móviles y la red de internet, que en los últimos años han
registrado un incremento en su uso en el ecuador.

5
La aplicación móvil permitirá obtener una más rápida y oportuna intervención
del padre de familia, al llegarle de forma inmediata los sucesos ocurridos con
el representado en la institución educativa. Además la institución quiere
mejorar su imagen a través del uso de las TIC (redes, terminales, servicios)
para así crear un impacto positivo en los padres de familia que velan por el
bienestar y el rendimiento del estudiante. La visión del proyecto es llegar a ser
el punto de partida de una innovación en la forma de comunicación, entre la
institución y los padres de familia.

6
2 CAPÍTULO MARCO TEÓRICO

ANTECEDENTES

La investigación se centra en la relación del padre de familia con el


rendimiento escolar de sus hijos, y como a través de nuevas tecnologías
pueden estar más involucrados en su aprendizaje. Y principalmente como los
dispositivos móviles han mejorado sus capacidades y rendimiento,
permitiendo utilizarlos como un instrumento de comunicación con la
institución, junto con los servicios web y el internet.

FUNDAMENTACIÓN TEÓRICA

La institución educativa pretende generar un vínculo con el padre de familia a


través de la tecnología, en este caso la tecnología móvil, con la finalidad de
crear conciencia en el rendimiento académico del estudiante.
La aplicación será desarrollada con la herramienta libre Android Studio y
contendrá los diferentes criterios propuestos por el Ministerio de Educación
del Ecuador.

La educación en el Ecuador.

El sistema educativo que ha adoptado Ecuador está basado en el sistema


educativo francés, el cual divide la educación entre la básica, bachillerato y
educación superior. Al continuar con los estudios de bachillerato se puede
optar por uno especializado o uno general dependiendo de las disposiciones
de la institución educativa, si se optara por el especializado, las materias serán
orientadas a la especialidad elegida. En el caso del bachillerato general, el
(Ministerio de Educacion del Ecuador, s.f.) llama a este bachillerato BGU
(Bachillerato General Unificado). El BGU viene de la necesidad de los
estudiantes de dominar diferentes capacidades con miras al mundo laboral,
además de encontrarse con la capacidad de continuar con los estudios
universitarios.
En cuanto los estudios superiores, el ingreso a estos ha cambiado desde el
año 2014, gracias a la implantación del ENES, que es manejado por el (SNNA)
como método de evaluación para el ingreso en las instituciones de educación
superior. Además con la regulación del CEAACES, las diferentes instituciones

7
de educación superior son catalogadas en diferentes categorías que van
desde la A, la cual quiere decir que cuentan con infraestructura y profesores
excelentes, hasta la D, las cuales están en peligro de ser cerradas, ya que
bien no cuentan con la infraestructura adecuada o los profesores necesarios.

Los padres de familia en la educación.

La participación de los padres en la educación de sus hijos es muy importante,


estos pueden ayudar de diferentes maneras a sus hijos, como (sedl.org, s.f.)
indica que “Las investigaciones revelan que cuando los padres de familia y los
miembros de la comunidad se involucran en las escuelas, los estudiantes
tienen mejores resultados, aumenta la asistencia escolar y disminuye la tasa
de deserción escolar.” Teniendo en la actualidad un mayor interés en crear
nuevas formas en que los padres de familia puedan involucrarse en la
educación de sus hijos.

Estas tecnologías también permiten que los padres con acceso a dichos
dispositivos puedan consultar noticias de la institución como en el caso de la
Unidad Educativa La Colina que cuenta con su propia pagina web. En varias
instituciones se ha comenzado a emplear sistemas académicos, donde se
puede, se puede entre otras cosas consultar notas, materias, faltas, atrasos,
etc.

Sistemas académicos.

Los sistemas académicos son plataformas de consulta online, que van desde
las más simples donde solo se pueden consultar notas, faltas o atrasos, hasta
en las cuales se pueden realizar varias tareas, tales como consulta de notas,
rendir evaluaciones, enviar deberes, publicar tareas, dichos sistemas se han
implantado en muchas instituciones de educación básica y superior, como
ejemplo tenemos el sistema académico de la Universidad Central del Ecuador,
el sistema académico SiAC utilizado para las matrículas, consulta de notas,
porcentaje de asistencia, y por otro lado tenemos el sistema academico SAU
que permite las evaluaciones online, subir deberes, ver anuncios y noticias de
los profesores, etc.

8
Para acceder a dichos sistemas usualmente se usan navegadores web,
ejecutados en PC. Muy pocos son accesibles a través de dispositivos móviles,
y muchas veces estos contienen scripts que no pueden ser ejecutados en
todos los sistemas móviles. La solución a esto es crear una aplicación
diseñada específicamente para un sistema operativo de dispositivo móvil, es
decir una aplicación nativa, debido en gran parte al estudio de (IDC, 2015) que
muestra una mayor utilización del sistema operativo Android con respecto a
los demás, se ha determinado que la mejor opción es crear dicha aplicación
para este sistema operativo, para que así llegue al mayor número de personas
posibles.

DISPOSITIVOS MÓVILES

Se define que ”Dispositivo móvil (mobile device), también conocido como


computadora de bolsillo o computadora de mano (palmtop o handheld), es un
tipo de computadora de tamaño pequeño, con capacidades de procesamiento,
con conexión a Internet , con memoria, diseñado específicamente para una
función, pero que pueden llevar a cabo otras funciones más generales.”
(Wikipedia, 2015)

Y gracias a los últimos avances en la tecnología de microprocesadores, los


dispositivos móviles cuentan ahora con una gran capacidad y rendimiento,
esto ha llevado a que se desarrollen una gran cantidad de aplicaciones para
estos, que incluso cuentan con opciones de conexión online, donde se puede
consultar la información requerida en la nube.

La definición citada anteriormente hace referencia a un sin número de


dispositivos que puede llevarse consigo, pero para el desarrollo en esta tesis
se va a centrar en dos tipos de dispositivos móviles en concreto, esto se debe
al alcance del proyecto y nicho de mercado que va enfocada el presente
proyecto de titulación, que es los padres de familia o representantes de la
Institución Educativa “La Colina”.

Como antes se mencionó los dispositivos en los que vamos a centrarnos en

9
el presente proyecto son:

 Teléfonos.
 Tablets.

Hardware.

2.3.1.1 Historia de los Dispositivos móviles.

El primer teléfono móvil en ser fabricado fue el Handie Talkie H12-16 creado
por Motorola, el cual fue utilizado durante la segunda guerra mundial, para las
comunicaciones entre los soldados a grandes distancias. Estos utilizaban
ondas de radio y solo permitían la transmisión de voz, además de que tenían
un tamaño y peso considerable, obligando a los soldados a llevarlo a espaldas
al igual que una mochila. Se podría considerar a este como el primer
dispositivo móvil creado, que aunque solo permitía hacer llamadas a ciertas
distancias, ya marco un camino para las tecnologías que estaban por venir.
Los modelos que le siguieron, también utilizaban ondas de radio como medio
transmisión, pero su tamaño se redujo considerablemente, permitiendo
incluso llevarlo en la mano, un ejemplo de estos, es el Walkie-talkie
(Wikipedia, 2015), también utilizado en la guerra para las comunicaciones.
A continuación se tiene la llegada de los teléfonos de primera generación que
aparecieron en el año de 1973, estos solo servían para la transmisión de voz,
ya que funcionaban de manera analógica, utilizando ondas de radios. Su
tamaño y peso, era más o menos como el de los Walkie-talkie.
La siguiente iniciativa en innovación, fue la utilización de señales digitales en
estos, remplazando así a las analógicas, un beneficio de esto fue la
implementación de los mensajes de texto, conllevando a la utilización de
pantallas más grandes para los teléfonos celulares. La compenetración en el
mercado de los teléfonos móviles incremento durante el año 2000, donde
también ya se hacía uso del dispositivo móvil PDA, que es básicamente un
computador de bolsillo.
A partir del año 2010, se popularizo el uso de Smart-Phones, los cuales
utilizan el sistema operativo Android o el iOS, dejando de lado el que hasta el
ese entonces era líder en ventas de teléfonos inteligentes, el Blackberry. En
este mismo año, iOS lanza su tablet iPad, popularizando el uso de las tablets.

10
2.3.1.2 Limitaciones de hardware de los dispositivos móviles.

Las limitaciones en el hardware en los dispositivos móviles se han ido


reduciendo en los últimos años, debido en gran medida a la miniaturización
de la tecnología de transistores y el aumento en las opciones a la hora de la
interacción con estos.
Sin embargo los dispositivos de mayor tamaño como la PC, aun cuentan con
un rendimiento superior, como consecuencia de que estos, cuenten con
refrigeración y una gama más amplia a la hora de elegir periféricos para
interactuar con estos. Siendo una mejor elección para realizar tareas que
precisen de una mayor capacidad o precisión.

Software.

2.3.2.1 Limitaciones de software de los dispositivos móviles.

Las limitaciones en el hardware antes mencionadas, llevan a los


desarrolladores a dejar de lado a la plataforma móvil, ya que esta no tiene la
capacidad de procesamiento, y no se puede programar o diseñar en esta,
dejándola más como un complemento para las ocupaciones diarias, y para la
comunicación, causando que no se tengan opciones a la hora de buscar
aplicaciones orientadas al desarrollo y el diseño, en el mercado de
aplicaciones móvil actual.

2.3.2.2 Los SO de dispositivos móviles en el mercado actual.

En los últimos años la cuota de mercado de SO de dispositivos móviles, ha


sido dominada por Android, se conoce esto gracias a estudios realizados tales
como el que hizo (IDC, 2015). El resumen de dicho estudio, se puede ver en
la siguiente tabla.

11
Tabla 1.Cuota de mercado de OS de dispositivos móviles.
Cuota de mercado de OS de dispositivos móviles desde el 2012 hasta
el 2015.
Periodo Android iOS Windows BlackBerry Otros

Phone OS

Q1 2015 78.0% 18.3% 2.7% 0.3% 0.7%

Q1 2014 81.2% 15.2% 2.5% 0.5% 0.7%

Q1 2013 75.5% 16.9% 3.2% 2.9% 1.5%

Q1 2012 59.2% 22.9% 2.0% 6.3% 9.5%

Durante los últimos años la cuota de mercado de SO de dispositivos móviles


ha sido dominada por Android, debido principalmente a que este SO, puede
ser ejecutado en una gran gama de dispositivos móviles
Fuente (IDC, 2015)

Aunque existe un mercado muy competitivo en el campo de sistemas


operativos para dispositivos móviles, así como también las nuevas
incorporaciones de competidores tal es el caso de Ubuntu Touch, Android ha
mantenido su liderazgo en parte gracias a empresas fabricantes, que ofrecen
dispositivos de bajo costo incorporando este sistema operativo, como también
sus continuas innovaciones y el gran número de aplicaciones desarrolladas
para este, que se encuentran principalmente en la plataforma de distribución
de Google Play.

El panorama que se avizora da como gran ganador al sistema operativo de


google, esto se da en gran medida a la liberación del software permitiendo a
las empresas poder ofrecer una capa de personalización propia.

2.3.2.3 Sistemas operativos para dispositivos móviles más usados.

iOS.

Actualmente según estudios de mercado, iOS es el segundo más grande


exponente en lo que respecta a sistemas operativos para dispositivos móviles,

12
para una definición más clara de lo que iOS es, se citara a (GONZALES, 2014)
el cual indica que “ iOS es el sistema operativo diseñado por Apple para
sus productos, iPhone, iPad, iPod Touch, y Apple TV , otros dispositivos como
el iPod Nano y el iWach utilizan otro sistema más básico y dirigido a una
función más específica basado en iOS porque incorpora algunos de sus
gestos e iconos y además se pueden sincronizar con teléfonos o Tablets.”
Este SO según (GONZALES, 2014) fue “Presentado en 2007 junto con el
primer teléfono de la compañía dedicada en sus inicios a revolucionar el
mundo de los ordenadores de mesa y portátiles, el iOS marcó una pauta sin
precedentes al llegar al mercado con un sistema que no necesitaba más teclas
físicas que las del volumen, encendido, bloqueo y un solitario botón
llamado “Home” que permitiera al usuario a volver al inicio en su pantalla, casi
todo el sistema fue y sigue siendo usado con la pantalla táctil que incorporan
sus dispositivos.”

Los dispositivos de la reconocida marca Apple, creadores del sistema


operativo iOS, hace no mucho tiempo contaban con una mayor cuota de
mercado, gracias a la innovación mostrada en sus productos, pero en los
últimos años el sistema operativo Android ha tomado más la delantera, gracias
a que este, se ejecuta en una gran gama de dispositivos desde los más
asequibles al bolsillo del consumidor, hasta los más costosos que cuentan con
lo último en tecnología, dando así muchas más opciones para los usuarios
que desean adquirir un teléfono inteligente o una tablet.

 Arquitectura iOS.

La arquitectura de iOS, al pertenecer a Apple, fue basada en gran parte a otro


de sus productos, el OS X, sistema operativo para ordenadores. La
arquitectura está constituida de acuerdo por una serie de capas. (PORRAS,
2012)

 la capa del núcleo del sistema operativo.


 la capa de Core services.
 la capa de media.
 la capa de "Cocoa Touch".
13
Figura 1. Las diferentes capas del Sistema operativo iOS
Fuente: Autor

Los niveles más altos actúan como intermediarios entre el hardware y


aplicaciones que aparecen en la pantalla de los dispositivos. Las capas
superiores proporcionan una abstracción orientada a objetos, esto hace que
sea más fácil entender su arquitectura. Adicionalmente, cada capa está
compuesta por un conjunto de frameworks.”

Se puede agregar que la capa de Cocoa Touch es un API que brinda una
abstracción al sistema operativo, a través de unas herramientas
proporcionadas por Apple para crear programas, sobre la plataforma Mac OS
X. En cambio la capa Core services, contiene los servicios fundamentales del
sistema operativo de donde las capas superiores acceden al núcleo del
sistema.

 Versiones de iOS.

Apple proporciona actualizaciones de iOS a través de iTunes y también


mediante la casilla "Actualización de software" que se encuentra en “general”
dentro de la opción de ajustes. Todos los parches de seguridad, mejoras o
nuevas características se distribuyen mediante este programa.

14
Figura 2. Logos de las versiones de IOS.
Fuente (TOBAR SÁNCHEZ, 2013)

 iPhone OS 1.0. Lanzado el 29 de Junio del 2007, inicialmente para iPhone.


 iPhone OS 2.0. Lanzado el 11 de Julio del 2008, inicialmente en el iPhone
3G
 iPhone OS 3.0. Lanzado el 17 de Junio del 2009, inicialmente para iPhone
3GS
 iOS 4. Lanzado el 21 de Junio del 2010, inicialmente para iPhone y iPod
touch
 iOS 5. Lanzado el 12 de Octubre del 2011.
 iOS 6. Lanzado el 19 de Septiembre del 2012, para iPhone 3GS, iPhone
4, iPhone 4s, iPhone 5, iPod Touch (4.ª y 5.ª generación), iPad (2.ª, 3.ª y
4.ª generación) y iPad mini
 iOS 7. Lanzado el 18 se Septiembre del 2013, para iPhone 4, iPhone 4s,
iPhone 5, iPhone 5c, iPhone 5s, iPod Touch (5.ª generación), iPad (2.ª, 3.ª,
4.ª y 5.ª generación), iPad Mini y iPad Mini con Pantalla Retina
 iOS 8. Lanzado el 17 de septiembre de 2014, para iPhone 4s, iPhone 5,
iPhone 5c, iPhone 5s, iPhone 6, iPhone 6 Plus, iPod Touch (5.ª
generación), iPad (2.ª, 3.ª, 4.ª, 5.ª y 6.ª generación), iPad mini (1.ª, 2.ª y 3.ª
generación)

Android

Android es actualmente el sistema operativo con la mayor cuota de mercado


según un estudio de (IDC, 2015), esto ha llevado a que una mayor cantidad
de desarrolladores, tengan como prioridad trabajar en Android. Aunque

15
existen muchas definiciones para, lo que es Android, en las que la mayoría
definiría a Android como un sistema operativo, se tiene casos como el de
(NOLASCO V, 2014), quien defiende su postura de que “Android es más que
un sistema operativo, es un conjunto de software para dispositivos móviles
que incluye lo siguiente:

 Sistema operativo
 Middleware
 Aplicaciones

Android como sistema operativo para móviles fue construido sobre Linux
kernel 2.6 y está diseñado para plataformas móviles.”
Android está enfocado en las licencias libres y código abierto y fue así que
“fue lanzado bajo la licencia Apache, una licencia libre y de código abierto lo
que significa que cualquiera que quiera usar Android puede hacerlo
descargando el código fuente. Por otra parte, los fabricantes de hardware
pueden agregar sus propias extensiones propietarias. Este modelo de
desarrollo simple hace de Android muy atractivo, y por ello, ha despertado el
interés del mercado de consumidores de aplicaciones móviles. Actualmente,
se ha incrementado el uso de dispositivos móviles como celulares, tablets,
etc.” (NOLASCO V, 2014)

Figura 3.Gráfico versiones Android


Fuente (TORTOSA, 2015)

Android es un sistema operativo que ha llegado abarcar un gran porcentaje


del mercado de dispositivos móviles, por lo que a la hora de desarrollar un

16
aplicación móvil, es imposible dejar de pensar en este como una opción para
llegar a un mayor número de consumidores, en razón de que millones de
dispositivos alberguen en su interior este sistema.
Estando Android basado en código abierto, este da la posibilidad que
cualquiera con los conocimientos y recursos necesarios, emprenda la tarea
de desarrollar aplicaciones, widgets, e inclusive modificar el propio sistema
operativo en sí.
Android ha venido en los últimos años cambiando su estructura, permitiendo
que cosas que antes solo se las hacían en una computadora personal, como
ejecutar juegos, comunicarse a través de internet, ver contenido multimedia,
todo esto gracias a la gran cantidad de programadores que enfocan sus
esfuerzos a crear cada día más aplicaciones para esta plataforma, volviéndolo
un mercado competitivo que continua innovando. Y Debido a esto será donde
se enfoque la aplicación, que se desarrolla en este proyecto.

 Arquitectura Android.

El núcleo de la arquitectura de Android está basado en el sistema operativo


Linux, y las demás capas de la arquitectura también son basadas en
software libre y según, (NOLASCO V, 2014), “Su diseño cuenta
principalmente con las siguientes características.

 Los componentes básicos de las aplicaciones se pueden sustituir


fácilmente por otros.
 Busca el desarrollo rápido de aplicaciones que sean reutilizables y
verdaderamente portables entre diferentes dispositivos.
 Cuenta con su propia máquina virtual, Dalvik, que interpreta y ejecuta
el código escrito en Java.
 Permite la representación de gráficos 2D y 3D.
 Posibilita el uso de base de datos.
 Soporta un elevado número de formatos multimedia.
 Brinda servicio de localización GSM.
 Controla los diferentes elementos hardware: Bluetooth, Wi-fi, cámara
fotográfica o de video, GPS, acelerómetro, infrarrojos, etc., siempre y

17
cuando el dispositivo móvil lo contemple.
 Cuenta con un entorno de desarrollo muy cuidado mediante un SDK
disponible de forma gratuita.
 Ofrece un plug-in para uno de los entornos de desarrollo más
populares, Eclipse, y un emulador integrado para ejecutar
aplicaciones.”

 Versiones de Android.

Desde su implementación en el primer dispositivo móvil, el sistema


operativo Android ha sufrido muchos cambios tanto de diseño como de
rendimiento y soporte.
Desde la primera versión estable e implementada en un dispositivo móvil
se ha optado por poner nombres de dulces para sus versiones, así se
tienen la siguientes versiones hasta el día de hoy.

Las diferentes versiones de Android hasta la actualidad

Versión Nombre de la Fecha de lanzamiento

Android versión

1.0 Apple Pie 23 de Septiembre

2008

1.1 Banana Bread 9 de Febrero 2009

1.5 Cupcake 30 de Abril 2009

1.6 Donut 15 de Septiembre

2009

2.0/2.1 Eclair 26 de Octubre 2009

2.2.x Froyo 20 de Mayo 2010

2.3.x Gingerbread 6 de Diciembre 2010

3.x Honeycomb 22 de Febrero 2011

18
4.0.x Ice Cream 19 de Octubre del

Sandwich 2011

4.1-4.2 Jelly Bean 13 de Noviembre

2012

4.4.x KitKat 31 de octubre 2013

5.0 Lollipop 3 de noviembre 2014

Tabla 2 Versiones de Android.


Fuente: Autor.

BlackBerry OS

Fue uno de los sistemas operativos para teléfonos inteligentes más usados en
años anteriores, pero con el auge de Android en el mercado, el uso de este
decayó. Este OS tiene varias características tales como que “El sistema
permite multitarea y tiene soporte para diferentes métodos de entrada
adoptados por RIM para su uso en computadoras de mano, particularmente
la trackwheel, trackball, touchpad y pantallas táctiles.” (Wikipedia, 2015)
.Estos dispositivos permiten el acceso a correo electrónico, navegación web y
sincronización con programas como Microsoft Exchange o Lotus Notes aparte
de poder hacer las funciones usuales de un teléfono móvil.”

Figura 4. Logo OS BlackBerry


Fuente (CIFUENTES, 2013)

Antes de la aparición de los Smart-Phones con sistema operativo Android e

19
iOS, Blackberry era el líder indiscutible en cuanto a teléfonos inteligentes,
gracias a su teclado qwerty, servicios WAP, soporte HTML, y su conexión a
internet. Pero debido a que en los últimos años no ha sabido innovarse al
mismo ritmo de los demás competidores, ha llevado a que la cantidad de
aplicaciones con las que cuenta sean ínfimas en comparación con la de los
sistemas operativos de la competencia.

 Versiones de BlackBerry.

Las siguientes son versiones que han cambio significativamente la


arquitectura del OS, no se toman en cuenta actualizaciones menores.

 BlackBerry OS 1.0. Lanzado en Enero de 1999, para el BlackBerry 850.


 BlackBerry OS 3.6. Lanzado en Marzo del 2002, para el teléfono
inteligente BlackBerry 5810
 BlackBerry OS 5.0.Lanzado el 4 de Agosto del 2009, inicialmente para
BlackBerry Bold 9000 8520
 BlackBerry OS 6.0. Lanzado durante el tercer cuarto del año 2010
 BlackBerry OS 7.0. Lanzado durante el Verano del 2011, para
BlackBerry Bold (9900/9930), BlackBerry Torch (9810/9850/9860), y el
BlackBerry Curve (9350/9360/9370/9380)
 BlackBerry OS 7.1. Lanzado en el 2012, para BlackBerry Bold
(9900/9930), BlackBerry Torch (9810/9850/9860), y el BlackBerry
Curve (9350/9360/9370/9380)
 BlackBerry OS 10.Lanzado el 30 de Enero del 2012, para el BlackBerry
Z30.

Se especula que la empresa lanzaría un dispositivo impulsado con Android


muy pronto. Esto nos muestra que el mercado de Android podría crecer mucho
más y es una elección acertada el desarrollo de aplicaciones para esta
plataforma. (xataka, 2015)

2.3.2.4 Windows Mobile/Phone.

Windows Mobile que después fue nombrado como Windows Phone, de


acuerdo con (Wikipedia, 2015) “es un sistema operativo móvil compacto

20
desarrollado por Microsoft, y diseñado para su uso en teléfonos inteligentes y
otros dispositivos móviles.”
En cuanto a su núcleo, según (Wikipedia, 2015) “Se basa en el núcleo del
sistema operativo Windows CE y cuenta con un conjunto de aplicaciones
básicas utilizando las API de Microsoft Windows.”. Lo que se quiere lograr con
respecto a este, es emular en lo posible al sistema operativo de
escritorio.Además, existe una gran oferta de software de terceros disponible
para Windows Mobile, la cual se podía adquirir a través de Windows
Marketplace for Mobile.”
Esta fue pensada en sus inicios para otros dispositivos.

Figura 5. Logo Windows Mobile


Fuente (NITULESCU, 2013)

Windows Mobile fue el primer SO de Microsoft para dispositivos móviles, que


se lanzó 19 de Abril del año 2000, conto con varias versiones, hasta que fue
descontinuado el 2 de Febrero del 2010, debido a la introducción de su nuevo
OS, el Windows Phone, En el mercado actual compite directamente contra
Android de Google e iOS de Apple. Su última versión disponible y definitiva es
Windows Phone 8.1, lanzado el 14 de abril de 2014.

21
Figura 6. Logo Windows Phone 8
Fuente (Kee, s.f)

Microsoft anunció en Enero del 2015, que daría de baja a Windows Phone, ya
que lanzaría su nuevo SO, denominado Windows 10, que estaría disponible
para: tabletas, teléfonos inteligentes, computadoras. Con este sistema
operativo Windows tratara de integrar y homogenizar el sistema de los
dispositivos móviles, con el de la PC.

 Versiones de Windows Mobile/Phone.


 WinCE 3.0. Lanzado en el año 2000 para el Microsoft Pocket PC
2000.
 WinCE 3.1. Lanzado en el año 2002 para el Microsoft Pocket PC
2002.
 Windows Mobile 2003. Lanzado el 23 de Junio del 2003, fue el
primer lanzamiento con el nombre Windows Mobile, se lanzó para
Pocket PC y Smartphone.
 Windows Mobile 2003 SE, también conocido como Windows Mobile
2003SE, se lanzó el 24 de Marzo del 2004, para el Dell Axim x30.
 Windows Mobile 5.0. Lanzado el 9 de Mayo del 2005, para Pocket
PC y Smartphone.
 Windows Mobile 6.0, también conocido como Crossbow, se lanzó
en el 12 de febrero del 2007 durante el 3GSM World Congress 2007,
lanzado para Smartphone y PDA.
 Windows Mobile 6.1. Lanzado en Octubre del 2009 como una
actualización para varios dispositivos.
 Windows Mobile 6.5. Lanzado el 6 de Octubre del 2009, contaba
con una interfaz de usuario completamente táctil.
 Windows Phone 7. Lanzado el 8 de Noviembre del 2010, primera

22
versión en cambiar el OS de Windows Mobile a Windows Phone.
 Windows Phone 8. Lanzado el 29 de Octubre del 2012, en esta
versión se remplaza la arquitectura a una más similar a su homólogo
de PC, facilitando así la implementación de aplicaciones de PC en
el nuevo sistema.
 Windows Phone 8.1. Lanzado el 10 de Abril del 2014 para
desarrolladores, de esta versión se puede destacar la incorporación
de la asistente de voz “Cortana”

2.3.2.5 Aplicaciones móviles.

Las Aplicaciones móviles según (NOLASCO V, 2014) dice, “El último nivel del
diseño arquitectónico de Android son las aplicaciones. Este nivel incluye tanto
las aplicaciones incluidas por defecto de Android como aquellas que el usuario
vaya añadiendo posteriormente, ya sean de terceras empresas o de su propio
desarrollo. Todas las aplicaciones utilizan servicios, API y librerías de los
niveles anteriores.”
Las aplicaciones móviles también conocidas como “apps”, dan la posibilidad
de realizar una innumerable cantidad de tareas que pueden venir desde las
más básicas hasta las más complejas, complaciendo la mayoría de
necesidades específicas de uno o varios usuarios. Estas pueden ser ejecutas
en los dispositivos más avanzados gracias al sistema operativo que estos
poseen, donde a su vez la empresa, compañía o corporación encargada de
su desarrollo ponen a la disposición de los desarrolladores, una plataforma de
distribución. Si se quiere publicar una aplicación en dichas plataformas, se
tendría que pagar una pequeña cantidad de dinero inicial para acceder como
desarrollador, como en el caso de Android con Google Play o pagando una
cuota anual para preservar la licencia de desarrollador como en el caso de
iOS, estas plataformas además se quedaran con un porcentaje de las
ganancias de la aplicación publicada.

23
Costo de licencia en las diferentes en las más importantes plataformas de
distribución de aplicaciones.
Plataforma de Coste licencia
Sistema
distribución desarrollador
operativo
iOS App Store $99 al año

Android Google Play Un solo pago de $25

Windows Phone Windows Phone $19 al año

Store

Blackberry BlackBerry World Gratuita

Tabla 3. Costo de licencia plataformas de distribución.


Fuente: Autor

SERVICIOS WEB

Son reglas o estándares de programación y comunicación entre ordenadores,


creadas para facilitar el intercambio de información entre diferentes
plataformas y lenguajes, su definición más explícita se puede encontrar en la
página (Wikipedia, 2015), que lo define como “una tecnología que utiliza un
conjunto de protocolos y estándares que sirven para intercambiar datos entre
aplicaciones”. Para lograr dicha meta, existen organizaciones encargadas de
regular esto, las cuales son OASIS y W3C que son comités responsables de
la arquitectura y reglamentación de los servicios Web.

24
Figura 7.Los servicios web en funcionamiento
Fuente (W3C, s.f.)

Todos los estándares y protocolos fueron creados para que el usuario tenga
variadas opciones, a la hora de acceder a servicios a través de la red, y que
este no esté limitado por el dispositivo o sistema operativo que use para dicha
acción.

Estándares empleados

2.4.1.1 Servicio Web protocol stack

Traducido al español como pila de protocolos para servicios, como su nombre


lo indica es una colección de protocolos y estándares, para las redes de
computadora, que son utilizados para lograr que un servicio web tenga la
posibilidad de interactuar con otro, estos se podrían categorizar según las
funciones que cumplen, que son las siguientes.

 Servicio de Transporte. Incluye protocolos como HTTP, SMTP, FTP y


BEEB, utilizados para el transporte de mensajes.
 Mensajería XML. Incluye protocolos como XML-RPC, SOAP y REST,
encargados de la decodificación de los mensajes.
 Descripción del Servicio. Servicio Web Description Language – WSDL es
el formato de interfaz más usado en esta categoría utilizada para describir
la interfaz pública.
 Descubrimiento de servicios. Permite identificar los servicios que se
encuentran disponibles en la red, gracias a que guarda un registro de su
localización y descripción. Actualmente, la API Universal Description
Discovery and Integration - UDDI es la más usada.

2.4.1.2 XML.

A XML que son las siglas en ingles de eXtensible Markup Language se le


podría definir como un sistema de codificación de información estándar, o
también como la traducción de sus siglas indica, un lenguaje de marcas
extensibles, que es desarrollado por el W3C (World Wide Web Consortium)
Al no pertenecer a ninguna compañía, el XML es un estándar en el

25
metalenguaje de desarrollo, que se puede implementar en diferentes campos
tales como, base de datos, documentos de texto, hojas de cálculo y páginas
web. Este permite un mejor flujo en cuanto al intercambio de la información,
entre diferentes lenguajes de programación y plataformas.

Estructura de un documento XML

Figura 8. Estructura de un documento XML


Fuente (Wikipedia, 2015)

2.4.1.3 SOAP.

El SOAP que en sus siglas en ingles significa Simple Object Access Protocol,
traducido como Protocolo de acceso simple de objeto, es un protocolo que
define la comunicación a través de datos XML, es básicamente un paradigma
de mensajería.

Características SOAP

 La extensibilidad: tenemo que la seguridad y WS-routing son extensiones


aplicadas en el desarrollo.
 La neutralidad: que significa que SOAP puede ser utilizado sobre cualquier
protocolo de transporte como .JMS,TCP,HTTP o SMTP
 Independencia: lo que quiere decir que SOAP permite cualquier modelo de
26
programación.

Estructura del mensaje.

La estructura de un del mensaje de SOAP, es la de un documento XML,


siendo estructurado en varias partes que son las siguientes:

 Envelope, que es la parte que identifica al mensaje SOAP y de donde


inicia la estructura.
 Header, que es la encargada de enviar información de cómo debe ser
procesado el mensaje.
 Body, es el que contiene la información de la llamada y la respuesta.
 Fault, este contiene la información sobre los errores que podrían haberse
producido durante él envió del mensaje.

Modelo de procesado.

Varios son los nodos que intervienen durante el procesado de los mensajes,
los nodos del SOAP se comunican asumiendo diferentes roles, que se
complementan uno a otro.

 SOAP Sender. Este nodo transmite el mensaje SOAP.


 SOAP Receiver. Este será el encargado de aceptar los mensajes.
 SOAP message path. Es una ruta conformada por nodos, por donde el
mensaje pasara desde que se transmite hasta que es entregado.
 Initial SOAP sender. Es el punto inicial de la ruta que seguirá el mensaje.
 SOAP intermediary. Es una parte de la ruta de los nodos, ya que se
encarga de recibir el mensaje del nodo anterior y enviarlo al siguiente.
 Ultimate SOAP receiver. Destinatario final del mensaje.

2.4.1.4 WSDL.

El WSDL son las siglas en ingles de Servicio Web Description Language,


traducido como Descripción de Lenguaje de Servicios Web, es un formato del
estándar XML, utilizado para describir la forma de comunicación de la interfaz

27
publica de los servicios web.

Estructura del WSDL.

La estructura del WSDL se compone de los siguientes elementos.

 Tipos de Datos. <types>, Se utilizan tipos de datos definidos en los


esquemas de XML.
 Mensajes. <message>, Aquí se define el mensaje junto con los elementos
que lo acompañen.
 Tipos de Puerto. <portType>, se definen las operaciones permitidas.
 Bindings. <binding>, se especifica los protocolos de comunicación usados.
 Servicios. <service>, Se hace referencia a lo que haya aportado el
mensaje.

UDDI.

Siglas de Universal Description, Discovery and Integration,UDDI es uno de los


principales estándares de los servicios, su principal objetivo es ser accedido
por mensajes SOAP y con esto dar paso a documentos descriptivos WSDL,
estos describen los requisitos del protocolo y formatos del mensaje solicitado
para interactuar con los servicios Web del catálogo de registros. (Wikipedia,
2015)
UDDI se divide en tres partes que son las siguientes:

 Páginas blancas. En las cuales se especifica, dirección, contacto e


identificadores de la empresa
 Páginas amarillas. Categorización de la empresa basada en
clasificaciones
 Paginas verdes. Contienen la información técnica que describe los
servicios web

2.4.1.5 WS-Security.

WS-Security proporciona un conjunto amplio de medidas de seguridad para

28
aplicaciones de servicios web, al basarse en estándares establecidos con
respecto a criptografía, cifrado y firmado de XML. Este protocolo contiene
especificaciones que indican como debe garantizarse la integridad y
seguridad en mensajería de servicios Web. (Wikipedia, 2013)

2.4.1.6 REST.

Actualmente el termino REST es utilizado para hablar sobre cualquier interfaz


entre sistemas que utilicen directamente HTTP para obtener datos o indicar la
ejecución de operaciones sobre los datos.

JAVASCRIPT OBJECT NOTATION (JSON)

Contiene una composición ligera de datos. Para los humanos es fácil leerlo y
para las maquinas resulta muy fácil interpretarlo y generalo. Está basado en
un subconjunto del Lenguaje de Programación JavaScript, Standard ECMA-
262 3rd Edition - Diciembre 1999.1 JSON es un formato de texto que es
completamente independiente del lenguaje, pero usa convenciones que son
renocidos por programadores de lenguaje C, incluyendo C/C++, Java,etc.
Estas características lo hacen el lenguaje ideal para intercambiar datos.
(JSON.ORG, n.d.)

JSON se constituye por dos estructuras:

 La primera es una lista de pares nombre/valor. En algunos lenguajes


esto es reconocido como un arreglo asociativo, un objeto, estructura,
diccionario, tabla hash, etc.
 La segunda es una lista ordenada de valores. En casi todos los
lenguajes esto se implementa como una lista, vectores, arreglos o
secuencias.
Las estructuras antes mencionadas son universales y casi todos los lenguajes
de programación soportan este tipo de estructura. Esto es muy lógico para un

1
(Emac International)

29
formato de intercambio de datos que es independiente del lenguaje de
programación.

JSON se presentan de las siguientes formas:

1. Objeto. Viene a estar constituido por un conjunto desordenado de pares


con formato nombre/valor. Un objeto inicia con “{“y termina con “}”, que
son de apertura y de cierre respectivamente. Cada nombre va estar
seguido de : (dos puntos) y los pares nombre/valor van a ser separados
por , (coma).

Figura 9. Representación objeto JSON


Fuente: Autor, (Emac International)

2. Arreglo. Es una lista de valores. El arreglo comienza con [ (corchete


izquierdo) y termina con ] (corchete derecho). Los valores se separan
por, (coma).

Figura 10. Representación arreglo JSON


Fuente: Autor, (Emac International)

3. Valor. Este puede ser un número, o una cadena de caracteres con

30
comillas dobles, o true o false o null, o un objeto o un arreglo. Todas
estas estructuras pueden anidarse.

Figura 11. Representación valor JSON


Fuente: Autor, (Emac International)

4. Cadena de caracteres (string). Esta viene a ser una colección de cero


o más caracteres Unicode, encerrado entre comillas dobles, usando las
barras divisorias invertidas como escape. Un carácter va estar formado
por una cadena de caracteres de un solo carácter. Es muy parecido a
las representadas en C o java.

31
Figura 12. Representación cadena de caracteres JSON
Fuente: Autor, (Emac International)

5. Número. Es similar a los números en C o Java, exceptuando que no se


usan formatos hexadecimales y octales.

Figura 13. Representación número JSON


Fuente: Autor, (Emac International)

32
Como nos dice (NOLASCO V, 2014),”La eficiencia en el uso de los recursos
móviles es muy importante; sobre todo en el caso del consumo de datos de
Internet que se debe optimizar al máximo posible para ahorrar batería y
aprovechar las tarifas de datos existentes actuales. En este sentido JSON,
gracias a su estructura, ahorra considerablemente respecto a XML.”

Todo lo mencionado anteriormente, permite considerar JSON como la mejor


elección al momento de integrar un servicio Web con la aplicación móvil.

HYPERTEXT TRANSFER PROTOCOL (HTTP)

HTTP es un protocolo de la Web, siendo simple es muy potente. Está


orientado para las transacciones y sigue un esquema de petición-respuesta
entre un cliente y un servidor. Al cliente que realiza la petición se conoce como
un agente del usuario (user agent). A la información que se transmite se la
llama recurso y se puede indentificar mediante una URL (localizador uniforme
de recurso). Esto es una ejecución de un programa en algún lugar, una
traducción de un documento, una petición a una base de datos, etc.

HTTP es un protocolo que no tiene estado, esto quiere decir que no va a


guardar ningún tipo de información sobre las conexiones realizadas. En el
desarrollo de servicios Web, aplicaciones Web es necesario en muchas
ocasiones el almacenar el estado. Para esto se tiene las sesiones y las
cookies que las primeras almacenan información del cliente en el servidor y
las segundas guardan en el cliente.

Transacciones HTTP

Las transacciones HTTP están formadas por un encabezado y seguido a esto


se tiene opcionalmente, una línea en blanco y algún otro dato. Este
encabezado va a describir cosas como la acción que requiere el servidor, el
tipo de dato que retornara, o un código de estado.
El uso de campos de encabezado que se envían en transacciones HTTP

33
permite una gran flexibilidad a este protocolo. Esto permite que se envié
información que describa la transacción, esto permite la autentificación,
encriptación y reconocimiento del usuario.

Métodos de petición

HTTP define 8 métodos que permiten indicar una acción que se realizara
sobre un recurso identificado. Solo se mostraran los metidos más importantes
al momento de desarrollar aplicación Web y/o servicios Web.

HEAD

Este método pide una respuesta idéntica a la que correspondería a una


petición GET, pero sin el cuerpo de la respuesta. Esto es muy útil al momento
de recuperar meta-información que se encuentra escrita en los encabezados
de respuesta, sin transportar el contenido completo.

GET

Este método pide una representación del recurso solicitado. Por seguridad no
debe ser usado por aplicaciones que transmita información crítica ya que esta
información es enviada a través de la URI agregando parámetros a la URL.
La petición que ser realiza puede ser simple o compuesta como se muestra
en la siguiente figura.

Figura 14. Ejemplo petición GET con parámetros.


Fuente: Autor

POST

Este método envía los datos que sean procesados por el recurso indicado.
Los datos son incluidos en el cuerpo de la petición. Esto puede resultar en
crear un nuevo recurso o actualizar los que existan o las dos cosas.

34
3 METODOLOGÍA DE DESARROLLO

INTRODUCCIÓN

Una metodología de desarrollo nos permite contar con las herramientas y


lineamientos necesarios para llegar a la conclusión de un proyecto, con los
tiempos establecidos y con la calidad estipulada.
En el desarrollo de aplicaciones móviles no es la excepción, al momento de
guiarse por una metodología es conveniente realizar algunos cambios ya que
no todas las herramientas y guías son aplicadas a este tipo de desarrollo, en
gran medida porque se piensa que son desarrollos mucho más simples que
los realizados para Web, aplicaciones Windows, etc.
Para el presente proyecto se optó por la metodología de desarrollo rápido
(RAD), ya que esto permite realizar prototipos que permitan el diseño y
funcionalidad avance en consecuencia de los requerimientos del usuario.

DESARROLLO RÁPIDO DE APLICACIONES RAD

El RAD es un método, el cual permite priorizar el tiempo de desarrollo de las


aplicaciones, dicho método es iterativo, se suele priorizar la implementación
sobre la planificación para esto se suele utilizar patrones de diseño conocidos
para adaptarse de la mejor manera a cambios de requerimientos. (RAMÍREZ
VIQUE)
El desarrollo rápido de aplicaciones RAD, se utiliza principalmente en los
casos en que el desarrollador, no disponga de un plazo de tiempo amplio, este
plazo usualmente va de 30 a 90 días para la entrega de proyectos.
Normalmente se deber procurar que el desarrollo del proyecto vaya de la
mano con las exigencias del usuario final, donde este deberá estar
involucrado con todas las etapas del desarrollo. Para lograr dichas tareas los
desarrolladores de RAD no solo deberán ser capaces de programar, sino
también de analizar las situaciones que se presenten durante el trascurso del
desarrollo de los proyectos asignados, y de tener la capacidad diseñar las
soluciones necesarias para tales situaciones. Se recomienda la utilización de
herramientas que faciliten el proceso del desarrollo y diseño de las
aplicaciones, para lograr un desarrollo más ágil, aunque esto último puedo

35
llegar a encarecer el costo final de la aplicación.

Fases del RAD

Figura 15. Las 5 fases del RAD


Fuente propia.

3.2.1.1 Modelado de gestión.

Para realizar el modelado de la aplicación que se desea desarrollar, primero


se plantean varias preguntas, que ayudaran a dicho cometido, las cuales son:

 ¿Qué información conduce el proceso de gestión?


 ¿Quién la genera?

36
 ¿A dónde va la información?
 ¿Quién la proceso?

3.2.1.2 Modelo de datos

Después de haber realizado el modelado de gestión, y habiendo respondido


todas la preguntas, se está en capacidad de proceder a abstraer los elementos
necesarios para crear los objetos, junto con los atributos necesarios.

3.2.1.3 Modelado de proceso

Al haber modelado los datos necesarios en el punto anterior, se puede


proceder a hacer un esbozo inicial de los procesos que se van tomar, aunque
no es estrictamente necesario seguirlos al pie de la letra, debido a la
naturaleza de la metodología de desarrollo rápido. Este esbozo servirá como
una guía que facilitara el proceso de desarrollo, al hacerlo, de una forma más
fluida, con la razón de que se sabrá de antemano los procesos que se deben
seguir uno después de otro.

3.2.1.4 Generación de aplicaciones

El DRA se basa en priorizar la velocidad del desarrollo, antes que el coste de


este, así que es recomendable utilizar herramientas y aplicaciones que agiliten
los procesos del desarrollo, además de utilizar componentes de programas ya
existentes (si estos se pueden aplicar al desarrollo) o de crear componentes
reutilizables que facilitaran el avance del proyecto.

3.2.1.5 Pruebas de entrega

Al terminar una versión de la aplicación en desarrollo se deberá, analizar y


probar todos los componentes que contiene dicha aplicación hasta ese
momento, y de modificarlos de ser necesario, ya sea por un error en su
funcionamiento, diseño, y de ser el caso debido a cambios planteados por el
usuario final.

Características

 Los desarrolladores de RAD deberán ser: analistas, diseñadores y


programadores.

37
 Componentes reusables.
 Los cambios para los que no hay tiempo no se realizan.
 Los requisitos secundarios se eliminan si es necesario para cumplir el
calendario.
 Los desarrolladores construyen y depuran el prototipo basado en los
requisitos que disponen.
 Se reúnen los usuarios finales y los desarrolladores.
 Se utilizan herramientas y componentes ya desarrollados.
 Coste final alto en comparación con otros métodos.

38
4 CAPITULO ANÁLISIS Y DISEÑO DE LA SOLUCIÓN

INTRODUCCIÓN

Todas las funcionalidades que se va a desarrollar tienen algo en común, que


es el acceso a la base de datos del sistema S.A.S.E, la cual contiene los datos
que van a ser presentados al cliente en este caso el padre de familia o
representante.
La base de datos del sistema se encuentra implementada con SQL Server y
el sistema está alojado en un servidor con el sistema operativo Microsoft
Windows Server, junto con Internet Information Server (IIS), por lo que, para
la comunicación entre la aplicación Android y los datos alojados en la base de
datos S.A.S.E., se procederá con el desarrollo de un servicio web con la ayuda
de SQL Server 2008, Visual Studio 2010 y con el lenguaje C#. La aplicación
Android será desarrollado con Android Studio.

De lo anteriormente descrito se propone como solución el desarrollo de dos


aplicativos:

 Un servicio web para obtener y dar tratamiento adecuado al formato


solicitado por la aplicación móvil, que van a ser los reportes
académicos y de entorno académico del estudiante, como son
compañeros de clases, periodo escolar vigente, notas por periodo,
profesores, materias, etc.
 Aplicación móvil para la visualización de los reportes académicos, así
como datos del entorno académico del estudiante.

ARQUITECTURA

La arquitectura propuesta se muestra en el siguiente diagrama de compontes.


En primer lugar se tiene el servidor web que tendrá el servicio web, el cual
obtendrá los datos de la base de datos del sistema S.A.S.E, estos serán
devueltos por medio de http, a través del protocolo rest y en formato JSON,
como formato común de intercambio de datos, este formato es el más ligero

39
a la hora de intercambio de datos por medio de la red, por ese motivo fue
seleccionado en lugar de xml que es el formato tradicionalmente usado.

Figura 16.Diagrama de componentes de la arquitectura de la aplicación


Fuente Propia

LEVANTAMIENTO DE REQUERIMIENTOS

Para el desarrollo de los aplicativos anteriormente mencionados, como primer


paso se necesita contar con información sobre el proceso que sigue la
institución para la entrega de los diferentes informes, y como está estructurada
la base de datos del sistema.

En primer lugar se realizó reuniones con las personas encargadas de


administrar el sistema académico S.A.S.E y se observó el funcionamiento
actual de este sistema.

40
Figura 17.Captura pantalla principal S.A.S.E
Fuente: Autor

En la figurar anterior podemos ver la pantalla principal que muestra el sistema


académico después de iniciar sesión.

En base a los requerimientos solicitados por la institución, así como la revisión


del sistema y el análisis de la base de datos, se llegó a los siguientes
requerimientos:

Desarrollar un servicio Web que permita obtener los datos alojados en la base
de datos del sistema S.A.S.E.

Usar las credenciales generadas por la institución al momento del registro del
estudiante, esto es tomar la contraseña y usuario creados en el sistema
S.A.S.E, para permitir el ingreso o no al usuario a la aplicación móvil.

Permitir al represéntate mirar el horario escolar actual del estudiante a su


cargo.

41
El representante podrá mirar las notas del estudiante por materia, así como
un detalle de las actividades que realizo para obtener la nota promedio, estos
son exámenes escritos, exposiciones, etc.

El representante podrá mirar todos los compañeros que tenga en el curso


actual, y llamar por teléfono en caso de que lo requiera, este requerimiento
está fundamentado en caso de que el representado realice un trabajo junto
con un compañero y se requiera ubicarlo.

Se dispondrá de una lista de profesores que dictan clases en el


correspondiente curso que está tomando su representado, adicional se debe
permitir una comunicación entre el representante y el profesor, para lo cual se
debe poder enviar un correo electrónico.

Se debe desplegar la disciplina que obtuvo el estudiante en el año lectivo en


transcurso.

La interfaz de la aplicación debe ser amigable y fácil de usar, además debe


contar con personalización.

DISEÑO DE LA INTERFAZ DE LA APLICACIÓN

Para el diseño de la interfaz de la aplicación móvil se trató en lo posible en


seguir las guías dadas por google con el nuevo concepto de material design.
(google, 2015)

La estructura de la aplicación se basa en el uso de fragments, para mostrar


en la misma pantalla mostrar los datos solicitados.

A continuación se detalla la estructura general de la aplicación móvil.

42
Figura 18. Estructura general de la aplicación móvil
Fuente: Autor

Como se muestra en la figura anterior tenemos tres áreas, una está la toolbar
donde se colocaran los botones de acción, como son búsqueda, regresar, etc.
En el menú lateral se colocara todos los accesos a las diferentes acciones que
se pueden realizar en la aplicación móvil. Por último se tiene el área de
Fragments la cual será encargada de desplegar los diferentes datos, como
listas, notas, etc.
También se dispone de una pequeña variación, del anterior diseño para
dispositivos de mayor tamaño como tablets, este es un menú fijo con las
opciones del menú deslizante.

43
Figura 19. Variación diseño para dispositivos mayor tamaño
Fuente: Autor

Despliegue de listas

La mayoría de datos en la aplicación móvil se mostrara en listas esto nos lleva


realizar la elección entre dos tipos de listas, las tradicionales ListView y los
nuevos conceptos introducidos por google que es Recyclerview.
El nuevo concepto de google para el manejo de listas que se mencionó antes,
viene de la mano con la optimización y uso de recursos. Para las tradicionales
ListView el rendimiento en la carga de datos es mucho menor en comparación
con Recyclerview esto se debe a la forma en que se realiza esto, la primera
carga todo la primera vez que se llama, mientras que la segunda lo hace a
medida que se van deslizando por los demás elementos no visibles.
La elección indicada para el proyecto es Recyclerview tanto por su
rendimiento, como por sus facilidades para implementar el concepto de
material design.

ANÁLISIS DE REQUERIMIENTOS

Luego de haber hecho el levantamiento de la información, se debe analizar


quien va interactuar con la aplicación de forma directa o indirecta, adicional se
debe identificar a los actores involucrados.

44
Nombre: Representante
Descripción:
Representa un usuario que tiene acceso al sistema a través de sus
credenciales entregadas a priori, en la institución académica.

Tabla 4.Descripción textual del actor padre familia/representante


Fuente: Autor

Nombre: Administrador
Descripción:
Representa un usuario que tiene acceso al sistema académico S.A.S.E y
realiza el ingreso de un nuevo estudiante, así como también genera las
credenciales correspondientes.

Tabla 5.Descripción textual actor administrador sistema


Fuente: Autor

Nombre: Profesor
Descripción:
Representa al usuario que puede ingresar notas académicas a cada
estudiante que tome su materia en un curso determinado.

Tabla 6.Descripción textual actor profesor


Fuente: Autor

Nombre: Servicio Web


Descripción:
Representa el sistema encargado de devolver los datos extraídos de la base
del sistema S.A.S.E.

45
CASOS DE USO

Se va a usar los casos de uso para realizar un diseño, de cómo se va a


desarrollar el sistema, en base a los requerimientos solicitados por la
institución educativa.

Ingresar a la aplicación móvil

En el siguiente caso de uso, se muestra cuando el usuario, en este caso el


padre de familia o representante, quiere acceder al sistema a través de la
aplicación móvil Android.

Nombre: Ingresar a la aplicación móvil


Autor: Paul Sampedro
Descripción:
Permite el acceso a la aplicación móvil.
Actores:
Representante, servicio Web
Precondiciones:
Al representante se debe haberle entregado las credenciales en la
institución educativa.
Flujo Normal:

1) El actor ingresa la contraseña y el usuario proporcionados con


anterioridad.
2) El actor presiona el botón para ingresar.
3) La aplicación móvil valida los datos ingresados.
4) El servicio web devuelve si se encontró el registro.
5) Acceso al menú principal de la aplicación móvil.
Flujo Alternativo:
3) B. Si el registro no es encontrado la aplicación muestra un mensaje de
alerta sobre este particular.
Poscondiciones:
El usuario ingresa a la pantalla principal de la aplicación móvil.

46
Tabla 7.Descrip.Ingresar a la aplicación móvil
Fuente: Autor

Figura 20. Ingreso a la aplicación móvil


Fuente: Autor

Una vez se ha indicado el diagrama de caso de uso, se procede al indicar la


secuencia que se sigue para el ingreso a la aplicación web, con el diagrama
de secuencia.

Figura 21.Diagrama de secuencia – Ingreso a la aplicación móvil


Fuente: Autor

47
Lista de materias

Una vez que el usuario ha logrado ingresar a la aplicación móvil, esta pantalla
presenta el menú con las opciones para gestionar los datos del representado.
El caso de uso muestra el proceso de desplegar los datos de las materias.

Nombre: Listar materias


Autor: Paul Sampedro
Descripción:
Muestra la lista de materias que tiene el estudiante.
Actores:
Representante, Servicio Web
Precondiciones:
El usuario debe haber ingresado a la aplicación móvil.
Que el sistema tenga asignado un curso al estudiante.
Flujo Normal:

1) Se selecciona sobre el menú en listado de materias.


2) El Servicio Web devuelve si existen datos para el estudiante.
3) La aplicación móvil despliega la lista de materias con el nombre y
profesores que las dicta.
Flujo Alternativo:
3)B. Si el sistema no registro curso para el estudiante se mostrara “No hay
datos para mostrar en este momento”
Poscondiciones:
Se muestra la lista de materias que tiene el estudiante.

Tabla 8.Descrip.Listar materias


Fuente: Autor

48
Figura 22.Caso de uso - Lista de materias por estudiante
Fuente: Autor

Como se hizo anteriormente se mostrara el diagrama de secuencia, para


llevar a cabo la acción que se mencionó antes.

Figura 23.Diagrama de secuencia - Lista de materias por estudiante


Fuente: Autor

Lista de profesores

Al igual que en el caso anterior, desde el menú lateral se selecciona la opción


lista de profesores, la cual desplegara los profesores y materias que dictan
cada uno, en el curso actual que se encuentre el estudiante.

Nombre: Listar profesores


Autor: Paul Sampedro

49
Descripción:
Muestra los profesores que tiene el estudiante.
Actores:
Representante
Precondiciones:
El usuario debe haber ingresado a la aplicación móvil.
Que el sistema tenga asignado un curso al estudiante.
Flujo Normal:

1) Seleccionar sobre el menú, el listado de profesores.


2) Obtener datos del servidor S.A.S.E.
3) Mostrar lista de materias ordenados por nombre.
Flujo Alternativo:
3) B. Si el sistema no registro curso para el estudiante se mostrara “No
hay datos para mostrar en este momento”
Poscondiciones:
Se muestra la lista de profesores.

Tabla 9.Descrip.Lista de profesores


Fuente: Autor

Figura 24.Caso de uso – Lista de profesores


Fuente: Autor

Lista de compañeros

Al igual que las anteriores, en este caso se despliega la lista de todos los
compañeros de curso del estudiante seleccionado, aquí se podrá llamar por
teléfono al seleccionar sobre el teléfono.
Nombre: Listar de compañeros
Autor: Paul Sampedro
Descripción:

50
Muestra los compañeros que comparten curso con el estudiante.
Actores:
Representante
Precondiciones:
El usuario debe haber ingresado a la aplicación móvil.
Que el sistema tenga asignado un curso al estudiante.
Flujo Normal:

1) Selecciona sobre el menú en compañeros


2) Obtener datos del servidor S.A.S.E.
3) Mostrar lista de compañeros ordenados por nombre.
Flujo Alternativo:
3) B. Si el sistema no registro curso para el estudiante se mostrara “No
hay datos para mostrar en este momento”
Poscondiciones:
Se muestra la lista de compañeros.

Tabla 10.Descrip.Lista de compañeros


Fuente: Autor

Figura 25.Caso de uso – Lista de compañeros por estudiante


Fuente: Autor

Conducta por periodo

Este caso de uso muestra la interacción del usuario, para llegar a obtener la
conducta por periodo, para el estudiante seleccionado.

51
Nombre: Conducta por periodo
Autor: Paul Sampedro
Descripción:
Muestra la conducta por periodo.
Actores:
Representante
Precondiciones:
El usuario debe haber ingresado a la aplicación móvil.
Que el sistema tenga asignado un curso al estudiante.
Flujo Normal:

1) Selecciona sobre el menú conducta.


2) Obtener datos del periodo y conducta por cada módulo en el servidor
S.A.S.E.
3) Mostrar lista de periodo y módulos con sus notas. Mostrar lista de
compañeros ordenados por nombre.
Flujo Alternativo:
3)B. Si el sistema no registro curso para el estudiante se mostrara “No
hay datos para mostrar en este momento”
Poscondiciones:
Se muestra los periodos y las notas de cada módulo.

Tabla 11.Descrip. Conducta por periodo


Fuente: Autor

Figura 26.Caso de uso-Conducta por periodo


Fuente: Autor

52
Horario escolar

Se puede ver en el siguiente caso de uso, como se llega a obtener el horario


escolar actual para el estudiante seleccionado.

Nombre: Horario escolar


Autor: Paul Sampedro
Descripción:
Muestra el horario correspondiente al curso en tránsito.
Actores:
Representante, Servicio Web
Precondiciones:
El usuario debe haber ingresado a la aplicación móvil.
Que el sistema tenga asignado un curso al estudiante.
Flujo Normal:

1) Seleccionar sobre el menú horario


2) Obtener los datos del horario escolar del servidor S.A.S.E.
3) Mostrar el horario escolar por día y hora.
Flujo Alternativo:
3)B. Si el sistema no registro curso para el estudiante se mostrara “No
hay datos para mostrar en este momento”
Poscondiciones:
Se muestra el horario escolar.

Tabla 12.Descrip. Horario escolar


Fuente: Autor

Figura 27.Caso de uso-Horario escolar


Fuente: Autor

53
Notas por materia

Este caso de uso muestra el proceso de selección de notas del estudiante por

materia.

Nombre: Notas por materia


Autor: Paul Sampedro
Descripción:
Despliega las notas por periodo y modulo del estudiante.
Actores:
Representante, Servicio Web
Precondiciones:
El usuario debe haber ingresado a la aplicación móvil.
Que el sistema tenga asignado un curso al estudiante.
El usuario debe haber desplegado la lista de materias.
Flujo Normal:

1) El actor selecciona una materia de la lista.


2) Se obtiene las notas del servicio Web.
3) La aplicación Android muestra la lista de periodo y módulos con las notas
de cada uno.
Flujo Alternativo:
3)B. Si el servicio Web no devuelve las notas, la aplicación móvil
mostrara no hay notas todavía registradas.
Poscondiciones:
Se muestra las notas por periodo y modulo.

Tabla 13. Descrip. Notas por estudiante


Fuente: Autor

54
Figura 28. Caso de uso-Notas de la materia
Fuente: Autor

Detalle de notas por modulo

Este caso de uso muestra el proceso para obtener el detalle de notas de una
materia y un periodo y modulo específico seleccionado.
Nombre: Detalle de notas por modulo
Autor: Paul Sampedro
Descripción:
Despliega las actividades con las notas que llevo a tener la nota en cada
módulo de un periodo específico.
Actores:
Representante, Servicio Web
Precondiciones:
El usuario debe haber ingresado a la aplicación móvil.
Que el sistema tenga asignado un curso al estudiante.
El usuario haya seleccionado las notas de una materia.
Flujo Normal:

1) El actor selecciona un periodo y modulo específico.


2) El servicio web obtiene el detalle de la nota seleccionado.
3) La aplicación Android muestra la lista de actividades realizadas y las
notas de cada una.
Flujo Alternativo:
Poscondiciones:
Se muestra detalle de notas y nombre de la actividad.

Tabla 14. Descrip. Detalle notas por modulo


Fuente: Autor

55
Figura 29. Caso de uso-Detalle de notas por modulo
Fuente: Autor

ANÁLISIS DE LAS HERRAMIENTAS DE DESARROLLO

Para el desarrollo de la aplicación móvil se utilizara java como lenguaje de


programación, por lo que se tiene dos opciones, que son las más utilizadas
actualmente que son Android Studio y eclipse con el plugin adt.

Android Studio

Para este caso se optó por usar Android Studio, debido a ser una herramienta
enfocada exclusivamente al desarrollo de aplicaciones móviles, esto permite
tener funcionalidades específicas para el desarrollo de una aplicación móvil
como es el caso de la creación de iconos listos para cada resolución de
dispositivos, así como opciones para generación de plantillas de actividades
y toolbars.

Figura 30.Logo Android Studio


Fuente: Autor

Visual Studio

Se optó por desarrollar el servicio web usando Visual Studio, junto con el
lenguaje de programación C#, esto debido a una adaptación al ambiente del
servidor instalado en la institución educativa. Tomando en cuenta que tanto el

56
sistema que se encuentra alojado en el servidor como la base de datos usan
tecnologías Microsoft.

Figura 31.Logo Visual Studio 2012


Fuente: Autor

Sql Server Express Edition

Ya que la base de datos de la institución se encontraba alojada en Sql Server,


la opción clara fue escoger este motor de base de datos, pero para el
desarrollo se utilizó la edición express que es gratis para proyectos pequeños
y aprendizaje como es el caso del presente trabajo de titulación.

Figura 32.Logo SQL Server


Fuente: Autor

DECISIONES DE DISEÑO E IMPLEMENTACIÓN

Esta sección mostrara algunos detalles de implementación complejos que


requirieron la investigación más profunda para su correcta utilización.
Además se incluyen algunas decisiones del diseño tomadas para el correcto
funcionamiento de la aplicación móvil.

Detalles de implementación

Como se explicó con anterioridad la aplicación móvil realiza peticiones al


servicio Web para la descarga de información de los estudiantes, por lo que
se necesita crear un hilo de ejecución mientras se espera la descarga de
datos, esto presentaba un problema al usar los tradicionales manejos de hilos
en java, ya que solo se podía actualizar un componente a la vez.
La solución encontrada fue el uso de la clase AsyncTask. Esta clase de diseño

57
con el objetivo de realizar tareas asíncronas y cuenta con un método,
onPostExecute(), que es llamado cuando se termina la tarea del hilo en
ejecución y permite realizar los cambios a la interfaz de la aplicación.

A continuación se muestra un prototipo de las clases que heredan de


AsyncTask.

Figura 33.Prototipo herencias de clases AsyncTask


Fuente: Autor

Los principales métodos heredados que se muestran en la anterior figura son:

 El método onPreExecute(), este método nos permite inicializar nuestras


variables, así como también iniciar el estado de un componente, por
ejemplo bloquear textView, button o iniciar el contador de una barra de
progreso.

 doInBackground(String….url), este método es donde se ejecuta el hilo


y se realiza las peticiones al servidor, permitiendo seguir interactuando
con la interfaz mientras finaliza la consulta.

 onPostExecute(String result), al finalizar el hilo en el método anterior,


se pasa el control a este método, esto nos ofrece la posibilidad de
manejar los resultados obtenidos en el hilo ejecutado con anterioridad,
58
como por ejemplo detener la barra de progreso, actualizar los texView
o listas con los datos obtenidos.

La siguiente figura muestra el proceso de ejecución de los hilos con la clase


heredada AsyncTask.

Figura 34.Proceso de ejecución de hilos con AsyncTask


Autor: (INVARATO, 2013)

59
5 CAPITULO MARCO ADMINISTRATIVO

RECURSOS

Recursos Humanos

 Tesista.
 Tutor asignado.
 Revisores de Tesis.
 Tribunal de trabajo de graduación.
 Usuarios que intervengan en pruebas.
 Usuarios expertos en el sistema académico S.A.S.E.

Recursos Didácticos

 Material Bibliográfico.
 Material Didáctico.
 Computador de Desarrollo.
 Servicios Básicos.

PRESUPUESTO

El presente presupuesto tiene como objetivo estimar costos necesarios para


cubrir la culminación del proyecto de titulación planteado, para lo que se
permite indicar los valores aproximados que generaría el desarrollo en
cuestión, cabe aclarar que las estimaciones pueden variar debido a cambios
no controlados.
En la siguiente tabla se muestra la distribución de gastos, que se realizó con
el propósito de concluir de manera satisfactoria en proyecto de titulación.

PRESUPUESTO
Ítem Rubros de Gastos Cant. Valor Total
N° # dólares dólares
RECURSOS HUMANO
1 Tutor designado para la tesis 1 0,00 0,00
2 Tribunal designado para la tesis 2 0,00 0,00
3 Autor de Tesis de Grado 1 0,00 0,00

60
SUBTOTAL RECURSOS HUMANOS 0,00
RECURSOS MATERIALES
4 Resma de papel 2 3,50 7,00
5 Cartucho de tinta Blanco/Negro 1 25,00 25,00
6 Cartucho a color 2 35,00 70,00
7 Copias 300 0,02 6,00
8 Compra de derechos y papel universitario 150,00
SUBTOTAL RECURSOS MATERIALES 258,00
MATERIAL BIBLIOGRÁFICO
9 Copias de libros 150 0,03 4,50
10 Libro programación Android 1 60 60,00
10 Transcripción del borrador trabajo de grado 1 0,00 0,00
11 Empastado del trabajo de grado 2 10,00 20,00
SUBTOTAL RECURSOS MATERIALES 84,50
RECURSOS INFORMÁTICOS
1000,0
12 Computadora Personal 1 0 1000,00
13 Impresora Multifunción 1 100,00 100,00
14 2 Memorias RAM 2 60,00 120,00
15 DVD 10 0,70 7,00
16 Flash memory 1 20,00 20,00
SUBTOTAL DE RECURSOS INFORMÁTICOS 1187,00
OTROS
18 Comidas 100,00
19 Transporte 70,00
20 Gastos varios 150,00
SUBTOTAL DE OTROS 320,00
TOTAL GASTOS 1849,50
IMPREVISTOS (5%) 92.48
TOTAL 1941,98
FINANCIAMIENTO: Tesista
Autor: Sampedro Chávez Paul Adrián
Tabla 15.Presupuesto estimado
Fuente: Autor

CRONOGRAMA

El siguiente cronograma tiene como objetivo el detallar las actividades


necesarias para completar con éxito el proyecto planteado anteriormente,
para esto se detalla cada tarea a realizar y la duración que tendrá esta, a
continuación se procede a descomponer en sub tareas y los tiempos que se
manejara para cada uno, adicional se tiene las fechas de inicio y fin estimadas
para concluir con cada sub tarea y con esto completar la tarea total.

61
Modo de tarea EDT Nombre de tarea Duración Comienzo Fin

Programada lun vie


1 Marco Conceptual 10 días
manualmente 02/02/15 13/02/15
Investigación de
Programada lun jue
1.1 indicadores de 4 días
automáticamente 02/02/15 05/02/15
educación
Investigación de la
Programada vie mié
1.2 presentación de los 4 días
automáticamente 06/02/15 11/02/15
reportes.
Programada Reportes jue vie
1.3 2 días
automáticamente solicitados 12/02/15 13/02/15
Programada Desarrollo de la lun mié
2 128 días
automáticamente aplicación móvil 16/02/15 12/08/15
Programada lun mié
2.1 Concepción 8 días
automáticamente 16/02/15 25/02/15
Programada Investigación de lun mié
2.1.1 8 días
automáticamente sistemas similares 16/02/15 25/02/15
Programada jue mié
2.2 Análisis 20 días
automáticamente 26/02/15 25/03/15
Programada Especificación jue jue
2.2.1 11 días
automáticamente de requisitos 26/02/15 12/03/15
Programada Documento de vie mié
2.2.2 9 días
automáticamente análisis del sistema 13/03/15 25/03/15
Programada jue mar
2.3 Diseño 29 días
automáticamente 26/03/15 05/05/15
Programada Arquitectura de jue mié
2.3.1 5 días
automáticamente información 26/03/15 01/04/15
Programada Arquitectura de jue mié
2.3.2 5 días
automáticamente software 02/04/15 08/04/15
Programada Estándares de jue mar
2.3.3 4 días
automáticamente interfaz gráfica 09/04/15 14/04/15
Programada Prototipos del mié mié
2.3.4 6 días
automáticamente sistema 15/04/15 22/04/15
Programada Estándares de jue mar
2.3.5 4 días
automáticamente programación 23/04/15 28/04/15
Programada Diseño del mié mar
2.3.6 5 días
automáticamente sistema 29/04/15 05/05/15
Programada mié mié
2.4 Implementación 61 días
automáticamente 06/05/15 29/07/15
Programada mié lun
2.4.1 Servicio Web 19 días
manualmente 06/05/15 01/06/15
Programada Modulo mar mar
2.4.2 6 días
automáticamente Seguridad 02/06/15 09/06/15
Programada mié mar
2.4.3 Modulo reportes 10 días
automáticamente 10/06/15 23/06/15
Programada mié mar
2.4.4 Servicio Web 20 días
manualmente 24/06/15 21/07/15
Programada Manual de mié mié
2.4.5 6 días
automáticamente usuario 22/07/15 29/07/15

62
Programada jue mié
2.5 Pruebas 10 días
automáticamente 30/07/15 12/08/15
Programada Pruebas jue mié
2.5.1 10 días
automáticamente unitarias 30/07/15 12/08/15
Tabla 16.Cronograma
Fuente: Autor

63
6 CONCLUSIONES Y RECOMENDACIONES

CONCLUSIONES

El objetivo principal del proyecto fue el acercamiento entre el padre de familia


y la institución educativa, en lo que respecta a este punto, se puede decir que
se logró cumplir, al acercar el rendimiento del estudiante con el padre de
familia.
Los objetivos secundarios se cumplieron en su mayor parte, logrando una
comunicación adecuada entre la aplicación móvil y el servidor web, a través
de los servicios web implementados, con un despliegue rápido y fluido, en
gran parte, gracias al uso de JSON como formato de transferencia entre la
aplicación móvil y el servidor.
En este trabajo previo a la obtención del título de ingeniero, se ha desarrollado
una aplicación móvil enfocada en el aspecto académico. Dicha aplicación
supone la utilización de algunas tecnologías, que sin ser nuevas representan
una gran ventaja para el mundo actual, como REST utilizado para la
implementación de los servicios Web y JSON usado para la representación
de datos. Se ha optado por usar estas tecnologías ya que, lo que se buscaba
es, que el procesado de información fuese lo más ligero posible, y esa es la
ventaja principal que presentan REST y JSON frente a SOA y XML
respectivamente, además utilizar de nuevo estas tecnologías también es
favorable desde el punto de vista de reutilización de código.
También se ha utilizado Visual Studio y SQL server para el desarrollo del web
service, que permite obtener los datos necesarios, esto es para aprovechar el
servidor que se encuentra con el sistema actual S.A.S.E.
Como conclusión personal se debe decir que el proyecto ha cumplido con
todas las expectativas planteadas, al usar diferentes tecnologías de
comunicación y adentrarme en el mundo del desarrollo de aplicaciones
móviles, en este caso con Android, me ha dado la posibilidad de utilizar este
lenguaje, que aunque no era desconocido para mí, tuve la oportunidad de
profundizar en este y superar nuevos retos que se presenten.

64
RECOMENDACIONES

Las recomendaciones en el presente proyecto tienen como objetivo, ser de


ayuda para mejorar en casos similares y en futuras mejoras de la presente
tesis.

 Se recomienda tener datos consistentes en la base, ya que podrían


generar errores inesperados en la aplicación móvil.
 Es aconsejable realizar una campaña de acercamiento a la aplicación,
por parte de la institución educativa.
 Es deseable publicar el servicio web en un hosting que ofrezca un
alojamiento estable y rápido.
 Se recomienda realizar un seguimiento a la utilización de la aplicación,
con el fin de retroalimentar los posibles cambios y mejoras de la
aplicación.

65
BIBLIOGRAFÍA

1) CIFUENTES, A. (28 de Enero de 2013). softonic. Recuperado el 27 de

Mayo de 2015, de softonic: http://articulos.softonic.com/evolucion-

sistema-operativo-blackberry-imagenes

2) Emac International. (s.f.). Recuperado el 7 de Marzo de 2015, de

http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-

262.pdf

3) GONZALES, L. (15 de Noviembre de 2014). conceptodefinicion.

Recuperado el 13 de Junio de 2015, de conceptodefinicion:

http://conceptodefinicion.de/ios/

4) google. (2 de Mayo de 2015). Obtenido de

https://www.google.com/design/spec/material-design/introduction.html#

5) IDC. (2015). IDC Corporate. Recuperado el 4 de Junio de 2015, de IDC:

http://www.idc.com/prodserv/smartphone-os-market-

share.jsp?=Q1%202015

6) INVARATO, R. (30 de Septiembre de 2013). jarroba.com. Recuperado el

2 de Julio de 2015, de http://jarroba.com/asynctask-en-android/

7) JSON.ORG. (s.f.). Recuperado el 15 de Mayo de 2015, de

http://json.org/json-es.html

8) Kee, E. (s.f). ubergizmo. Recuperado el 2 de Junio de 2015, de

ubergizmo: http://www.ubergizmo.com/2012/12/windows-phone-8-portico-

os-update/

9) Ministerio de Educacion de Colombia. (Enero de 2007).

http://www.mineducacion.gov.co/. Recuperado el 20 de Julio de 2015, de

http://www.mineducacion.gov.co/.

66
10) Ministerio de Educacion del Ecuador. (s.f.). educacion.gob.ec.

Recuperado el 2015 de Julio de 19, de educacion.gob.ec:

http://educacion.gob.ec/bachillerato-general-unificado/

11) NITULESCU, B. (17 de Julio de 2013). Tremend. Recuperado el 26 de

Mayo de 2015, de Tremend: http://blog.tremend.ro/2013/07/17/how-to-

connect-to-a-windows-mobile-6-embedded-device-without-using-a-

mobile-data-network/?WindowMobile

12) NOLASCO V, I. J. (2014). Desarrollo de aplicaciones móviles con

android. Lima: Empresa editora macro EIRL. Recuperado el 6 de Junio

de 2015

13) PORRAS, E. (2012 de Abril de 2012). Ingenieria de sistemas.

Recuperado el 4 de Junio de 2015, de eve-ingsistemas-u.blogspot:

http://eve-ingsistemas-u.blogspot.com/2012/04/sistemas-operativos-

moviles-ios.html

14) RAMÍREZ VIQUE, R. (s.f.). exabyteinformatica.com. Recuperado el 1 de

Junio de 2015, de exabyteinformatica.com:

https://www.exabyteinformatica.com/uoc/Informatica/Tecnologia_y_desarr

ollo_en_dispositivos_moviles/Tecnologia_y_desarrollo_en_dispositivos_

moviles_(Modulo_4).pdf

15) sedl.org. (s.f.). sedl.org. Recuperado el 19 de Julio de 2015, de sedl.org:

http://www.sedl.org/pubs/family30/1a.html

16) SNNA. (s.f.). snna.gob.ec. Recuperado el 2015 de Julio de 19, de

snna.gob.ec: http://www.snna.gob.ec/dw-

pages/Descargas/instructivo%20ENES%20new.pdf

17) TOBAR SÁNCHEZ, J. (17 de Junio de 2013). esquirlas. Recuperado el 6

67
de Junio de 2015, de esquirlas: http://www.esquirlas.co/2013/06/las-

versiones-de-ios.html

18) TORTOSA, E. (22 de Mayo de 2015). http://eduardotortosamartin.com/.

Recuperado el 14 de Junio de 2015, de http://eduardotortosamartin.com/:

http://eduardotortosamartin.com/todas-las-versiones-de-android/

19) W3C. (s.f.). W3C.com. Recuperado el 29 de Abril de 2015, de W3C.com:

http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb

20) Wikipedia. (10 de Marzo de 2013). Wikipedia. Recuperado el 17 de Mayo

de 2015, de Wikipedia: http://es.wikipedia.org/wiki/WS-Security

21) Wikipedia. (2015 de Abril de 2015). Wikipedia, pag Dispositivo Movil.

Recuperado el 27 de Mayo de 2015, de Wikipedia:

http://es.wikipedia.org/wiki/Dispositivo_m%C3%B3vil

22) Wikipedia. (6 de Junio de 2015). Wikipedia. Recuperado el 8 de Junio de

2015, de Wikipedia: http://es.wikipedia.org/wiki/BlackBerry_OS

23) Wikipedia. (14 de Mayo de 2015). Wikipedia. Recuperado el 10 de Junio

de 2015, de Wikipedia: http://es.wikipedia.org/wiki/Windows_Mobile

24) Wikipedia. (10 de Junio de 2015). Wikipedia. Recuperado el 13 de Junio

de 2015, de Wikipedia: http://es.wikipedia.org/wiki/Servicio_web

25) Wikipedia. (04 de Junio de 2015). Wikipedia. Recuperado el 14 de Junio

de 2015, de Wikipedia:

http://es.wikipedia.org/wiki/Extensible_Markup_Language

26) Wikipedia. (29 de Mayo de 2015). Wikipedia. Recuperado el 7 de Junio

de 2015, de Wikipedia: http://es.wikipedia.org/wiki/UDDI

27) Wikipedia. (11 de Marzo de 2015). Wikipedia. Recuperado el 21 de Julio

de 2015, de Wikipedia: https://es.wikipedia.org/wiki/Walkie-talkie

68
28) xataka. (03 de julio de 2015). Recuperado el 12 de Agosto de 2015, de

http://www.xataka.com/moviles/es-esta-es-la-primera-imagen-del-

blackberry-con-android

69
ANEXOS

MANUAL TÉCNICO

El presente manual tiene como objetivo el presentar la estructura con la cual


fue desarrollada la aplicación móvil y el servicio Web para consumo de datos
del servidor S.A.S.E, así como los detalles de herramientas usadas para el
presente proyecto.

Estructura del servicio Web

La estructura del servicio Web, que será consumido por la aplicación móvil,
está constituida de la siguiente forma.

Capa del servicio Web

En la capa del servicio Web se tienen los métodos que serán publicados para
el posterior consumo por parte del cliente, que va a ser la aplicación móvil.
Como se indica en la siguiente figura.

70
En el archivo sé que denomina web.config se procedió a añadir el protocolo
necesario para consumir el servicio Web desde la aplicación móvil realizando
peticiones http a través de HttpPost, con lo que se insertó el protocolo a usar
como se ve en las siguientes líneas.

Capa de negocio
Es la encargada de comunicar la capa de datos y la capa de presentación, en
este caso la capa de presentación es los métodos del servicio Web que se
publicaran.
Como podemos ver en la siguiente figura tenemos únicamente los métodos
que acceden a la capa de datos y transforman estos datos a objetos JSON.

En la capa de negocio se utilizó una clase constate que permite de manera

71
sencilla cambios en un futuro por diferentes motivos.

Capa de Datos
Esta capa es la encargada de comunicar la base de datos con las capas
superiores, dentro de esta capa tenemos las configuraciones necesarias para
realizar la ejecucion de procedimientos almacenados y consultas sql, capa
uno de estos nos devolvera en cada caso un DataTable o un valor string.
Esto se muestra en la siguiente figura.

En esta capa tambien tenemos los metodos que llaman a el procedimiento


almacenado correspondiento o con la sentencia sql necesaria para retornar el
valor o valores necesitados.

72
Estructura aplicación móvil.
La estructura de la aplicación se rige por las capas que genera
automáticamente el IDE, en este caso Android Studio, la única organización
que puede variar son los archivos java que serán presentados en tipos de
componentes utilizados como se muestra a continuación.

Como podemos ver en el grafico anterior la aplicación está dividida en dos


secciones, una que es los archivos java, y otro es los recursos que son las
vistas donde se encuentran los layouts, imágenes, colores, temas, menús, etc.

73
Archivos Java
Dentro de los archivos java se encuentran todos los recursos necesarios para
controlar las vistas en este caso son los diferentes compontes como textview,
recyclerview, cardview.

Res
Dentro de esta estructura constan todos los recursos necesarios para mostrar
la interfaz gráfica al usuario, estos son los archivos xml que representan la
vista, así como también las imágenes e iconos presentados al momento del
despliegue en el dispositivo móvil.

De lo visto anteriormente podemos decir que la estructura del proyecto


Android se divide en dos partes una capa de presentación y una de negocio.

Capa de presentación
En esta capa se encuentran los recursos necesarios para mostrar al usuario
la interfaz solicitada.

Dentro de esta capa tenemos los layout, para este proyecto se tiene un
principal que es el que se muestra a continuación, dentro de esta se
presentaran los diferentes componentes del menú y los fragments que
presentan las listas de datos solicitadas por el usuario.

74
Utilización de strings.xml
Este archivo es el encargado de contener todos los nombres y mensajes que
despliega la aplicación móvil, como son nombre de la aplicación nombre de
botones, alertas, etc.

Utilización de styles.xml
Este archivo xml contiene los estilos que serán aplicados a la aplicación móvil,
es decir colores de toolbar, fondos, etc.

75
Para este caso se usó la convención de nombres material design que son:

 Color primario (colorPrimary)


 Color primario oscuro (colorPrimaryDark)
 Color secundario (colorAccent)

En la siguiente figura se puede ver la definición de los colores para el tema.


Todos los colores son tomados del archivo colors.xml que será explicado en
el siguiente sección.

Utilizacion de color.xml
Dentro de este archivo se declara los colores que se van utilizar en los
diferentes componentes. Se procedio a definir los colores basicos en
diferentes tonalidades como se observa en la siguiente figura.

76
Utilización de dimens.xml
Dentro de este archivo xml contiene las dimensiones para los tamaños de los
dispositivos.

Capa de negocio
Dentro de esta capa ser organizo por los diferentes tipos de controladores de
los componentes.

Dentro de esto tenemos dividido en 5 paquetes que son los que contienes los
diferentes controladores de los componentes.

Activities
Los activities representan las pantallas principales que se muestran sin ningún
contenedor.
Dialogs
Dentro de este paquete tenemos los diferentes mensajes flotantes de aviso al
usuario.
Fragments
Este paquete contiene las pantallas que estarán embebidas dentro del activity

77
principal.

RecyclerView
Dentro de este paquete se encuentran las diferentes listas que tendrán el
sistema.
RecyclerViewAdapters
Dentro este paquete se encuentra los adaptadores que permitirán mostrar las
diferentes visualizaciones de cada ítem de las listas.

Utils
Tenemos dentro de este paquete las clases útiles para la aplicación, entre
estas tenemos la clase de constantes donde se encuentran todos los métodos
y la dirección del servidor web que contiene los métodos para obtener los

78
datos.

Android Manifest
Es el archivo principal de la aplicación móvil, donde se colocar las versiones
soportadas del sistema operativo Android, mínima y máxima, los permisos que
necesita la aplicación para su funcionamiento, así como también el manifiesto
de las diferentes actividades.

79
MANUAL DE USUARIO

Ejecución aplicación desde el dispositivo móvil.


En primer lugar se debe buscar la aplicación móvil instalada previamente en
el dispositivo con el logo de la aplicación como se muestra en la siguiente
figura.

Se selecciona y presiona sobre esta, inmediatamente de esto se inicializara


la interfaz de la aplicación, como se muestra a continuación. En este momento
la aplicación realizara los ajustes necesarios, como verificar si el usuario ha
iniciado sesión si lo ha hecho con anterioridad se mostrara inmediatamente el
menú principal, de otro modo se mostrara la pantalla para ingresar el usuario
y contraseña.

Ingreso a la aplicación móvil.


Para el ingreso a la aplicación previamente, se debe haber recibido el usuario
y contraseña en la institución educativa, al momento de matriculación
satisfactoria del estudiante o estudiantes.

80
Una vez ingresadas correctamente las credenciales se puede acceder al
sistema como se ve a continuación, la pantalla que primero se presenta será
la última escogida por el usuario, pero la primera vez ejecutada la aplicación
se colocar en materias con la lista de materias del estudiante.

Para la navegación en la aplicación tenemos un menú lateral deslizante que


se puede acceder deslizando el dedo hacia la derecha o presionando sobre
el icono de junto al nombre de la pantalla.

81
Menú navegación lateral
Este menú permite el fácil movimiento entre las distintas opciones
presentadas por la aplicación, como se muestra en la siguiente figura.

El menú consta de los siguientes ítems, que permite la navegación por las
opciones de la aplicación:

Conducta
Permite visualizar la conducta del estudiante por periodo y modulo, en el año
escolar que está transcurriendo.

82
Horario
Permite visualizar el horario del estudiante en el periodo actual, siendo el
curso asignado con las materias y los días de la semana.

Para ver las materias que toca cada día se puede desplazar con el dedo de

83
derecha a izquierda o viceversa dependiendo del punto en que nos
encontremos, o bien se puede seleccionar sobre el día de la semana que
desee consultar.

Materias
Al seleccionar este ítem se despliega la lista de materias que el estudiante
tiene en el periodo actual como se puede ver en la siguiente figura.

En la lista de materias desplegada se puede seleccionar la nota que se


encuentra a la derecha del nombre de la materia que permitirá conocer el
detalle de la nota por periodo como la se indica en la siguiente figura.

84
Aquí se puede observar los periodos y módulos que tiene el estudiante con
calificaciones.
Para poder seleccionar un detalle de actividades que llevaron a conseguir esa
nota podemos presionar sobre la nota correspondiente para mirar el detalle
antes mencionado.

Compañeros
Al seleccionar este ítem sobre el menú, nos permite desplegar los
compañeros actuales del estudiante como muestra la siguiente figura.

En la lista podemos presionar a la derecha sobre el icono del teléfono para

85
marcar el número del estudiante o del representante.

Profesores
Al seleccionar el ítem profesores, nos mostrara una lista de estos mismos que
serán los que estén asignados actualmente al año escolar que transcurre.

Dentro de la lista de profesores podrá seleccionarse para envió de mensajes


de correo electrónico, si este ha registrado uno en el sistema S.A.S.E. Para
esto se debe presionar sobre el icono del mensaje como se ve en la siguiente
imagen.

Esto nos desplegara la opción de escoger una aplicación de correo instalada


en el teléfono si se tiene varias o directamente se abrirá la aplicación usada
para esto en su dispositivo.

86
Si no se ha encontrada un correo electrónico asociado a dicho profesores se
despliega un mensaje avisándonos sobre esta situación como se muestra en
la siguiente figura.

Opción de búsqueda
En las listas de materias, compañeros y profesores se pueden realizar una
búsqueda de forma rápida y sencilla, con tan solo presionar sobre el icono de
la lupa de la barra que contiene el título.

Al presionar sobre el icono se expande para poder ingresar el texto de


búsqueda, esta permite buscar por coincidencias en las palabras o por el texto
completo introducido en este campo.

87
Luego introducimos el nombre deseado en la búsqueda y la lista se filtrara
automáticamente como se muestra en la siguiente figura.

Al presionar sobre la x, la lista se restaura a los elementos completos que


contenían antes.

Ajustes
Esta pantalla de la aplicación móvil permite configurar la sincronización de
datos al inicio de la aplicación, también cambiar colores de la aplicación y

88
activar o desactivar él envió de alertas.

En la sección ajustes avanzados podemos escoger un color de tema para la


personalización de la aplicación móvil.
Se puede escoger un color de los predefinidos al presionar sobre este ítem,
como se muestra en la siguiente figura.

Al seleccionar un tema, automáticamente se cambia la combinación de


colores de la aplicación y se mantendrá hasta que no elija un nuevo color, o
se desinstale y vuelva a instalar la aplicación.

Salir de la aplicación móvil


Al presionar sobre la opción salir en el menú lateral o en el menú fijo si es un
dispositivo de pantalla grande, se procede a eliminar todos datos del usuario

89
y se regresa a la pantalla de iniciar sesión.

Interface para dispositivos con pantalla de resolución mayor


La interface para tablets, y phablets cambia ligeramente para poder
aprovechar el espacio que se tiene en estas.

En dispositivos de mayor pantalla se genera una barra lateral de navegación


como se ve en la figura anterior. Esta barra permite la navegación de la misma
forma que se hacer con el menú lateral indicado anteriormente.

90

Вам также может понравиться