UNIVERSIDAD TECNOLÓGICA EQUINOCCIAL
FACULTAD DE CIENCIAS DE LA INGENIERÍA
CARRERA DE INGENIERÍA INFORMÁTICA Y CIENCIAS
DE LA COMPUTACIÓN
Pantalla de Inicio (launcher) Android, para Personas No
Videntes
TRABAJO PREVIO A LA OBTENCIÓN DEL TÍTULO
DE INGENIERO (A) EN INFORMÁTICA Y CIENCIAS DE LA COMPUTACIÓN
AUTOR: JUAN SEBASTIÁN CEVALLOS BUITRÓN
DIRECTOR: DR. DIEGO ORDÓÑEZ CAMACHO
© Universidad Tecnológica Equinoccial. 2015
iii
DECLARACIÓN
Yo JUAN SEBASTIÁN CEVALLOS BUITRÓN, declaro que el trabajo aquí
descrito es de mi autoría; que no ha sido previamente presentado para ningún
grado o calificación profesional; y, que he consultado las referencias
bibliográficas que se incluyen en este documento.
La Universidad Tecnológica Equinoccial puede hacer uso de los derechos
correspondientes a este trabajo, según lo establecido por la Ley de Propiedad
Intelectual, por su Reglamento y por la normativa institucional vigente.
_________________________
(Juan Sebastián Cevallos Buitrón)
iv
CERTIFICACIÓN
Certifico que el presente trabajo que lleva por título “Pantalla de Inicio
(launcher) Android, para Personas No Videntes”, que, para aspirar al título
de Ingeniero/a en Informática y Ciencias de la Computación fue
desarrollado por Juan Sebastián Cevallos Buitrón, bajo mi dirección y
supervisión, en la Facultad de Ciencias de la Ingeniería; y cumple con las
condiciones requeridas por el reglamento de Trabajos de Titulación artículos 18
y 25.
___________________
Dr. Diego Ordóñez
DIRECTOR DEL TRABAJO
v
DEDICATORIA
Este trabajo lo dedico a las personas que han estado a mi lado en todo este
proceso como son mis padres, mi esposa y mi familia, en especial quiero
dedicar esta tesis a ese gran grupo de personas que por su discapacidad visual
no tienen la oportunidad de acceder a este tipo de tecnología pero que a pesar
de ello luchan todos los días por ganarse su debido puesto en nuestra sociedad
que muchas veces los discrimina por su especial situación.
Muchas gracias a todas las personas que pueda llegar con este trabajo y que
les pueda ser de mucha utilidad.
vi
AGRADECIMIENTOS
Primero quiero expresar mi más grande agradecimiento a Dios, quien me dio la
capacidad, fuerza e inteligencia para realizar el desarrollo de la aplicación y
sacar este proyecto adelante, muchas gracias señor por todo lo logrado y por
toda tu ayuda.
A mi madre Cecilia Mariana Buitrón por todo su apoyo y cuidados, jaladas de
orejas y su gran ejemplo de lucha y perseverancia.
A mi padre César Cevallos por ayudarme y guiarme durante toda mi carrera
universitaria, a su ejemplo de superación y de gran don de persona.
A mi amada esposa Priscila Rodríguez sin quien este trabajo no sería posible,
gracias por la ayuda, guía y consejos brindados.
A mi director el Dr. Diego Ordóñez por su paciencia, consejos y orientación.
vii
ÍNDICE DE CONTENIDOS
PÁGINA
DECLARACIÓN ... iii
CERTIFICACIÓN... iv
DEDICATORIA ... v
AGRADECIMIENTOS ... vi
ÍNDICE DE CONTENIDOS ... vii
ÍNDICE DE TABLAS ... xi
ÍNDICE DE FIGURAS ... xiii
RESÚMEN... xv
ABSTRACT ... xvi
1. INTRODUCCIÓN ... 1
2. MARCO TEÓRICO ... 3
2.1 DISPOSITIVOS MÓVILES ... 3
2.1.1 PRINCIPALES SISTEMAS OPERATIVOS DE DISPOSITIVOS MÓVILES ... 4
2.1.1.1 Android ... 5
2.1.1.2 iOS (IPHONE) ... 9
viii
2.3 DISPOSITIVOS MÓVILES PARA PERSONAS NO VIDENTES... 12
2.4 APLICACIONES MÓVILES ... 14
2.5 APLICACIONES MÓVILES PARA PERSONAS NO VIDENTES ... 16
2.6 METODOLOGÍAS ÁGILES DE DESARROLLO DE APLICACIONES MÓVILES. ... 18
2.6.1 MOBILE – D ... 19
3. METODOLOGÍA ... 22
3.1 EXPLORACIÓN E INICIALIZACIÓN ... 22
3.1.1 DEFINICIÓN DEL GRUPO DE INTERÉS ... 23
3.1.2 HERRAMIENTAS Y MATERIALES ... 23
3.1.3 VIABILIDAD ... 24
3.1.3.1 Económica ... 24
3.1.3.2 Técnica ... 25
3.1.4 DEFINICIÓN DEL ALCANCE ... 25
3.1.5 CRONOGRAMA DE TRABAJO... 26
3.2 PRODUCCIÓN, ESTABILIZACIÓN Y PRUEBAS ... 26
4. ANÁLISIS DE RESULTADOS ... 27
ix
4.1.1.1 Definición de Requerimientos ... 28
4.1.1.2 Restricciones ... 35
4.1.1.3 Supuestos y Dependencias ... 36
4.1.2 ESTABLECIMIENTO DEL PROYECTO ... 36
4.1.2.1 Configuración del ambiente de programación... 36
4.1.2.2 Entrenamiento ... 40
4.1.2.3 Planificación Inicial ... 40
4.1.3 DISEÑO DEL SISTEMA ... 42
4.1.3.1 Aplicación Móvil ... 42
4.1.3.2 Diagrama de flujo principal ... 44
4.1.3.3 Interfaz gráfica principal ... 46
4.1.3.4 Interfaz gráfica por acciones ... 46
4.1.3.5 Pruebas de aceptación ... 57
4.2 PRODUCIÓN, ESTABILIZACIÓN Y PRUEBAS ... 61
4.2.1 IMPLEMENTACIÓN DEL SISTEMA ... 61
4.2.1.1 Buenas prácticas de codificación... 61
4.2.1.2 Funciones Principales ... 62
x
4.2.1.4 Pruebas del Sistema ... 69
5. CONCLUSIONES Y RECOMENDACIONES ... 71
5.1 CONCLUSIONES ... 71
5.2 RECOMENDACIONES ... 72
BIBLIOGRAFÍA ... 73
xi
ÍNDICE DE TABLAS
PÁGINA
Tabla 1 Versiones de Android ... 7
Tabla 2 Representante del grupo de interés ... 23
Tabla 3 Herramientas de desarrollo de software ... 23
Tabla 4 Materiales utilizados para el desarrollo ... 24
Tabla 5 Presupuesto ... 24
Tabla 6 Herramientas de desarrollo ... 25
Tabla 7 Requerimiento Funcional 1 ... 29
Tabla 8 Requerimiento Funcional 2 ... 29
Tabla 9 Requerimiento Funcional 3 ... 30
Tabla 10 Requerimiento Funcional 4 ... 30
Tabla 11 Requerimiento Funcional 5 ... 31
Tabla 12 Requerimiento Funcional 6 ... 31
Tabla 13 Requerimiento Funcional 7 ... 32
Tabla 14 Requerimiento Funcional 8 ... 32
Tabla 15 Requerimiento Funcional 9 ... 33
Tabla 16 Requerimiento Funcional 10 ... 33
Tabla 17 Requerimiento No Funcional 1 ... 34
Tabla 18 Requerimiento No Funcional 2 ... 34
Tabla 19 Requerimiento No Funcional 3 ... 34
Tabla 20 Planificación Inicial ... 41
Tabla 21 Pruebas funciones principales Iteración XI... 69
Tabla 22 Pruebas requerimientos funcionales iteración XI... 70
Tabla 22 Pruebas funciones principales Iteración II ... 79
Tabla 23 Pruebas requerimientos funcionales iteración II ... 79
Tabla 24 Pruebas funciones principales Iteración III ... 80
Tabla 25 Pruebas requerimientos funcionales iteración III ... 80
Tabla 26 Pruebas funciones principales Iteración IV... 80
Tabla 27 Pruebas requerimientos funcionales iteración IV... 81
Tabla 28 Pruebas funciones principales Iteración V... 81
Tabla 29 Pruebas requerimientos funcionales iteración V... 81
Tabla 30 Pruebas funciones principales Iteración VI... 82
Tabla 31 Pruebas requerimientos funcionales iteración VI... 82
Tabla 32 Pruebas funciones principales Iteración VII... 83
Tabla 33 Pruebas requerimientos funcionales iteración VII... 83
Tabla 34 Pruebas funciones principales Iteración VIII ... 84
xii
Tabla 36 Pruebas funciones principales Iteración IX... 85
Tabla 37 Pruebas requerimientos funcionales iteración IX... 85
Tabla 38 Pruebas funciones principales Iteración X... 86
Tabla 39 Pruebas requerimientos funcionales iteración X... 86
Tabla 40 Pruebas funciones principales Iteración XI... 87
xiii
ÍNDICE DE FIGURAS
PÁGINA
Figura 1 Crecimiento de ventas de dispositivos móviles en el mundo (Blanco,
Camarero, Fumero, Werterski, & Rodríguez, 2009). ... 3
Figura 2 Principales plataformas para desarrolladores (Krajnc, Feiner, & Schmidt, 2010). ... 4
Figura 3 Versión 1.0 de Android (source.android.com, 2015) ... 6
Figura 4 Arquitectura de Android(androidcurso, 2014) ... 8
Figura 5 Evolución de iOS de Apple (Applesfera, 2014) ... 10
Figura 6 INEC Porcentaje de Smartphones en Ecuador 2012 ... 11
Figura 7 B-Touch (Wordpress, 2015). ... 13
Figura 8 Owasys (screenlessphone, 2014). ... 14
Figura 9 Silicon Touch Iphone Case (Engadget, 2008). ... 14
Figura 10 Vodafone Easy Walk (Appsmag, 2014) ... 17
Figura 11 See Scan, Realidad aumentada (mobihealthnews, 2009) ... 17
Figura 12 Bases para metodologías ágiles y tradicionales (Barry Boehm, 2002) ... 19
Figura 13 Ciclo de vida Mobile - D (Amaya Balaguera, 2013) ... 20
Figura 14 Funcionalidad de LauncherBliMD. ... 28
Figura 15 Sitio de descarga JDK (Oracle, 2015) ... 37
Figura 16 Descarga de Android Studio (Android, 2015) ... 37
Figura 17 Inicio Instalación Android Studio ... 38
Figura 18 Proceso Instalación Android Studio ... 38
Figura 19 Finalizar Instalación Android Studio ... 39
Figura 20 SDK Manager ... 39
Figura 21 IDE Android Studio ... 40
Figura 22 Pantalla inicio LauncherBliMD ... 44
Figura 23 Diagrama de Flujo LauncherBliMD ... 45
Figura 24 LauncherBliMD pantalla principal ... 46
Figura 25 Inicio proceso llamar ... 47
Figura 26 Proceso llamar contactos / número ... 47
Figura 27 Diagrama de Flujo Llamar ... 48
Figura 28 Proceso contactos ... 49
Figura 29 Diagrama de Flujo Contactos ... 50
Figura 30 Proceso mensajes ... 51
Figura 31 Diagrama de flujo Mensajes... 52
Figura 32 Proceso saldo ... 52
xiv
Figura 34 Proceso reproductor de música ... 54
Figura 35 Diagrama de Flujo Reproductor de Música ... 54
Figura 36 Proceso información ... 55
Figura 37 Diagrama de flujo proceso información ... 56
Figura 38 Proceso bloquear ... 57
Figura 39 Diagrama de flujo proceso bloquear ... 57
Figura 40 Movimiento entre pantallas ... 92
Figura 41 Toque simple en pantalla ... 92
Figura 42 Secuencia Llamar ... 94
Figura 43 Secuencia Contactos ... 95
Figura 44 Secuencia Mensajes ... 96
Figura 45 Secuencia Información ... 97
Figura 46 Secuencia Música ... 98
Figura 47 Secuencia Saldo ... 98
xv
RESÚMEN
En los últimos años, el vertiginoso avance de la tecnología celular ha producido
un incremento en el desarrollo de un sinfín de nuevas aplicaciones móviles, las
cuales están enfocadas a satisfacer requerimientos de usuarios cada vez más
exigentes. Lamentablemente estas nuevas funcionalidades no están al alcance
de todos; lo que implica que ciertos sectores de usuarios sean relegados (Chiti
& Leporini, 2012). Por tal motivo se desarrolló LauncherBliMD, que es una
propuesta innovadora enfocada a mejorar la experiencia de usuarios no
videntes al momento de interactuar con un teléfono inteligente. El aplicativo
desarrollado en este proyecto de tesis usa funcionalidades propias del
dispositivo y mediante una comunicación basada en voz y vibración permite al
usuario ejecutar acciones como: llamar, mensajes, reproductor de música,
consultas de saldo, información del dispositivo y batería. Estas funcionalidades
fueron desarrolladas en Java, lenguaje de programación de libre distribución y
Android Studio plataforma de desarrollo de aplicaciones móviles. Debido a las
características específicas del proyecto, la metodología escogida para la
implementación del mismo fue Mobile – D, la cual aporta con eficacia y
xvi
ABSTRACT
During the past few years, the rapid advance in smartphone technology has
boosted the development of new mobile applications, created to satisfy
increasing demanding user requirements. Unfortunately these new features are
not available to all, and some groups of clients are left aside (Chiti & Leporini,
2012). This has triggered the development of LauncherBliMD, an innovative proposal that focus its work on improving blind user’s experience at the moment
of interacting with smartphones by using some functionalities that belong to the
mobile itself. This interaction was accomplished due the usage of
communication based on voice and vibration. This application allows users to
carry out actions like: calling, managing messages, music player execution,
balance and mobile information inquiries. All these features were created in
Java, a programming language, and Android Studio, a mobile development
platform. Due to the specific product characteristics the whole project was
implemented with Mobile –D, an agile methodology which provides efficiency
1
1.
INTRODUCCIÓN
En una sociedad como la actual, con grandes y constantes cambios en las
formas de relacionarse e interactuar con las personas que conforman nuestro
entorno, las nuevas tecnologías han contribuido decisivamente a facilitar y
extender la comunicación hasta límites aún inimaginables.
Sin embargo, estas mismas tecnologías, si no se conciben desde su origen
para favorecer la accesibilidad y el diseño universal, pueden convertirse en
nuevas barreras para ciertos colectivos. Por ello, es un requisito imprescindible
que existan dispositivos adaptados para que las personas con capacidades
diferentes; puedan disfrutar en igualdad de condiciones de nuevas tecnologías,
siendo estas un puente hacia la sociedad de la información. (Markus, Malik,
Juhasz, & Arató, 2012, pág. 601)
LauncherBliMD (Launcher Blind Mobil Device), nació de la necesidad de
promover el desarrollo de aplicaciones diseñadas para mejorar la vida de las
personas con discapacidad visual o invidentes. El aplicativo fue programado en
el entorno de desarrollo Eclipse (Java) y funciona en Smartphones que cuentan
con el sistema operativo Android Versión 3.0 (Honeycomb) o superior.
LauncherBliMD interactúa con las aplicaciones propias del teléfono y presenta
las siguientes funcionalidades: Llamar, contactos (buscar y crear), crear
mensajes, detalle del estado del dispositivo (información), reproductor de
2 LauncherBliMD fue desarrollado en base al levantamiento de requerimientos
realizado mediante varias entrevistas con Vinicio Estrada; persona no vidente,
músico de profesión y secretario de la Asociación de No Videntes de Pichincha.
Creado bajo la metodología de desarrollo de aplicaciones móviles Mobile –D,
que presenta un ciclo de desarrollo de software muy corto y enfocado a equipos
de trabajo reducidos. (Blanco, Camarero, Fumero, Werterski, & Rodríguez,
2009, pág. 13)
El objetivo principal del presente trabajo es diseñar y desarrollar una aplicación
de pantalla de inicio (launcher) para Smartphones Android, dirigida a personas
invidentes (con discapacidad visual), controlable mediante la pantalla táctil con
el soporte de ayudas auditivas.
Se presentan los objetivos específicos como realizar un estudio sobre las
características que debe contener una interfaz de dispositivos móviles para
personas invidentes, estudiar y determinar los componentes de Android
Developer Tools apropiadas para desarrollar una aplicación para personas
invidentes, capacitar al usuario no vidente mediante reuniones, las cuales serán
reforzadas con la presentación de un Manual de Usuario que explique el
funcionamiento de LauncherBliMD de una manera sencilla y fácil de entender,
además de comprobar que LauncherBliMD solvente las necesidades de los
3
2.
MARCO TEÓRICO
2.1 DISPOSITIVOS MÓVILES
De acuerdo a (Ju & Illescas, 2015) “Las tecnologías móviles se consideran como el sector de mayor auge dentro del ámbito tecnológico actual”, por lo que
existe una gran cantidad de empresas que enfocan su investigación y desarrollo
en generar nuevas aplicaciones para los dispositivos móviles más actuales del
mercado como indica el estudio de la Figura 1. (Blanco, Camarero, Fumero,
Werterski, & Rodríguez, 2009)
Figura 1 Crecimiento de ventas de dispositivos móviles en el mundo
(Blanco, Camarero, Fumero, Werterski, & Rodríguez, 2009).
Debido a que los dispositivos móviles presentan a sus usuarios notorias
ventajas en lo referente a portabilidad, accesibilidad y comodidad, móviles con
pantallas táctiles como el IPhone; han desatado una fiebre entre sus
consumidores, creando una carrera tecnológica entre las empresas pioneras en
el mercado, lo que por ende genera miles de millones de ganancias. (Blanco,
4 Para muchos usuarios este vertiginoso avance tecnológico implementado en
tan pequeños aparatos, significa un gran desafío al momento de enfrentarse a
sus funcionalidades. Usuarios que no poseen ningún tipo de discapacidad; de
vez en cuando tienen problemas al momento de usar dispositivos que no son
los suyos, con más razón este acelerado desarrollo de tecnología representa
un reto para personas con capacidades especiales (Krajnc, Feiner, & Schmidt,
2010).
2.1.1 PRINCIPALES SISTEMAS OPERATIVOS DE DISPOSITIVOS
MÓVILES
En este documento se presentan los dos principales sistemas operativos que en
la actualidad lideran el mercado, y, sobre los cuales las empresas con mayor
relevancia en el mundo de la telefonía móvil desarrollan sus aplicaciones como
se puede observar en la Figura 2.
Figura 2 Principales plataformas para desarrolladores (Krajnc, Feiner, &
5 De acuerdo a un estudio realizado por VisionMobile en el año 2012, la
plataforma sobre la cual, la mayor parte de desarrolladores crean sus
aplicaciones es Android con el 77%, seguido por iOS de Iphone con el 66%. Lo
que las convierte en las plataformas móviles con mayor aceptación en el
mercado, seguidas por Windows Phone, Symbian entre otras. (Amaya
Balaguera, 2013, págs. 111-124)
2.1.1.1 Android
De acuerdo con Ableson, Sen & King (2012, pág. 31) “Android es un proyecto
de Google, en colaboración con la Open Handset Alliance, que es una
agrupación de casi 50 entidades comprometidas con el objetivo de comercializar una telefonía móvil mejor y más abierta.” La misma que
principalmente se la encuentra en dispositivos con pantalla táctil como
Smartphones, tablets, Smart watch (relojes inteligentes), televisores y radios de
automóviles.
Una plataforma de software generada en Linux para teléfonos móviles, que
contiene un sinfín de funcionalidades entre las cuales: una interfaz amigable al
usuario, una biblioteca de aplicaciones, compatibilidad con otros dispositivos
que cuenten con el mismo sistema operativo. (Ableson, Sen, & King, 2012, pág.
32)
En sus inicios la versión 1.0 de Android como se puede ver en la Figura 3, era
una versión Beta la cual estaba destinada solo para fines de desarrollo, esta no
contaba con las características de Google ni con muchas de las funcionalidades
6 Figura 3 Versión 1.0 de Android (source.android.com, 2015)
Características
Las principales características que presenta Android son las siguientes:
(media.techtarget.com, 2014)
Adaptabilidad al cambio, por su diseño se adecúa a gráficos con mayor resolución, contiene bibliotecas de gráficos 2D y 3D.
Contiene una base de datos liviana SQLite.
Soporta diferentes tipos de conectividad como GSM/EDGE, CDMA, 4G LTE, Bluetooth, Wi-Fi, etc.
Para navegación web se basa en un motor de código abierto WedKit.
Ya que contiene una máquina virtual Dalvik permite que las aplicaciones se ejecuten compilando su código Java y haciendo que se ejecuten, por lo que
soporta este tipo de formato.
Contiene un amplio catálogo de aplicaciones gratuitas y pagadas, Google Play, las que pueden ser descargadas e instaladas en los dispositivos.
Tiene un soporte multi-táctil nativo.
Desde su introducción al mercado hasta la más actual; Android ha sufrido
grandes cambios en cada una de sus versiones lanzadas al mercado, a
continuación se nombran las más notables del sistema operativo Tabla 1:
7 Tabla 1 Versiones de Android
VERSIONES DE ANDORID
Versión Nombre Fecha de Distribución API Level
Logo
Beta 5 de noviembre de 2007
1.0 N/A 23 de septiembre de2008 1
1.1 N/A 9 de febrero de 2009 2
1.5 Cupcake 30 de abril de 2009 3
1.6 Donut 15 de septiembre de 2009 4
2.0 Eclair 26 de octubre de 2009 5
2.2 Froyo 20 de mayo de 2010 8
2.3 Gingerbread 9 de febrero de 2011 10
4 Ice Cream
Sandwich
16 de diciembre de 2011 14
4.1 Jelly Bean 9 de julio de 2012 16
4.4 Kit Kat 31 de octubre de 2013 19
5 Lollipop 3 de noviembre de 2014 21
5.1 Lollipop 06 de abril de 2015 22
Arquitectura Android
Android es una aplicación que contiene un sistema operativo, middleware y
aplicaciones para el usuario, está formado por cuatro capas y todas estas están
basadas en software libre como se ve en la Figura 4 Arquitectura de Android
8 Figura 4 Arquitectura de Android(androidcurso, 2014)
Aplicaciones: en esta capa se encuentran todas aquellas aplicaciones
escritas bajo el lenguaje de Java como contactos, mensajes, navegador,
etc.
Entorno de aplicación: se tiene acceso a los mismos APIs del framework para los desarrolladores. La arquitectura está diseñada para simplificar la
reutilización de componentes, se encuentran servicios como views,
resource manager, activity manager, content providers, etc.
Librerías nativas: incluye un conjunto de bibliotecas de C/C++ usadas por
varios componentes del sistema, muchas de estas librerías utilizan código
abierto.
Runtime de Android: está basado en la idea de máquina virtual de Java, Google creó la máquina virtual Dalvik, la que la cual puede correr con poca
memoria y un procesador limitado versión más nueva es ART para Android
5.0 esta máquina reduce el tiempo de ejecución de código, incluye
bibliotecas base que proporcionan la mayor parte de las funciones
9
Núcleo Linux: Debido a que maneja el núcleo de Linux, Android depende
de este para los servicios fundamentales del sistema como: seguridad,
administración de memoria, procesos, pila de red y modelo de controladores. “Adicionalmente Linux actúa como capa de abstracción entre el hardware y el resto de la pila de software.” (Barrera, 2012)
Android Studio
Es el nuevo IDE (Integrated development environment) oficial de Android
específicamente para desarrollar aplicaciones Android, está basado en IntelliJ
IDEA, de JetBrains (Adroid Developers, 2015). Por su acogida en el mercado de
desarrollo de aplicaciones móviles se encuentra disponible para todas las
plataformas Windows, Mac OS X y Linux.
Se anunció su lanzamiento el 16 de mayo de 2013 pero su última versión
estable se encuentra disponible desde el 30 de Abril de 2015.
(media.techtarget.com, 2014)
2.1.1.2 iOS (IPHONE)
Sistema operativo para móviles creado por Apple Inc. que fue presentado en el
mercado por primera vez en el 2007, ejemplo de su evolución se visualiza en la
Figura 5. Software que es usado solamente en equipos que sean creados por
10 Figura 5 Evolución de iOS de Apple (Applesfera, 2014)
Presenta varias características que han sido acogidas por sus usuarios, entre
ellas se tiene:
Pantalla de inicio: Posee una interfaz gráfica comprendida en gran parte por sliders, botones e interruptores lo cual propone una interacción simple con
el usuario. Mediante la presentación de íconos (aplicaciones) en su pantalla
de inicio conjuntamente con la barra de menú en la parte inferior de la
misma, en la cual las tareas más comunes pueden ser ancladas. (Mojica,
2012) (Docsetools, 2015)
Aplicaciones incluidas (primarias): Presenta varias “apps” (aplicaciones para móviles), las cuales se encuentran almacenadas de manera
predeterminada en el dispositivo. Soporta un ambiente multitarea pero no
ofrece soporte para Adobe Flash ni Java. (Docsetools, 2015) (Mojica, 2012)
Multitarea: “Antes de iOS 4, la multitarea se limitaba a una selección de las aplicaciones de Apple incluido en el dispositivo. Los usuarios podrían, sin
embargo "jailbreak" el dispositivo con el fin de realizar diversas tareas
11 (Docsetools, 2015): Voz sobre IP, audio, ubicación, notificaciones push y
locales, ejecución de tareas y conmutación rápida de aplicaciones.
Con la aparición del iOS5 tres nuevas aplicaciones principales se
agregaron: EBooks, la comunicación con dispositivos/ accesorios externos y
finalmente bluethooth. (Docsetools, 2015)
2.2 DISPOSITIVOS MÓVILES EN ECUADOR
De acuerdo con el Instituto Nacional de Estadísticas y Censos INEC en el año
2012 se evidenció un 60% de incremento en comparación con el año 2011, en
lo referente a usuarios que adquirieron un teléfono inteligente (INEC, 2013). Lo
que nos indica que el número de usuarios de este tipo de dispositivos en el país
va en aumento como se indica en la Figura 6.
Según este reporte existen 839.705 personas que final del año 2013 ya poseían
un teléfono inteligente, que representa un 12.2 % del total de usuarios que
cuentan con una línea móvil activa.
Figura 6 INEC Porcentaje de Smartphones en Ecuador 2012 Si tiene
17%
No tiene 83%
12
2.3 DISPOSITIVOS MÓVILES PARA PERSONAS NO VIDENTES
De acuerdo con (Chiti & Leporini, 2012) El uso de teléfonos inteligentes ha ido
en ascenso en los últimos años debido a que en comparación con los teléfonos
tradicionales estos presentan un mayor número de funcionalidades. Sin
embargo, en el desarrollo de estas nuevas tecnologías la inclusión de personas
que presenten algún tipo de discapacidad visual no siempre es considerada, un
claro ejemplo de ello es el uso de la pantalla táctil en estos dispositivos, la cual
significa un gran desafío debido a la ausencia de teclas físicas.
En la actualidad, existen varios proyectos en fase de estudio que basan sus
esfuerzos en desarrollar aplicaciones móviles en tecnología Android para que
de alguna manera la interacción de usuarios no videntes y teléfonos inteligentes
crezca.
(Chiti & Leporini, 2012) Presentan en su estudio, tres características principales
que deben poseer las aplicaciones orientadas a satisfacer las necesidades de
personas no videntes, las cuales incluyen:
Letras y elementos que puedan ser identificados al tacto, debido a que para las personas que no se encuentran familiarizadas con el uso de un teléfono
inteligente es muy fácil perderse en la pantalla táctil de los dispositivos.
Adicional, se requiere que los botones de volumen y bloqueo sean fáciles
de encontrar así como las aberturas que sirven para conectar audífonos y
cargador.
Organización de comandos y funcionalidades: Las investigadoras reportaron que dos de las personas con menos experiencia en el manejo de
Smartphones; indicaron que las acciones y comandos de los teléfonos
13
Simplicidad y usabilidad de funciones comunes: una recomendación que
dieron las personas con mayor conocimiento en el manejo de teléfonos
táctiles, se enfocó en que los fabricantes de estos dispositivos debían
definir un lugar específico para los íconos dentro de la pantalla; así para los
usuarios no videntes la usabilidad de dichos teléfonos era más alta.
Actualmente se han presentado varios dispositivos para personas que
presentan algún tipo de discapacidad visual, por ejemplo: B-Touch un móvil
desarrollado por Zhenwei You, su forma se reconoce en la Figura 7; propone
una pantalla táctil braille conjuntamente con sistemas de reconocimiento de voz,
escáner de objetos y lector de textos. (Ju & Illescas, 2015)
Figura 7 B-Touch (Wordpress, 2015).
Telefónica Móviles, Owasys y ONCE en el año 2004 presentaron al mercado
Europeo Owasys 22C, como se ve en la Figura 8, un dispositivo móvil para
personas no videntes. Siendo este el primero de su especie, básicamente
comunica a su usuario mediante voz si este recibe una llamada, quién lo llama,
el estado del teléfono (estado de batería, hora y fecha), lee mensajes de texto
recibidos, y previamente comunica lo escrito dentro de un mensaje a su usuario
14 Figura 8 Owasys (screenlessphone, 2014).
La carcaza de Apple que se presenta en la Figura 9; Silicon Touche Iphone, es
otra propuesta en la que los usuarios no videntes pueden acceder a las
aplicaciones que este dispositivo móvil presenta, puesto que es un case de
silicona con las funcionalidades del teléfono en relieve. (Ju & Illescas, 2015)
Figura 9 Silicon Touch Iphone Case (Engadget, 2008).
2.4 APLICACIONES MÓVILES
El despunte del desarrollo de aplicaciones para móviles en la última década, ha
15 reciba llamadas, sino que, hoy en día sea considerado como un pequeño
ordenador personal. (Ju & Illescas, 2015)
Los desarrolladores de software para teléfonos inteligentes de acuerdo a
Abrahamsson (2005, págs. 20-23) debe tener en cuenta las siguientes características: “que el software es liberado en un ambiente incierto y dinámico
con un alto nivel de competencia, los equipos que desarrollan aplicaciones
móviles son generalmente pequeñas y medianas empresas, las aplicaciones en
sí son de pequeño tamaño, se entregan en versiones rápidas con el fin de
satisfacer las demandas del mercado y se dirigen a un gran número de usuarios finales.”
Por otro lado, (Blanco, Camarero, Fumero, Werterski, & Rodríguez, 2009)
determinan varias características principales del entorno móvil, tales como:
Canal: Hace referencia a la manera en la cual las aplicaciones van a estar
siempre disponibles, su ancho de banda y riesgos de seguridad.
Movilidad: Tiene que ver con la gestión de datos que dependen de su
localización, migración de los mismos.
Portabilidad: Característica enmarcada en la capacidad física de los dispositivos.
Fragmentación: Actualmente existen un sinfín de estándares de
tecnologías que imponen cierta complejidad al desarrollo de aplicaciones
móviles.
Capacidades: El software para móviles se ve atado a las capacidades que
prestan los teléfonos, la potencia de su procesamiento entre otros.
Diseño: Al igual que las capacidades, el diseño se encuentra ligado a las características de cada dispositivo, las cuales permitirán una mejor
16
Usabilidad: Cada grupo de usuarios con sus requerimientos específicos y
la tecnología heterogénea forman parte de un conjunto de características
que los aplicativos móviles deben tener en cuenta en lo referente a su
usabilidad.
Time to market: Los tiempos en los cuales estos aplicativos deben ser puestos en el mercado, cada vez son más reducidos, lo que presenta un
desafío para los desarrolladores.
2.5 APLICACIONES
MÓVILES
PARA
PERSONAS
NO
VIDENTES
Las políticas de gobierno definidas dentro del Plan Nacional del Buen Vivir, detalladas en el objetivo número dos; que indica: “Auspiciar la igualdad, la cohesión, la inclusión y la equidad social y territorial en la diversidad”
(Senplades, 2013, págs. 111-117). Han sido una de las motivaciones para el
autor y creador de LauncherBliMD.
En la actualidad se ha notado el desarrollo de varias aplicaciones para
personas no videntes, las cuales de a poco van solventando los requerimientos
de este sector de la población. (Ju & Illescas, 2015)
Google es una de las empresas en realizar investigación dentro del campo de
aplicaciones para personas no videntes, tal es su dedicación que presentó un aplicativo con una interfaz “Ojos Libres”, la cual permite la utilización el teléfono
sin mirar a la pantalla, con un menú radial de números y letras (movimientos
circulares). (Greene, 2009)
Easy Walk como se lo ve en la Figura 10 y Vodafone Speak son otros
17 las actividades diarias de personas invidentes. Easy Walk, realiza funciones de
GPS indicando a sus usuarios en cada momento su ubicación.
Figura 10 Vodafone Easy Walk (Appsmag, 2014)
Vodafone Speak por su parte; accede a todas las funcionalidades del teléfono
mientras, un lector de pantalla va explicando al usuario su interacción con el
teléfono. Dentro de este tipo de aplicativos “Localización, GPS” también
destacan los siguientes programas: TalkNav, LoadStone GPS, Mobile Speak
Pocket y Mobile Speak Smartphone.
La empresa IVisit cuyo logo se aprecia en la Figura 11 actualmente se
encuentra desarrollando un software llamado See Scan, que, partiendo del
concepto de realidad aumentada tiene como objetivo el reconocimiento de
objetos. (Ju & Illescas, 2015)
18
2.6 METODOLOGÍAS
ÁGILES
DE
DESARROLLO
DE
APLICACIONES MÓVILES.
En el desarrollo de software, las decisiones que se tomen en el modelado de
datos y las herramientas que se usen para su implementación son el pilar
fundamental para el éxito un proyecto. A medida que el negocio de las
aplicaciones móviles crece y se hace económicamente rentable, se tienen que
investigar las metodologías de desarrollo específicas para este tipo de software.
Las metodologías ágiles presentan ventajas al momento del desarrollo, puesto
que poseen una eficiente capacidad de respuesta a los cambios suscitados a lo
largo de las fases de desarrollo de software. Además, de que la entrega en
plazos de software funcional que, conjuntamente con el trabajo entre el cliente y
el equipo de desarrollo, dan la importancia a los pequeños detalles, suprimiendo
el trabajo innecesario. Lo que nos permite continuar a la excelencia técnica, al
buen diseño y mejora de procesos y del equipo de desarrollo.
De acuerdo a (Blanco, Camarero, Fumero, Werterski, & Rodríguez, 2009) “un
método de desarrollo de software funciona mejor cuando se aplica a situaciones
con características muy específicas, a esta clase de situaciones las llama "home ground" (bases) del método de desarrollo de software.” Por lo que a
continuación se presenta las características concretas (bases) de los modelos
ágiles versus los modelos tradicionales de desarrollo de aplicaciones en la
19 Figura 12 Bases para metodologías ágiles y tradicionales (Barry Boehm,
2002)
2.6.1 MOBILE – D
Una metodología de desarrollo de Software para dispositivos móviles, creada
por Pekka Abrahamson y su equipo; en el Centro de Investigación Tecnológico
de Finlandia.
Mobile – D, se basa en metodologías ágiles como XP (Extreme Programming y
Crystal), con la cual equipos de máximo 10 desarrolladores pueden ser
incluidos y el tiempo de desarrollo no puede ser extenso.
El ciclo de desarrollo de software que se observa en la Figura 13, consta de
cinco etapas, exploración, inicialización, productización, estabilización y por
20 Figura 13 Ciclo de vida Mobile - D (Amaya Balaguera, 2013)
Cada una de las etapas de Mobile –D, posee fases, prácticas y actividades
relacionadas: (Amaya Balaguera, 2013)
Exploración: El equipo de trabajo debe generar un plan inicial y establecer
las características y requerimientos iniciales del proyecto. Dentro de esta
etapa se debe identificar a los clientes que van a formar parte activa del
proceso de desarrollo, conjuntamente con el establecimiento de la
planificación inicial, la misma; que debe estar enmarcada en la definición de
los procesos a llevarse a cabo.
Inicialización: En esta fase el equipo de desarrollo define los recursos
requeridos, tareas a desarrollarse y estrategias de comunicación, mediante
la preparación de planes para esta y etapas posteriores, en los cuales el
entorno técnico es organizado.
La inicialización consta de cuatro Sub fases: Puesta en marcha del
proyecto, planificación inicial, definición del día de pruebas y el día de salida
o producción.
Producción: Se detallan tres etapas: planificación, trabajo y liberación. Las
cuales se van a repetir iterativamente hasta lograr desarrollar las
21 En la etapa de planificación se definen los recursos y el trabajo en base a
los requisitos y tareas. De antemano se deben prepara las pruebas de cada
iteración a ser realizadas.
Durante la etapa de liberación se integran los desarrollos de los
programadores en el caso de trabajar en equipos e inmediatamente se
ejecutan las pruebas de aceptación.
Estabilización: Se asegura que el sistema funciona correctamente
mediante las últimas tareas de integración, en esta fase la documentación
es desarrollada de manera completa.
22
3.
METODOLOGÍA
Debido a las características específicas del proyecto, ya que se trata de un desarrollo móvil y es necesario la realización continua de pruebas, dio como resultado que Mobile-D era la mejor opción por la estructura de sus fases, el grupo de desarrollo y el tiempo de entrega.
Mobile –D desde su origen se concibe como una metodología para el desarrollo de aplicaciones móviles lo que la hace flexible, efectiva y eficaz.
Consta de las siguientes fases:
Exploración
Inicialización
Producción
Estabilización
Pruebas
3.1 EXPLORACIÓN E INICIALIZACIÓN
En esta sección se establecen las siguientes actividades:
Definición de las partes interesadas (Stakeholders): Sectores de la población que van a ser beneficiados o que posean algún tipo de interés en
el proyecto.
Definición del alcance del proyecto
Establecimiento del proyecto: Viabilidad económica, técnica y operacional, selección de herramientas utilizadas en el desarrollo de software y material
empleado.
Mediante lo establecido en esta etapa, la definición y planeación de trabajo,
recursos y requerimientos agiliza la implementación del producto y con ello
23 3.1.1 DEFINICIÓN DEL GRUPO DE INTERÉS
Las aplicaciones software para dispositivos móviles desarrolladas en la
actualidad presentan importantes barreras para el colectivo de personas con
discapacidad visual y, pese a la creación de dispositivos móviles con
características propias para cubrir este tipo de requerimientos, en el país no se
cuenta todavía con esta tecnología en el mercado.
LauncherBliMD enfoca su interés en cubrir los requisitos de este sector de la
población ecuatoriana, y por la naturaleza del mismo nuestro principal grupo de
interés son las Personas no videntes. En este contexto su representante es:
Tabla 2 Representante del grupo de interés
Nombre Vinicio Estrada
Rol Test de pruebas
Categoría Profesional Licenciado, Músico, Secretario de la Asociación de No videntes de Pichincha
Información de contacto 0999623170
3.1.2 HERRAMIENTAS Y MATERIALES
Para el desarrollo de la aplicación móvil se requirieron las siguientes
herramientas tecnológicas descritas en la Tabla 3, las cuales son de libre
distribución y están consideradas como lo más reciente en el mercado.
Tabla 3 Herramientas de desarrollo de software
Herramienta Propósito
Android Studio V 1.1.0 Plataforma de desarrollo de que
posee paquete para la creación de aplicativos móviles
Java SE Development Kit 8u45 JDK Kit de implementación de
24 Conjuntamente con las herramientas se utilizaron dos Smartphones especificados en la como materiales sobre los cuales la aplicación fue instalada.
Tabla 4 Materiales utilizados para el desarrollo
Material Características
Smartphone 1 Samsung Galaxy SDuos
Smartphone 2 Samsung Galaxy Express
Notebook Samsung Notebook 305u
3.1.3 VIABILIDAD
3.1.3.1 Económica
Dentro del desarrollo de LauncherBliMD; aplicativo para personas no videntes,
no se requirió la realización de ningún tipo de inversión en la parte tecnológica,
debido a que se emplearon plataformas de desarrollo de libre distribución y
dispositivos móviles propios. Por lo que a continuación se lista el presupuesto
empleado en este proyecto detallado en la Tabla 5.
Tabla 5 Presupuesto
Rubro US $ Fuente Financiamiento
Teléfonos con sistema Android 800 Propio
Transporte 50 Propio
Insumos para tesis 150 Propio
Herramientas de desarrollo 0 Software libre
Materiales 300 Propio
25 3.1.3.2 Técnica
En la Tabla 6 se listan las herramientas de desarrollo de software utilizadas
durante la implementación de LauncherBliMD, las mismas que son líderes en el
marcado de desarrollo de aplicaciones móviles. Lo que conlleva a que la
creación del producto software es factible puesto que, el desarrollador del
mismo cuenta con los conocimientos técnicos de las herramientas y estas
presentan características específicas necesarias para implementar el proyecto.
Tabla 6 Herramientas de desarrollo
Herramienta Propósito
Android Studio V 1.1.0 Plataforma de desarrollo de que
posee paquete para la creación de aplicativos móviles
Java SE Development Kit 8u45 JDK Kit de implementación de
software de Java.
3.1.4 DEFINICIÓN DEL ALCANCE
Debido a las características del proyecto, para establecer el alcance del mismo
se realizó una entrevista al usuario final, la cual se encuentra detallada en la
sección de Anexos (ANEXO A)
Como resultado, a continuación se describe el alcance del producto
desarrollado en este trabajo de investigación.
La aplicación permite que personas no videntes mediante el uso de una pantalla
de inicio (launcher) puedan interactuar con su dispositivo Android (Smartphone);
26 discapacidad. Entre las principales opciones a desarrollarse el usuario podrá
mediante sonidos en íconos y vibración: realizar llamadas, revisar saldo y
batería; conexión a las aplicaciones propias del teléfono como abrir casillero de
mensajes, bloqueo de dispositivo y acceso a reproductor de música,
adicionalmente se interactuará con la síntesis de voz de Google.
3.1.5 CRONOGRAMA DE TRABAJO
En base a un análisis de requerimientos de recursos, entorno tecnológico y
tiempo en la sección de anexos (ANEXO B), se detalla el cronograma de las iteraciones detalladas de Mobile –D.
3.2 PRODUCCIÓN, ESTABILIZACIÓN Y PRUEBAS
En estas fases del a metodología Mobile – D se inicia la implementación del
aplicativo como tal, se define un plan de iteraciones la cuales deben estar
enfocadas en identificar hitos dentro del proyecto y entregarlos de manera ágil
27
4.
ANÁLISIS DE RESULTADOS
4.1 REQUISITOS INICIALES DEL PRODUCTO
A continuación se detalla los requerimientos iniciales definidos para
LauncherBliMD, los cuales fueron establecidos por el usuario final.
Llamadas
o Llamar contacto
o Llamar mediante ingreso de número
Información teléfono
o Dispositivo
Número y Operadora
o Batería
Porcentaje, status, salud
Contactos
o Buscar contacto
o Crear contacto
SMS
o Bandeja de entrada, enviados
o Crear nuevo
Saldo
o Ejecución código USSD.
Bloquear teléfono
Música
o Abre reproductor de música
Se representa la funcionalidad del aplicativo mediante el siguiente caso de uso
28 USUARIO
Activar Teléfono (Desbloquear)
Llamar
Bloquear Teléfono Información
Conexión Música Revisar Saldo Abrir casillero Mensaje
LauncherBliMD
Marcar Número
Realizar Llamada
Terminar Llamada
Llamar # Operadora
Ejecutar Reproductor Música Lectura de msn por
voz
Envío de msn por voz
Porcentaje Batería
Información Dispositivo
Información Ambiente
Figura 14 Funcionalidad de LauncherBliMD.
4.1.1.1 Definición de Requerimientos
Requisitos Funcionales
A continuación se listan las necesidades que fueron establecidas por los
29 En la Tabla 7 se hace referencia a las características que deben cumplirse para
que LauncherBliMD sea ejecutado.
Tabla 7 Requerimiento Funcional 1
Identificación RF01
Nombre Launcher
Características El usuario debe presionar el botón home del dispositivo para que el aplicativo sea ejecutado.
Descripción Para inicializar LauncherBliMD el usuario deberá presionar el botón home del dispositivo o a su vez el botón de
desbloqueo del mismo.
Prioridad Alta
Prerrequisito Ninguno
Como se presenta en la Tabla 8, el usuario requiere que el botón llamar
mediante voz y vibración le indique la acción que realiza el mismo.
Tabla 8 Requerimiento Funcional 2
Identificación RF02
Nombre Botón Llamar
Características El usuario deberá seleccionar el ícono para realizar la acción de llamada.
Descripción El launcherBliMD tiene la opción para realizar la llamada telefónica siendo asignado en su botón un tono con su
descripción y vibración llevando a la pantalla de números.
Prioridad Alta
Prerrequisito RF01
En la Tabla 9 se detalla las características y descripción del proceso de llamada
30 Tabla 9 Requerimiento Funcional 3
Identificación RF03
Nombre Llamada números
Características El usuario deberá seleccionar el ícono para realizar la acción de llamada.
Descripción Cada uno de los números de llamada tendrá una nota musical la cual permitirá la identificación junto con la
vibración del dispositivo.
Prioridad Alta
Prerrequisito RF02
En esta sección se establecen las características y descripción de la funcionalidad requerida, llamar a un contacto. Tabla 10
Tabla 10 Requerimiento Funcional 4
En la Tabla 11 se encuentra detallada la actividad referente a revisar los
mensajes de la bandeja de entrada del dispositivo móvil.
Identificación RF04
Nombre Llamar contacto
Características El usuario deberá seleccionar el ícono para realizar la acción de llamada.
Descripción El launcherBliMD tiene la opción para realizar la llamada telefónica siendo asignado en su ícono un tono con su
descripción y vibración, la cual lo llevará a la pantalla de
contactos.
Prioridad Alta
31 Tabla 11 Requerimiento Funcional 5
Identificación RF05
Nombre Mensaje – Bandeja de entrada
Características El usuario deberá seleccionar el ícono para acceder a la bandeja de mensajes.
Descripción El ícono respectivo, con tono y vibración, permite acceder a la bandeja de mensajería del dispositivo en la cual se
van a presentar los mensajes de texto recibidos.
Prioridad Alta
Prerrequisito RF01
A continuación en la Tabla 12 se detalla las características y funcionalidades
que debe tener la acción de crear mensaje dentro de LauncherBliMD.
Tabla 12 Requerimiento Funcional 6
Identificación RF06
Nombre Crear Mensaje
Características El usuario deberá seleccionar el ícono para acceder a mensajes, una vez en el menú debe seleccionar CREAR
SMS, la cual tendrá un campo para destinatario y para el
mensaje de texto. Luego de la edición se podrá enviar el
mensaje deseado.
Descripción El ícono definido, con tono y vibración, permitirá que se ingrese a la aplicación que viene en el dispositivo por
defecto.
Prioridad Alta
32 En la Tabla 13 se describe las acciones inmersas en el proceso de consulta de
saldo.
Tabla 13 Requerimiento Funcional 7
Identificación RF07
Nombre Saldo
Características El usuario deberá seleccionar el ícono para acceder a escuchar su saldo.
Descripción El ícono definido, con tono y vibración, permite que se realice la llamada al número de la operadora en el cual se
indica el saldo.
Prioridad Alta
Prerrequisito RF01
El proceso de consulta de información del dispositivo (batería, operadora, código IMEI) se encuentra detallado en la Tabla 14
Tabla 14 Requerimiento Funcional 8
Identificación RF08
Nombre Información
Características El usuario deberá seleccionar el ícono para acceder a la información del dispositivo.
Descripción El ícono definido, con tono y vibración, permitirá que se ingrese a verificar la información como batería e
información disponible, número del dispositivo y operadora.
Prioridad Alta
Prerrequisito RF01
A continuación se detalla el proceso relacionado con la ejecución del
33 Tabla 15 Requerimiento Funcional 9
Identificación RF09
Nombre Música
Características El usuario deberá seleccionar el ícono para acceder al reproductor de música.
Descripción El ícono definido, con tono y vibración, permitirá que se ingrese a la aplicación propia del dispositivo. Reproductor
de música
Prioridad Alta
Prerrequisito RF01
Una de las funcionalidades de la aplicación LauncherBliMD está relacionada
con el bloqueo del dispositivo, como se detalla en la Tabla 16.
Tabla 16 Requerimiento Funcional 10
Identificación RF10
Nombre Bloqueo
Características El usuario deberá seleccionar el ícono para bloquear el dispositivo.
Descripción El ícono definido, con tono y vibración, permitirá que se pueda bloquear el dispositivo móvil.
Prioridad Alta
Prerrequisito RF01
Requisitos No Funcionales
Dentro de los requisitos que están implícitos en el sistema se encuentran
interfaz amigable Tabla 17, excelente desempeño y funcionalidad Tabla 18 y
finalmente confiabilidad Tabla 19. Si bien es cierto que estos requisitos no
están implícitos dentro de la funcionalidad establecida por el usuario, deben
34 Tabla 17 Requerimiento No Funcional 1
Identificación RNF01
Nombre Interfaz
Características El launcherBliMD tiene una interfaz gráfica muy simple ya que su uso es para personas no videntes
Descripción El launcherBliMD deberá ser muy sencillo en su interfaz ya que no hace falta que los íconos sean vistosos ni que
tengan muchos detalles.
Prioridad Alta
Prerrequisitos Ninguno
Tabla 18 Requerimiento No Funcional 2
Identificación RNF02
Nombre Desempeño
Características La aplicación deberá garantizar confiabilidad para que el usuario no tenga inconvenientes al utilizarla.
Descripción Se tendrá que garantizar el desempeño al usuario no vidente, los iconos y funcionalidades del dispositivo
deberán funcionar sin problemas y sin demora.
Prioridad Alta
Prerrequisitos Ninguno
Tabla 19 Requerimiento No Funcional 3
Identificación RNF03
Nombre Confiabilidad
35
Descripción La aplicación deberá estar disponible 24/7, garantizando que se pueda utilizar a cualquier hora y en cualquier
momento todos sus componentes.
Prioridad Alta
Prerrequisitos Ninguno
Requerimientos comunes
Interfaz de usuario
En la interfaz de usuario se puede encontrar un conjunto de íconos tipo lista
con su respectivo texto, será realizada para el sistema indicado.
Interfaz de Hardware
Será necesario para los dispositivos con las siguientes características:
o Pantalla táctil
o Memoria mínima de 256 Mb
o Procesador de 1.2 GHz o superior
Interfaz de Software
Sistema Operativo Android: Honeycomb v3.0 o superior.
4.1.1.2 Restricciones
Aplicativo para ser utilizado por dispositivos con sistema operativo Android.
Se requiere que el dispositivo sea Smartphone.
Se requiere versión Android 3.0 (Honeycomb) o superior.
36 4.1.1.3 Supuestos y Dependencias
Se asume que los dispositivos con los que se va a trabajar cumplen con los
requisitos indicados anteriormente para el correcto funcionamiento de
LauncherBliMD.
4.1.2 ESTABLECIMIENTO DEL PROYECTO
4.1.2.1 Configuración del ambiente de programación
Para establecer un ambiente de desarrollo óptimo se debe previamente instalar
ciertos aplicativos que contienen características específicas, las cuales
brindarán un ambiente viable para la creación de LauncherBliMD.
Herramientas a instalar
JDK (Java SE Development Kit)
Como pre requisito para la instalación y configuración del IDE (Integrated
Development Environment) de desarrollo se requiere descargar e instalar el kit
de implementación de software de Java. El mismo que se lo puede descargar
desde la página principal de Oracle como se muestra en la Figura 15 para luego
37 Figura 15 Sitio de descarga JDK (Oracle, 2015)
Android Studio
Este IDE de desarrollo se utilizó para la creación de LauncherBliMD, el mismo
que se lo puede encontrar en la página principal de Android, en el menú
Develop y la pestaña Tools (Adroid Developers, 2015) tal y como lo muestra la
Figura 16. Una vez que se encuentre en el sitio web antes mencionado se
requiere que se lo descargue de acuerdo con el tipo de sistema operativo que el
desarrollador maneje y las características que presenta el mismo, se aceptan
los términos de la licencia, y se procede con la descarga.
38 Para realizar el proceso de instalación se requiere ejecutar lo previamente
descargado, siguiendo los pasos que nos indica el instalador y aceptando todas
las opciones que se encuentran por defecto tal y como se muestra en la Figura
17, Figura 18 y Figura 19. En este proceso se van a instalar no sólo el entorno
de desarrollo IDE sino también el SDK (Software Development Kit) que contiene
herramientas necesarias para la compilación del proyecto; así como los
respectivos APIs (Application Programming Interface) de Android y finalmente
un emulador que simula las características de un dispositivo móvil en el que se
puede compilar la aplicación.
Figura 17 Inicio Instalación Android Studio
39 Figura 19 Finalizar Instalación Android Studio
Al concluir la instalación de Android Studio se despliega una pantalla en la que
se consulta al usuario si se desea arrancar con el programa instalado, es
recomendable para evitar la presencia de cualquier tipo de error que se valide
previamente si existe publicada alguna versión reciente del SDK. Para realizar
esta verificación el usuario debe dirigirse al directorio en el cual se instaló el
programa que en este caso es: C:\Users\scevallos\AppData\Local\Android\sdk,
ejecutar el programa SDK Manager.exe Figura 20. Una vez culminada esta
tarea ejecutamos el programa desde el inicio en el cual se va a presentar una
pantalla para escoger la personalización del tema y varias características.
40 Como se puede evidenciar en la Figura 21, se encuentra instalado y ejecutado
el IDE Android Studio, se observa que se encuentra definido el tema Drácula
para el entorno gráfico.
Figura 21 IDE Android Studio
4.1.2.2 Entrenamiento
Para el desarrollo de LauncherBliMD el autor contó con un tiempo de
entrenamiento de 3 meses, los cuales están incluidos dentro del cronograma
del proyecto.
El autor se capacitó en el proceso de desarrollo aplicaciones móviles con las
siguientes herramientas: Android, Eclipse y Java.
4.1.2.3 Planificación Inicial
41 que son definidas las iteraciones llevadas a cabo durante todo el proceso de implementación de software.
Tabla 20 Planificación Inicial
Fases Mobile D Iteración N° Requisito N° Descripción
Exploración 0 n/a Definición de grupos de
interés, alcance y
establecimiento del proyecto
Inicialización 1 Todos Levantamiento y análisis de
requerimientos, entrenamiento
y planificación inicial y
cronograma de trabajo
Producción 2 RF01 Implementación de la clase
principal de Launcher.
Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
3 RF02 Implementación del
requerimiento del botón llamar. Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
4 RF03 Implementación del
requerimiento del botón llamar ingresando números.
Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
5 RF04 Implementación del
requerimiento del botón llamar buscando contacto.
Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
6 RF05 Implementación del
requerimiento Mensaje –
Bandeja de entrada.
Refinamiento de las historias de usuario e interfaces.
42
pruebas de aceptación.
7 RF06 Implementación del
requerimiento Mensaje –
Crear.
Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
8 RF07 Implementación del
requerimiento consulta saldo. Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
9 RF08 Implementación del
requerimiento consulta
información.
Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
10 RF09 Implementación del
requerimiento ejecutar el
reproductor de música.
Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
11 RF10 Implementación del
requerimiento de bloqueo de teléfono.
Refinamiento de las historias de usuario e interfaces.
Compilación y generación de pruebas de aceptación.
4.1.3 DISEÑO DEL SISTEMA
4.1.3.1 Aplicación Móvil
Descripción general de la interfaz de usuario
LauncherBliMD para facilitar su operación, presenta al usuario una interfaz
43 pantalla para que sea más cómodo su uso presenta en letras grandes 3
botones con su descripción. El aplicativo propone la opción de desplazarse con
los dedos sobre la pantalla, todos los textos darán su descripción (acción que
realiza) mediante una voz y vibración.
Las acciones de los mismos se ejecutarán cuando se presione dos veces sobre
la función que se requiera.
LauncherBliMD, básicamente enfoca su ejecución en conectarse con las
funcionalidades propias de los dispositivos móviles; adicionando a esto la
descripción por voz y vibración de los componentes.
Con la opción Llamar el usuario puede escoger entre dos acciones, llamar
mediante la búsqueda de un contacto o a su vez realizar la marcación del
número directamente.
Saldo, en el caso de que el usuario necesite consultar el estado de su saldo
LauncherBliMD se conectará con el proveedor del servicio mediante la
ejecución de un código USSD.
Bloqueo, información y batería, la aplicación presenta al usuario la opción de
realizar el bloqueo de la pantalla y de igual manera la factibilidad de consultar la
información del dispositivo conjuntamente con el estado de la batería del
mismo.
En la sección de mensajes, LauncherBliMD propone al usuario final la
posibilidad de leer los mensajes de la bandeja de entrada y crear un mensaje
desde cero.
Todas estas opciones son funcionalidades requeridas por el usuario final, las
cuales servirán de gran aporte en el manejo de un dispositivo móvil que
44 Figura 22 Pantalla inicio LauncherBliMD
4.1.3.2 Diagrama de flujo principal
Como se puede apreciar en la Figura 23, se presenta el diagrama de flujo
principal de la aplicación, este diagrama cuenta con las todas las funciones de
45
¿EXISTE
CONTACTO? MARCAR NÚMERO
SELECCIONAR CONTACTO
NO
SI INCIO
REALIZAR LLAMADA TERMINAR LLAMADA VOLVER A INICIO
¿CREA MENSAJE? ACTIIVAR GOOGLE VOZ SI DICTAR MENSAJE NO ¿MENSAJE ENTRANTE? LEER MENSAJE (TALKBACK) SI ¿RESPONDER MENSAJE? SI SALIR DE EDITOR
MSN NO
NO
ENVIAR MENSAJE
VOLVER A INICIO
EJECUCIÓN DE
CODIGO USSD VOLVER A INICIO
ABRIR REPRODUCTOR ESCOGER CANCIÓN DE MEMORIA NO REPRODUCIR SI SALIR DE
REPRODUCTOR VOLVER A INICIO
INFORMACION DE AMBIENTE (TALKBACK) INFORMACION DE DISPOSITIVO (TALKBACK) PORCENTAJE DE BATERIA (TALKBACK)
VOLVER A INICIO
BLOQUEA DISPOSITIVO FIN LLAMADA MENSAJE SI NO SI REVISAR SALDO NO SI MÚSICA NO SI INFORMACION SI NO BLOQUEO SI NO NO
46 4.1.3.3 Interfaz gráfica principal
LauncherBliMD propone una interfaz sencilla y amigable que despliega sus
principales características mediante botones que presentan palabras
relacionadas con la acción (nombres) desplegadas en barras horizontales como
se indica en la Figura 24. El diseño permitirá el fácil manejo del dispositivo por
parte de los usuarios que poseen discapacidad visual, permitiendo así un
acceso eficiente a las funciones requeridas.
Figura 24 LauncherBliMD pantalla principal
4.1.3.4 Interfaz gráfica por acciones
Acción Llamar
Cuando el usuario requiere realizar una llamada tendrá que presionar en la
pantalla el icono respectivo, a continuación el dispositivo procederá a reproducir mediante sonido la acción a ejecutarse; en este caso “LLAMAR”.
Inmediatamente se presenta una pantalla en la cual se encuentran las