tesis - .:centro de desarrollo bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 ambiente de...

55
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR ÁREA DE CONOCIMIENTO DE CIENCIAS DEL MAR DEPARTAMENTO ACADÉMICO DE SISTEMAS COMPUTACIONALES QUE COMO REQUISITO PARA OBTENER EL TITULO DE: PRESENTA: Martha Alicia Gaxiola Fausto DIRECTOR: M.S.C. Jaime Suárez Villavicencio La paz, Baja California Sur, agosto de 2013 TESIS DESARROLLO DE UNA APLICACIÓN MOVIL PARA EL MONITOREO DE LA PESCA RIBEREÑA EN BAJA CALIFORNIA SUR. LICENCIADO EN COMPUTACIÓN.

Upload: others

Post on 26-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR

ÁREA DE CONOCIMIENTO DE CIENCIAS DEL MAR

DEPARTAMENTO ACADÉMICO DE SISTEMAS COMPUTACIONALES

QUE COMO REQUISITO PARA OBTENER EL TITULO DE:

PRESENTA:

Martha Alicia Gaxiola Fausto

DIRECTOR:

M.S.C. Jaime Suárez Villavicencio

La paz, Baja California Sur, agosto de 2013

TESIS DESARROLLO DE UNA APLICACIÓN MOVIL PARA EL MONITOREO DE

LA PESCA RIBEREÑA EN BAJA CALIFORNIA SUR.

LICENCIADO EN COMPUTACIÓN.

Page 2: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

Índice

Capítulo

1.1 Antecedentes……………………………………………………………………...…..…. 1

1.2 Descripción del problema………………...………………………………….………..…3

1.3 Propuesta solución……………………………………………………………....…….....3

1.4 Objetivo general………………………………………………………………….……….3

1.5 Objetivos específicos…………………………………………………...………..……....3

1.6 Cronograma……………………………………………………………………….………4

Capitulo II

2.1 Ambiente de desarrollo para dispositivos móviles…………………………………….5

2.2 Aplicaciones móviles de geolocalización………………………………………..……..6

2.3 Sistemas operativos para dispositivos móviles……………………………………......7

2.4 Android como plataforma para desarrollo de la aplicación móvil…………………..10

2.5 Arquitectura de Android…………………………………………………………………12

2.6 Entorno de aplicación…………………………………………………………………...14

2.7 Las versiones de Android y niveles de API…………………………………………..15

2.8 Elección de la plataforma de desarrollo…………………………………………........22

Page 3: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

Capitulo III

3.1 Metodología de desarrollo de software para la aplicación móvil…………….……..24

3.2 Características y requerimientos específicos del entorno móvil……………………24

3.3 Metodología ágil ideal para el desarrollo móvil……………………………………..26

3.4 Metodología Scrum………………………………………………………………..…..27

3.5 Programación extrema (extreme programming, xp)………………………………...28

Capitulo IV

4.1 Análisis y diseño de la aplicación Móvil…………………………………………..…..33

4.2 Caso de uso de la aplicación móvil…………………………………………….……..34

4.3 Diagrama entidad – relación……………………………………………………………36

Capítulo V

5.1 Diseño de interfaces de la aplicación móvil…………………………………….…….37

Capítulo VI

6.1 Resultados…………………………………………………………………………….…43

6.1.1 Comportamiento histórico de la pesquería de escama en bahía…………..........43

6.1.2 Comportamiento histórico de la captura en bahía por pesquería………………..45

6.1.3 Comportamiento histórico de la captura de camarón en esteros………..………46

Page 4: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

Índice de figura

Tabla 1.1Cronograma………………………………………………………………………...4

Figura 2.1 Foursquare.........………………………………………………………….………6

Figura 2.2 Google Latitude…….………………….…………………………………………6

Figura 2.3 Grafica de sistemas SO más vendidos………………………………………12

Figura 2.4 Arquitectura de android………………………………………………………..12

Figura 2.5 Dispositivos Android según plataforma instalada, que han accedido a

Google Play Store durante dos Semanas………………………………………………...23

Figura 4.1 Diagrama casos de uso de la aplicación integral……………………………34

Figura 4.2 Diagrama casos de uso de la aplicación móvil…………………………..….35

Figura 4.3 Diagrama entidad relación de la aplicación móvil……………………..…..36

Figura 5.1 Pantalla de inicio de la aplicación móvil………………………………………37

Figura 5.2 Pantalla de opciones de la aplicación móvil………………………………….38

Figura 5.3 Pantalla de captura de avisos de arribo de la aplicación móvil…………….39

Figura 5.4 Pantalla de la opción embarcaciones de la aplicación móvil…………….…40

Figura 5.5 Pantalla de la opción especies de la aplicación móvil………………...…….41

Figura 5.6 Pantalla de la opción campo pesquero de la aplicación móvil……………..42

Figura 6.1 Grafica del comportamiento histórico de la pesquería de escama en

bahía…………………………………………………………………………………...……...44

Figura 6.2 Grafica del comportamiento histórico de la captura en bahía por

pesquería ...…………………………………………………………………………………..45

Figura 6.3 Grafica del comportamiento histórico de la captura de camarón en

esteros …..……………………………………………………………………………………46

Page 5: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

Agradecimientos

Quiero agradecer primeramente a dios por darme vida y por haberme dado la

oportunidad de haber llegado a este momento tan importante de mi formación

profesional.

Agradezco a mi esposo Cristian M. corazón por todo su apoyo y comprensión que me

brindo a lo largo de este camino.

A mis padres Alicia F. y Julián G. por la educación que me dieron y gracias a sus

consejos y buenos ejemplos que me demostraron a no rendirme jamás y seguir

adelante y superarme.

A mis hermano Julián G., Manuel Eduardo G. y Julio Cesar G. por su apoyo.

Agradezco a mi maestro y asesor de tesis MSC. Jaime Suárez Villavicencio por su

valiosa guía y asesoramiento a la realización de la misma.

A mis amigos y compañero Gabriel Heras, Aníbal meza, Bernardo chaparro, Francisco

Salazar, Pedro alba y Flavio nava, por que juntos llegamos hasta el final del túnel y

vimos la luz, apoyándonos unos a los otros.

Gracias a todas las personas que ayudaron directa e indirectamente en la realización

de este proyecto.

Page 6: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

Dedicatoria

Dedico este trabajo a dios por haberme permitido llegar hasta aquí, A mi familia que

quiero tanto, a mi Esposo, Padres y Hermanos por todo el apoyo que me brindaron y

en especial a mi hija, que todos los esfuerzos hechos hoy en día son para que en un

futuro poder brindarle una mejor calidad de vida.

Espero de corazón hacerlos sentir orgullosos de mi desarrollo profesional que he

Logrado con mucho esfuerzo.

Page 7: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

1

Capítulo I

1.1 Antecedentes.

Baja California Sur cuenta con una superficie territorial de 73 677 km 2, la cual representa 3.8 por

ciento del área del país. Ocupa el noveno lugar en extensión y el primero en litorales, con 2 220 km,

que constituye 22 por ciento del litoral nacional total; de éstos, 1 400 corresponden al océano

Pacífico y 820 al golfo de California [1].

La región cuenta con una diversidad de ecosistemas marinos que lo hacen único en el mundo, ya

que alberga especies tropicales, templadas y de transición templado-tropical. Los recursos

pesqueros de BCS son vastos; en las aguas que la circundan, se han identificado 650 especies que

pueden utilizarse para consumo humano e industrialización. Actualmente, se explotan 122 grupos de

especies comestibles, entre las que destacan la sardina, túnidos y almejas. Si bien éstas no tienen

un valor comercial alto con respecto a otras especies, su volumen de producción y el empleo que

generan las hacen importantes. Por otro lado, se cuenta con recursos de alto valor económico, tales

como abulón, langosta y camarón, que sin duda han sido la base de pesquerías altamente rentables

y ejes del desarrollo del sector social, en particular del que se localiza en la zona del Pacífico norte

de la entidad [2]

Hoy en día la preocupación más importante estriba en la contribución de la pesca al desarrollo

sostenible; esto es, satisfacer las necesidades de la generación actual sin poner en peligro las

necesidades de las generaciones futuras. El desarrollo sostenible exige realizar las siguientes

acciones: controlar las actividades que degradan el medio marino; controlar el acceso a los recursos;

implantar medidas para enfrentar la incertidumbre y variabilidad de los recursos naturales; permitir la

recuperación de las poblaciones agotadas e intervenir para restablecerlas; conservar y utilizar de

manera sostenible las poblaciones ícticas y proteger el medio marino; así como garantizar prácticas

selectivas y ecológicas inocuas [3].

Adoptar medidas basadas en la investigación científica para mantener o restablecer las poblaciones

a los niveles que puedan producir el máximo rendimiento sostenible, de conformidad con los factores

ambientales y económicos. Puesto que el exceso de la capacidad de pesca contribuye a la

Page 8: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

2

degradación de los recursos pesqueros, a abatir el potencial de producción y a considerables

pérdidas económicas, es indispensable efectuar un ordenamiento centrado en: la integración del

ordenamiento pesquero en el ordenamiento de las zonas costeras; la participación de los integrantes

del sector en el ordenamiento pesquero; los sistemas efectivos de seguimiento, control y aplicación

de medidas de ordenamiento; el compromiso del sector para usar responsablemente los recursos;

evitar el exceso de capacidad de pesca y asegurar que la explotación de las poblaciones continúe

siendo económicamente viable; preservar la biodiversidad y proteger las especies en peligro; y

abatir al mínimo las capturas incidentales, los desperdicios y los descartes [3].

Al igual que en otras regiones de México, el manejo de la pesca en Baja California Sur, se rige bajo

normas oficiales mexicanas como las relacionadas con la del camarón y tiburón y las observaciones

de la Carta Nacional Pesquera. En la mayoría de los casos, las normas y reglas no consideran

diferencias regionales en la dinámica de las flotas, la distribución de los recursos y los impactos

sobre ellos y el ecosistema, derivados de interacciones por la coexistencia espacial y temporal de las

pesquerías. Para apoyar a los procesos de planificación, ordenamiento y manejo pesquero, se

requiere contar con información confiable y oportuna que sirva como apoyo en el proceso de toma

de decisiones, esto requiere de información que permita conocer la situación actual del recurso en

cuanto a disponibilidad y demanda, así como modelos que permitan evaluar escenarios prospectivos

y simular los efectos que producirían ciertas acciones [4].

Se cuenta con un Data Warehouse con datos de pesca ribereña en Baja California Sur, los cuales

contemplan los registros de captura por especie o por grupo y lugar, estos registros son

proporcionados por las mismas embarcaciones y contempla un histórico de 1998 a 2009. Para

mejorar esta acción, se pretende con el uso de una aplicación móvil instalada en un Smartphone

(Teléfono inteligente) las embarcaciones puedan capturar esta información que será depositada en

él Data Warehouse la cual mantendrá un histórico de la pesca ribereña de manera actualizada. Otro

beneficio es la geolocalización en línea con los datos sobre el tipo de especie y capturas realizadas

en la zona, con la cual podrán construir mapas ubicando especies en una zona determinada del

litoral.

Page 9: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

3

1.2 Descripción del problema

No existe un mecanismo eficiente para la alimentación de los datos respecto a la captura que

realizan las embarcaciones pesqueras ubicadas en el litoral de Baja California Sur, esto conlleva a

que no se mantengan datos actualizados con respecto a la cantidad, especie y lugar donde es

capturado. Al no contar con la información actualizada, dificulta la toma de decisiones por parte de

los investigadores y productores de las distintas especies, por lo que no se pueden desarrollar con

exactitud los procesos de planificación, ordenamiento y manejo pesquero.

1.3 Propuesta de solución

Desarrollar una aplicación móvil que permita a las embarcaciones pequeña, mediana o grande

dedicada a la pesca ribereña, realizar la captura correspondiente al tipo de especie, cantidad y la

localización del punto donde se ha realizado la misma.

1.4 Objetivo general.

Beneficiar al sector productivo pesquero de Baja California Sur al proveer de información que

permita mantener actualizado los datos en el sistema Data Warehouse sobre la ubicación y captura

de las especies en el litoral de Baja California Sur.

1.5 Objetivos específicos.

Monitoreo en tiempo real, sobre la localización y el tipo de especie que se está capturando

en las zonas del litoral del estado.

Crecimiento en la productividad de la pesca ribereña

Monitoreo de la ubicación de las distintas embarcaciones.

Evaluar escenarios prospectivos y simular los efectos que producirían ciertas acciones

Detectar irregularidades como la captura de especie en temporadas de veda.

Page 10: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

4

1.6 Cronograma.

Actividad

2012-2013

Semestre 2

2012

Semestre 1

2013

1 Análisis y Diseño de la herramienta

2 Codificación

3 Plan de pruebas (funcionalidad)

4 Retroalimentación y mantenimiento

5 Prueba en grupo piloto (usabilidad)

6 Implementación

7 Análisis y evolución de los resultados

Tabla 1.1 Cronograma

Page 11: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

5

Capítulo II

2.1 Ambiente de desarrollo para dispositivos móviles

El avance tecnológico de los dispositivos móviles, tales como smartphones y tablets, poseen el

poder de procesamiento y la capacidad de memoria que hasta no hace mucho tiempo eran

características de las laptop y hasta computadoras de escritorio de última generación. Esto significa

que hoy en día, estos dispositivos de bolsillo como los smartphones, permiten ejecutar aplicaciones

y acceder a internet desde cualquier lugar, de la misma forma que años atrás sólo era posible desde

una computadora fija.

Este escenario abrió un nuevo mercado para el software, el cual es de gran interés para las

empresas que desean brindar servicios a sus clientes en cualquier lugar donde se encuentren, o

comercializar aplicaciones para estos dispositivos, dado que sus ventas a nivel mundial ya superan a

las de las computadoras personales.

Los Smartphone o teléfonos inteligentes son dispositivos móviles capaces de proporcionar al usuario

servicios de internet a través de WiFi o 3G, por lo que el usuario puede acceder a una serie de

aplicaciones como son; correo electrónico, navegación web. Además estos dispositivos suelen tener

integrado un dispositivo GPS, que junto a la conexión a internet, proporcionan la posibilidad de saber

en cualquier momento la posición actual del móvil.

Haciendo uso de las redes sociales y gracias a la a la proliferación de los dispositivos móviles

inteligentes, se han desarrollado un buen número de aplicaciones denominadas redes sociales

basadas en geolocalización tales como:

Page 12: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

6

2.2 Aplicaciones móviles de geolocalización

2.2.1 Foursquare [5], sin lugar a dudas una de las redes de geolocalización más famosas. Se basa

en la capacidad de mostrar un conjunto de lugares en función a la posición en la cual se encuentra

un usuario, para ello el usuario se identifica en la aplicación con su cuenta.

Una vez identificado, el usuario puede listar un conjunto de puntos cercanos a su ubicación y, en su

caso, mostrar las promociones realizadas por estos lugares.

Foursquare también cuenta con un gestor de amigos que permite añadir otros usuarios a la lista de

contactos mediante peticiones de amistad. Para ello, se deben buscar aquellas personas que tengan

la aplicación instalada y que pueden ser localizadas mediante la libreta de direcciones de teléfonos,

Facebook o Twitter. Una vez que un usuario acepte una petición de amistad, Foursquare permite

visualizar aquellos check-in realizados por él, tal caso se muestra en la figura 1.

2.2.2 Google Latitude [6], es la aplicación proporcionada por Google basada en la geolocalización,

capaz de representar tu posición geográfica actual y la de tus amigos en Google Maps con la

intención de facilitar la localización de personas.

Google Latitud interpreta las coordenadas, las empaqueta y las envía, a través de la conexión a

Internet del teléfono móvil, al servidor encargado de compartirlas con el grupo de amigos

previamente configurado. Otra forma de utilizar Google Latitud es desde tu ordenador, donde

puedes ver con tu cuenta la ubicación de tus amigos.

Figura 2.1 Figura 2.2

Page 13: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

7

El uso de teléfonos móviles y PDA es un mercado que va en crecimiento. El uso de las redes

sociales, de geolocalización y el entretenimiento, detono la competitividad y el desarrollo de cada

vez mejores dispositivos y a su vez la demanda de más y mejores aplicaciones.

2.3 Sistemas operativos para dispositivos móviles.

Existen ya en el mercado importantes herramientas de trabajo para el desarrollo de aplicaciones

móviles, según los distintos tipos de sistema operativo.

2.3.1 Sistema Android [7]

Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005. Es el

principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores

de hardware, software y operadores de servicio. Las unidades vendidas de teléfonos inteligentes con

Android se ubican en los primero puestos de venta en estados unidos y latinoamerica. Tiene una

gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los

dispositivos. A la fecha, se han sobrepasado las 700.000 aplicaciones (de las cuales, dos tercios son

gratuitas) disponibles para la tienda de aplicaciones oficial de Android: Google Play, sin tener en

cuenta aplicaciones de otras tiendas no oficiales para Android como la tienda de aplicaciones

Samsung Apps de Samsung. Google Play es la tienda de aplicaciones en línea administrada por

Google, aunque existe la posibilidad de obtener software externamente. Los programas están

escritos en el lenguaje de programación Java, no obstante, no es un sistema operativo libre de

malware, aunque la mayoría de ello es descargado de sitios de terceros.

La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un

framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en

una máquina virtual Dalvik con compilación en tiempo de ejecución. Las bibliotecas escritas en

lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework

OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API gráfica

OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca

estándar de C Bionic. El sistema operativo está compuesto por 12 millones de líneas de código,

incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas

de Java y 1,75 millones de líneas de C++.

Page 14: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

8

2.3.2 Sistema iOS [8]

Es un sistema operativo móvil de la empresa Apple Inc. Originalmente desarrollado para el iPhone

(iPhone OS), siendo después usado en dispositivos como el iPod Touch, iPad y el Apple TV. Apple,

Inc. no permite la instalación de iOS en hardware de terceros. La interfaz de usuario de iOS está

basada en el concepto de manipulación directa, usando gestos multitáctiles. Los elementos de

control consisten de deslizadores, interruptores y botones. La respuesta a las órdenes del usuario es

inmediata y provee de una interfaz fluida. La interacción con el sistema operativo incluye gestos

como deslices, toques, pellizcos, los cuales tienen definiciones diferentes dependiendo del contexto

de la interfaz. Se utilizan acelerometros internos para hacer que algunas aplicaciones respondan a

sacudir el dispositivo (por ejemplo, para el comando deshacer) o rotarlo en tres dimensiones (un

resultado común es cambiar de modo vertical al apaisado u horizontal).

iOS se deriva de Mac OS X, que a su vez está basado en Darwin BSD, y por lo tanto es un sistema

operativo Unix.

iOS cuenta con cuatro capas de abstracción: la capa del núcleo del sistema operativo, la capa de

"Servicios Principales", la capa de "Medios" y la capa de "Cocoa Touch". La versión actual del

sistema operativo (iOS 6.1.3) ocupa más o menos 770 megabytes, variando por modelo

2.3.3 Windows 7 Phone [9]

Es un sistema operativo móvil desarrollado por Microsoft, como sucesor de la plataforma Windows

Mobile. A diferencia de su predecesor, está enfocado en el mercado de consumo generalista en

lugar del mercado empresarial por lo que carece de muchas funcionalidades que proporcionaba la

versión anterior. Microsoft ha decidido no hacer compatible Windows Phone con Windows Mobile por

lo que las aplicaciones existentes no funcionan en Windows Phone haciendo necesario desarrollar

nuevas aplicaciones. Con Windows Phone, Microsoft ofrece una nueva interfaz de usuario que

integra varios servicios en el sistema operativo. Microsoft planeaba un estricto control del hardware

que implementaría el sistema operativo, para evitar la fragmentación con la evolución del sistema,

pero han reducido los requisitos de hardware de tal forma que puede que eso no sea posible.

Page 15: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

9

2.3.4 WebOS [10]

Es un sistema relativamente reciente. Está desarrollado por la Palm, Inc que ahora pertenece a HP y

basado en Linux (como Android y MeeGO). Para programar sobre él se requiere básicamente

conocimientos de creación de páginas web: HTML, Javascript, CSS, JSON y como entorno de

programación se dispone de Ares, un IDE integrado en un navegador web, con un editor visual

bastante útil.

2.3.5 MeeGO [11]

Es la unión de los sistemas operativos Maemo de Nokia y Moblin de Intel, con los cuales pretendían

competir con el sistema Android de Google. El proyecto del nuevo sistema, a diferencia de Android,

está auspiciado por la Linux Foundation. Nokia presentó su nuevo móvil N9 el cual utiliza el sistema

MeeGo y fue lanzado a finales de 2011. MeeGo se presentó como un sistema preparado para

funcionar en netbooks, dispositivos portátiles, sistemas en vehículos, televisiones y teléfonos

multimedia. Básicamente se trata de una distribución Linux con soporte para ARM e Intel/Atom que

usa Qt para su interfaz.

2.3.6 Symbian [12]

Desarrolla en C++ y Java, normalmente sobre Eclipse. Aun así, existen otras opciones como Origo

IDE, que permite la creación de aplicaciones de manera rápida y visual con un lenguaje de script

propio o lenguajes más comunes como python o ruby, fue un sistema operativo producto de la

alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia, Sony Mobile

Communications, Psion, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi

Electric, Panasonic, Sharp, etc. Sus orígenes provienen de su antepasado EPOC32, utilizado en

PDA's y Handhelds de PSION.

El objetivo de Symbian fue crear un sistema operativo para terminales móviles que pudiera competir

con el de Palm o el Windows Mobile 6.X de Microsoft y ahora Android de Google Inc. , iOS de Apple

Inc. y BlackBerry OS de Blackberry.

Page 16: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

10

2.4 Android como plataforma para desarrollo de la aplicación móvil [8]

Cualquier persona que desee desarrollar aplicaciones para móviles tiene que valorar las ventajas y

desventajas de las aplicaciones web y las nativas antes de iniciar cualquier proyecto. La decisión no

depende únicamente de lo fácil o difícil que sea desarrollar la propia aplicación, sino también de

factores como la ventana de oportunidad, el peso que se quiera dar a la experiencia de usuario, el

rendimiento, la agilidad en el mantenimiento y la capacidad de actualización de la propia aplicación o

de la información contenida en ella.

Existen muchas plataformas para móviles (iOS, Symbian, Windows Phone, BlackBerry, Palm, Java

Mobile Edition, Linux Mobile; sin embargo Android presenta una serie de características que lo

hacen diferente. Es el primero que combina en una misma solución las siguientes cualidades:

Plataforma realmente abierta. Es una plataforma de desarrollo libre basada en Linux y

de código abierto. Una de sus grandes ventajas es que se puede usar y customizar el

sistema sin pagar royalties.

Adaptable a cualquier tipo de hardware. Android no ha sido diseñado exclusivamente

para su uso en teléfonos y tabletas. Hoy en día podemos encontrar relojes, cámaras,

electrodomésticos y gran variedad de sistemas empotrados que se basan en este

sistema operativo. Este hecho tiene sus evidentes ventajas, pero también va a suponer

un esfuerzo adicional al programador. La aplicación ha de funcionar correctamente en

dispositivos con gran variedad de tipos de entrada, pantalla, memoria, etc. Esta

característica contrasta con la estrategia de Apple. En iOS tenemos que desarrollar una

aplicación para iPhone y otra diferente para iPad.

Portabilidad asegurada. Las aplicaciones finales son desarrolladas en Java lo que nos

asegura que podrán ser ejecutadas en cualquier tipo de CPU, tanto presente como

futuro. Esto se consigue gracias al concepto de máquina virtual.

Arquitectura basada en componentes inspirados en Internet. Por ejemplo, el diseño

de la interfaz de usuario se hace en XML, lo que permite que una misma aplicación se

ejecute en un móvil de pantalla reducida o en un TV.

Filosofía de dispositivo siempre conectado a Internet.

Page 17: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

11

Gran cantidad de servicios incorporados. por ejemplo, localización basada tanto en

GPS como en redes, bases de datos con SQL, reconocimiento y síntesis de voz,

navegador, multimedia.

Aceptable nivel de seguridad. Los programas se encuentran aislados unos de otros

gracias al concepto de ejecución dentro de una caja que hereda de Linux. Además,

cada aplicación dispone de una serie de permisos que limitan su rango de actuación

(servicios de localización, acceso a Internet, etc.)

Optimizado para baja potencia y poca memoria. Por ejemplo, Android utiliza la

Máquina Virtual Dalvik. Se trata de una implementación de Google de la máquina virtual

de Java optimizada para dispositivos móviles.

Alta calidad de gráficos y sonido. gráficos vectoriales suavizados, animaciones

inspiradas en Flash, gráficos en 3 dimensiones basados en OpenGL. Incorpora codecs

estándar más comunes de audio y vídeo, incluyendo H.264 (AVC), MP3, AAC, etc.

Otra comparativa es, se muestra en la siguiente, gráfica en la cual podemos ver un estudio

realizado por la empresa Gratner Group, donde se muestra la evolución del mercado de los

sistemas operativos para móviles según el número de terminales vendidos. Podemos destacar:

el importante descenso de ventas de la plataforma Symbian de Nokia; el declive continuo de

BlackBerry; como la plataforma de Windows que parece que no despega; como Apple tiene

afianzada una cuota de mercado en torno al 15%. Finalmente destacamos el espectacular

ascenso de la plataforma Android, que le ha permitido alcanzar en dos años una cuota de

mercado superior al 75%.

Page 18: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

12

Figura 2.3

Porcentaje de teléfonos inteligentes vendidos según su sistema operativo hasta el tercer cuarto del 2012 en el mundo.

2.5 Arquitectura de Android [7].

El siguiente gráfico muestra la arquitectura de Android. Como se puede ver está formada por cuatro

capas. Una de las características más importantes es que todas las capas están basadas en

software libre.

Figura 2.4

Arquitectura de Android.

Page 19: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

13

2.5.1 El núcleo Linux

El núcleo de Android está formado por el sistema operativo Linux versión 2.6. Esta capa proporciona

servicios como la seguridad, el manejo de la memoria, el multiproceso, la pila de protocolos y el

soporte de drivers para dispositivos.

Esta capa del modelo actúa como capa de abstracción entre el hardware y el resto de la pila. Por lo

tanto, es la única que es dependiente del hardware.

2.5.2 Runtimede Android

Está basado en el concepto de máquina virtual utilizado en Java. Dado las limitaciones de los

dispositivos donde ha de correr Android (poca memoria y procesador limitado) no fue posible utilizar

una máquina virtual Java estándar. Google tomó la decisión de crear una nueva, la máquina virtual

Dalvik, que respondiera mejor a estas limitaciones.

Algunas características de la máquina virtual Dalvik que facilitan esta optimización de recursos son:

que ejecuta ficheros Dalvik ejecutables (.dex) –formato optimizado para ahorrar memoria. Además,

está basada en registros. Cada aplicación corre en su propio proceso Linux con su propia instancia

de la máquina virtual Dalvik. Delega al kernel de Linux algunas funciones como threading y el

manejo de la memoria a bajo nivel.

También se incluye en el Runtine de Android el “core libraries” con la mayoría de las librerías

disponibles en el lenguaje Java.

2.5.3 Librerías nativas

Incluye un conjunto de librerías en C/C++ usadas en varios componentes de Android. Están

compiladas en código nativo del procesador. Muchas de las librerías utilizan proyectos de código

abierto. Algunas de estas librerías son:

System C library:una derivación de la librería BSD de C estándar (libc), adaptada para

dispositivos embebidos basados en Linux.

Page 20: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

14

Media Framework: librería basada en PacketVideo's OpenCORE; soporta codecs de

reproducción y grabación de multitud de formatos de audio vídeo e imágenes MPEG4,

H.264, MP3, AAC, AMR, JPG y PNG.

Surface Manager: maneja el acceso al subsistema de representación gráfica en 2D y

3D.

WebKit: soporta un moderno navegador web utilizado en el navegador Android y en la

vista webview. Se trata de la misma librería que utiliza Google Chrome y Safari de

Apple.

SGL: motor de gráficos 2D.

Librerías 3D: implementación basada en OpenGL ES 1.0 API. Las librerías utilizan el

acelerador harware 3D si está disponible, o el software altamente optimizado de

proyección 3D.

FreeType: fuentes en bitmap y renderizado vectorial.

SQLite: potente y ligero motor de bases de datos relacionales disponible para todas las

aplicaciones.

SSL: proporciona servicios de encriptación Secure Socket Layer.

2.6 Entorno de aplicación[7]

Proporciona una plataforma de desarrollo libre para aplicaciones con gran riqueza e innovaciones

(sensores, localización, servicios, barra de notificaciones,).

Esta capa ha sido diseñada para simplificar la reutilización de componentes. Las aplicaciones

pueden publicar sus capacidades y otras pueden hacer uso de ellas (sujetas a las restricciones de

seguridad). Este mismo mecanismo permite a los usuarios reemplazar componentes.

Una de las mayores fortalezas del entorno de aplicación de Android es que se aprovecha el lenguaje

de programación Java. El SDK de Android no acaba de ofrecer todo lo disponible para su estándar

del entorno de ejecución Java (JRE), pero es compatible con una fracción muy significativa de la

misma.

Page 21: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

15

2.6.1 Los servicios

Views: extenso conjunto de vistas, (parte visual de los componentes).

Resource Manager: proporciona acceso a recursos que no son en código.

Activity Manager: maneja el ciclo de vida de las aplicaciones y proporciona un sistema de

navegación entre ellas.

Notification Manager: permite a las aplicaciones mostrar alertas personalizadas en la barra de

estado.

Content Providers: mecanismo sencillo para acceder a datos de otras aplicaciones (como los

contactos).

2.6.2 Las aplicaciones

Este nivel está formado por el conjunto de aplicaciones instaladas en una máquina Android. Todas

las aplicaciones han de correr en la máquina virtual Dalvik para garantizar la seguridad del sistema.

Normalmente las aplicaciones Android están escritas en Java. Para desarrollar aplicaciones en Java

podemos utilizar el Android SDK. Existe otra opción consistente en desarrollar las aplicaciones

utilizando C/C++. Para esta opción podemos utilizar el Android NDK (Native Development Kit).

2.7 Las versiones de Android y niveles de API [7]

Antes de empezar a proyecto en Android hay que elegir la versión del sistema para la que deseamos

realizar la aplicación. Es muy importante observar que hay clases y métodos que están disponibles a

partir de una versión, si las vamos a usar hemos de conocer la versión mínima necesaria.

Cuando se ha lanzado una nueva plataforma siempre ha sido compatible con las versiones

anteriores. Es decir, solo se añaden nuevas funcionalidades y en el caso de modificar alguna

funcionalidad no se elimina, se etiquetan como obsoletas pero se pueden continuar utilizando.

A continuación se describen las plataformas lanzadas hasta la fecha con una breve descripción de

las novedades introducidas. Las plataformas se identifican de tres formas alternativas: versión, nivel

de API y nombre comercial. El nivel de API corresponde a números enteros comenzando desde 1.

Para los nombres comerciales se han elegido postres en orden alfabético Cupcake (v1.5), Donut

Page 22: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

16

(v1.6), Éclair (v2.0), Froyo (v2.2), Gingerbread (v2.3). Las dos primeras versiones, que hubieran

correspondido a las letras A y B, no recibieron nombre.

2.7.1 Android 1.0 Nivel de API 1 (septiembre 2008)

Primera versión de Android. Nunca se utilizó comercialmente, por lo que no tiene mucho sentido

desarrollar para esta plataforma.

2.7.2 Android 1.1 Nivel de API 2 (febrero 2009)

No se añadieron apenas funcionalidades simplemente se fijaron algunos errores de la versión

anterior. Es la opción a escoger si queremos desarrollar una aplicación compatible con todos los

dispositivos Android. No obstante apenas existen usuarios con esta versión.

2.7.3 Cupcake, Android 1.5 Nivel de API 3 (abril 2009)

Es la primera versión con algún usuario (aunque apenas la usa un 0,1% en enero de 2013). Como

novedades, se incorpora la posibilidad de teclado en pantalla con predicción de texto, los terminales

ya no tienen que tener un teclado físico, así como la capacidad de grabación avanzada de audio y

vídeo. También aparecen los widgets de escritorio y live folders. Incorpora soporte para bluetooth

estéreo, por lo que permite conectarse automáticamente a auriculares bluetooth. Las transiciones

entre ventanas se realizan mediante animaciones.

2.7.4 Donut, Android 1.6 Nivel de API 4 (septiembre 2009)

Permite capacidades de búsqueda avanzada en todo el dispositivo. También se incorpora gestures y

multi-touch. Permite la síntesis de texto a voz. También se facilita que una aplicación pueda trabajar

con diferentes densidades de pantalla. Soporte para resolución de pantallas WVGA. Aparece un

nuevo atributo XML, onClick, que puede especificarse en una vista. Play Store antes, Android

Market se mejora permitiendo una búsqueda más sencilla de aplicaciones. Soporte para

CDMA/EVDO, 802.1x y VPNs. Mejoras en la aplicación de la cámara.

Page 23: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

17

2.7.5 Éclair, Android 2.0 Nivel de API 5 (octubre 2009)

Esta versión de API apenas cuenta con usuarios, dado que la mayoría de fabricantes pasaron

directamente de la versión 1.6 a la 2.1. Como novedades cabría destacar que incorpora un API para

manejar el bluetooth 2.1. Nueva funcionalidad que permite sincronizar adaptadores para conectarlo a

cualquier dispositivo. Ofrece un servicio centralizado de manejo de cuentas. Mejora la gestión de

contactos y ofrece más ajustes en la cámara. Se ha optimizado la velocidad de hardware. Se

aumenta el número de tamaños de ventana y resoluciones soportadas. Nueva interfaz del navegador

y soporte para HTML5. Mejoras en el calendario y soporte para Microsoft Exchange. La clase

MotionEventahora soporta eventos en pantallas multitáctil.

2.7.6 Android 2.1 Nivel de API 7 (enero 2010)

Se considera una actualización menor, por lo que le siguieron llamando Éclair. Destacamos el

reconocimiento de voz que permite introducir un campo de texto dictando sin necesidad de utilizar el

teclado. También permite desarrollar fondos de pantalla animados. Se puede obtener información

sobre la señal de la red actual que posea el dispositivo. En el paquete WebKit se incluyen nuevos

métodos para manipular bases de datos almacenadas en Web. También se permite obtener

permisos de geolocalización, y modificarlos en WebView. Se incorporan mecanismos para

administrar la configuración de la caché de aplicaciones, almacenamiento web, y modificar la

resolución de la pantalla. También se puede manejar vídeo, historial de navegación, vistas

personalizadas.

2.7.7 Froyo, Android 2.2 Nivel de API 8 (mayo 2010)

Como característica más destacada se puede indicar la mejora de velocidad de ejecución de las

aplicaciones (ejecución del código de la CPU de 2 a 5 veces más rápido que en la versión 2.1 de

acuerdo a varios benchmarks). Esto se consigue con la introducción de un nuevo compilador JIT de

la máquina Dalvik.

Se añaden varias mejoras relacionadas con el navegador Web, como el soporte de Adobe Flash

10.1 y la incorporación del motor Javascript V8 utilizado en Chrome o la incorporación del campo de

“subir fichero” en un formulario.

Page 24: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

18

El desarrollo de aplicaciones permite las siguientes novedades: se puede preguntar al usuario si

desea instalar una aplicación en un medio de almacenamiento externo (como una tarjeta SD), como

alternativa a la instalación en la memoria interna del dispositivo. Las aplicaciones se actualizan de

forma automática cuando aparece una nueva versión. Proporciona un servicio para la copia de

seguridad de datos que se puede realizar desde la propia aplicación para garantizar al usuario el

mantenimiento de sus datos. Por último, se facilita que las aplicaciones interaccionen con el

reconocimiento de voz y que terceras partes proporcionen nuevos motores de reconocimiento.

Se mejora la conectividad: ahora podemos utilizar nuestro teléfono para dar acceso a Internet a otros

dispositivos (tethering), tanto por USB como por Wi-Fi. También se añade el soporte a Wi-Fi IEEE

802.11n y notificaciones push.

Se añaden varias mejoras en diferentes componentes: En el API gráfica OpenGL ES se pasa a

soportar la versión 2.0. También se puede realizar fotos o vídeos en cualquier orientación (incluso

vertical) y configurar otros ajustes de la cámara. Para finalizar, permite definir modos de interfaz de

usuario (“automóvil” y “noche”) para que las aplicaciones se configuren según el modo seleccionado

por el usuario.

2.7.8 Gingerbread, Android 2.3 Nivel de API 9 (diciembre 2010)

Debido al éxito de Android en las nuevas tabletas ahora soporta mayores tamaños de pantalla y

resoluciones (WXGA y superiores).

Incorpora un nuevo interfaz de usuario con un diseño actualizado. Dentro de las mejoras de la

interfaz de usuario destacamos la mejora de la funcionalidad de “cortar, copiar y pegar” y un teclado

en pantalla con capacidad multitáctil.

Se incluye soporte nativo para varias cámaras, pensado en la segunda cámara usada en

videoconferencia. La incorporación de esta segunda cámara ha propiciado la inclusión de

reconocimiento facial para identificar el usuario del terminal.

La máquina virtual de Dalvik para Android introduce un nuevo recolector de basura que minimiza las

pausas de la aplicación, ayudando a garantizar una mejor animación y el aumento de la capacidad

de respuesta en juegos y aplicaciones similares. Se trata de corregir así una de las lacras de este

Page 25: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

19

sistema operativo móvil, que en versiones previas no ha sido capaz de cerrar bien las aplicaciones

en desuso. Se dispone de mayor apoyo para el desarrollo de código nativo (NDK).También se

mejora la gestión de energía y control de aplicaciones. Y se cambia el sistema de ficheros, que pasa

de YAFFS a ext4.

Entre otras novedades destacamos en soporte nativo para telefonía sobre Internet VoIP/SIP. El

soporte para reproducción de vídeo WebM/VP8 y codificación de audio AAC. El soporte para la

tecnología NFC. Las facilidades en el audio, gráficos y entradas para los desarrolladores de juegos.

El soporte nativo para más sensores (como giroscopios y barómetros). Un gestor de descargas para

las descargas largas.

2.7.9 Honeycomb, Android 3.0 Nivel de API 11 (febrero 2011)

Para mejorar la experiencia de Android en las nuevas tabletas se lanza la versión 3.0 optimizada

para dispositivos con pantallas grandes. La nueva interfaz de usuario ha sido completamente

rediseñada con paradigmas nuevos para la interacción, navegación y personalización. La nueva

interfaz se pone a disposición de todas las aplicaciones, incluso las construidas para versiones

anteriores de la plataforma.

Las principales novedades de este SDK son:

Con el objetivo de adaptar la interfaz de usuario a pantallas más grandes se incorporan las

siguientes características: resolución por defecto WXGA (1280×800), escritorio 3D con widgets

rediseñados, nuevos componentes y vistas, notificaciones mejoradas, arrastrar y soltar, nuevo cortar

y pegar, barra de acciones para que las aplicaciones dispongan de un menú contextual siempre

presente y otras características para aprovechar las pantallas más grandes.

Se mejora la reproducción de animaciones 2D/3D gracias al renderizador OpenGL acelerado por

hardware. El nuevo motor de gráficos Rederscript saca un gran rendimiento de los gráficos en

Android e incorpora su propia API.

Primera versión de la plataforma que soporta procesadores multinúcleo. La máquina virtual Dalvik ha

sido optimizada para permitir multiprocesado, lo que permite una ejecución más rápida de las

aplicaciones, incluso aquellas que son de hilo único.

Page 26: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

20

Se incorporan varias mejoras multimedia, como listas de reproducción M3U a través de HTTP Live

Sreaming, soporte a la protección de derechos musicales (DRM) y soporte para la transferencia de

archivos multimedia a través de USB con los protocolos MTP y PTP.

En esta versión se añaden nuevas alternativas de conectividad, como las nuevas APIS de Bluetooth

A2DP y HSP con streaming de audio. También, se permite conectar teclados completos por USB o

Bluetooth.

El uso de los dispositivos en un entorno empresarial es mejorado. Entre las novedades introducidas

destacamos las nuevas políticas administrativas con encriptación del almacenamiento, caducidad de

contraseña y mejoras para administrar los dispositivos de empresa de forma eficaz.

A pesar de la nueva interfaz gráfica optimizada para tabletas, Android 3.0 es compatible con las

aplicaciones creadas para versiones anteriores. La tecla de menú, inexistente en las nuevas

tabletas, es reemplazada por un menú que aparece en la barra de acción.

2.7.10 Android 3.1 Nivel de API 12 (mayo 2011)

Se permitemanejar dispositivos conectados por USB (tanto host como dispositivo). Protocolo de

transferencia de fotos y vídeo (PTP/MTP) y de tiempo real (RTP).

2.7.11 Android 3.2 Nivel de API 13 (julio 2011)

Optimizaciones para distintos tipos de tableta. Zoom compatible para aplicaciones de tamaño fijo.

Sincronización multimedia desde SD.

2.7.12 Ice Cream Sandwich, Android 4.0 Nivel de API 14 (octubre 2011)

La característica más importante es que se unifican las dos versiones anteriores (2.x para teléfonos

y 3.x para tabletas) en una sola compatible con cualquier tipo de dispositivo. Entre las características

más interesantes destacamos:

Se introduce un nuevo interfaz de usuario totalmente renovado. Por ejmplo, se reemplazan los

botones físicos por botones en pantalla (como ocurria en las versiones 3.x).

Page 27: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

21

Nuevo API de reconocedor facial, permite entre otras muchas aplicaciones desbloquear el teléfono a

su propietario. También se mejora en el reconocimiento de voz. Por ejemplo se puede empezar a

hablar en cuanto pulsamos el botón.

Aparece un nuevo gestor de tráfico de datos por Internet, donde podremos ver el consumo de forma

gráfica y donde podemos definir los límites a ese consumo para evitar cargos inesperados con la

operadora. Incorpora herramientas para la edición de imágenes en tiempo real, con herramientas

para distorsionar, manipular e interactuar con la imagen al momento de ser capturada. Se mejora el

API para comunicaciones por NFC y la integración con redes sociales.

En diciembre del 2011 aparece una actualización de mantenimiento (versión 4.0.2) que no aumenta

el nivel de API.

2.7.13 Android 4.0.3 Nivel de API 15 (diciembre 2011)

Se introducen ligeras mejoras en algunas APIs incluyendo el de redes sociales, calendario, revisor

ortográfico, texto a voz y bases de datos entre otros. En marzo de 2012 aparece la actualización

4.0.4.

2.7.14 Jelly Bean, Android 4.1 Nivel de API 16 (julio 2012)

En esta versión se hace hincapié en mejorar un punto débil de Android: la fluidez del interfaz de

usuario. Con este propósito se incorporan varias técnicas, como: sincronismo vertical, triple búfer y

aumentar la velocidad del procesador al tocar la pantalla.

Se mejoran las notificaciones con un sistema de información expandible personalizada. Los Widgets

de escritorio pueden ajustar su tamaño y hacerse sitio de forma automática al situarlos en el

escritorio. El dictado por voz puede realizarse sin conexión a Internet (de momento en ingles).

Se introducen varias mejoras en Google Search. Se potencia la búsqueda por voz con resultados en

forma de ficha. La función Google Now permite utilizar información de posición, agenda y hora en las

búsquedas.

Page 28: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

22

Se incorporan nuevo soporte para usuarios internacionales: como texto bidireccional y teclados

instalables. Para mejorar la seguridad las aplicaciones son cifradas. También se permite

actualizaciones parciales de aplicaciones.

2.7.15 Android 4.2 Nivel de API 17 (noviembre 2012)

Una de las novededes más importantes es que podemos crear varias cuentas de usuario en el

mismo dispositivo. Aunque, esta característica solo está disponible en tabletas. Cada cuenta tendrá

sus propias aplicaciones y configuración.

Los Widgets de escritorio pueden aparecer en la pantalla de bloqueo.Se incorpora un nuevo teclado

predictivo deslizante al estilo Swype.Posibilidad de conectar dispositivo y TVHD mediante wifi

(Miracast). Mejoras menores en las notificaciones. Nueva aplicación de cámara que incorpora la

funcionalidad Photo Sphere para hacer fotos panorámicas inmersivas (en 360º).

2.8 Elección de la plataforma de desarrollo [7]

A la hora de seleccionar la plataforma de desarrollo hay que consultar si necesitamos alguna

característica especial que solo esté disponible a partir de una versión. Todos los usuarios con

versiones inferiores a la seleccionada no podrán instalar la aplicación. Por lo tanto, es recomendable

seleccionar la menor versión posible que nuestra aplicación pueda soportar. Por ejemplo, si nuestra

aplicación necesita utilizar varios cursores simultáneos en la pantalla táctil (multi-touch), tendremos

que utilizar la versión 1.6 al ser la primera que lo soporta. Pero, la aplicación no podrá ser instalada

en versiones anteriores. Para ayudarnos a tomar la decisión de qué plataforma utilizar, puede ser

interesante consultar los porcentajes de utilización:

Page 29: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

23

Figura 2.5

Dispositivos Android según plataforma instalada, que han accedido a Google Play Store durante dos semanas

terminado el 3 de enero de 2013.

Tras estudiar la gráfica podemos destacar el reducido número de usuarios que utilizan las versiones

1.x (0.2%). Por lo tanto, puede ser buena idea utilizar como versión mínima la 2.3 para desarrollar

nuestro proyecto, dado que daríamos cobertura a más del 90% de los terminales. Las versiones 3.x

(1,5%) han tenido muy poca difusión y presentan tendencia a disminuir. Las versiones 4.1 y 4.2, con

un 10%, todavía son minoritarias pero se prevé que este porcentaje vaya aumentando. No obstante,

estas cifras cambian mes a mes.

Page 30: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

24

Capítulo III

3.1 Metodología de desarrollo de software para la aplicación móvil.

Las Metodologías Ágiles o “ligeras” constituyen un nuevo enfoque en el desarrollo de software, mejor

aceptado por los desarrolladores de proyectos móviles y proyectos web. En febrero del 2001, tras

una reunión celebrada en Utah5, nace el término "ágil" aplicado al desarrollo software. El objetivo fue

esbozar los valores y principios que deberían permitir a los equipos desarrollar software rápidamente

y responder a los cambios que pueden surgir a lo largo del proyecto. Esto pretende ser una

alternativa a los procesos de desarrollo tradicionales caracterizados por su total rigidez y muy

dirigidos a la documentación que se genera tras cada una de las actividades desarrolladas [13].

El desarrollo ágil de software intenta evitar los largos y complicados caminos de las metodologías

tradicionales, enfocándose en las personas y los resultados. Promueve iteraciones en el desarrollo a

lo largo de todo el ciclo de vida del proyecto, desarrollando software en cortos lapsos de tiempo.

Minimiza los riesgos, cada una de esas unidades de tiempo se llama iteración, la cual debe durar

entre una y cuatro semanas. Cada iteración del ciclo de vida incluye: planificación, análisis de

requerimientos, diseño, codificación, revisión y documentación. Cada iteración no debe añadir

demasiada funcionalidad, para justificar el lanzamiento del producto al mercado, sino que la meta

debe ser conseguir una versión funcional sin errores. Al final de cada iteración, el equipo volverá a

evaluar las prioridades del proyecto.

3.2 Características y requerimientos específicos del entorno móvil [13]. El desarrollo de aplicaciones móviles difiere del desarrollo de software tradicional en muchos

aspectos, lo que provoca que las metodologías usadas para estos entornos también difieran de las

del software clásico. Esto es porque el software móvil tiene que satisfacer una serie de

requerimientos y condicionantes especiales que lo hace más complejo:

Page 31: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

25

Canal radio: consideraciones tales como la disponibilidad, las desconexiones, la variabilidad del

ancho de banda, la heterogeneidad de redes o los riesgos de seguridad han de tenerse

especialmente en cuenta en este entorno de comunicaciones móviles.

Movilidad: aquí influyen consideraciones como la migración de direcciones, alta latencia debido a

cambio de estación base o la gestión de la información dependiente de localización. Sobre esta

última, de hecho, se pueden implementar un sinfín de aplicaciones, pero la información de contexto

asociada resulta muchas veces incompleta y varía frecuentemente.

Portabilidad: la característica portabilidad de los dispositivos terminales implica una serie de

limitaciones físicas directamente relacionadas con el factor de forma de los mismos, como el tamaño

de las pantallas (algo que ha variado sustancialmente con la popularización de las pantallas

táctiles), o del teclado, limitando también el número de teclas y su disposición.

Fragmentación: de la industria: la existencia de una considerable variedad de estándares,

protocolos y tecnologías de red diferentes añaden complejidad al escenario del desarrollo móvil.

Capacidades: limitadas de los terminales: aquí incluimos factores como la baja potencia de cálculo

o gráfica, los riesgos en la integridad de datos, las interfaces de usuario poco funcionales en muchos

aspectos, la baja capacidad de almacenamiento, la duración de las baterías o la dificultad para el

uso de periféricos en movilidad. Factores todos que, por otro lado, están evolucionando en la

dirección de la convergencia de los portátiles (netbooks) con los dispositivos inteligentes

(smartphones) constituyendo cada vez menos un elemento diferencial.

Diseño: desde el punto de vista del desarrollo, el diseño multitarea y la interrupción de tareas es

clave para el éxito de las aplicaciones de escritorio; pero la oportunidad y frecuencia de éstas es

mucho mayor que en el software tradicional, debido al entorno móvil que manejan, complicándose

todavía más debido a la limitación de estos dispositivos.

Page 32: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

26

Usabilidad: las necesidades específicas de amplios y variados grupos de usuarios, combinados con

la diversidad de plataformas tecnológicas y dispositivos, hacen que el diseño para todos se convierta

en un requisito que genera una complejidad creciente difícil de acotar.

Time-to-market: en un sector con un dinamismo propio, dentro de una industria en pleno cambio,

los requisitos que se imponen en términos de tiempo de lanzamiento son muy estrictos y añaden no

poca dificultad en la gestión de los procesos de desarrollo.

3.3 Metodología ágil ideal para el desarrollo móvil

Agilidad. Las metodologías ágiles mejoran la flexibilidad del desarrollo y la productividad,

proveyendo métodos que se adaptan a los cambios y que aprenden de la experiencia.

Características específicas de los entornos móviles deben ser procesos iterativos e incrementales,

desarrollo conducido por tests, procesos adaptativos, hablar con el cliente continuamente,

desarrolladores altamente cualificados, asegurar la calidad, revisiones continuas del proceso,

priorización de los requerimientos y bajo time-to-market [14]

Conciencia de mercado. El mercado actual está orientado hacia los productos software por lo que

un proceso de desarrollo móvil debería enfocarse al desarrollo del producto y no del proyecto.

Consecuentemente, los procesos deben enfocarse al nicho del negocio, usando las prácticas de

NPD (New Product Development [15]) haciendo un análisis del mercado. Toda esta información

mitigará las dudas y los riesgos. Procesos orientados al mercado seguirán una planificación bastante

estricta a lo que se refiere a requerimientos de time-to-market. Antes los procesos estaban

orientados a las actividades técnicas ahora tienen que hacer un balance entre las actividades

orientadas a mercado y las técnicas.

Soporte a toda la línea de producción software. Se refiere al "conjunto de sistemas intensivos de

software compartiendo un conjunto de características comunes que satisfacen las necesidades de

un segmento particular del mercado y que son desarrolladas con una serie de valores centrales en

una forma predeterminada" [16]. Esto hace que el ciclo de vida sea más corto, pudiendo desarrollar

Page 33: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

27

una familia de productos software móvil en un solo intento, reduciendo costes. Debe tener especial

importancia la línea de producción para la mejora de la calidad del software.

Desarrollo basado en arquitectura. La eficiencia de la línea de producción de software depende

del desarrollo de una plataforma común, por lo que la necesidad de una arquitectura genérica para

una clase de productos es esencial, pudiendo reconfigurarse de forma específica para cada

componente o producto determinado.

Soporte para reusabilidad. El desarrollo basado en componentes y el basado en capas ahorra

costes de desarrollo, agiliza la entrega del producto y hace el software menos propenso a errores ya

que los componentes no deben ser hechos desde cero cada vez.

Inclusión de sesiones de revisión y de aprendizaje. La metodología debería incorporar sesiones

de revisión en todo el proceso para asegurar el análisis del producto y sesiones de aprendizaje

después de la entrega de cada producto para que la experiencia sea analizada y registrada, y así la

abstracción del conocimiento obtenido realimente a todo el equipo.

Especificación temprana de la arquitectura física. La arquitectura física debe ser elaborada en

las etapas tempranas del desarrollo software gracias a que un alto número de riesgos técnicos son

inherentes a las limitaciones de los dispositivos móviles y las diferencias en la implementación

pueden ser obtenidas de características básicas. El uso de un prototipo mitigaría dichos riesgos

técnicos.[17]

3.4 Metodología Scrum [15]

Scrum es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse

como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto.

Los roles principales en Scrum son el ScrumMaster, que mantiene los procesos y trabaja de forma

similar al director de proyecto, el ProductOwner, que representa a los stakeholders (interesados

externos o internos), y el Team que incluye a los desarrolladores.

Page 34: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

28

Durante cada sprint, un periodo entre una y cuatro semanas (la magnitud es definida por el equipo),

el equipo crea un incremento de software potencialmente entregable (utilizable). El conjunto de

características que forma parte de cada sprint viene del Product Backlog, que es un conjunto de

requisitos de alto nivel priorizados que definen el trabajo a realizar. Los elementos del Product

Backlog que forman parte del sprint se determinan durante la reunión de Sprint Planning. Durante

esta reunión, el Product Owner identifica los elementos del Product Backlog que quiere ver

completados y los hace del conocimiento del equipo. Entonces, el equipo determina la cantidad de

ese trabajo que puede comprometerse a completar durante el siguiente sprint. Durante el sprint,

nadie puede cambiar el Sprint Backlog, lo que significa que los requisitos están congelados durante

el sprint.

Scrum permite la creación de equipos que se auto organizan impulsando la co-localización de todos

los miembros del equipo, y la comunicación verbal entre todos los miembros y disciplinas

involucrados en el proyecto.

Un principio clave de Scrum es el reconocimiento de que durante un proyecto los clientes pueden

cambiar de idea sobre lo que quieren y necesitan (a menudo llamado requirements churn), y que los

desafíos impredecibles no pueden ser fácilmente enfrentados de una forma predictiva y planificada.

Por lo tanto, Scrum adopta una aproximación pragmática, aceptando que el problema no puede ser

completamente entendido o definido, y centrándose en maximizar la capacidad del equipo de

entregar rápidamente y responder a requisitos emergentes.

Existen varias implementaciones de sistemas para gestionar el proceso de Scrum, que van desde

notas y pizarras, hasta paquetes de software. Una de las mayores ventajas de Scrum es que es muy

fácil de aprender, y requiere muy poco esfuerzo para comenzarse a utilizar.

3.5 Programación extrema (extreme programming, xp)[16]

XP es una metodología ágil centrada en potenciar las relaciones interpersonales como clave del

éxito en el desarrollo de software, promueve el trabajo en equipo, se centra en el aprendizaje de los

desarrolladores, y propicia un buen clima de trabajo. XP se basa en realimentación continua entre el

Page 35: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

29

cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en las

soluciones implementadas y coraje para enfrentar los cambios. XP se define como especialmente

adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo

técnico.

3.5.1 Roles XP

Programador. El programador escribe las pruebas unitarias y produce el código del sistema.

Cliente. Escribe las historias de usuario y las pruebas funcionales para validar su implementación.

Además, asigna la prioridad a las historias de usuario y decide cuáles se implementan en cada

iteración centrándose en aportar mayor valor al negocio.

Encargado de pruebas (Tester). Ayuda al cliente a escribir las pruebas funcionales. Ejecuta las

pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de

soporte para pruebas.

Encargado de seguimiento (Tracker). Proporciona realimentación al equipo. Verifica el grado de

acierto entre las estimaciones realizadas y el tiempo real dedicado, para mejorar futuras

estimaciones. Realiza el seguimiento del progreso de cada iteración.

Entrenador (Coach). Es responsable del proceso global. Debe proveer guías al equipo de forma que

se apliquen las prácticas XP y se siga el proceso correctamente.

Consultor. Es un miembro externo del equipo con un conocimiento específico en algún tema

necesario para el proyecto, en el que puedan surgir problemas.

Gestor (Big boss). Es el vínculo entre clientes y programadores, ayuda a que el equipo trabaje

efectivamente creando las condiciones adecuadas. Su labor esencial es de coordinación.

Page 36: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

30

3.5.2 Proceso XP

El ciclo de desarrollo consiste (a grandes rasgos) en los siguientes pasos :

1. El cliente define el valor de negocio a implementar.

2. El programador estima el esfuerzo necesario para su implementación.

3. El cliente selecciona qué construir, de acuerdo con sus prioridades y las restricciones de

tiempo.

4. El programador construye ese valor de negocio.

5. Vuelve al paso 1.

En todas las iteraciones de este ciclo tanto el cliente como el programador aprenden. No se debe

presionar al programador a realizar más trabajo que el estimado, ya que se perderá calidad en el

software o no se cumplirán los plazos. De la misma forma el cliente tiene la obligación de manejar el

ámbito de entrega del producto, para asegurarse que el sistema tenga el mayor valor de negocio

posible con cada iteración.

El ciclo de vida ideal de XP consiste de seis fases [Xpagil]: Exploración, Planificación de la Entrega

(Release), Iteraciones, Producción, Mantenimiento y Muerte del Proyecto.

3.5.3 Prácticas XP La principal suposición que se realiza en XP es la posibilidad de disminuir la mítica curva

exponencial del costo del cambio a lo largo del proyecto, lo suficiente para que el diseño evolutivo

funcione. Esto se consigue gracias a las tecnologías disponibles para ayudar en el desarrollo de

software y a la aplicación disciplinada de las siguientes prácticas.

Planificación. Hay una comunicación frecuente el cliente y los programadores. El equipo técnico

realiza una estimación del esfuerzo requerido para la implementación de las historias de usuario y

los clientes deciden sobre el ámbito y tiempo de las entregas y de cada iteración.

Page 37: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

31

Entregas pequeñas . Producir rápidamente versiones del sistema que sean operativas, aunque no

cuenten con toda la funcionalidad del sistema. Esta versión ya constituye un resultado de valor para

el negocio. Una entrega no debería tardar más 3 meses.

Metáfora. El sistema es definido mediante una metáfora o un conjunto de metáforas compartidas por

el cliente y el equipo de desarrollo. Una metáfora es una historia compartida que describe cómo

debería funcionar el sistema (conjunto de nombres que actúen como vocabulario para hablar sobre

el dominio del problema , ayudando a la nomenclatura de clases y métodos del sistema).

Diseño simple . Se debe diseñar la solución más simple que pueda funcionar y ser implementada en

un momento determinado del proyecto.

Pruebas . La producción de código está dirigida por las pruebas unitarias. Éstas son establecidas por

el cliente antes de escribirse el código y son ejecutadas constantemente ante cada modificación del

sistema.

Refactorización (Refactoring). Es una actividad constante de reestructuración del código con el

objetivo de remover duplicación de código, mejorar su legibilidad, simplificarlo y hacerlo más flexible

para facilitar los posteriores cambios. Se mejora la estructura interna del código sin alterar su

comportamiento externo [15].

Programación en parejas. Toda la producción de código debe realizarse con trabajo en parejas de

programadores. Esto conlleva ventajas implícitas (menor tasa de errores, mejor diseño, mayor

satisfacción de los programadores, .).

Propiedad colectiva del código. Cualquier programador puede cambiar cualquier parte del código en

cualquier momento.

Integración continua. Cada pieza de código es integrada en el sistema una vez que esté lista. Así, el

sistema puede llegar a ser integrado y construido varias veces en un mismo día.

Page 38: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

32

40 horas por semana. Se debe trabajar un máximo de 40 horas por semana. No se trabajan horas

extras en dos semanas seguidas. Si esto ocurre, probablemente está ocurriendo un problema que

debe corregirse. El trabajo extra desmotiva al equipo.

Cliente in-situ. El cliente tiene que estar presente y disponible todo el tiempo para el equipo. Éste es

uno de los principales factores de éxito del proyecto XP. El cliente conduce constantemente el

trabajo hacia lo que aportará mayor valor de negocio y los programadores pueden resolver de

manera inmediata cualquier duda asociada. La comunicación oral es más efectiva que la escrita.

Estándares de programación. XP enfatiza que la comunicación de los programadores es a través del

código, con lo cual es indispensable que se sigan ciertos estándares de programación para

mantener el código legible.

Page 39: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

33

Capítulo IV

4.1 Análisis y diseño de la aplicación Móvil

Lenguaje Unificado de Modelado (UML) prescribe un conjunto de notaciones y diagramas estándar

para modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos

diagramas y símbolos significan.

UML se puede usar para modelar distintos tipos de sistemas: sistemas de software, sistemas de

hardware, y organizaciones del mundo real.

UML ofrece los siguientes diagramas para modelar un sistema tales como:

Diagramas de Casos de Uso

Diagramas de Secuencia para modelar el paso de mensajes entre objetos.

Diagramas de Colaboración para modelar interacciones entre objetos.

Diagramas de Clases para modelar la estructura estática de las clases en el sistema.

La aplicación móvil, formará parte de una aplicación integral la cual se define a través del siguiente

esquema representado en UML como lo muestra la figura 6:

1) Aplicación WEB.- Esta aplicación se encarga del mantenimiento de catálogos necesarios

como embarcaciones, campos pesqueros, localidades, permisionarios, especies, entre otros.

Además a través de la aplicación WEB es posible también hacer la captura de avisos de

arribo.

2) Aplicación Móvil.- A través de esta aplicación es posible hacer la captura de los avisos de

arribo directamente en los sitos de desembarque.

3) DSS.- A través de esta aplicación para la toma de decisiones es posible obtener información

estadística de las capturas de especies.

Page 40: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

34

Figura 4.1

Diagrama casos de uso de la aplicación integral

4.2 Caso de uso de la aplicación móvil

4.2.1 Capturar aviso de arribo

Este caso de uso permite la captura de los datos contenido en el aviso de arribo. Esta acción la

puede llevar a cabo el permisionario directamente y/o el encargado de la oficina de pesca. El aviso

de arribo se almacena en el dispositivo, para ser enviado posteriormente.

4.2.2 Enviar aviso de arribo

Este caso de uso permite que los avisos de arribo almacenados en el dispositivo se envíen al

servidor donde se almacena la información. Esta operación solo puede hacerse cuando existe

conexión.

4.2.3 Consultar embarcaciones

Este caso de uso permite que el permisionario consulte la información del permiso de pesca. Si el

usuario es el encargado puede consultar la información de todos los permisionarios.

Page 41: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

35

4.2.4 Consultar especies

Este caso de uso permite que se pueda consultar información detallada de las especies que se

encuentran en los litorales de Baja California Sur.

4.2.5 Consultar localidades

Este caso de uso permite consultar información detallada de los campos pesqueros del estado de

Baja California Sur.

Figura 4.2

Diagrama casos de uso de la aplicación Móvil

Page 42: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

36

4.3 Diagrama entidad – relación.

En la figura 4.3 se muestra el diagrama entidad – relación que utiliza la aplicación móvil de pesca

ribereña.

Embarcación

PK id_embarcación

RNP

num_embarcación

nombre_unidad_economica

tipo_empresa

actividad_pesquera

Especie

PK id_especie

pesqueria

familia

Localidad

PK id_localidad

nombre_localidadAviso_Arribo

PK,FK4 id_Campo_Pesquero

PK,FK1 id_especie

PK,FK3 id_embarcación

PK fecha_aviso

FK2 id_ubicación

peso

precio

esfuerzo

total_embarcaciones

hora_llegada

hora_arribo

dias_efectivos

periodo_dias

Permiso-Especie

PK id_permiso

fecha_permiso

vigencia_permiso

FK1 id_especie

FK2 id_embarcación

Zona

PK id_zona

descripción

Campo_Pesquero

PK id_Campo_Pesquero

nombre_campo

area_manejo

SIMAVI

FK1 id_zona

Figura 4.3

Diagrama Entidad – Relación de la aplicación móvil

Page 43: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

37

Capítulo V

5.1 Diseño de interfaces de la aplicación móvil

En la figura 5.1 se muestra la pantalla de inicio de la aplicación móvil, donde es necesario introducir

el nombre de usuario y su contraseña para ingresar a la aplicación.

Figura 5.1

Pantalla de inicio de la aplicación móvil

Page 44: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

38

En la figura 5.2 se muestran las opciones que presenta la aplicación móvil: captura de avisos de

arribo, consulta de embarcaciones, consulta de especies y consultas de ubicaciones.

Figura 5.2

Pantalla de opciones de la aplicación móvil

Page 45: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

39

En la figura 5.3 se muestra la pantalla que permite la captura de los avisos de arribo de cada

permisionario que llega al sitio de desembarque.

Figura 5.3

Pantalla de captura de avisos de arribo de la aplicación móvil

Page 46: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

40

En la figura 5.4 se muestra la pantalla que permite mostrar información de las embarcaciones.

Figura 5.4

Pantalla de la opción Embarcaciones de la aplicación móvil

Page 47: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

41

En la figura 5.5 se muestra la pantalla que permite mostrar información de las especies capturadas.

Figura 5.5

Pantalla de la opción Especies de la aplicación móvil

Page 48: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

42

En la figura 5.6 se muestra la pantalla que permite mostrar información de los campos pesqueros.

Figura 5.6

Pantalla de la opción Campo pesquero de la aplicación móvil

Page 49: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

43

Capítulo VI

6.1 Resultados

La aplicación móvil desarrollada es una herramienta de gran utilidad, dado que alimenta de manera

automática los datos en el Data Warehouse, permitiendo así mantener los datos actualizados lo cual

es de vital importancia para el procesamiento de la información que conlleva a tomar decisiones que

repercuten en el sector pesquero.

La herramienta desarrollada proporciona acceso a los datos de los avisos de arribos de las

embarcaciones de pesca ribereña en el estado de Baja California Sur. Estos datos se pueden

combinar y dividir en cualquier forma posible de acuerdo a las dimensiones del modelo, y facilitar el

monitoreo de la pesca ribereña.

6.1.1 Comportamiento histórico de la pesquería de escama en bahía.

En la figura 6.1 se puede observar el comportamiento histórico de la pesquería de escama en las

bahías de la costa oeste de Baja California Sur en la zona que comprende desde Bahía Magdalena

hasta Bahía Almejas. Esta gráfica pone en evidencia que las bahías de Magdalena, Puerto Chale y

Las Almejas, son las bahías con mayor volumen de captura de escama.

Page 50: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

44

Figura 6.1

Comportamiento histórico de la pesquería de escama en bahía.

Page 51: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

45

6.1.2 Comportamiento histórico de la captura en bahía por pesquería

En la figura 6.2 se puede observar el comportamiento histórico de la captura de camarón, escama y

tiburón en bahía. En esta gráfica se pone en evidencia que el volumen de captura de escama ocupa

el primer lugar

Figura 6.2

Comportamiento histórico de la captura en bahía por pesquería.

Page 52: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

46

6.1.3 Comportamiento histórico de la captura de camarón en esteros.

En la figura 6.3 se puede observar el comportamiento histórico de la pesca ribereña de camarón en

los esteros de la zona de Bahía Magdalena a Bahía Almejas. En esta gráfica se muestra el

comportamiento del volumen de captura por año, y se puede apreciar que los años 1998, 2001 y

2002 son los que acumularon los volúmenes de mayor captura.

Figura 6.3

Comportamiento histórico de la captura de camarón en esteros.

Page 53: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

47

Las gráficas generadas permiten visualizar información realmente importante que sirve como base

para detectar algunas irregularidades como: la captura de especies en temporadas de veda,

embarcaciones que capturan en zonas del mar no permitidas, entre otras.

También de la observación de las gráficas obtenidas se pueden inferir algunas conclusiones, y con

éstas, el tomador de decisiones iniciar un análisis de las causas que llevaron a estos resultados, tal

es el caso de los decrementos en los volúmenes de captura, la variación de volumen de pesca en

diferentes temporadas, comportamientos históricos de cada una de las pesquerías.

La información del Data Warehouse puede ser visualizada de múltiples maneras facilitando al

usuario la identificación y la confirmación de tendencias, patrones e hipótesis de los datos

registrados en los avisos de arribo de embarcaciones pequeñas de las capturas de pesquerías en el

estado de Baja California Sur. El conocimiento derivado, es recurso clave para la toma de decisiones

para apoyar a los procesos de planificación, ordenamiento y manejo pesquero en el estado.

Page 54: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

48

Bibliografía

[1]http://lanic.utexas.edu/project/etext/colson/35/4.pdf

[2] Casas Valdez, M.et al.(1996), “Recursos pesqueros y acuícolas de Baja California Sur: estado actual y perspectivas de aprovechamiento y desarrollo”, en M. Casas Valdéz y G. Ponce-Díaz (editores), Estudio del potencial pesquero y acuícola de Baja California Sur, vol. I, La Paz, Secretaría de Medio Ambiente, Recursos Naturales y Pesca, Gobierno del estado de Baja California Sur, Organización de Naciones Unidas para la Agricultura y la Alimentación, Universidad Autónoma de Baja California Sur, Centro de Investigaciones Biológicas del Noroeste, Centro Interdisciplinario de ciencias Marinas, Instituto Nacional de la Pesca y Centro Tecnológico del Mar, pp. 1-4

[3]http://cec.itam.mx/medios_digitales/documentos/Estudios_sectoriales/Resumenes_Ejecutivos/Pes

ca.pdf Consultado en octubre de 2012

[4]M. Ojeda y M. Ramírez “Interacciones de pesquerías ribereñas en Bahia Magdalena- Almejas

Baja California Sur. Región y Sociedad”, 2012, pp. 289-204

[5]https://foursquare.com/ Consultado en octubre de 2012

[6]https://www.google.com/latitude?hl=es Consultado en octubre de 2012

[7]http://www.androidcurso.com/index.php/recursos-didacticos consultado en enero de 2013

[8]http://readwrite.com/2010/06/14/android_steals_market_share_from_iphone

[9]http://www.bgr.in/news/wp7-5-minimum-hardware-requirement-specs-change-hints-at-cheaper-

smartphones/ consultado en noviembre de 2012.

[10]http://www.openwebosproject.org/docs/architecture consultado en noviembre de 2012

[11]http://www.genbeta.com/sistemas-operativos/nokia-e-intel-unen-sus-fuerzas-con-meego

consultado en noviembre de 2012

[12] http://www.gsmspain.com/glosario/?palabra=SYMBIAN consultado en noviembre de 2012

[13]http://www.adamwesterski.com/wpontent/files/docsCursos/Agile_doc_TemasAnv.pdf consultado

en enero de 2013

[14] Poppendieck M., Poppendieck T. .Lean Software Development: An Agile Toolkit for Software Development Managers.. Addison Wesley. 2003.

[15] Schwaber K., Beedle M., Martin R.C. .Agile Software Development with SCRUM.. Prentice Hall. 2001.

Page 55: TESIS - .:Centro de Desarrollo Bibliotecario:.biblio.uabcs.mx/tesis/te2949.pdf2.1 Ambiente de desarrollo para dispositivos móviles El avance tecnológico de los dispositivos móviles,

49

[16] Beck, K.. .Extreme Programming Explained. Embrace Change., Pearson Education, 1999. Traducido al español como: .Una explicación de la programación extrema. Aceptar el cambio., Addison Wesley, 2000. [17] Ulrich, K. T., S.D. Eppinger. Product Design and Development, 3º edición. McGraw-Hill, 2004. [18] Clements, P., Northrop, L., Software Product Lines, course notes of Product Line Systems Program, Software Engineering Institute, Carnegie Mellon University, 2003.