departamento departamento de computación

71
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

Upload: others

Post on 28-Jul-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Departamento Departamento de Computación

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

Page 2: 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

Page 3: Departamento Departamento de Computación

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

Page 4: Departamento Departamento de Computación

i

Pensamiento

“No importa lo lento que vayas mientras no te detengas”

Confucio

Page 5: Departamento Departamento de Computación

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.

Page 6: Departamento Departamento de Computación

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

Page 7: Departamento Departamento de Computación

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

Page 8: Departamento Departamento de Computación

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

Page 9: Departamento Departamento de Computación

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

Page 10: Departamento Departamento de Computación

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

Page 11: Departamento Departamento de Computación

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

Page 12: Departamento Departamento de Computación

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

Page 13: Departamento Departamento de Computación

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

Page 14: Departamento Departamento de Computación

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.

Page 15: Departamento Departamento de Computación

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

Page 16: Departamento Departamento de Computación

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.).

Page 17: Departamento Departamento de Computación

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).

Page 18: Departamento Departamento de Computación

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.

Page 19: Departamento Departamento de Computación

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).

Page 20: Departamento Departamento de Computación

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.

Page 21: Departamento Departamento de Computació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

Page 22: Departamento Departamento de Computación

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

Page 23: Departamento Departamento de Computación

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

Page 24: Departamento Departamento de Computación

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.

...

Page 25: Departamento Departamento de Computación

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

Page 26: Departamento Departamento de Computación

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;

...

Page 27: Departamento Departamento de Computación

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

Page 28: Departamento Departamento de Computación

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.

Page 29: Departamento Departamento de Computación

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.

Page 30: Departamento Departamento de Computación

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.

Page 31: Departamento Departamento de Computación

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).

Page 32: Departamento Departamento de Computación

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

Page 33: Departamento Departamento de Computación

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

Page 34: Departamento Departamento de Computación

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.

Page 35: Departamento Departamento de Computació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.

Page 36: Departamento Departamento de Computació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

Page 37: Departamento Departamento de Computación

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).

Page 38: Departamento Departamento de Computación

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.

Page 39: Departamento Departamento de Computació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.

Page 40: Departamento Departamento de Computación

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.

Page 41: Departamento Departamento de Computació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.

Page 42: Departamento Departamento de Computación

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().

Page 43: Departamento Departamento de Computación

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

Page 44: Departamento Departamento de Computación

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.

Page 45: Departamento Departamento de Computación

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).

Page 46: Departamento Departamento de Computación

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.

Page 47: Departamento Departamento de Computación

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)

Page 48: Departamento Departamento de Computación

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.

Page 49: Departamento Departamento de Computació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.

Page 50: Departamento Departamento de Computación

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.

Page 51: Departamento Departamento de Computación

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.

Page 52: Departamento Departamento de Computación

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?

Page 53: Departamento Departamento de Computación

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.

Page 54: Departamento Departamento de Computació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?______________________________________________________________

______________________________________________________________________

__________________________________________________________

Page 55: Departamento Departamento de Computación

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

Page 56: Departamento Departamento de Computación

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

Page 57: Departamento Departamento de Computación

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

Page 58: Departamento Departamento de Computación

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

Page 59: Departamento Departamento de Computación

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

Page 60: Departamento Departamento de Computació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

Page 61: Departamento Departamento de Computación

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

Page 62: Departamento Departamento de Computación

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

Page 63: Departamento Departamento de Computación

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

Page 64: Departamento Departamento de Computación

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

Page 65: Departamento Departamento de Computación

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.

Page 66: Departamento Departamento de Computación

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.

Page 67: Departamento Departamento de Computación

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.

Page 68: Departamento Departamento de Computación

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.

Page 69: Departamento Departamento de Computación

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.

Page 70: Departamento Departamento de Computación

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).

Page 71: Departamento Departamento de Computación

ANEXOS

60

26. Sitio Oficial de Material Design, n.d. Design [WWW Document]. Mater. Des. URL

https://material.io/design/ (accessed 5.22.19).