departamento departamento de computación
TRANSCRIPT
Título: Aplicación Android para el “Jardín Botánico de la UCLV”
Autor: José Alberto Bisbal Marín
Tutores: Dr. Daniel Gálvez Lio
MSc. Lázaro Jesús Pérez Lugo
, junio, 2019
Departamento
Departamento de Computación
, June, 2019
Academic Departament
Department of Computing
Title: Android application for the "Botanical Garden of the UCLV".
Author: José Alberto Bisbal Marín
Thesis Director: Dr. Daniel Gálvez Lio
MSc. Lázaro Jesús Pérez Lugo
Este documento es Propiedad Patrimonial de la Universidad Central “Marta Abreu” de
Las Villas, y se encuentra depositado en los fondos de la Biblioteca Universitaria “Chiqui
Gómez Lubian” subordinada a la Dirección de Información Científico Técnica de la
mencionada casa de altos estudios.
Se autoriza su utilización bajo la licencia siguiente:
Atribución- No Comercial- Compartir Igual
Para cualquier información contacte con:
Dirección de Información Científico Técnica. Universidad Central “Marta Abreu” de Las
Villas. Carretera a Camajuaní. Km 5½. Santa Clara. Villa Clara. Cuba. CP. 54 830
Teléfonos: +53 42281503-1419
i
Pensamiento
“No importa lo lento que vayas mientras no te detengas”
Confucio
ii
Dedicatoria
A mi novia María, ya que sin su apoyo incondicional no hubiera llegado a este resultado
y que ha sido la que me ha motivado a seguir hacia adelante.
iii
Agradecimientos.
A mi novia por confiar en mí y apoyarme siempre y por todos los sacrificios para lograr
de mi lo que soy.
A mis profesores Yanet Rodríguez Sarabia y Gerardo Hernández Cuellar por confiar
en mí y brindarme todo su apoyo, sin ellos no hubiera podido llegar a este resultado.
A mis amigos Manuel Enrique, Víctor San Gil, Leticia La Guardia, Julio César, Oscar
Miguel, Ernesto Pérez y Miguel Ángel, por todo el tiempo dedicado, por sus consejos,
por sus apoyos incondicionales tanto en el plano docente como en lo personal.
A mis profesores y compañeros de aula especialmente Alejandro Ramón y Ruddy por
brindarme todo su apoyo durante la carrera.
A Jesús Daniel por transmitirme sus experiencias en las tecnologías empleadas para el
desarrollo de aplicaciones móviles.
A todas aquellas personas que de una forma u otra contribuyeron a que este sueño fuese
hoy una realidad.
Muchísimas gracias a todos
iv
Resumen
En la actualidad el uso de los teléfonos celulares se ha convertido en una necesidad de
las personas ya que nos brindan disímiles funciones, gracias a los avances de hardware
y de software. Con el desarrollo de esta aplicación móvil se desea lograr la divulgación
de la historia, los servicios y las áreas de colecciones vivas contenidas en el Jardín
Botánico de la UCLV. En el desarrollo de la aplicación se emplean diferentes librerías de
software, varias tecnologías y diferentes diagramas. Concluida la aplicación se sometió
a diferentes pruebas de software para corregir las posibles fallas del sistema. La
aplicación “Jardín Botánico UCLV” permite difundir la historia, los servicios que presta y
las áreas de colecciones vivas de plantas del Jardín Botánico de la UCLV.
Palabras claves: Jardín Botánico UCLV, aplicación móvil
v
Abstract
Now days the use of smartphones has become a necessity for people, they provide us
different functions thanks to advances in hardware and software. With the development
of this mobile application it is desired to achieve the disclosure of the history, services
and living collections areas contained in the Botanical Garden of the UCLV. In the
development of the mobile application different software libraries, several technologies
and different diagrams are used. The application was submitted to different software tests
to correct possible system failures. The application "Botanical Garden UCLV" allows to
disseminate the history, the services it provides and the areas of living collections of
plants of the Botanical Garden of the UCLV.
Keywords: Botanical Garden of the UCLV, mobile application
vi
Contenido
Introducción ..................................................................................................................... 1
CAPÍTULO 1. CARACTERIZACIÓN DEL MARCO TEÓRICO ........................................ 4
1.1 El Jardín Botánico de la UCLV ................................................................................................ 4
1.2 Aplicaciones existentes vinculados al campo de acción. ...................................................... 5
1.3 “Android” El Sistema Operativo de Google para dispositivos móviles ................................. 5
1.3.1 Evolución del Sistema Operativo Android ...................................................................... 7
1.4 Metodologías Ágiles empleadas en el desarrollo de aplicación móviles .............................. 8
1.5 Tipos de Aplicaciones para Dispositivos Móviles. ............................................................... 10
1.6 Entorno de desarrollo, Lenguaje de Programación y Tecnologías empleadas. .................. 12
1.6.1 Android Studio .............................................................................................................. 12
1.6.2 Material Design ............................................................................................................. 12
1.6.3 PhotoView .................................................................................................................... 13
1.6.4 animated svg view ....................................................................................................... 14
1.6.5 android image slider ..................................................................................................... 14
1.6.6 zxing .............................................................................................................................. 15
1.6.7 SQLite ............................................................................................................................ 16
1.6.8 Adobe Photoshop CC 2018 ........................................................................................... 16
1.6.9 Adobe Illustrator CC 2018 ............................................................................................ 16
1.6.10 Resize .......................................................................................................................... 17
1.7 Conclusiones parciales ........................................................................................................ 18
vii
CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN
BOTÁNICO UCLV” ........................................................................................................ 19
2.1 Ejecutante del sistema a automatizar ................................................................................. 19
2.2 Definición de Requerimientos ............................................................................................. 19
2.2.1 Requerimientos Funcionales ........................................................................................ 19
2.2.2 Requerimientos No Funcionales ................................................................................... 20
2.3 Diagrama de Casos de Uso del Sistema .............................................................................. 21
2.4 Diagrama de secuencia ....................................................................................................... 22
2.5 Mapa de Navegación de la aplicación ................................................................................. 24
2.6 Modelo de Componentes .................................................................................................... 25
2.7 Diseño e implementación de la Base de Datos ................................................................... 28
2.7.1 Modelo Entidad-Relación ............................................................................................. 28
2.7.2 Implementación de la Base de Datos ........................................................................... 29
2.8 Diagrama de Despliegue ..................................................................................................... 32
Conclusiones parciales del capítulo .......................................................................................... 32
CAPÍTULO 3. PRUEBAS DE SOFTWARE ................................................................... 34
3.1 Pruebas de software ........................................................................................................... 34
3.2 Estrategias de Pruebas ........................................................................................................ 35
3.3 Pruebas de Caja Negra ........................................................................................................ 36
3.3.1 Método de prueba basados en grafos ......................................................................... 39
3.4 Pruebas de Usabilidad ......................................................................................................... 41
3.4.1 Encuesta aplicada a los usuarios .................................................................................. 42
viii
3.4.2 Resultado de la encuesta aplicada. .............................................................................. 44
3.5 Pruebas de compatibilidad .................................................................................................. 50
Conclusiones parciales del Capítulo .......................................................................................... 55
Conclusiones ................................................................................................................. 56
Recomendaciones......................................................................................................... 57
Bibliografía .................................................................................................................... 58
1
Introducción
El Jardín Botánico existente en la Universidad Central “Marta Abreu” de Las Villas
(UCLV) es una institución de connotación provincial que constituye la interface de la
Universidad multidisciplinaria, moderna, humanista y tecnológica con la sociedad. El
Jardín Botánico se propone dar cumplimiento a la política ambiental cubana de
conservación de la diversidad biológica a través de técnicas integradas de conservación,
fundamentadas por la investigación científica, generadora de conocimientos, que se
reviertan en la formación y educación ambiental de estudiantes de pre y postgrado, así
como de la población de Villa Clara en general y la prestación de servicios científico-
técnicos que resuelvan problemas ambientales de tipo práctico.
Las tecnologías, sobre todo los dispositivos móviles son una herramienta vital para la
difusión de información ya que hacen efectiva la búsqueda de esta, con precisión y
rapidez. El presente trabajo hace referencia a las potencialidades del uso de las TICS en
la divulgación de la información del Jardín Botánico de la UCLV.
Esta investigación surge por la necesidad de contribuir a la divulgación del (Jardín
Botánico UCLV, JB), mediante la promoción de los servicios que presta el JB en cuanto
a la atención de clientes, ventas de plantas, locación para fotos/videos para quinces,
bodas, otras celebraciones y talleres comunitarios. Es también un lugar muy propicio
para la observación de aves, el mismo cuenta con diez áreas de colecciones vivas de
plantas.
A pesar de los esfuerzos realizados para este fin, aún se puede apreciar la falta de
divulgación de los servicios que presta, así como la ausencia de una herramienta
informática que brinde un acceso completo o parcial al jardín botánico. De esta forma se
plantea la siguiente problemática.
Problema de Investigación
La disponibilidad y divulgación de la información de las colecciones vivas y los servicios
que presta el Jardín Botánico de la UCLV es deficiente por lo que es necesario incidir en
2
la mejoría de esta problemática para lograr un mayor conocimiento sobre esta área de la
UCLV.
Objetivo General
Desarrollar una aplicación móvil para la divulgación de la historia, los servicios y las
colecciones vivas contenidas en el Jardín Botánico de la UCLV.
Objetivos Específicos
1. Realizar un levantamiento de la información relevante del Jardín Botánico de la
UCLV.
2. Diseñar una base de datos con la información básica sobre el Jardín Botánico de
la UCLV.
3. Desarrollar una aplicación Android para hacer accesible la información sobre el
Jardín Botánico.
4. Validar la usabilidad y funcionamiento de la aplicación.
El proceso de investigación estará guiado por las siguientes preguntas de investigación:
1. ¿Cuál es la información más importante del Jardín Botánico y cómo podemos
organizarla para su gestión desde una aplicación informática?
2. ¿Cómo implementar una aplicación móvil que facilite el conocimiento sobre la
historia, los servicios y las áreas de colecciones vivas de plantas del “Jardín
Botánico de la UCLV” con una interfaz amena y fácil de usar?
3. ¿Cómo evaluar el funcionamiento de la aplicación?
Justificación y Viabilidad de la investigación
El Jardín Botánico de la UCLV es un área de interés científico basado en las colecciones vivas
de plantas, la docencia e investigación que realiza y los servicios que ofrece. Cuenta con un
personal especializado de amplio conocimiento, lo que facilita el levantamiento de la información
necesaria para la elaboración de una aplicación informática para dispositivos móviles con
3
sistema operativo Android que facilite la divulgación y el conocimiento sobre este importante
Jardín de la provincia de Villa Clara.
Valor práctico
Con este trabajo de diploma se hace un levantamiento de la información relevante del
Jardín Botánico de la UCLV y se desarrolla una aplicación para móviles que contiene esa
información. La aplicación brinda al usuario información detallada sobre las plantas,
imágenes y documentos, reduciendo el tiempo de acceso a la información, además que
posee un escáner de códigos QR para la visualización de la información más
detalladamente y precisa de las plantas y un mapa del jardín botánico donde se
encuentra señalado las ubicaciones de las áreas de las plantas. De esta manera no es
imprescindible la asistencia de un especialista para recorrer el área del jardín botánico
ya que la aplicación muestra imágenes y descripciones de las áreas y de las plantas
además de su ubicación.
Estructura del Documento
El trabajo consta con una Introducción y tres capítulos que abordan los temas siguientes:
El Capítulo I trata los aspectos generales sobre el sistema operativo Android, sus
características y tecnologías empleadas para el desarrollo de la aplicación como
herramienta para el esparcimiento del jardín botánico.
El Capítulo II describe el proceso de desarrollo de la aplicación a través de diagramas y
algoritmos empleados para el desarrollo de la misma.
El Capítulo III describe las pruebas de software para validar la funcionalidad de la
aplicación, a través de pruebas de software de caja negra, de usabilidad y de
compatibilidad.
4
CAPÍTULO 1. CARACTERIZACIÓN DEL MARCO TEÓRICO En este capítulo se abordan aspectos generales sobre el Jardín Botánico de la
UCLV, como cumplimiento a la política ambiental cubana de conservación de la
diversidad biológica. Se caracteriza el sistema operativo Android y las tecnologías
utilizadas en el diseño e implementación de aplicaciones móviles como
herramientas para la divulgación del jardín botánico de la UCLV.
1.1 El Jardín Botánico de la UCLV
El Jardín Botánico es una institución comprometida en dar cumplimiento a la política
ambiental cubana de conservación de la diversidad biológica. Contribuye a la
formación y educación ambiental de estudiantes de pre y postgrado, así como de la
población de Villa Clara en general. Presta servicios científico técnicos que
soluciona problemas ambientales de tipo práctico, también presta servicios como
atención a visitantes, ventas de plantas, locación para fotos/videos de quinces,
bodas, y otras celebraciones, es un sitio que se presta para la observación de aves
y para el desarrollo de talleres comunitarios con el objetivo del entretenimiento sano
y la capacitación en alguna temática relacionada con las plantas.
El Centro está representado en el Grupo de especialistas de plantas cubanas
(GEPS) – CSE/UICN. Participa en talleres regionales para la definición de las metas
Nacionales del Convenio sobre Diversidad Biológica de la República de Cuba y para
la elaboración del Informe de país. También forma parte del Comité Científico
Nacional del proyecto Flora de la República de Cuba.
Este resultado ha permitido dar respuesta al cumplimiento de las metas que Cuba
tiene comprometidas con la Convención de Diversidad Biológica a través de la
Agenda Global para la Conservación Vegetal definida por la BGCI (Asociación
Internacional para la Conservación en Jardines Botánicos) y por la Red de Jardines
Botánicos de Cuba.
Se cuenta con un Grupo Científico de Estudiantes que lleva el nombre de “Ovelio
Alfonso Alfonso”; Premio del Rector por varios años de trabajo. Sus miembros han
ido dejando huellas notables en los resultados científicos del centro, asociado a los
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
5
proyectos de investigación que se desarrollan y a los cuales han tributado sus
trabajos de diplomas.
1.2 Aplicaciones existentes vinculados al campo de acción.
La presencia de dispositivos móviles (Smartphone) en la vida cotidiana son de vital
importancia, producto a las facilidades que estos brindan en la búsqueda de
información sobre cualquier tema a través de los navegadores. En la actualidad el
jardín botánico posee una sección en la página web de Universidad Central “Marta
Abreu” de Las Villas en la cual se abordan noticias, eventos relacionados con el
mismo, cuenta con documentos y fotos relacionados con la historia del centro. En
la Ecured se presentan aspectos generales sobre el Jardín Botánico de la UCLV.
Como antecedente se puede señalar la aplicación móvil sobre el Jardín Botánico de
Madeira el cual se encuentra dispuesto en unas terrazas que dominan el valle de la
Ribeira de João Gomes, en la ciudad de Funchal. La aplicación brinda información
acerca de la historia del jardín, las plantas más significativas a la región que
pertenecen, posee una sección información la cual muestra los servicios que presta
a los visitantes, contiene un mapa del área en la cual se encuentra señalada la
ubicación de las plantas y de los establecimientos que brindan servicios a los
visitantes, tiene un escáner QR para mostrar información detallada sobre las plantas
más relevantes del jardín.
1.3 “Android” El Sistema Operativo de Google para dispositivos
móviles
Un Sistema Operativo para dispositivos móviles es considerado el programa
principal, con el cual se pueden administrar todos los recursos tanto de software
como de hardware para ser utilizados de manera eficiente, cómoda y sin
interrupciones por los usuarios (Polanco and Taibo, 2011).
El sistema operativo Android está basado en Linux, desarrollado por Android Inc. El
cual fue comprado por la empresa Google en el año 2005. Android ha gozado de
éxito por ser un sistema operativo en el cual gran parte a que su plataforma es
abierta, dando la posibilidad a los desarrolladores de software a seguir generando
aplicaciones con el código abierto (Martínez, n.d.).
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
6
En la Figura 1.1 se muestra la arquitectura del sistema operativo Android.
Figura 1.1 Diagrama de la arquitectura del SO Android (Enrique Ramírez
Hernández and Juan Vicente Oltra Gutiérrez, 2011).
Núcleo Linux: El sistema operativo Android está basado en Linux por lo cual los
controladores de pantalla, de la cámara, de memorias, Binder(IPC), de teclado, de
Wifi, de audio y de energía están gestionados por las librerías del núcleo de Linux
(Enrique Ramírez Hernández and Juan Vicente Oltra Gutiérrez, 2011).
Bibliotecas: Se encuentran incluidas una gran variedad de bibliotecas de C/C++
que son usadas por diferentes secciones del sistema operativo. Los desarrolladores
de aplicaciones pueden hacer uso de estas bibliotecas, las más significativas son :
System C library, bibliotecas de medios, bibliotecas de gráficos, 3D, SQLite (Enrique
Ramírez Hernández and Juan Vicente Oltra Gutiérrez, 2011).
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
7
Runtime de Android: Incluye la recopilación de un set de bibliotecas base que
proporcionan casi la totalidad de las funciones de Java. Cada aplicación de android
que se esté ejecutando utiliza su propio proceso con una llamada a la máquina
virtual Dalvik. Dalvik está diseñada para que se ejecuten concurrentemente varias
máquinas virtuales de este tipo sin que surja problemas en el dispositivo. Dalvik
ejecuta archivos optimizados para memoria mínima en el formato Dalvik Executable
(.dev). La Máquina Virtual Dalvik está basada en registros y ejecuta clases
compiladas por el compilador de Java que cambiaron al formato .dex a través de la
herramienta incluida "dx"(Enrique Ramírez Hernández and Juan Vicente Oltra
Gutiérrez, 2011).
Marco de trabajo de aplicaciones cualquier desarrollador puede acceder a
Framework de aplicaciones, para la realización de sus aplicaciones. La arquitectura
está diseñada para simplificar la reutilización de los componentes del sistema. Las
aplicaciones pueden publicar sus capacidades y otras aplicaciones pueden luego
hacer uso de estas capacidades permitiendo que los componentes sean
remplazados por el desarrollador (Enrique Ramírez Hernández and Juan Vicente
Oltra Gutiérrez, 2011).
Aplicaciones: Son las que se encuentran instaladas en el sistema, algunas de las
aplicaciones que vienen por defecto en el sistema son: un cliente de correo
electrónico, programa de SMS, calendario, mapas, navegador, contactos. Están
escritas completamente en Java.(Enrique Ramírez Hernández and Juan Vicente
Oltra Gutiérrez, 2011).
1.3.1 Evolución del Sistema Operativo Android
El sistema operativo de Google está presente en dispositivos móviles, y una historia
de más de una década que cosecha nombres basados en deliciosos postres
ordenados alfabéticamente Tabla 1.1. Es un sistema maduro, pero para llegar a este
punto han sido necesarios muchos cambios, ensayos y errores.
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
8
Tabla 1.1: Evolución del sistema operativo Android
1.4 Metodologías Ágiles empleadas en el desarrollo de aplicación
móviles
La popularidad de las metodologías ágiles viene por la buena solución para
proyectos a corto plazo, en especial, aquellos proyectos en dónde los requisitos
están cambiando constantemente. En las aplicaciones móviles es muy popular el
empleo de Metodologías Agiles ya que estas tienen que satisfacer una serie de
características y condicionantes especiales, tales como: canal, movilidad,
portabilidad, capacidades específicas de las terminales, entre otras. Existen miles
de aplicaciones para dispositivos móviles sean con sistema operativo Android, IOS,
BlackBerry y Windows Mobile estas hasta cierto punto suplen las necesidades de
los usuarios, aunque sus calidades de desarrollo en muchas ocasiones son de las
peores, ya que no se considera importante el uso de las metodologías agiles en este
ámbito (Balaguera, 2013).
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
9
Una metodología de desarrollo nueva, especialmente diseñada para el desarrollo
de aplicaciones móviles, recibe el nombre de Mobile-D muy centrada en las
plataformas móviles la cual fue empleada en el desarrollo de la aplicación móvil
“Jardín Botánico UCLV”.
Mobile-D
Mobile-D consta de cinco fases: exploración, iniciación, producción, estabilización
y prueba del sistema. Cada una de estas fases tiene un número de etapas, tareas
y prácticas asociadas (Balaguera, 2013).
Fases de Mobile-D
En la fase Explorar, el equipo de desarrollo debe generar un plan y establecer las
características del proyecto. Esta fase está enmarcada en tres etapas:
establecimiento de actores, definición del alcance y el establecimiento de proyectos.
Las tareas asociadas a esta fase incluyen el establecimiento del cliente (los clientes
que toman parte activa en el proceso de desarrollo), la planificación inicial del
proyecto y los requisitos de recogida, y el establecimiento de procesos.
En la fase Iniciación, los desarrolladores preparan e identifican todos los recursos
necesarios que serán necesarios para las siguientes fases y se establece el entorno
técnico como los recursos físicos, tecnológicos y de comunicaciones (incluyendo el
entrenamiento del equipo de desarrollo). Esta fase se divide en cuatro etapas: la
puesta en marcha del proyecto, la planificación inicial, el día de prueba y día de
salida.
La fase de Producción está dividida en tres días (planificación, trabajo y
liberación). Primero se planificará cómo será el trabajo en cuestiones de requisitos
y tareas a realizar. Durante el día de trabajo las tareas se llevarán a cabo,
desarrollando e integrando el código con los repositorios existentes. Durante el
último día se lleva a cabo la integración del sistema (en caso de que estuvieran
trabajando varios equipos de forma independiente) seguida de las pruebas de
aceptación.
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
10
En la fase de Estabilización se llevan a cabo las últimas acciones para que el
sistema funcione correctamente. Los desarrolladores realizarán tareas dirigidas a la
integración del sistema. En esta fase se desarrollará la producción de la
documentación.
En la fase (prueba y reparación del sistema) tiene como meta la disponibilidad
de una versión estable y plenamente funcional del sistema. El producto terminado
e integrado se prueba con los requisitos de cliente y se eliminan todos los defectos
encontrados.
Figura1.2: Ciclo de desarrollo Mobile-D (Balaguera, 2013).
1.5 Tipos de Aplicaciones para Dispositivos Móviles.
Los dispositivos móviles forman parte de la vida cotidiana y cada vez prestan más
servicios a los usuarios. Estos dispositivos han aumentado su poder de cómputo
generando posibilidades que no eran pensadas en años atrás. Producto a estas
posibilidades los usuarios demandan de manera creciente de desarrollo de software
específico para estos dispositivos. Actualmente existen tres tipos de aplicaciones
móviles: web, nativas e híbridas, que se definen como (Lisandro Delía et al., 2013):
Aplicaciones Web
Las aplicaciones web para móviles son diseñadas para ser ejecutadas en el
navegador del dispositivo móvil. Estas aplicaciones son desarrolladas utilizando
HTML, CSS y JavaScript, es decir, la misma tecnología que la utilizada para crear
sitios web. Una de las ventajas de las aplicaciones web es que los dispositivos no
necesitan instalar ningún componente en particular, ni la aprobación del fabricante
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
11
para que la aplicación sea utilizada, solamente se necesita que el dispositivo esté
conectado a internet. Cuando la aplicación es actualizada esta se visualiza
directamente en el dispositivo porque los cambios son aplicados sobre el servidor.
Otra ventaja de este tipo de aplicación es su independencia de plataforma, es decir,
no necesita adaptarse a ningún otro entorno, puede ser visualizada tanto en
dispositivos con sistema operativo Android que en dispositivos con sistema
operativo IOS. Por otra parte estas aplicaciones al ser visualizadas en el navegador
y el dispositivo requiere de internet, pueden mostrarse menos atractivas que las
aplicaciones nativas ya que por problemas de conectividad pueden presentar
problemas de funcionamiento, es decir, se pueden mostrar de una manera muy
lenta e incluso no cargar de manera correcta la interfaz.
Aplicaciones Nativas
Las aplicaciones nativas son aquellas que se conciben para ejecutarse en una
plataforma específica, es decir, se debe considerar el tipo de dispositivo, el sistema
operativo a utilizar y su versión. Este tipo de aplicaciones pueden interactuar con
todos los recursos del dispositivo como la cámara, el GPS, acelerómetro, agenda,
entre otras. Además, no requieren de manera estricta el internet por lo cual su
ejecución es rápida, pueden ejecutarse en modo background y cuando ocurre un
evento le notifica al usuario para que le preste atención. Una de las desventajas es
que si se desea cubrir varias plataformas se deberá generar una aplicación para
cada una de las ellas, por lo que conlleva a mayores costos de actualización y
distribución de nuevas versiones.
Aplicaciones Híbridas
Las aplicaciones híbridas combinan lo mejor de los dos tipos de aplicaciones
anteriores. Se utilizan tecnologías multiplataforma como HTML, JavaScript y CSS,
pero se puede acceder a buena parte de las capacidades específicas de los
dispositivos. En resumen, son desarrolladas utilizando tecnología web y son
ejecutadas dentro de un contenedor web sobre el dispositivo móvil. Estas
aplicaciones son ventajosas ya poseen la posibilidad de distribución de a través de
las tiendas de aplicaciones, la reutilización de código para múltiples plataformas y
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
12
la posibilidad de utilizar las prestaciones del hardware del dispositivo. Como
desventajas de este tipo de aplicaciones es que, al utilizar la misma interfaz para
todas las plataformas, la apariencia de la aplicación no será como la de una
aplicación nativa, además que su ejecución será más lenta que la ejecución en una
aplicación nativa.
1.6 Entorno de desarrollo, Lenguaje de Programación y
Tecnologías empleadas.
Para la implementación de esta aplicación móvil fue necesario varios softwares de
desarrollo como el Android Studio con la utilización de librerías de software como
PhotoView, animated-svg-view, slider, zxing, SQLite, también se necesitó el Adobe
Photoshop, Adobe Illustrator, Resize.
1.6.1 Android Studio
Android Studio es el entorno de desarrollo integrado oficial para la plataforma
Android. Fue anunciado el 16 de mayo de 2013 en la conferencia Google I/O, y
reemplazó a Eclipse como el IDE oficial para el desarrollo de aplicaciones para
Android. La primera versión estable fue publicada en diciembre de 2014. Está
basado en el software IntelliJ IDEA de JetBrains y ha sido publicado de forma
gratuita a través de la Licencia Apache 2.0. Está disponible para las plataformas
Microsoft Windows, macOS y GNU/Linux. Ha sido diseñado específicamente para
el desarrollo de aplicaciones para dispositivos con sistema operativo Android.
Estuvo en etapa de vista previa de acceso temprano a partir de la versión 0.1, en
mayo de 2013, y luego entró en etapa beta a partir de la versión 0.8, lanzada en
junio de 2014. La primera compilación estable, la versión 1.0, fue lanzada en
diciembre de 2014. La última versión estable es la 3.4.0, y fue lanzada en abril de
2019 es una versión importante que incluye una variedad de nuevas características
y mejoras, aunque ya está la versión 3.4.1 lanzada en mayo de 2019 (“Android
Studio release notes | Android Developers,” n.d.).
1.6.2 Material Design
Material Design es un lenguaje visual que sintetiza los principios clásicos del buen
diseño con la innovación de la tecnología y la ciencia, diseñado por Matías Duarte.
Material Design está inspirado en el mundo físico y sus texturas, incluida la forma
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
13
en que reflejan la luz y proyectan sombras ya que los objetos tienen tres
dimensiones: la anchura, la altura y el grosor. Las superficies de los materiales
reimaginan los medios de papel y tinta. Esta filosofía de diseño ayuda hacer
productos hermosos y más rápido; además que está diseñado para evolucionar con
el tiempo. A partir de mayo de 2018, se ha desarrollado una cadencia de
lanzamiento mensual para aumentar las capacidades expresivas del sistema de
Diseño de Materiales, brindándole aún más capacidad de Material Theming. Es un
sistema adaptable de pautas, componentes y herramientas que respaldan las
mejores prácticas de diseño de interfaces de usuario. Respaldado por el código de
código abierto, Material agiliza la colaboración entre diseñadores y desarrolladores,
y ayuda a los equipos a crear productos hermosos rápidamente.(Sitio Oficial de
Material Design, n.d.).
1.6.3 PhotoView
PhotoView es una librería de software la cual tiene como objetivo ayudar a producir
una implementación fácil para darle zoom a un ImageView de Android (Banes,
2019).
Características
Acercamiento fuera de la caja, con multitoque y doble toque.
Desplazamiento, con suave desplazamiento de desplazamiento.
Funciona a la perfección cuando se utiliza en un elemento principal con
desplazamiento (como ViewPager).
Permite que se notifique a la aplicación cuando la Matriz mostrada haya
cambiado. Útil para cuando necesita actualizar su interfaz de usuario según
la posición actual de zoom / desplazamiento.
Permite que se notifique a la aplicación cuando el usuario toca la foto.
Uso
Se proporciona una muestra del código de la aplicación Jardín Botánico UCLV
tomado del archivo ImageDetailActivity.java que muestra cómo usar la biblioteca de
una manera más avanzada.
...
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
14
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_detail,
container, false);
final PhotoView imageView = rootView.findViewById(R.id.detail_image);
Picasso.with(getActivity()).load(getArguments().getString(ARG_IMG_URL)).i
nto(imageView);
return rootView;
}
...
1.6.4 animated svg view
animated svg view es una librería de software que tiene como objetivo ayudar a
producir una implementación fácil para crear dibujo SVG animado para Android
(Rummler, 2019).
Uso
Se proporciona una muestra del código de la aplicación Jardín Botánico UCLV
tomado del archivo SplashActivity.Java que muestra cómo usar la biblioteca de una
manera más avanzada.
final AnimatedSvgView svgView = (AnimatedSvgView)
findViewById(R.id.animated_svg_view);
svgView.start();
svgView.setOnStateChangeListener(new
AnimatedSvgView.OnStateChangeListener() {
@Override
public void onStateChange(@AnimatedSvgView.State int i) {
if (i == AnimatedSvgView.STATE_FINISHED) {
startActivity(new Intent(SplashActivity.this,
MainActivity.class));
finish();
}
}
});
1.6.5 android image slider
android image slider es una librería de software empleada como deslizador de
imagen para la plataforma Android. Puede cargar fácilmente imágenes desde una
URL de Internet, dibujable o archivo. Hay muchos tipos de animaciones (daimajia,
2019)
Uso
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
15
Se proporciona una muestra del código de la aplicación Jardín Botánico UCLV
tomado del archivo HomeFragment.java que muestra cómo usar la biblioteca de una
manera más avanzada.
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup
container, Bundle
savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_home, container,
false);
mSlider = (SliderLayout) view.findViewById(R.id.slider);
TextSliderView textSliderView;
for (ImageModel model : ResUtil.IMAGE_MODELS) {
textSliderView = new TextSliderView(getContext());
// initialize a SliderLayout
textSliderView
.description(model.getImageInfo())
.image(model.getFileURL())
.setScaleType(BaseSliderView.ScaleType.CenterCrop)
.setOnSliderClickListener(this);
//add your extra information
textSliderView.bundle(new Bundle());
mSlider.addSlider(textSliderView);
}
...
1.6.6 zxing
Zxing es una librería de software que se implementó en el entorno OpenGL, ofrece
la posibilidad de evaluar y comparar diferentes puntos y la influencia de las
distorsiones en el proceso de decodificación, es decir es un decodificador de
códigos de barras y códigos qr (Constantin Scheuermann et al., n.d.), (Dushyanth,
2019).n
Uso
Se proporciona una muestra del código de la aplicación Jardín Botánico UCLV
tomado del archivo QRActivity.java que muestra cómo usar la biblioteca de una
manera más avanzada.
public class QRActivity extends AppCompatActivity implements
ZXingScannerView.ResultHandler {
private ZXingScannerView scannerView;
...
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
16
@Override
public void onResume() {
super.onResume();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (Util.checkPermission(QRActivity.this, CAMERA)) {
if (scannerView == null) {
scannerView = new ZXingScannerView(this);
setContentView(scannerView);
}
scannerView.setResultHandler(this);
scannerView.startCamera();
} else {
Util.requestPermission(this, new String[]{CAMERA},
REQUEST_CAMERA);
}
}
}
...
}
1.6.7 SQLite
SQLite es una librería compacta y auto contenida de código abierto y distribuida
bajo dominio público que implementa un gestor de bases de datos SQL embebido,
sin configuración y transaccional. Es compacta porque con todas las características
habilitadas, el tamaño de la librería es inferior a 250Kb y es auto contenida porque
requiere muy poco soporte de librerías externas o del sistema operativo esto la hace
adecuada para usarla en pequeños dispositivos que no son tan completos como las
PC de escritorio (DANIEL PONSODA MONTIEL, 2008).
1.6.8 Adobe Photoshop CC 2018
Adobe Photoshop es un editor de gráficos rasterizados desarrollado por Adobe
Systems Incorporated. Usado principalmente para el retoque de fotografías y
gráficos, su nombre en español significa literalmente "taller de fotos". Es líder
mundial del mercado de las aplicaciones de edición de imágenes y domina este
sector de tal manera que su nombre es ampliamente empleado como sinónimo para
la edición de imágenes en general (Sitio Oficial de Adobe, 2019a).
1.6.9 Adobe Illustrator CC 2018
Adobe Illustrator (AI) es un editor de gráficos vectoriales en forma de taller de arte
que trabaja sobre un tablero de dibujo, conocido como «mesa de trabajo» y está
destinado a la creación artística de dibujo y pintura para ilustración (ilustración como
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
17
rama del arte digital aplicado a la ilustración técnica o el diseño gráfico, entre otros).
Es desarrollado y comercializado por Adobe Systems y constituye su primer
programa oficial de su tipo en ser lanzado por esta compañía definiendo en cierta
manera el lenguaje gráfico contemporáneo mediante el dibujo vectorial. Adobe
Illustrator contiene opciones creativas, un acceso más sencillo a las herramientas y
una gran versatilidad para producir rápidamente gráficos flexibles cuyos usos se dan
en (maquetación-publicación) impresión, vídeo, publicación en la Web y dispositivos
móviles. Las impresionantes ilustraciones que se crean con este programa le han
dado una fama de talla mundial a esta aplicación de manejo vectorial entre artistas
gráficos digitales de todo el planeta, sin embargo, el hecho de que hubiese sido
lanzado en un principio para ejecutarse solo con el sistema operativo Macintosh y
que su manejo no resultara muy intuitivo para las personas con muy poco trasfondo
en manejo de herramientas tan avanzadas afectó la aceptación de este programa
entre el público general de algunos países (Sitio Oficial de Adobe, 2019b).
Fue empleado para vectorizar las imágenes del mapa y la imagen que se observa
al iniciar la aplicación la cual se muestra de manera animada gracias a la utilización
de la librería animated svg view mencionada anteriormente.
1.6.10 Resize
Resize permite controlar la capacidad de cambio de tamaño de un elemento
teniendo en cuenta los valores que se pueden seleccionar en Resize. Tales valores
son:
None: El elemento no ofrece método para que el usuario controle el cambio de
tamaño del elemento.
Both: El elemento ofrece un mecanismo que permite al usuario cambiar el tamaño
del elemento el cual puede ser tanto horizontal como verticalmente.
Horizontal: El elemento ofrece un mecanismo que permite al usuario cambiar el
tamaño del elemento sólo horizontalmente.
Vertical: El elemento ofrece un mecanismo que permite al usuario cambiar el
tamaño del elemento sólo verticalmente.
CAPÍTULO 1: CARACTERIZACIÓN DEL MARCO TEÓRICO
18
Fue aplicado para reducir el tamaño de todas las fotos empleadas en las secciones
galería, planta y menú principal, con el objetivo de que la aplicación cargue con
facilidad y ocupe menos espacio en memoria cuando sea instalada.
1.7 Conclusiones parciales
En este capítulo se abordan las tecnologías utilizadas para el desarrollo de
aplicaciones móviles con fines de divulgación de sitios de interés potencial como el
Jardín Botánico de la UCLV. Para ello se decidió el uso de Android como sistema
operativo base para la creación de la aplicación móvil, utilizando para el desarrollo
de la app la metodología ágil Mobile-D, esta posee características que se adaptan
aun desarrollo eficiente y ágil de una aplicación para móviles.
19
CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DE LA
APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
En este capítulo se abordan temas relacionados con el boceto y puesta en
funcionamiento de la aplicación desarrollada, así como una descripción detallada de la
misma, para ello se mostrarán algunos diagramas de análisis y diseño. También se
describe el funcionamiento de la misma en las diferentes secciones.
2.1 Ejecutante del sistema a automatizar
El ejecutante o el actor del sistema va a ser la persona que visita el centro. El sistema
está concebido para ofrecer información sobre el Jardín Botánico de la UCLV, localizado
en la Universidad Central “Marta Abreu” de Las Villas por lo que cualquier persona que
desee utilizar el sistema es considerada como actor del sistema.
2.2 Definición de Requerimientos
Es la condición o capacidad que un usuario necesita para poder resolver un problema o
lograr un objetivo, por lo cual debe exhibir o poseer un sistema para satisfacer un
contrato, estándar, especificación, u otra documentación formalmente impuesta. Debe
ser conformada por el Lenguaje Unificado de Modelado (UML). En el de desarrollo de un
sistema, los desarrolladores desafían a la dificultad de la comprensión de requisitos. Esta
comprensión de las necesidades del sistema es un desarrollo complejo; ya que hay que
reconocer la exigencia que el sistema debe cumplir para amortizar las necesidades de
los usuarios finales y de los clientes (María José Escalona and Nora Koch, 2002).
2.2.1 Requerimientos Funcionales
Los requisitos funcionales son declaraciones de los servicios que prestará el sistema
describiendo la funcionalidad o los servicios que se espera que este proveerá lo cual es
el fruto fundamental de la interacción entre analista y el cliente (José A. Cerrada
Somolinos and Manuel E. Collado Machuca, 2006).
RF1: Que posea una opción para mostrar la historia del Jardín Botánico de la UCLV a
través de texto y que contenga imágenes.
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
20
RF2: Que muestre el mapa del jardín botánico.
RF2: Seleccionar una opción que muestre las áreas de colecciones vivas de plantas.
RF2.1: Seleccionar una de las áreas de colecciones vivas de plantas la cual muestre
una lista con todas las plantas que pertenecen al área seleccionada.
R2.1.1 Dentro de la opción área que de la posibilidad de mostrar la ubicación de
la misma en el mapa del jardín botánico.
R2.1.2 Dentro de la opción área se pueda seleccionar una de las plantas del área
y que muestre una imagen de la planta, el nombre común, el nombre científico y
una descripción de la misma.
RF3: (Requisito deseable) Se dispondrá de un escáner de códigos QR que facilitará la
información de la planta.
RF4: Que tenga una galería de imágenes que muestre las diferentes áreas del jardín.
2.2.2 Requerimientos No Funcionales
Los requerimientos no funcionales son los requerimientos que no se refieren
directamente a las funciones específicas que proporciona el sistema. Estos
requerimientos incluyen restricciones de tiempo, sobre el proceso de desarrollo de
software y estándares. Estos requerimientos surgen por las necesidades del usuario,
debido a las restricciones en el presupuesto, a las políticas de la organización, a la
necesidad de la interoperabilidad con otros sistemas de software o hardware, o a factores
externos como regulaciones de seguridad o legislaciones sobre privacidad (IAN
SOMMERVILLE, 2005).
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
21
Figura 2.1: Tipos de requerimientos no funcionales (IAN SOMMERVILLE, 2005).
RNF1: Soporte. El dispositivo móvil tiene que tener sistema operativo Android y como
mínimo la versión 6.0 Marshmallow.
RNF2: Capacidad. El dispositivo como mínimo debe contar con 28Mb de capacidad
interna para la instalación de la aplicación.
RNF3: Seguridad. A partir de la versión 6.0 de Android Marshmallow se deben otorgar
permisos manualmente de acceso a la cámara. En la versión android 7.1.1 Nougat se
debe desactivar la opción de Play Protect que se encuentra ubicado en la aplicación de
Google Play Store para poder instalar, una vez instalada la aplicación se puede volver
activar Play Protect.
2.3 Diagrama de Casos de Uso del Sistema
Los casos de uso son los escenarios que facilitan una descripción de cómo el sistema
se usará. Para conformar un caso de uso, el ingeniero del software primero debe de
identificar los diferentes tipos de personas o dispositivos que utilizarán el sistema o
producto. Un actor define un rol que un usuario puede desempeñar cuando interactúa con el
sistema. Un usuario puede ser un individuo u otro sistema. Los actores tienen un nombre y una
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
22
breve descripción y se asocian con los casos de uso, con los cuales interactúan. Un actor y un
usuario no son la misma cosa ya que un usuario normal puede jugar un número de papeles
diferentes cuando utiliza un sistema y un actor representa una clase de entidades externas (a
veces, pero no siempre personas) que llevan a cabo un papel (Roger S. Pressman, 2010).
El caso de uso del actor de esta aplicación es el siguientes:
CU1: Consultar información del Jardín Botánico de la UCLV
Figura 2.2: Diagrama de Casos de Uso del Sistema.
2.4 Diagrama de secuencia
Un diagrama de secuencia es usado para modelar la interacción entre objetos en un
sistema. En estos diagramas se muestran los objetos participantes en la interacción
ordenados según su secuencia. La línea vertical se llama línea de vida del objeto, esta
línea representa la vida del objeto durante la interacción. Los mensajes se representan
mediante una flecha entre líneas de vida de dos objetos y el orden en que se dan
transcurre de arriba hacia abajo. Cada mensaje es etiquetado como mínimo con el
nombre del mensaje; pueden incluirse también los argumentos y algunas informaciones
de control, y se puede mostrar la auto-delegación, que es un mensaje que un objeto se
envía a el mismo, regresando la flecha de mensaje de vuelta a la misma línea de vida
(Martin Fowler, 1999).
Un diagrama de secuencia muestra las interacciones entre los objetos para ejecutar un
caso de uso. Estos diagramas son importantes para los diseñadores debido a que ellos
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
23
aclaran los roles de los objetos en el flujo y por lo tanto brindan la entrada básica para la
determinación de los roles y las interfaces de las clases.
La figura siguiente muestra el Diagrama de Secuencia relacionado con la opción Plantas.
Figura 2.3 Diagrama de Secuencia para la opción Plantas.
La figura siguiente muestra el Diagrama de Secuencia relacionado con la opción
Información.
Figura 2.4 Diagrama de Secuencia para la opción Información.
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
24
2.5 Mapa de Navegación de la aplicación
Al crear una aplicación móvil, siempre es bueno planificar a gran escala esta etapa, en
este proceso debemos saber ubicar las piezas fundamentales de la articulación de
nuestro desarrollo, en este proceso debemos generar y guiarnos mediante la
Arquitectura de Información para poder ordenar nuestros contenidos y es este el
momento donde debemos crear los mapas de navegación.
Los mapas de navegación permiten visualizar la estructura y contenidos generales, al
crear los módulos que componen la aplicación, a partir de un modelo de diseño
instruccional. El mapa de navegación representa todas las relaciones de jerarquía y
secuencia de la aplicación; además de ofrecer al usuario una guía del material. Son
considerados gráficos ya que muestran la forma en que se distribuyen las interfaces
graficas de usuario, también incluyen imágenes de la aplicación como la imagen principal
y si hay algún hipervínculo que la interconecte se hará un despliegue (García Sánchez
et al., 2016).
En la siguiente figura se muestra el mapa de navegación de la aplicación. Como nodo
raíz se encuentra la vista principal, de ella derivan las diferentes vistas de la aplicación.
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
25
Figura 2.5: Mapa de Navegación de la Aplicación
2.6 Modelo de Componentes
Un modelo de componentes es una definición de los estándares para la definición de
componentes, documentación, y despliegue. Los desarrolladores de software utilizan
estos estándares para asegurar que los componentes puedan interoperar. Los elementos
en un modelo de componentes se clasifican en elementos relacionados con las interfaces
de los componentes, elementos relacionados con la información que se necesita para
utilizar el componente en un programa y elementos relacionados con el despliegue del
componente ver Figura 2.8.
Los elementos que definen a un componente son sus interfaces. El modelo de
componentes especifica cómo deberían definirse las interfaces y los elementos, tales
como nombres de operaciones, parámetros y excepciones, que deberían incluirse en la
definición de una interfaz; también debería especificar el lenguaje utilizado para definir
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
26
las interfaces. Existen modelos de componentes que requieren interfaces específicas
que deben ser definidas por un componente. Son empleadas para integrar el
componente con la infraestructura del modelo de componentes que proporciona servicios
estandarizados tales como seguridad y gestión de transacciones. Los componentes para
que puedan ser distribuidos y ser accedidos de forma remota, necesitan tener un nombre
o manejador único asociado a ellos. Los componentes son entidades independientes,
tienen que ser empaquetados con el resto de los elementos que no son proporcionados
por la infraestructura de componentes o no están definidos en una interfaz. La
información de despliegue incluye sobre los contenidos de un paquete y su organización
binaria.
A medida que surgen nuevos requerimientos, los componentes tendrán que ser
cambiados o reemplazados. Por lo tanto, el modelado de componentes debería incluir
reglas para regular cuando y como se permite el reemplazo de componentes.
Finalmente, el modelo de componentes debería definir la documentación asociada a los
componentes. Esta es utilizada para encontrar el componente y decidir si es adecuado
o no (IAN SOMMERVILLE, 2005).
Figura 2.6: Elementos básicos de un Modelo de Componentes (IAN SOMMERVILLE,
2005).
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
27
En la siguiente Figura se muestra el Diagrama de Componentes de la aplicación (Jardín
Botánico UCLV), la cual muestra las diferentes librerías utilizadas como:
PhotoView: Se utiliza para darle zoom a un ImageView.
animated-svg-view: Ayuda a producir una implementación fácil para crear dibujo SVG
animado para Android.
android image slider: Es un deslizador de imagen. Se utiliza para cargar fácilmente
imágenes desde una URL de Internet, dibujable o archivo.
Zxing: Se utiliza para escanear el código QR que tienen las plantas.
Sqlite: Se utiliza en la creación de la base de datos que se encuentra embebida dentro
de la aplicación.
Estas librerías fueron empleadas para mejorar la apariencia visual de la aplicación y su
rapidez.
En la siguiente figura se muestra el modelo de componentes de la aplicación
desarrollada.
Figura 2.7: Modelo de Componentes de la aplicación.
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
28
2.7 Diseño e implementación de la Base de Datos
Las Bases de Datos son programas que tienen como función administrar información,
por lo que la hacen más ordenada, aparte de hacerla fácil de buscar. Presentan
características que pueden ser ventajosas o desventajosas: ya que pueden favorecer el
almacenamiento, la organización, la recuperación, la comunicación y el manejo de la
información en formas que serían imposibles sin tecnologías informáticas, pero también
nos afecta de alguna manera ya que existen enormes cantidades de información en
bases de datos de las que no se tiene control del acceso. Sus usos: nos facilitan el
almacenamiento de grandes cantidades de información; permiten la recuperación rápida
y flexible de información, con ellas se puede organizar y reorganizar la información, así
como imprimirla o distribuirla en diversas formas (Ricardo Vicente Jaime Vivas, 2009).
2.7.1 Modelo Entidad-Relación
El modelo Entidad-Relación es un mecanismo formal para representar y manipular
información de manera general y sistemática. En él cualquier dato o concepto debe ser
definido o modelado de manera única. Los elementos de este modelo son las entidades,
los atributos, las asociaciones o relaciones y los diagramas (Alberto González Carrasco
and Luis Müller Heiberg, 2017).
A continuación, se mostrará el diagrama de Entidad-Relación de la base de datos de la
aplicación “Jardín Botánico UCLV”
Figura 2.8: Diagrama de Entidad-Relación de la base de datos.
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
29
2.7.2 Implementación de la Base de Datos
Para crear la Base de Datos se implementó la clase GardenDatabase.java la cual se
deriva de la clase SQLiteOpenHelper, Figura 2.9.
Figura 2.9: Clase GardenDatabase.java se deriva de la clase SQLiteOpenHelper.
Para crear las tablas AREA y PLANT de la base de datos se sobrescribe el método
onCreate() como se muestra en la Figura 2.10 a continuación.
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
30
Figura 2.10: Se sobrescribe el método onCreate y se crean las tablas AREA y PLANT
dentro de la clase GardenDatabase.java
Para insertar la información de las plantas dentro de la tabla AREA se implementó el
siguiente método Figura 2.11.
Figura 2.11: Método para insertar la información de las plantas dentro de la tabla PLANT
A continuación, se mostrará el uso del método insertPlant() Figura 2.12.
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
31
Figura 2.12. Ejemplo del uso del método insertPlant().
Para insertar la información de las áreas dentro de la tabla AREA se implementó el
siguiente método Figura 2.13.
Figura 2.13: Método para insertar la información de las áreas dentro de la tabla AREA.
A continuación, se mostrará el uso del método insertArea() Figura 2.14.
Figura 2.14: Ejemplo del uso del método insertArea
El método onUpgrade() se lanzará automáticamente cuando sea necesaria una
actualización de la estructura de la base de datos o una conversión de los datos Figura
2.15.
Figura 2.15. Método onUpgrade().
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
32
2.8 Diagrama de Despliegue
Los Diagramas de Despliegue muestran la disposición física de los distintos nodos que
componen un sistema y el reparto de los componentes sobre dichos nodos (Patricio
Letelier Torres, n.d.).
Estos diagramas modelan la arquitectura en tiempo de ejecución de un sistema, además
muestra la configuración de los elementos de hardware(nodos) y muestra como los
elementos y artefactos del software se trazan en esos nodos(IAN SOMMERVILLE,
2005).
En la siguiente figura se muestra el Diagrama de Despliegue del Sistema, este contiene
los componentes de hardware que se utilizarán. El componente “Plataforma Android” son
todos los usuarios que interactúan con la aplicación mediante diferentes tipos de
dispositivos móviles con sistema operativo Android.
Figura 2.8: Diagrama de Despliegue del Sistema
Conclusiones parciales del capítulo
En este capítulo se definieron los requerimientos funcionales y los no funcionales del
sistema. Se modeló el sistema utilizando el lenguaje UML (Lenguaje Unificado de
Modelado) manejando todas las facilidades que el mismo brinda, además se describieron
los casos de usos del sistema. Se emplean los modelos de trazabilidad específicamente
a través de la Matriz de Trazabilidad, también se emplean modelos de componentes del
Capítulo 2: DISEÑO E IMPLEMENTACIÓN DE LA APLICACIÓN MÓVIL “JARDÍN BOTÁNICO UCLV”
33
sistema y diagramas de despliegue. Se logró implementar un sistema que permite brindar
información acerca del “Jardín Botánico de la UCLV” para dispositivos móviles con
sistema operativo Android.
34
CAPÍTULO 3. PRUEBAS DE SOFTWARE
3.1 Pruebas de software
Las pruebas de software representan un grande esfuerzo técnico en el proceso de
desarrollo de software. No importa el tipo de software que se desarrolle, la estrategia
para planificar, ejecutar y controlar pruebas sistemáticas comienza por examinar
pequeños elementos del software y moverse hacia afuera, hacia el programa como un
todo.
El objetivo de las pruebas del software es encontrar errores. Para el software habitual,
este objetivo se logra mediante una serie de pasos de prueba. Una de las pruebas son
las pruebas de unidad e integración las cuales se concentran en la verificación funcional
de un componente y en la anexión de componentes en una arquitectura de software.
Otra de las pruebas son las de validación las cuales demuestran la correlación con los
requerimientos del software y las pruebas del sistema validan el software una vez que se
incorporó en un sistema más grande. Estos pasos de pruebas se logran a través de una
serie de técnicas de pruebas sistemáticas que ayudan en el diseño de casos de prueba.
Para probar software orientado a objeto la estrategia que se sigue es la siguiente: se
comienza con pruebas que adiestran las operaciones dentro de una clase y luego
avanzan hacia la prueba basada en hebra para integración. Las hebras no son más que
conjuntos de clases que responden a una entrada o evento. Las pruebas basadas en
uso se proyectan en clases que no colaboran demasiado con otras clases (Roger S.
Pressman, 2010).
Figura 3.1: Modelo del proceso de pruebas de un software (IAN SOMMERVILLE, 2005).
CAPÍTULO 3: PRUEBAS DE SOFTWARE
35
3.2 Estrategias de Pruebas
“El proceso de software puede verse como la espiral que se ilustra en la figura 3.2
Inicialmente, la ingeniería de sistemas define el papel del software y conduce al análisis
de los requerimientos del mismo, donde se establecen los criterios de dominio, función,
comportamiento, desempeño, restricciones y validación de información para el software.
Al avanzar hacia adentro a lo largo de la espiral, se llega al diseño y finalmente a la
codificación. Para desarrollar software de computadoras, se avanza en espiral hacia
adentro (contra las manecillas del reloj) a lo largo de una línea que reduce el nivel de
abstracción en cada vuelta.”(Roger S. Pressman, 2010).
Figura 3.2 Estrategia de pruebas.(Roger S. Pressman, 2010)
Características de la Estrategia de Pruebas:
1. Comienza en el nivel de módulo y trabaja "hacia fuera", hacia la integración
completa del sistema completo.
2. En diferentes puntos son utilizada las técnicas de pruebas distintas.
3. Si el software es desarrollado por una sola persona este es el encargado de
realizar las pruebas, pero si el software es de mayor magnitud y es desarrollado
por un mayor número de personas las pruebas se llevan a cabo por un grupo de
prueba independiente.
CAPÍTULO 3: PRUEBAS DE SOFTWARE
36
4. La prueba y la depuración son actividades diferentes, pero la depuración puede
entrar en cualquier estrategia de prueba.
Los productos de software pueden ser verificados de dos formas diferentes:(Roger
S. Pressman, 2001a)
Prueba de Caja Blanca.
La prueba de caja blanca, en ocasiones llamada prueba de caja de vidrio, es una filosofía
de diseño de casos de prueba que consiste en centrarse en la estructura interna
(implementación) del programa para elegir los casos de prueba. Al usar los métodos de
prueba de caja blanca, puede derivar casos de prueba que:
1. Garanticen que todas las rutas independientes dentro de un módulo se revisaron
al menos una vez,
2. Revisen todas las decisiones lógicas en sus lados verdadero y falso,
3. Ejecuten todos los bucles en sus fronteras y dentro de sus fronteras operativas
4. Revisen estructuras de datos internas para garantizar su validez.
Prueba de Caja Negra.
La prueba de caja negra se refiere a las pruebas que se llevan a cabo en la interfaz del
software. Una prueba de caja negra examina algunos aspectos fundamentales de un
sistema con poca preocupación por la estructura lógica interna del software.
3.3 Pruebas de Caja Negra
“Las pruebas de caja negra, también llamadas pruebas de comportamiento, se enfocan
en los requerimientos funcionales del software; es decir, las técnicas de prueba de caja
negra le permiten derivar conjuntos de condiciones de entrada que revisarán por
completo todos los requerimientos funcionales para un programa. Las pruebas de caja
negra no son una alternativa para las técnicas de caja blanca. En vez de ello, es un
enfoque complementario que es probable que descubra una clase de errores diferente
que los métodos de caja blanca.”(Roger S. Pressman, 2010)
CAPÍTULO 3: PRUEBAS DE SOFTWARE
37
Las Pruebas de Caja Negra tratan de hallar errores en diferentes categorías. Tales
categorías son las siguientes:(Roger S. Pressman, 2010)
1. Funciones incorrectas o faltantes,
2. Errores de interfaz.
3. Errores en las estructuras de datos o en el acceso a bases de datos externas.
4. Errores de comportamiento o rendimiento
5. Errores de inicialización y terminación
Las pruebas de Caja Negra tienden a realizarse durante las últimas etapas de la prueba.
Estas pruebas se diseñan para responder a las siguientes preguntas:
¿Cómo se prueba la validez funcional?
¿Cómo se prueban el comportamiento y el rendimiento del sistema?
¿Qué clases de entrada harán buenos casos de prueba?
¿El sistema es particularmente sensible a ciertos valores de entrada?
¿Cómo se aíslan las fronteras de una clase de datos?
¿Qué tasas y volumen de datos puede tolerar el sistema?
¿Qué efecto tendrán sobre la operación del sistema algunas combinaciones
específicas de datos?
Para desarrollar la prueba de caja negra existen varios métodos, entre ellas están:
(Roger S. Pressman, 2001b)
Método de prueba basados en grafos
La prueba del software empieza creando un grafo de objetos importantes y sus
relaciones, y después diseñando una serie de pruebas que cubran el grafo de manera
que se ejerciten todos los objetos y sus relaciones para descubrir los errores. Fue la
técnica usada en el desarrollo de pruebas de caja negra a la aplicación.
CAPÍTULO 3: PRUEBAS DE SOFTWARE
38
Partición equivalente
La partición equivalente es un método de prueba de caja negra que divide el campo de
entrada de un programa en clases de datos de los que se pueden derivar casos de
prueba. Un caso de prueba ideal descubre de forma inmediata una clase de errores (por
ejemplo, proceso incorrecto de todos los datos de carácter) que, de otro modo,
requerirían la ejecución de muchos casos antes de detectar el error genérico. La partición
equivalente se dirige a la definición de casos de prueba que descubran clases de errores,
reduciendo así el número total de casos de prueba que hay que desarrollar.
Análisis de valores límite
El análisis de valores límite es una técnica de diseño de casos de prueba que
complementa a la partición equivalente. En lugar de seleccionar cualquier elemento de
una clase de equivalencia, el análisis de valores límite lleva a la elección de casos de
prueba en los extremos de la clase. En lugar de centrarse solamente en las condiciones
de entrada, el análisis de valores límite obtiene casos de prueba también para el campo
de salida.
Prueba de comparación
Para las aplicaciones críticas, se deben desarrollar versiones de software
independientes, incluso aunque sólo se vaya a distribuir una de las versiones. Esas
versiones independientes son la base de una técnica de prueba de caja negra
denominada prueba de comparación o prueba mano a mano.
Prueba de la tabla ortogonal
La prueba de la tabla ortogonal puede aplicarse a problemas en que el dominio de
entrada es relativamente pequeño, pero demasiado grande para posibilitar pruebas
exhaustivas. El método de prueba de la tabla ortogonal es particularmente útil al
encontrar errores asociados con fallos localizados una categoría de error asociada con
defectos de la lógica dentro de un componente Software.
CAPÍTULO 3: PRUEBAS DE SOFTWARE
39
3.3.1 Método de prueba basado en errores de interfaz
Tabla 3.1 Secciones a probar la opción “QR”
Nombre de la
Sección
Escenarios de la
Sección
Descripción de la
funcionalidad
Flujo Central
SC1:
QR
EC 1.1:
El usuario desea
escanear el código
por primera vez.
La aplicación
chequea los
permisos de
acceso a la
cámara.
Abrir
automáticamente
la interfaz de la
cámara.
EC 1.2:
El usuario desea
acceder
nuevamente al
QR.
La aplicación
necesitará solo
que el visitante
acceda a la
cámara.
Abrir
automáticamente
la interfaz de la
cámara.
Tabla 3.2 Escenarios a probar la opción “QR”
Id del
escenario
Escenario Variable 1
Permisos
Respuesta
del Sistema
Resultado de
la Prueba
EC1 Primera vez V El sistema
chequea los
permisos de
acceso a la
Prueba
superada con
éxito.
CAPÍTULO 3: PRUEBAS DE SOFTWARE
40
[Las celdas de la tabla contienen V, I, V indica válido, I indica inválido.]
cámara y
carga la
interfaz del
escáner.
I El sistema
lanza una
alerta
notificando
que no tienes
permisos
para acceder
a la cámara.
EC2 Nuevamente V El sistema
comprueba
los permisos
y carga la
interfaz de la
cámara.
Prueba
superada con
éxito.
I El sistema
lanza una
alerta
notificando
que no tienes
permiso para
acceder a la
cámara.
CAPÍTULO 3: PRUEBAS DE SOFTWARE
41
3.4 Pruebas de Usabilidad
La usabilidad es una condición muy importante que debe poseer todo software. Un
software presenta buena usabilidad cuando su interfaz gráfica es amigable para el
usuario y este no necesite la presencia de un experto que le guie a trabajar con el
software.
La prueba de usabilidad evalúa el grado en el cual los usuarios pueden interactuar con
la aplicación y el grado en el que la aplicación guía las acciones del usuario, proporciona
retroalimentación significativa y refuerza un enfoque de interacción concreto. En lugar de
enfocarse atentamente en la semántica de algún objetivo interactivo, las revisiones y
pruebas de usabilidad se diseñan para determinar el grado en el cual la interfaz de la
aplicación facilita la vida del usuario (Roger S. Pressman, 2001a).
El ingeniero en software contribuirá con el diseño de las pruebas de usabilidad,
pero las pruebas en sí las realizan los usuarios finales. La siguiente secuencia de pasos
es aplicable para tal fin (Roger S. Pressman, 2010):
1. Definir un conjunto de categorías de prueba de usabilidad e identificar las metas
de cada una.
2. Diseñar pruebas que permitirán la evaluación de cada meta.
3. Seleccionar a los participantes que realicen las pruebas.
4. Instrumentar la interacción de los participantes con la aplicación mientras se
lleva a cabo la prueba.
5. Desarrollar un mecanismo para valorar la usabilidad de la aplicación.
Las siguientes categorías y objetivos de prueba (escritos en forma de pregunta) ilustran
este enfoque:
Interactividad: ¿Los mecanismos de interacción (por ejemplo, menús desplegables,
botones, punteros) son fáciles de entender y usar?
Plantilla: ¿Los mecanismos de navegación, contenido y funciones se colocan de forma
que el usuario pueda encontrarlos rápidamente?
CAPÍTULO 3: PRUEBAS DE SOFTWARE
42
Legibilidad: ¿El texto está bien escrito y es comprensible?8 ¿Las representaciones
gráficas se entienden con facilidad?
Estética: ¿La plantilla, color, fuente y características relacionadas facilitan el uso? ¿Los
usuarios “se sienten cómodos” con la apariencia y el sentimiento de la aplicación?
Características de despliegue: ¿La aplicación usa de manera óptima el tamaño y la
resolución de la pantalla?
Sensibilidad temporal: ¿Las características, funciones y contenido importantes pueden
usarse o adquirir en forma oportuna?
Personalización: ¿La aplicación se adapta a las necesidades específicas de diferentes
categorías de usuario o de usuarios individuales?
Prueba de Usabilidad a la Aplicación Móvil “Jardín Botánico UCLV”
Para validar la usabilidad de la aplicación se emplea la siguiente encuesta:
3.4.1 Encuesta aplicada a los usuarios
Estimado usuario: con el objetivo de validar la usabilidad de la aplicación “Jardín
Botánico UCLV” solicitamos su opinión sincera para el perfeccionamiento del sistema.
Antes de comenzar con las preguntas de validación necesitamos la siguiente
información:
Información del usuario encuestado
Edad: ___________.
Nivel Escolar: ___6to ___9no ___12mo ___ Nivel superior
En caso de nivel superior diga:
especialidad: _______________________________.
grado científico: _____________________________.
Después de usar la aplicación responda las siguientes interrogantes colocando al final
de cada una el número que corresponda, según su opinión.
CAPÍTULO 3: PRUEBAS DE SOFTWARE
43
Fácil Normal Difícil
1 2 3
Pregunta 1: Interactividad: ¿Los mecanismos de interacción (por ejemplo, el menú de
navegación desplegable, el botón que se encuentra ubicado en la parte superior de las
áreas del jardín) son fáciles de entender y usar? _____
Pregunta 2: Plantilla: ¿La distribución del menú desplegable y el contenido de las
secciones pueden ser encontrados con facilidad? _____
Pregunta 3: Legibilidad: ¿El tamaño de la fuente le permite leer el contenido de la
aplicación con facilidad? _____
Pregunta 4: Estética: ¿Los colores de la aplicación y la distribución de las secciones
son cómodos para su uso? _____
Pregunta 5: Características de despliegue: ¿La aplicación usa de manera óptima el
tamaño y la resolución de la pantalla? _____
Pregunta 6: Sensibilidad temporal: ¿El contenido de las plantas y la función del QR
pueden ser accedidos con rapidez? _____
Pregunta 7: Personalización: ¿La aplicación suple las necesidades del centro? _____
Pregunta 8: ¿Le harías cambios a la aplicación “Jardín Botánico UCLV”?
Sí _____ No _____
¿Cuales?______________________________________________________________
______________________________________________________________________
__________________________________________________________
CAPÍTULO 3: PRUEBAS DE SOFTWARE
44
3.4.2 Resultado de la encuesta aplicada.
La prueba de usabilidad fue realizada durante los días 13 - 17 de mayo, la muestra estuvo
conformada por 20 personas. Durante el transcurso de estas pruebas se pudo comprobar
que el uso de la interfaz es intuitivo, porque los usuarios no necesitaron que le fuera
explicada con anticipación las funciones de la aplicación.
Pregunta 1: Interactividad.
Para los usuarios encuestados los mecanismos de interacción con el menú de
navegación despegable y el botón que se encuentra ubicado en la parte superior de las
áreas del jardín fue fácil.
Pregunta 2: Plantilla
Para los usuarios encuestados la distribución del menú desplegable y el contenido de las
secciones son fáciles de encontrar.
0
5
10
15
20
Fácil Normal Difícil
18
20
Cantidad de
Personas
Escala de Valoración
Interactividad
CAPÍTULO 3: PRUEBAS DE SOFTWARE
45
Pregunta 3: Legibilidad
Para los usuarios encuestados el tamaño de la fuente le permite leer el contenido de la
aplicación con facilidad.
0
5
10
15
20
Fácil Normal Difícil
17
2 1
Cantidad de
Personas
Escala de Valoración
Plantilla
CAPÍTULO 3: PRUEBAS DE SOFTWARE
46
Pregunta 4: Estética
Para los usuarios encuestados los colores de la aplicación y la distribución de las
secciones son cómodos para su uso.
Pregunta 5: Características de despliegue
0
10
20
Fácil Normal Difícil
18
1 1
Cantidad de
Personas
Escala de Valoración
Legibilidad
0
5
10
15
20
Fácil Normal Difícil
20
0 0
Cantidad de
Personas
Escala de Valoración
Estética
CAPÍTULO 3: PRUEBAS DE SOFTWARE
47
Para los usuarios encuestados la aplicación usa de manera óptima el tamaño y la
resolución de la pantalla.
Pregunta 6: Sensibilidad temporal
Para los usuarios encuestados el contenido de las plantas y la función del QR pueden
ser accedidos con rapidez.
0
5
10
15
20
Fácil Normal Difícil
17
30
Cantidad de
Personas
Escala de Valoracion
Características de despliegue
CAPÍTULO 3: PRUEBAS DE SOFTWARE
48
Pregunta 7: Personalización
Para los usuarios encuestados la aplicación suple las necesidades del centro
0
5
10
15
20
Fácil Normal Difícil
16
4
0
Cantidad de
Personas
Escala de Valoración
Sensibilidad temporal
0
5
10
15
20
Fácil Normal Difícil
19
1 0
Cantidad de
Personas
Escala de Valoración
Personalización
CAPÍTULO 3: PRUEBAS DE SOFTWARE
49
Resultados Generales de la Encuesta
La usabilidad de la aplicación móvil desarrollada, el 89,3% la considera fácil, logrando
acceder a todas las funcionalidades de la misma de manera rápida y eficiente, un 9,2%
la considera de usabilidad normal, ya que el tamaño y la resolución de la pantalla no les
agrada y también les cuesta tiempo de acceso al contenido de las plantas y la función
QR; solo un 1,4% la evalúa de difícil ya que la distribución del menú desplegable y el
contenido de las secciones les son complicados de acceder y el tamaño de fuente les
imposibilita leer el contenido de la aplicación, este grupo de personas son de avanzada
edad y no están familiarizados con las tecnologías móviles, ellos alegan que utilizan el
móvil para la comunicación nada más y por sus avanzadas edades presentan dificultades
en la visión.
Tabla 3.4: Resultados Generales de la Encuesta
CAPÍTULO 3: PRUEBAS DE SOFTWARE
50
3.5 Pruebas de compatibilidad
La aplicación está diseñada para funcionar en cualquier Smartphone o Tablet con
sistema operativo Android 6.0 (Marshmallow) o superior, por lo que fue probada en varios
dispositivos con diferentes características de hardware y software como se muestra en
la siguiente tabla:
0
20
40
60
80
100
Fácil Normal Difícil
89,3
9,21,4
Usabilidad
CAPÍTULO 3: PRUEBAS DE SOFTWARE
51
Samsung Galaxy J5 Prime
Pantalla: 5", 720 x 1280 pixels
Procesador: Quad-core 1.4GHz
RAM: 2GB
Almacenamiento: 16GB
Expansión: microSD
Cámara: 13 MP
Batería: 2400 mAh
OS: Android 6.0.1
Alcatel Idol 4S
Pantalla: 5.5", 1440 x 2560 pixels
Procesador: Snapdragon 652 1.8GHz
RAM: 2GB
Almacenamiento: 16GB
Expansión: microSD
Cámara: 16 MP Batería: 3000 mAh OS: Android 6.0.1
CAPÍTULO 3: PRUEBAS DE SOFTWARE
52
LG Stylus 2
Pantalla: 5.7", 1280 x 720 pixels
Procesador: Qualcomm Snapdragon 410 MSM8916 1,2GHz
RAM: 1.5GB
Almacenamiento: 16GB
Expansión: microSD
Cámara: 13 MP Batería: 3000mAh
OS: Android 6.0
LG K10 (2017)
Pantalla: 5.3", 720 x 1280
pixels
Procesador: Mediatek
MT6750 1.5GHz
RAM: 2GB
Almacenamiento: 16GB
Expansión: microSD
Cámara: 13 MP
Batería:2800 mAh
OS: Android 7.0
CAPÍTULO 3: PRUEBAS DE SOFTWARE
53
Moto E4
Pantalla: 5", 1280 x 720 pixels
Procesador: Snapdragon 425 de cuatro núcleos (1.4GHz)
RAM: 2GB
Almacenamiento: 16GB
Expansión: microSD
Cámara: 8MP
Batería: 2,800mAh
OS: Android 7.1.1
Samsung Galaxy Tab A 8.0
(2017)
Pantalla: 8", 800 x 1280 pixels
Procesador: Snapdragon 425 1.4GHz
RAM: 2GB
Almacenamiento: 16GB
Expansión: microSD
Cámara: 8 MP Batería: 5000 mAh
OS: Android 7.1
CAPÍTULO 3: PRUEBAS DE SOFTWARE
54
Samsung Galaxy J6
Pantalla: 5.65", 1480 x 720
pixels
Procesador: Exynos 7870 octa-core
RAM: 3GB
Almacenamiento: 32GB
Expansión: MicroSD
Cámara: 13 Mpx
Batería: 3000 mAh
OS: Android 8.0 Oreo
La aplicación fue probada en diferentes Smartphones y se pudo apreciar la manera en
cómo se ajusta a las diferentes dimensiones de tamaño de pantalla y densidades por
pixeles. La aplicación fue instalada en diferentes versiones de Android, en versiones
inferiores a la versión de Android 6.0 (Marshmallow) la aplicación presenta problemas ya
que las librerías utilizadas no son compatibles con versiones inferiores a la versión 6.0
del sistema operativo Android, por ejemplo, al acceder al escáner de códigos QR la
aplicación se cierra y no permite el funcionamiento del escáner ya que la librería es
incompatible con estas versiones. La aplicación al ser instalada en los dispositivos
móviles con versión igual o superior a la versión 6.0 de Android respondió
satisfactoriamente, solo se distingue un ligero cambio en la apariencia de los
componentes en las versiones más resientes del sistema operativo Android, pero no
afecta en nada el diseño visual de la aplicación.
En el Tablet la aplicación se comporta de la manera deseada ajustándose los
componentes y al tamaño de pantalla de este dispositivo.
CAPÍTULO 3: PRUEBAS DE SOFTWARE
55
Conclusiones parciales del Capítulo
La fase de pruebas de software es muy importante en el proceso de desarrollo de una
aplicación, permitiendo así la entrega de un producto de calidad y con la mínima cantidad
de deficiencias al cliente. La aplicación fue sometida a diferentes pruebas donde se
aplicó las pruebas de caja negra, las pruebas de usabilidad de la aplicación y pruebas
de compatibilidad de la aplicación. Los resultados fueron satisfactorios, aunque se
detectaron aspectos a mejorar como es el caso de la distribución del menú desplegable
y el contenido de las secciones le es complicado de acceder, así como el tamaño de
fuente les imposibilita leer el contenido de la aplicación. La no aplicación de estas
pruebas no hubiese facilitado la detección de estas debilidades y hubiesen pasado
desapercibidas.
56
Conclusiones La aplicación móvil desarrollada permite difundir la información relevante del Jardín
Botánico de la UCLV. Reúne información a través de imágenes y textos sobre las áreas
de colecciones vivas de las plantas y los servicios que presta a la población. Para ello se
pudo concluir lo siguiente:
Se diseñó una base de datos, que permitió el almacenamiento de la información
requerida, así como permitió un rápido acceso a la misma.
Se desarrolló una aplicación para móvil para el sistema operativo Android que
posibilitó solucionar el problema de divulgación del Jardín Botánico de la UCLV.
La usabilidad de la aplicación diseñada fue analizada con la realización de
pruebas de software que certificaron el funcionamiento y tratamiento de posibles
errores del sistema.
57
Recomendaciones
A partir del estudio realizado se recomienda:
A los trabajadores del centro de Estudios de las Plantas crear un mapa de todas las
áreas del Jardín Botánico de la UCLV en versión digital.
Se recomienda a futuros estudiantes con intereses en el proyecto la implementación de
nuevas funcionalidades que propicien mayor interactividad y disfrute del centro. Por
ejemplo, enfocar la cámara del móvil a las plantas y la aplicación muestre la información
de la planta, a través del empleo de técnicas de realidad aumentada.
58
Bibliografía 1. Alberto González Carrasco, Luis Müller Heiberg, 2017. MODELO ENTIDAD-
RELACIÓN DEL NEGOCIO: PARA INNOVAR, EMPRENDER Y DIRIGIR.
2. Android Studio release notes | Android Developers [WWW Document], n.d. URL
https://developer.android.com/studio/releases (accessed 5.22.19).
3. Balaguera, Y.D.A., 2013. Metodologías ágiles en el desarrollo de aplicaciones
para dispositivos móviles. Estado actual. Rev. Tecnol. 12, 111–123.
4. Banes, C., 2019. Implementation of ImageView for Android that supports zooming,
by various touch gestures.: chrisbanes/PhotoView.
5. Constantin Scheuermann, Martin Werner, Moritz Kessel, Claudia Linnhoff-Popien,
Stephan A. W. Verclas, n.d. Evaluation of Barcode Decoding Performance using
ZXINGLibrary.
6. daimajia, 2019. An amazing and convenient Android image slider. Contribute to
daimajia/AndroidImageSlider development by creating an account on GitHub.
7. DANIEL PONSODA MONTIEL, 2008. Introducción a SQLite.
8. Dushyanth, 2019. Barcode Scanner Libraries for Android. Contribute to
dm77/barcodescanner development by creating an account on GitHub.
9. Enrique Ramírez Hernández, Juan Vicente Oltra Gutiérrez, 2011. Desarrollo de
aplicaciones para dispositivos con Sistema Operativo Android. Universidad
Politécnica de Valencia, Universidad Politécnica de Valencia.
10. García Sánchez, E., Vite Chávez, O., Navarrate Sánchez, M.Á., García Sánchez,
M.Á., Torres Cosío, V., García Sánchez, E., Vite Chávez, O., Navarrate Sánchez,
M.Á., García Sánchez, M.Á., Torres Cosío, V., 2016. Metodología para el
desarrollo de software multimedia educativo MEDESME. CPU-E Rev. Investig.
Educ. 216–226.
11. IAN SOMMERVILLE, 2005. Ingienería del software, 7ma ed.
12. José A. Cerrada Somolinos, Manuel E. Collado Machuca, 2006. INTRODUCCION
ALA INGENIERÍA EL SOFTWARE. EDITORIAL CENTRO DE ESTUDIOS
RAMÓN ARECES, S.A.
ANEXOS
59
13. Lisandro Delía, Nicolás Galdamez, Pablo Thomas, Patricia Pesado, 2013. Un
Análisis Experimental de Tipo de Aplicaciones para Dispositivos Móviles.
14. María José Escalona, Nora Koch, 2002. Ingeniería de Requisitos en Aplicaciones
para la Web – Un estudio comparativo. Sevilla Diciembre 2002 26.
15. Martin Fowler, 1999. UML gota a gota.
16. Martínez, R.M., n.d. LAS TECNOLOGÍAS DE INFORMACIÓN Y
COMUNICACIÓN: SU EVOLUCIÓN Y APLICACIÓN EN LOS NEGOCIOS
INTERNACIONALES 28.
17. Patricio Letelier Torres, n.d. Desarrollo de Software Orientado a Objeto usando
UML. Universidad Politécnica de Valencia (UPV) - España.
18. Polanco, K.M., Taibo, J.L.B., 2011. “ANDROID” EL SISTEMA OPERATIVO DE
GOOGLE PARA DISPOSITIVOS MÓVILES. Rev. Negot. 0.
19. Ricardo Vicente Jaime Vivas, 2009. Introducción a las Bases de Datos Un enfoque
basado en casos de estudio, Primera Edición. ed.
20. Roger S. Pressman, 2010. Ingenieria del software."Un enfoque practico", Séptima
edición. ed.
21. Roger S. Pressman, 2001a. SOFTWARE ENGINEERING A Practitioner’s
Approach, Fifth Edition. ed.
22. Roger S. Pressman, 2001b. INGENIERÍA DEL SOFTWARE UN ENFOQUE
PRÁCTICO, Quinta edición. ed.
23. Rummler, J., 2019. Animated SVG Drawing for Android. Contribute to
jaredrummler/AnimatedSvgView development by creating an account on GitHub.
24. Sitio Oficial de Adobe, 2019a. Funciones nuevas y mejoradas | Última versión de
Photoshop [WWW Document]. URL https://helpx.adobe.com/la/photoshop/user-
guide.html?topic=/la/es/photoshop/morehelp/introduction.ug.js (accessed
5.23.19).
25. Sitio Oficial de Adobe, 2019b. Nuevas funciones y mejoras | Última versión de
Illustrator [WWW Document]. URL https://helpx.adobe.com/la/illustrator/user-
guide.html?topic=/la/es/photoshop/morehelp/introduction.ug.js (accessed
5.23.19).
ANEXOS
60
26. Sitio Oficial de Material Design, n.d. Design [WWW Document]. Mater. Des. URL
https://material.io/design/ (accessed 5.22.19).