• No se han encontrado resultados

Sistema Android de mapas y utilidades de la Universidad Central “Marta Abreu” de Las Villas

N/A
N/A
Protected

Academic year: 2020

Share "Sistema Android de mapas y utilidades de la Universidad Central “Marta Abreu” de Las Villas"

Copied!
61
0
0

Texto completo

(1)UNIVERSIDAD CENTRAL “MARTA ABREU” DE LAS VILLAS FACULTAD DE MATEMÁTICA, FÍSICA Y COMPUTACIÓN DEPARTAMENTO DE CIENCIA DE LA COMPUTACIÓN. Sistema Android de mapas y utilidades de la Universidad Central “Marta Abreu” de Las Villas. Autor: Lisvany Alonso Martinez Tutores: Ing. Amaury González Muro Consultante: Ing. Ariel Pons Alonso. Santa Clara, 2014. “Año 56 del Triunfo de la Revolución”.

(2) Dictamen con derechos de autor para MFC. Hago constar que el presente trabajo fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de Ingeniería Informática, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.. Firma del autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del tutor Firma del jefe del Seminario.

(3) Agradecimientos. A todos y para todos..

(4) Resumen. Resumen La Universidad Central “Marta Abreu” de las Villas (UCLV) cuenta con uno de los campus más extensos de las universidades latinoamericanas. La UCLV recibe diariamente una gran cantidad de visitantes los cuales en muchos casos no cuentan con el conocimiento necesario y carecen de un mecanismo que les permita ubicarse y obtener la información necesaria para realizar más fácil su paso por el campus. Ante esta situación resulta evidente que la creación y la publicación de un mapa que facilite la representación geográfica de la UCLV, resulta beneficiosa tanto para los visitantes y como para el personal asiduo al centro. El siguiente trabajo se propone el desarrollo e implementación de un sistema para Smartphone Android1, que aprovechando las facilidades que presentan estos dispositivos, muestra un mapa digital dinámico de la UCLV de forma offline donde se localizan sus principales centros e instalaciones brindando además sus imágenes, descripciones y sus formas de acceso.. 1. Sistema operativo para dispositivos móviles de la corporación Google.

(5) Abstract. Abstract The Universidad Central "Marta Abreu" de las Villas (UCLV) has one of the largest campus of Latin American universities. The UCLV daily receives a lot of visitors which in many cases do not have the necessary knowledge and lack of a mechanism that allows them to locate and obtain the information necessary to make easier their way through the campus. In this situation it is clear that the creation and publication of a map to facilitate the geographical representation of the UCLV, is beneficial for both visitors and as for the regular center staff. The following paper presents the development and implementation of a system for Android smartphones, taking advantage of the facilities that show these devices is proposed, showing a dynamic digital map UCLV offline form where the main centers and also locate facilities providing pictures, descriptions and their means of access..

(6) Tabla de contenidos. Tabla de Contenido INTRODUCCIÓN .................................................................................................................................................. 1 Capítulo 1.. Estudio de la factibilidad de una aplicación móvil de mapas offline en la UCLV.. Tecnología de mapas digitales y su utilización en dispositivos móviles .............................................................. 4 1.1. Objeto de estudio ................................................................................................................................ 4 1.2. Objetivos estratégicos del sistema propuesto ................................................................................... 5 1.3. Sistemas automatizados existentes que brindan información de la UCLV ................................... 5 1.4. Fundamentación de los objetivos propuestos ................................................................................... 5 1.5. Dispositivos móviles y sistema operativo Android. Tendencias y tecnologías actuales para mapas y aplicaciones Android .................................................................................................................................... 7 1.5.1. El sistema operativo Android. Características y desarrollo de aplicaciones .......................... 8 1.5.2. Mapas digitales dinámicos para dispositivos inteligentes. Google Maps, OpenStreetMap, mapas offline .......................................................................................................................................... 13 1.5.3. Proceso de cartografiado digital de la UCLV. ........................................................................ 15 1.5.4. Mapas offline en Android a través de Mapsforge................................................................... 17 1.5.5. Servidor de aplicaciones GlassFish, JAX-RS y servicios web RESTful................................ 18 1.6 Metodología del proceso de desarrollo del sistema propuesto ...................................................... 19 Conclusiones parciales del capítulo I ........................................................................................................ 20 Capítulo 2. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8.. Modelo del negocio actual ................................................................................................................ 21 Características a considerar del negocio ........................................................................................ 22 Actores del negocio. Caso de uso del negocio ................................................................................. 23 Trabajadores del negocio ................................................................................................................. 24 Actores del sistema a automatizar................................................................................................... 25 Casos de Uso del Sistema. Descripción de los Casos más importantes. ....................................... 25 Definición de los requisitos funcionales .......................................................................................... 30 Definición de los requisitos no funcionales ..................................................................................... 30. Capítulo 3. 3.1. 3.2. 3.3. 3.4. 3.5. 3.6.. Modelo del Negocio y Requisitos ............................................................................................. 21. Descripción de la propuesta de solución ................................................................................. 32. Arquitectura del Sistema ................................................................................................................. 32 Diagrama de clases de diseño .......................................................................................................... 32 Diagrama de secuencia ..................................................................................................................... 33 Diseño de la base de datos ................................................................................................................ 37 Modelo de componentes ................................................................................................................... 39 Diagrama de despliegue ................................................................................................................... 42. Capítulo 4.. Planificación del sistema .......................................................................................................... 43. 4.1 Planificación basada en el método de estimación por Caso de Uso ................................................. 43 4.1.1. Estimación basada en Casos de Uso. ........................................................................................ 43 4.1.2. Análisis de Costo – Beneficio. ................................................................................................... 50 Conclusiones .......................................................................................................................................................... 51.

(7) Tabla de contenidos. Recomendaciones .................................................................................................................................................. 52 Referencias bibliográficas .................................................................................................................................... 53.

(8) Introducción. INTRODUCCIÓN La Universidad Central “Marta Abreu de Las Villas” de las Villas (UCLV) es un centro multidisciplinario con 13 facultades y cuenta con uno de los campus más extensos de las universidades latinoamericanas. La UCLV recibe diariamente una gran cantidad de visitantes asociados a las instalaciones sociales, científicas y académicas que están localizadas en ella. Estas personas en muchos casos no cuentan con el conocimiento necesario y carecen de un mecanismo que les permita ubicarse y obtener la información necesaria para realizar más fácil su paso por el campus. Ante esta situación resulta evidente que la creación y la publicación de un mapa que facilite la representación geográfica de la UCLV, resulta beneficiosa tanto para los visitantes como para el personal asiduo al centro. Los mapas constituyen hoy una fuente importante de información y una gran parte de la actividad humana está relacionada de una u otra forma con la cartografía. Con la llegada de la “Era digital” la representación geográfica ha evolucionado de manera asombrosa apoyada por el surgimiento de internet, los satélites artificiales y los Sistemas de Información Geográfica (SIG)(Bolstad, 2005). La llegada de los dispositivos móviles inteligentes (Smartphone) también ha revolucionado la interacción con los mapas digitales. Las aplicaciones que muestran mapas se ven favorecidas por los sensores presentes en estos dispositivos que permiten una experiencia de usuario más intuitiva y una dócil navegación. Estos mapas dinámicos presentes en las aplicaciones de los dispositivos móviles permiten además añadir y gestionar información sobre localizaciones específicas en las regiones. La mayoría de estas aplicaciones utilizan mecanismos que requieren de conexión y acceso a servidores remotos, como es el caso de Google Maps, lo cual constituye una limitante para una aplicación similar que se pretenda usar en Cuba debido a las limitantes de conectividad presentes en el país. La utilización de un mecanismo que muestre un mapa de forma offline resulta más consecuente con las necesidades reales presentes.(Ball, 2014) Estos elementos preceden y enuncian la realización del presente trabajo de diploma, que persigue los objetivos siguientes:. 1.

(9) Introducción. Objetivo General: Desarrollar un sistema para dispositivos móviles Android, que muestre un mapa digital dinámico de la UCLV de forma offline donde se localice sus principales centros e instalaciones brindando además sus imágenes, descripciones y sus formas de acceso. Objetivos Específicos: 1. Crear un mapa digital de la UCLV que permita ser utilizado por una aplicación Android de forma offline. 2. Implementar una aplicación Android cliente, para la visualización de la información y la localización de las instituciones y centros de la UCLV en un mapa offline. 3. Implementar una aplicación Android administrador que posibilite la inserción y gestión de la información y la posterior publicación de esta. 4. Implementar una capa de servicios que permita la interacción y el flujo de información entre la aplicación administrador y la aplicación cliente. 5. Probar el sistema. En consecuencia con los objetivos planteados para el desarrollo del presente trabajo, se parte de la siguiente Hipótesis: La implementación de una sistema Android, que muestre un mapa digital dinámico de la UCLV de forma offline, donde se visualiza sus centros e instalaciones así como las imágenes y descripciones de estos, puede proveer a los visitantes y personal de la UCLV poseedores de un dispositivos móvil Android de una herramienta que facilita su ubicación y la obtención de la información necesaria para realizar más fácil y viable su paso por el campus de la UCLV. Además la publicación y socialización de la aplicación puede permitir dar a conocer a la UCLV ante la comunidad universitaria internacional. Para la presentación del contenido y resultados de la investigación se utiliza el presente informe de Tesis de Pregrado cuyo contenido se estructuran de la forma siguiente: . un primer capítulo donde se establece un marco teórico referencial desarrollado a partir de la consulta de bibliografía actualizada sobre los temas que constituyen la plataforma de implementación del sistema,. . un segundo capítulo que presenta a través del modelo de negocio y los requisitos las características de la situación que sugiere el desarrollo del sistema,. 2.

(10) Introducción. . un tercer capítulo exponiendo la descripción de la propuesta de solución que se materializa en el sistema Android desarrollado,. . un cuarto capítulo dónde se exponen las pruebas y el análisis de factibilidad del sistema propuesto,. . un acápite de conclusiones y uno de recomendaciones donde se exponen la forma en que se lograron los objetivos propuestos, así como las pautas a tener en cuenta para futuras implementaciones del sistema y. . finalmente un acápite de bibliografía que relaciona los documentos consultados para el desarrollo de la presente investigación.. 3.

(11) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. Capítulo 1.. Estudio de la factibilidad de una aplicación. móvil de mapas offline en la UCLV. Tecnología de mapas digitales y su utilización en dispositivos móviles Las aplicaciones para dispositivos móviles que utilizan mapas digitales dinámicos permiten describir la representación geográfica de una región añadiendo y gestionando información sobre localizaciones específicas. En este capítulo abordaremos lo referente los fundamentos, la factibilidad y los requerimientos tecnológicos estudiados que permiten enunciar la propuesta de la implementación de un sistema para dispositivos móviles de la plataforma Android que utilice mapas dinámicos para gestionar la información y las localizaciones del campus de la UCLV. Este sistema es llamado en este trabajo a partir de este momento con el nombre de UCLVxDentro. 1.1.. Objeto de estudio. El campus “Abel Santamaría” de la Universidad Central “Marta Abreu” de Las Villas constituye uno de los campus universitarios más extensos de Latinoamérica. En él se encuentran ubicadas las instalaciones sociales, científicas y académicas que conforman la universidad incluyendo 13 facultades y 14 centros de investigación. La UCLV cuenta con una matrícula de 5213 estudiantes, 1.000 profesores a tiempo completo y 1.959 profesores a tiempo parcial. Posee además vínculos de colaboración con varias universidades alrededor del mundo2 contando actualmente con más de 150 convenios y protocolos de colaboración en activo, desarrollando acciones de intercambio con Instituciones de América Latina, Caribe, África, Europa, Norteamérica y Asia3. Todos estos elementos influyen en que la universidad reciba diariamente una gran cantidad de personal, entre asiduos al centro y visitantes, los cuales deben interactuar con su extenso campus y sus instituciones sin contar con la ubicación y la información precisa sobre su objeto de búsqueda dentro de este.. 2. Tomado de http://www.uclv.edu.cu/es. 3. Tomado de http://www.uclv.edu.cu/es/colaboración 4.

(12) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. 1.2.. Objetivos estratégicos del sistema propuesto. Partiendo de la premisa de que las personas arriban a la UCLV en muchos casos no cuentan con la información necesaria para realizar más fácil su paso por el campus, se propone la implementación de un mecanismo para brindar la localización geográfica y la información sobre las instalaciones de la UCLV. Este nuevo canal de información muestra formas de contacto y localización proveyendo al visitante o residente de una guía geográfica, haciendo más viable su paso por la UCLV. En este sentido, la implementación de aplicaciones para dispositivos móviles que muestran mapas se muestra como la vía idónea para mostrar un mapa digital interactivo ya que los sensores presentes en estos dispositivos permiten una experiencia de usuario más intuitiva y una dócil navegación. Estos mapas dinámicos presentes en las aplicaciones de los dispositivos móviles permiten además añadir y gestionar información sobre localizaciones específicas en las regiones. 1.3.. Sistemas automatizados existentes que brindan información de la UCLV. La universidad cuenta con sistemas aislados de información, como lo son los portales web Universo, la Intranet Universitaria, la Radio UCLV, el portal oficial de la Institución, entre otros. Estos cuentan con servicios de noticias, orientación y contacto, su acceso se realiza a través de conexión cableada o WI-FI4 a la red UCLV. Estos mecanismos no brindan ningún tipo de mecanismo de ubicación geográfica, sin contar además que el acceso a la red UCLV es privativo a sus usuarios, de manera que, un visitante no puede tener acceso a estos portales. Por lo tanto estos sistemas no resultan suficientes ni resultan factibles en la obtención de la información requerida por todas las personas que acceden a la universidad. 1.4.. Fundamentación de los objetivos propuestos. El desarrollo de UCLVxDentro parte de la necesidad de brindar mapa digital dinámico de la UCLV aprovechando las bondades y los sensores que brindan los dispositivos móviles. La elección del tipo de aplicación a desarrollar según el sistema operativo destino se basa en que en la actualidad, a pesar de que existen una variedad de sistemas operativos (SO), como Android, iOS, Windows Phone, FirefoxOs, Ubuntu Phone…etc.; son los dispositivos Android los que ocupan el 75% de los Smartphone en el mundo debido a que entre otras razones. 4. Red inalámbrica 5.

(13) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. resultan los más baratos en el mercado. Por estos motivos se fundamenta el desarrollo de un sistema que se ejecute sobre la plataforma Android.(Clocks, 2014) La mayoría de las aplicaciones Android que muestran mapas digitales y dinámicos mecanismos que requieren de conexión y acceso a servidores remotos, como es el caso de Google Maps, lo cual constituye una limitante para una aplicación similar que se pretenda usar en Cuba debido a las limitantes de conectividad presentes en el país. La utilización de un mecanismo que muestre un mapa de forma offline resulta más consecuente con las necesidades reales presentes.(Ball, 2014) La vía más popular utilizada para mostrar un mapa digital y dinámico en dispositivos móviles con SO Android reside en la utilización de las API de Google Maps. Dicha API resulta gratuita para los desarrolladores y su utilización resulta relativamente sencilla, pero su funcionamiento se hace dependiente de la conectividad a internet ya que consume servicios de los servidores WMS de Google Maps. Esto constituye una limitante para una aplicación similar que se pretenda usar en Cuba debido a las limitantes de conectividad presentes en el país. La utilización de un mecanismo que muestre un mapa de forma offline resulta más consecuente con la situación real y con las taxativas presentes. (Bolstad, 2005, Higuera, 2013b) La existencia de otras tecnologías y bibliotecas que trabajan de forma offline conlleva, en la investigación previa a la implementación, al estudio de la biblioteca mapsforge. Esta biblioteca permite visualizar un mapa vectorial obtenido de la compilación, mediante la herramienta osmosis, de un mapa descargado previamente de OpenStreetMap, sitio y servidor de mapas colaborativos y editables, el cual carecía hasta este momento, del segmento de mapa correspondiente a la UCLV. (Higuera, 2013b) Es en este segmento donde se enuncia el primer objetivo específico de este trabajo consistente en la creación de un mapa vectorial de la UCLV en formato .osm (Beyonav, 2014)(formato de los archivos OpenStreetMap) para su posterior publicación en los servidores de OpenStreetMap y la obtención del mapa vectorial utilizado por la biblioteca mapsforge luego de su compilación con osmosis. La realización de este mapa también posibilita la manipulación posterior del mapa por otros tipos de aplicaciones que consuman mapas en este formato y la visualización de este desde la web de OpenStreetMap. 6.

(14) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. El segundo objetivo contempla la creación de la aplicación cliente UCLVxDentro para la visualización de la información y la localización de las instituciones y centros de la UCLV en un mapa offline. A través de este cliente el usuario puede realizar búsquedas de centros e instituciones de la UCLV los cuales son agrupadas de forma jerárquica por la aplicación pudiendo ser mostrados a través de marcadores en el mapa dinámico y al ser seleccionados se visualiza su información textual, sus vías de contacto y sus imágenes. Toda esta información puede ser actualizada consumiendo de una capa de servicios que implementa un servidor remoto (llamado a partir de este momento UCLVxDentro_Server) existente dentro de la red UCLV. La aplicación UCLVxDentro representa la aplicación principal utilizada por los visitantes y asiduos a la UCLV. El desarrollo la aplicación Android administrador (a partir de este momento llamada UCLVxDentro_admin) posibilita la inserción y gestión de la información y la posterior publicación de las nuevas localizaciones en UCLVxDentro_Server. La aplicación UCLVxDentro_admin representa la aplicación utilizada por el personal encargado de mantener actualizada la totalidad de la información accesible por UCLVxDentro. El tercer objetivo de la aplicación hace referencia a la implementación del servidor UCLVxDentro_Server y de su capa de servicio web RESTful que permite la publicación de la información de las instituciones de la UCLV por parte de UCLVxDentro_admin y la actualización de esta por parte de UCLVxDentro (Ver Fig. 3.10). A este sistema se le aplican pruebas de caja negra para chequear el comportamiento del sistema frente a valores extremos con el fin de lograr una primera versión totalmente funcional. Además la opinión pública de los usuarios de UCLVxDentro se registra para la obtención de futuras versiones. 1.5.. Dispositivos móviles y sistema operativo Android. Tendencias y. tecnologías actuales para mapas y aplicaciones Android Para comenzar con la fundamentación teórica del desarrollo del sistema propuesto resulta indispensable repasar el concepto y la historia de los Smartphone y del sistema operativo Android. En el año 1992, la compañía IBM5 fabricó el IBM Simon, reconocido como el. 5. International Business Machines Corporation. 7.

(15) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. primer teléfono inteligente, fue distribuido por EE.UU entre agosto de 1994 y febrero del 1995, a un precio de $899, con pantalla táctil LCD monocromo y una interfaz de usuario con pocos botones físicos. Estos dispositivos en su primera generación tenían como objetivo a los grandes empresarios, principalmente por incluir muchas aplicaciones útiles, como una libreta de direcciones, calendario con citas, agenda, calculadora, reloj mundial, bloc de notas electrónico y anotaciones manuscritas a mano alzada, y además el alto precio exhibido. Otro de los saltos importantes en este aspecto fue la aparición en 2007 del iPhone, de la mano de Apple, esto revoluciona la forma de ver estos teléfonos hasta la fecha, tildados de poco cómodos por su tamaño, y además muy complejos. El iPhone con un sistema bastante intuitivo y con dimensiones minúsculas con respecto a sus primos, por primera vez se hablaba de los Smartphone como el teléfono del futuro. En 2008, Google saco a la luz un sistema operativo para Smartphone de código abierto Android. Android es un sistema operativo basado en Linux diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tabletas, inicialmente desarrollado por Android Inc. Google respaldó económicamente y más tarde compró esta empresa en 2005.] Android fue presentado en 2007 junto la fundación del Open Handset Alliance: un consorcio de compañías de hardware, software y telecomunicaciones para avanzar en los estándares abiertos de los dispositivos móviles. El primer móvil con el sistema operativo Android fue el HTC Dream y se vendió en octubre de 2008.(Ducrohet, 2013) 1.5.1. El sistema operativo Android. Características y desarrollo de aplicaciones El sistema operativo Android constituye el sistema operativo más utilizado por los dispositivos inteligentes. En estadísticas de Strategy Analytics el 79% de los Smartphone vendidos durante el año 2013 incorporaban alguna versión del sistema operativo de Google, lo que supone que 4 de cada 5 Smartphone vendidos en todo el mundo. Estos números nos hacen identificar a Android como el equivalente de Windows de los Smartphone, pues su dominio es aplastante en la actualidad. En los siguientes apartados describimos algunas características esenciales del SO Android así como del desarrollo de aplicaciones para esta plataforma. (Clocks, 2014) 1.5.1. Arquitectura del sistema operativo Android. La arquitectura del SO Android, como se muestra en la Fig. 1.1, está diseñada por varias capas que facilitan al desarrollador la creación de aplicaciones. Sobre una capa base se encuentra un 8.

(16) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. kernel o núcleo Linux 2.6 y los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa de abstracción entre el hardware y el resto de la pila de software. En una segunda capa encontramos las Bibliotecas y el Entorno de ejecución de Android. En las Bibliotecas se incluyen un conjunto de librerías C/C++ usadas por varios componentes del sistema. Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones de Android; algunas son: System C library (implementación biblioteca C estándar), bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite, entre otras. El Entorno de ejecución de Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual está optimizado para un consumo mínimo de memoria. La siguiente capa Marco de trabajo de aplicaciones, está formada por todas las clases y servicios que utilizan directamente las aplicaciones para realizar sus funciones. La mayoría de los componentes de esta capa son librerías Java que acceden a los recursos de las capas anteriores a través de la máquina virtual Dalvik. En la última capa llamada Capa de aplicaciones, se incluyen todas las aplicaciones del dispositivo, tanto las que tienen interfaz de usuario como las que no, las nativas (programadas en C o C++) y las administradas (programadas en Java), las que vienen preinstaladas en el dispositivo y aquellas que el usuario ha instalado. (Wikipedia, 2014a). 9.

(17) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. Fig. 1.1 Arquitectura sistema operativo Android 1.5.2. Desarrollo de aplicaciones para Android. SDK y ADT. El SDK (Software Development Kit) de Android, incluye un conjunto de herramientas de desarrollo. Comprende un depurador de código, biblioteca, un simulador de teléfono basado en QEMU, documentación, ejemplos de código y tutoriales. Las plataformas de desarrollo soportadas incluyen Linux (cualquier distribución moderna), Mac OS X 10.4.9 o posterior, y Windows XP o posterior. La plataforma integral de desarrollo (IDE, Integrated Development Environment) soportada oficialmente es Eclipse junto con el complemento ADT ( Android Development Tools plugin ), aunque también puede utilizarse un editor de texto para escribir ficheros Java y XML y utilizar comandos en un terminal ( se necesitan los paquetes JDK, Java Development Kit y Apache Ant) para crear y depurar aplicaciones. Además, pueden controlarse dispositivos Android que estén conectados (ej. reiniciarlos, instalar aplicaciones en remoto).(Gargenta, 2011, Wikipedia, 2014a) Las Actualizaciones del SDK están coordinadas con el desarrollo general de Android. El SDK soporta también versiones antiguas de Android, por si los programadores necesitan instalar aplicaciones en dispositivos ya obsoletos o más antiguos. Las herramientas de desarrollo son componentes descargables, de modo que una vez instalada la última versión, pueden instalarse versiones anteriores y hacer pruebas de compatibilidad.. 10.

(18) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. Una aplicación Android está compuesta por un conjunto de ficheros empaquetados en formato .apk y guardada en el directorio /data/app del sistema operativo Android (este directorio necesita permisos de supe usuario, root, por razones de seguridad). Un paquete APK incluye ficheros .dex (ejecutables Dalvik, un código intermedio compilado), recursos, etc. A la utilización del SDK por el desarrollador se unido al ADT (Android Developer Tools), el cual es un plugin que proporciona un conjunto de herramientas que se integran con el IDE Eclipse. ADT ofrece acceso a muchas características que le ayudan a desarrollar aplicaciones de Android rápidamente. ADT ofrece acceso GUI a muchas de las herramientas del SDK de línea de comandos, así como una herramienta de diseño de interfaz de usuario para la creación rápida de prototipos, diseño y construcción de la interfaz de usuario de la aplicación.(Higuera, 2013a) Los proyectos de aplicaciones que se desarrollan utilizando ADT y el SDK de Android, presentan la siguiente composición: 1. src: reservada para los paquetes contenedores de las clases del sistema. 2. gen: contiene los archivos java generados por el ADT, como la clase R, controladora de los recursos de las aplicaciones, y los propios recursos una vez barrida. 3. Las siguientes, Android x.x y Android Private Libraries, están reservadas para el soporte que ofrece la versión en cuestión. 4. assets: tiene los recursos no propios de la aplicación, los que serán usados en el tiempo de desarrollador. Los recursos que desean formar parte de la compilación final del producto, se deben guardar en una carpeta especial, no creada pero si registrada bajo el nombre raw en directorio: res/raw/<<recurso>>. 5. bin: guarda la compilación final del proyecto, esto incluye el .apk, ejecutable y producto final. 6. libs: aparece por defecto con la biblioteca del soporte inherente a la versión, y presta a la incorporación de nuevas bibliotecas. 7. res: muestra una estructura en la que confluyen los recursos de la como son las imágenes6, guardadas bajo distintas resoluciones, las vistas7, definidas a través del 6. drawable 11.

(19) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. lenguaje de marcado XML como los menús8 y los distintos valores9 como las dimensiones, estilos, y recursos. 8. AndroidManifest: es el archivo más importante, en él se definen las actividades, recursos externos consultados por la aplicación, así como permisos a solicitar. Dependiendo de su composición se generan los archivos del APK, entre ellos la información que aparece antes de la instalación. 1.5.3. Componentes de software en el desarrollo de aplicaciones Android. Como componentes de software importantes en la arquitectura Android se encuentran las actividades (activities), las vistas (view) y los intents. Las actividades representan el componente principal de la interfaz gráfica de una aplicación Android. Se puede pensar en una actividad como el elemento análogo a una ventana en cualquier otro lenguaje visual.(Oliver, 2013) Los objetos view son los componentes básicos con los que se construye la interfaz gráfica de la aplicación, análoga por ejemplo a los controles de Java o .NET. De inicio, Android pone a disposición de los desarrolladores una gran cantidad de controles básicos, como cuadros de texto, botones, listas desplegables o imágenes, aunque también existe la posibilidad de extender la funcionalidad de estos controles básicos o crear nuestros propios controles personalizados. Un intent es el elemento básico de comunicación entre los distintos componentes Android que hemos descrito anteriormente. Se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicación o entre distintas aplicaciones. Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicación, etc.. 7. layout. 8. menu. 9. value 12.

(20) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. 1.5.4. Persistencia de datos en el desarrollo de aplicaciones Android. La plataforma Android proporciona dos mecanismos principales para el almacenamiento y consulta de datos estructurados: Bases de Datos SQLite y Content Providers. Por ser el principal mecanismo que se utiliza en el sistema propuesto para la persistencia de los datos de los centros e instituciones de la UCLV, se describe en este apartado el mecanismo del SQLite. SQLite es un motor de bases de datos muy popular en la actualidad por ser de pequeño tamaño, no necesitar servidor, precisar poca configuración, ser transaccional y por supuesto por ser de código libre. Android incorpora todas las herramientas necesarias para la creación y gestión de bases de datos SQLite, y entre ellas una completa API para llevar a cabo de manera sencilla todas las tareas necesarias. En Android, la forma típica para crear, actualizar, y conectar con una base de datos SQLite se efectúa a través de una clase auxiliar llamada SQLiteOpenHelper, o para ser más exactos, de una clase propia que derive de ella y que debemos personalizar para adaptarnos a las necesidades concretas de nuestra aplicación. 1.5.2. Mapas digitales dinámicos para dispositivos inteligentes. Google Maps, OpenStreetMap, mapas offline En este apartado abordaremos los principales conceptos relacionados con el uso y creación de mapas digitales dinámicos. Estos conceptos permiten elaborar un marco teórico referencial referente a las tecnologías existentes sobre el tema y da paso a la justificación de la elección de la tecnología utilizada en el sistema propuesto. En el trascurso de la historia el uso de mapas como representación gráfica y métrica de una porción de territorio, proporcionó al hombre una herramienta poderosa para la navegación, las conquistas y la búsqueda de recursos de diversa índole, permitiendo además reducir el tiempo de duración de las travesías y búsquedas así como la pérdida de vidas humanas. Con la llegada de la “Era digital” la representación geográfica ha evolucionado de manera asombrosa apoyada por el surgimiento del internet, los satélites artificiales y los Sistemas de Información Geográfica (SIG). La llegada de los Smartphone también ha revolucionado la interacción con los mapas digitales. Las aplicaciones que muestran mapas se ven favorecidas por los sensores presentes en estos dispositivos que permiten una experiencia de usuario más intuitiva y una dócil navegación. En 13.

(21) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. especial el sensor de GPS(OpenStreetMap-Wikipedia, 2013) resulta de gran utilidad en este tipo de aplicaciones pues haciendo uso de este podemos obtener la localización (latitud, longitud) exacta de nuestro dispositivo para luego poder ubicar en el mapa dinámico nuestra ubicación. Estos mapas dinámicos presentes en las aplicaciones de los dispositivos móviles permiten además añadir y gestionar información sobre localizaciones específicas en las regiones. La mayoría de estas aplicaciones utilizan mecanismos que requieren de conexión y acceso a servidores remotos, como es el caso de Google Maps y OpenStreetMap. (Wikipedia, 2014b) Google Maps es un servidor de aplicaciones de mapas en la web que pertenece a Google. Ofrece imágenes de mapas desplazables, así como fotografías por satélite del mundo e incluso la ruta entre diferentes ubicaciones o imágenes a pie de calle Google Street View(MacDonald, 2007). Con la introducción de las herramientas de búsqueda y el movimiento en el mapa, Google Maps ha hecho crecer el interés en el uso de las imágenes satelitales, tanto para la investigación como para fines personales. Vale destacar que en el 2012 Google cambia la política de uso de su producto Google Maps, pasando a cobrar por la utilización del API a sitios web que generan mucho tráfico. Para la utilización de los mapas de Google Maps desde dispositivos móviles Android es utilizable gratuitamente la API versión 1 y versión 2 de Google Maps. Dicha API resulta gratuita para los desarrolladores y su utilización resulta relativamente sencilla, pero su funcionamiento se hace dependiente de la conectividad a internet ya que consume servicios de los servidores WMS de Google Maps.(Wikipedia, 2013b) El competidor y alternativa por excelencia de Google Maps, OpenStreetMap (también conocido como OSM) es un proyecto colaborativo para crear mapas libres y editables. Los mapas se crean utilizando información geográfica capturada con dispositivos GPS móviles, ortofotografías y otras fuentes libres. Esta cartografía, tanto las imágenes creadas como los datos vectoriales almacenados en su base de datos, se distribuye bajo licencia abierta Open Database License (ODbL). OSM permite descargar libre y gratuitamente segmentos de mapas en formato .osm (Wikipedia, 2014b). El archivo .osm descargado previamente de OpenStreetMap puede ser utilizado por herramientas, como osmosis, que compilan este mapa en diferentes formatos y estructuras 14.

(22) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. utilizables luego por distintas librerías de terceros que visualizan mapas. En el caso del SO Android, entre las bibliotecas que hacen uso de estos formatos se encuentran Osmdroid y Mapsforge.(Media-Wiki, 2013) Tanto Osmdroid como Mapsforge constituyen alternativas offline del API v1 de Google Maps y su uso en la aplicación de sistemas resulta igualmente sencillo. Su principal diferencia radica en que Osmdroid utiliza tiles, imágenes del mapa a diferente tamaño que son recreadas y unificadas por la biblioteca de forma dinámica para mostrar el mapa digital dinámico y sus distintos niveles de zoom, y mapsforge utiliza el mapa de forma vectorial. Los mapas vectoriales guardan información en forma de grafo de nodos con atributos, luego la biblioteca mapsforge es la encargada de renderizar en forma de mapa toda esta información. La ventaja del mapa vectorial sobre los tiles recae en que el peso del mapa vectorial resulta mucho menor que el mapa en forma de tiles (UCLV ocupa unos 16 KB en el formato vectorial .map), además la representación vectorial permite el cálculo de ruta entre dos puntos.(Media-Wiki, 2013) 1.5.3. Proceso de cartografiado digital de la UCLV. Este apartado muestra el proceso de creación de un mapa vectorial de la UCLV en formato .osm ya que OpenStreetMap carecía del segmento de mapa correspondiente a la UCLV. La realización de este mapa también posibilita la manipulación posterior del mapa por otros tipos de aplicaciones que consuman mapas en este formato y la visualización de este desde la web de OpenStreetMap. En este sentido, las investigaciones realizadas arrojaron que la UCLV cuenta con mapas en formato duro provistos por las prácticas laborales realizadas por los estudiantes de la facultad de Construcciones. Este formato no permite puede tomar todo el potencial que pudieran ofrecer. Teniendo en cuenta la poca documentación digital existente, se decide hacer un mapa vectorial de la universidad partiendo de una foto satelital (ver Ilustración 1.1), para lo cual se utiliza un software llamado Glogal Mapper encargado de encuadrarla bajo dos puntos o más y se procede al marcaje vectorial de la foto permitiendo la creación del mapa UCLV. Una vez terminado el proceso se exporta el trabajo en formato .osm.. 15.

(23) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. Ilustración 1.1 Foto satelital de la universidad y zonas aledañas, provista por el Dpto. de Inversiones de la UCLV. Como último paso en la confección del mapa, se utiliza el software Josm brindado por la comunidad de desarrollo OpenStreetMap y especializado en el formato .osm. En este software se procede a añadir etiquetas e íconos al mapa posibilitando el enriquecimiento de este y su correcto renderizado por la biblioteca mapsforge y por el servidor de OpenStreetMap. Es en este paso donde se procede a compartir el maps de la UCLV con el servidor de mapas de OpenStreetMap a través del propio software. Luego de publicado, este mapa puede ser visto y modificado por la comunidad. Vale destacar que para realizar esto se debe registrar como usuario del sitio OpenStreetMap el cual es un proceso sencillo y gratuito.(Wikipedia, 2014b). 16.

(24) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. 1.5.4. Mapas offline en Android a través de Mapsforge. Luego de describir el proceso de creación del mapa vectorial de la UCLV en formato .osm se describe en este apartado los conceptos fundamentales abordados en el proceso de utilización de la biblioteca Mapsforge para la representación de mapas de OSM en dispositivos Android. El instituto de ciencia de la computación Freie Universität Berlin10(Wikipedia, 2013a), empezó a trabajar en el año 2008 en la construcción de una biblioteca para tomar los datos de OSM y recrear sus mapas, así nace Mapsforge, que luego de meses de trabajo logró además brindar mecanismos de representación de marcadores independientes sobre el mapa y el manejo de capas sobre el mapa.(Media-Wiki, 2013) La biblioteca tiene un tamaño de 400 KB, su código es 100% libre y se distribuye bajo la licencia LGPL11(Foundation, 2007). Mapsforge soporta navegación multitáctil, cuenta con unas 200 etiquetas del OSM y su API12 resulta fácil de utilizar y muy similar a la de GoogleMaps. Para desarrollar con ella solo es necesario incluirla en el proyecto Android y utilizando un elemento llamado MapView, muestra una vista partiendo de un mapa vectorial binario pasado como parámetro. Ver ¡Error! No se encuentra el origen de la referencia.. Este mapa vectorial binario, es obtenido a través de la compilación, mediante la herramienta osmosis, de mapas en formato .osm de OpenStreetMap. Osmosis genera mapas con extensión .map de muy poco peso, permitiendo además seleccionar una región en específico del .osm (OpenStreetMap & Media-Wiki) (Santiago Higuera). 10. La Universidad Libre de Berlín, se fundó en 1948 como contraparte a las diferencias políticas de estudiantes y profesores de la universidad de Humboldt de Berlín. Es nombrada por el gobierno Alemán en 2007 como “universidad de elite”. 11. “…licencia de software creada por la Free Software Foundation que pretende garantizar la libertad de compartir y modificar el software cubierto por ella, asegurando que el software es libre para todos sus usuarios.” 12. Application Programming Interface. 17.

(25) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. En el caso del sistema propuesto la compilación mediante osmosis del .osm de la UCLV genera un archivo binario de 16 kb llamado por convenio uclv.map. 1.5.5. Servidor de aplicaciones GlassFish, JAX-RS y servicios web RESTful En este apartado se describe los conceptos teóricos fundamentales abordados en el proceso de implementación del servidor UCLVxDentro_Server y de su capa de servicios web RESTful que permite la publicación de la información de las instituciones de la UCLV por parte de UCLVxDentro_admin y la actualización de esta por parte de UCLVxDentro (Ver Fig. 3.10). El servidor UCLVxDentro_Server está implementado como un servidor de aplicaciones GlassFish. Este servidor que implementa las tecnologías definidas en la plataforma Java13 y permite ejecutar aplicaciones que siguen esta especificación. GlassFish gestiona la mayor parte (o la totalidad) de las funciones de lógica de negocio y de acceso a los datos de las aplicaciones, permitiendo la centralización y la disminución de la complejidad en el desarrollo de estas. En el caso de UCLVxDentro_Server, el servidor accede a un servidor de base de datos MySQL, donde se almacena los datos e imágenes de las instituciones y centros de la UCLV en la base de datos UCLVxDentro. Estos datos son publicados como servicios web RESTful utilizando el API JAX-RS. La actualización y la publicación de este servicio web se realiza en formato JSON (acrónimo de JavaScript Object Notation. JSON es un formato ligero para el intercambio de datos, subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML. Para la creación del servidor UCLVxDentro_Server se utilizó el IDE Netbeans versión 7.2 que facilita de forma rápida la creación del servidor GlassFish, y las capa de servicio web RESTful que publica las instancias de las entidades generadas a partir de la base de datos UCLVxDentro 14. 13. Tomado de http://es.wikipedia.org/wiki/Java_EE. 14. Tomado de http://java.sun.com/javaee/6/docs/tutorial/doc/giepu.html 18.

(26) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. 1.6. Metodología del proceso de desarrollo del sistema propuesto. El proceso de desarrollo del sistema para dispositivos móviles Android15 a implementar, se define siguiendo AUP. La elección de esta metodología está determinada normalmente por el estudio de la cantidad de personas involucradas, los medios y el tiempo disponible. Confluyen también factores como la dependencia a la interacción con distintas instituciones de la universidad y la premura de los hechos. El AUP16 es una metodología de desarrollo ágil proveniente de RUP17, pero con particularidades notables a la hora del detallado de documentos, tomando solamente lo necesario o indispensable. El ciclo de vida de AUP está compactado en cuatro fases:  la Iniciación, la cual indica el alcance del proyecto, la arquitectura a utilizar, la implicación del personal, los medios disponen y financiamiento,  la Elaboración, que mejora la arquitectura planteada,  la Construcción, donde se elabora el software funcional, . y por último la Transición, encargada de validar y desplegar el producto final.. Su naturaleza iterativa incremental se desglosa en cinco disciplinas: . el Modelado, aborda el negocio de la organización, el problema del dominio e identifica las soluciones viables,. . la Implementación, el cual transforma el modelo en código ejecutable y lleva a cabo un nivel básico de pruebas,. . el Despliegue, donde se planifica la entrega del proyecto y lo deja en manos del usuario final, listo para usarse,. . la Administración de la Configuración, que chequea y administra las versiones y cambios del producto,. 15. Nombre utilizado, por la comunidad de Google para lanzar un sistema operativo para Smartphone. 16. Agile Unified Process. 17. Rational Unified Process. 19.

(27) Estudio de factibilidad de una aplicación móvil de mapas offline en la UCLV. Tecnología de mapas digitales.. . el Entorno, encargado de gestionar el ambiente de trabajo, provee las guías y herramientas pertinentes para el desarrollo satisfactorio del grupo.(Ambler, 2006). Conclusiones parciales del capítulo I En este capítulo se ha hecho un análisis de la factibilidad de la implementación de un sistema móvil de mapas offline en la UCLV y se abordaron aspectos técnico-teóricos sobre los mapas digitales dinámicos y su implementación en dispositivos móviles. En el siguiente capítulo se aborda el modelo del negocio y requisitos enunciando las características de la situación que sugiere el desarrollo del sistema.. 20.

(28) Modelo del Negocio y Requisitos. Capítulo 2. Modelo del Negocio y Requisitos El presente capítulo se describe los mecanismos disponibles a los visitantes y asiduos de universidad en su intento de ubicarse y obtener la información necesaria para realizar su recorrido por el campus. El estudio de estos mecanismos a través de la descripción del negocio, las reglas, la definición de los requisitos y los actores del negocio constituye una vía de introducción a la solución del problema. 2.1.. Modelo del negocio actual. La localización, por parte del personal, de instalaciones sociales, científicas y académicas dentro de cualquier región de la UCLV se realiza partiendo de información obtenida a través información gráfica a modo de señalización o a través de un conocedor de la misma, esta última se muestra en el Fig. 2.1. Una persona solicita información sobre el lugar donde se encuentra a otra persona escogida de libre voluntad, esta concede dicha información y el iniciador la captura comprobando si se encuentra en el lugar hacia donde se dirige y actúa en consecuencia, terminando el proceso si se encuentra en el lugar destino o solicitando la dirección del lugar a manera de nueva información y luego dirigiéndose al lugar con la dirección provista. Luego de esto el proceso se puede volver a repetir.. 21.

(29) Modelo del Negocio y Requisitos. Fig. 2.1 Diagrama BPMN, muestra la interacción entre dos personas para que una de ellas encuentre su destino.. 2.2.. Características a considerar del negocio. Las condiciones actuales de la UCLV son consideradas para la construcción de un sistema que gestione su localización geográfica y la información asociada a la misma. Con este propósito se recogen las principales características del negocio. . Para diferenciar las instalaciones existen diferentes categorías:. 22.

(30) Modelo del Negocio y Requisitos. o Instalaciones administrativas: Actualmente existen los edificios Rectorado y Finanzas o Instalaciones científicas e investigativas: CEI, CEETI, CEE, CEETA, CEQA, CIJB-VC, CIS, CAP, CIDEM, CIAP, CEC, CEDE, CETUR, CEED18 o Facultades; Existen doce facultades, entre carreras técnicas y de letras o Gastronómicos; un restaurante especializado, dos restaurantes temáticos, una panadería, un centro especializado en maní, una cafetería, una pizzería, varios merenderos y puntos de ventas comestibles. o Becas; tres edificios de mujeres, siete de hombres y dos de profesores. o Deportivos; un centro deportivo, y varios terrenos y áreas repartidas por todo el lugar. o Recreativos y culturales; un teatro, un centro recreativo y de esparcimiento, varios espacios dedicados al fomento artístico. o Históricos; un sitial histórico, varias estampas, tarjas y estatuas, y las propias edificaciones. o Bibliotecas; una biblioteca central, y una en cada facultad o Parques: cuatro parques y varios parques pequeños o Comerciales; una tienda Caracol, una barbería Vale destacar que debido a la arquitectura heterogénea de la universidad una misma edificación puede contener instalaciones que pertenezcan a categorías diferentes, es por esto que la agrupación de las instalaciones se propone realizarla por categoría y no por edificación. 2.3.. Actores del negocio. Caso de uso del negocio. La confrontación de un problema asociado a la localización, se define como la interacción existente entre la persona que busca una instalación y uno o un grupo de conocedores o mapas que proveen información relevante. Dicho esto aparece el Actor del negocio Persona encargada de solicitar información para localizar su destino.. 18. Tomado de http://www.uclv.edu.cu/es/ 23.

(31) Modelo del Negocio y Requisitos. El actor del negocio Persona representa a todo aquel que se acerque de manera ocasional o consecuente a la universidad. Dicho actor está asociado al caso de uso Solicitar información sobre una institución(es) de la UCLV. Muchas de estas personas afrontan por primera vez la universidad para cursar estudios, y empiezan los cursos desorientados, algunos presentan problema doble al no dominar el idioma para pedir asesoramiento como es el caso de los estudiantes extranjeros. Este grupo pierde tiempo valioso en caso de equivocaciones en la orientación. Esta idea queda evidenciada en el Diagrama de Caso de Uso del Negocio Pedir Información. Fig. 2.2.. Fig. 2.2 Diagrama de Caso de Uso del Negocio. Los acontecimientos alrededor de una persona que desconozca donde se encuentra y/o a donde se dirige dentro de la UCLV, permite, mediante la modelación de casos de usos, identificar los aspectos de este proceso mostrados en la Tabla 2.1. Caso de Uso del negocio #1 Nombre. Solicitar Información sobre la UCLV. Descripción. Como el nombre del mismo deja entrever, para solicitar información de la UCLV, solo hay que tener alguien que la provea.. Actores asociado. Persona. Tabla 2.1 Detallado del Caso de Uso del Negocio “Solicitar Información sobre la UCLV”. ¿Dónde estoy? ¿Cómo llego a dónde necesito ir? ¿A quién le pregunto? Para responder estas interrogantes se precisa de una mano amiga dispuesta a ayudar en la búsqueda del destino, pero, si en lugar, un teléfono responde estas interrogantes se lograría una mayor independencia que implicaría consecuentemente una mayor eficiencia en el proceso de búsqueda. 2.4.. Trabajadores del negocio 24.

(32) Modelo del Negocio y Requisitos. Los trabajadores del Departamento de Comunicación Institucional tienen como misión contribuir a la cultura integral de la comunidad universitaria, diseminando la información que demandan los estudiantes y trabajadores sobre el desarrollo de los procesos universitarios y el contexto nacional e internacional en correspondencia con las políticas y estrategias del país.19 Estos trabajadores, en ocasiones poco consultados, constituyen trabajadores del negocio, pues dominan parcial o totalmente aspectos y características de la UCLV, y están prestos a ofrecerla interactuando con el caso de uso Brindar Información sobre la UCLV. 2.5.. Actores del sistema a automatizar. Como se explica en el apartado 1.4 el sistema propuesto cuenta con dos aplicaciones UCLVxDentro y UCLVxDentro_admin. La primera resulta de dominio público y la otra para el uso por personal calificado en la labor de administrar la información manejada y mostrada en el mapa por UCLVxDentro. Para la aplicación UCLVxDentro se define un Usuario como actor del sistema. Dicho usuario de define como cualquier persona, asidua de la UCLV o ajena al centro, poseedora de un Smartphone Android que interactúa con la aplicación a través de las funcionalidades de acceder al mapa, mostrar el estado del tiempo y mostrar características y marcadores de instituciones y edificaciones de la UCLV. En el caso de UCLVxDentro_admin se define el actor Administrador el cual accede a las facilidades del Usuario antes descritas, pero además gestiona, añade u elimina información y localizaciones de la UCLV administrando así el contenido visible por la aplicación UCLVxDentro. 2.6.. Casos de Uso del Sistema. Descripción de los Casos más importantes.. Un Usuario como actor del sistema interactúa con las funcionalidades, tales como la visualización del mapa y el estado del tiempo de la UCLV, la gestión de sus marcadores de localización bajo criterio personal así como el envío de una imagen del mapa con la localización actual a algún contacto de correo electrónico escogido. El usuario si se encuentra en el rango cubierto por la red UCLV vía WI-FI puede realizar la actualización de los datos de las localizaciones de la UCLV consumiendo el servicio web brindado por 19. Tomado de http://www.uclv.edu.cu/es/ 25.

(33) Modelo del Negocio y Requisitos. UCLVxDentro_server. Como se aprecia en la Fig. 2.3 el diagrama de casos de uso simula un tanto la interacción real del Usuario con la aplicación y muestra el posible flujo de vistas, donde la interacción se puede hacer en dos direcciones como es típico en las aplicaciones Android.. Fig. 2.3 Diagrama de Casos de Uso del Sistema pertinente al actor del sistema Usuario. Otro de los actores del sistema es el Administrador (Fig. 2.4), encargado de mantener actualizada la información sobre las localizaciones tal como el nombre, el número de teléfono, sus imágenes etc. El Administrador es encargado además de jerarquizar este contenido a través 26.

(34) Modelo del Negocio y Requisitos. de la inserción de categorías e instituciones Ver epígrafe 3.2. El Administrador se encarga de publicar los nuevos datos insertados en el servidor de aplicaciones UCLVxDentro_server. Es en el Administrador donde recae el peso de las beneficios del sistema, según sea el nivel de detalles de su información publicada del mismo aumenta las facilidades de la aplicación cliente UCLVxDentro. El Administrador puede realizar en la aplicación los casos de uso de los usuarios Consultar Información y Visualizar Mapa, necesarios para verificar la información insertada y luego publicada.. Fig. 2.4 Diagrama de Casos de Uso del Sistema pertinente al actor del sistema Administrador. La Tabla 2. muestra el caso de uso del sistema Cargar mapa. Caso de Uso del Sistema #1. 27.

(35) Modelo del Negocio y Requisitos. Nombre. Visualizar Mapa. Descripción. Es el principal caso de uso en cuanto a funcionalidad, permite la consulta y manipulación de los datos de los casos de uso asociados al mismo.. Caso de uso asociado. Consultar. Información,. Gestionar. Marcadores,. Gestionar. Institución, Gestionar Local. Actores asociado. Usuario, Administrador Tabla 2.3 Detallado del Caso de Uso del Sistema “Cargar Mapa”. Para tener una lógica a seguir se debe implementar algún tipo de arquitectura en el caso de uso del sistema Consultar Clasificaciones se muestra la misma.Tabla 2.2 Caso de Uso del Sistema #2 Nombre. Consultar Información. Descripción. Es accedido desde la instancia del caso de uso Visualizar Mapa a partir de su propia iniciación a través del Usuario. Ofrece una serie de clasificaciones para organizar la información contenida en el etiquetado estándar del mapa.. Casos de uso asociado. Visualizar Mapa. Actores asociado. Usuario, Administrador. Tabla 2.2 Detallado del Caso de Uso del Sistema “Consultar Mapa”. El Usuario puede gestionar sus propios marcadores de localización mediante sus propios criterios y preferencias.Tabla 2.3 Caso de Uso del Sistema #3 Nombre. Gestionar Marcadores. Descripción. El usuario accede a su registro de localizaciones, las que puede gestionar y/o etiquetar en el mapa.. Casos de uso asociado. Visualizar Mapa. Actores asociado. Usuario, Administrador 28.

(36) Modelo del Negocio y Requisitos. Tabla 2.3 Detallado del Caso de Uso del Sistema “Gestionar marcadores de Usuario”. Otra de las características del software es la consulta al tiempo de la universidad, esto es manejado por el caso de uso del sistema Consultar estado del Tiempo.Tabla 2.4 Caso de Uso del Sistema #4 Nombre. Consultar Estado del tiempo en la UCLV. Descripción. La universidad cuenta con un servicio web en formato JSON donde se publica el estado del tiempo. Una vez conectado a la WIFI el sistema consume dicho servicio y muestra los pronósticos del tiempo.. Actores asociado. Usuario, Administrador. Tabla 2.4 Detallado del Caso de Uso del Sistema “Consultar estado del Tiempo”. Para socializar el proceso de interacción, SAMU permite compartir el lugar en donde se encuentran mediante el correo electrónico adjuntando una foto.Tabla 2.5. Caso de Uso del Sistema #5 Nombre. Compartir Localización. Descripción. Si se tiene acceso a la WIFI mediante el correo electrónico se adjunta una foto a través de la aplicación enviando el lugar donde se encuentra la persona que realiza la acción.. Actores asociado. Usuario, Administrador. Tabla 2.5 Detallado del Caso de Uso del Sistema “Compartir Localización”. La persona encargada de la gestión del sistema es el Administrador a través del caso de uso del sistema Gestionar marcadores de localización.Tabla 2.6. Caso de Uso del Sistema #6 Nombre. Actualizar base de datos. 29.

(37) Modelo del Negocio y Requisitos. Descripción. Se decide por voluntad propia cuando actualizar su base de datos mediante una conexión al servidor, y de esta forma retomar nuevos o modificados datos de la Información, afectando directamente a los casos de uso Consultar Información y Visualizar Mapa.. Actores asociado. Usuario, Administrador. Tabla 2.6 Detallado del Caso de Uso del Sistema “Gestionar marcadores. de localización”. Caso de Uso del Sistema #7 Nombre. Gestionar Local. Descripción. El administrador cuenta con el módulo de administración, el que le permite eliminar o editar mediante una vista o insertar a través del mapa.. Caso de uso asociado. Visualizar Mapa. Actores asociado. Administrador. 2.7.. Definición de los requisitos funcionales. Los requisitos funcionales del sistema asociados a la UCLV están dirigidos a: . Mostrar información.. . Ubicar marcadores en el mapa.. . Buscar información.. . Consultar estado del tiempo.. . 2.8.. Definición de los requisitos no funcionales. La aplicación es funcional en las versiones del Sistema Operativo Android desde la versión 2.1. La compatibilidad entre las versiones se realiza a través de la librería Action Bar. 30.

(38) Modelo del Negocio y Requisitos. Sherlock, teniendo las cualidades de la versión 4.4 en las otras. La interfaz de usuario se rige por los estándares de diseño de Android, orientado al buen desempeño e interpretación por parte de los usuarios finales. Los usuarios de la aplicación UCLVxDentro pueden interactuar con ella en dos idiomas: en inglés y español, gracias a las facilidades brindadas por Android para crear sistemas multilenguaje. Los dispositivos Smartphone deben poseer un dispositivo de almacenamiento externo SDCard para copiar datos de la aplicación, además, para un funcionamiento con todas las funcionalidades activas debe contar con GPS y WI-FI. (FedeProEx, 2013). 31.

(39) Descripción de la propuesta de solución. Capítulo 3. 3.1.. Descripción de la propuesta de solución. Arquitectura del Sistema. El sistema está planteado con una arquitectura basada en el Modelo Vista Controlador (MVC) como la mayoría de los proyectos Android. Esto permite manejar de forma independientes las actividades encargadas de las vistas y las clases controladoras que como su nombre da a relucir están encargadas de controlar el funcionamiento interno del sistema. En el caso específico de Android el modelo vista-controlador tiene como principal bondad separar los datos de una aplicación, la interfaz de usuario y la lógica de negocios en tres componentes distintos que se relacionarán para tener como resultado la aplicación final. (Buschmann, 1996) Modelo: Son las representaciones que se construyen basadas en la información con la que operará la aplicación. El modelo elegido depende obviamente de las necesidades de información de la aplicación. Como ejemplo de clases pertenecientes al modelo tenemos las clases Categoría, Local, Institución y Edificación. Vista: No es más que la interfaz con la que va a interactuar el usuario. En Android, las interfaces se construyen en XML. Construyendo un esqueleto en XML que equivale al HTML de un sitio web. Ejemplo de vistas en UCLVxDentro tenemos home.xml, categorías.xml etc. Controlador: Constituyen el conjunto de clases que permiten desplegar y consumir información de/para el usuario. Estos controladores se consideran el núcleo de la aplicación. Ejemplo de clases controladora en UCLVxDentro tenemos la clase Controladora que accede a la base de datos y carga en listas de instancias de clases pertenecientes al modelo, la información persistente en la base de datos. (Ver epígrafe 3.4) 3.2.. Diagrama de clases de diseño. El modelo de datos de la aplicación parte del concepto organizacional de la universidad. En la Fig. 3.1 queda representada esta idea, que ha sido trata con anterioridad en el apartado 2.7, la cual expone la relación existente entre los locales (secretarías, aulas, departamentos, oficinas, etc.) y las instituciones (facultades, edificios administrativos, centros científicos, residencias, etc.). Existe un grupo de elementos en común que son compartidos mediante la clase Edificación, siendo esta una definición conceptual de lo que en realidad representa una edificación. Y por último se registran las categorías asociadas a un tipo, diferenciando las organizaciones. Esta representación toma parte en varios de los casos de usos del sistema; las 32.

(40) Descripción de la propuesta de solución. vistas se apoyan en ella para mostrar o gestionar, según sea el caso, sus datos, tomando como intermediario a la clase Controladora con sus listas de Institución y de Categoría, tomadas directamente de la base de datos del sistema y a la propia Institución haciendo el mismo proceso con una lista de Local.. Fig. 3.1 Diagrama de Clase del Modelo de Datos del Sistema. 3.3.. Diagrama de secuencia. La aplicación consta con una serie de funcionalidades que toman forma a través de las pantallas y su interacción con las clases manejadoras de datos. En la Fig. 3.2 se muestran los pasos a seguir para hacer uso de la información expuesta en la aplicación. Una vez el usuario accede a la aplicación, se encuentra con el Home, este brinda los vínculos a las principales funcionalidades donde escoge la opción de listar las categorías, acto seguido selecciona la de su preferencia, y de esta forma obtiene las Instituciones pertenecientes a esta categoría para de esta manera obtener los detalles de las misma después de seleccionarlas, y a su vez ver los Locales asociados a una Institución. Entre los pasos descritos anteriormente se brinda la. 33.

(41) Descripción de la propuesta de solución. funcionalidad de acceder a la información y enriquecerla visualizando el mapa de la universidad con sus respectivas referencias a los elementos seleccionados. La Fig. 3.3 muestra como el administrador del sistema introduce los datos a través de su aplicación, la única que tiene acceso a estos datos para su modificación o creación. Cuando se activa el módulo de administración partiendo desde el Home, se accede al mapa de la UCLV para insertar los marcadores pertinentes, después se encuentra con una interfaz para nutrir los datos recogidos en el mapa (latitud, longitud), accediendo a recursos del SO Android, como la cámara y el sistema de archivo, y etiquetando bajo categoría, nombre, etc. (Consultar Fig. 3.1 ). 34.

(42) Descripción de la propuesta de solución. Fig. 3.2 Diagrama de Secuencia de la funcionalidad Consultar Información del caso de uso del mismo nombre. 35.

(43) Descripción de la propuesta de solución. Fig. 3.3 Diagrama de Secuencia de la funcionalidad Insertar Institución del caso de uso Gestionar Institución. 36.

(44) Descripción de la propuesta de solución. 3.4.. Diseño de la base de datos. El diseño de la base de datos contiene tres diagramas de modelos físicos correspondientes a las partes que conforman las funcionales del sistema, siendo estas: UCLVxDentro, UCLVxDentro_admin y UCLVxDentro_Server. El modelo de la Fig. 3.4 muestra los puntos comunes de los demás modelos, la diferencia radica en la cantidad de tablas y relaciones así como lenguaje20, los campos y el trato que reciben por parte del subsistema en el cual se encuentre anclado. Las tablas invariables serían, institución y local, mientras que edificación, categoría y versión, toman aspecto según el contexto. La tabla edificación, para la aplicación cliente, es la base de los campos de los demás modelos, también este es el caso de categoría y versión.. Fig. 3.4 Modelo físico de la base de datos de la aplicación cliente. 20. SQLite para las aplicaciones Android y MySQL para el servidor 37.

(45) Descripción de la propuesta de solución. Como SQLite no cuenta con un gestor, es solo un archivo encriptado, de fácil acceso, no se implementan relaciones entre tablas sí no son creadas conceptualmente. La afiliación entre las tablas institución y local con edificación es una generalización, lograda por la migración de la llave primaria de esta última a las otras dos. Para la relación uno a muchos, local contiene la llave primaria de institución y esta, la de categoría, de esta manera queda conformada toda relación, excluyendo del esquema una tabla versión auxiliar, para el tratamiento de las versiones de la base de datos. La Fig. 3.5 en incluye modificaciones en los campos de sus tablas. edificación adquiere los campos key_insert y key_update, que son utilizados para el filtrado de los datos para su posterior actualización en la base de datos central, también le sucede lo mismo a categoría. En versión aparece key_delete_edificación y key_delete_categoría, utilizadas con el mismo propósito de actualización.. Fig. 3.5 Modelo físico de la base de datos de la aplicación de administración. 38.

Figure

Fig. 1.1 Arquitectura sistema operativo Android  1.5.2  Desarrollo de aplicaciones para Android
Ilustración 1.1 Foto satelital de la universidad y zonas aledañas, provista por el Dpto
Fig.  2.1  Diagrama  BPMN, muestra  la  interacción  entre  dos  personas  para  que  una  de  ellas  encuentre  su  destino
Fig. 2.2 Diagrama de Caso de Uso del Negocio
+7

Referencias

Documento similar