UNIVERSIDAD NACIONAL DE CANINDEYÚ
FACULTAD DE CIENCIAS Y TECNOLOGÍA
PROYECTO DE TRABAJO FINAL DE GRADO
Alumnos: Alberto David Miranda Vázquez
Blas Anderson Ramírez Duré
Tutor: Jorge Rafael González Zárate
TÍTULO:
Aplicación móvil para
Inscripción a asignaturas de la carrera de Análisis
de Sistemas de la Facultad de Ciencias y Tecnología
de la Universidad Nacional de Canindeyú
SALTO DEL GUAIRÁ – CANINDEYÚ - PARAGUAY
3 Tabla de contenidos RESUMEN ... 4 1. INTRODUCCIÓN ... 5 2. JUSTIFICACIÓN ... 6 3. OBJETIVOS ... 7 3.1 Objetivo general ... 7 3.2 Objetivos específicos ... 7 4. MARCO TEÓRICO ... 8 4.1 Antecedentes ... 8
4.2 Conceptos importantes relacionados al desarrollo de la aplicación ... 9
4.2.2 Android ... 9 4.2.3 Android Studio ... 9 4.2.4 Java ... 10 4.2.5 PostgreSQL ... 10 4.2.6 ¿Qué es la Internet? ... 10 4.2.7 Servicio Web ... 11 5. METODOLOGÍA ... 12 6. CRONOGRAMA ... 13 7. PRESUPUESTO ... 14 7.1 Recursos Materiales ... 14 7.3 Recursos Financieros ... 14 8. BIBLIOGRAFÍA ... 15 9. ANEXOS ... 16
4
RESUMEN
Las tendencias actuales van orientadas a realizar servicios informáticos a través de aplicaciones móviles, con la plataforma Android, que ayudan y simplifican a la mejor organización de los archivos, razón por la cual se realiza este proyecto. El objetivo general es desarrollar una aplicación móvil, orientada a Android, para inscripción a asignaturas de la carrera de Análisis de Sistemas de la Facultad de Ciencias y Tecnología de la Universidad Nacional de Canindeyú, sede Salto del Guairá. El proyecto se realizará con la metodología de innovación y desarrollo que contará con cinco fases. En la primera fase será la recopilación de requerimientos del sistema mediante entrevistas, en la segunda fase se procederá a crear las interfaces del aplicativo utilizando Pencil Project, también al diseño de la interfaz de la página web de control para la secretaría; en la tercera fase del proyecto se iniciará el desarrollo del “App” utilizando el lenguaje de programación Java con el entorno de desarrollo Android Studio, y la página web de control utilizando el IDE Eclipse con el lenguaje anteriormente citado. Se dispondrá la descarga de la “App” en Play Store.
5
1. INTRODUCCIÓN
Este trabajo consiste en desarrollar una aplicación móvil (App), en dispositivos con sistemas operativos Android para registrar la inscripción de los alumnos de la Facultad de Ciencias y Tecnología (FACITEC) de la Universidad Nacional de Canindeyú (UNICAN), con el fin de automatizar los procesos y que el alumno tenga la posibilidad de inscribirse desde cualquier lugar en que se encuentre. El trabajo se centra en la creación de un aplicativo móvil, que sea de fácil uso, para que cualquier alumno pueda utilizarlo teniendo una interfaz agradable y sencilla.
El proyecto engloba a los alumnos de la Facultad de Ciencias y Tecnología, sede Salto del Guairá, los que van a interactuar con el sistema que les permitirá realizar la inscripción a las asignaturas y acceder a las informaciones de correlatividades de las mismas y fechas de pagos, proporcionando la evolución tecnológica que pueda ofrecer la institución en la forma de realizar las inscripciones.
6
2. JUSTIFICACIÓN
La construcción de diferentes aplicaciones en nuestra sociedad es indispensable para dar soluciones a las empresas, negocios e instituciones, en el cual se enfoca el presente proyecto que consiste en el desarrollo de una aplicación móvil para la inscripción a las asignaturas de la carrera de Análisis de Sistemas de la FACITEC. La razón de la creación es para otorgar una solución a un proceso reiterativo de inscripción de los alumnos en cada semestre, que actualmente se realiza en pequeños formularios que posteriormente se guardan en un sistema. La idea de todo esto es que la a través de la aplicación los alumnos se inscriban utilizando teléfonos inteligentes (Smartphone), evitando así rellenar los formularios.
7
3. OBJETIVOS
3.1 - Objetivo general
Desarrollar una aplicación móvil, orientada a Android, para inscripción a asignaturas de la carrera de Análisis de Sistemas de la Facultad de Ciencias y Tecnología de la Universidad Nacional de Canindeyú, sede Salto del Guairá.
3.2 - Objetivos específicos
Conocer cuáles son los requisitos que deben cumplir los alumnos para inscribirse y datos concernientes a las correlatividades de las asignaturas. Desarrollar el aplicativo móvil para inscripción a las asignaturas de la
carrera de Análisis de Sistemas.
Desarrollar la interfaz de administración de las solicitudes de inscripción. Permitir que los alumnos logren inscribirse a las asignaturas de la carrera
con la aplicación.
Proveer informaciones referentes a las correlatividades de las asignaturas y fechas de pagos.
8
4. MARCO TEÓRICO
4.1 - Antecedentes
En la actualidad la facultad no cuenta con un App para la inscripción de alumnos. Por lo tanto las inscripciones se realizan de forma presencial, completando un formulario cada vez que se tenga que realizar los trámites para la misma. Por lo cual es necesaria la migración hacia algunas tendencias de tecnología.
4.2 - Sistema para inscripción de alumnos
Actualmente existe un sistema semejante al proyecto propuesto, consistente en una página web en la Universidad Nacional de Nordeste (Argentina)este sistema tiene como fin, brindar a los alumnos de la universidad y de las unidades académicas una herramienta que les permita acceder desde cualquier lugar a través de internet [1].
Sin lugar a dudas, esta posibilidad de acceder a la información y realizar algunas gestiones administrativas evitando traslados innecesarios de la persona, significa agilizar los procesos administrativos en general, en un ambiente más seguro y mejorando la calidad de la información obtenida [1].
9
4.2 - Conceptos importantes relacionados al desarrollo de la aplicación
4.2.1 - Pencil Proyect
Pencil Proyect ofrece diversas formas de recogida integradas para la elaboración de diferentes tipos de interfaz de usuario que van desde el escritorio para plataformas móviles. A partir de 2.0.2, lápiz se suministra con la interfaz de usuario de Android y el IOS plantillas pre-instalados. Esto hace que sea aún más fácil para iniciar prototipos de aplicaciones con una instalación sencilla. Características populares de dibujo, también se aplican en Pencil Proyect para simplificar las operaciones de dibujo [2].
4.2.2 - Android
Android es un sistema operativo (SO) de código abierto (Open Source) basado “GNU/Linux” dirigido por Google1
, para dispositivos móviles.
Esta plataforma permite el desarrollo de aplicaciones por personas ajenas a la corporación (Google), para ello proporciona un conjunto completo de APIs (Interfaz de programación de aplicaciones), la elección se fundamenta en el hecho de que android es un sistema libre de fácil acceso que posee herramientas poderosas y con una gran ventaja de poder subir las App playStore2 dejando disponible para los usuarios (alumnos) [3].
4.2.3 - Android Studio
Android Studio es el Entorno de Desarrollo Integrado (IDE) oficial para el desarrollo de aplicaciones para Android, basado en IntelliJ IDEA3. En la parte superior de las capacidades que se esperan de IntelliJ, Android Studio ofrece [4]:
Sistema de construcción basado en Gradle4
flexibles. Construir variantes y generación de archivos apk5
múltiple.
1 Google es una compañía estadounidense especializada en productos y servicios relacionados con
Internet, software, dispositivos electrónicos y otras tecnologías.
2 Google Play Store es una plataforma de distribución digital de aplicaciones móviles para los
dispositivos con sistema operativo Android.
3 IntelliJ IDEA entorno de desarrollo para android.
4 Gradle: herramienta para automatizar el proceso de construcción de nuestro proyecto. 5 Apk es un paquete para el sistema operativo Android.
10 Plantillas de código para ayudarle a construir características de la aplicación
comunes.
Editor de diseño rico con soporte para la edición de arrastrar y soltar el tema. Herramientas para atrapar pelusa rendimiento, facilidad de uso,
compatibilidad de versiones, y otros problemas.
4.2.4 - Java
El lenguaje de programación Java es un lenguaje orientado a objetos, que fue diseñado pensando en la ejecución de programas en un entorno distribuido heterogéneo, formado por sistemas empotrados con necesidades de tiempo real. En este entorno, se necesitaba un lenguaje robusto, que garantizara la seguridad y que permitiera que los programas fueran totalmente independientes de la arquitectura, para poderlos ejecutar distribuida mente en cualquier nodo de la red heterogénea [5].
4.2.5 - PostgreSQL
PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente. Es el sistema de gestión de bases de datos de código abierto más potente del mercado [6].
PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema.
4.2.6 – Internet
Los ordenadores en sí mismos constituyen hoy en día una herramienta imprescindible de trabajo en todos los entornos de la vida del hombre, su interconexión en un entorno de red potencia considerablemente su utilidad, al permitir la compartición entre ellos de los distintos recursos e información, y a la vez servir de mecanismo inmejorable de comunicación y colaboración entre las personas usuarias de dichos sistemas [7].
Desde el punto de vista técnico, se puede definir la Internet como un inmenso conjunto de redes de ordenadores que se encuentran interconectadas entre sí,
11 dando lugar a la mayor red de redes de ámbito mundial. Los usuarios de cualquier ordenador en cualquiera de estas redes pueden utilizar las herramientas comunes, muchas veces las mismas que ya utilizan en su entorno local, para comunicarse con cualquier otro usuario o acceder a la información o recursos de otros ordenadores en otras redes conectadas en cualquier otra parte del mundo. De esta forma, gracias a la Internet, millones de equipos informáticos comparten información y recursos y millones de personas se comunican entre sí de forma electrónica [7].
4.2.7 - Servicio Web
Según el W3C, un Servicio Web es un software diseñado para soportar la interoperabilidad máquina-a-máquina en una red. Su interfaz está descrita en un lenguaje procesable por el computador y se comunica mediante mensajes lo cual significa una ventaja con respecto a otras (Remote Procedure Call RPCs) para Java.
Las ventajas de los Servicios Web radican en que facilita la interoperabilidad entre aplicaciones en plataformas diferentes independientemente del lenguaje de programación, utilizan estándares y protocolos abiertos, permiten reusar distintos componentes, al usar HTTP se puede emplear a través de firewalls sin cambiar sus reglas de filtrado [8].
4.2.8 - REST (Representational State Transfer)
Permite el intercambio de datos mediante la red, utiliza el formato JSON para la transferencia de información [9].
Para el presente proyecto, se eligió la arquitectura REST debido a que trabaja con el protocolo HTTP, también porque los datos son más flexibles, luego los recursos son fácilmente consumidos utilizando PHP6. Por último, los mensajes son ligeros lo que contribuye a un rendimiento y a una escalabilidad alta [9].
12
5. METODOLOGÍA
El tipo de metodología que será utilizada para la creación del aplicativo es de innovación y desarrollo.
5.1 Obtención de información referente a los requisitos necesarios para realizar la inscripción
Se realizara la recopilación de requerimientos del sistema mediante entrevistas a los funcionarios de la secretaría con el fin de conocer la forma de inscripción y diseñar el funcionamiento lógico de la App.
5.2 Elaboración del aplicativo
Se procederá a crear las interfaces del aplicativo cuidando para que sea intuitivo7. También al diseño de la interfaz de la página web de control para la secretaría.
5.2.1 Herramientas necesarias para la elaboración
Se iniciará el desarrollo del App utilizando el lenguaje de programación Java y la página web de control usando el mismo lenguaje anteriormente propuesto. Teniendo en cuenta todos los requerimientos recogidos.
5.3 Prueba del aplicativo
En la última fase se realizará el testeo de la App y de la página web, revisión del cumplimiento de los requerimientos.
5.3.1 Elaboración del manual del test
A partir de los requerimientos recolectados se procederá a la elaboración del test que pueda determinar el cumplimiento de los requisitos establecidos.
5.3.2 Ejecución del test de software
Para la prueba del test de software se deberá tener una solicitud aprobada por la Facultad, para luego publicar una versión de prueba en play store y probar con un grupo de alumnos, para verificar las funcionales exactas de la aplicación.
7 Comprensible y de fácil manejo.
Noviembre Diciembre
2 9 16 23 30 6 13 20 27 4 11 18 25 1 8 15 22 29 5 12 19 26 3 10 17 24 31 7 14 21 28 5 12 19 26
1 Análisis de datos
2 Recolección de Softwares
3 Análisis y diseño de la App
4 Análisis y diseño de la interfaz grafica
5 Desarrollo de la arquitectura REST
6
Diseño y construccion de la Base de
Datos en linea
7
Desarrollo de la interfaz gráfica de
control web
8 Desarrollo de la App
9 Pruebas e implementaciones
10 Elaboración del Informe
Actividades
Mayo
Junio
Julio
Agosto
Setiembre
2016
Octubre
Año
Concepto Monto (Guaraníes) Smarphone 500000 Impresiones 800000 Carpeta 10000 Grabador 20000 Internet 450000 Pc 1500000 Notebook 2000000 Dominio 80000 Escritorio 1000000
Publicación en Play Store 300000
Total 6660000
7.2 - Recursos humanos
Alumno Responsable del Proyecto Alberto David Miranda Vázquez
Alumno Responsable del Proyecto Blas Anderson Ramírez Duré
Profesor Tutor Jorge Rafael González Zarate
Profesora de la asignatura Trabajo Final de Grado
Nieves Mabel Leiva
7.3 - Recursos financieros
Concepto Monto (Guaraníes)
Capital 6660000
Gastos anticipados 200000
Observación: Los gestión económica del proyecto serán financiados por los
15
8. BIBLIOGRAFÍA
[1] Universidad Nacional del Nordeste, «Unne Universidad Nacional del Nordeste,» [En línea]. Available: http://guarani.unne.edu.ar/. [Último acceso: 22 04 2016].
[2] Pencil Proyect, «Pencil Proyect,» [En línea]. Available: http://pencil.evolus.vn/. [Último acceso: 11 Mayo 2016].
[3] android, «android,» [En línea]. Available: http://source.android.com/. [Último acceso: 27 marzo 2016].
[4] Android Studio, «Android Studio,» [En línea]. Available: http://developer.android.com/intl/es/tools/studio/index.html. [Último acceso: 11 03 2016].
[5] Y. Becerra, «MEJORA DEL RENDIMIENTO DE LAS APLICACIONES JAVA USANDO COOPERACIÓN ENTRE EL SISTEMA OPERATIVO Y LA MAQUINA VIRTUAL DE JAVA,» Barcelona, 2006.
[6] PosgresSQL-es, «PosgresSQL-es,» [En línea]. Available: http://www.postgresql.org.es/sobre_postgresql. [Último acceso: 15 Abril 2016].
[7] M. Á. Sanz, «A, B, C de Internet,» 1994.
[8] A. M. A. L. Rosa, «IMPLEMENTACIÓN DE UN APLICATIVO PARA TELÉFONOS MÓVILES QUE INDIQUE LAS RUTAS DE TRANSPORTE PÚBLICO DE LA CIUDAD DE LIMA A PARTIR DE LA UBICACIÓN DEL USUARIO,» Lima, 2010.
[9] J. F. C. Aramayo, «ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UNA APLICACIÓN PARA ADMINISTRAR Y CONSULTAR AVISOS CLASIFICADOS PARA TABLETAS ANDROID,» Lima, 2013.
[10] SQlite, «SQlinte,» [En línea]. Available: https://www.sqlite.org/about.html. [Último acceso: 18 03 2016].
16