aplicaciÓn mÓvil para la gestiÓn de …repository.udistrital.edu.co/bitstream/11349/7292/1...y...
TRANSCRIPT
APLICACIÓN MÓVIL PARA LA GESTIÓN DE PROCESOS ESTUDIANTILES EN
LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS “NEREO”
RICARDO RODRÍGUEZ BAREÑO
SANDRA YAZMÍN TORRES AGUILAR
UNIVERSIDAD DSTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS
BOGOTÁ D. C.
2016
2
APLICACIÓN MÓVIL PARA LA GESTIÓN DE PROCESOS ESTUDIANTILES EN
LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS “NEREO”
RICARDO RODRÍGUEZ BAREÑO
SANDRA YAZMÍN TORRES AGUILAR
PASANTÍA PARA OPTAR POR EL TÍTULO DE TECNÓLOGO EN
SISTEMATIZACIÓN DE DATOS
TUTOR: LUIS FELIPE WANUMEN SILVA
Ingeniero de Sistemas
UNIVERSIDAD DSTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS
BOGOTÁ D. C.
2016
3
Nota de Aceptación
SONIA ALEXANDRA PINZÓN NÚÑEZ
Jurado
Bogotá D. C., 19 de Agosto de 2016
4
A mi tía, a mi papá, a mi mamá, a mis hermanas y hermanos, a mis queridos amigos; Uno nunca termina algo sin la ayuda del otro y con ellos fue posible que pudiera alcanzar mis metas y culminar este proyecto, a mi compañera Sandra por su confianza, paciencia y lo más valioso: su amistad a lo largo de la carrera, a Dios que todo lo hace posible, me llena de bendiciones día a día y que hoy me permite llegar hasta esta etapa.
Ricardo Rodríguez B. A Dios por darme la luz y fuerza para enfrentar cada reto en mi vida, mi madre María Leonor Aguilar Pachón por ser la mujer que me motiva a librar cada batalla, me infunde fortaleza y me acompaña de manera incondicional, Alexander Zambrano Blandón que creyó en mí potencial para sacar adelante este proyecto de vida, mi compañero Ricardo Rodríguez, por su Amistad, apoyo y paciencia en nuestro quehacer universitario.
Sandra Yazmín Torres A.
5
AGRADECIMIENTOS
A Dios por ser siempre la luz, ese sentimiento de alegría, serenidad, confianza y
fortaleza en cada momento de esta etapa de nuestras vidas que estamos
próximos a culminar y que hoy nos permite estar aquí.
A la Oficina Asesora de Sistemas de la Universidad Distrital Francisco José de
Caldas, por darnos el espacio de aportar con nuestro conocimiento en la
construcción de un magno proyecto que redundará en beneficios para la
comunidad académica en general.
Por último un reconocimiento especial a las personas que sin egoísmo,
coadyuvaron durante el desarrollo de este proyecto para obtener un resultado
satisfactorio.
Para termina… “para una gran carrera, tan sólo se necesita dar el primer paso, la
fuerza y la valentía harán el resto”.
6
CONTENIDO
FASE I - INICIO ............................................................................................................... 14
1. OBJETIVOS ............................................................................................................. 14
1.2 Objetivo General ................................................................................................. 14
1.3 Objetivos Específicos.......................................................................................... 14
1.4 Alcances y Delimitaciones .................................................................................. 15
1.5 Planteamiento del Problema ............................................................................... 16
FASE II - ELABORACIÓN ............................................................................................... 18
2. MARCO DE REFERENCIA ...................................................................................... 18
2.1 Estado del Arte ................................................................................................... 18
2.2 Marco Teórico ..................................................................................................... 25
2.3 Factibilidad de Desarrollo y Métodos .................................................................. 40
2.4 Cronograma de Actividades ................................................................................ 47
FASE III - CONSTRUCCIÓN ........................................................................................... 49
3. DESARROLLO DEL PROYECTO ............................................................................ 49
3.1 Arquitectura ........................................................................................................ 49
3.2 Herramientas de Software Utilizadas .................................................................. 50
3.3 Requerimientos Funcionales ............................................................................... 52
3.4 Requerimientos No Funcionales ......................................................................... 56
3.5 Definición de Actores .......................................................................................... 56
3.6 Listado de Casos de Uso .................................................................................... 57
3.7 Diagramas de Secuencias .................................................................................. 64
3.8 Diagramas de Colaboración ................................................................................ 66
3.9 Diagrama de Clases ........................................................................................... 68
3.10 Diagrama de Componentes .............................................................................. 69
3.11 Servicios Web Generados ................................................................................ 70
3.12 Diseño de la Interfaz ......................................................................................... 73
FASE IV - TRANSICIÓN .................................................................................................. 76
4. APLICACIÓN ........................................................................................................... 76
4.1 Actividades de Acoplamiento .............................................................................. 76
7
4.2 Pruebas .............................................................................................................. 78
GLOSARIO ...................................................................................................................... 82
CONCLUSIONES ............................................................................................................ 87
RECOMENDACIONES .................................................................................................... 88
BIBLIOGRAFÍA ................................................................................................................ 89
8
LISTA DE TABLAS
TABLA 1 FACTIBILIDAD ECONÓMICA RECURSOS HUMANOS ................................................... 41
TABLA 2 FACTIBILIDAD ECONÓMICA RECURSOS TÉCNICOS .................................................. 41
TABLA 3 FACTIBILIDAD ECONÓMICA COSTO TOTAL .............................................................. 41
TABLA 4. HERRAMIENTAS DE SOFTWARE UTILIZADAS .......................................................... 51
TABLA 5. REQUERIMIENTO FUNCIONAL INGRESO DE USUARIOS ............................................ 53
TABLA 6. REQUERIMIENTO FUNCIONAL CONSULTA DE DATOS PERSONALES .......................... 53
TABLA 7. REQUERIMIENTO FUNCIONAL CONSULTA DE HORARIO ........................................... 54
TABLA 8. REQUERIMIENTO FUNCIONAL CONSULTA DE NOTAS .............................................. 54
TABLA 9. REQUERIMIENTO FUNCIONAL IMPRESIÓN DE HORARIO ........................................... 55
TABLA 10. REQUERIMIENTO FUNCIONAL IMPRESIÓN DE NOTAS ............................................ 55
TABLA 11. REQUERIMIENTOS NO FUNCIONALES ................................................................... 56
TABLA 12. CASO DE USO INICIAR SESIÓN............................................................................ 57
TABLA 13. CASO DE USO CONSULTAR DATOS PERSONALES ................................................ 58
TABLA 14. CASO DE USO CONSULTAR HORARIO ................................................................. 59
TABLA 15. CASO DE USO CONSULTAR NOTAS ..................................................................... 60
TABLA 16. CASO DE USO CERRAR SESIÓN .......................................................................... 61
TABLA 17. PRUEBAS FUNCIONALES INDIVIDUALES ............................................................... 78
9
LISTA DE FIGURAS
FIGURA 1. TENDENCIAS DE INTERNET – TELÉFONOS INTELIGENTES ANDROID VS. IOS. .......... 27
FIGURA 2 - MÉTODO DE TRABAJO ONPEUP/OAS................................................................. 44
FIGURA 3 - FASE DE INICIO ................................................................................................. 47
FIGURA 4 - FASE DE COLABORACIÓN .................................................................................. 47
FIGURA 5 - FASE DE CONSTRUCCIÓN .................................................................................. 47
FIGURA 6 - FASE DE TRANSICIÓN ........................................................................................ 48
FIGURA 7 - ARQUITECTURA DEL SISTEMA SOLUCIÓN ............................................................ 50
FIGURA 8 - CASO DE USO INICIAR SESIÓN ........................................................................... 61
FIGURA 9 - CASO DE USO CONSULTAR DATOS PERSONALES ............................................... 62
FIGURA 10 - CASO DE USO CONSULTAR HORARIO ............................................................... 62
FIGURA 11 - CASO DE USO CONSULTAR NOTAS .................................................................. 63
FIGURA 12 - CASO DE USO CERRAR SESIÓN ....................................................................... 63
FIGURA 13 - DIAGRAMA DE SECUENCIA INICIAR SESIÓN ....................................................... 64
FIGURA 14 - DIAGRAMA DE SECUENCIA CONSULTAR DATOS ................................................ 64
FIGURA 15 - DIAGRAMA DE SECUENCIA GENERAR REPORTES .............................................. 65
FIGURA 16 - DIAGRAMA DE SECUENCIA CERRAR SESIÓN ..................................................... 65
FIGURA 17- DIAGRAMA DE COLABORACIÓN INICIAR SESIÓN ................................................. 66
FIGURA 18 - DIAGRAMA DE COLABORACIÓN CONSULTAR DATOS PERSONALES ..................... 66
FIGURA 19 - DIAGRAMA DE COLABORACIÓN CONSULTAR HORARIO....................................... 66
FIGURA 20 - DIAGRAMA DE COLABORACIÓN CONSULTAR NOTAS .......................................... 67
FIGURA 21 - DIAGRAMA DE COLABORACIÓN CERRAR SESIÓN ............................................... 67
FIGURA 22 - DIAGRAMA DE CLASES .................................................................................... 68
FIGURA 23 - DIAGRAMA DE COMPONENTES ......................................................................... 69
FIGURA 24 - CONSULTA BD DATOS PERSONALES ................................................................ 71
FIGURA 25 - CONSULTA BD HORARIOS ............................................................................... 71
FIGURA 26 - CONSULTA BD NOTAS .................................................................................... 72
FIGURA 27 - ESQUEMA DE TABLAS DE BASE DE DATOS ........................................................ 73
FIGURA 28 - MAPA DE NAVEGACIÓN EN LA APLICACIÓN ........................................................ 74
FIGURA 29 - FORMATO DE EVALUACIÓN DE CALIDAD DEL SOFTWARE ................................... 81
10
RESUMEN
En el mundo de hoy, es cada vez más popular el binomio hombre-smartphone,
toda vez que la tecnología implementada en los equipos móviles ofrecen un
enriquecido número de bondades a los usuarios, pues en un reducido dispositivo
se encuentra la posibilidad de comunicación de voz y también de datos, lo que
redunda en mayor usabilidad, mayor conocimiento y aprovechamiento de esta,
para facilitar el quehacer de la sociedad en forma permanente; no en vano el
mercado de las aplicaciones funcionales en los equipos móviles amplían cada vez
más su ámbito de aplicación.
Por lo anterior, este proyecto está enfocado en desarrollar una aplicación apta
para usar en dispositivos móviles que funcionará como una alternativa práctica,
dinámica y ágil en la gestión académica de los estudiantes de la Universidad
Distrital Francisco José de Caldas.
La aplicación tiene como finalidad, brindar la opción a los estudiantes de poder
realizar consultas esenciales como son: sus datos personales, su horario de
clases y sus notas obtenidas durante el semestre en curso; todo ello desde la
comodidad de su dispositivo móvil y sin la necesidad de incurrir en costos
adicionales a los de su plan de datos, evitándole inclusive desplazamientos
innecesarios hasta el lugar donde pueda acceder a internet; todo esto
simplemente con su usuario y contraseña asignados para interactuar en la
aplicación Cóndor.
11
ABSTRACT
In today's world, is increasingly popular the man-smartphone binomial, since the
technology implemented in mobile computer devices offer a rich number of benefits
to users, because in a small device is possible the voice and data communication,
resulting in increased usability, increased knowledge and use of this to facilitate the
work of society permanently; not in vain the market of functional applications in
mobile devices increasingly expanding its scope.
Therefore, this project is focused on developing a suitable application for use on
mobile devices that function as a practical alternative, dynamic and agile in the
academic management of University Francisco José de Caldas's students.
The application aims, providing the option for students to perform essential queries
such as: your personal data, your class schedule and grades obtained during the
semester; all from the comfort of your mobile device without the need to incur
additional costs to your data plan, including saving you unnecessary journeys to
the place where you can access the Internet; all this simply with your username
and password assigned to interact in the Condor application.
12
INTRODUCCIÓN
El teléfono fue concebido para acortar las distancias, haciendo de él un medio de
transporte exclusivo para la voz, su evolución ha logrado que hoy en día el mundo
de las comunicaciones goce de una poderosa herramienta que facilita
ostensiblemente las relaciones humanas, consulta de información, entretenimiento
y hasta administración de información.
La integración de este conjunto de posibilidades ha conducido a la apropiación de
la tecnología y uso masificado de ésta, por tal razón los usuarios son cada vez
más exigentes demandando acceso casi permanente a todos los servicios
existentes y generando la necesidad de abarcar otros espacios.
Por ello la Universidad Francisco José de Caldas encaminada hacia la vanguardia
tecnológica y apropiándose de esa necesidad manifiesta, impulsa el desarrollo de
una herramienta funcional que será puesta al servicio de los estudiantes, en la
cual gestionarán información académica en particular, consulta de datos
personales, horario de clases y notas del semestre. Una característica importante
es la facilidad de acceso a la información, teniendo en cuenta que la aplicación
puede ser ejecutada desde dispositivos móviles con sistema operativo Android.
Es por ello que en el presente documento se encuentra el desarrollo de un
software para equipos móviles basado en la arquitectura orientada a servicios
(SOA), documentado de acuerdo a la metodología OpenUp/OAS, motivo por el
que este escrito se estructuró en cuatro fases que son: Inicio, Elaboración,
Construcción y Transición, las cuales se desarrollaron de acuerdo a la dinámica de
levantamiento de información.
13
Android, PHP y MySQL son las tecnologías de código abierto que fueron utilizadas
para construir la codificación de la aplicación; para el modelado del software se
utilizó Draw.io por ser la herramienta de diagramación utilizada en la Oficina
Asesora de Sistemas de la Universidad Distrital Francisco José de Caldas.
Cabe resaltar que esta solución solo es apta para realizar consultas de
información del estudiante que inicie sesión en la aplicación móvil y aunque no es
la única forma de solucionar la necesidad, si es una opción viable teniendo en
cuenta el mínimo impacto que representa para la infraestructura institucional, más
bien, busca optimizar los recursos con que cuenta la Universidad Distrital
Francisco José de Caldas.
14
FASE I – INICIO.
1. OBJETIVOS
1.2 Objetivo General
Desarrollar una aplicación móvil para la gestión de procesos académicos de los
estudiantes que se comunique con los subsistemas de consulta de notas, horarios
y actualización de hoja de vida estudiantil del sistema Cóndor de la Universidad
Distrital.
1.3 Objetivos Específicos
Desarrollar un subsistema de consulta de datos de la hoja de vida de los
estudiantes que les permita gestionar sus datos personales.
Desarrollar un módulo de consulta móvil que permita visualizar la
información de notas y horarios entregados por el sistema cóndor.
Desarrollar un subsistema de autenticación que permita a la aplicación
móvil mantener una sesión de usuario con el sistema Cóndor de la
Universidad Distrital usando mecanismos de pool de conexiones.
Definir la forma en que la aplicación accederá al modelo de datos actual por
medio de un servicio web.
15
Desarrollar un servicio web que permita a las aplicaciones móviles el envío
de datos al sistema Cóndor a través de un mecanismo de mensajería
basado en tecnología JSON.
1.4 Alcances y Delimitaciones
1.4.1 Alcances
Diseñar una aplicación Android basada en la gestión de procesos
académicos de los estudiantes de la Universidad Distrital, que permitirá:
Acceder a la información propia del estudiante que inicia sesión en la
aplicación.
Consultar información relacionada con horario de clases y notas
obtenidas por el usuario.
Descargar en archivo digital a su dispositivo móvil, el horario de
clase y las notas obtenidas a lo largo del semestre.
1.4.2 Delimitaciones
1.4.2.1 Temporal
La aplicación tendrá un tiempo de desarrollo de seis meses y terminada la
fase de desarrollo será entregada a la Oficina Asesora de Sistemas para su
evaluación.
1.4.2.2 Técnica
Esta aplicación se desarrollará en la suite de Android Studio, versión 2.1.2.
Contará con servicios web para el acceso a la información existente en la
base de datos académica.
La aplicación será totalmente funcional para dispositivos móviles con
sistema operativo Android desde la versión 4.0x (Ice Cream Sandwich)
hasta la versión actual.
16
1.4.2.3 Temática
La aplicación solo se enfocará en la consulta de datos académicos, de
acuerdo a lo autorizado por la Oficina Asesora de Sistemas de la
Universidad.
Contará con acceso a información real, almacenada en la base de datos de
la Universidad.
1.5 Planteamiento del Problema
1.5.1 Definición del Problema
Actualmente la Universidad cuenta con el sistema de información “Cóndor” que
brinda acceso por vía web, el cual permite consultar la información académica,
pero se dificulta de alguna manera para los estudiantes, cuando no disponen de
un computador para su visualización, lo que afecta a la Comunidad Académica en
general. Como consecuencia de este problema identificamos la no disponibilidad
de los datos y demoras innecesarias en procesos de consulta en general en
periodos de recurrencia máxima.
La Universidad Distrital no cuenta con un sistema de información móvil que admita
la usabilidad desde equipos móviles como teléfonos inteligentes, tabletas
electrónicas y otros dispositivos móviles que actúen como soporte y apoyo en la
recurrencia de consulta de notas, horarios y hoja de vida de los estudiantes,
además que desde la misma se pueda generar, reportes de horarios y notas;
motivo por el que se hace imperioso el desarrollo de una aplicación que ofrezca
una mejor experiencia de uso, evitando tiempos de espera excesivos, cuyas
características reúna las condiciones de alta interoperabilidad con otros
componentes de software, adaptable a los cambios normativos y legales del
17
entorno interno o externo y que cumpla con los requisitos de alta calidad en
capacidades de usabilidad, fiabilidad, rendimiento y mantenimiento del software.
1.5.2 Justificación
El avance tecnológico es visto como parte integral de la actividad educativa, por
esta razón la interacción de todos los entes que intervienen en ella es pieza
fundamental en el desarrollo de nuevas estrategias que hagan más asequible el
acceso a la información para poder tenerla de primera mano. Por ello la
universidad Distrital busca brindar a la comunidad educativa un servicio eficiente y
de calidad, siempre que se permita la interactividad entre el usuario y el
dispositivo, porque la monotonía no es parte del ser humano, la tecnología debe
adaptarse a ello. Dado que la tecnología debe ser personalizable, al permitir hacer
diferentes tareas, implica la adaptabilidad al usuario y sus necesidades
particulares. Con la tecnología, el acceso a la información es amplio, rápido y en
ocasiones, cien por ciento acertado; el desarrollo de la aplicación trae de nuevo el
cambio donde la máquina interpreta los lenguajes humanos para hacer más
sencillas y asertivas las búsquedas.
La motivación de realizar este proyecto ha sido la de diseñar y proporcionar una
aplicación necesaria para que los usuarios puedan acceder a las funcionalidades
actuales del sistema Cóndor, a través de sus equipos móviles. Para ello se deberá
construir una aplicación móvil de uso sencillo y adaptado a todo tipo de usuarios
que permita acceder a la información requerida de una forma simple en todo
equipo móvil inteligente (tabletas electrónicas, celulares inteligentes, entre otros).
18
FASE II – ELABORACIÓN.
2. MARCO DE REFERENCIA
2.1 Estado del Arte
2.1.1 Desarrollo y Evolución de las Aplicaciones Móviles
En el mundo actual las aplicaciones móviles y los contenidos digitales representan
el mayor potencial dentro de la cadena de valor, en las telecomunicaciones e
internet.
Las primeras aplicaciones móviles que se desarrollaron datan de finales de los
90s, estas eran lo que conocemos como la agenda, arcade games, editores de
ringtones, etc. Dichas aplicaciones cumplían con funciones muy elementales y su
diseño era bastante simple y poco atractivo. La evolución de las apps se dio
rápidamente gracias a las innovaciones en tecnología WAP y la transmisión de
data (EDGE) esto vino acompañado de un desarrollo muy fuerte de los celulares.
Finalmente la evolución de dichas aplicaciones nace con el lanzamiento del
iPhone de Apple y el desarrollo del sistema operativo para móviles Android. Junto
a estos desarrollos llegan muchas más propuestas de smartphones, y de esta
forma empieza el boom de las apps, juegos, noticias, diseño, arte, educación,
fotografía, medicina todo inmerso en lo que antes eran un simple equipo de
comunicación celular, la incorporación de internet en los celulares y la creación de
las Tablets revolucionó el mundo de las aplicaciones móviles. El surgimiento de
19
las Apps Stores terminó de impulsar el éxito de las aplicaciones móviles y un
significativo cambio en la manera en que se distribuye y comercializa el software1.
Las aplicaciones o contenido móvil en Colombia están en pleno auge y es
dinamizada por la convergencia de plataformas, la telefonía móvil, un mejor
acceso a redes 3G y 4G, la accesibilidad de tecnologías de Smartphone y más
opciones de contenido digital con mejores formatos.
La generalidad que ofrecen los dispositivos móviles y las anteriores razones
mencionadas, hacen que cada día más usuarios colombianos se familiaricen con
este tipo de contenidos y/o aplicaciones, aunque sin llegar todavía a los niveles de
los países desarrollados.
Existen razones por las cuales hoy día los usuarios colombianos consumen más
contenidos móviles, algunas de estas son:
1. Un mejor acceso a 3G y más allá
2. Más opciones de contenido comercial
3. Ubicuidad en la conectividad
4. Contenidos con mejor formato
5. Integración de las redes sociales.
Para que una aplicación móvil tenga éxito debe observar tres factores
fundamentalmente: debe resolver un problema, ser fácil de usar, intuitiva y por
último bonita2.
1 RICARDO, E, Aplicaciones Móviles para la Educación, 2012,
http://aplicacionesmovilescolombia.blogspot.com.co/2012/10/desarrollo-y-evolucion-de-las.html [Consulta: Jueves, 10 de Marzo de 2016] 2 MEDINA, Edgar, ¿Las ‘apps’ dejarán de ser negocio en tres años?/Análisis, 2014,
http://www.eltiempo.com/tecnosfera/novedades-tecnologia/el-futuro-de-las-aplicaciones-moviles/14068436 [Consulta: Jueves, 10 de Marzo de 2016]
20
2.1.2 Aplicaciones Móviles en Universidades para su Gestión Académica
A nivel internacional una gran variedad de universidades han incursionado en las
nuevas tendencias digitales aplicadas al ámbito académico, por lo que a
continuación se mencionan algunas aplicaciones de las más populares y sus
principales funciones:
Aplicación de la Universidad del País Vasco G.A.U.R.
La Universidad del País (UPV/EHU) ha desarrollado una nueva aplicación para
dispositivos móviles Puede descargarse de forma gratuita de las tiendas de
aplicaciones de Android y Apple. Dentro de las funciones se encuentran:
Consultar matrículas, expedientes, notas provisionales, horarios de las tutorías de
las asignaturas en las que está matriculado el estudiante y notificación vía correo
electrónico en el momento en que le han calificado alguna asignatura con la nota
obtenida3.
Aplicación de la Universidad del Estado Georgia
Funciona en sistemas operativos Android, Blackberry, IOS y Windows; fue
desarrollada por U360Mobile, que se especializa en diseñar aplicaciones para
universidades siguiendo un mismo patrón. Entre sus funcionalidades se cuentan:
- News: acceso a las noticias de la universidad.
- Athletics: Resultado de las actividades deportivas en los que participa la
Universidad.
- Events: Permite ver los twitter en los que se menciona a la Universidad
- Links: acceso a encuestas en temas de tendencia
3 UNIVERSIDAD DEL PAÍS VASCO, La UPV/EHU crea para su alumnado una app que notifica las
notas y facilita información académica, http://www.ehu.eus/es/eb/ikasleak/gaur-app [Consulta: Viernes, 01 de Abril de 2016]
21
- Multimedia: Muestra los vídeos de YouTube y fotos de GSU4.
Aplicación de la Universidad de Phoenix
Desarrollado por la misma Universidad para la comunicación de su comunidad,
funciona con los sistemas operativos de IOS y Android. Funciones: Grades:
Alertas cuando alguna nota académica es subida al sistema. Participación en hilos
de discusión con otros alumnos y profesores. Servicio de mensajería personal.
Foros de material de estudio5.
Dentro de las aplicaciones móviles implementadas en universidades colombianas
podemos listar las siguientes:
UniSabana
El desarrollo que está disponible para sistemas operativos Android e IOS, fue un
proceso de investigación entre cuatro estudiantes, tres profesores y un egresado,
quienes conociendo la dinámica de la universidad, crearon una aplicación móvil
inicialmente para la consulta de notas, a la que le han incluido otras
funcionalidades. En sus opciones de menú tenemos:
- Infórmate: Permite estar al día con la las noticias y los eventos del campus.
- Para comer: consultar el menú del día en las diferentes opciones de los
restaurantes.
- Mi Emisora: Escuchar la emisora Unisabana radio.
4 STRAXIS TECHNOLOGY, Georgia State University, 2015,
https://play.google.com/store/apps/details?id=com.u360mobile.georgiastate&hl=es [Consulta: Viernes, 01 de Abril de 2016] 5 UNIVERSIDAD DE PHOENIX, University of Phoenix Mobile, 2015,
https://play.google.com/store/apps/details?id=edu.apollogrp.android.classroom.activity&hl=es [Consulta: Sábado, 02 de Abril de 2016]
22
- Agéntate: Dispone una agenda para que el estudiante planee y programe
sus eventos o compromisos académicos.
- Mi desempeño: conocer el desempeño en las asignaturas que se están
cursando, ver horario de clases.
- Estar alerta: permite estar atento a las alertas o emergencias que afectan a
la comunidad dentro y fuera del campus6.
iUN
Aplicación de apoyo a las actividades académicas de la Universidad Nacional de
Colombia. Provee a la comunidad de un servicio de información sobre la
Universidad Nacional de Colombia y los servicios académicos, de investigación y
de extensión que ella ofrece. Sintoniza la actividad académica, administrativa y
lúdica de la universidad al creciente uso de dispositivos móviles. Provee un
sistema de orientación en las sedes de la universidad a nivel nacional.
Incluye la base de datos de las instituciones para la presentación del examen de
admisión a la Universidad Nacional de Colombia, la búsqueda por edificios,
nuevos servicios asociados a entidades de apoyo y bienestar, términos de uso y
licencia y el himno universitario7.
Mis Notas UdeA
Es una aplicación desarrollada por tres jóvenes emprendedores, que permite a un
estudiante matriculado en la Universidad de Antioquia conocer las notas obtenidas
en el semestre en curso, recibir notificaciones en su dispositivo móvil en el
momento que son reportadas por sus respectivos profesores en el sistema Mares,
6 SOTAQUIRÁ, Ricardo, et al. La universidad lanza su aplicación móvil, 2014,
https://www.unisabana.edu.co/fileadmin/Documentos/Campus_20/Campus_2014/Campus-1222-Universidad-de-La-Sabana.pdf [Consulta: Miércoles, 30 de Marzo de 2016] 7 HIGUEREA GARZÓN, Mario, et al. Aplicación iUN, 2014,
http://ciencias.bogota.unal.edu.co/gruposdeinvestigacion/analisis-numerico-y-simulacion-en-paralelo/informacion-de-interes/ [Consulta: Miércoles, 30 de Marzo de 2016]
23
consultar la historia académica en la Universidad de Antioquia, en términos de
notas definitivas de cada curso y promedio crédito obtenido, semestre por
semestre8.
Estudiante UP
Esta aplicación ha sido desarrollada por cinco ingenieros vinculados al Centro de
Investigación Aplicada y Desarrollo de Tecnologías de Investigación (CIADTI) de
la universidad de Pamplona en Norte de Santander, la cual facilita el acceso a la
información académica de los estudiantes de Pregrado en las modalidades
Presencial y Distancia, los cuales podrán consultar las siguientes opciones:
Horarios de clases, Notas Actuales, Registro Extendido y Liquidaciones9.
Uniandes
En la Universidad de Los Andes se adoptó el sistema internacional BlackBoard
Mobile Learn. Se encuentra disponible en las tiendas de Google Play, BlackBerry
App World, y la App Store para las versiones, Android OS 2.2, BlackBerry OS 4.3
o superior y IOS 4.3. Entre sus bondades se tienen: Noticias (investigaciones,
científicas eventos institucionales, música), Calendario, Mapa, Servicio de
biblioteca y Cursos actuales10.
8 CASTAÑO GRAJALES, Mauricio, Consulta tus notas desde una nueva app, 2016,
http://www.udea.edu.co/wps/portal/udea/web/inicio/udea-noticias/udea-noticia/!ut/p/z0/fYyxDoIwGIRfxYWR_BWx6kgcTIyDgzHwL-YCjVahLbYQH1_Awbi4XO4u3x0x5cQGvb4iaGtQD7lgeVlvtsk8S8VByFSKTB7T5SrZLU5nQXvi_8DwoO9tyxlxaU1Qr0C5s8-AuqsUIgH_m262UR8_6szYoEsNH4lpbXRlR-pbo0SlGo0J8F0dEI8j-Nh0qkcM58g9uHgDaVcxrQ!!/ [Consulta: Miércoles, 30 de Marzo de 2016] 9 BALMACEDA, Ana, Estudiante UP, acceso rápido y fácil a la universidad mediante una app en tu
móvil, 2015, http://www.unipamplona.edu.co/unipamplona/portalIG/home_1/recursos/noticias_2015/agosto/31082015/app_estudiante_up.jsp [Consulta: Miércoles, 30 de Marzo de 2016] 10
DSIT, Universidad de los Andes, Sicua plus+
en tu dispositivo móvil, 2015, https://dsit.uniandes.edu.co/index.php/sicua-plus-movil [Consulta: Miércoles, 30 de Marzo de 2016]
24
PAW Mobile
La Universidad Católica de Colombia conforme a los avances tecnológicos ofrece
a su comunidad académica (Estudiantes y Docentes) un aplicativo para
dispositivos móviles. Por medio de este aplicativo se puede acceder de una
manera ágil y oportuna a la información Institucional, como horarios de clase,
notas actuales e historial de notas, al igual que el ingreso a redes sociales a las
cuales la Universidad se encuentra vinculada11.
Universidad Central
Esta app acerca a los estudiantes a la Universidad Central en ejercicios
académicos y administrativos como solicitar un certificado académico, consultar un
recurso en el aula virtual, solicitar una cita con un profesor, estar informado
mediante notificaciones sobre el calendario académico e incluso llamar a los
diferentes departamentos12.
Universidad del Rosario
App institucional como plataforma que incluye información de interés, la cual
puede ser consultada desde dispositivos móviles que cuenten con sistema
operativo IOS 8.0 y superior o Android 4.4 o superior. Las funcionalidades que se
encuentran en la App son las siguientes: Aulas virtuales: acceso a los cursos
virtuales de las clases, Biblioteca: búsquedas en el sistema integrado, Noticias:
información del acontecer de la Universidad actualizada en tiempo real,
Programas académicos: información de la oferta académica de la Universidad,
Soporte a aulas: atención de primer nivel a los inconvenientes presentados en los
salones de clase, Comercios: Oferta de los establecimientos al interior de las
11
UNIVERSIDAD CATÓLICA, PAW Mobile, 2014, https://play.google.com/store/apps/details?id=com.Ucatolica.paw&hl=es_419 [Consulta: Miércoles, 30 de Marzo de 2016] 12
UNIVERSIDAD CENTRAL, APP Central, 2015, http://www.ucentral.edu.co/noticentral-uc/app-central [Consulta: Miércoles, 30 de Marzo de 2016]
25
sedes de la universidad, PQR: petición de felicitaciones, quejas y reclamos,
Ubicación: donde encontrar y desplazarse en las diferentes sedes de la
Universidad, conocer las rutas internas y sus horarios, Video: contenido
multimedia de interés de la comunidad, Directorio: información de contactos para
enviar un e-mail o llamar al usuario deseado, Calendario: consulta la programación
de los próximos eventos; adicional cuenta con notificaciones en el dispositivo
móvil13.
2.2 Marco Teórico
2.2.1 Dispositivos Móviles
Un dispositivo móvil se puede definir como un aparato de pequeño tamaño,
con algunas capacidades de procesamiento, con conexión permanente o
intermitente a una red, con memoria limitada, que ha sido diseñado
específicamente para una función, pero que puede llevar a cabo otras funciones
más generales14.
Entre los tipos de dispositivos móviles encontramos:
Dispositivo Móvil de Datos Limitados (Limited Data Mobile Device):
teléfonos móviles clásicos. Se caracterizan por tener una pantalla pequeña
de tipo texto. Ofrecen servicios de datos generalmente limitados a SMS y
acceso WAP.
13
UNIVERSIDAD DEL ROSARIO, Nueva App Miurosario UR, 2015, http://www.urosario.edu.co/Home/Principal/noticias/Nueva-App-Miurosario-UR/ [Consulta: Miércoles, 30 de Marzo de 2016] 14
ROJAS ESCALANTE, Rodolfo, Dispositivos Móviles, https://docs.google.com/document/d/1pZAHgqhqwnuw_UX9FSY1KHFcY10ESjc2B_03Nk2oAzs/edit [Consulta: Miércoles, 30 de Marzo de 2016]
26
Dispositivo Móvil de Datos Básicos (Basic Data Mobile Device): se
caracterizan por tener una pantalla de mediano tamaño, menú o navegación
basada en iconos, ofrecer acceso a emails, lista de direcciones, SMS y en
algunos casos, un navegador web básico. Un típico ejemplo de este tipo de
dispositivos son los teléfonos inteligentes (“smartphones”).
Dispositivo Móvil de Datos Mejorados (Enhanced Data Mobile Device): se
caracterizan por tener pantallas de medianas a grandes (por encima de los
240 x 120 pixels), navegación de tipo stylus y ofrecen las mismas
características que el “Dispositivo Móvil de Datos Básicos”, adicionalmente
ofrece aplicaciones nativas como aplicaciones de Microsoft Office Mobile
(Word, Excel, PowerPoint) y aplicaciones corporativas usuales, en versión
móvil, como Sap, portales intranet, etc. Entre estos equipos encontramos las
tabletas inteligentes (“tablets” y smartphones de gama media y alta)15.
Hoy en día los teléfonos inteligentes están equipados con comunicaciones
Bluetooth y WiFi. Dependiendo de la plataforma de software y sistema operativo
puede ejecutar applets de Java o C y aplicaciones C#. Los dispositivos
proporcionados por diferentes proveedores soportan diferentes protocolos de
comunicación. Esto pide a la instalación de drivers de comunicación adicionales
en el teléfono (a través de Bluetooth o WiFi).
Los sistemas operativos más comercializados en estos equipos son Android, iOS y
Windows Mobile.
Un informe de la KPCB (Kleiner Perkins Caufield Byers) sobre las tendencias de
Internet, da cuenta del incremento desbordado del uso de estos equipos, pues en
el 2015 habrían unos 1.600 millones de smartphone en el mundo, en cuanto a
dispositivos móviles se calculó una suma de 5.600 millones, aún más, se calcula 15
JARAMILLO, Oscar, Dispositivo Móvil, 2010,https://sites.google.com/a/misena.edu.co/desarrollo-de-aplicaciones-para-dispositivos-moviles/introduccion [Consulta: Miércoles, 30 de Marzo de 2016]
27
que para el año 2020 habrán unos 6.000 millones de smartphones en servicio16.
Adicionalmente el estudio muestra que los equipos móviles con sistema operativo
Android han presentado un crecimiento exponencial mucho más visible con
respecto a los equipos basados en iOS (Figura 1), lo cual se puede analizar desde
el punto de vista costo - beneficio, toda vez que resulta más rentable los
desarrollos realizados sobre la plataforma Android, sabiendo que tienen mayor
versatilidad por ser de código abierto, diversidad en sus funcionalidades, por ende
más populares en el medio tecnológico.
16
KLEINER PERKINS CAUFIELD BYERS, Internet Trends 2016 – Code Conference, 2016, http://www.kpcb.com/internet-trends [Consulta: Lunes, 13 de Junio de 2016]
Figura 1. Tendencias de Internet – Teléfonos inteligentes Android vs. iOS.
28
2.2.2 Smartphone
Un smartphone o teléfono inteligente es una evolución del teléfono móvil
tradicional que cuenta con ciertas características y prestaciones que lo acercan
más a un ordenador personal que a un teléfono tradicional17.
Entre dichas características, se puede encontrar una mejora en la capacidad de
proceso y almacenamiento de datos, conexión a Internet mediante Wi-Fi, pantalla
táctil, acelerómetro, localizador geográfico, teclado QWERTY y diversas
aplicaciones de usuario como navegador web, cliente de correo, aplicaciones
ofimáticas, reproductores de vídeo y audio, etc. incluyendo la posibilidad de
descargar e instalar otras nuevas.
2.2.3 Sistemas Operativos para dispositivos móviles
El sistema operativo que se ejecuta en un dispositivo móvil requiere de una gran
estabilidad y adaptabilidad a las limitaciones conocidas de memoria y
procesamiento de datos, proporcionando un óptimo rendimiento. Deben ser
testeados perfectamente antes de comercializarse en el equipo, el tema de
realizar actualizaciones o reinstalar mejores versiones del sistema para cubrir
fallos, son mucho más limitadas con respecto a los equipos de cómputo18.
De igual forma el sistema base de estos equipos, debe estar en capacidad de
racionalizar el uso de la batería para lograr el mayor aprovechamiento y tiempo de
17
SILVA Hoyos, David, Aplicación Móvil para Organización y Logística de Eventos y Conferencias, http://bibing.us.es/proyectos/abreproy/30214/fichero/01.Memoria%252F02.Estado+del+Arte.pdf [Consulta: Lunes, 01 de Abril de 2016]
18
ARANAZ TUDELA, Jaime, Desarrollo de Aplicaciones para Dispositivos Móviles sobre la Plataforma Android de Google, 2009, http://e-archivo.uc3m.es/bitstream/handle/10016/6506/PFC_Jaime_Aranaz_Tudela_2010116132629.pdf;jsessionid=E25D19A6B4D26A5101C9077A157C4C76?sequence=1 [Consulta: Miércoles, 30 de Marzo de 2016]
29
autonomía de estos terminales; aspectos como los mencionados deben ser
tenidos en cuenta a la hora de desarrollar un nuevo sistema operativo, en aras de
sacar el máximo provecho del equipo.
2.2.4 Plataforma Android
Como se dijo anteriormente, Android es un sistema operativo de código abierto
para dispositivos móviles, se programa principalmente en Java, y su núcleo está
basado en Linux.
Antiguamente los dispositivos empotrados sólo se podían programar a bajo nivel y
los programadores necesitaban entender completamente el hardware para el que
estaban programando. En la actualidad los sistemas operativos abstraen al
programador del hardware; Java ME abstrae completamente al programador del
hardware, pero las limitaciones impuestas por la máquina virtual le restringen
mucho su libertad a la hora de acceder al hardware del dispositivo. Esta situación
motivó la aparición de Android, cuya primera versión oficial (la 1.1) se publicó en
febrero de 2009. Esto coincidió con la proliferación de smartphones con pantallas
táctiles. Desde entonces han ido apareciendo versiones nuevas del sistema
operativo, desde la 1.5 llamada Cupcake y que se basaba en el núcleo de Linux
2.6.27, hasta la versión 4.0.x que está orientada a tablets y teléfonos móviles.
Cada versión del sistema operativo tiene un nombre inspirado en la repostería,
siguiendo un orden alfabético con respecto al resto de versiones de Android:
Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich,
Jelly Bean, Lollypop y Marshmallow19.
19
UNIVERSIDAD DE ALICANTE, Curso de Android y Java para Dispositivos Móviles, 2010, http://www.jtech.ua.es/apuntes/ajdm2010/sesiones/sesion09-apuntes.html [Consulta: Lunes, 01 de Abril de 2016]
30
Android - tanto el sistema operativo, como la plataforma de desarrollo - están
liberados bajo la licencia de Apache. Esta licencia permite a los fabricantes añadir
sus propias extensiones propietarias, sin tener que ponerlas en manos de la
comunidad de software libre. Al ser de open source, Android hace posible:
• Una gran comunidad de desarrollo, gracias a sus completas APIs y
documentación ofrecida.
• Desarrollo desde cualquier plataforma (Linux, Mac, Windows, etc.).
• Su uso en cualquier tipo de dispositivo móvil.
• Cualquier fabricante puede diseñar un dispositivo que trabaje con Android,
incluso adaptando o extendiendo el sistema para satisfacer las necesidades
de su dispositivo concreto.
• Los fabricantes de dispositivos se ahorran el coste de desarrollar un sistema
operativo completo desde cero.
• Los desarrolladores se ahorran tener que programar APIs, entornos gráficos,
aprender acceso a dispositivos hardware particulares, etc.
Android está formado por los siguientes componentes:
• Núcleo basado en el de Linux para el manejo de memoria, procesos y
hardware.
• Bibliotecas open source para el desarrollo de aplicaciones, incluyendo SQLite,
WebKit, OpenGL y manejador de medios.
• Entorno de ejecución para las aplicaciones Android. La máquina virtual Dalvik
y las bibliotecas específicas dan a las aplicaciones funcionalidades específicas
de Android20.
20
UNIVERSIDAD DE ALICANTE, Introducción a Android, 2013, https://moodle2013-14.ua.es/moodle/pluginfile.php/83565/mod_resource/content/1/smdm-02-apuntes-1.pdf [Consulta: Lunes, 01 de Abril de 2016]
31
• Un framework de desarrollo que pone a disposición de las aplicaciones los
servicios del sistema como el manejador de ventanas, de localización,
proveedores de contenidos, sensores y telefonía.
• SDK (kit de desarrollo de software) que incluye herramientas, plug-in para
Eclipse, emulador, ejemplos y documentación.
• Interfaz de usuario útil para pantallas táctiles y otros tipos de dispositivos de
entrada, como por ejemplo, teclado y trackball.
• Aplicaciones preinstaladas que hacen que el sistema operativo sea útil para el
usuario desde el primer momento. Cabe destacar que cuenta con las últimas
versiones de Flash Player.
• Muy importante es la existencia del Android Market, y más todavía la
presencia de una comunidad de desarrolladores que publican allí sus
aplicaciones. De cara al usuario, el verdadero valor del sistema operativo está
en las aplicaciones que se puede instalar.
El principal responsable del desarrollo de Android es la Open Handset Alliance, un
consorcio de varias compañías que tratan de definir y establecer una serie de
estándares abiertos para dispositivos móviles. El consorcio cuenta con decenas de
miembros que se pueden clasificar en varios tipos de empresas:
• Operadores de telefonía móvil.
• Fabricantes de dispositivos.
• Fabricantes de procesadores y microelectrónica.
• Compañías de software.
• Compañías de comercialización.
Por lo anterior no es correcto decir que Android es de Google Inc., aunque sí es
una de las empresas con mayor participación en el proyecto21.
21
UNIVERSIDAD DE ALICANTE, Introducción a Android, 2013, https://moodle2013-14.ua.es/moodle/pluginfile.php/83565/mod_resource/content/1/smdm-02-apuntes-1.pdf [Consulta: Lunes, 01 de Abril de 2016]
32
Uno de los aspectos más positivos de Android es su carácter de código abierto.
Gracias a él, tanto fabricantes como usuarios se ven beneficiados y tanto el
proceso de programación de dispositivos móviles como su fabricación se aceleran.
Otra consecuencia de que sea de código abierto es la mantenibilidad. Los
fabricantes que venden dispositivos con Android tienen el compromiso de que sus
aparatos funcionen, si de repente apareciera una falla, el fabricante, podría abrir el
código fuente, descubrir el problema y solucionarlo.
2.2.5 Aplicaciones Android
Las aplicaciones Android están compuestas por un conjunto heterogéneo de
componentes enlazados mediante un archivo llamado AndroidManifest.xml que los
describe e indica cómo interactúan. Este archivo también contiene meta
información acerca de la aplicación, como por ejemplo los requerimientos que
debe cumplir la plataforma sobre la que se ejecuta. Una aplicación Android estará
compuesta por los siguientes componentes (no necesariamente todos ellos):
• Actividades. Las actividades son la capa de presentación de la aplicación. Cada
pantalla a mostrar en la aplicación será una subclase de la clase Activity. Las
actividades hacen uso de componentes de tipo View para mostrar elementos de la
interfaz gráfica que permitan mostrar datos y reaccionar ante la entrada del
usuario.
• Servicios. Los servicios son componentes que se ejecutan en segundo plano en
la aplicación, ya sea actualizando fuentes de información, atendiendo a diversos
eventos, o activando la visualización de notificaciones en una actividad22. Se
utilizan para llevar a cabo procesamiento que debe ser realizado de manera
22
UNIVERSIDAD DE ALICANTE, Introducción a Android, 2013, https://moodle2013-14.ua.es/moodle/pluginfile.php/83565/mod_resource/content/1/smdm-02-apuntes-1.pdf [Consulta: Lunes, 01 de Abril de 2016]
33
regular, incluso en el caso en el que las actividades no sean visibles o ni siquiera
estén activas.
• Proveedores de contenidos. Permiten almacenar y compartir datos entre
aplicaciones. Los dispositivos Android incluyen de serie un conjunto de
proveedores de contenidos nativos que permiten acceder a datos del terminal,
como por ejemplo los contactos o el contenido multimedia.
• Intents. Los intents constituyen una plataforma para el paso de mensajes entre
aplicaciones (y también dentro de una misma aplicación). Emitiendo un intent al
sistema declara la intención de la aplicación para que se lleve a cabo una
determinada acción. El sistema será el encargado de decidir quién lleva a cabo las
acciones solicitadas.
• Receptores. Permiten a una aplicación hacerse cargo de determinadas acciones
solicitadas mediante intents. Los receptores iniciarán automáticamente la
aplicación para responder a un intent que se haya recibido, haciendo que sean
ideales para la creación de aplicaciones guiadas por eventos.
• Widgets. Se trata de componentes visuales que pueden ser añadidos a la
ventana principal de Android.
• Notificaciones. Las notificaciones permiten comunicarse con el usuario sin
necesidad de robar el foco de la aplicación activa actualmente o de interrumpir a la
actividad actual. Por ejemplo, cuando un dispositivo recibe un mensaje de texto,
avisa al usuario mediante luces, sonidos o mostrando algún icono23.
23
UNIVERSIDAD DE ALICANTE, Introducción a Android, 2013, https://moodle2013-14.ua.es/moodle/pluginfile.php/83565/mod_resource/content/1/smdm-02-apuntes-1.pdf [Consulta: Lunes, 01 de Abril de 2016]
34
2.2.6 Servicios Web
Un Servicio Web es una aplicación capaz de interactuar con distintas aplicaciones
sobre una red, bajo independencia de lenguaje de programación, o plataforma de
ejecución. La intención principal de este tipo de aplicaciones es lograr la
comunicación entre sistemas aun cuando estos no comparten características de
hardware ni de software.
A continuación se listan los tres estilos de usos más comunes de los servicios
web:
• Remote Procedure Calls (RPC, Llamadas a Procedimientos Remotos): Los
Servicios Web basados en RPC presentan una interfaz de llamada a
procedimientos y funciones distribuidas, lo cual es familiar a muchos
desarrolladores. Típicamente, la unidad básica de este tipo de servicios es la
operación WSDL (WSDL es un descriptor del Servicio Web, es decir, el homólogo
del IDL para COM). Las primeras herramientas para Servicios Web estaban
centradas en esta visión. Algunos lo llaman la primera generación de Servicios
Web. Esta es la razón por la que este estilo está muy extendido. Sin embargo, ha
sido algunas veces criticado por no ser débilmente acoplado, ya que suele ser
implementado por medio del mapeo de servicios directamente a funciones
específicas del lenguaje o llamadas a métodos. Muchos especialistas creen que
este estilo debe desaparecer24.
• Arquitectura Orientada a Servicios (Service-oriented Architecture, SOA). Los
Servicios Web pueden también ser implementados siguiendo los conceptos de la
arquitectura SOA, donde la unidad básica de comunicación es el mensaje, más
que la operación. Esto es típicamente referenciado como servicios orientados a
24
NAVARRO MARSET, Rafael, Rest vs. Web Services, 2006,
http://users.dsic.upv.es/~rnavarro/NewWeb/docs/RestVsWebServices.pdf [Consulta: Martes, 12 de Abril de 2016]
35
mensajes. Los Servicios Web basados en SOA son soportados por la mayor parte
de desarrolladores de software y analistas. Al contrario que los Servicios Web
basados en RPC, este estilo es débilmente acoplado, lo cual es preferible ya que
se centra en el “contrato” proporcionado por el documento WSDL, más que en los
detalles de implementación subyacentes.
• REST (REpresentation State Transfer). Los Servicios Web basados en REST
intentan emular al protocolo HTTP o protocolos similares mediante la restricción
de establecer la interfaz a un conjunto conocido de operaciones estándar (por
ejemplo GET, PUT,…). Por tanto, este estilo se centra más en interactuar con
recursos con estado, mensajes y operaciones25.
2.2.6.1 Clasificación de los Servicios Web
Se dividen en dos grandes grupos:
2.2.6.1.1 Servicios Web Grandes
Funcionan bajo el protocolo denominado SOAP (Simple Object Access Protocol),
el cual posibilita la comunicación mediante el intercambio de mensajes XML
(Extensible Markup Language) muy estructurados. Este tipo de servicios web
permite mantener estados en el servidor, de manera que favorece la realización de
operaciones complejas, aunque los Servicios Web basados en SOAP son
bastante complicados de manejar26.
25
NAVARRO MARSET, Rafael, Rest vs. Web Services, 2006,
http://users.dsic.upv.es/~rnavarro/NewWeb/docs/RestVsWebServices.pdf [Consulta: Martes, 12 de Abril de 2016] 26
CAMBERA, Juan, Composición de Servicios Web para Aplicaciones Móviles Geolocalizadas, 2009, http://159.90.80.55/tesis/000145384.pdf [Consulta: Martes, 12 de Abril de 2016]
36
SOAP en la mayoría de los casos, usa el protocolo de la capa de aplicación de
internet, HTTP, como protocolo de capa de transporte, ya que éste permite la
comunicación entre ordenadores aún bajo presencia de firewalls. Existe también la
posibilidad de usar el protocolo HTTPS en sustitución de HTTP, esto garantiza
hasta cierto punto la transferencia segura de información. Este tipo de sistemas
cuentan con dos elementos importantes:
a) Documentos WSDL (Web Services Description Language). Que describen
mediante una gramática entendible por los clientes, las operaciones que
implementan los servicios, sus capacidades, y los requisitos de protocolo y
formatos necesarios para la interacción con los mismos.
b) El directorio UDDI (Universal Description, Discovery and Integration).
Mecanismo estándar de publicación de servicios web, en el cual se puede buscar
los mismos por diferentes categorías, y a la vez obtener información referente al
proveedor del servicio, y el servicio en si mediante el documento WSDL.
2.2.6.1.2 Servicios REST (Representational State Transfer)
Hacen énfasis en los recursos del sistema, los cuales son accedidos mediante un
direccionamiento global URI sobre el protocolo de aplicación HTTP, sin necesidad
de capas adicionales. Esto hace que estos servicios web sean accedidos
prácticamente igual que como se accede a una página web desde un navegador.
Por otro lado las respuestas de los mismos vienen dadas principalmente en
documentos del tipo XML y JSON27.
27
CAMBERA, Juan, Composición de Servicios Web para Aplicaciones Móviles Geolocalizadas, 2009, http://159.90.80.55/tesis/000145384.pdf [Consulta: Martes, 12 de Abril de 2016]
37
Los Servicios Web REST se caracterizan por no seguir las pistas de las sesiones
individuales de los clientes, en otras palabras el servidor de los mismos es del tipo
sin estados. Esta misión por su parte es delegada al cliente, quien debe saber
cómo navegar de recurso a recurso. Este factor contribuye enormemente con el
rendimiento y la escalabilidad del sistema, las cuales son características
definitivamente deseables en los mismos, e imprescindible para sistemas que
manejan muchos recursos.
Aunque los Servicios Web REST predominan enormemente en el mercado, existe
mucha discusión acerca de cuál arquitectura es mejor. Las conclusiones más
equilibradas afirma que no se puede declarar una superioridad absoluta de un
enfoque sobre el otro, sino que está dependerá de las características de los
servicios al que se quiera acceder.
2.2.6.2 Composición de Servicios Web
La idea de la composición de los servicios Web es simple. Los servicios Web se
encuentran comúnmente prestados en internet para la ejecución de una tarea
simple en interacción directa con un usuario. En la composición de servicios web
son los propios servicios que interactúan entre sí con la finalidad de construir un
nuevo servicio. Existen dos formas de composición en los servicios web: la
coreografía, y la orquestación.
- La orquestación por orquestación: Hace énfasis en los servicios web como
procesos ejecutables, privados y controlados por un único participante, el
director.
38
- La orquestación por coreografía: Se centra en la comunicación directa entre
los procesos centrándose en los mensajes públicos existentes entre las
diferentes partes del colaborativo28.
2.2.7 Formatos de Intercambio de Datos
Los sistemas necesitan formatos robustos, que permitan transmitir y compartir
información más compleja entre sistemas diferentes, con estructuras jerárquicas y
atributos variables pero a su vez fáciles de leer por un humano. El universo de
servicios disponibles hoy en día en Internet es tan inmenso como heterogéneo y
muchos de ellos comparten información entre sí, gracias a los formatos de
representación de información. XML, JSON y YAML son los estándares29.
2.2.7.1 XML
Extensible Markup Language o un Lenguaje de Etiquetado Extensible es un
formato de texto simple, muy flexible derivado de SGML, originalmente diseñado para
cumplir con los retos de la publicación electrónica a gran escala, XML también
está desempeñando un papel cada vez más importante en el intercambio de una
amplia variedad de datos en la web y en otros lugares. Es un lenguaje muy similar
a HTML pero su función principal es describir datos y no mostrarlos como es el
caso de HTML.
La primera definición de XML fue la de "Sistema para definir, validar y compartir
formatos de documentos en la Web", aún hoy la definición que se tiene es que,
XML es un formato que permite la lectura de datos a través de diferentes
aplicaciones.
28
CAMBERA, Juan, Composición de Servicios Web para Aplicaciones Móviles Geolocalizadas, 2009, http://159.90.80.55/tesis/000145384.pdf [Consulta: Martes, 12 de Abril de 2016] 29
ARCOS, Eduardo, XML, JSON y YAML: Formatos para Intercambiar Información, 2014, https://hipertextual.com/archivo/2014/05/xml-json-yaml/ [Consulta: Martes 12 de Abril de 2016]
39
XML permite jerarquizar y estructurar la información y describir los contenidos
dentro del propio documento, así como la reutilización de partes del mismo. La
información estructurada presenta varios contenidos (texto, imágenes, audio, etc.)
y formas: hojas de cálculo, tablas de datos, libretas de direcciones, parámetros de
configuración, dibujos técnicos, etc.
Las tecnologías XML son un conjunto de módulos que ofrecen servicios útiles a
las demandas más frecuentes por parte de los usuarios. XML sirve para
estructurar, almacenar e intercambiar información.
2.2.7.2 JSON
JavaScript Object Notation - Notación de Objetos de JavaScript es un formato
ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos,
mientras que para las máquinas es simple interpretarlo y generarlo. Está basado
en un subconjunto del Lenguaje de Programación JavaScript,Standard ECMA-262
3rd Edition - Diciembre 1999. JSON es un formato de texto que es completamente
independiente del lenguaje pero utiliza convenciones que son ampliamente
conocidos por los programadores de la familia de lenguajes C, incluyendo C, C++,
C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen que
JSON sea un lenguaje ideal para el intercambio de datos. Es ampliamente usado
para intercambio de información entre servicios web y APIs REST. Su simplicidad
y facilidad de implementación le otorgan un gran desempeño y lo convierten en
una de las alternativas ideales al momento de reemplazar XML30.
JSON está constituido por dos estructuras:
Una colección de pares de nombre/valor. En varios lenguajes esto es
conocido como un objeto, registro, estructura, diccionario, tabla hash, lista
de claves o un arreglo asociativo.
30
ARCOS, Eduardo, XML, JSON y YAML: Formatos para Intercambiar Información, 2014,
https://hipertextual.com/archivo/2014/05/xml-json-yaml/ [Consulta: Martes 12 de Abril de 2016]
40
Una lista ordenada de valores. En la mayoría de los lenguajes, esto se
implementa como arreglos, vectores, listas o secuencias.
Estas son estructuras universales; virtualmente todos los lenguajes de
programación las soportan de una forma u otra.
2.2.7.3 YAML
Es otro formato para el intercambio de información que tiene como objetivo facilitar
el mapeo de estructuras de datos más complejas (como listas y arreglos
asociativos) en un documento de texto plano legible para un ser humano. Si bien
es un formato joven, sus características le han hecho ganarse un lugar importante
en la web, junto con XML y JSON.
La simplicidad también le otorga velocidad pero, a diferencia del JSON, no es
usado para servicios web o APIs REST sino para archivos de configuración,
depuración u otros fines en los que la facilidad de lectura juega un rol importante.
Es más estricto que los anteriores pero también más simple. Estas características
le otorgan elegancia y claridad, haciéndolo ideal para tareas que involucren
intervención de un humano31.
2.3 Factibilidad de Desarrollo y Métodos
2.3.1 Factibilidad de Desarrollo
La factibilidad económica del proyecto fue alta, teniendo en cuenta que en
términos financieros necesitamos mínimo dos equipos de trabajo, asesorías del
tutor del proyecto, acceso a Internet y papelería para realizar el modelado del
proyecto.
31
ARCOS, Eduardo, XML, JSON y YAML: Formatos para Intercambiar Información, 2014, https://hipertextual.com/archivo/2014/05/xml-json-yaml/ [Consulta: Martes 12 de Abril de 2016]
41
En las tablas que se presentan a continuación se describe los costos,
identificando los costos de papelería, hardware, software y recursos humanos.
2.3.1.1 Factibilidad Económica – Recurso Humano.
Tabla 1 Factibilidad Económica Recursos Humanos
Tipo Descripción Valor
Unitario Cantidad Total
Tutor 1 Asesorías para la realización del proyecto, referente a la metodología.
$ 2.500.000 2 $ 5.000.000
Desarrolladores Dos programadores que realicen la implementación de la solución (Desempeñan roles de Analistas y Desarrolladores).
$ 2.000.000 2 $ 4.000.000
Total Recursos Humanos $ 9.000.000
2.3.1.2 Factibilidad Económica – Recursos Técnicos.
Tabla 2 Factibilidad Económica Recursos Técnicos
Recurso Descripción Valor Unitario
Cantidad Total
Computadores (Servidor - clientes)
Equipos de escritorio para el desarrollo y las pruebas del sistema.
$ 1.500.000 4 $ 6.000.000
Total Recursos Técnicos $ 6.000.000
2.3.1.3 Factibilidad Económica – Costo Total.
Tabla 3 Factibilidad Económica Costo Total
Recurso Valor
Total Recursos Humanos $ 9.000.000
Total Recursos Técnicos $ 6.000.000
Total Otros recursos $ 50.000
Costos imprevistos (10%) $ 1.500.005
TOTAL COSTO $16.550.005
42
2.3.1.4 Factibilidad Legal
Licencia de software
El desarrollo de la aplicación se completará aplicando una licencia sobre el
software como es debido, la cual será la licencia Freeware32, el cual se usa
comúnmente para programas que permiten la redistribución pero no la
modificación es decir su código fuente no está disponible.
2.3.2 Metodología
Una metodología de desarrollo de software se refiere al entorno que se usa para
estructurar, planificar y controlar el proceso de desarrollo de un sistema de
información. Una gran variedad de metodologías se han desarrollado a lo largo de
los años, cada una de ellas con sus fortalezas y debilidades. Una determinada
metodología no es necesariamente aplicable a todo tipo de proyectos, más bien
cada tipo de proyecto tiene una metodología a la que se adapta mejor.
Una metodología de desarrollo de software consiste en:
- Una filosofía de desarrollo de software con una base de procesos de
desarrollo de software
- Múltiples herramientas, modelos y métodos, para asistir en el proceso de
desarrollo de software.
- Suele estar documentada y alguna clase de documentación formal.
- Suele estar promovida por algún tipo de organización ya sea esta pública o
privada que es la que se encarga de promover esta metodología.
32
GÓMEZ LABRADOR, Ramón, Tipos de Licencias de Software, 2005, http://www.informatica.us.es/~ramon/articulos/LicenciasSoftware.pdf [Consulta: Miércoles, 20 de Abril de 2016]
43
2.3.2.1 Metodología OPENUP/OAS
El método de desarrollo OPENUP/OAS, es el marco de trabajo institucional en el
análisis, diseño, desarrollo e implementación de productos de software al interior
de la Universidad. A continuación se describen sus principales directrices y
fundamentos.
El proceso OPENUP/OAS es un método de trabajo que involucra un conjunto
mínimo de prácticas tendientes a guiar a un equipo de trabajo pequeño en el
análisis, diseño, desarrollo y despliegue de un producto de software. Los objetivos
que persiguen son:
● Promover la colaboración y compartir conocimientos alineando intereses del
equipo de trabajo y los usuarios.
● Ayudar al equipo a enfocarse en la arquitectura de forma rápida; de tal
forma que se minimicen los riesgos y se organice el desarrollo.
● Ayudar al equipo a balancear prioridades en conflicto para maximizar el
valor obtenido por los interesados en el proyecto.
● Ayudar al equipo en la evolución continua del producto para obtener
retroalimentación continua y fomentar el mejoramiento.
● Permitir a los administradores del proyecto realizar seguimientos a las
avances basados en metas e indicadores
● Permitir que los integrantes del equipo entiendan rápidamente como
realizar el trabajo para alcanzar los objetivos y metas proyectadas33.
33
OFICINA ASESORA DE SISTEMAS UNIVERSIDAD DISTRITAL, Proceso de Desarrollo OPENUP/OAS, 2011, https://portalws.udistrital.edu.co/CIT/documentos/NORMATIVIDAD/openupoas/archivos/GuiaRapidaOpenUPOAS.pdf [Consulta: Viernes, 15 de Enero de 2016]
44
El OPENUP/OAS es un proceso iterativo e incremental que se distribuyen a través
de cuatro fases: Inicio, Elaboración, Construcción y Transición. En las cuales se
desarrollan transversalmente una serie de subprocesos entendiéndose estos
últimos como un conjunto de actividades, personas (Roles), prácticas (Guías) y
productos de trabajo (Artefactos) que orientan el desarrollo de software a través
del tiempo.
Cada fase puede tener tantas iteraciones como se requiera, dependiendo del
grado de complejidad y desconocimiento del dominio, la tecnología a ser usada, la
complejidad arquitectónica y el tamaño del proyecto, por nombrar algunos
factores34.
34
OFICINA ASESORA DE SISTEMAS UNIVERSIDAD DISTRITAL, Proceso de Desarrollo
OPENUP/OAS, 2011, https://portalws.udistrital.edu.co/CIT/documentos/NORMATIVIDAD/openupoas/archivos/GuiaRapidaOpenUPOAS.pdf [Consulta: Viernes, 15 de Enero de 2016]
Figura 2 - Método de Trabajo OnpeUp/OAS
45
2.3.2.2 Fases del Proceso OPENUP/OAS
Fase de Inicio: Primera fase del proceso, donde los interesados y los integrantes
del equipo de desarrollo, colaboran para determinar el ámbito del proyecto, sus
objetivos y determinar si el proyecto es viable. Al final de esta fase, como mínimo,
el proyecto:
● Ha definido el ámbito.
● Tiene un estimado inicial de los costos y el cronograma.
● Ha definido y priorizado un conjunto inicial de requerimientos funcionales y
no funcionales.
● Ha identificado un conjunto de riesgos y haya propuesto las estrategias de
mitigación.
● Ha identificado un conjunto de interesados.
● Ha creado un bosquejo de arquitectura.
Fase de Elaboración: La segunda fase dentro del ciclo de vida del proyecto. En
ella los riesgos significativos que influyen en la arquitectura son identificados y
considerados. En esta fase:
● Se obtiene un entendimiento más detallado de los requerimientos y
requisitos
● Se diseña, implementa válida y establece la línea base de la arquitectura.
● Se mitigan los riesgos esenciales.
● Se produce un cronograma detallado.
● Se realiza una mejor estimación de costos35.
35
OFICINA ASESORA DE SISTEMAS UNIVERSIDAD DISTRITAL, Proceso de Desarrollo OPENUP/OAS, 2011, https://portalws.udistrital.edu.co/CIT/documentos/NORMATIVIDAD/openupoas/archivos/GuiaRapidaOpenUPOAS.pdf [Consulta: Viernes, 15 de Enero de 2016]
46
Fase de Construcción: Esta es la tercera fase del proceso, se enfoca en detallar
los requisitos y requerimientos, diseñar, implementar y probar el grueso del
software y completar el desarrollo del sistema basado en la arquitectura, se
describen los requisitos y requerimientos restantes, se completan en detalle los
diseños, la implementación y las pruebas del software. Se libera la primera versión
operativa del software (beta) del sistema. Las actividades de esta fase son:
Planificación y gestión de la iteración
Identificar y refinar requisitos y requerimientos
Desarrollar un incremento de solución
Probar la solución construida
Fase de Transición: Es la cuarta fase del proceso. Se enfoca en la transición del
producto de software a la plataforma tecnológica del cliente logrando que los
interesados convengan que el desarrollo del producto cumple con los
requerimientos planteados. Los objetivos de esta fase son lograr:
● La prueba beta valida que satisfaga las expectativas del usuario. Esto
típicamente requiere algunas actividades de afinamiento, tales como
depuración de errores y mejora del desempeño y la usabilidad.
● El consentimiento de los interesados en que el desarrollo está completo.
Esto puede involucrar varios niveles de pruebas para la aceptación del
producto, incluyendo pruebas formales e informales y pruebas beta.
● Mejorar el desempeño en futuros proyectos a través de lecciones
aprendidas.
● Documentar las lecciones aprendidas y mejorar el ambiente de los
procesos y las Herramientas para el proyecto36.
36
OFICINA ASESORA DE SISTEMAS UNIVERSIDAD DISTRITAL, Proceso de Desarrollo OPENUP/OAS, 2011, https://portalws.udistrital.edu.co/CIT/documentos/NORMATIVIDAD/openupoas/archivos/GuiaRapidaOpenUPOAS.pdf [Consulta: Viernes, 15 de Enero de 2016]
47
2.4 Cronograma de Actividades
Figura 3 - Fase de Inicio
Figura 4 - Fase de Colaboración
Figura 5 - Fase de Construcción
48
Figura 6 - Fase de Transición
49
FASE III – CONSTRUCCIÓN.
Este capítulo propone, diseña y desarrolla una arquitectura sencilla como solución
a las necesidades manifestadas por la Oficina Asesora de Sistemas de la
Universidad Distrital Francisco José de Caldas y se documenta los aspectos
relevantes que se tuvieron en cuenta para obtener el producto final entregado.
3. DESARROLLO DEL PROYECTO
Atendiendo las necesidades manifiestas por el Jefe de la Oficina Asesora de
Sistemas de la Universidad Distrital Francisco José de Caldas, se procede a
realizar el desarrollo del presente proyecto y para ello se aplica la temática vista
en análisis de sistemas e ingeniería de software obteniendo los siguientes
resultados.
3.1 Arquitectura
La arquitectura de software adaptada en este proyecto está basada principalmente
en la Arquitectura Orientada a Servicios (SOA)37; como se puede observar en la
Figura 7, se tiene un Servidor central o de servicio que es el encargado de repartir
los servicios web para llevarlos hasta el cliente por medio de conexiones que se
realizan mediante petición – respuesta en aplicaciones sincrónicas y asincrónicas.
El requisito no funcional más favorecido es la escalabilidad.
A continuación se muestra un diagrama con la arquitectura general de sistema:
37
INTELIGENCIA DE NEGOCIO, Arquitectura Orientada a Servicios (SOA), 2015, https://ingenieriadelsoftwareuah2015.wordpress.com/2015/03/22/arquitectura-orientada-a-servicios-soa/ [Consultada: Lunes, 29 de Febrero de 2016]
50
Figura 7 - Arquitectura del Sistema Solución
Adapter38, corresponde al patrón de diseño implementado porque dentro de sus
funcionalidades encontramos la de permitir la comunicación entre una o varias
clases incompatibles con el resto de las clases que quieren utilizar su
funcionalidad, factor indispensable en la forma como quedo la programación final
de la solución.
3.2 Herramientas de Software Utilizadas
De acuerdo a las condiciones dadas por la Oficina Asesora de Sistemas, se
analizó entre un abanico de opciones llegando a la conclusión de aplicar las
descritas en la siguiente tabla:
38
GIL GALA, Francisco, Qué es el patrón de diseño Adapter, 2015, http://rootear.com/desarrollo/patron-adapter [Consulta: Lunes, 29 de Febrero de 2016]
51
Tabla 4. Herramientas de Software Utilizadas
Lenguaje y/o Herramienta
Características
ANDROID STUDIO
Es una plataforma estándar para el desarrollo de aplicaciones.
Como sistema operativo, abarca un gran tipo de dispositivos móviles como smartphones y tablets.
Se puede ahorrar demasiadas líneas de código.
Está basado en lenguaje de programación java.
Se ha convertido en una excelente opción para los desarrollos de software para equipos móviles, toda vez que se puede desarrollar desde un PC y luego ser pasado fácilmente al dispositivo móvil.
PHP
Es un lenguaje de programación fácil de aprender y potente.
Es bastante dinámico, orientado a objetos, que se puede utilizar para muchos tipos de desarrollo de software.
Funciona en Windows, Linux / Unix, Mac OSx, computadoras de mano Palm.
Código 100% libre. Es un lenguaje interpretado y multiplataforma.
MYSQL
MySQL es un software Open Source. Velocidad al realizar las operaciones, lo que
le hace uno de los gestores con mejor rendimiento.
Bajo costo en requerimientos para la elaboración de bases de datos, debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.
Facilidad de configuración e instalación. Soporta gran variedad de Sistemas Operativos.
Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que está.
Su conectividad, velocidad y seguridad hacen de MySQL Server altamente apropiado para
52
acceder bases de datos en Internet.
DRAW.IO
Aplicación basada en web construida en la diagramación mxGraph, que se integra con Google Drive, OneDrive y Dropbox.
Se instala en forma gratuita como una extensión del navegador Google Chrome.
Soporta varios tipos de diagramas UML y también diagramas orientados a aplicaciones móviles
El desarrollo de este sistema permitió profundizar sobre algunas de las
características que ofrece Android, las cuales fueron necesarias para obtener esta
aplicación, ellas son:
Uso de componentes Activity.
Uso de componentes Fragment.
Solicitudes a través de Intents.
Muestreo de datos a través de Json y Volley.
Comunicaciones por HTTP.
Uso de Servicios Web.
Composición del archivo AndroidManifest.xml
Declaración y uso de recursos externos.
Gestión de opciones de menú.
3.3 Requerimientos Funcionales
Para capturar los requerimientos y requisitos de este proyecto se hizo necesario
realizar reuniones de trabajo lideradas por el Ingeniero Fausto Puerto, quien es el
funcionario responsable de brindar asesoría estratégica a los pasantes y en
algunos casos se contó con el acompañamiento del Ingeniero Milton Parra quien
administra la plataforma Cóndor. Siendo puntuales con las necesidades que
manifestaron se obtuvieron los siguientes requerimientos:
53
Tabla 5. Requerimiento Funcional Ingreso de Usuarios
Nombre Requerimiento: Ingreso Usuarios ID Requerimiento: RF-001
Entradas: Usuario y Contraseña. Salidas: El usuario ingresa al sistema.
El usuario recibe mensaje de error. Prerrequisito: No aplica
Opciones: Ingresar, Cancelar Restricciones: Los dos campos son obligatorios.
El usuario debe estar creado en el sistema. Descripción del proceso
El usuario ingresa al sistema mediante autenticación, usuario y contraseña, el sistema valida si los datos están correctos; si están errados presenta en la pantalla un mensaje de error, si el usuario realiza tres (3) intentos fallidos de ingreso, el sistema bloqueará el usuario por un periodo de 30 minutos; si son válidos ingresa a la aplicación y se activan las formas y opciones asignadas según el perfil. Prioridad Alta/Esencial Media/Deseado Baja/Opcional
Tabla 6. Requerimiento Funcional Consulta de Datos Personales
Nombre Requerimiento: Consulta de Datos Personales ID Requerimiento: RF-002
Entradas: Selección del Menú Datos Personales. Salidas: El usuario visualiza sus datos personales en
la pantalla. El usuario recibe mensaje de error.
Prerrequisito: No aplica Opciones: Ver, Cancelar Restricciones: El usuario debe elegir la opción desde el
menú. El usuario debe tener permiso de ver la información.
Descripción del proceso
El usuario elige la opción Hoja de Vida desde el menú, el sistema valida si el usuario tiene permisos para visualizar la información solicitada; si no tiene acceso a dicha información, se presenta en la pantalla un mensaje de error, si tiene permisos ingresa al panel que mostrará su información personal, así: Nombre, Tipo de Identificación, Número de Identificación, Proyecto Curricular, Número de Acuerdo, Correo electrónico, Tipo de sangre y RH. Prioridad Alta/Esencial Media/Deseado Baja/Opcional
54
Tabla 7. Requerimiento Funcional Consulta de Horario
Nombre Requerimiento: Consulta de Horario ID Requerimiento: RF-003
Entradas: Selección del Menú Horario.
Salidas: El usuario visualiza su horario asignado para el semestre en curso. El usuario recibe mensaje de advertencia o error.
Prerrequisito: No aplica Opciones: Ver, Cancelar Restricciones: El usuario debe elegir la opción desde el
menú. El usuario debe tener un horario de clases asignado. El usuario debe tener permiso de ver la información.
Descripción del proceso
El usuario elige la opción Horario desde el menú, el sistema valida si el usuario tiene permisos para visualizar la información solicitada y si tiene un horario asignado; si no tiene acceso a dicha información, se presenta en la pantalla un mensaje de error; si no tiene un horario asignado, se muestra en la pantalla un mensaje de advertencia; si tiene permisos y un horario establecido, ingresa al panel que mostrará su horario académico para el semestre en curso, así: Nombre asignatura, Número de Grupo, Nombre del Docente y Horario (Día, Hora, Sede y Salón asignado). Prioridad Alta/Esencial Media/Deseado Baja/Opcional
Tabla 8. Requerimiento Funcional Consulta de Notas
Nombre Requerimiento: Consulta de Notas ID Requerimiento: RF-004
Entradas: Selección del Menú Notas. Salidas: El usuario visualiza las notas obtenidas
durante el semestre en curso en la pantalla. El usuario recibe mensaje de error.
Prerrequisito: No aplica Opciones: Ver, Descargar, Cancelar
Restricciones: El usuario debe elegir la opción desde el menú. El usuario debe tener permiso de ver la información.
Descripción del proceso
El usuario elige la opción Notas desde el menú, el sistema valida si el usuario tiene permisos para visualizar la información solicitada; si no tiene acceso a dicha información, se presenta en la pantalla un mensaje de error, si tiene permisos ingresa al panel que mostrará sus notas, así: Promedio General, Nombre Asignatura, Acumulado
55
en el semestre. Si el reporte se genera al final del semestre mostrará la nota final de cada asignatura. Prioridad Alta/Esencial Media/Deseado Baja/Opcional
Tabla 9. Requerimiento Funcional Impresión de Horario
Nombre Requerimiento: Impresión de Horario ID Requerimiento: RF-005
Entradas: Selección dentro del Menú Horario. Salidas: El usuario visualiza el horario del semestre en
curso en un archivo formato .pdf que puede almacenar en su dispositivo.
Prerrequisito: No aplica Opciones: Ver, Descargar, Cancelar Restricciones: El usuario debe elegir la opción dentro del
menú Horario. Descripción del proceso
El usuario elige la opción Imprimir Horario dentro del menú Horario, el sistema genera un reporte digital, que el estudiante tendrá la opción de visualizarlo y/o descargarlo localmente en su dispositivo. Dicho reporte imprimirá su Horario, así: Nombre asignatura, Número de Grupo, Nombre del Docente y Horario (Día, Hora, Sede y Salón asignado). Prioridad Alta/Esencial Media/Deseado Baja/Opcional
Tabla 10. Requerimiento Funcional Impresión de Notas
Nombre Requerimiento: Impresión de Notas
ID Requerimiento: RF-006
Entradas: Selección dentro del Menú Notas. Salidas: El usuario visualiza las notas obtenidas
durante el semestre en curso, en un archivo formato .pdf que puede almacenar en su dispositivo.
Prerrequisito: No aplica
Opciones: Ver, Descargar, Cancelar Restricciones: El usuario debe elegir la opción dentro del
menú Notas. Descripción del proceso
El usuario elige la opción Imprimir Notas dentro del menú Notas, el sistema genera un reporte digital, que el estudiante tendrá la opción de visualizarlo y/o descargarlo localmente en su dispositivo. Dicho reporte imprimirá sus notas, así: Promedio General, Nombre Asignatura, Acumulado en el semestre. Si el reporte se genera al final del semestre mostrará la nota final de cada asignatura. Prioridad Alta/Esencial Media/Deseado Baja/Opcional
56
3.4 Requerimientos No Funcionales
Estos requerimientos se obtuvieron a partir de una lluvia de ideas con los
Ingenieros Fausto Puerto y Milton Parra, el último de los nombrados por su cargo
como administrador de la plataforma Cóndor, es quien conoce de primera mano lo
que esperan los usuarios finales de un producto de software alternativo al sistema
de gestión académica y a la vez conoce la arquitectura de la base de datos
académica. El resultado se plasmó en la siguiente tabla:
Tabla 11. Requerimientos no funcionales
3.5 Definición de Actores
A continuación se presenta la descripción del actor que tendrá interacción con la
aplicación.
No. Descripción Prioridad Exigencia
RNF-001
La interfaz de usuario debe ser amigable, el manejo de la aplicación debe ser a través de equipos inteligentes con sistema operativo Android.
Baja
Deseada
RNF-002
El sistema se conectará a la base de datos por medio de Servicios Web.
Alta
Esencial
RNF-003
La aplicación se desarrollará utilizando lenguajes de código abierto.
Alta
Esencial
RNF-004
El sistema permitirá el ingreso al sistema solo a usuarios registrados.
Alta
Esencial
RNF-005
La aplicación debe permitir a futuro, el desarrollo de nuevas funcionalidades.
Alta
Esencial
RNF-006
La aplicación debe ser intuitiva y de fácil manejo para los estudiantes.
Alta
Esencial
RNF-007
La aplicación debe ser adaptable de forma tal que sea un componente de un software más robusto.
Alta
Esencial
57
Estudiante
El actor Estudiante es quien interactúa directamente previo condicionamiento de
tener su respectivo usuario y contraseña para registrarse en la aplicación y quien
estará en capacidad de consultar la información presentada en la interfaz.
3.6 Listado de Casos de Uso
Iniciar Sesión
Consultar Datos Personales
Consultar Horario
Consultar Notas
Cerrar Sesión
3.6.1 Documentación de los Casos de Uso
Tabla 12. Caso de Uso Iniciar Sesión
Nombre Iniciar Sesión
Código NER-01
Estado Exploración: 01
Descripción El proceso de ingreso al sistema, permite a un usuario utilizar la aplicación NEREO en un dispositivo móvil: tableta o teléfono inteligente (smartphone).
Actor(es) Estudiantes.
Precondición El actor debe ser un usuario validado que pueda acceder al Sistema Cóndor.
El Usuario debe tener instalada la aplicación en su teléfono móvil o tableta.
Escenario Básico
1. El usuario digita sus datos de autenticación (usuario y contraseña).
2. El sistema valida si el usuario existe y los datos de logueo son correctos.
58
Escenarios Alternativos
Flujos Alternativos
El sistema detecta fallos en los datos de usuario y contraseña y solicita digitar nuevamente los datos de acceso.
Postcondición El sistema permite ingresar a la aplicación y presenta el menú de posibilidades a las que puede acceder el usuario.
Tabla 13. Caso de Uso Consultar Datos Personales
Nombre Consultar Datos Personales
Código NER-02
Estado Exploración: 01
Descripción El proceso de consultar la Hoja de Vida, permite a un usuario visualizar sus datos personales en la pantalla de su dispositivo móvil desde la aplicación móvil NEREO.
Actor(es) Estudiantes
Precondición El usuario debe tener una sesión iniciada en la aplicación NEREO. El actor debe elegir la opción Datos Personales desde el menú.
Escenario Básico
1. El usuario despliega el menú de opciones. 2. El sistema presenta un formulario donde se muestran los datos
personales correspondientes al usuario que inició sesión previamente.
Escenarios Alternativos
Flujos Alternativos
Excepción 2.0 Si el sistema no muestra automáticamente la información personal asociada al usuario que inició sesión, se muestra un mensaje de advertencia en pantalla, alusivo a la falla que pueda estar ocurriendo.
Postcondición La aplicación presenta el menú de posibilidades a las que puede acceder el usuario.
59
Tabla 14. Caso de Uso Consultar Horario
Nombre Consultar Horario
Código NER-03
Estado Exploración: 01
Descripción El proceso de consultar los horarios de clase del semestre en curso, permite a un usuario visualizar sus clases programadas diariamente, en la pantalla de su dispositivo móvil desde la aplicación móvil NEREO.
Actor(es) Estudiantes.
Precondición El actor debe tener una sesión iniciada en la aplicación Nereo. El usuario debe elegir la opción Horario desde el menú.
Escenario Básico
1. La aplicación muestra un formulario con el listado de días en que tiene programado mínimo una clase.
2. El usuario elige el día del que quiere ver su(s) clase(s). 3. El sistema despliega un formulario adicional donde se visualiza la
programación de las clases del día elegido correspondientes al usuario que inició sesión previamente.
Escenarios Alternativos
Flujos Alternativos
3. El usuario selecciona el botón Generar Horario. 4. El sistema genera un archivo digital en formato .pdf, que puede ser almacenado localmente en el dispositivo móvil.
Excepción 3.0 Si el sistema no muestra automáticamente la programación de clases asociada al usuario que inició sesión, se muestra un mensaje de advertencia en pantalla, alusivo a la falla que pueda estar ocurriendo.
Excepción 3.1 Si el sistema no genera el archivo en formato .pdf cuando el usuario lo solicita, debe mostrar un mensaje en pantalla que detalla la falla presentada.
Postcondición La aplicación presenta el menú de posibilidades a las que puede acceder el usuario.
60
Tabla 15. Caso de Uso Consultar Notas
Nombre Consultar Notas
Código NER-04
Estado Exploración: 01
Descripción El proceso de consultar las notas, permite a un usuario observar en la pantalla de su dispositivo móvil desde la aplicación NEREO, sus calificaciones obtenidas durante el semestre.
Actor(es) Estudiantes
Precondición El actor debe tener una sesión iniciada en la aplicación Nereo. El usuario debe elegir la opción Notas desde el menú.
Escenario Básico
1. El usuario selecciona la opción Notas desde el menú de opciones. 2. El sistema despliega un formulario donde se visualiza las
asignaturas que está cursando el usuario que inició sesión previamente, con el acumulado y la nota definitiva.
Escenarios Alternativos
Flujos Alternativos
3. El usuario selecciona el botón Generar Reporte. 4. El sistema genera un archivo digital en formato .pdf, que puede ser almacenado localmente en el dispositivo móvil.
Excepción 4.0 Si el sistema no muestra automáticamente las calificaciones asociada al usuario que inició sesión, se muestra un mensaje de advertencia en pantalla, alusivo a la falla que pueda estar ocurriendo. Excepción 4.1 Si el sistema no genera el archivo en formato .pdf cuando el usuario lo solicita, debe mostrar un mensaje en pantalla que detalla la falla presentada.
Postcondición La aplicación presenta el menú de posibilidades a las que puede acceder el usuario.
61
Tabla 16. Caso de Uso Cerrar Sesión
Nombre Cerrar Sesión
Código NER-05
Estado Exploración: 01
Descripción El proceso de cerrar sesión permite a un usuario salir de la aplicación NEREO de una manera segura, en aras de proteger sus datos; esto desde un dispositivo móvil: tableta o teléfono inteligente (smartphone).
Actor(es) Estudiantes.
Precondición El actor debe tener una sesión iniciada en la aplicación NEREO.
Escenario Básico
3. El usuario elige la opción Cerrar Sesión desde el menú de opciones.
4. El sistema cierra la aplicación y queda en la pantalla de presentación del dispositivo móvil.
Escenarios Alternativos
Flujos Alternativos
EEE
El
Postcondición El sistema cierra totalmente la aplicación.
3.6.2 Diagramas de Casos de Uso
Figura 8 - Caso de Uso Iniciar Sesión
62
.
Figura 9 - Caso de Uso Consultar Datos Personales
Figura 10 - Caso de Uso Consultar Horario
63
Figura 11 - Caso de Uso Consultar Notas
Figura 12 - Caso de Uso Cerrar Sesión
64
3.7 Diagramas de Secuencias
Figura 13 - Diagrama de Secuencia Iniciar Sesión
Figura 14 - Diagrama de Secuencia Consultar Datos
65
Figura 16 - Diagrama de Secuencia Cerrar Sesión
Figura 15 - Diagrama de Secuencia Generar Reportes
66
3.8 Diagramas de Colaboración
Figura 17- Diagrama de Colaboración Iniciar Sesión
Figura 18 - Diagrama de Colaboración Consultar Datos Personales
Figura 19 - Diagrama de Colaboración Consultar Horario
67
Figura 21 - Diagrama de Colaboración Cerrar Sesión
Figura 20 - Diagrama de Colaboración Consultar Notas
68
3.9 Diagrama de Clases
Figura 22 - Diagrama de Clases
69
3.10 Diagrama de Componentes
Figura 23 - Diagrama de Componentes
Atendiendo a los requerimientos funcionales la aplicación Nereo cuenta con los
siguientes componentes:
- Main Activity: Es el menú de navegación que da paso a cada funcionalidad
del sistema, el cual se muestra en los layouts activity_main.xml y
nav_header_main.xml.
- Datos Personales
- DatosPersonalesFragment: Es el que hace el llamado al servicio web de
datos personales y los captura para mostrarlos en el layout
second_layout.xml.
- Horarios
- HorarioFragment: Invoca el servicio web de horarios, captura la información
y muestra los días en que hay clases programadas en el layout
list_item_dia.xml.
70
- DetalleHorario: Muestra las clases programadas durante el día
seleccionado mediante los layouts horario.xml y third_layout.xml.
- Notas
- NotasFragment: Hace el llamado al servicio web de notas, captura la
información de asignatura, acumulado y nota definitiva para mostrarla en
los layouts notas_layout.xml e itemlayout.xml.
- DetalleNotas: Captura la información por medio de Intents sobre el detalle
de las notas obtenidas en cada materia con su respectivo porcentaje y las
muestra en layout detallenotas.xml.
Por iniciativa nuestra y como valor agregado al proyecto, adicionamos dos
funcionalidades:
- NoticiasFragment: Hace el llamado al servicio web de las noticias
universitarias y captura la información para mostrarla en los layouts
first_layout.xml e ítem_noticia.xml.
- StreamingFragment: Invoca el servicio web que permite escuchar la
emisora La UD en línea desde internet y la reproduce en el layout
fragment_stream.xml
3.11 Servicios Web Generados
Como una componente adicional pero requerida, tenemos los servicios web
implementados en la aplicación móvil Nereo son de tipo REST, fueron
desarrollados en lenguaje PHP por su simplicidad para programar, además que es
de código abierto especialmente adecuado para el desarrollo web. El hecho que
los web services sean tipo REST favorece el rendimiento y la escalabilidad de la
aplicación.
71
Seguidamente se presenta las url correspondientes a los servicios web de pruebas
implementados inicialmente de los cuales se describe la funcionalidad en el
siguiente capítulo:
1. Validar datos de inicio de sesión:
http://jcgrafficdesigns.net/Nereo/login.php
Los siguientes tres servicios web, se diseñaron de acuerdo a unas consultas
prediseñadas sobre la base de datos, suministradas mediante correo electrónico
por el Ingeniero Milton Parra, así:
2. Consulta de datos personales:
http://www.jcgrafficdesigns.net/Nereo/consultanereo.php
3. Consulta de horario:
http://www.jcgrafficdesigns.net/Nereo/consultar_horarios.php
Figura 24 - Consulta BD Datos Personales
Figura 25 - Consulta BD Horarios
72
4. Consulta de notas:
http://www.jcgrafficdesigns.net/Nereo/consultar_notasparciales.php
5. Imprimir horario en formato .pdf:
http://jcgrafficdesigns.net/Nereo/horariopdf.php
6. Imprimir notas en formato .pdf:
http://www.jcgrafficdesigns.net/Nereo/notaspdf.php:
Adicionalmente a las consultas, se tomó como base solo una parte de la estructura
de base de datos institucional la cual se muestra en la Figura 27. Teniendo en
cuenta que la Oficina Asesora de Sistemas debe velar por la confidencialidad,
integridad y disponibilidad de la información, no fueron suministradas las
relaciones existentes entre las tablas, por lo que solo se muestran los campos de
las tablas que se tuvieron en cuenta.
Figura 26 - Consulta BD Notas
73
3.12 Diseño de la Interfaz
La interfaz gráfica presentada proporciona un entorno visual sencillo en cuanto a
la consistencia porque resulta muy intuitiva para navegar en ella, buen nivel de
usabilidad pues dispone la información que el usuario quiere ver de una manera
rápida y sencilla, se diseñó la transición de principio a fin de forma tal que el
usuario no se pierda entre los paneles dispuestos para mostrar información.
Figura 27 - Esquema de Tablas de Base de Datos
74
3.12.1 Diseño de Menú
El menú tipo cajón implementado permite cambiar rápidamente entre las pantallas
de la aplicación. Pulsando un botón se despliega en la parte lateral izquierda la
lista con los contenidos, oculta hasta ese momento.
Las ventajas de este diseño son: un mejor aprovechamiento del espacio y
después de desplegar la lista, ofrece una forma cómoda de navegar en los
contenidos. La forma de navegar en las diferentes opciones se muestra en la
Figura 28.
Figura 28 - Mapa de Navegación en la aplicación
75
3.12.2 Diseño de Interfaz de Usuario
La construcción de la interfaz de usuario está basada principalmente en elementos
nativos de Android como botones, listas y encabezados, a los cuales se les aplicó
un toque de personalización en cuanto a colores y forma. Los íconos y el logotipo
fueron diseñados exclusivamente para esta aplicación. Su diseño plano y simple
aporta una limpieza visual que busca dar mayor relevancia al contenido, que es
realmente lo que valora el usuario en esta app.
76
FASE IV – TRANSICIÓN.
En este capítulo se hace la entrega final de nuestra solución a la Oficina Asesora
de Sistemas de la Universidad Distrital Francisco José de Caldas, se describen las
actividades realizadas para el despliegue de la aplicación sobre la infraestructura
institucional con sus respectivas pruebas de funcionamiento.
4. APLICACIÓN
4.1 Actividades de Acoplamiento
La entrega del código fuente de la aplicación se realizó mediante el repositorio
GitHub siguiendo las indicaciones de la Oficina Asesora de Sistemas, bajo la
supervisión del Ingeniero Diego Fernando Celi Valero, funcionario delegado para
realizar el acompañamiento y verificaciones necesarias.
Seguidamente el funcionario realizó el despliegue del software en uno de los
servidores de pruebas de propiedad de la Universidad Distrital, como también
realizó adaptación a los servicios web generados para garantizar su funcionalidad
observando las políticas de seguridad de la información, quedando de la siguiente
manera:
Consultar panel de Noticias universitarias:
http://10.20.0.127/Webservicesnereo/noticias.php
Este servicio web hace un llamado al servidor donde se encuentran publicadas las
noticias universitarias y las muestra en el panel de Noticias de la app Nereo.
77
Consulta de datos personales:
http://10.20.0.149/Webservicesnereo/consultanereo.php
Servicio web que devuelve los datos personales del estudiante para mostrarlos en
la interfaz.
Consulta de horario:
http://10.20.0.149/Webservicesnereo/consultar_horarios.php:
Servicio web que retorna toda la información relacionada con horarios de clase
programados durante el semestre en curso y los muestra en el panel de Horario.
Consulta de notas:
http://10.20.0.149/Webservicesnereo/consultar_notasparciales.php:
Servicio web que captura la información completa de las notas obtenidas en cada
asignatura que esté cursando en el momento y las muestra en el panel de Notas.
Imprimir horario en formato .pdf:
http://10.20.0.149/Webservicesnereo/horariopdf.php
Servicio web que muestra el horario de clases en la pantalla del equipo móvil y da
la opción de guardarlo localmente en un archivo de formato .pdf.
Imprimir notas en formato .pdf:
http://10.20.0.149/Webservicesnereo/notaspdf.php
Servicio web que muestra el reporte de notas obtenidas en las asignaturas que se
encuentra cursando y da la opción de guardarlo localmente en el móvil mediante
un archivo de formato .pdf.
A los servicios web de consultar datos, notas, horarios, imprimir notas e imprimir
horario se les agrego la opción de ingresar código de estudiante para futura
implementación de la funcionalidad de iniciar sesión.
78
Al finalizar las adaptaciones se realizaron pruebas de verificación con datos
existentes en la base de datos de pruebas, obteniendo resultado satisfactorio en
cada una de las consultas.
4.2 Pruebas
Durante la ejecución del presente proyecto se ha realizado pruebas a la aplicación
Nereo utilizando el emulador incluido en el SDK de Android Studio para probar la
adaptabilidad del diseño en los diferentes tamaños de pantallas, obteniendo
resultados satisfactorios.
4.2.1 Pruebas Funcionales Individuales
Tabla 17. Pruebas Funcionales Individuales
Caso de prueba
Entrada Condiciones Salida Resultado Correcciones
Id. Requerimiento: RF-001
Ingreso Usuarios
Usuario:
20122078098
Contraseña: 123456789
El usuario debe tener acceso al sistema Cóndor y no tener una sesión abierta previamente en la app.
El usuario es autenticado e ingresa a la aplicación Nereo con sus respectivos permisos de acceso.
Exitoso
Usuario:
20051085002
Contraseña:
****
El usuario debe tener acceso al sistema Cóndor y no tener una sesión abierta previamente en la app.
La usuaria es autenticada e ingresa a la aplicación Nereo con sus respectivos permisos de acceso.
Exitoso
Usuario:
12345
El usuario debe tener acceso al
Usuario y/o contraseña no son correctos
Exitoso
Aunque el usuario no ingresó al
79
Contraseña:
2016
sistema Cóndor y no tener una sesión abierta previamente en la app.
por tanto no puede ingresar al sistema.
sistema la prueba es exitosa porque se comprueba que la validación de datos funciona de forma correcta.
Id. Requerimiento: RF-002
Consulta de Datos
Personales
Usuario: 20122078098
Contraseña: 123456789
Los usuarios deben tener una sesión activa dentro de la aplicación Nereo y seleccionar la opción del menú Datos Personales.
Los usuarios visualizaron sus datos personales en la pantalla.
Exitoso
Usuario: 20051085002
Contraseña:
****
Id. Requerimiento: RF-003
Consulta de
Horario
Usuario: 20122078098
Contraseña: 123456789
Los usuarios deben tener una sesión activa dentro de la aplicación Nereo y seleccionar la opción del menú Horario.
Los usuarios visualizaron en la pantalla de su móvil, el horario de clases por día. Al tocar sobre el día, vieron el detalle de sus clases programadas para el día seleccionado.
Fallido
Aunque mostró la información correspondiente al usuario que inició sesión, muestra los días duplicados de acuerdo a la cantidad de clases del día.
Se realiza verificación y se corrigió el error implementando una variable para capturar el día y posteriormente compararlo con el arreglo de datos que captura toda la información del servicio web.
Usuario: 20051085002
Contraseña:
****
80
Id. Requerimiento: RF-004
Consulta de Notas
Usuario:
20122078098
Contraseña: 123456789
Los usuarios deben tener una sesión activa dentro de la aplicación Nereo y seleccionar la opción del menú Notas.
Los usuarios visualizaron en la pantalla de su móvil, el listado de asignaturas inscritas para el semestre en curso con su respectivo acumulado y nota definitiva. Al tocar sobre una asignatura pudo ver el detalle de las notas obtenidas de la asignatura seleccionada.
Exitoso
Usuario: 20051085002
Contraseña:
****
Id. Requerimiento: RF-005
Impresión de Horario
Usuario:
20122078098
Contraseña: 123456789
Los usuarios deben tener una sesión activa dentro de la aplicación Nereo y seleccionar la opción del menú Horario y tocar el botón “Generar Horario”.
Los usuarios visualizaron en la pantalla de su móvil, el formato de horario y seleccionaron el botón “Guardar” y guardaron el formato localmente en su móvil mediante un archivo digital de extensión .pdf.
Fallido
Aunque mostró el formato con la información correspondiente al usuario que inició sesión, muestra los días y las clases duplicados.
Se corrigió el error modificando el código fuente del servicio web agregando dos ciclos anidados para evitar la duplicidad en la información.
Usuario: 20051085002
Contraseña:
****
81
Id. Requerimiento: RF-006
Impresión de Notas
Usuario:
20122078098
Contraseña: 123456789
Los usuarios deben tener una sesión activa dentro de la aplicación Nereo y seleccionar la opción del menú Notas y tocar el botón “Generar Reporte”.
Los usuarios visualizaron en la pantalla de su móvil, el reporte de notas y seleccionaron el botón “Guardar” y guardaron el formato localmente en su móvil mediante un archivo digital de extensión .pdf.
Exitoso
Usuario: 20051085002
Contraseña:
****
4.2.1 Prueba Funcional del Cliente
Por parte del cliente fue designado el Ingeniero Andrés Moreno que es el
funcionario responsable de testear los desarrollos de software recibidos por la
Oficina Asesora de Sistemas, quien entre sus observaciones manifestó lo
siguiente: “En términos generales la aplicación es de fácil manejo, intuitiva y
cumple con los requerimientos. Se debe mejorar un poco más la presentación de
la misma en cuanto a su gráfica”.
Figura 29 - Formato de Evaluación de Calidad del Software
82
GLOSARIO
- Activity: o Actividad, es un conjunto de acciones (tocar la pantalla para apretar un
botón, para escribir con el teclado, etc.) que son una iteración directa con el
usuario y que afectan a una parte de la aplicación.
- Adapter: o Adaptador, es una potente herramienta provista por
la API de android.widget que se puede usar para mostrar un conjunto de
información a través de listas personalizables a nivel de definición, estilo y
eventos.
- API: siglas de Application Programming Interface, en español Interfaz de
Programación de Aplicaciones. Consiste en un conjunto de llamadas que ofrecen
acceso a funciones y procedimientos, representando una capa de abstracción
para el desarrollador.
- APK: es el formato de archivo utilizado para la instalación de software en el
sistema operativo Android. Este formato es una variante del formato JAR de Java
y se usa para distribuir e instalar componentes empaquetados para la plataforma
Android.
- APP: es una aplicación de software que se instala en dispositivos móviles o
tablets para ayudar al usuario en una labor concreta. Es el acrónimo de
application.
- Background: representa un proceso que se ejecuta con pocos recursos, que no
requiere interacción directa con el usuario y que existe sin el conocimiento de este.
- Biblioteca: agrupación de código y datos que proporcionan servicios a programas
independientes, pasando a formar parte de éstos. Permiten la distribución de
83
funcionalidades y la construcción modular. También conocido como librería, por su
similitud con el inglés library.
- Callback: se denomina así a la relación que existe entre dos procesos cuando el
origen de la comunicación es a su vez llamado o invocado por el proceso destino.
- Dispositivo móvil: aparato electrónico que es de reducido tamaño, cuenta con
cierta capacidad tanto para la computación como para el almacenamiento de
datos y cuenta con elementos de E/S básicos, por ejemplo pantalla y/o teclado.
- DTD: siglas de Document Type Definition, en español Definición de Tipo de
Documento. Permite definir el formato que ha de tener un determinado documento
XML.
- E/S: abreviatura de Entrada/Salida. Un elemento de E/S es aquél que permite la
comunicación entre un sistema de procesamiento de datos y una entidad externa
a él (un usuario humano u otro sistema de procesamiento). Entrada se considera
toda aquella información que es recibida por un sistema, mientras que salida es la
información que es enviada por el mismo.
- Fragment: un fragmento es una sub actividad o sección modular de una
actividad, que tiene su propio ciclo de vida, recibe sus propios eventos de entrada,
y que se puede agregar o quitar mientras que la actividad está en marcha;
representa un comportamiento o una porción de interfaz de usuario en una actividad.
- Framework: término con el que se define un amplio conjunto de elementos que
permite desarrollar y organizar software utilizando un determinado lenguaje,
sistema o tecnología. Habitualmente incluye bibliotecas, programas de desarrollo o
manuales.
84
- Hilo: en sistemas operativos, un hilo constituye cada uno de los flujos de
ejecución en el que puede ser divido un proceso. Todos los hilos de un proceso
comparten espacio en memoria, archivos abiertos, variables globales, semáforos,
etc. Permiten la ejecución concurrente de varias tareas. También llamado thread.
- HTTP: siglas de HyperText Transfer Protocol, en español Protocolo de
Transferencia de Hipertexto. Constituye el protocolo utilizado para la transmisión
de documentos a través de la Web entre un cliente y servidor.
- Interfaz: en computación, se refiere a una abstracción que una determinada
elemento ofrece de sí mismo al exterior, facilitando de esta forma su acceso y uso
por otros elementos de hardware o software.
- JAR: acrónimo de Java ARchive, en español Archivo Java. Representa una
agrupación de varios ficheros Java y se usa generalmente para la distribución
conjunta de clases y metadatos.
- Java ME: Java Micro Edition, edición de Java especialmente dirigida a los
dispositivos móviles.
- JSON: JavaScript Object Notation - Notación de Objetos de JavaScript, es un
formato para el intercambios de datos, que describe los datos con una sintaxis
dedicada para identificar y gestionar los datos.
- Listener: objeto que está a la espera de un determinado evento.
- PHP: Hypertext Preprocessor; es un lenguaje de código abierto muy popular
especialmente adecuado para el desarrollo web y que puede ser incrustado en
HTML.
85
- Plug-in: componente de software que se relaciona y ejecuta con otro para
aportarle una función nueva y generalmente muy específica.
- Proceso: un proceso es un programa en ejecución, y representa la unidad de
procesamiento básica gestionada por el sistema operativo.
- REST: siglas de Representational State Transfer - Transferencia de Estado
Representacional, es un estilo de arquitectura software para sistemas hipermedia
distribuidos como la World Wide Web.
- SDK: siglas de Software Development Kit, en español Kit de Desarrollo de
Software. Constituye un conjunto de herramientas que permiten a un desarrollador
crear aplicaciones para una determinada plataforma o lenguaje.
- Smartphone: dispositivo móvil que representa una evolución de los teléfonos
móviles, con la inclusión de pantalla táctil, teclado, conexión Wi-Fi, aplicaciones de
usuario como navegador web o cliente de correo, entre otros.
- Tablet: o Tableta, es un tipo de computadora portátil, de mayor tamaño que un
smartphone o una PDA, integrado en una pantalla táctil (sencilla o multitáctil) con
la que se interactúa primariamente con los dedos, sin necesidad de teclado físico
ni ratón.
- Web Service: o Servicio web, es una tecnología que utiliza un conjunto de
protocolos y estándares que sirven para intercambiar datos entre aplicaciones.
- Widget: componente gráfico utilizado en interfaces de usuario, con el cual el
usuario puede interactuar, como por ejemplo cajas de texto, botones, ventanas,
etc.
86
- Wi-Fi: acrónimo de Wíreless Fidelity, estándar de envío de datos que utiliza
ondas de radio en lugar de cables.
- XML: siglas de Extensible Markup Language, en español Lenguaje de Marcado
Extensible. Representa un lenguaje estándar que, mediante el uso de etiquetas y
atributos, permite expresar e intercambiar fácilmente estructuras de datos.
87
CONCLUSIONES
El desarrollo de software por módulos como se planteó en este proyecto
resultó efectivo para resolver de forma metódica y escalonada los
requerimientos, toda vez que al hacerlos independientes derivó en menor
complejidad de su programación y la facilidad para la detección de errores,
además a futuro favorecerá su escalabilidad como está proyectado.
La arquitectura orientada a servicios implementada tiene inmersas muchas
bondades para el sistema sobre todo a la hora de realizarle mantenimiento
porque de ser necesario, solo bastará con modificar sus procesos de negocio
(servicios web), sin tener la necesidad de modificar el código fuente, lo que lo
hace la aplicación flexible en su administración.
El uso de adaptadores (Adapters) enriqueció de manera significativa el
proceso de la programación, porque mediante ellos se logró obtener las listas
personalizadas que muestran alrededor del 90% de la información en la
aplicación, lo que las convierte en el eje central de la solución obtenida.
Las librerías de Android utilizadas en este proyecto optimizan el envío de
peticiones de datos desde la aplicación hacia los servidores externos, esto
asociado a que los datos Json son leídos fácilmente por cualquier lenguaje de
programación contribuye a disminuir los tiempos de respuesta de los servicios
web implementados en este proyecto.
88
RECOMENDACIONES
Se hace necesario poner en producción esta aplicación como un medio
alternativo a la aplicación Cóndor, que beneficia directamente a los estudiantes
facilitando la gestión académica, además de poder verificar el comportamiento
de la app especialmente en los periodos de alta concurrencia para el proceso
de consultas de horarios y notas.
Integrar a los estudiantes en el proceso de mejoras que se realice a la
aplicación Nereo, tomando como punto de partida las funcionalidades que
desean ver agregadas a la aplicación, en aras de mantenerla operante y a la
vanguardia con relación a otras opciones del mercado.
Conformar un grupo interdisciplinario de trabajo (participación del talento
humano de la Universidad a diferentes niveles y de diferentes disciplinas), que
lideren la implementación y constante actualización de este desarrollo, para que
con su empoderamiento y compromiso coadyuven en la puesta en marcha
definitiva de este gran proyecto.
89
BIBLIOGRAFÍA
ARANAZ TUDELA, Jaime. Desarrollo de Aplicaciones para Dispositivos Móviles
Sobre la Plataforma Android de Google. Proyecto de Fin de Carrera. Madrid:
Universidad Carlos III de Madrid. Ingeniería en Informática 2009.
BURGOS, David y ECHEVERRRY, Héctor. Estado del Arte del Uso de
Aplicaciones en Dispositivos Móviles en el Área de la Telemedicina. Trabajo de
Grado. Pereira: Universidad Tecnológica de Pereira. Facultad de Ingenierías
2012.
CAMBERA, Juan Carlos. Composición de Servicios Web para Aplicaciones
Móviles Geolocalizadas, Informe de Pasantía, Sartenejas: Universidad Simón
Bolívar. Coordinación de Ingeniería Electrónica 2009.
CATALÁN, Adrián. Desarrollo de Aplicaciones Móviles. Guatemala. Maestros del
web, Guatemala, 2011.
GIRONÉS, Jesús Tomás. El Gran Libro de Android, Segunda Edición. Marcombo
S.A., 2012.
PRESSMAN, Roger. Ingeniería del Software: Un Enfoque Práctico. Quinta Edición.
McGraw-Hill, México, 2001.
SÁNCHEZ, Rebeca Maritza. Programación de Dispositivos Móviles Usando Web
Services. Benemérita Universidad Autónoma de Puebla, México, 2009.
90
STALLINGS, William. Aplicaciones Inalámbricas un Nuevo Modelo. J2ME (“Java 2
Micro Edition”). 2ª Edición. Redes e Internet de Alta Velocidad Rendimiento y
Calidad de Servicio. Prentice Hall, p. 150 – 151.
ARBOLEDA, Liliana. Servicios Web: Distribución e Integración [En línea]. <
http://www.icesi.edu.co/contenido/pdfs/larboled_servicios-web.pdf > [citado en 30
de marzo de 2016]
BESTEIRO, Marco y RODRÍGUEZ, Miguel. Web Services [En línea]. <
http://www.ehu.eus/mrodriguez/archivos/csharppdf/ServiciosWeb/WebServices.pdf
> [citado en 30 de marzo de 2016].
DE LA RIVA, Diego. Proyecto Unimóvil: Una Aplicación Móvil Para Universidades.
[En línea]. <
http://sedici.unlp.edu.ar/bitstream/handle/10915/23789/Documento_completo.pdf?
sequence=1 > [citado en 15 de marzo de 2016].
EXPERTO JAVA UNIVERSIDAD DE ALICANTE. Plataforma Android. [En línea]. <
http://expertojava.ua.es/dadm/restringido/android/wholesite.pdf > [citado en 01 de
abril de 2016].
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS. Guía rápida del
proceso de desarrollo OPENUP/OAS. [En línea].
<https://portalws.udistrital.edu.co/CIT/documentos/NORMATIVIDAD/openupoas/ar
chivos/GuiaRapidaOpenUPOAS.pdf > [citado en 15 de enero de 2016].
INVARATO, Ramón. Android 100%. Libro digital publicado por www.Jarroba.com.
[En línea]. < http://jarroba.com/libro-android-100-gratis/ > [citado en 15 de mayo de
2016].
91
NTC 1486: 2008, Documentación. Presentación de Tesis, Trabajos de Grado y
Otros Trabajos de Investigación. [En línea]. < http://es.slideshare.net/xxpp/ntc-
1486-presentacion-documentos?related=1 > [citado en 12 de abril de 2016].
World Wide Web Consortium (W3C). Guía Breve de Servicios Web. [En línea]. <
http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb > [citado en 24 de abril
de 2016].
XMIND. Características de Lenguajes de Programación para Dispositivos Móviles.
[En línea]. < https://www.xmind.net/m/33M9 > [citado en 24 de abril de 2016].
92
Nereo
Manual de Usuario de la Aplicación Nereo Versión 1
REQUISITOS DEL EQUIPO MÓVIL PARA INSTALAR LA APLICACIÓN
Versión mínima de Android 4.0.3 Acceso a Internet. Se requiere para que la consulta de información del
estudiante sea efectiva, toda vez que los servicios apuntan a los servidores
web de la universidad. El rendimiento de la aplicación está condicionado a la velocidad en la
conexión a internet y las características técnicas del equipo móvil donde se
instale (memoria RAM, memoria caché y Procesador).
DESCRIPCIÓN DE LA APLICACIÓN
Nereo es una aplicación para equipos móviles con sistema operativo Android
versión 4.0 o posteriores, que permite al estudiante de la Universidad Distrital
Francisco José de Caldas consultar su información; agrupada en diferentes
93
módulos, como: horario de clases, notas de cada materia inscrita y datos
personales, además de tener la opción de reproducir vía streaming la emisora de
la Universidad y consultar las noticias universitarias. La aplicación es nativa, por lo
que las conexiones son rápidas y la interfaz está orientada para el uso en
aparatos inteligentes.
DESCARGA DE LA APLICACIÓN
Nota: Actualmente la aplicación no se encuentra disponible al público, teniendo
en cuenta que la universidad implementará una aplicación más robusta y uno de
los componentes será esta aplicación.
Una vez instalada la aplicación en el equipo, queda visible el ícono en la sección
de Aplicaciones; para ejecutarla hay que dar un toque sobre el icono.
94
INTERFAZ DE LA APLICACIÓN
Al iniciar la aplicación aparecerá el escudo de la Universidad y posteriormente una
ventana para iniciar sesión (aún no está incluido el módulo para iniciar sesión,
teniendo en cuenta que la Oficina Asesora de Sistemas de la Universidad lo
implementará cuando esté completamente estructurada la app con los demás
módulos), actualmente se va mostrar el panel principal.
En la parte superior de la pantalla se muestran dos botones:
1. Permite mostrar el menú.
2. Permite mostrar información acerca de la aplicación.
95
BOTÓN “ACERCA DE”
Permite visualizar información acerca de la
aplicación como versión, nombre de la
Universidad y los desarrolladores con su
información de contacto.
96
BOTÓN MENÚ
Presionando el botón de menú se despliega al
lado izquierdo un panel con cinco botones:
DESCRIPCIÓN POR CADA PANEL
1. Panel de Noticias
Este panel permite visualizar las noticias
actuales de la universidad y direcciona al
usuario a ver en detalle la información, con
solo tocar sobre el link “Ver más”.
97
2. Panel de Datos Personales
Este panel permite visualizar los datos
personales del estudiante, permitiéndole
subir y bajar para ver más información.
3. Panel de Horario
Este panel permite al estudiante visualizar los días que tiene clase, donde
cada día es un botón y al presionar muestra en detalle las materias del día:
horario, salón, bloque, sede y nombre del profesor.
98
Presionando el botón GENERAR HORARIO permite visualizarlo
completamente.
Al oprimir el botón “Guardar” se descargará el horario en un archivo de
formato .pdf (Portable Document Format, «formato de documento portátil»), el
cual será guardado en forma local en el equipo móvil.
4. Panel de Notas
Este panel permite visualizar las notas de las diferentes materias que el
estudiante tiene inscritas. Cada materia es un botón que al presionar
muestra más detalle sobre las notas que estén subidas al sistema.
99
Presionando el botón GENERAR REPORTE se visualiza el reporte de
notas correspondiente a las asignaturas inscritas en el semestre en curso.
Al oprimir el botón “Guardar”, se descargan las notas en un archivo de
formato .pdf (Portable Document Format, «formato de documento portátil»), el
cual será guardado en forma local en el equipo móvil.
100
5. Emisora La UD
Este panel permite escuchar la emisora de
la Universidad via streaming; pausar,
reproducir y mostrar el tiempo de
reproducción. (Los botones de volumen
nativos del dispositivo móvil permiten
controlar de igual manera el volumen de la
emisora).
BOTÓN REGRESO
Solo está permitido retroceder cuando se encuentra ubicando en la información
más detallada de cada panel, como son el detalle de las notas, el detalle de las
materias que se ven por día y los botones de generar archivo PDF.
101
Si presiona el botón “Atrás” en los diferentes paneles principales de la
aplicación como son: Noticias, Datos personales, Horario, Notas y Emisora UD,
la aplicación se cerrará de inmediato y se ubica en el panel de aplicaciones del
equipo.
102
ROTACIÓN DE PANTALLA
La rotación de pantalla está permitida para todos los paneles.