Professional Documents
Culture Documents
PROFESOR SUPERVISOR:
INDICE
Resumen................................................................................................................................................6
Introduccin..........................................................................................................................................7
CAPITULO I. Formulacin del Problema en Estudio.........................................................................8
1.1 Descripcin del Problema...........................................................................................................8
1.2 Objetivos.....................................................................................................................................9
1.2.1 General.................................................................................................................................9
1.2.2 Especficos...........................................................................................................................9
CAPITULO II. Marco Terico............................................................................................................10
2.1 Conceptual.................................................................................................................................10
2.1.1 Aplicacin (APP)...............................................................................................................10
2.1.2 API, Interfaz De Programacin De Aplicaciones...............................................................11
2.1.3 JavaScript...........................................................................................................................12
2.1.4 SDK (Software Development Kit).....................................................................................13
2.1.5 APK (Android Aplication Package)...................................................................................13
2.2 Referencial................................................................................................................................14
2.2.1 Dispositivos mviles..........................................................................................................14
2.2.2 Smartphones.......................................................................................................................15
2.2.4 Windows Phone..................................................................................................................17
2.2.5 BlackBerry OS...................................................................................................................18
2.2.6 iOS......................................................................................................................................19
2.2.7 Android...............................................................................................................................21
2.2.8 Por qu desarrollar una aplicacin en Android?...............................................................22
2.2.9 Cmo crear aplicaciones Android?...................................................................................23
2.2.10 AIDE................................................................................................................................24
2.2.11 Mobincube........................................................................................................................25
2.2.12 Rheti.................................................................................................................................26
2.2.13 Eclipse y PhoneGap.........................................................................................................28
2.2.14 Por qu Phonegap?.........................................................................................................30
2.2.15 Cmo subir aplicaciones para Android?.........................................................................31
CAPITULO III. Metodologa de Trabajo............................................................................................32
3.1 Propuesta de solucin................................................................................................................33
3.1.1 Alternativas........................................................................................................................33
3.3.6 Pruebas...............................................................................................................................53
3.3.7 Desarrollo del Proyecto......................................................................................................53
3.4 Anlisis......................................................................................................................................54
3.4.1 Modelado de clases responsabilidades colaboraciones................................................55
3.4.1.1 Identificacin de clases y objetos....................................................................................55
3.4.1.2 Anlisis del Dominio.......................................................................................................59
3.4.1.3 Especificacin de atributos.................................................................................................62
3.5 Definicin de estructuras y jerarquas de PhoneGap................................................................70
3.6 Crear Aplicacin con PhoneGap...............................................................................................74
3.7 Encapsulado de la aplicacin - Uso de PhoneGap Build..........................................................75
3.7.1Cordoba.js...........................................................................................................................77
3.7.2 Estructura de Archivos de Phonegap..................................................................................78
3.8 Estructura de un proyecto..........................................................................................................79
3.9 DISEO....................................................................................................................................83
3.9.1Diseo de sistema................................................................................................................83
3.9.2 Particionar el modelo de anlisis........................................................................................83
3.9.3 Foto de subsistemas............................................................................................................83
3.10 Componentes de interfaz de usuario.......................................................................................84
3.11 Componente de la administracin de datos.............................................................................88
CAPITULO IV. Resultados.................................................................................................................89
4.1 Plan de Pruebas.........................................................................................................................89
4.2 Prueba del Sistema....................................................................................................................89
Conclusin...........................................................................................................................................90
Resumen
El objetivo general de este proyecto es la creacin de un prototipo de Aplicacin para
dispositivos Android que funcione con Geolocalizacin, permitiendo al usuario la utilizacin de
esta, como gua de actividades en las distintas localidades del mundo.
El prototipo se desarrollar en un entorno Java Script, el cual ser necesario para la
utilizacin de las APIs de Google, ya que es en este lenguaje, en el cual estn basadas. Adems se
utilizara HTML5, el encargado de detectar la Geolocalizacin del usuario.
La utilizacin de las Apis de Google en el prototipo, permiten el poder insertar marcadores
en el mapa, que son la forma ideal para mostrar al usuario puntos de inters, todo esto por medio de
ventanas emergente (Tooltip), las cuales se activarn, entregando una informacin especfica, al
desplazarse sobre o cerca de stos.
Introduccin
Hoy en da la cantidad de turistas que llegan a chile es cada vez mayor a aos anteriores, por lo
mismo se realizara una investigacin basada en la opcin de crear una aplicacin que facilite al
usuario, especficamente el turista, la bsqueda de informacin relacionada con eventos, fiestas y
ferias.
El objetivo de este proyecto es el poder crear y utilizar una aplicacin Android en dispositivos
mviles, App en la cual por medio de listas y mapas, utilizando geolocalizacin, entregara toda la
informacin necesaria al usuario.
El documento comenzara con la problemtica del proyecto y los objetivos a investigar, dando paso
posteriormente a la exposicin de conceptos tericos y referenciales, finalizando con un estudio
basado en la metodologa orientada a objetos.
1.2 Objetivos
1.2.1 General
Crear prototipo de Aplicacin para dispositivos Android que funcione con Geolocalizacin,
permitiendo al usuario la utilizacin de sta, como gua de actividades y eventos en las distintas
localidades del mundo.
1.2.2 Especficos
.- Investigar y analizar sobre sistemas operativos mviles existentes.
.- Realizar anlisis de las distintas herramientas de programacin a utilizar para la
creacin de la aplicacin Android.
.- Investigar como utilizar Java Script para extraer informacin desde una base de datos, y
adems de conectar App con la API de Google.
.- Crear diseo de prototipo.
.- Desarrollar prototipo programando en Java.
internet,
es
decir,
son
aplicaciones
que
se
ejecutan
de
forma
online.
(http://jmpereda.wordpress.com, 2007)
En otras palabras una aplicacin web es un conjunto de pginas que interactan entre
ellas, con diversos recursos en un servidor web, incluidas bases de datos. Esta interaccin
permite implementar caractersticas en un sitio web, como administradores de noticias y
contenidos. Adicionalmente tambin es posible realizar consultas a bases de datos, registrar e
ingresar informacin.
2.1.3 JavaScript
JavaScript es un lenguaje de programacin que es utilizado principalmente para la
creacin de pginas web dinmicas, aquellas que se componen de efectos y animaciones.
JavaScript es una mezcla entre Java y HTML, creada por Brendan Eich, el cual
despus de varios aos, y de pasar por una serie de nombres, en el ao 1995 lo bautiza con el
nombre de JavaScript.
Muchas personas tienden a confundir el lenguaje de programacin JavaScript con
Java, siendo estos dos muy diferentes. Ejemplo de esto es que JavaScript es un lenguaje de
programacin orientado a eventos, mientras que Java es orientado a objetos.
JavaScript se puede definir como un lenguaje de programacin interpretado, por lo que
no necesita compilar algn programa para su ejecucin, esto quiere decir que es posible
probar cualquier programa escrito en JavaScript directamente en algn navegador web sin
ningn tipo de inconvenientes.
JavaScript al ser un lenguaje de programacin orientado a eventos, permite en su
programacin crear pginas dinmicas, comprobacin de datos mediante formularios, el uso
de los elementos en las pginas web, intercambio de informacin, adems de manipulacin de
grficos y textos.
2.2 Referencial
2.2.1 Dispositivos mviles
Los dispositivos mviles son aparatos electrnicos de tamao pequeo, creados con el fin de
que los usuarios puedan configurarlos a su gusto. Estos dispositivos cuentan con una serie de
caractersticas, dentro de las cuales destacan sus capacidades especiales de procesamiento, su
memoria limitada, adems de diseos especficos para la realizacin de alguna funcin principal, y
el poder estar conectado a la red, de manera permanente o intermitente.
Caracterstica destacable e importante en un dispositivo es el concepto de movilidad, ya que
un dispositivo mvil al ser pequeo permite su fcil traslado y empleo durante su transporte.
Existen dos tipos de dispositivos mviles, los que poseen cables y los que no. Como
dispositivo con cable tenemos a los PDA, los cuales necesitan de uno para conectarse a una
computadora, para as poder obtener o enviar datos y aplicaciones.
Por otro lado tenemos los telfonos mviles o tambin llamados Smartphones, los cuales
estn equipados con caractersticas especiales, permitindoles por ejemplo el poder conectarse
mediante un pequeo navegador web a internet.
Como ejemplos de dispositivos mviles tenemos los siguientes:
Pginadores
Comunicadores de bolsillo
Sistemas de navegacin de automviles
Sistemas de televisin e internet
Telfonos celulares
Tablet
Hoy en da todos los dispositivos mviles han ido evolucionando junto a sus sistemas
operativos, todo segn las necesidades de los usuarios. En la actualidad se pueden encontrar dos
tipos de dispositivos, los que poseen un teclado y los que tienen una pantalla tctil para la
introduccin de datos.
2.2.2 Smartphones
Los Smartphones o tambin llamados telfonos inteligentes son los nuevos telfonos mviles
disponibles en el mercado, poseedores de mucha ms capacidad de proceso y movilidad que otros
dispositivos tradicionales, llevndolos a ser los aparatos tecnolgicos multifuncin ms demandados
en la actualidad por los usuarios del mundo.
Un Smartphone es un ordenador de bolsillo, vindolo desde el punto de vista hardware, ya
que gracias a las tecnologas microelectrnicas se han ido incorporando funciones que lo acercan
mucho ms a otros dispositivos de proceso aparentemente ms potentes y verstiles. Un telfono
mvil principalmente est compuesto por un teclado, una pantalla tctil, adems de un importante
tamao de memoria.
Todo Smartphone requiere de un sistema operativo para su correcto funcionamiento, el cual
debe estar totalmente adaptado a la movilidad, y que en la actualidad resaltan 5 dominantes del
mercado.
iOS
Android
Windows Phone
Symbian
Blackberry OS
En la actualidad los Smartphones empiezan a ser los dispositivos mviles ms vendidos en el
mundo, sobretodo el preferido por los jvenes, los cuales reconocen en un porcentaje elevado de
casos de que no pueden vivir sin l, todo gracias a la gran cantidad de funciones y aplicaciones
desarrolladas.
Imagen 2.1 - Esquema Cambios del Smartphene
2.2.3 Tablet
Una Tablet es un computador porttil de mayor tamao que un Smartphone, lanzado al
comercio a principios del siglo XXI por Microsoft, el cual con su ejemplar la Microsoft Tablet PC,
no logra el xito esperado, ya que no le es posible abarcar una gran cantidad de puntos de venta. En
el ao 2010 Apple present su dispositivo llamado IPad, logrando el xito total, gracias a su
Smartphone llamado iPhone, el cual sirvi de base para la creacin del IPad.
Las Tablet son dispositivos mviles con forma de tabla, las cuales no poseen teclado, pero si
una pantalla gigante sensible al tacto. En la actualidad todos los grandes fabricantes estn
presentando estos dispositivos, la mayora con una pantalla de 7 a 10 pulgadas, y con conexin 3G,
WIFI o ambas.
El principal objetivo de las Tablet es el acceso a internet y la navegacin web, pero adems
es posible la lectura de correos, edicin de documentos, entre otras actividades de fcil ejecucin en
estos dispositivos.
Al igual que los Smartphones las Tablet necesitan de un sistema operativo para poder operar.
En la actualidad los principales sistemas utilizados por las grandes empresas son:
2.2.5 BlackBerry OS
BlackBerry Os es un sistema operativo multitarea desarrollado por la empresa canadiense
RIM (Research In Motion) en el ao 1999, creado solo para una gama de dispositivos mviles
llamados BlackBerry los cuales pertenecen a la misma empresa.
Los BlackBerry son dispositivos mviles inalmbricos, los cuales son capaces de recibir
correos electrnicos, SMS, adems de poder realizar llamadas telefnicas y navegar por la web.
BlackBerry OS surge a finales de los noventa, como un sistema operativo diseado para uso
profesional, preferido sobre todo en mbitos de trabajo, para los que quieren seguridad basada en sus
correos electrnicos y administracin de contactos, adems de una agenda profesional, libreta de
direcciones y el permiso de sincronicin con un ordenador personal, todo esto mediante programas
externos compatibles con los dispositivos BlackBerry.
Hoy en da BlackBerry OS se diferencia mucho de los dos grandes Sistemas Operativos
(Android e iOS), pero sin embargo, posee una gran comunidad de usuarios, los cuales lo valoran de
manera positiva, especialmente cuando se trata de adquirir un dispositivo para trabajar y consultar
de manera continua el correo electrnico.
Los primeros modelos de Smartphone BlackBerry disponan de un teclado QWERTY, casi
idntico al de un computador personal, aunque a medida que pasaron los aos ha ido evolucionando
a la pantalla touch.
Al igual que en otros sistemas operativos mviles, los desarrolladores independientes
tambin pueden crear aplicaciones para los BlackBerry, pero si se necesita acceso a ciertas
funcionalidades de los dispositivos, es necesaria una firma digital que los asocie a una cuenta de
desarrollador RIM.
2.2.6 iOS
IOS es un sistema operativo mvil, desarrollado por Apple Inc en el ao 2007. Corresponde a
una versin reducida del poderoso sistema operativo Mac OSX, diseado especficamente para sus
dispositivos mviles IPhone, IPad y IPod.
A diferencia de otros sistemas operativos mviles, tales como Android y Windows Phone,
iOS no permite su instalacin en hardware que no sean de Apple.
Este sistema operativo se basa en el concepto de manipulacin directa, lo que permite ofrecer
al usuario una experiencia nica en un dispositivo, todo por medio de gestos multitctiles como
toques y deslices, adems de un funcionamiento sencillo y en general bastante bueno.
IOS poseedora de una tienda virtual llamada App Store, contiene una gran cantidad de
aplicaciones, las cuales son una de las claves en el xito del Smartphone llamado IPhone. App Store
ofrece aplicaciones para todos los gustos, desde las ms tiles y complejas hasta las ms sencillas,
algunas adquiribles con pago mediante tarjeta de crdito y otras de manera gratuita. A partir del ao
2012 App Store contiene ms de 700.000 aplicaciones para iOS, las cuales en conjunto suman ms
de 40 millones de descargas.
La pantalla principal de iOS muestra iconos de las aplicaciones instaladas en el dispositivo,
adems de una barra inferior en la cual los usuarios pueden depositar sus aplicaciones de uso ms
frecuente.
Para poder desarrollar aplicaciones en iOS es necesario que estas estn escritas y compiladas
especficamente para la arquitectura ARM e iOS. Desde el ao 2008 el SDK de iOS fue liberado
para que cualquier desarrollador pueda crear aplicaciones para los distintos dispositivos de Apple,
teniendo en cuenta de que solo es posible subir una APP despus de ser aprobada y cancelada la
cuota en IPhone Developer Program. Desde el ao 2012 el costo de inscripcin en IPhone
Developer Program es de EE.UU $99 en su versin bsica.
Como todo sistema operativo iOs cuenta con un navegador web, llamado Safari, y que al
igual que otros, tiene la capacidad de ejecutar aplicaciones web. Safari no es compatible con Adobe
Flash, sea, no es posible ver contenido en flash, ya que el SDK de Apple impide que se ejecute
algn cdigo externo. Desde el ao 2009 Apple restringe el uso de tecnologas que requieran Flash
Player, y hasta que esto se modifique, Adobe no puede ofrecer Flash para los dispositivos mviles
IPhone, IPod y IPad.
2.2.7 Android
Qu es Android?
Android es un sistema operativo mvil basado en Linux, diseado principalmente para
telfonos inteligentes y Tablet.
Android es creado por la empresa Android Inc. en el ao 2005 para posteriormente ser
vendido a Google y presentado al pblico con el dispositivo mvil HTC DREAM, como el primer
Smartphone con sistema operativo Android a la venta, llegando a ser en el ao 2011 como el OS
ms usado por la poblacin mundial, con ms del 50.9% de las preferencias.
Al igual que otros sistemas operativos mviles, Android cuenta con una tienda virtual
llamada Play Store, en la cual cada usuario tiene acceso a una gran cantidad de aplicaciones pagadas
y gratuitas. Importante es que para poder utilizar Play Store es necesaria tener una cuenta de correo
Gmail, la cual es asociada al dispositivo mvil.
Hoy en da Android posee ms de 650.000 aplicaciones disponibles en su tienda virtual, la
mayora de ellas gratuitas.
Android al ser un sistema operativo libre, gratuito y multiplataforma, proporciona todas las
interfaces necesarias para desarrollar todo tipo de aplicaciones, con las cuales se puede acceder a
algunas funciones del telfono, tales como; GPS y agenda, por medio de un lenguaje de
programacin muy conocido y utilizado en la actualidad llamado JAVA.
En la actualidad Android se encuentra en su versin 5.0 Lollipop, el cual fue creado con un
diseo ms elegante, sencillo, inteligente y totalmente personalizable, con un rendimiento mejorado,
incorporando una gran cantidad de nuevas funciones.
Uno de los desafos para Google en la actualidad es llevar su sistema operativo a todos
aquellos dispositivos con los que las personas interactan a diario, ejemplo de ellos son relojes,
Smartphone, Tablet, televisores, microondas e incluso automviles.
2.2.10 AIDE
AIDE es el primer IDE que permite programar, modificar cdigo y compilar una aplicacin
directamente desde el dispositivo mvil con sistema operativo Android.
AIDE es un software de fcil acceso, ya que se encuentra de forma gratuita en Play Store,
tanto para Smartphones o Tablets.
Este software tiene dentro de sus principales caractersticas el poder realizar comprobacin
de errores en tiempo real, adems de que sus proyectos son 100% compatibles con los de Eclipse,
permitiendo el poder trasladar proyectos entre ambos IDEs sin ningn problema.
2.2.11 Mobincube
Mobincube es un software que permite al usuario comn y corriente el poder construir
aplicaciones sin necesidad de ser un programador experto, basta con solo registrarse para comenzar
a programar, o bien contratar los planes Premium para acceder a una serie de servicios adicionales.
Mobincube permite la creacin de aplicaciones de cualquier temtica, solo basta dejar llevar
la imaginacin en la autntica herramienta de edicin de App, junto a su interfaz visual de edicin.
Solo es necesario aadir las pantallas para luego arrastrar, soltar, copiar, pegar, entre otras opciones.
2.2.12 Rheti
Rheti es una aplicacin Android, la cual permite al usuario comn la creacin de una App de
manera muy fcil y sin la necesidad de escribir una lnea de cdigo.
Creada por Juan Porras y Ralph Tavarez, Rheti llega como una herramienta visual, la cual
permite al usuario colocar botones y campos necesarios con solo tocar la pantalla de tu dispositivo,
basta con pulsar dichos botones para editar conexiones y eventos que se puedan ejecutar.
Rheti, muy distinto a los entornos de desarrollo integrados (IDE), permite a los usuarios
crear aplicaciones nativas desde Android y para Android.
Para poder adquirir Rheti es necesario poseer un Smartphone con sistema operativo Android,
para su posterior descarga desde su tienda virtual Google Play. Rheti es una aplicacin gratuita la
cual se financia mediante temas y funcionalidades Premium que pueden ser compradas desde la
aplicacin.
Adems de pginas web y APPs que permiten la creacin de aplicaciones Android, tambin
es posible encontrar otros entornos de desarrollo integrados (IDE), los cuales se pueden definir
como un programa que permite el desarrollo de cdigo en un lenguaje especifico, y que incorpora la
escritura de cdigo junto a su compilacin y ejecucin.
Hoy en da existen varios IDEs, dentro de los cuales destacan
Eclipse
NetBeans
Adobe Dreamweaver
Estos, junto con la utilizacin de tecnologas web (Html5, CSS3), el lenguaje de
programacin JavaScript, y la utilizacin del complemento Phonegap Build (Apache Cordoba), es
posible la creacin del instalador (APK), sea el archivo ejecutable de la aplicacin Android, para su
posterior instalacin en algn dispositivo.
PhoneGap funciona como puente de acceso de JavaScript a las herramientas nativas del
sistema operativo y hardware de los dispositivos mviles tales como:
Acelermetro
Cmara
Contactos
Eventos
Geolocalizacin
Redes o almacenamiento
Imagen 2.10 Interfaz IDE Eclipse y el framework Phonegap
Calculadoras
Monitores
Lectores de cdigo QR
Una caracterstica importante de PhoneGap, y que lo diferencia del resto, es su ventaja al
crear aplicaciones completas, utilizando los mismos lenguajes que se implementan para crear sitios
web, sea HTML5, CSS3 y Java Script. Esto, al ser adaptado y modificado un poco, permite utilizar
una aplicacin web ya terminada, y convertirla en una aplicacin Android mvil nativa.
Anlisis: Realizar un anlisis para determinar las clases ms importantes del prototipo.
Diseo: Realizar un diseo para determinar si las clases y conexiones pueden ser implementadas,
utilizando una herramienta CASE para los diagramas de casos de usos y diagrama de clases.
Prototipo: Compilar el prototipo usando el servicio PhoneGap Build el cual permite transformar
cualquier servicio web basado en HTML5, CSS3 y JavaScript en una App para cualquier
dispositivo.
Principalmente Chile Travel entrega toda la informacin necesaria para poder visitar el pas,
facilitando el conocer alojamientos cercanos, datos de entretencin, servicios de alimentacin entre
otras actividades.
Chile Travel es una aplicacin que funciona con retroalimentacin, es decir que se completa
de informacin gracias a todos los datos proporcionados por el Servicio Nacional de Turismo
(SERNATUR).
Imagen 3.1 Interfaz Chile Travel
3.1.1.2 Turismart
Turismart consiste en una aplicacin desarrollada con fines tursticos, la cual fue la ms
consultada y descargada en el verano del 2012, con ms de 3000 usuarios en solo 3 meses. Gracias a
esto en el ao 2012 y 2013 esta aplicacin recibi dos reconocimientos importantes, el primero
entregado a travs del Capital Abeja de Sercotec y el segundo obtenido por el segundo lugar
regional en el concurso Mujer Microempresaria Turstica, entregada por SERNATUR Tarapac.
Turismart est disponible para los sistemas operativos iOS y Android, est compuesta por un
men con 9 categoras disponibles; panoramas, shopping, restobar, talleres, turismo, alojamientos,
fitness, salud y servicios.
Una de las ventajas de esta aplicacin es que no solo puede ser utilizada por los turistas, sino
que por todos aquellos que quieran saber cosas tan bsicas como servicios de emergencias mdicas
o talleres culturales de la ciudad en la que viven.
3.1.1.3 Smartour
Smartour fue una de las primeras agencias de viajes pensadas para Smartphones en Chile,
presentada en la regin metropolitana en el marco de la entrega de Sellos de Calidad turstica.
Smartour es una aplicacin que muestra una gran cantidad de productos tursticos, en una
interfaz atractiva y geo referenciada, es decir, muestra todos los servicios y productos alrededor del
usuario, o en algn punto especfico a visitar.
Smartour funciona de tres maneras distintas, permitiendo al usuario buscar cosas alrededor,
por algn destino especfico o buscando por productos especficos. Esta bsqueda es entregada al
usuario por medio de un mapa, o de una lista, ordenada desde la ms cercana a la ms lejana.
Imagen 3.3 Interfaz Smartour
3.1.2 Evaluacin
En esta etapa se evaluar con un estudio de factibilidad las tres alternativas antes propuestas.
3.1.2.1 Mobincube
Tomando en cuenta los diferentes tipos de planes se elige el plan Home, el cual tiene todo lo
necesario para realizar el Prototipo.
Descripcin
Sistema Operativo
1
1
valor
$68.390
$ 349.990
$142.152
$560.532
Formularios
Barras de navegacin
Google Maps
Calendarios
Contenido remoto
3.1.2.2 AIDE
3.1.2.2.1 Factibilidad tcnica
Como ya antes dicho AIDE es un entorno de desarrollo integrado, que para su
funcionamiento requiere un dispositivo de media gama hacia arriba, tecnologa que no es nueva y
est disponible en el pas.
Las caractersticas de la tecnologa mnima a utilizar para este IDE son las siguientes:
Valor
$99.990
$6.155
$106.145
3.1.2.3 Rheti
3.1.2.3.1 Factibilidad Tcnica
Rheti es una aplicacin Android
media gama hacia arriba, tecnologa que no es nueva y est disponible en el pas.
Las caractersticas de la tecnologa mnima a utilizar para este IDE son las siguientes:
Procesador:
Red:
WCDMA/HSDPA/HSPA+
Cmara: 8 Mpx flash LED / 2 Mpx
Pantalla:5 Pulgadas
Medidas:
141,5 x 70,7 x 11 mm / 149 gramos
Sistema: Android 4.4. KitKat
Bandas
Red
3G
UMTS
Esta aplicacin requiere de una cuenta para ser descargada mediante la tienda virtual de
Android, Play Store. La cual se deber verificar al momento de iniciar la aplicacin. De esta manera
no presentara ningn inconveniente al momento de ejecutar la aplicacin
Valor
$99.990
alta
TOTAL
$99.990
Interfaz de Empresa
Interfaz de Restaurante
Interfaz de Vacaciones
Modelo:
SAMSUNG Galaxy Core
Procesador: Dual Core 1.2 GZ
Red:
2G (GSM) 3G
Para el desarrollo del prototipo de aplicacin es necesario contar con distintos Software
descargables desde internet, los cuales son
Eclipse
PhoneGap
PhoneGap Build
JDK para Windows
Ser una aplicacin que no tendr mayor dificultad para el usuario, donde este, por medio de
la geolocalizacin podr encontrar todas aquellas actividades y fiestas existentes en un radio de 100
Km.
Principalmente la aplicacin comienza a funcionar desde el momento de ejecutarse,
entregando la informacin al instante, por medio de una lista, en la cual se podr seleccionar una
opcin, siendo redirigido a otra interfaz donde se mostrar todo lo relacionado a la opcin
seleccionada. Adems se encontrar un mapa en el cual se encuentra la ubicacin del usuario y la
ruta a seguir para llegar al evento.
Se debe tener en cuenta que para poder utilizar la aplicacin se debe de tener en el
dispositivo mvil acceso a internet, ya sea por medio de wifi o redes mviles.
3.3.1.1 Anlisis
La etapa de anlisis se representara por medio de un diagrama de caso de uso, para luego
realizar un anlisis, en el cual se podr identificar los objetos potenciales para el sistema.
Cuando ya se identifiquen las clases potenciales, se realizar una investigacin para ver si
estas existen en las libreras de java, posterior a esto se procede a una revisin de todo lo investigado
para obtener las clases finales a utilizar.
Se especificarn los atributos de cada una de las clases, adems de sus responsabilidades y
colaboraciones.
Para finalizar la etapa de anlisis se desarrollar el modelo objeto-relacin y as analizar
cmo se relacionan los objetos, adems de su cardinalidad.
3.3.1.2 Diseo
Posterior al anlisis se comienza la etapa de diseo del sistema. Para poder realizar el diseo
orientado a objeto se llevarn a cabo las siguientes etapas.
Se realizar un anlisis para reconocer las clases del sistema, adems de las relaciones entre
estas.
Se definirn cules sern los componentes para la interfaz de usuario, detallando las
funciones de cada componente.
Marco terico
Conceptual
Referencial
Metodologa de trabajo
Propuesta de solucin
Evaluacin de propuesta
Beneficio de solucin
3.3.4Anlisis
Modelar clases
Identificar responsabilidades
Identificar colaboraciones
3.3.5 Diseo
Disear el sistema
Disear objetos
Programar prototipo
3.3.6 Pruebas
Desarrollar pruebas
3.4 Anlisis
En el punto anlisis, se pretende identificar todas las clases y objetos que vayan a ser
utilizadas en la aplicacin, adems de comprender como el usuario utilizar la aplicacin e
interactuar con esta.
En la diagrama 3.1 se puede apreciar el cmo ser utilizada la aplicacin por el usuario.
Los objetos se manifiestan de alguna de las formas mostradas en la Figura y pueden ser:
entidades externas (por ejemplo: otros sistemas, dispositivos, personas) que producen o consumen
informacin a usar por un sistemas computacional.
cosas (por ejemplo: informes, presentaciones, cartas, seales) que son parte del dominio de
informacin del problema.
ocurrencias o sucesos (por ejemplo: una transferencia de propiedad o la terminacin de una serie de
movimientos en un robot) que ocurren dentro del contexto de una operacin del sistema.
Papeles o roles (por ejemplo: director, ingeniero, vendedor) desempeados por personas que
interactan con el sistema.
Unidades organizacionales (por ejemplo: divisin, grupo, equipo) que son relevantes en una
aplicacin.
Lugares (por ejemplo: planta de produccin o muelle de carga) que establecen el contexto del
problema y la funcin general del sistema.
Estructuras (por ejemplo: sensores, vehculos de cuatro ruedas o computadoras) que
definen una
Clasificacin general
Rol o entidad externa
Dispositivo mvil
Consultar
Eventos
Seleccionar informacin
Geolocalizacin
Ingenieros
Entidad externa
Ocurrencia o suceso
Ocurrencia o suceso
Ocurrencia o suceso
Ocurrencia o suceso
Papeles o roles
Coad y Yourdon [COA911] sugieren seis caractersticas de seleccin a usar cada vez que un analista
considera si incluye o no un objeto potencial en el modelo de anlisis:
1. Informacin retenida: el objeto potencial ser de utilidad durante el anlisis solamente si la
informacin acerca de l debe recordarse para que el sistema funcione.
2. Servicios necesarios: el objeto potencial debe poseer un conjunto de operaciones identificables
que pueden cambiar de alguna manera el valor de sus atributos.
3. Atributos mltiples: durante el anlisis de requisitos, se debe centrar la atencin en la informacin
principal (un objeto con un solo atributo puede, en efecto, ser til durante el diseo, pero
seguramente ser mejor presentado como un atributo de otro objeto durante la actividad de anlisis).
4. Atributos comunes: puede definirse un conjunto de atributos para el objeto potencial, los cuales
son aplicables a todas las ocurrencias del objeto.
5. Operaciones comunes: puede definirse un conjunto de operaciones para el objeto potencial, las
cuales son aplicables a todas las ocurrencias del objeto.
6. Requisitos esenciales: entidades externas que aparecen en el espacio del problema y producen o
consumen informacin esencial para la produccin de cualquier solucin para el sistema, sern casi
siempre definidas como objetos en el modelo de requisitos.
Para ser considerado un objeto vlido a incluir en el modelo de requisitos, un objeto potencial debe
satisfacer todas (o casi todas) las caractersticas anteriores. La decisin de incluir objetos potenciales
en el modelo de anlisis es algo subjetivo, y una evaluacin posterior puede llegar a descartar un
objeto o re incluirlo. Sin embargo, el primer paso del AOO debe ser la definicin de objetos, y la
consiguiente toma de decisiones (incluso subjetivas). (Cita)
Caractersticas aplicables
Usuario
Dispositivo mvil
Consultar
Eventos
Seleccionar informacin
Geolocalizacin
Ingenieros
Rechazado
Aceptado
Rechazado
Aceptado
Rechazado
Aceptado
Rechazado
Se debe tomar en cuenta que en la lista anterior no se incluyeron todo los objetos existentes, y que se
aadirn para completar el prototipo. Adems, es probable el reutilizar clases ya disponibles en las
libreras de todos los softwarer a utilizar.
Dispositivos mviles
Eventos
Geolocalizacin
La clase Dispositivo mvil tiene relacin directa con el hardware a utilizar, el cual entrega la
gran posibilidad de portabilidad del dispositivo, adems de la utilizacin de geolocalizacin.
La clase eventos permitir definir los distintos eventos que podra realizar el usuario en la
aplicacin.
La clase geolocalizacin se encargar de recibir y entregar informacin geogrfica de la
ubicacin del usuario, al momento en que utilice la aplicacin.
Ya definidos los objetos, adems de sus funciones, que podran formar parte de la aplicacin,
se realizar una revisin de las libreras de JAVA versin 7, con el fin de verificar si existen clases
que realicen funciones similares y que se puedan reutilizar.
ActiveEvent
Java.awt
Component
Java.awt
lanzados.
Es un objeto que tiene
representacin grfica que se
puede visualizar en la pantalla,
adems de interactuar con el
Android.hardware
usuario.
Permite el acceso al
hardware del dispositivo, tales
como acelermetro, cmara,
Android.location
sensores y brjula.
Da a las aplicaciones el
acceso a la ubicacin fsica del
dispositivo actual.
Despus de revisar las libreras existentes en JAVA, se lleg a la conclusin de que las clases
mencionadas en la tabla antes mostrada(Numero tabla), pueden ser reutilizadas en el desarrollo de la
aplicacin.
Se pueden definir como clases candidatas las siguientes:
Dispositivos mviles
Eventos
Geolocalizacin
ItemSelectable
ActiveEvent
Component
Android.hardware
Android.location
para
proporcionar
compatibilidad
Component.BltBufferStrategy
Component.FlipBufferStrategy
componente.
GeomagneticField
Sensor
SensorEvent
SensorManager
dispositivo sensores.
Criteria
Geocoder
y geocodificacin inversa.
Clase representa el estado actual de un
GpsSatellite
satlite GPS.
Clase representa el estado actual del
GpsStatus
motor GPS.
Clase de datos que representa una
Location
ubicacin geogrfica.
Clase proporciona acceso a los servicios
LocationManager
LocationProvider
proveedores de localizacin.
abstracta
para
http://www.edureka.co/blog/location-based-services-in-android/
Component
Component se puede definir como un objeto que tiene una representacin grfica,
visualizada en la pantalla y que le permite al usuario su utilizacin.
Dentro de la clase Component existen objetos que derivan de este, los cuales se nombran a
continuacin:
Button
Canvas
Checkbox
Choice
Container
Panel
Windows
Dialog
Frame
Label
List
Scrollbar
TextComponent
TextArea
TextField
Ya nombrados los objetos de la clase component, estos pueden ser agrupados segn el tipo de
entrada.
Como primer grupo se pueden reunir los componentes con entrada de tipo no-textual, el cual
estara compuesto por los botones de pulsacin (Button), las listas (List), los Botones de Marcacin
(Checkbox), los botones de seleccin (Choice) y los botones de comprobacin (CheckboxGroup).
Como segundo grupo se agrupan los componentes con entrada y salida textual, tales como
los campos de texto (TextField), las reas de texto (TextArea), y las etiquetas (Label).
En el ltimo grupo se pueden encontrar componentes que no pertenecen a ningn lado, tales
como barras de desplazamiento (Scrollbar), zonas de dibujo (Canvas), o hasta incluso contenedores
(Panel, Windows, Dialog y Frames).
A continuacin se puede apreciar los objetos que pertenecen a la clase Component, todos
ordenados de manera jerrquica para la librera AWT, la cual pertenece Component.
Figura 3.2 Objetos de la Clase Component
http://users.dcc.uchile.cl/~lmateu/Java/Apuntes/awt.htm
Android.hardware
Android.hardware es una librera de java que se caracteriza por proporcionar soporte para
hardware, con el cual uno puede acceder al dispositivo mvil, por ejemplo los sensores de stos. Se
debe tener presente que no todos los dispositivos Android son compatibles con las caractersticas de
hardware, por lo mismo, es importante sealar que el hardware requiere de ciertas aplicaciones para
usar esta funcin.
Imagen 3.6 Hardware que funciona con aplicaciones del Sistema Android
http://techabella.co.uk/2013/07/09/android-does-leaving-gps-enabled-affect-my-battery/
ItemSelectable
ItemSelectable es una clase perteneciente a la librera Java.awt, la cual contiene objetos con
elementos para los que se puede seleccionar cero o ms. En otras palabras ItemSelectable solo se
aplica a los elementos que pertenezcan a un men y que se puedan seleccionar, esto quiere decir que
al hacer clic en un elemento del men, este devuelve datos y establece como ese elemento
seleccionado.
ItemSelectable cuenta con una propiedad que al estar en estado FALSE para algn elemento
en el men, este no realizar ninguna accin al hacer clic sobre l.
http://www.arkaitzgarro.com/phonegap/capitulo-2.html
Arquitectura de la aplicacin de PhoneGap.
En la figura anteriormente mostrada se puede apreciar una aplicacin nativa, en la cual la
interfaz de usuario de la aplicacin consta de solo una pantalla que contiene una visin web nica,
que utiliza todo el espacio disponible en la pantalla del dispositivo mvil. Cuando una aplicacin se
ejecuta, lo primero que ocurre es la carga de la pgina de inicio de la aplicacin, que comnmente es
llamada Index.html. Posterior a la carga de la pgina de inicio, se pasa el control al usuario para
poder interactuar con la aplicacin. Cada vez que el usuario interacta con la aplicacin, los enlaces
y cdigos JavaScript, pueden mostrar otros contenidos.
Para poder crear una aplicacin mvil interesante hoy en da, se debe poder acceder a varios
componentes del dispositivo mvil, fuera de lo que es el navegador web. Gracias a PhoneGap esto
es posible, ya que proporciona un conjunto de APIs que permiten a PhoneGap el acceder a los
componentes del equipo que son necesarios para la utilizacin de la aplicacin.
Figura 3.4 Interaccin de PhoneGap con el dispositivo
http://www.arkaitzgarro.com/phonegap/capitulo-2.html
Cada vez que un desarrollador utiliza una funcin en alguna aplicacin que vaya a utilizar
una API de PhoneGap, sta es llamada mediante cdigos del lenguaje de programacin JavaScript,
para posteriormente transformarla en un API nativo especialmente apropiado para la funcin a
utilizar.
La manera de acceder a alguna funcin a utilizar del dispositivo vara dependiendo del
sistema operativo a utilizar, como por ejemplo el utilizar la cmara en BlackBerry es totalmente
diferente a la de Android, por lo que la API seleccionada para programar, se transformar en un API
nativo apropiado al sistema operativo del dispositivo a ocupar.
Para poder tomar una fotografa desde una aplicacin mvil utilizando la API de PhoneGap
se necesita el siguiente cdigo JavaScript:
Imagen 3.8 API de PhoneGap para utilizar Cmara en BlackBerry
Este cdigo al ser transformado a una API nativa de BlackBerry quedara de la siguiente
forma:
Imagen 3.9 cdigo JavaScript para utilizar Cmara en BlackBerry
Los cdigos anteriormente mostrados no muestran todos los aspectos que hay que tener en
cuenta en la captura de una fotografa, pero demuestran como PhoneGap simplifica el desarrollo de
las aplicaciones mviles para los distintos sistemas operativos mviles.
Cada vez que se desarrolla una aplicacin sta debe ser empaquetada en una App nativa, la
cual se ejecutar en el dispositivo, todo depender de la plataforma para la cual sea empaquetada la
aplicacin, ya que cada una de ellas tiene sus propias herramientas para la creacin de aplicaciones
nativas.
Uno de los grandes desafos en este proceso es el que cada sistema operativo mvil utiliza,
herramientas totalmente distintas, especficamente en archivos de configuracin y la estructura de
carpetas. Cada librera JavaScript es diferente dependiendo del sistema operativo. Las APIs de
PhoneGap son iguales, pero el cdigo JavaScript utilizado para interactuar con el dispositivo mvil
va a cambiar dependiendo del sistema operativo, esto quiere decir que es imposible crear una
aplicacin desarrollada en PhoneGap y que pueda ser utilizada en las mltiples plataformas
existentes.
Imagen 3.11 libreras PhoneGap para diversos sistemas
Una vez concluida la fase de programar la aplicacin, y ya realizadas todas las pruebas
pertinentes, se llega a la etapa final del proceso, la cual consiste en convertir la APP en una
aplicacin nativa, haciendo uso del cdigo programado junto al framework PhoneGap.
PhoneGap ofrece un servicio on-line para poder realizar de manera correcta el encapsulado
de la aplicacin. Este servicio se llama PhoneGap Build, poseedor de una gran caracterstica, el no
poder estar instalado en algn computador para su funcionamiento, esto quiere decir que puede ser
utilizado desde cualquier computador con acceso a internet, para poder obtener una App nativa.
PhoneGap Build necesita en principio, tan solo dos documentos, estos por lo general son
llamados "index.html", documento en el cual se escribirn lneas y lneas de cdigo, mientras que el
archivo "config.xml" es en el cual se escribirn todo tipo de configuraciones. En el caso de que la
APP contenga otros archivos, Imgenes, hojas CSS u otros, estos debern ser comprimidos en un
fichero formato ZIP.
Una vez realizada la compilacin de archivos ZIP, se debe acceder a la web de PhoneGap
Build. Se debe tener en cuenta que es requisito indispensable estar registrado para el uso de este
sitio.
Imagen 3.12 Encapsulado de la aplicacin - Uso de PhoneGap Build
para poder obtener una aplicacin nativa en iOS, Apple exige tener los certificados de desarrollo y
distribucin, que tienen como costo anual unos 100 dlares. Una vez que se obtienen los certificados
estos deben ser subidos a PhoneGap Build junto a la compilacin de ficheros ZIP.
3.7.1Cordoba.js
Diagrama 3.2 Cordoba.js puente entre los archivos HTML y los Plugins JS
Al momento de crear un proyecto, se establece una carpeta con el nombre de ste, la cual
contiene otras carpetas, dentro de ellas destacan platforms, poseedora de todas las plataformas
que estn disponibles para la creacin de una aplicacin, en el caso de este proyecto, Android.
En la carpeta WWW, se podrn encontrar todos aquellos archivos en los que
indiscutiblemente se tiene que trabajar.
Imagen 3.13 Archivos dentro de la Carpeta WWW
Cada vez que se crea una aplicacin Android, se genera una estructura de carpetas,
esta estructura es comn en cualquier aplicacin, independientemente de su tamao y complejidad.
Carpeta /src/
Principalmente esta carpeta es la que incluye las clases de la aplicacin, sin importar la
cantidad de clases existentes, ya que se pueden crear tantas clases como vistas (Activity)
Imagen 3.14 Estructura Carpeta SRC
Carpeta /res
La carpeta res tiene como principales caractersticas lo siguiente:
Guarda todos los recursos de la aplicacin (imgenes, XML de interfaz, XML de strings, sonidos,
audios, etc).
A cada recurso se le asigna una direccin
La subcarpeta drawable contiene las imgenes de la aplicacin.
La subcarpeta layout contiene la interfaz de las actividades.
La subcarpeta values contiene los textos de la aplicacin en ficheros XML
Imagen 3.15 Recursos para el sistema
Carpeta /gen/
Principalmente se caracteriza por lo siguiente:
AndroidManifest.xml
Los permisos que la aplicacin necesita para funcionar (Acceso a Internet, a un SDCard).
Que clases se deben invocar.
La versin de Android para la que ha sido diseada la aplicacin.
Las actividades, y servicios que incluye la aplicacin
El cono y el texto que se mostrar al lanzar la aplicacin
La actividad principal de la aplicacin
Imagen 3.17 Aspectos generales de la Aplicacin
3.9 DISEO
En esta etapa se crea un modelo de diseo que sirve como anteproyecto para la construccin
del prototipo, este diseo ser dividido en dos partes; diseo de sistemas y diseo de objetos.
3.9.1Diseo de sistema
Principalmente se desarrolla el modelo arquitectnico para la construccin del prototipo, este
es definido por una serie de partes que cumplen un rol especfico en el sistema, adems de
identificar las clases.
Al iniciar la aplicacin el usuario encontrar una pantalla con dos opciones. En la opcin
Capture Photo, se podr capturar una fotografa de algn lugar especfico, compartirla con el resto
de personas que utilicen la aplicacin. Esta fotografa ser cargada en la galera que se encuentra en
la parte inferior de la primera pantalla.
Como primera opcin tenemos el botn Iniciar Aplicacin, el cual al darle clic, nos llevar a
la siguiente pantalla compuesta principalmente el selector de bsqueda, que funciona de acuerdo al
rango de Km (kilmetros) que el usuario elija.
Imagen 3.18 Pantalla de inicio de aplicacin
Al tener el rango de bsqueda seleccionado, basta con presionar el botn aceptar para poder
continuar utilizando la aplicacin.
En la tercera interfaz que el usuario puede apreciar, se le da a elegir entre 3 categoras de
bsqueda, adems de mostrar un video relacionado con el turismo en Chile.
Una vez que el usuario decida que evento visitar, basta con presionar el botn y esperar a que
la siguiente cargue. Una vez cargada la pantalla se podr ver la informacin del evento seleccionado,
adems de la ubicacin de ste, todo por medio de un mapa proporcionado por Google Maps.
ItemSelectable
ActiveEvent
Component
Android.hardware
Android.location
Bueno
Bueno
Bueno
Bueno
Incompleta
Bueno
Bueno
Bueno
Conclusin
Una vez finalizada la investigacin se obtuvo como resultado lo importante que puede llegar a ser
las aplicaciones ligadas al turismo en la actualidad, ya que hoy en da son los dispositivos mviles la
ms destacada y utilizada en cuanto a tecnologa, gracias a su fcil utilizacin y bajo costo de
adquisicin.
La eleccin de la herramienta de trabajo a utilizar en la creacin y diseo de la aplicacin solo va a
depender de las cualidades o aspectos que va a tener la aplicacin a desarrollar, adems de los
dispositivos que lo utilizaran y plataformas de software.
Por otro lado la incompatibilidad de los sistemas operativos mviles existentes en la actualidad es un
problema que afecta a la mayora de los desarrolladores, ya que son miles los tipos de dispositivos
mviles existentes en el mercado, haciendo mas difcil la creacin de una aplicacin con
caractersticas y capacidades mnimas compatibles con estos.
La creacin de la aplicacin no solo fue con el fin de utilizar la geolocalizacin para poder entregar
informacin turstica y rutas hacia los eventos, sino que tambin puede ser utilizada para otras reas
que no estn relacionadas al turismo, todo gracias a que las API de mapas de Google tiene una gran
cantidad de funciones disponibles al usuario de la aplicacin.