Universidad Central “Marta Abreu” de las Villas. Facultad Matemática, Física y Computación
Ingeniería Informática
Título: Sistema de encuestas en dispositivos móviles
para el Centro de Estudios Integradores HistArtMed
Autor: Alejandro Martínez Pérez
Tutor: Dra. Mabel González Castellanos
2016-2017
El que suscribe _Alejandro Martínez Pérez________________, hago constar que el
trabajo titulado Sistema de Encuesta para el Centro de Estudios Integradores
HistArtMed fue realizado en la Universidad Central “Marta Abreu” de Las Villas como
parte de la culminación de los estudios de la especialidad de __Ingeniería
Informática_____, autorizando a que el mismo sea utilizado por la institución, para los
fines que estime conveniente, tanto de forma parcial como total y que además no
podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.
______________________
Firma del Autor
Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según
acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que
debe tener un trabajo de esta envergadura referido a la temática señalada.
____________________________ ___________________________
Firma del Tutor Firma del Jefe del Laboratorio
DEDICATORIA
A todas aquellas personas que han contribuido de una forma u otra a la
realización de este trabajo, especialmente a mi familia y mis amigos que
son el pilar principal de mi vida.
A la Dra. Isis Betancourt Torres que a pesar de la distancia hizo posible la
realización de este trabajo.
A mi tutora la Dra. Mabel González Castellanos por todo su apoyo y ayuda
en momentos importantes.
AGRADECIMIENTOS
A mi gran familia por su gran apoyo y comprensión en todo momento,
ellos son los que me han permitido llegar hasta aquí.
RESUMEN
HISTARTMED es un proyecto científico cultural diseñado con el objetivo de aumentar
el acervo cultural de estudiantes y profesionales de las ciencias médicas a partir de la
vinculación de la historia, el arte y la medicina. Entre las acciones desarrolladas desde
su creación se encuentran: la impartición de conferencias sobre Historia, Arte y
Medicina, la realización de multimedias, coloquios y la realización de cursos de verano
en diferentes provincias del país. Una parte fundamental del proyecto consiste en la
realización de encuestas sobre cultura general en la Universidad, de forma que se
pueda evaluar el conocimiento que poseen los estudiantes acerca de la cultura general
integral. Actualmente este proceso de realización de encuestas se realiza de forma
manual, haciendo que este mecanismo se desarrolle de una forma más lenta y
costosa para la Universidad. La aplicación para dispositivos móviles HistArtMed,
desarrollada en la Facultad de Matemática Física y Computación de la Universidad
Central “Marta Abreu” de Las Villas, constituye una propuesta para facilitar la
aplicación de dichas encuestas además de cumplir con otros objetivos como la
divulgación de información relacionada con el proyecto y otros temas de interés para el
usuario.
ABSTRACT
HISTARTMED is a cultural scientific project designed with the aim of increasing the
cultural heritage of students and professionals in the medical sciences from the links of
history, art and medicine. Among the actions developed since its creation are: lectures
on History, Art and Medicine, multimedia, colloquiums and summer courses in different
provinces of the country. A fundamental part of the project is the conduct of surveys on
general culture in the University, so that the knowledge that the students have about
general comprehensive culture can be evaluated. Currently this process of conducting
surveys is done manually, making this mechanism develop more slowly and costly for
the University. The application for mobile devices HistArtMed, developed at the Faculty
of Mathematics Physics and Computing of the "Marta Abreu" Central University of Las
Villas, is a proposal to facilitate the application of these surveys in addition to meeting
other objectives such as the disclosure of related information with the project and other
topics of interest to the user.
Índice
Introducción ................................................................................................................................ 11
Problema de Investigación:.................................................................................................... 11
Objetivo general: ....................................................................................................................... 12
Objetivos Específicos: ............................................................................................................. 12
Las preguntas de investigación planteadas son: ................................................................ 12
Justificación de la investigación: ............................................................................................ 13
Capítulo I. Fundamentación teórica. ............................................................................. 14
Objetivos estratégicos de la organización. ........................................................................... 14
Sistemas automatizados existentes vinculados al campo de acción ............................... 15
Fundamentación de la metodología usada. ......................................................................... 16
Fundamentación del Entorno de Desarrollo, Lenguaje y Tecnología utilizados. ........................ 18
Android OS ................................................................................................................................ 18
Versiones de Android ............................................................................................................... 18
Material Design ......................................................................................................................... 19
Características de Material Design ........................................................................................ 20
Desarrollo de aplicaciones para dispositivos móviles. ....................................................... 20
¿Qué hace Android especial? ................................................................................................ 22
Android Studio ........................................................................................................................... 24
Sistema de compilación de Gradle ........................................................................................ 24
Flexibilidad de Gradle: ............................................................................................................. 25
Emulador de Android (AVD) ................................................................................................... 25
Adobe Photoshop CS5 ............................................................................................................ 25
Adobe Ilustrator CC 2017 ........................................................................................................ 26
Boostrap ..................................................................................................................................... 26
PHP............................................................................................................................................. 27
MYSQL ....................................................................................................................................... 28
PhpStorm ................................................................................................................................... 29
Xampp ........................................................................................................................................ 29
Jquery ......................................................................................................................................... 31
Conclusiones Parciales ........................................................................................................... 32
Capítulo II. Descripción de la propuesta de solución ............................................... 33
Actores del sistema a automatizar. ........................................................................................ 33
Requisitos funcionales del sistema........................................................................................ 33
Requisitos no funcionales del sistema .................................................................................. 35
Diagrama de Casos de Uso del Sistema. ............................................................................. 36
Descripción de los Casos de Uso del Sistema (CU) ........................................................... 37
CU: Consultar_Información ..................................................................................................... 38
CU: Ejecutar_Encuesta_HistArtMed ..................................................................................... 39
CU: Eliminar_encuesta ............................................................................................................ 43
Diagrama de Paquetes ............................................................................................................ 44
Diagrama de secuencia (CU Significativos) ......................................................................... 47
Diseño de la Base de Datos ................................................................................................... 49
Mapa de Navegación de la aplicación .................................................................................. 51
Modelo de Componentes ........................................................................................................ 52
Diagrama de Despliegue ......................................................................................................... 53
Conclusiones Parciales ........................................................................................................... 54
Capítulo III. Pruebas de la aplicación ............................................................................ 55
Casos de Pruebas (Caja Negra) ............................................................................................ 55
Pruebas de Caja Negra en Casos de Uso Significativos del Sistema ............................. 56
Pruebas de Usabilidad ............................................................................................................. 64
Conclusiones Parciales ........................................................................................................... 66
Conclusiones Generales .................................................................................................. 67
Recomendaciones ............................................................................................................. 68
Anexos .................................................................................................................................. 70
Índice de Tablas
Tabla 1 Versiones Android .......................................................................................................... 18
Tabla.2 Matriz de Trazabilidad: Requisitos Funcionales vs Casos de Uso ................................... 37
Tabla 3 Diagrama de Casos Usos: Consultar Información ........................................................... 38
Tabla 4 Diagrama de Casos de Usos: Ejecutar_Encuesta_HistArtMed ....................................... 39
Tabla 5 Diagrama de Casos de Usos: Enviar_resultados_Encuesta_HistArtMed ....................... 41
Tabla 6 Diagrama de Casos de Usos: Eliminar_encuesta ............................................................ 43
Tabla 7 Escenario a probar Caso de Uso "Enviar_resultados_Encuesta_HistArtMed" ............... 57
Tabla 8 Escenario a probar Caso de Uso "Añadir_Usuario" ........................................................ 60
Tabla 9 Porcentaje por preguntas-Pruebas de Usabilidad .......................................................... 65
Índice de Figuras
Figura 1 Diagrama de Casos de Usos del Sistema ....................................................................... 36
Figura 2. Diagrama de Paquetes del Sistema .............................................................................. 46
Figura 3 Diagrama de secuencia para el Caso de Uso Ejecutar_Encuesta_HistArtMed ............. 47
Figura 4 Diagrama de secuencia para el Caso de Uso Enviar_Resultados_Encuesta_HistArtMed
..................................................................................................................................................... 48
Figura 5 Diagrama de secuencia para el Caso de Uso Eliminar_Encuesta .................................. 49
Figura 6 Modelo conceptual de la Base de Datos ....................................................................... 50
Figura 7 Modelo Físico de la Base de Datos ................................................................................ 50
Figura 8 Mapa de navegación de la aplicación HistArtMed ........................................................ 51
Figura 9 Diagrama de Componentes del Sistema ....................................................................... 53
Figura 10 Diagrama de Despliegue del Sistema .......................................................................... 54
Figura 11 Secuencia de eventos en Caja Negra........................................................................... 55
Figura 12 Pruebas Funcionales. ESC1 .......................................................................................... 58
Figura 13 Pruebas Funcionales. ESC2 .......................................................................................... 58
Figura 14 Pruebas Funcionales. ESC3 .......................................................................................... 59
Figura 15 Pruebas Funcionales. ESC4 .......................................................................................... 59
Figura 16 Pruebas Funcionales. EC1 ............................................................................................ 61
Figura 17 Pruebas Funcionales. EC2 ............................................................................................ 61
Figura 18 Pruebas Funcionales. EC3 ............................................................................................ 62
Figura 19 Pruebas Funcionales. EC4 ............................................................................................ 62
Figura 20 Pruebas Funcionales. EC7 ............................................................................................ 63
Figura 21 Pruebas de Usabilidadd:Encuesta HistArtMed ........................................................... 65
Introducción
El mundo actual es una gran maquinaria en evolución y desarrollo en el campo de los
dispositivos móviles. El incremento de estos equipos y su consumo ha hecho que se
conviertan en objetos del diario vivir para los cuales no existen una restricción de edad
para los que lo usan.
El Centro de Investigación Integrador sobre Historia, Arte y Medicina actualmente
cuenta una sección dentro del sitio web de Infomed (Betancourt, 2016), a través del
cual se brinda información acerca de los últimos eventos realizados, además cuenta
con una sección dedicada a la divulgación de los cursos disponibles y otros temas de
importancia para los usuarios. Aunque este sitio brinda soporte para varias de las
actividades relacionadas con HistArtMed aún existen necesidades que solventar
respecto a la realización de encuestas.
El proyecto HistArtMed ha organizado desde sus inicios cursos de verano, tiempos
electivos para estudiantes de tercero a quinto año de la carrera de medicina,
diplomados y coloquios entre otras actividades. La aplicación de encuestas resulta una
herramienta útil para evaluar los conocimientos de los estudiantes sobre cultura
general integral. Incluso, resulta usual la aplicación de encuestas antes y después de
finalizado el curso con el objetivo de apreciar los conocimientos adquiridos durante el
mismo. La aplicación tradicional de encuestas conlleva un costo tanto de recursos
como de tiempo, este último como resultado del procesamiento posterior de las
mismas. Ambas desventajas se ven solucionadas a través de la aplicación para
móviles desarrollada en el marco del proyecto HISTARMED.
Problema de Investigación:
Actualmente este proceso de realización de encuestas sobre cultura general se realiza
de forma manual, haciendo que este mecanismo se desarrolle de una forma más lenta
y costosa para la universidad. Por este motivo se necesita de una herramienta que
facilite dicha situación.
Objetivo general:
Desarrollar una aplicación para dispositivos móviles que brinde el servicio de
encuestas programadas por dicho centro y además muestre información acerca del
centro de Estudios Integradores sobre Historia, Arte y Medicina
Objetivos Específicos:
1. Implementar una base de datos para almacenar toda la información
relacionada con las encuestas
2. Implementar una herramienta que permita procesar los datos almacenados
referentes a las encuestas realizadas.
3. Realizar pruebas de la aplicación tanto desde la perspectiva del usuario como
del administrador del sitio.
Las preguntas de investigación planteadas son:
¿Cómo diseñar una aplicación Android con una interfaz que facilite su usabilidad en la
realización de encuestas?
¿Cómo desarrollar una aplicación que se conecte de forma eficiente a la base de
datos y muestre los indicadores relevantes al usuario?
Justificación de la investigación:
Con el desarrollo de las tecnologías en la actualidad, el uso de los dispositivos móviles
cada vez se hace más indispensable en nuestra sociedad. Para ello se hace
conveniente desarrollar una aplicación para dispositivos móviles debido a las
facilidades que brinda la plataforma Android y la facilidad de interacción del usuario
con el ambiente gráfico.
Estructura del Documento
El trabajo consta de tres capítulos, el Capítulo I profundiza los sustentos teóricos
relacionados con el sistema operativo Android, el desarrollo de aplicaciones móviles
en la actualidad y diferentes tecnologías que fueron necesarias a la hora de realizar la
aplicación “HistArtMed”.
En el Capítulo II se presenta la propuesta de solución utilizando la metodología RUP,
ya que contiene una gran cantidad de artefactos que permiten la explicación de la
implementación de la aplicación.
El Capítulo III comprende la ejecución de pruebas de caja negra y usabilidad, con el
objetivo de validar las funcionalidades de la aplicación desarrollada.
Además, contiene las conclusiones, recomendaciones, bibliografía y los anexos,
dentro de los que se incluye el Manual de usuario.
Capítulo I. Fundamentación teórica.
En este capítulo se aborda de manera general los conceptos necesarios para
comprender la problemática expuesta en este trabajo de diploma, se exponen las
tecnologías a usar en la implementación del nuevo sistema y las características de las
mismas.
Objetivos estratégicos de la organización.
HISTARTMED es un proyecto científico cultural diseñado con el objetivo de aumentar
el acervo cultural de estudiantes y profesionales de las ciencias médicas a partir de
vincular la historia y el arte con la medicina. El nombre deriva de la unión de estas tres
ramas del saber HIST, de historia, ART de arte y MED de medicina y tiene tres
imágenes simbólicas que lo identifican, la máscara de oro de Tutankamón, el Retrato
del Doctor Gachet de Vincent van Gogh y La Lección de Anatomía del Profesor Tulp
de Rembrandt.
Este proyecto, que se inició en el año 2005 ha devenido en un Centro de Estudios
Integradores sobre Historia, Arte y Medicina de la Universidad de Ciencias Médicas de
la Habana.
Entre sus antecedentes podemos destacar:
Sus creadores han puesto a la disposición de los interesados un material didáctico que
comprende:
Cien conferencias sobre Historia, Arte y Medicina.
Una multimedia que incluye conferencias, ponencias, una galería de obras de
arte, una galería de música y un diccionario con datos de la vida, obra,
enfermedades y causas de muerte de trescientas personalidades de la historia,
el arte y la medicina cubana y universal.
Como parte del proyecto se han efectuado cinco cursos de verano en Ciudad
de la Habana, Pinar del Río y Santiago de Cuba, cinco tiempos electivos para
estudiantes de tercero a quinto año de la carrera de medicina, cuatro versiones
de un diplomado de cuatrocientas cincuenta horas de duración con una
matrícula total de cien diplomantes que lo concluyeron satisfactoriamente.
Se han efectuado los coloquios multidisciplinarios HISTARTMED 2005, 2006,
2007, 2008, 2009 y 2010; con más de trescientos delegados cada uno donde
se han abordado temas por grandes personalidades de la cultura cubana en
representación de la oficina del historiador de la ciudad, el ballet nacional de
Cuba, el centro de estudios martianos, el museo de la necrópolis “Cristóbal
Colón”, el historiador del ministerio de salud pública, la casa de los Orishas, las
embajadas de Egipto, Angola, las sociedades cubanas de medicina interna,
cirugía y enfermería y una amplia representación de los profesores
consultantes y de méritos, varios vicerrectores y el rector de la Universidad de
Ciencias Médicas de la Habana.
El proyecto dispone de un espacio semanal en la Revista Informativa Hola
Habana, con una sección titulada: HISTARTMED, que es seguida por miles de
televidentes de la ciudad y del país, pues posee cobertura nacional a través del
Canal 2, el segundo en importancia en el país.
Sistemas automatizados existentes vinculados al campo de acción
El mundo actual es una gran maquinaria en evolución y desarrollo en el campo de los
dispositivos móviles. El incremento de estos equipos y su consumo ha hecho que se
conviertan en objetos del diario vivir para los cuales no existen una restricción de edad
para los que lo usan.
El Centro de Investigación Integrador sobre Historia, Arte y Medicina actualmente
cuenta una sección dentro del sitio web de Infomed, a través del cual se brinda
información acerca de los últimos eventos realizados, además cuenta con una sección
dedicada a la divulgación de los cursos disponibles y otros temas de importancia para
los usuarios.
Tendencias y tecnologías actuales
Fundamentación de la metodología usada.
El método RUP (Rational Unified Process): es un modelo de proceso de desarrollo de
software que utiliza el lenguaje UML (Lenguaje Unificado de Modelado) para preparar
todos los esquemas de un sistema de software (Ivar Jacobson, 2000).
El Proceso Unificado de Desarrollo de Software se distingue por promover un
desarrollo basado en tres definiciones importantes:
El Proceso Unificado de Desarrollo es dirigido por casos de uso.
El Proceso Unificado de Desarrollo está centrado en la arquitectura.
El Proceso Unificado de Desarrollo es iterativo e incremental.
Proceso: Un proceso de desarrollo de software es una definición del conjunto
completo de actividades necesarias para convertir los requisitos de usuario en un
conjunto consistente de artefactos que conforman un producto software, y para
convertir los cambios sobre esos requisitos en un nuevo conjunto consistente de
artefactos.
Proceso Unificado: Proceso que hace referencia a un contexto que sirve como
plantilla que puede reutilizarse para crear instancias de ella. Es comparable a una
clase, que puede utilizarse para crear objetos en el paradigma de la orientación a
objetos. Instancia del proceso es un sinónimo de proyecto.
Dirigido por casos de uso: El proceso de desarrollo avanza a través de una serie de
flujos de trabajo que parten de los casos de uso, los que se especifican, se diseñan, y
los casos de uso finales son la fuente a partir de la cual los ingenieros de prueba
construyen sus casos de prueba.
Dirigido por arquitectura: La arquitectura se describe mediante diferentes vistas del
sistema en construcción e incluye los aspectos estáticos y dinámicos más
significativos del sistema.
Factores que influyen en la arquitectura:
La plataforma en la que tiene que funcionar el software
Los bloques de construcción reutilizables de que se dispone
Consideraciones de implantación, sistemas heredados, y requisitos no
funcionales como rendimiento y fiabilidad.
Beneficios del proceso iterativo e incremental:
Reduce el costo del riesgo al costo de un solo incremento.
Reduce el riesgo de no sacar al mercado el producto en tiempo.
Acelera el ritmo del esfuerzo de desarrollo debido a que los desarrolladores
trabajan más eficiente para obtener resultados claros a corto plazo.
Reconoce la realidad de que los requisitos del usuario no pueden definirse
completamente al principio.
RUP: Fases dentro de un ciclo:
Fase de inicio o de concepción: se desarrolla la descripción del producto y se presenta
el análisis del negocio para el producto.
Fase de elaboración: se especifican la mayoría de los casos de uso del producto y se
diseña la arquitectura del sistema.
Fase de construcción: se crea el producto.
Fase de transición: el producto se convierte en versión eta.
Fundamentación del Entorno de Desarrollo, Lenguaje y Tecnología
utilizados.
Android OS
Un sistema operativo que fue creado especialmente para teléfonos con pantalla táctil,
los llamados de nueva generación o los inteligentes, las tablets comunes y las que
funcionan con líneas telefónica; entrando en esta gama los relojes inteligentes,
televisores y algunos aditamentos de los nuevos automóviles, esta empresa de
nombre Android Inc, fue respaldada por Google, que en el año 2005 la misma Google
se apodera comprando por varios millones de dólares, previendo que esta nueva
plataforma en la tecnología de avanzada de los estándares en los dispositivos móviles
resultaba un buen negocio a futuro. (Valenzuela, 2013)
Versiones de Android
Android tiene un gran número de actualizaciones desde su primer lanzamiento. En la
Tabla 1 se muestran las diferentes versiones de Android. (Gironés, 2012)
Tabla 1 Versiones Android
Versiones Android Fecha de Lanzamiento Nombre API
1.1 9 de febrero del 2009 2
1.5 30 de abril del 2009 Cupcake 3
1.6 15 de septiembre del
2009
Donut 4
2.0/2.1 26 de octubre 2009 Eclair 5/7
2.2 20 de mayo del 2010 Froyo 8
2.3 6 de diciembre del
2010
GingerBread 9
3.0/3.1/3.2 22 de febrero del 2011 HoneyComb 11/12/13
4.0/4.0.3 19 de octubre del 2011 Ice Cream Sandwich 14/15
4.1/4.2/4.3 Julio del 2012 Jelly Bean 16/17/18
4.4 Octubre del 2013 KitKat 19
5.0 Noviembre del 2014 Lollipop 21
5.1 Marzo del 2015 Lollipop 22
6.0 Octubre del 2015 Mashmallow 23
7.0 Julio del 2016 Android Nougat 24
Con el lanzamiento del Android 5.0 Lollipop se incorpora soporte nativo para OpenGL
ES 3.1. Además esta versión permite añadir a nuestras aplicaciones un paquete de
extensión con funcionalidades gráficas avanzadas (fragment shader, tessellation,
geometry shaders, ASTC,…).
Otro aspecto innovador de la nueva versión lo encontramos en el diseño de la interfaz
de usuario. Se han cambiado los iconos, incluyendo los de la parte inferior
(Retroceder, Inicio y Aplicaciones), que ahora son un triángulo, un círculo y un
cuadrado. El nuevo enfoque gráfico se centra en Material Design.
Material Design
Su nombre se traduce como “Diseño material”. Esta filosofía de diseño basó su
nombre en los objetos materiales. Según la definición oficial de Google: “es un
lenguaje que combina los principios innovadores de la tecnología con las normas
clásicas del diseño”.
Se debe, entonces, a una serie de pautas en las cuales los colores, las sombras, la
profundidad, las superficies y los bordes juegan un papel protagonista, tal como en la
realidad material que experimentamos a diario.
Matías Duarte, creador de este concepto, explicó que “a diferencia del papel, el Diseño
Material se puede ampliar y redimensionar de manera inteligente. Material Design
tiene superficies físicas y bordes. Las escenas y sombras proporcionan significado
sobre lo que se puede tocar y cómo se va a mover”. (pao, 2017).
Características de Material Design
Desde su presentación en la pasada conferencia Google I/O 2014, el concepto de
Material Design adquirió gran importancia en el mundo de los diseñadores digitales,
quienes comenzaron a implementar sus características visuales en los proyectos que
a diario realizaba (Santiago and Roberto, 2015):
En Material Design, la interacción de los objetos en el espacio es transmitida a
través de los principios de la luz, la superficie y el movimiento.
Se trata del espacio en 3D, en el cual los objetos tienen tres dimensiones: la
anchura, la altura y el grosor.
Es influenciado por los elementos clave de diseño de impresión, es decir,
fuentes, colores, imágenes, grids, escalas y espacio, los cuales crean una
estructura jerárquica y significativa que da protagonismo a la inmersión del
usuario en la experiencia digital.
Los objetos en el entorno de Material Design tienen las relaciones padre-hijo
que determinan su interacción. Cada objeto puede estar subordinado a un solo
objeto principal o padre y puede tener cualquier número de hijos. Los objetos
tienen todas las propiedades de su “padre”, por ejemplo, posición, rotación y
elevación.
Desarrollo de aplicaciones para dispositivos móviles.
Hoy en día son muchos los usuarios que usan los teléfonos inteligentes (smartphones)
lo que conlleva que estos utilicen y demanden una gran cantidad de aplicaciones. Es
por ello que se desarrollan cada día nuevas aplicaciones debido a la gran demanda de
las mismas.
Actualmente existen tres tipos de aplicaciones móviles: nativas, web e híbridas, que se
definen como:
Aplicaciones nativas: aquellas que están íntegramente programadas en el
entorno de desarrollo específico para cada sistema operativo.
Aplicaciones web: completamente desarrolladas en HTML 5.
Aplicaciones híbridas: aplicaciones desarrolladas en parte con el entorno de
desarrollo nativo y en parte en lenguaje WEB (HTML 5).
Cada una de ellas tiene sus aspectos positivos y negativos que pueden y deben influir
a la hora de hacer una elección para su desarrollo.
Uno de los puntos fuertes de las aplicaciones web móviles es su funcionamiento en
todas las plataformas (se debe tener en cuenta la compatibilidad con el motor de
browser o navegador). Una aplicación web funcionará en (casi) todos los smartphones
mientras que las aplicaciones nativas requieren un desarrollo para cada uno de los
sistemas operativos (e incluso para versiones diferentes de éstos) y las híbridas
necesitan por lo menos el desarrollo del “contenedor” nativo que aloje las partes en
lenguaje web. Dado que su funcionamiento se basa en recursos web, tanto las
aplicaciones híbridas como las web necesitan una buena capacidad de concurrencia
en los servidores en donde se albergan y una muy buena conectividad para funcionar
de forma óptima.
Obviamente, esto es también uno de sus puntos críticos: algunas de estas
aplicaciones no funcionan sin conexión, incluso si a priori parece que no la necesitan
(lo que puede generar una cierta frustración en los usuarios). Por el contrario, la gran
ventaja está en que no son necesarios unos grandes requisitos de hardware
(procesador, memoria) en la parte del dispositivo móvil para poder ejecutar las
aplicaciones. (Gutierrez, 2013)
Aplicaciones Híbridas:
Como su nombre lo indica tienen un poco de cada tipo de las aplicaciones ya
nombradas. Este tipo de aplicaciones se crean utilizando lenguajes de desarrollo web
y un framework dedicado para la creación de aplicaciones híbridas. La facilidad que
brinda este tipo de desarrollo es que no hay un entorno específico el cual hay que
utilizar para su desarrollo y al igual que las aplicaciones HTML5, no se ejecutan en el
navegador del dispositivo si no a través de un componente nativo WebView.
Ventajas:
–Son multiplataforma
– Distribución en las tiendas de Apps
– El coste de desarrollo es menor que el de una aplicación nativa
Desventajas:
– No cuenta con todas las funcionalidad nativas
Si se tiene en cuenta las características de cada tipo de aplicaciones resulta viable la
utilización de las aplicaciones híbridas y aplicaciones web para el desarrollo de la
aplicación “HistArtMed”.
¿Qué hace Android especial?
Existen muchas plataformas para móviles (Apple iOS, Windows Phone, BlackBerry,
Palm, Java Micro Edition, Linux Mobile (LiMo),Firefox OS,etc.); sin embargo, Android
presenta una serie de características que lo hacen diferente. Es el primero que
combina en una misma solución las siguientes cualidades (Tomas, 2011-2015):
Plataforma realmente abierta. Es una plataforma de desarrollo libre basada
en Linux y de código abierto. Una de sus grandes ventajas es que se puede
usar y customizar el sistema sin pagar.
Adaptable a cualquier tipo de hardware. Android no ha sido diseñado
exclusivamente para su uso en teléfonos y tabletas. Hoy en día podemos
encontrar relojes, cámaras, electrodomésticos y gran variedad de sistemas
empotrados que se basan en este sistema operativo. Este hecho tiene sus
evidentes ventajas, pero también va a suponer un esfuerzo adicional al
programador. La aplicación ha de funcionar correctamente en dispositivos
con gran variedad de tipos de entrada, pantalla, memoria, etc. Esta
característica contrasta con la estrategia de Apple. En iOS tenemos que
desarrollar una aplicación para iPhone y otra diferente para iPad.
Portabilidad asegurada. Las aplicaciones finales son desarrolladas en Java
lo que nos asegura que podrán ser ejecutadas en cualquier tipo de CPU,
tanto presente como futuro. Esto se consigue gracias al concepto de
máquina virtual.
Arquitectura basada en componentes inspirados en Internet. Por ejemplo, el
diseño de la interfaz de usuario se hace en XML, lo que permite que una
misma aplicación se ejecute en un reloj de pantalla reducida o en un
televisor.
Filosofía de dispositivo siempre conectado a Internet. Muchas aplicaciones
solo funcionan si disponemos de una conexión permanente a Internet. Por
ejemplo, comunicaciones interpersonales o navegación con mapas.
Gran cantidad de servicios incorporados. Por ejemplo, localización basada
tanto en GPS como en redes, bases de datos con SQL, reconocimiento y
síntesis de voz, navegador, multimedia, etc.
Aceptable nivel de seguridad. Los programas se encuentran aislados unos
de otros gracias al concepto de ejecución dentro de una caja que hereda de
Linux. Además, cada aplicación dispone de una serie de permisos que
limitan su rango de actuación (servicios de localización, acceso a Internet,
etc.). Desde La versión 6.0 el usuario puede conceder o retirar permisos a
las aplicaciones en cualquier momento.
Optimizado para baja potencia y poca memoria. En el diseño de Android se
ha tenido en cuenta el hardware específico de los dispositivos móviles. Por
ejemplo, Android utiliza la Máquina Virtual ART(o Dalvik en versiones
antiguas). Se trata de una implementación de Google de la máquina virtual
de Java optimizada para dispositivos móviles.
Alta calidad de gráficos y sonido. Gráficos vectoriales suavizados,
animaciones, gráficos en 3D basados en OpenGL. Incorpora codecs
estándares más comunes de audio y vídeo, incluyendo H.264 (AVC), MP3,
AAC, etc.
Android Studio
Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de
aplicaciones para Android y se basa en IntelliJ IDEA. Además del potente editor de
códigos y las herramientas para desarrolladores de IntelliJ, Android Studio ofrece aún
más funciones que aumentan la productividad durante la compilación de apps para
Android, (Developers, 2015) como las siguientes:
Sistema de compilación flexible basado en Gradle.
Un emulador rápido con varias funciones.
Un entorno unificado en el que se puede realizar desarrollos para todos los
dispositivos Android.
Instant Run, para aplicar cambios mientras la app se ejecuta sin la necesidad
de compilar un nuevo APK.
Integración de plantillas de código y GitHub, para ayudar a compilar funciones
comunes de las apps e importar ejemplos de código.
Gran cantidad de herramientas y frameworks de prueba.
Herramientas Lint para detectar problemas de rendimiento, uso, compatibilidad
de versión, etc.
Compatibilidad con C++ y NDK
Sistema de compilación de Gradle
Android Studio usa Gradle como base del sistema de compilación, y proporciona más
características específicas de Android a través del Complemento de Android para
Gradle. Este sistema de compilación se ejecuta en una herramienta integrada desde el
menú de Android Studio, y lo hace independientemente de la línea de comandos. Se
pueden usar las funciones del sistema de compilación para lo siguiente:
Personalizar, configurar y extender el proceso de compilación;
Crear varios APK para tu app con diferentes funciones usando el mismo
proyecto y los mismos módulos;
Volver a usar códigos y recursos entre conjuntos de orígenes.
Flexibilidad de Gradle:
Los archivos de compilación de Android Studio se denominan build.gradle. Son
archivos de texto sin formato que usan sintaxis Groovy para configurar la compilación
con elementos proporcionados por el complemento de Android para Gradle. Cada
proyecto tiene un archivo de compilación de nivel superior para todo el proyecto y
archivos de compilación de nivel de módulo independientes para cada módulo.
Cuando importas un proyecto existente, Android Studio genera automáticamente los
archivos de compilación necesarios.
Emulador de Android (AVD)
Un Emulador es una recreación de un dispositivo físico en un software, de este modo
podremos correr o ejecutar nuestro programa para probarlo y depurarlo sin necesidad
de un dispositivo físico. (Locksley, 2015)
En el proyecto se utiliza el AVD Manager propio del Android Studio ya que permite
probar una aplicación de manera efectiva en todos los dispositivos y sus
correspondientes niveles de API tanto superior como inferior.
Adobe Photoshop CS5
Es un editor de gráficos que se utiliza para crear, editar y retocar imágenes, tanto
gráficas como fotografías. Originalmente realizado para las computadoras de Apple y
luego extendido para las PC con sistema operativo de Windows, fue desarrollado y
comercializado por Adobe Systems Incorporated. (McClelland, 2004)
Se distribuye en diversas presentaciones que pueden ser individuales o en paquetes,
tales como Adobe Creative Suite Design Premium y Standard; Adobe Creative Suite
Web Premium, Adobe Creative Suite Master Collection y Adobe Creative Suite
Production Studio Premium.
Los formatos propios en los que guarda capas, guías, etc. son el PDD y el PSD. Pero
también trabaja con otros como EPS, DCS, BMP, GIF, JPEG, PostScript, Scitex CT,
PICT, PIFF, PDF, PNG, PCX, RAW, TGA, IFF, FlashPix, Filmstrip, entre otros.
Adobe Ilustrator CC 2017
Adobe Illustrator es una aplicación informática dedicada al dibujo vectorial y al diseño
de elementos gráficos casi para cualquier tipo de soporte y dispositivo, pudiendo ser
usado tanto en diseño editorial, dibujo profesional, maquetación web, gráficos para
móviles, interfaces web, o diseños cinematográficos. Junto con Adobe Photoshop,
forman la base de su actual Creative Cloud (así como anteriormente de su Creative
Suite), siendo un programa muy polivalente. (Bauer, 2004)
La gran ventaja de utilizar vectores en tu trabajo es que son adecuados para
prácticamente cualquier medio, digital o gráfico, ya que mantienen su calidad y
definición en cualquier escala. Sin importar lo mucho que se cambie el tamaño de la
imagen, conservará todos sus atributos y detalles.
Boostrap
Bootstrap, es un framework originalmente creado por Twitter, que permite crear
interfaces web con CSS y JavaScript, cuya particularidad es la de adaptar la interfaz
del sitio web al tamaño del dispositivo en que se visualice. Es decir, el sitio web se
adapta automáticamente al tamaño de una PC, una Tablet u otro dispositivo. Esta
técnica de diseño y desarrollo se conoce como “responsive design” o diseño
adaptativo. Es Open Source o código abierto, por lo que lo podemos usar de forma
gratuita y sin restricciones.
El beneficio de usar responsive design en un sitio web, es principalmente que el sitio
web se adapta automáticamente al dispositivo desde donde se acceda. (Spurlock,
2013)
Ventajas de usar Bootstrap
Permite simplificar el proceso de maquetación, sirviéndonos de guía para aplicar
las buenas prácticas y los diferentes estándares.
Puedes tener una web bien organizada de forma visual rápidamente: la curva
de aprendizaje hace que su manejo sea asequible y rápido
Permite utilizar muchos elementos web: desde iconos a
desplegables, combinando HTML5, CSS y Javascript.
El diseño será adaptable, no importa el dispositivo, la escala o resolución.
Se integra muy bien con las principales librerías Javascript.
Existe una comunidad muy activa creando, arreglando cosas, ofreciendo
plugins y mucho más.
Cuenta con implementaciones externas para WordPress, Drupal, etc.
Nos permite usar Less, para enriquecer aún más los estilos de la web.
PHP
Php es un lenguaje de script que se ejecuta del lado del servidor, se incluye en una
página HTML normal. Por lo tanto, se puede comparar con otros lenguajes de script
que se ejecutan según el mismo principio: ASP (Active Server Pages), JSP (Java
Server Pages) o PL/SQL Server Pages (PSP). (HEURTEL, 2011)
A diferencia de un lenguaje como JavaScript, donde el código se ejecuta del lado del
cliente (en el explorador), el código PHP se ejecuta del lado del servidor. El resultado
de esta ejecución se incrusta en la página HTML, que se envía al navegador. Este
último no tiene conocimiento de la existencia del procesamiento que se ha llevado a
cabo en el servidor.
Ventajas y Desventajas de PHP
Es un lenguaje multiplataforma, completamente orientado al desarrollo de
aplicaciones web dinámicas con acceso a información almacenada en una
Base de Datos.
El código fuente escrito en PHP es invisible al navegador y al cliente ya que es
el servidor el que se encarga de ejecutar el código y enviar su resultado HTML
al navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que se
utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
Es libre, por lo que se presenta como una alternativa de fácil acceso para
todos.
Permite aplicar técnicas de programación orientada a objetos.
No requiere definición de tipos de variables aunque sus variables se pueden
evaluar también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
Una de las desventajas fundamentales es que al ser un lenguaje interpretado se
necesita tener el intérprete de PHP, y esto lleva al alto consumo de las aplicaciones,
ya que son imposibles de compilar.
MYSQL
MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario
con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una
subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de
2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta
licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos
deben comprar a la empresa una licencia específica que les permita este uso. Está
desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache,
donde el software es desarrollado por una comunidad pública y los derechos de autor
del código están en poder del autor individual, MySQL es patrocinado por una
empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que
posibilita el esquema de licenciamiento anteriormente mencionado. Además de la
venta de licencias privativas, la compañía ofrece soporte y servicios. (Sánchez,
1/7/2011)
Ventajas:
1. MySQL software es Código Abierto (Open Source).
2. Gran velocidad al realizar las operaciones, lo que le hace uno de los gestores
con mejor rendimiento.
3. Bajo costo en requerimientos para la elaboración de bases de datos, ya que
debido a su bajo consumo puede ser ejecutado en una máquina con escasos
recursos sin ningún problema.
4. Facilidad de configuración e instalación. Soporta gran variedad de Sistemas
Operativos
5. Baja probabilidad de corromper datos, incluso si los errores no se producen en
el propio gestor, sino en el sistema en el que está.
6. Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente
apropiado para acceder bases de datos en Internet.
7. El software MySQL usa la licencia GPL. (Gillfillan, 2003)
Desventajas.
1. Un gran porcentaje de las utilidades de MySQL no están documentadas.
2. No es intuitivo, como otros programas (ACCESS). (Gillfillan, 2003)
PhpStorm
PhpStorm es un IDE de programación desarrollado por JetBrains. Es uno de los
entornos de programación más completos de la actualidad, permite editar código no
sólo del lenguaje de programación php como lo indica su nombre. Actualmente es
compatible con Sistemas Operativos Windows, Linux y Mac OS X. Algo que destaca
en PhpStorm es la ejecución de nuestro código en la misma interfaz del IDE. Así como
también la interpretación y visualización inmediata de código php hasta en 5 de los
navegadores web más populares. Con PhpStorm podemos crear nuevos proyectos
basándonos en algún framework de diseño web y Cms, Como Twitter Bootstrap,
HTML Boilerplate, Composer Project, Drupal Module, App Engine Project, Foundation.
Características de PHPStorm IDE
Permite la gestión de proyectos fácilmente.
Proporciona un fácil autocompletado de código.
Soporta el trabajo con PHP 5.5
Sintaxis abreviada.
Xampp
Xampp es un servidor independiente en base a software libre, con el cual podemos
disponer de un servidor propio o simplemente usarlo para hacer pruebas de nuestras
páginas web, bases de datos, para desarrollar aplicaciones en PHP, con conexión a
base de datos SQL (LAMPP= Linux + Apache + MySQL + PHP + Perl)
El programa está liberado bajo la licencia GNU y actúa como un servidor web libre,
fácil de usar y capaz de interpretar páginas dinámicas. Actualmente Xampp está
disponible para GNU/Linux, Microsoft Windows, Solaris y MacOS X.
Xampp solamente requiere descargar y ejecutar un archivo de tipo zip, tar o exe, con
unas pequeñas configuraciones en alguno de sus componentes que el servidor Web
necesitará. Xampp se actualiza regularmente para incorporar las últimas versiones de
Apache/MySQL/PHP y Perl. También incluye otros módulos como OpenSSL y
phpMyAdmin.(Moseley, 2007)
Contenidos de paquetes
Este software trae consigo una gran variedad de paquetes que hacen de él una
herramienta fuerte y de fácil uso para los desarrolladores.
Paquetes básicos:
Apache, el servidor Web más famoso.
MySQL, una excelente base de datos de código libre.
PHP y Perl: lenguajes de programación.
ProFTPD: un servidor FTP.
OpenSSL: para soporte a la capa de sockets segura.
Paquetes gráficos:
GD (Graphics Draw): la librería de dibujo de gráficos.
libpng: librería oficial de referencía de PNG.
libpeg: librería oficial de referencía de JPEG.
ncurses: librería de gráficos de caracteres.
Paquete de bases de datos:
gdbm: implementación GNU de la librería standard dbm de UNIX.
SQLite: un motor de base de datos SQL muy pequeño y de cero configuración.
FreeTDS: una librería de base de datos que da a los programas de Linux y UNIX
la habilidad de comunicarse con Microsoft SQL y Sybase.
Paquetes XML:
expat: librería parser de XML.
Salbotron: toolkit de XML.
libxml: parser C de XML y un toolkit para GNOME.
Paquetes PHP:
PEAR: librería de PHP.
Una clase pdf que genera documentos PDF dinámicos con PHP.
TURCK MMCache: potenciador de la performance de PHP.
Otros paquetes:
zlib: librería de compresión.
mod_perl: empotra un intérprete de Perl en Apache.
gettext: conjunto de herramientas que asiste a los paquetes GNU para producir
mensajes multilenguales.
mcrypt: programa de encriptación.
Ming: librería de salida en Flash.
IMAC C-Client: API de correos
Jquery
jQuery es una biblioteca gratuita de Javascript, cuyo objetivo principal es simplificar las
tareas de creación de páginas web adaptativas (responsives), acordes a lo estipulado
en la Web 2.0, la cual funciona en todos los navegadores modernos. Por otro lado,
ayuda a que nos concentremos de gran manera en el diseño del sitio, al abstraer por
completo todas las características específicas de cada uno de los navegadores. Otra
de las grandes ventajas de jQuery es que se enfoca en simplificar los scripts y en
acceder/modificar el contenido de una página web. Finalmente, jQuery agrega una
cantidad impresionante de efectos nuevos a Javascript, los cuales podrán ser
utilizados en los sitios Web. (Alvarez, 2010)
Escenarios que se facilitan con el uso de jQuery:
Carga de la página -> Configuraciones de la página
Eventos -> Agarrar contenido de la página, manipula o anima el contenido,
regresa el contenido
Beneficios del uso de jQuery:
jQuery utiliza sintáxis muy parecida a CSS.
Funciona con series de elementos.
Permite manipular series de elementos y modificarlas con una simple línea de
código. (Encadenamiento de enunciados).
Te ayuda a concentrarte en el resultado final.
jQuery es muy fácil de expandir, ya que cuenta con gran cantidad de plugins
que se pueden utilizar o hasta crear uno propio.
Compatible con todos los navegadores modernos.
Conclusiones Parciales
A partir de la literatura consultada se utilizan las siguientes herramientas para la
implementación de la aplicación híbrida “HistArtMed”:
Android Studio como IDE de desarrollo pues logra crear las condiciones
necesarias para el desarrollo de dicha aplicación.
Xampp: como servidor Apache, ya que permite el trabajo con MySQL y PHP.
MySQL: se manejará en el trabajo con la Base de Datos debido a las grandes
ventajas que presenta el mismo.
PhpStorm como IDE de desarrollo para el desarrollo de contenido PHP
JQuery: se utilizará como validador de entrada de campos en la aplicación.
Capítulo II. Descripción de la propuesta de solución
En este capítulo se realizarán las capturas de los requisitos del sistema, tanto
funcionales como no funcionales, se identificarán los principales casos de uso del
sistema y la explicación de los mismos. Se utilizarán varios tipos de diagramas que
ayudarán posteriormente en la explicación de la implementación del proyecto.
Actores del sistema a automatizar.
Usuario: Este actor es el que interactúa con el sistema, que bien pueden ser
estudiantes, profesionales o cualquier interesado en el tema de la aplicación
Administrador: Este actor es el que administra la información relacionada con los datos
de la encuesta.
Requisitos funcionales del sistema
En esta sección se desarrollan los artefactos del Flujo de Captura de los requisitos. Se
realiza un levantamiento de las funcionalidades requeridas por los usuarios del futuro
sistema, y se incorporan beneficios o bondades que la automatización debe lograr. De
los requisitos funcionales se genera el modelo de caso de uso del sistema, lo que
determina la funcionalidad del sistema.
La aplicación HistArtMed se desarrolló orientada al usuario, que bien pueden ser
estudiantes, profesionales o cualquier interesado en el tema de la aplicación. En
función de este usuario se determinaron tres requisitos funcionales del sistema los
cuales se describen a continuación:
RF1. Consultar información del centro:
Esta funcionalidad está presente en la vista principal del sistema y en el menú de
navegación, los cuales recorren las diferentes vistas de la aplicación
RF2. Ejecutar encuesta HistArtMed:
Funcionalidad que permite al usuario desarrollar la encuesta HistArtMed y se accede
desde el menú de navegación en la vista principal de la aplicación.
RF3. Enviar resultados encuesta HistArtMed:
Funcionalidad que le permite al usuario enviar los resultados de la encuesta
HistArtMed, la cual estará accesible al final de la encuesta.
RF4. Mostrar Artículos:
Funcionalidad que permite al usuario acceder a una serie de artículos publicados, se
encuentra disponible en el menú de navegación de la pantalla principal.
RF5. Mostrar Diccionarios:
Funcionalidad que permite al usuario acceder a un diccionario con información de
diferentes personalidades de la historia, se accede a través del menú de navegación
en la pantalla principal
RF6. Añadir Usuario:
Funcionalidad que permite al administrador del sitio agregar más de un usuario
administrativo a la aplicación, y se puede acceder desde la barra de navegación de la
web.
RF7. Eliminar Usuario:
Permite al administrador del sitio eliminar un usuario administrativo y se accede desde
la barra de navegación de la aplicación web.
RF8. Cambiar Contraseña:
Le permite al usuario administrativo cambiar la contraseña actual, comprobando que
siempre coincidan las contraseñas, se accede desde la barra de navegación de la
aplicación web.
RF9. Eliminar Encuesta:
Funcionalidad que le permite al usuario administrativo eliminar una encuesta realizada,
se accede desde la vista principal del administrador.
RF10. Llamar al centro:
Funcionalidad que permite al usuario realizar una llamada al centro, se puede acceder
desde la vista principal de la aplicación.
Requisitos no funcionales del sistema
Los requerimientos no funcionales, como su nombre sugiere, son aquellos
requerimientos que no se refieren directamente a las funciones específicas que
proporciona el sistema, sino a las propiedades emergentes de éste como la fiabilidad,
el tiempo de respuesta y la capacidad de almacenamiento. De forma alternativa,
definen las restricciones del sistema como la capacidad de los dispositivos de
entrada/salida y las representaciones de datos que se utilizan en las interfaces del
sistema.(Gabriel, 2010)
RNF1. Versión Android:
La versión del sistema operativo Android debe ser la 4.0 (Ice Cream Sandwich) o
superior.
RNF2. Capacidad:
El dispositivo debe contar con un espacio de almacenamiento de 20 megabytes para
la instalación de la aplicación.
RNF3. Conectividad:
El dispositivo móvil donde se ejecutará la aplicación debe estar conectado a la red wi-fi
del centro, para poder acceder y enviar los resultados de la encuesta.
RNF4. Usabilidad:
La aplicación debe ser sencilla y de fácil manejo por los usuarios.
RNF5. Seguridad:
A partir de la versión 6.0 de Android se deben otorgar permisos manualmente de
almacenamiento y llamadas a través del mismo sistema operativo.
RNF6. Software:
El dispositivo debe tener instalado un lector PDF, para poder acceder a los artículos y
al diccionario de personalidades.
Diagrama de Casos de Uso del Sistema.
Los Casos de Uso del Sistema son aquellos requisitos funcionales que se aprueben
para la automatización del sistema. En esta etapa de desarrollo se le da solución a las
funcionalidades del sistema y se posponen para etapas posteriores las propiedades
del mismo.
Los Casos de Uso de este sistema son mostrados a continuación en la Figura 1:
Figura 1 Diagrama de Casos de Usos del Sistema
Matriz de trazabilidad Requisitos vs Casos de Uso
Dado que los Casos de Usos fueron determinados en relación uno a uno con los
requisitos, cada uno de estos últimos queda cubierto por un caso de uso. Con esto se
corrobora que todas las funcionalidades requeridas son tenidas en cuenta.
Tabla.2 Matriz de Trazabilidad: Requisitos Funcionales vs Casos de Uso
Requisitos
Funcionales/Casos
de Usos
CU1 CU2 CU3 CU4 CU5 CU6 CU7 CU8 CU9 CU10
RF1 X
RF2 X
RF3 X
RF4 X
RF5 X
RF6 X
RF7 X
RF8 X
RF9 X
Descripción de los Casos de Uso del Sistema (CU)
En esta sección se muestran las principales características del caso de uso en
cuestión, así como la conformación del curso normal de los eventos, describiendo los
pasos necesarios para el cumplimento del mismo.
CU: Consultar_Información
Tabla 3 Diagrama de Casos Usos: Consultar Información
Caso de uso del sistema Consultar_Información
Actores Usuario
Propósito Mostrar información referente al Centro.
Resumen El caso de uso lo inicia el usuario al seleccionar una opción en
el menú de navegación
Como resultado el sistema devuelve la vista referente a la
sección de información
Responsabilidades Mostrar la información
Casos de uso asociados
Requisitos especiales
Precondiciones
Descripción
Prototipos de interfaz asociados
Flujo normal de los eventos
Acción del actor Respuesta del sistema
1.El usuario accede al
menú de navegación de la
aplicación
2.El sistema muestra las opciones de navegación de la
aplicación
3. El usuario selecciona una
opción de navegación.
4.El sistema muestra la información referente.
Flujos alternativos
1. El usuario accede a la
información a través de la
vista principal de la
aplicación
2. El sistema muestra la información referente.
Post condiciones
CU: Ejecutar_Encuesta_HistArtMed
Tabla 4 Diagrama de Casos de Usos: Ejecutar_Encuesta_HistArtMed
Caso de uso del sistema Ejecutar_Encuesta_HistArtMed
Actores Usuario
Propósito Realizar la encuesta HistArtMed
Resumen El caso de uso lo inicia el usuario al seleccionar en el menú de
navegación la opción correspondiente a la encuesta
HistArtMed
Como resultado el sistema devuelve un mensaje del resultado
de la encuesta
Responsabilidades Mostrar el resultado de la encuesta
Casos de uso asociados CU:Enviar_resultados_Encuesta_HistArMmed
Requisitos especiales
Precondiciones RNF3. Conectividad
Descripción
Prototipos de interfaz asociados
Flujo normal de los eventos
Acción del actor Respuesta del sistema
1.El usuario accede a
través del menú de
navegación a la vista de la
encuesta
2.El sistema muestra la vista de la encuesta HistArtMed
3.El usuario llena la
encuesta
4.El sistema procesa que todas las preguntas de la encuesta
5.El sistema pasa a la vista de enviar resultados de la
encuesta
Flujos alternativos
1. El sistema si existe conectividad, de no haber informa al
usuario.
2. El usuario acepta el
mensaje
Post condiciones
CU: Enviar_resultados_Encuesta_HistArtMed
Tabla 5 Diagrama de Casos de Usos: Enviar_resultados_Encuesta_HistArtMed
Caso de uso del sistema Enviar_resultados_Encuesta_HistArtMed
Actores Usuario
Propósito Enviar los resultados de la encuesta HistArtMed
Resumen El caso de uso lo inicia el usuario cuando termina la encuesta
HistArtMed y selecciona la opción de enviar resultado
Como resultado el sistema devuelve un mensaje de
notificación
Responsabilidades Enviar el resultado de la encuesta
Casos de uso asociados Ejecutar_encuesta_HistArtMed
Requisitos especiales
Precondiciones RNF3. Conectividad
Descripción
Prototipos de interfaz asociados
Flujo normal de los eventos
Acción del actor Respuesta del sistema
1.El usuario selecciona la
opción de enviar resultados
de la encuesta
2.El sistema muestra la vista de enviar los resultados de la
encuesta
3.El usuario entra los datos
pertinentes
4.El sistema valida los datos entrados por el usuario
5.El usuario selecciona la
opción de enviar los datos
6.El sistema muestra un mensaje de notificación
7.El usuario acepta el
mensaje
Flujos alternativos
1.El sistema chequea los datos entrados por el usuario, en
caso de problemas.
2.Notifica al usuario en caso de error en la entrada de los
datos
3.El usuario recibe el
mensaje de notificación
Post condiciones El sistema guarda los resultados en una base de datos.
CU: Eliminar_encuesta
Tabla 6 Diagrama de Casos de Usos: Eliminar_encuesta
Caso de uso del sistema Eliminar_encuesta
Actores Administrador
Propósito Eliminar una encuesta HistArtMed
Resumen El caso de uso lo inicia el usuario cuando accede a la sección
administrativa y selecciona una encuesta
Como resultado el sistema devuelve un mensaje de
confirmación
Responsabilidades Eliminar una encuesta
Casos de uso asociados
Requisitos especiales
Precondiciones RNF3. Conectividad
Descripción
Prototipos de interfaz asociados
Flujo normal de los eventos
Acción del actor Respuesta del sistema
1.El usuario selecciona una
encuesta del listado de
encuestas y presiona la
opción Eliminar
2.El sistema muestra un mensaje de confirmación
3. El usuario confirma la
eliminación.
4.El sistema elimina la encuesta seleccionada
5.El sistema muestra un mensaje de notificación de la
operación
6.El usuario acepta el
mensaje
Flujos alternativos
1. El sistema chequea los datos entrados por el usuario, en
caso de problemas.
2.Notifica al usuario en caso de error en la entrada de los
datos
3. El usuario recibe el
mensaje de notificación
Post condiciones El sistema actualiza la base de datos.
Diagrama de Paquetes
El objetivo de estos diagramas es obtener una visión más clara del sistema de
información orientado a objetos, organizándolo en subsistemas, agrupando los
elementos del análisis, diseño o construcción y detallando las relaciones de
dependencia entre ellos. El mecanismo de agrupación se denomina Paquete.
Los paquetes y sus dependencias son elementos de los diagramas de casos de uso,
de clases y de componentes, por lo que se podría decir que el diagrama de paquetes
es una extensión de estos.
Estos diagramas contienen dos tipos de elementos:
Paquetes: Un paquete es una agrupación de elementos, bien sea casos de
uso, clases o componentes. Los paquetes pueden contener a su vez otros
paquetes anidados que en última instancia contendrán alguno de los elementos
anteriores.
Dependencias entre paquetes: Existe una dependencia cuando un elemento de
un paquete requiere de otro que pertenece a un paquete distinto. Es importante
resaltar que las dependencias no son transitivas.
Se pueden optimizar estos diagramas teniendo en cuenta cuestiones como: la
generalización de paquetes, el evitar ciclos en la estructura del diagrama, la
minimización de las dependencias entre paquetes, etc.
Figura 2. Diagrama de Paquetes del Sistema
En la Figura 2 se muestra el Diagrama de Paquetes del Sistema, donde se puede
observar el agrupamiento por subsistemas de cada elemento de los Casos de Usos.
Se agrupan en un paquete llamado “Gestionar Usuario” a los Casos de Usos del
Sistema “Añadir Usuario”, “Eliminar Usuario” y “Cambiar Contraseña”, el cual va a
tener una relación con el paquete llamado “Eliminar Encuesta” debido a que para
realizar la operación de eliminar una encuesta debe haber un usuario autentificado en
el sistema.
Se agrupa un paquete llamado “Encuesta”, que contendrá los Casos de Usos “Ejecutar
Encuesta HistArtMed” y “Enviar resultados Encuesta HistArtMed”. Entre los paquetes
“Eliminar Encuesta” y “Encuesta” existe una estrecha relación ya que para poder
eliminar una encuesta se necesita haber realizada una anteriormente.. Además se
empaquetan los demás Casos de Usos del Sistema por separado.
Diagrama de secuencia (CU Significativos)
Un diagrama de Secuencia muestra una interacción ordenada según la secuencia
temporal de eventos. En particular, muestra los objetos participantes en la interacción
y los mensajes que intercambian ordenados según su secuencia en el tiempo. El eje
vertical representa el tiempo, y en el eje horizontal se colocan los objetos y actores
participantes en la interacción, sin un orden prefijado. Cada objeto o actor tiene una
línea vertical, y los mensajes se representan mediante flechas entre los distintos
objetos. El tiempo fluye de arriba abajo.(Xavier Ferré Grau, 2015)
Un diagrama de secuencia (o varios) puede ilustrar las interacciones entre los objetos
para ejecutar un caso de uso. Los diagramas de secuencia son particularmente
importantes para los diseñadores debido a que ellos aclaran los roles de los objetos en
el flujo y por consiguiente brindan la entrada básica para la determinación de las
responsabilidades y las interfaces de las clases.
Diagrama de secuencia para el Caso de Uso Ejecutar_Encuesta_HistArtMed
Figura 3 Diagrama de secuencia para el Caso de Uso Ejecutar_Encuesta_HistArtMed
En este ejemplo del diagrama de secuencia (Figura 3) para el Caso de Uso
Ejecutar_Encuesta_HistArtMed, el usuario accede desde el menú de navegación en la
interfaz gráfica de la aplicación a la opción Encuesta. Al abrir la interfaz Encuesta la
clase controladora de la misma chequea si existe conectividad con el servidor web
donde está alojada la encuesta HistArtMed, si existe una conexión la aplicación carga
la vista, en caso contrario notifica al usuario de que no existe conectividad.
Diagrama de secuencia para el Caso de Uso
Enviar_Resultados_Encuesta_HistArtMed
Figura 4 Diagrama de secuencia para el Caso de Uso Enviar_Resultados_Encuesta_HistArtMed
El diagrama de secuencia para el Caso de Uso
Enviar_Resultados_Encuesta_HistArtMed (Figura 4) se inicializa cuando el usuario
después de haber realizado la encuesta presiona en el botón de enviar los resultados
y se muestra la interfaz de usuario Enviar_Resultados, donde el usuario debe llenar
todos los datos y el sistema valida la entrada de los mismos, en caso de que los datos
entrados sean correctos inserta los datos del usuario en la base de datos o de lo
contrario muestra un mensaje de error.
Diagrama de secuencia para el Caso de Uso Eliminar_Encuesta
Figura 5 Diagrama de secuencia para el Caso de Uso Eliminar_Encuesta
El actor que interactúa con este Caso de Uso es el Administrador, ya que es el que
posee los privilegios de administrar cada encuesta almacenada en la Base de Datos,
pero primero debe autentificarse en el sistema, una vez autentificado selecciona la
encuesta que desea eliminar y presiona sobre el botón de eliminar y el sistema lanza
un mensaje de notificación de la operación.
Diseño de la Base de Datos
Para el trabajo con la Base de Datos se utiliza MySQL debido a la gran facilidad de
configuración e instalación, la velocidad al realizar las operaciones, la baja
probabilidad de corromper los datos, lo que conlleva que sea uno de los mejores
gestores de bases de datos con mejor rendimiento.
En las Figuras 6 y 7 se muestra el modelo conceptual y físico de la Base de Datos que
será la encargada de almacenar todos los datos de la Encuesta HistArtMed y la
información referente a los administradores del sistema.
En la entidad Encuesta se encuentran los atributos necesarios para poder procesar
cada encuesta guardada en la Base de Datos, ella contiene los atributos nombre,
apellidos y email como llave primaria, además contiene la categoría que puede ser
estudiante o profesor, contiene la puntuación que obtiene el usuario al finalizar la
encuesta y la fecha de cuando realiza la misma. La entidad Admin contiene los
atributos que identifican a un administrador como son el nombre, apellidos, la
contraseña (password) y el email como llave primaria de la misma. Entre estas dos
entidades existe una relación Muchos a Muchos (M: M) ya que muchos
administradores pueden eliminar muchas encuestas almacenadas en la Base de
Datos.
Modelo conceptual de datos
Figura 6 Modelo conceptual de la Base de Datos
Modelo físico de datos
Figura 7 Modelo Físico de la Base de Datos
Mapa de Navegación de la aplicación
Los mapas de navegación proporcionan una representación de la estructura del
hipertexto, indicando los principales conceptos incluidos en el espacio de la
información y las interrelaciones que existen entre ellos. Un mapa es, por ejemplo, una
representación completa (o resumida) de la aplicación para orientar al lector/usuario
durante el recorrido, o para facilitarle un acceso directo al lugar que le interese.
Reflejará la estructura de la aplicación por medio de enlaces a los nodos principales, y
éstos también pueden desarrollarse para mostrar los subnodos. El mapa de
navegación puede representarse bien en forma textual, forma gráfica, o una
combinación de ambas.
En la Figura 8 se muestra el mapa de navegación de la aplicación. Como nodo raíz se
encuentra la vista principal de la aplicación, de ella se derivan las diferentes vistas de
la aplicación.
Figura 8 Mapa de navegación de la aplicación HistArtMed
Modelo de Componentes
Un componente de software individual es un paquete de software, un servicio web, o
un módulo que encapsula un conjunto de funciones relacionadas (o de datos).Todos
los procesos del sistema son colocados en componentes separados de tal manera que
todos los datos y funciones dentro de cada componente estén semánticamente
relacionados. Debido a este principio, con frecuencia se dice que los componentes son
modulares y cohesivos.
Con respecto a la coordinación a lo largo del sistema, los componentes se comunican
uno con el otro por medio de interfaces. Cuando un componente ofrece servicios al
resto del sistema, éste adopta una interfaz proporcionada que especifica los servicios
que otros componentes pueden utilizar, y cómo pueden hacerlo. Esta interfaz puede
ser vista como una firma del componente, el cliente no necesita saber sobre los
funcionamientos internos del componente (su implementación) para hacer uso de ella.
Este principio resulta en componentes referidos como encapsulados. Cuando un
componente necesita usar otro componente para poder funcionar, adopta una interfaz
usada que específica los servicios que necesita.
Otro atributo importante de los componentes es que son sustituibles, así que un
componente puede sustituir a otro (en tiempo de diseño o tiempo de ejecución), si el
componente sucesor cumple los requisitos del componente inicial (expresado por
medio de las interfaces). Por lo tanto, los componentes pueden ser sustituidos por una
versión más reciente. (Ivar Jacobson, 2000)
Los Modelos de Componentes ilustran las piezas del software, controladores
embebidos que conformarán un sistema. En la Figura 9 muestra el Diagrama de
Componentes del Sistema, el cual muestra las diferentes bibliotecas utilizadas; estas
sirvieron de gran ayuda a la hora de diseñar la aplicación tanto en la web como en la
plataforma Android.
Figura 9 Diagrama de Componentes del Sistema
Diagrama de Despliegue
Un Diagrama de Despliegue modela la arquitectura en tiempo de ejecución de un
sistema. Este muestra la configuración de los elementos de hardware (nodos) y
muestra cómo los elementos y artefactos del software se trazan en esos nodos.
En la Figura 10 se muestra el Diagrama de Despliegue del Sistema, el cual contiene
los componentes de hardware que se utilizarán. El componente “Plataforma Android”
son aquellos usuarios que interactúan con la aplicación mediante diferentes tipos de
dispositivos con sistema operativo Android, ya sean teléfonos inteligentes
(smartphones) o tabletas (tablets). La conexión entre el usuario y el servidor será
mediante la Wi-Fi utilizando el protocolo de red TCP/IP.
Figura 10 Diagrama de Despliegue del Sistema
Conclusiones Parciales
En este capítulo se obtuvo el modelo del sistema utilizando el lenguaje UML y todas
las facilidades que el mismo brinda. A partir del modelo obtenido se implementó la
aplicación “HistArtMed” la cual permite la realización de encuestas, además de brindar
información acerca del Centro de Estudios Integradores HistArtMed. Dicha aplicación
incluye el procesamiento de los datos almacenados en las encuestas, cumpliendo con
todas las funcionalidades planificadas durante su diseño.
Capítulo III. Pruebas de la aplicación
El principal objetivo de las pruebas es presentar información sobre la calidad del
producto a las personas correspondientes. Teniendo en cuenta esta afirmación, la
información requerida puede ser de lo más variada, esto hace que el proceso de
pruebas de la aplicación sea dependiente del contexto en que se desarrolla la misma.
Toda práctica puede ser ideal para una situación pero completamente inútil o incluso
perjudicial en otra. Las técnicas, documentación y enfoques que condicionarán las
pruebas a realizar, deben ser seleccionadas y utilizadas de la manera más eficiente
según el contexto del proyecto.
Casos de Pruebas (Caja Negra)
Estas pruebas permiten obtener un conjunto de condiciones de entrada que ejerciten
completamente todos los requisitos funcionales de un programa. En ellas se ignora la
estructura de control, concentrándose en los requisitos funcionales del sistema y
ejercitándolos. (Pressman, 2002)
Figura 11 Secuencia de eventos en Caja Negra
La prueba de Caja Negra no es una alternativa a las técnicas de prueba de la Caja
Blanca, sino un enfoque complementario que intenta descubrir diferentes tipos de
errores a los encontrados en los métodos de la Caja Blanca. Muchos autores
consideran que estas pruebas permiten encontrar:
1. Funciones incorrectas o ausentes.
2. Errores de interfaz.
3. Errores en estructuras de datos o en accesos a las Bases de Datos externas.
4. Errores de rendimiento.
5. Errores de inicialización y terminación.
Para desarrollar la prueba de caja negra existen varias técnicas, entre ellas están:
1. Técnica de la Partición de Equivalencia: esta técnica divide el campo de
entrada en clases de datos que tienden a ejercitar determinadas funciones del
software.
2. Técnica del Análisis de Valores Límites: esta Técnica prueba la habilidad del
programa para manejar datos que se encuentran en los límites aceptables.
3. Técnica de Grafos de Causa-Efecto: es una técnica que permite al encargado
de la prueba validar complejos conjuntos de acciones y condiciones.
Pruebas de Caja Negra en Casos de Uso Significativos del Sistema
Descripción General
Con el objetivo de crear una aplicación con calidad se implementan una serie de
pruebas según las técnicas estudiadas para la corrección de posibles errores que
presente el software.
Leyenda de Tablas de Pruebas.
V: Entrada de valor válido en el campo.
I: Entrada de valor inválido en el campo.
Null: Entrada vacía en el campo.
Eq: Entrada que coincide con otro campo.
Condiciones de Ejecución Generales
1- La aplicación HistArtMed debe encontrarse instalada en un dispositivo con
plataforma Android.
2- El dispositivo debe poseer Wi-Fi.
3- Debe tener acceso a la red del centro que se conecta.
4- El servidor Apache debe estar en ejecución.
Caso de Uso: Enviar_resultados_Encuesta_HistArtMed
Descripción: El usuario después de haber completado las preguntas de la encuesta
presiona sobre el botón Enviar, el sistema muestra la interfaz gráfica donde debe
rellenar todos los campos para poder enviar los resultados obtenidos de dicha
encuesta, y presiona sobre el botón Enviar.
Tabla 7 Escenario a probar Caso de Uso "Enviar_resultados_Encuesta_HistArtMed"
Escenario
(ESC)
ID Escenario
Variable 1
(Nombre)
Variable 2
(Apellidos)
Variable 3
(Email)
Resultado obtenido
Enviar Resultados de la Encuesta
ESC 1 V V V Ok
ESC 2 Null Null Null Error
ESC 3 I I I Error
ESC 4 I V Null Error
Resultados de la prueba
Con la realización de esta prueba se puede comprobar las diferentes situaciones que
se pueden dar cuando el usuario hace una entrada de datos al sistema.
ESC 1: Al llenar correctamente todos los campos el sistema guarda los datos
entrados y muestra un mensaje de notificación acerca de ello. En la Figura 12 se
muestran los valores entrados por el usuario y el mensaje de notificación.
Figura 12 Pruebas Funcionales. ESC1
ESC 2: Cuando no se llena ningún campo el sistema devuelve un mensaje por cada
campo vacío. En la Figura 13 se muestran los mensajes de notificación.
Figura 13 Pruebas Funcionales. ESC2
ESC 3: El sistema muestra un mensaje de error por cada campo que verifique que no
sea válido. En la Figura 14 se muestra el mensaje de error por cada campo.
Figura 14 Pruebas Funcionales. ESC3
ESC 4: El sistema devuelve un mensaje de error en el campo Nombre y una alerta en
el campo Email que no puede ser vacío. En la Figura 15 se muestran los mensajes
emitidos por el Sistema.
Figura 15 Pruebas Funcionales. ESC4
Caso de Uso: Añadir_Usuario
Condición de Ejecución:
1- El administrador debe estar autentificado en el sistema.
Descripción: El usuario administrativo accede a la sección Añadir Usuario a través del
menú de navegación del sitio, rellena todos los campos pertinentes a la información
del nuevo usuario administrativo a crear, y luego pulsa sobre el botón Enviar.
Tabla 8 Escenario a probar Caso de Uso "Añadir_Usuario"
Escenario
(EC)
ID Escenario
Variable 1
(Nombre)
Variable 2
(Apellidos)
Variable 3
(Email)
Variable 4 (Password)
Variable 5 (Password Verificación)
Resultado obtenido
Añadir Usuario
EC 1 V V V V,Eq V, Eq Ok
EC 2 Null Null Null Null Null Error
EC 3 I I I I I Error
EC 4 I V Null V V, Eq Error
EC 5 V V V I,Eq I,Eq Error
EC 6 V V V V I Error
EC 7 V V V V V Error
Resultados de las pruebas
EC 1: Al entrar todos los datos correctamente, y después que el sistema chequea que
las contraseñas cumplan con los parámetros establecidos y coincidan, muestra un
mensaje de notificación satisfactoria de la operación. En la Figura 16 se muestran los
valores introducidos por el usuario y el mensaje de notificación del Sistema
Figura 16 Pruebas Funcionales. EC1
EC 2: Cuando no se llena ningún campo el sistema devuelve un mensaje por cada
campo vacío. En la Figura 17 se muestra el estado de cada campo y el mensaje del
sistema.
Figura 17 Pruebas Funcionales. EC2
EC 3: El sistema muestra un mensaje de error por cada campo que verifique que no
sea válido. En la Figura 18 se muestra el mensaje que envía el Sistema por cada
campo.
Figura 18 Pruebas Funcionales. EC3
EC 4: El sistema devuelve un mensaje de error en el campo Nombre, y una alerta en
el campo Email que no puede ser vacío. En la Figura 19 se muestran los respectivos
mensajes.
Figura 19 Pruebas Funcionales. EC4
EC 5: En este caso el sistema devuelve un mensaje de error en las variables 4 y 5, ya
que no cumplen con los requisitos establecidos para las contraseñas.
EC 6: En este caso el sistema devuelve un mensaje de error en la variables 5, ya que
no cumple con los requisitos establecidos para las contraseñas y no coincide con la
variable 4.
EC 7: El sistema devuelve un mensaje de error al usuario de que las variables 4 y 5 no
coinciden. En la Figura 20 se muestra el mensaje de error que emite el Sistema.
Figura 20 Pruebas Funcionales. EC7
Pruebas de Usabilidad
Las pruebas de usabilidad tienen como objetivo estudiar y medir el grado de facilidad
con que los usuarios interactúan con algún objeto creado, ya sea una herramienta,
máquina, o en el caso de este proyecto, una aplicación móvil.
Para medir la usabilidad de la aplicación “HistArtMed” se realiza una encuesta que
mide la interacción del usuario con la misma
Encuesta Prueba de Usabilidad: Aplicación Móvil “HistArtMed” (Anexo 1).
Resultados de la Prueba de Usabilidad
Para llevar a cabo las Pruebas de Usabilidad, fue necesario contar con el apoyo de 30
usuarios, quienes realizaron las preguntas de la encuesta anteriormente expuesta.
Por cada pregunta el usuario encuestado tuvo que seleccionar un grado de dificultad
según lo experimentado al interactuar con la aplicación:
1- Fácil
2- Normal
3- Difícil
Siendo el número tres el nivel de dificultad con más cuidado, ya que es señal de un
potencial error de diseño.
Para sacar el porcentaje de cada pregunta se cuentan cuantas veces fue seleccionado
cada nivel de dificultad por pregunta. Por lo tanto, entre mayor sea la puntuación,
mayor será el nivel de usabilidad.
Figura 21 Pruebas de Usabilidad: Encuesta HistArtMed
En la Gráfica 1 se muestran la cantidad de veces que fue seleccionado un nivel de
dificultad por cada pregunta. Como se puede apreciar no existe ningún valor en el nivel
de dificultad Difícil lo que produce un grado de aceptación elevado entre los
encuestados. Algunos usuarios en la pregunta 7 recomiendan agregarle más
secciones sobre el Centro de Estudios Integradores HistArtMed.
Tabla 9 Porcentaje por preguntas-Pruebas de Usabilidad
Fácil Normal Difícil
Pregunta 1 70% 30% -
Pregunta 2 73.3% 26.7% -
Pregunta 3 36.7% 63.3% -
Pregunta 4 63.3% 36.7% -
Pregunta 5 60% 40% -
Pregunta 6 73.3% 26.7% -
0
5
10
15
20
25
PREGUNTA 1 PREGUNTA 2 PREGUNTA 3 PREGUNTA 4 PREGUNTA 5 PREGUNTA 6
Encuesta : Aplicación Móvil “HistArtMed”
Fácil Normal Difícil
En la Tabla 5 se muestra el porcentaje que obtuvo cada pregunta de la encuesta
realizada a los usuarios seleccionados según el nivel de dificultad planteado. Dando
como resultado que el promedio de los usuario que seleccionaron el grado de
dificultad de Fácil es de un 62.8 y el promedio de los que seleccionaron Normal es de
un 37.2.
Conclusiones Parciales
Las pruebas diseñadas y desarrolladas a la aplicación “HistArtMed” garantizan un nivel
adecuado de calidad en el producto de software obtenido. Con la realización de las
pruebas de Caja Negra, y en particular las pruebas funcionales, se muestran los
diferentes errores y mensajes de alertas que emite el sistema al entrar datos inválidos
en funcionalidades del mismo. Finalmente, con la realización de las Pruebas de
Usabilidad se llega a la conclusión que la interacción con la aplicación “HistArtMed” es
de fácil uso para el usuario
Conclusiones Generales
A partir del desarrollo de la aplicación para móviles “HistArtMed” se obtienen las
siguientes conclusiones:
La base de datos incluida en la aplicación almacena toda la información
relacionada con la Encuesta HistartMed.
La herramienta implementada desde el lado del servidor permite un adecuado
procesamiento de las encuestas almacenadas, obteniéndose los estadísticos
básicos que describen estos resultados.
Las pruebas realizadas a la aplicación garantizan un nivel adecuado de calidad
en el producto de software obtenido. Además, la encuesta de satisfacción
aplicada mostró que la aplicación desarrollada resulta de fácil utilización para
los usuarios.
Recomendaciones
Considerando las opiniones emitidas por los usuarios durante las Pruebas de
Usabilidad, se recomienda agregarle a la aplicación “HistArtMed” otros temas de
interés acerca del Centro de Estudios Integradores sobre Historia, Arte y Medicina
HistArtMed.
Referencias Bibliográficas
ALVAREZ, M. A. 2010. Manual de jQuery. Recuperado el, 17. BAUER, P. 2004. Special Edition Using Photoshop CS and Illustrator CS, Que Corp. BETANCOURT, D. I. 2016. Histartmed [Online]. Available:
http://instituciones.sld.cu/histartmed/. DEVELOPERS, A. 2015. Conoce Android Studio [Online]. Available:
https://developer.android.com/studio/intro/index.html?hl=es-419. GABRIEL, O. S. A. 2010. Reporte de instalacion de apache. GILLFILLAN, I. 2003. MYSQL. GIRONÉS, J. T. 2012. El gran libro de Android, Marcombo. GUTIERREZ, A. F. 2013. Aplicaciones web vs. aplicaciones nativas vs. aplicaciones híbridas. HEURTEL, O. 2011. PHP 5.3 Desarrollar un sitio web dinamico e interactivo. IVAR JACOBSON, G. B., JAMES RUMBAUGH 2000. El Proceso de Desarrollo de Software,
Addison Wesley. LOCKSLEY, R. 2015. Los mejores emuladores de Android para Windows PC [Online]. Available:
http://www.vix.com/es/btg/tech/13682/los-mejores-emuladores-de-android-para-windows-pc.
MCCLELLAND, D. 2004. ¿Qué es Photoshop? MOSELEY, R. 2007. Xampp. PAO. 2017. Material Design: ¿Por qué todos hablan de eso? [Online]. Available:
https://www.nextu.com/blog/material-design-que-es/. PRESSMAN, R. S. 2002. Ingeniería de Software, Un enfoque práctico. SÁNCHEZ, A. C. 1/7/2011. Diseño y desarrollo de base de datos en MySQL y aplicación Web en
PHP con servidor central APACHE Ingeniería Superior de Informática Universidad Politécnica de Valencia.
SANTIAGO, L. & ROBERTO, M. 2015. Sistema inteligente para la toma de pulsaciones cardíacas de forma pasiva mediante Android Wear.
SPURLOCK, J. 2013. Bootstrap, " O'Reilly Media, Inc.". TOMAS, J. 2011-2015. ¿Que hace a Android especial? [Online]. Available:
http://www.androidcurso.com/index.php/tutoriales-android-fundamentos/31-unidad-1-vision-general-y-entorno-de-desarrollo/97-que-hace-a-android-especial.
VALENZUELA, J. S. N. 2013. Desarrollo de aplicaciones móviles con Android, Per, ︢Lima. XAVIER FERRÉ GRAU, M. I. S. S. 2015. Desarrollo Orientado a Objetos con UML.
Anexos
Anexo 1. Encuesta Prueba de Usabilidad: Aplicación Móvil “HistArtMed”
Las siguientes preguntas deberá responderlas teniendo en cuenta la siguiente escala
de valoración
Fácil Normal Difícil
1 2 3
1- ¿Cómo fue para Ud. acceder a la encuesta? ________
2- ¿Cómo fue para Ud. llenar todos los campos de la Encuesta HistArtMed?
______
3- ¿Cómo fue el envío de los datos luego de haber realizado la encuesta? ______
4- ¿Cómo encuentra el trabajo con los Artículos y el Diccionario incluidos en la
aplicación? _____
5- ¿Cómo encuentra la navegación por los diferentes ítems de la aplicación?
______
6- En general, ¿Cómo considera el uso de la aplicación móvil? __________
7- ¿Tiene alguna sugerencia para la mejora de la aplicación móvil?
Sí ___ No _____
¿Cuál?
_____________________________________________________________________
_____________________________________________________________________
Anexo 2. Manual de Usuario
MANUAL DE USUARIO
Aplicación HistArtMed
Requisitos del Sistema
1. Versión Android: La versión del sistema operativo Android debe ser la 4.0 (Ice
Cream Sandwich) o superior.
2. Capacidad: El dispositivo debe contar con un espacio de almacenamiento de 20
megabytes para la instalación de la aplicación.
3. Conectividad: El dispositivo móvil donde se ejecutará la aplicación debe estar
conectado a la red wi-fi del centro, para poder acceder y enviar los resultados de la
encuesta.
4. Seguridad: A partir de la versión 6.0 de Android se deben otorgar permisos
manualmente de almacenamiento y llamadas a través del mismo sistema
operativo.
5. Software: El dispositivo debe tener instalado un lector PDF, para poder acceder a
los artículos y al diccionario de personalidades.
Interfaces de Usuarios.
Interfaz Principal
1- Presione sobre el botón o deslice hacia la derecha en la pantalla y saldrá el menú
de navegación de la aplicación , donde se encuentran los tópicos de la aplicación.
2- Al presionar el botón se muestra una Ayuda (Guía Rápida) de la aplicación y una
sección Acerca De, la cual informa sobre los desarrolladores de la aplicación.
3- En la vista principal de la aplicación existen 3 vistas en formas de tarjetas
(CardViews) las cuales muestran una breve reseña de los temas que tratan las
mismas , para acceder a estos temas simplemente presione sobre el botón "Ver Más".
4- Deslice hacia arriba en la pantalla para más opciones.
5- Presione sobre el botón del teléfono para realizar una llamada, la aplicación le
notificará si desea realizar la llamada.
Nota: Recordar que para el sistema operativo Android 6.0 o superior se le debe dar
permiso de llamada a través del administrador de aplicaciones del propio sistema
operativo
Interfaz ¿Qué es HistArtMed?
En esta vista se muestra la información acerca de ¿Qué es HistArtMed?, deslizar
hacia abajo para ver más opciones.
Interfaz Antecedentes
Vista Principal de la interfaz referente a los antecedentes del Centro de Estudios
Integradores HistArtMed, deslizar hacia arriba para más opciones
1- Presiones en el botón para regresar a la Interfaz Principal de la aplicación.
Interfaz Cátedras
Vista Principal de la interfaz referente a las Cátedras del Centro de Estudios
Integradores HistArtMed, deslizar hacia arriba para seguir leyendo.
1- Presiones en el botón para regresar a la Interfaz Principal de la aplicación.
Interfaz Artículos
Vista donde se muestran una serie de artículos publicados.
1- Para leer un artículo se selecciona uno presionando sobre el mismo nombre del
artículo , el sistema copia los artículos que el usuario haya seleccionado y los guarda
en una carpeta llamada: "histartmed_assets" en la tarjeta de almacenamiento del
teléfono.
2- Presiones en el botón para regresar a la Interfaz Principal de la aplicación.
Nota: Recordar que para el sistema operativo Android 6.0 o superior se le debe dar
permiso de almacenamiento a través del administrador de aplicaciones del propio
sistema operativo
Interfaz Diccionario
Vista donde se muestran una breve reseña de personalidades históricos publicados
por nuestro centro.
1- Para acceder a una personalidad se presionando sobre el nombre del mismo , el
sistema copia la letra del diccionario de personalidades que el usuario haya
seleccionado y los guarda en una carpeta llamada: "histartmed_assets" en la tarjeta de
almacenamiento del teléfono.
2- Presionar en el botón para regresar a la Interfaz Principal de la aplicación.
Interfaz Obras de Arte y Fotos del Centro
Vista donde se muestran una serie de obras de artes seleccionadas por HistArtMed
1- Presionar en el botón para regresar a la Interfaz Principal de la aplicación.
2- Seleccione una obra de arte o una foto del centro de la galería para verla a pantalla
completa, seleccionada una imagen deslice hacia la derecha o izquierda para acceder
a mas imágenes
Interfaz Principal de la Encuesta
1- Presionar en el botón para regresar a la Interfaz Principal de la aplicación.
2- Menú de Navegación de la Encuesta, a través de el se accede a la Interfaz
Administrador.
3- Pulse sobre una opción para dar su respuesta de la Encuesta HistArtMed, deslice
hacia arriba para seguir contestando las preguntas.
Al llegar al final de la Encuesta HistArtMed:
4- Pulse el botón para limpiar todos los campos de la encuesta.
5- Pulse el botón Enviar, para acceder a la vista de Enviar Datos de la Encuesta
HistartMed
Nota: Para poder acceder a la encuesta el dispositivo debe estar conectado a la Wi-Fi.
Interfaz Enviar Datos de la Encuesta
1- Presionar en el botón para regresar a la Interfaz Principal de la aplicación.
2- Introduzca sus datos para poder almacenarlos en la Base de Datos
3- Pulse el botón para limpiar todos los campos de la encuesta.
4-Pulse el botón Enviar, para acceder a la vista de Enviar Datos de la Encuesta
HistartMed
Interfaz del Usuario Administrativo
1- Presiona en el menú de navegación de la Encuesta .
2-Seleciona la opción Login para acceder a la Vista Principal del Usuario
Administrativo
3- Datos necesarios para autentificarse en el Sistema
4- Tabla con todas las encuestas guardadas en la Base de Datos, para eliminar una
simplemente la selecciona de la tabla y pulsa sobre el botón eliminar, y acepta el
mensaje de confirmación.
5- Acceso a las diferentes funcionalidades que tiene un Usuario Administrativo.
Interfaz Añadir Usuario
En esta vista el usuario autentificado añade a la Base de Datos otro Usuario
Administrativo, para ello llena todos los datos necesarios y pulsa sobre el botón Enviar.
Interfaz Eliminar Usuario
En esta vista se muestra una tabla con todos los Administradores del Sitio, el usuario
autentificado en el sistema selecciona un Administrador de la tabla, pulsa sobre el
botón Eliminar y después acepta o cancela el mensaje de confirmación de la
eliminación.
Interfaz Cambiar Password
En esta vista el usuario autentificado puede cambiar su contraseña, para ello debe
cumplir con todos los requisitos que conlleva el campo contraseña.
Interfaz Acerca De
Interfaz Ayuda
Deslizar hacia la derecha o izquierda para más información