INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA
MECÁNICA Y ELÉCTRICA
UNIDAD ZACATENCO
DISEÑO DE UNA APLICACIÓN PARA INVENTARIOS UTILIZANDO
TECNOLOGÍA NFC
TESIS
QUE PARA OBTENER EL TÍTULO DE INGENIERO EN
COMUNICACIONES Y ELECTRÓNICA
PRESENTA:
BONILLA CAMACHO ARTURO IVÁN
CANALES ALCÁNTARA OMAR
HERNÁNDEZ RENDÓN IVÁN
ASESORES:
M. EN C. GABRIELA SÁNCHEZ MELÉNDEZ M. EN .C. JAFETH ASCENCIÓN ALONSO CARREÓN
1 ÍNDICE GENERAL
Objetivo general --- I
Objetivos específicos --- II
Introducción --- III
Justificación --- IV
Capítulo 1. ESTADO DEL ARTE
1.1. Sistema de información ... 10
1.1.1. Funciones del SI ... 12
1.1.2. Tipos y usos de los sistemas de información ... 13
1.1.3. Características de los Sistemas de Información ... 14
1.2. Los inventarios ... 15
1.2.1. Tipos de inventarios ... 16
1.2.1.1. Inventario físico ... 18
1.2.1.2. Aplicaciones móviles para toma de inventarios físicos ... 18
1.2.2. Toma física de inventarios ... 19
1.2.2.1 Metodología para la toma física de inventarios ... 20
1.3. Tecnologías implementadas para sistemas de información enfocadas a inventarios ... 21
1.3.1. Código de barras ... 22
1.3.2. RFID ... 24
Capítulo 2. NFC 2.1. Introducción a NFC ... 26
2.1.1. Evolución ... 27
2
2.1.3. De RFID a NFC ... 29
2.2. Modos de funcionamiento ... 30
2.3. Por qué es importante NFC ... 32
2.4. Transacciones NFC ... 33
2.4.1. Arquitectura dispositivo móvil NFC ... 34
2.5. Etiquetas NFC ... 35
2.6. Importancia de NFC ... 37
2.6.1 NFC en la vida real ... 38
2.6.2 Aplicaciones NFC ... 39
Capítulo 3. HERRAMIENTAS DE DESARROLLO 3.1. Introducción a Android ... 40
3.1.1. Historia de ... 40
3.1.2. Arquitectura de Android ... 41
3.1.3. Versiones disponibles ... 42
3.1.4. SDK Android ... 43
3.1.5. SDK y las nuevas versiones ... 44
3.2. SQLite ... 45
3.2.1. Características de SQlite ... 46
3.3. Eclipse ... 47
3.3.1. Historia de eclipse ... 48
3.3.2. Arquitectura de eclipse ... 49
3.3.3. Características de eclipse ... 51
Capítulo 4. CONSTRUCCIÓN Y DESARROLLO 4.1. Planeación y análisis ---52
4.1.1. Conocer medio ambiente ---53
4.1.2. Análisis e identificación de los requerimientos de información o análisis de la problemática e identificación de los requerimientos de apoyo informático ... 58
4.1.3. Propuesta General de Solución y Reporte de Análisis ... 59
3
4.1.3.2. Definición de las principales funciones del futuro sistema ... 60
4.1.3.4. Análisis costo beneficio ... 61
4.2. Diseño ... 62
4.2.1. Diccionario de datos ... 62
4.3. Diagrama de flujo del sistema ... 65
4.4. Construcción ... 66
4.4.1. Log in ... 66
4.4.2. Menú ... 66
4.4.3. Inventario ... 67
4.4.4. Grabar/verificar etiqueta -- ... 67
4.4.5. Acerca de ... 68
4.5. Pruebas y resultados ... 68
4.5.1. Objetos con etiquetas ... 68
4.5.2. Registro en la aplicación ... 70
4.5.3. Generar reporte ... 71
4.5.4. Formato de reporte.csv ... 72
Conclusiones ... 73
Bibliografía ... 75
[image:5.612.83.533.73.414.2]Índice de figuras
Figura 1.1. Código de barras ... 23Figura 1.2. Funcionamiento de RFID ... 25
Figura 2.1 Ejemplo de Funcionamiento de NFC ... 26
Figura 2.2. Etiqueta RFID ... 28
Figura 2.3. Lector RFID ... 29
Figura 2.4. Esquema del modo de funcionamiento pasivo ... 30
Figura 2.5. Esquema del modo de funcionamiento activo ... 31
Figura 2.6. Distintos tipos de etiquetas ... 35
Figura 3.1. Sistemas de capas de Android ... 41
4
Figura 3.3. Android SDK ... 43
Figura 3.4. Versiones de SDK ... 44
Figura 3.5. SQLite logo ... 45
Figura 3.6.Administrador de SQLite ... 46
Figura 3.7. Versiones de eclipse ... 48
Figura 3.8. Pantalla de carga de eclipse ... 49
Figura 3.9. Eclipse trabajando con el lenguaje de programación Python ... 50
Figura 4.1. Esquema con la relación entre fases para el desarrollo del (CVDS) ... 52
Figura 4.2. Estructura Organizacional de la Institución ... 53
Figura4.3. Diagrama del funcionamiento actual de inventarios ... 56
Figura 4.4. Diagrama de flujo de funcionamiento actual de inventarios ... 56
Figura 4.5. Funcionamiento del nuevo sistema ... 60
Índice de tablas
Tabla 1.1. Comparativa de los distintos tipos de etiquetas ... 37Tabla 1.2. Análisis de la problemática ... 59
Tabla 1.3. Nuevo sistema ... 61
Tabla 1.4. Costo-Beneficio ... 61
Tabla 1.5. Costo de Etiquetas NFC ... 62
[image:6.612.81.532.72.337.2]5
OBJETIVO GENERAL
Desarrollar una aplicación móvil que utilice tecnología NFC para agilizar la recolección de datos para el inventario en la E.S.I.M.E. Unidad Zacatenco.
OBJETIVOS ESPECÍFICOS
Optimizar el tiempo en la adquisición de datos al momento de realizar el inventario creando una herramienta que facilite el trabajo del personal del Departamento de Recursos Materiales de la ESIME Zacatenco.
Implementar la aplicación Inventario NFC como prototipo en los laboratorios de 9° semestre de la especialidad de computación de ICE.
6
INTRODUCCIÓN
La propuesta del presente trabajo consiste en tener una solución viable para realizar la adquisición de datos de los bienes con los que cuentan los laboratorios de la ESIME Unidad Zacatenco. Para esto se propone desarrollar una aplicación la cual al momento de realizar el inventario nos ayude con la recolección de datos de los bienes haciendo que este proceso sea más rápido, eficiente y confiable.
El registro de los bienes asignados a determinadas áreas o departamentos, en este caso los laboratorios de la especialidad de Computación, se lleva a cabo mediante un inventario, de esta manera es posible tener un control de los bienes con los que cuenta dicho departamento. El inventario es una forma de organización constituida por los bienes muebles e inmuebles de alguien o de algún lugar, y consta de tres características: detallado, ordenado y valorado. Su función principal es el registro de los bienes, ya sean entradas o salidas de estos, el ingreso de nuevos productos, daños o pérdida de ellos, por lo que realizarlo de manera sistematizada es una forma más práctica de llevarlo a cabo.
Con base en esta idea se plantea hacer uso de la tecnología NFC (“Near Field Communication”, “Comunicación de Campo Cercano”) como mejora de este procedimiento. La tecnología NFC consiste en comunicación inalámbrica de corto alcance y alta frecuencia, la cual permite el intercambio de modo interactivo entre dispositivos. En este caso, la interacción se realiza a través de un protocolo de comunicaciones compatible con la tecnología inalámbrica. Esta conexión se realiza sin recurrir a la red, y en este aspecto se podría pensar que se parece al de Bluetooth, que también permite transmitir información pero a una mayor distancia.
7
Esta tecnología se puede llegar a encontrar en dispositivos como televisores, equipos de música, postes informativos, entre otros, pero se aprovecha principalmente en teléfonos móviles con sistemas operativos como Windows Phone o Android. Éste último llega a ser el más utilizado siendo esto una barrera difícil de superar si tenemos en cuenta que se trata de un sistema abierto y gratuito disponible para todo fabricante que lo desee [1].
Android, es un sistema operativo basado en el kernel de Linux, fue diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tabletas. Este sistema operativo proporciona todas las interfaces necesarias para desarrollar aplicaciones que accedan a las funciones del teléfono (GPS, llamadas, agenda, etc.) de una forma muy sencilla en un lenguaje de programación muy conocido como lo es Java.
La principal característica de este sistema operativo es que es completamente libre. Es decir que ni para programar en este sistema ni para incluirlo en un teléfono hay que hacer uso de una licencia. Las cualidades y ventajas que ofrece este sistema operativo lo convierten en el más adecuado para el desarrollo de este trabajo.
8
JUSTIFICACIÓN
El uso de un software para el control de inventarios es una herramienta que facilitará el proceso en las actividades de las personas que laboran (usuarios) dentro del Departamento de Recursos Materiales de la ESIME Unidad Zacatenco. Dentro de este proyecto los principales beneficiados serán las personas encargadas de llevar el registro de bienes tanto de artículos de oficina, como de equipos de cómputo, material especializado de laboratorios, entre otros asignados a los diferentes Departamentos de la Institución, los cuales contaran con un proceso de inventariado de manera más rápida y eficiente.
Actualmente no se cuenta con ningún sistema implementado por la Escuela que realmente ayude a los usuarios, ya que solo existe un sistema general para todas las unidades académicas, pero no para las divisiones encargadas de este proceso, es decir, el Departamento de Recursos Materiales que auxiliándose de un inventario físico se encarga de llevar a cabo el registro de bienes.
Un inventario físico se auxilia de reportes escritos, software como Word o Excel (que no se especializan en este procedimiento) y sobre todo de una persona que corrobore los datos correctamente. No contar con una herramienta que facilite este trabajo hace que se ocasionen problemas relacionados con el uso de este tipo de inventarios, como son: que los reportes proporcionen datos erróneos, que se ocupa demasiado tiempo para realizarlos y por consiguiente es más difícil llevar un orden.
Aunado a lo anterior, se encuentra la falta de personal asignado a este Departamento para realizar el inventario de todos los bienes que se encuentran dentro de la escuela, ya que la cantidad a registrar implica una mayor inversión de tiempo rebasando el límite estipulado que es de seis meses; por tal motivo se tiene que recurrir a un método que ayude a esta tarea. Dicho método consiste en asignar un vale de resguardo para los responsables de cada uno de los Departamentos, ellos se encargan de realizar el inventario de la parte de los bienes que están bajo su cuidado. Posteriormente, estos vales se devuelven al Departamento de Recursos Materiales que tiene la función de integrarlos en un reporte final total.
9
los bienes, dicha herramienta consiste en una aplicación móvil basada en el Sistema Operativo Android que en conjunto con la tecnología NFC y la implementación de etiquetas previamente instaladas y programadas en cada uno de los bienes.
10
CAPÍTULO 1. ESTADO DEL ARTE
1.3.
Sistema de información
Un sistema de información (SI) representa todos los elementos que forman parte de la administración, el procesamiento, el transporte y la distribución de la información dentro de la compañía.
En términos prácticos, el alcance del término "Sistema de Información" puede variar notablemente entre una organización y otra y, según el caso, puede abarcar todos o algunos de los siguientes elementos:
Bases de datos de la compañía.
Software de gestión integral de empresas.
Herramienta para la Gestión de relaciones con los clientes.
Herramienta para la Gestión de la cadena de suministro.
Solicitudes de empleo.
Infraestructura de red.
Servidores de datos y sistemas de almacenamiento.
Servidor de aplicaciones.
Dispositivos de seguridad.
11
donde los sistemas de información (SI) han obtenido un gran protagonismo en la praxis de la gerencia organizacional. Su contribución se enmarca en la toma de decisiones institucionales; así como en su papel de dinamizadores de la gestión del conocimiento organizacional.
La concepción de los SI ha evolucionado desde inicios de la década de los años noventa desde un enfoque meramente informacional; hasta enfrentar este nuevo siglo con un reto fundamental: resolver la interoperabilidad semántica, en la cual un hecho puede ser más que una simple descripción, si se desea lograr una verdadera interpretación de la realidad[1].
El enfoque tradicional del concepto de SI se auxilia de la teoría de sistema, tan aplicada a la praxis de los procesos de la organización como sistema abierto, complejo y dinámico. Determinados autores expresan esta definición en relación directa con las organizaciones, sus procesos y estructuras, las tecnologías y las personas. Desde esta perspectiva, la verdadera naturaleza del SI radica en su objetivo dentro de la organización, más que en su esencia (está centrado en conocer el para qué, más que en el cómo o el qué).
Es conclusivo caracterizar el SI como un conjunto formal de procesos que, operando sobre una colección de datos e información estructurados según las necesidades de la organización, recopilan, elaboran y distribuyen la información (o parte de ella) necesaria para las operaciones, las actividades de dirección y la toma de decisiones.
12
Actualmente, los SI se enfrentan a dos retos fundamentales. En primer lugar, su diseño, desarrollo e implementación son procesos que confluyen en diferentes contextos, con distintos puntos de vista y suposiciones acerca de determinado dominio. Esto provoca problemas de comunicación por falta de entendimiento compartido y por la complejidad de la realidad. En segundo lugar, las representaciones en los SI deben corresponderse, lo más estrechamente posible, con la realidad y los procesos que ellos representan para que finalmente cumplan con los objetivos diseñados.
1.3.1.
Funciones del SI
Recogida de la información: es la actividad de registrar o captar información para que pueda utilizarse con posterioridad. El problema principal radica en la creación de un soporte físico adecuado y la elección de un código eficiente para su representación.
Acopio o acumulación: consiste en la agrupación de la información recogida en lugares y momentos diferentes.
Tratamiento de la información: en él se pueden distinguir tres operaciones fundamentales: de ordenamiento, de cálculo aritmético-lógico y de transferencia de información. Una vez transformada la información, ella debe cumplir con una serie de requisitos de los cuales los más relevantes son: claridad, precisión, ser oportuna, directamente utilizable, coordinada, completa, jerarquizada, sintética y necesaria. Aunque, en la mayoría de los casos, la información adolece de defectos, de los cuales los más comunes son: proliferación excesiva, anarquía, lentitud de avance y tendencia a la aproximación [3].
13
1.3.2.
Tipos y usos de los sistemas de información
Durante los próximos años, los SI cumplirán tres objetivos básicos en las organizaciones:
1. Automatización de procesos operativos.
2. Proporcionar información que sirva de apoyo al proceso de toma de decisiones.
3. Lograr ventajas competitivas por medio de su implantación y uso.
1.3.3.
Características de los Sistemas de Información
a) Sistemas transaccionales. Su principal característica es:
A través de estos suelen lograrse ahorros significativos de mano de obra, debido a que automatizan tareas operativas de la organización.
b) Sistemas de apoyo a las decisiones. La principal característica de estos es:
Apoyan la toma de decisiones, por su misma naturaleza, son repetitivos y soportan decisiones no estructuradas que no suelen repetirse. Este tipo de sistemas puede incluir la programación de la producción, compra de materiales, flujo de fondos, proyecciones financieras, modelos de simulación de negocios, modelos de inventarios, etcétera.
c) Sistemas de apoyo de las decisiones. La principal característica de estos es que:
Suelen introducirse después de la implantación de los sistemas transaccionales más relevantes de la empresa, porque estos últimos constituyen su plataforma de información.
14
Su función primordial no es apoyar la automatización de procesos operativos ni proporcionar información para apoyar la toma de decisiones.
Ahora bien, los sistemas de gestión de información (SGI) permiten:
Comprender la marcha de las organizaciones desde un enfoque analítico (donde queremos estar), evaluador (donde estamos) y creativo (donde podríamos estar).
Develar oportunidades que merezcan ser explotadas y contrarrestar amenazas.
Estudiar el impacto de los SGI en la posición del negocio y buscar nuevas oportunidades.
En el caso del diseño de un SGI precisa de:
Un análisis previo de las necesidades de información de la organización.
Un diagnóstico de la situación.
Una auditoría de información que permita conocer los recursos de información disponibles y los que faltan, para qué y quiénes lo utilizan, qué valor se le añade en su uso, entre otros.
Anteriormente se describieron ampliamente a los sistemas de información, denotando la importancia del uso de los mismos, sin embargo, no se ha mencionado de una manera más amplia algunos ejemplos de sistemas de información para implementarlos en los inventarios. A continuación se abordará de manera más amplia este tema.
1.3.4.
Sistemas de información enfocados a inventarios
15
financiero. Sin embargo, el propósito principal de un sistema de información basado en inventarios es controlar los movimientos y almacenamiento de productos y/o materiales y sus transacciones asociadas [4].
Características principales de los sistemas de información enfocados a inventarios
Administrar y controlar las ubicaciones y los recursos de los bienes.
Operar en tiempo real el control de los inventarios.
Automatizar los procesos de recepción, almacenamiento y expedición de mercaderías.
Sus ventajas serían minimizar las pérdidas de inventario, reducir los costos operativos, incrementar la capacidad del almacén y la exactitud del inventario, un control de operación en tiempo real, e incrementar el nivel del servicio al cliente.
Para empezar, la aplicación de un sistema de información enfocado a inventarios es a veces complejo. La implementación requiere la recolección de los recursos del almacén como recoger datos sobre las cantidades físicas, materiales e inventarios.
Debe señalarse que los sistemas de información enfocados a inventarios pueden ser independientes o hacer parte de un sistema de planificación de recursos empresariales y puede incluir una tecnología compleja como la identificación por radiofrecuencia (RFID), código de barras, etc. Que son de gran ayuda e indispensables para poder realizar un óptimo Sistema de Información enfocado a inventarios.
1.4.
Los inventarios
16
Los inventarios son bienes tangibles o materias primas, cuyas cantidades o existencias (stock) se encuentran disponibles para la venta en el curso ordinario del negocio o para ser consumidos en la producción de bienes o servicios para su posterior comercialización.
Su principal objetivo es reducir los costos y eficientar el movimiento y manejo de los materiales y productos en todas sus etapas.
1.4.1.
Tipos de inventarios
Existen varios tipos de inventarios para distintos fines. Algunos de ellos son: Inventario perpetuo: Es el que se lleva en continuo acuerdo con las exigencias en el almacén. Por medio de un registro detallado que puede servir también como auxiliar, donde se llevan los importes en unidades monetarias y las cantidades físicas. Lo registros perpetuos son útiles para preparar los estados financieros mensuales, trimestrales o provisionales. También este tipo de inventario ofrece un alto grado de control, porque los registros de inventarios están actualizados[4].
Inventarios intermitentes: Este inventario se puede efectuar varias veces al año. Se
recurre a él, por razones diversas no se pueden introducir en la contabilidad del inventario contable permanente al que se trata de cumplir en parte.
Inventario final: este inventario se realiza al termino del ejercicio económico,
generalmente al finalizar el periodo y puede ser utilizado para determinar un nueva situación patrimonial en ese sentido, después de efectuadas las operaciones mercantiles de dichos periodos.
Inventario inicial: Es el que se realiza al dar comienzos de las operaciones.
17
Ahora bien, el cálculo del inventario realizado mediante un listado del stock realmente poseído. La realización de este inventario tiene como finalidad, convencer a los auditores de que los registros del inventario representan fielmente el valor del activo principal. Es por ello que la preparación de la realización del inventario físico consta de cuatros fases las cuales son:
➢ Manejo de inventarios (preparativos)
➢ Identificación
➢ Instrucción
➢ Adiestramiento
Inventario disponible: es a aquel que se encuentran disponibles para la producción o venta.
Inventario en línea: es aquel que aguarda a ser procesado en la línea de producción.
Inventario en cuarentena: Es aquel que debe de cumplir con un periodo de almacenamiento antes de disponer del mismo, es aplicado a bienes de consumo, generalmente comestible u otros.
Inventarios intermitentes: Es un inventario realizado con cierto tiempo y no de una sola vez a final del periodo contable.
Inventarios permanentes: Es un método seguido en el funcionamiento de algunas cuentas, en general representativas de existencias, cuyo saldo ha de coincidir en cualquier momento con el valor de los stocks.
Inventarios clínicos: Son inventarios para apoyar la decisión de los inventarios; algunas de ellas se consideran aceptables solamente en circunstancias especiales, en tanto que otras son de aplicación general.
18
1.4.1.1.
Inventario físico
El Inventario Físico es una estadística física o conteo de los bienes existentes en una organización para identificarla y confrontarla contra la existencia registrada en los libros. El proceso de Inventario Físico requiere de una verificación periódica de las existencias del Activo Fijo con que cuenta una organización a efecto de comprobar el grado de eficacia en la administración y control de sus bienes.
Se debe contar con una herramienta eficiente que permita aprovechar el inventario físico real para actualizar el inventario en libros [2].
Entre las ventajas de un inventario físico cabe mencionar las siguientes:
Tener los bienes de la empresa totalmente ordenados, cuantificados, codificados e
identificados.
Permite verificar las diferencias entre los registros de existencias físicas y las
existencias en libros.
Conocer la inversión real del activo fijo en la empresa.
La importancia deriva de la necesidad de reunir información relevante que describa de manera detallada el estado de los activos de tal forma que al realizar una consulta se refleje la condición real del bien, de manera que permita la toma de decisiones pertinentes al caso.
1.4.1.2.
Aplicaciones móviles para la toma de inventarios físicos
Se han desarrollado diversas aplicaciones para la toma de Inventario Físico en Tiempo Real, las cuales tienen las siguientes características.
Funcionan en las terminales más eficientes del mercado a través de código de barras o
etiquetas de radio-frecuencia.
Permiten la conciliación permanente entre el inventario físico de los bienes y los
19
A través de la lectura de la placa se obtiene la información descriptiva del bien.
Desarrollado en ambiente WEB que utiliza Formatos de Pantallas Amigables
1.4.2.
Toma física de inventarios
La toma de inventario es un proceso que consiste en verificar físicamente los bienes, a una fecha determinada, con el fin de asegurar su existencia real. Ésta, permite contrastar los resultados obtenidos con los registros contables, a fin de establecer su conformidad, investigando las diferencias que pudieran existir, y proceder a realizar los ajustes necesarios, según sea el caso.
La toma del inventario deberá considerar, además de la comprobación de la presencia física, su estado de conservación y condiciones de utilización y de seguridad.
La toma del inventario se la debe realizar en tiempos o periodos determinados por la empresa o institución.
Este tipo de proceso permite establecer medidas en las áreas de almacenamiento en donde se permita llevar un control riguroso sobre las existencias de los productos en estos almacenes para de este modo entregar la información correcta a la empresa del nivel de inventario que posee.
Establecer las instrucciones contables y administrativas que deberán seguirse para la programación y toma física del inventario de los bienes del activo fijo de la empresa y el tratamiento administrativo y contable aplicable a los sobrantes y/o faltantes.
20
1.2.2.1. Metodología para la toma física de inventarios
Las metodologías pueden ser variadas, es de este modo que la mayoría de las empresas consideran tres fases importantes claramente bien definidas las cuales van a variar según el tipo de producto, su almacenamiento, su codificación y su control contable [3].
Las fases en las cuales se debe enfocar una empresa al momento de la Toma Física de Inventarios son los siguientes:
a) Actividades Previas al Inventario, las cuales consisten en realizar:
Definición de equipos de trabajo que participaran en la toma física de inventarios.
Elaboración y comunicación de las instrucciones del inventario a los equipos deconteo.
Ordenamiento previo del inventario para proceder a realizar la toma física.
Identificación del inventario obsoleto, dañado o de rotación.
Codificación del inventario por ubicación.
Ejecución del Inventario, son los pasos que las empresas establecen para su toma física de inventarios en donde se realizan los conteos que las mismas crean convenientes.
Verificación del Conteo Físico, donde se constará la toma física de inventarios y se establecerá la comparación con la toma en el periodo anterior, la comparación entre el conteo físico y el sistema.
Ajustes autorizados por la empresa o institución.Para la realización del Inventario, deberá disponerse de un plan de acción específico, condiciones de trabajo adecuado e información base para verificar su existencia y condición. Para ello se requiere:
21
2. Suspender temporalmente la movilización interna de equipos. Las excepciones deben ser tratadas de manera especial.
3. Generar reporte con la información registrada en el sistema de bienes mediante el cual se identifiquen todos los bienes y estructurar un formato de acuerdo a la información requerida.
En el acto de la toma de inventario, a cada bien deberá contener una etiqueta de identificación o se procederá a implantarle una en caso contrario. Esta etiqueta contendrá el código o id mediante el cual se identifica en el sistema.
Una vez que se haya terminado el conteo físico de cada renglón se conciliará con las cifras reflejadas en el sistema. En caso de que surja alguna diferencia, sobrante o faltante, se hará una nueva verificación y si dicha diferencia se ratifica, se procederá de acorde a los ajustes autorizados por la empresa o institución.
1.5.
Tecnologías implementadas para sistemas de información
enfocados a inventarios
Mientras un bien pueda ser etiquetado, se puede lograr un entorno de control con monitoreo y seguimiento. Existen bienes que por sus cualidades únicas requieren desarrollos específicos para lograr el entorno perfecto de control, en algunos casos requieren etiquetas inteligentes o especiales que soporten entornos extremos o que sean muy suaves y delicadas, también requieren un ambiente de procesos específicos que cumplan con su ciclo de operación [5].
22
ligando de esta manera un marco completo de control, seguimiento de procesos y trazabilidad.
Algunas de las diferentes tecnologías que ofrecen los sistemas de información enfocados a inventarios para la detección de objetos son: código de barras y el RFID (“Radio Frequency Identification”, Identificación por Radio Frecuencia”).
1.5.1.
Código de Barras
El código de barras, conocido en todo el mundo, es una técnica de entrada de datos con imágenes formadas mediante combinaciones de barras y espacios paralelos, de anchos y espacios variables. Estas imágenes representan números que a su vez pueden ser leídos y descifrados por lectores ópticos o scanners.
La idea del código de barras surgió en 1932, cuando Wallace Flint en su tesis de maestría planteo la idea de gestión de inventario en un supermercado utilizando tarjetas perforadas para identificar lo que se adquirió. La tarjeta perforada podría ser alimentada en un lector de tarjetas y podría mantenerse un registro del inventario exacto. Aunque no era todavía el código de barras tradicional que hoy conocemos, la tarjeta perforada y el lector fueron precursores del lector de código de barras y láser que utilizamos hoy.
El código sirve para identificar los productos de forma única pues cuenta con información detallada del artículo o del documento que los contiene, a través de una asociación con una base de datos.
23
Para poder leer un símbolo se requiere de lectores de código de barras. Existen tres tecnologías principales disponibles para una lectura confiable: lectores láser, lectores CCD y lectores omnidireccionales o de manos libres.
Adicionalmente se requiere de algún dispositivo que registre la captura del dato que generen los lectores. Para ello se pueden conectar a una computadora o a una terminal portátil. Se requiere de un software con la aplicación que usted necesite.
El proceso es muy sencillo, una vez conectado todo el equipo, solo apunte el scanner hacia el código y cuando se produzca un "Beep" el dato estará leído en el computador; así de fácil. El programa de cómputo realizará las actividades que necesite para el fin deseado.
Actualmente, el sistema de código de barras permite que cualquier producto pueda ser identificado en cualquier parte del mundo, de manera ágil y sin posibilidad de error. El código de barras suele ser utilizado para:
• Control de mercancía.
• Control de inventarios.
• Control de tiempo y asistencia.
• Pedidos de reposición.
Figura 1.1. Código de barras.
1.5.2.
RFID
24
el remanente en almacén y tienda. El sistema RFID permite verificar el stock y conocer de forma eficaz la disponibilidad del producto, control de stocks y gestión de inventarios a través de un sistema de radiofrecuencia.
El sistema por radiofrecuencia precisa de etiquetas RFID y lectores RFID. Mediante las etiquetas RFID se marcan todos los productos en stock, esto permite que todos los objetos estén ubicados (almacén o tienda) y se registre el movimiento que se realiza con ellos. Gracias a los lectores RFID podemos detectar cada objeto de almacén, cuánto tiempo lleva allí, si ha tenido movimiento o no, etc. Las etiquetas RFID son una buena solución para casi todo tipo de productos, ya que permiten introducir mucha información sobre el producto, su precio es muy competitivo y permite llevar un control unitario de las existencias [6].
A través del lector RFID se lleva a cabo el control de los productos etiquetados, cuándo sale de almacén, cuándo llega a tienda, cuándo se vende. Además de poder controlar el tiempo que permanece en almacén y poder gestionar de una forma eficaz y rápida el inventario, ya que se puede ir confeccionando de forma automática y continua.
Para complementar el sistema de control de stocks y gestión de inventarios se precisa de un software de gestión que comunique la información recogida y permita gestionar las ventas en tienda con la gestión logística de la llegada y reparto de existencias.
25
Figura 1.2. Funcionamiento de RFID
26
CAPITULO 2. NEAR FIELD COMMUNICATIONS
2.1.
Introducción a NFC
Near Field Comunication o NFC, es una tecnología de comunicación inalámbrica de corto alcance que permite el intercambio bidireccional de datos entre dispositivos a una distancia corta; inferior a 10 centímetros.
Su desarrollo empieza en el año 2002, sus promotores fueron principalmente Philips y Sony que buscaban conseguir compatibilidad con sus tecnologías Mifare y FeliCa respectivamente. La idea de desarrollar esta tecnología fue crear un nuevo protocolo que tuviera compatibilidad con las tecnologías sin contacto de corto alcance ya existentes, razón por la que NFC es una extensión simple del estándar ISO/IEC 14443-5 de tarjetas de proximidad (tarjetas RFID sin contacto) que combina la interfaz de una tarjeta inteligente y de un lector dentro de un mismo dispositivo.
La tecnología NFC permite el intercambio de datos entre dispositivos a través de un diálogo. En este protocolo siempre hay uno que inicia la conversación y es este el que monitorizará la misma, este rol es intercambiable entre las dos partes implicadas. Existe una interacción bidireccional entre los dispositivos electrónicos que participan en la comunicación. Es una comunicación half-duplex (ambos sentidos, pero no simultáneamente), ya que se emplea una única portadora a 13,56 MHz, lo que implica que no se aplique ninguna restricción y no requiera ninguna licencia para su uso. Las velocidades de transmisión soportadas actualmente son de 106, 212 y 424 Kbps.
[image:28.612.242.379.602.686.2]Un dispositivo NFC puede comunicarse con otros dispositivos NFC o con otras infraestructuras inalámbricas y sin contactos ya existentes. Principalmente, se utiliza en dispositivos móviles ya que en la actualidad, la mayor parte de la población posee su propio móvil.
27
2.1.1.
Evolución
Antes de explicar es importante hacer la reflexión de porqué y de dónde surge esta tecnología. Para ello debemos situarnos a mediados de la década de los noventa. Cuando el uso de las tarjetas sin contacto empieza a extenderse a nivel comercial, siendo el transporte público la primera gran aplicación en la que se utiliza la tarjeta sin contacto. Sin embargo cuando la tarjeta sin contacto empieza a utilizarse como medio para almacenar los títulos de transporte los teléfonos móviles todavía no habían alcanzado la madurez comercial para su distribución al gran público, ya que no será hasta finales de esta década cuando comienza su rápida e imparable popularización. Es en ese momento cuando los ingenieros de Philips y Sony se plantean la posibilidad de trasladar el chip que contenían las tarjetas sin contacto a los dispositivos móviles mediante el NFC.
Justamente el hecho de trasladar esa tarjeta sin contacto al teléfono móvil utilizando el NFC expande las posibilidades que ofrece la tecnología sin contacto conservando la seguridad y su sencillez de uso, contribuyendo además a superar las limitaciones que en cierto sentido presenta la tarjeta sin contacto, como:
La incapacidad de la tarjeta de interactuar si no es mediante un lector habilitado para ese fin, podemos afirmar que es una tarjeta “ciega” para el usuario.
La necesidad de contar con un terminal/lector que le proporcione la alimentación eléctrica necesaria para operar a través del propio campo del lector.
Debido a su diseño y concepción tiene una limitada capacidad de procesamiento, aunque esté punto ha ido evolucionando favorablemente a lo largo del tiempo. Al “trasladar” la tarjeta sin contacto al teléfono móvil, los condicionantes mencionados anteriormente desaparecen, ya que el teléfono móvil dispone de:
Pantalla y teclado, que permite interactuar de forma segura con el contenido de la tarjeta sin contacto integrada en el móvil.
28
2.1.2.
RFID
En la actualidad, la tecnología más extendida para la identificación de objetos es la de los códigos de barras. Sin embargo, éstos presentan algunas desventajas, como la escasa cantidad de datos que pueden almacenar y la imposibilidad de ser reprogramados. La mejora ideada constituyó el origen de la tecnología RFID; consistía en usar chips de silicio que pudieran transferir los datos que almacenaban al lector sin contacto físico, de forma equivalente a los lectores de infrarrojos utilizados para leer los códigos de barras. El modo de funcionamiento de los sistemas RFID es simple. La etiqueta RFID, que contiene los datos de identificación del objeto al que se encuentra adherido, genera una señal de radiofrecuencia con dichos datos. Esta señal puede ser captada por un lector RFID, el cual se encarga de leer la información y pasarla en formato digital a la aplicación específica que utiliza RFID [6].
Un sistema RFID consta de los siguientes tres componentes:
[image:30.612.234.368.508.650.2] Etiqueta RFID: compuesta por una antena, un transductor radio y un material encapsulado o chip. El propósito de la antena es permitirle al chip, el cual contiene la información, transmitir la información de identificación de la etiqueta. Existen varios tipos de etiquetas. El chip posee una memoria interna con una capacidad que depende del modelo y varía de una decena a millares de bytes. Existen varios tipos de memoria:
29
o Solo lectura: el código de identificación que contiene es único.
o De lectura y escritura: la información de identificación puede ser modificada por el
lector.
o Anticolisión: Se trata de etiquetas especiales que permiten que un lector identifique
varias al mismo tiempo (habitualmente las etiquetas deben entrar una a una en la zona de cobertura del lector).
[image:31.612.217.368.330.462.2] Lector de RFID o transceptor: compuesto por una antena, un transceptor y un decodificador. El lector envía periódicamente señales y cuando capta una señal de una etiqueta (que contiene la información de identificación), extrae la información y la pasa al subsistema de procesamiento de datos.
Figura 2.3: Lector RFID
Subsistema de procesamiento de datos o Middleware RFID: proporciona los medios de proceso y almacenamiento de datos.
2.1.3.
De RFID a NFC
30
de acción más pequeño, lo que proporciona mayor privacidad y seguridad. Otra diferencia es la rapidez y la sencillez en el intercambio de datos. Ya no es necesario navegar por complicados menús para emparejar dos dispositivos. Con un simple toque el dato que está en el dispositivo móvil NFC se transfiere a otro dispositivo automáticamente. [7]
2.2.
Modos de funcionamiento de NFC
NFC soporta dos modos de funcionamiento, todos los dispositivos del estándar NFCIP-1 deben soportar ambos modos:
Estos dos modos de funcionamiento son:
Activo
Pasivo
Dado que NFC ha sido diseñado para permitir otros modos de operación, como que el móvil pueda ser un lector. Si volvemos al mundo de la tarjeta sin contacto, siempre tenemos el mismo escenario de comunicación:
El lector se acerca a la tarjeta y ésta es alimentada mediante el campo magnético que genera. Es siempre el terminal/lector el que inicia la comunicación, que siempre está basada en comandos emitidos por el terminal/lector y respuestas a dichos comandos por parte de la tarjeta. Se puede afirmar por tanto que la tarjeta sin contacto es un elemento pasivo. Sin embargo cuando integramos la funcionalidad de la tarjeta sin contacto al teléfono móvil, surgen los siguientes modos de operación:
- El móvil se comporta exactamente igual que lo haría la tarjeta sin contacto, es decir, como un dispositivo pasivo.
Este modo de operación se llama emulación de tarjeta “Card Emulation”.
31
[image:33.612.112.499.74.210.2]
Figura 2.4: Esquema del modo de funcionamiento pasivo
El teléfono móvil se convierte en un dispositivo activo. Este modo de operación se llama lectura/escritura “Read&Write”. - Como habilitamos teléfonos móviles con tecnología NFC, existe la posibilidad de establecer una conexión punto a punto entre ellos para intercambiar datos. En esta comunicación “punto a punto” puede ser que el dispositivo que estaba respondiendo a los comandos del otro pase a enviar comandos y viceversa. Este modo de operación se llama punto a punto “Peer2Peer” [9].
Figura 2.5: Esquema del modo de funcionamiento activo
[image:33.612.108.501.398.551.2]32
o Permitir al cliente leer los datos cargados en las tarjeta de transporte como saldos, e
incluso recargarlos en tiempo real y en cualquier momento.
o Hacer más cómodos los servicios actualmente implantados (por ejemplo acceso a
información de los autobuses en las paradas, o información de la red, solicitar recargas etc.,) de manera que no sea necesario ningún conocimiento técnico para ello (perfiles de tercera edad, poca informatización etc.).
o Permitir acceder al transporte público directamente utilizando el móvil.
o Permitir consultar las tarjetas al personal de operación, o realizar inspecciones con
equipamientos flexibles y sencillos a un menor coste.
o Permitir instalar dispositivos sencillos de información en parada.
2.3.
Por qué es importante NFC
NFC es una importante tecnología por diferentes razones:
Alcance y disponibilidad: NFC tiene el potencial para ser integrado en cada uno de
los teléfonos del mundo. Esto daría a la tecnología un potencial amplio como
teléfono móvil. Mediante la integración de la tecnología NFC en los móviles, los
usuarios pueden obtener acceso a un número de nuevos servicios a través de su
teléfono.
Fácil de usar: porque NFC solo requiere que dos dispositivos se toquen con el fin
de comunicarse, NFC puede simplificar muchas cosas, desde abrir un navegador
web en un teléfono móvil, hasta emparejar dos dispositivos de Bluetooth
automáticamente para acceder de manera inalámbrica simple y fácilmente.
Seguridad: NFC requiere de un usuario para activarlo manualmente o mantener su
dispositivo móvil junto a otro móvil o junto a la estación NFC para activar un
servicio o para compartir información. Al hacerlo la tecnología requiere del usuario
para hacer una acción positiva que confirme la transacción o el intercambio.
33
Servicios de valor añadido: NFC permite a los usuarios acceder a los servicios de
valor añadido que de otro modo no están disponibles en una obtención de billetes o
en un pago con tarjeta. Como el caso de los usuarios de los servicios móviles de
prepago, que pueden acceder a su saldo actual a través del sistema de menú del
teléfono, por lo que los usuarios de un teléfono NFC podrán ser capaces de acceder
a información similar a través de su dispositivo Además los dispositivos NFC
pueden acceder a la red móvil para añadir crédito al dispositivo cuando se agota o
está bajo, o alternativamente, establecer una fecha determinada para añadirlo cada
semana o cada mes.
Infraestructura: NFC es compatible con la estructura sin contactos, usada como
una plataforma para la obtención de billetes, transporte y pago en todo el mundo.
Los dispositivos móviles NFC pueden fácilmente ser fabricados con los principales
sistemas de transporte que no usa contactos para acceder al servicio, por ejemplo,
los que se basan en el sistema MIFARE [8].
2.4.
Transacción NFC
Una transacción NFC siempre sigue una misma secuencia de operación que consta de los siguientes pasos:
o Descubrimiento de dispositivos NFC
o Autenticación
o Negociación
o Transferencia de información
o Confirmación
34
Durante la fase de negociación del protocolo NFC, se establecen parámetros que definen las características de la comunicación como son la velocidad de transmisión, el identificador del dispositivo, tipo de aplicación, tamaño de la transferencia y la acción solicitada.
Dado que NFC no está diseñado para una transferencia masiva de datos, se puede usar para configurar otras conexiones inalámbricas que ofrezcan mayor ancho de banda como son Bluetooth o Wi-Fi. Cabe destacar que un emparejamiento normal de dispositivos Bluetooth toma entre cinco y seis segundos, frente a los 200 ms que tarda la tecnología NFC.
2.4.1.
Arquitectura dispositivo móvil NFC
Los principales componentes de un dispositivo móvil NFC son una bobina o antena incorporada en el interior del teléfono, el circuito integrado NFC y el denominado elemento seguro que es un circuito integrado con características de seguridad similares a las encontradas en las tarjetas inteligentes y que se encarga de procesar de forma segura las transacciones. El elemento seguro es uno de los componentes más importantes en la arquitectura hardware del dispositivo
Actualmente, existen tres opciones para la ubicación del elemento seguro dentro del teléfono móvil NFC:
35
Tarjeta de memoria como elemento seguro: con esta solución, una tarjeta de memoria incorpora un circuito integrado seguro con un microcontrolador y memoria flash. Esta solución permite que terceras partes puedan suministrar tarjetas precargadas con su aplicación.
Tarjeta SIM como elemento seguro: la tarjeta SIM incorpora la aplicación de pago, así como cualquier otra aplicación NFC. Respecto al software del dispositivo móvil, consiste en una serie de aplicaciones denominadas MIDlets que son descargadas en la memoria del teléfono NFC mediante el protocolo OTA (Over-The-Air) y engloban servicios para aplicaciones de crédito, programas de fidelidad del cliente, etc…, y que interactúan a su vez con otra aplicación denominada applet [ver sección 2.5.4] residente en el elemento seguro y que actúa como monedero de acuerdo a los estándares de pago PayPass de MasterCard oVisa Wave de Visa [10].
2.5.
Etiquetas NFC
[image:37.612.131.478.498.698.2]Las etiquetas, también denominadas etiquetas o transpondedores, son dispositivos que constan de tres elementos: una antena, un circuito integrado y un elemento almacenador de energía. La antena permite realizar la comunicación entre la etiqueta y el lector, y se debe tener en cuenta que su tamaño limitará la distancia máxima de lectura [10].
36
En los últimos años la producción de etiquetas ha tenido un decrecimiento 27 en el precio por unidad, aunque el coste se encuentra todavía por encima de los códigos de barras. Además existen otros aspectos como es la forma en la que las etiquetas se alimentan:
Etiquetas activas: Una etiqueta activa necesita de una pequeña batería que le proporcione alimentación para poder generar y transmitir continuamente la señal de radiofrecuencia donde van codificados y modulados los datos. Pueden ser leídas por lectores que se encuentren a grandes distancias, llegando incluso a los 30 metros, y su capacidad de memoria le permite almacenar Kilobytes de información. Entre los inconvenientes nos encontramos con las interferencias que se producen con móviles y otros aparatos, su precio que es elevado al requerir la batería y la vida útil de la batería que depende de muchos factores, lo que hace muy difícil prever cuándo ocurrirá un fallo. Otro inconveniente es que su batería en ocasiones se descarga y como consecuencia se produce una pérdida total de la señal.
Etiquetas pasivas: No contienen batería, utiliza campos electromagnéticos creados por los lectores que tienen un doble propósito, ya que a la vez obtienen información de ellas. La distancia de lectura de una etiqueta pasiva puede llegar hasta los 5 y 7 metros. Al trabajar con pequeños niveles de energía, tienen una capacidad de memoria relativamente baja.
Presentan una gran ventaja sobre las etiquetas activas en cuanto a precio por unidad, por lo que se usan en más aplicaciones. De una manera gradual, a medida que el precio disminuye, entran en competencia con los códigos de barras.
Existen 4 tipos básicos de etiquetas:
• NFC Etiqueta Tipo 1: estas etiquetas están basada en las especificaciones ISO-14443A, con capacidad de lectura y escritura. También es posible configurar la etiqueta para que sea de sólo lectura. La capacidad de memoria es de 96 bytes extensible a 2 Kbytes. La velocidad de comunicación es de106 Kbits/s.
37
ampliable hasta 2 Kbytes. La velocidad de lectura es de sólo 106 Kbits/s.
• NFC Etiqueta Tipo 3: basadas en el estándar FeliCa, son de lectura y escritura o sólo de lectura. La capacidad de memoria es variable siendo su límite de 1Mbyte. La velocidad de comunicación es de 212 Kbits/s o424 Kbits/s.
[image:39.612.169.534.270.578.2]• NFC Etiqueta Tipo 4: compatibles con el estándar ISO-14443A y B. Son configurados como de lectura y escritura o sólo de lectura. La capacidad de memoria es variable de hasta 32 KBytes con una velocidad de comunicación de 424 Kbits/s.
Tabla 1.1. Comparativa de los distintos tipos de etiquetas.
Etiquetas semi-pasivas: Las etiquetas semi-pasivas son un híbrido de las activas y las pasivas. Tienen una pequeña batería que se carga parcialmente cada vez que entra dentro del campo magnético de un lector.
2.6.
Importancia de NFC
Type 1 Type 2 Type 3 Type 4
RF Interface ISO 14443 A-2 ISO 14443 A-2 FeliCa (ISO 18092, passive communication mode at
212 kbits/sec )
ISO 14443-2
Initialization ISO 14443 A-3 ISO 14443 A-3 FeliCa (ISO 18092, passive communication mode at
212 kbits/sec )
ISO 14443-3
Speed 106 kbits/sec 106 kbits/sec 212 kbits/sec 106-424 kbits/sec Protocol Specific
Command set
Specific Command set
FeliCa protocol ISO 14443-4 ISO 7816-4 Commands Memory Size Up to 1 KB Up to 2 KB Up to 1 MB Up to 64KB Cost (memory
dependent)
Low Low Moderate Moderate
Use Cases Tags with small memory for single application
38
Alcance y disponibilidad: NFC tiene el potencial para ser integrado en cada uno de los teléfonos del mundo. Mediante la integración de la tecnología NFC en móviles, los usuarios pueden obtener acceso a nuevos servicios.
Variedad de uso: NFC puede ser usado para varias tareas, desde pago de bienes, hasta emparejamiento de los dispositivos para el intercambio de información o el descubrimiento de nuevos servicios.
Fácil de usar: Porque NFC sólo requiere que dos dispositivos se toquen con el fin de comunicarse.
Seguridad: NFC requiere de un usuario para activarlo manualmente o mantener su dispositivo móvil junto a otro móvil o junto a la estación NFC para activar un servicio o para compartir información. Al hacerlo la tecnología requiere del usuario para hacer una acción positiva que confirme la transacción o el intercambio. Además es posible construir múltiples niveles de seguridad en un dispositivo NFC.
Servicios de valor añadido: NFC permite a los usuarios acceder a los servicios de valor añadido que de otro modo no están disponibles en una obtención de billetes o en un pago con tarjeta.
Infraestructura: NFC es compatible con la estructura sin contactos. El despliegue de NFC es una extensión de los servicios que ya existen, pero es mayor con el elemento adicional de un interfaz de usuario del teléfono móvil y una conexión a Internet.
2.6.1.
NFC en la vida real
Los usos más comunes de esta tecnología son pequeñas aplicaciones de pago como el transporte urbano, el aparcamiento público o para acceder a información.
39
Motorola ya ha anunciado que sus terminales incorporarán un chip NFC con funcionalidad de pago. Además, los teléfonos incorporarán una serie de características de seguridad para proteger los datos financieros y garantizar la seguridad de las transacciones financieras.
La industria de la música tampoco es ajena a esta tecnología. Philips, Visa y Universal Music Francia están trabajando en desarrollar un producto denominado “Smart Poster” que permitirá el pago de canciones desde cualquier lugar y dispositivo: desde un anuncio en una marquesina a una tienda de música. Posteriormente los usuarios podrán descargarse a través de Internet la canción comprada mediante este sistema [10].
En concreto la tecnología NFC continúa creciendo con la aparición de distintos servicios en tarjetas de crédito y en pagos electrónicos. Según un reciente estudio de Abi Research, Japón y Corea del Sur lideran el mercado del pago a través de NFC [11].
2.6.2.
Aplicaciones NFC
Acceso al sistema público de transporte Pagos a través del móvil
Control de acceso físico a lugares o recintos (como es el caso de este proyecto) Control de acceso a una red informática
Tarjetas de fidelización o descuento
Inclusión de información médica para uso en emergencias Apertura de vehículos
Acceso a información desde cualquier soporte en la vía pública, museos, etc. En la actualidad las aplicaciones para el NFC son limitadas y en lo relacionado a la telefonía móvil y los sistemas operativos que estos manejan, hay poco desarrollo de aplicaciones. Los sistemas operativos como Windows Phone y Android son los sistemas que conviven con NFC en algunos equipos de telefonía móvil, siendo este último el más común.
40
CAPÍTULO 3. HERRAMIENTAS DE DESARROLLO PARA
HARDWARE Y SOFTWARE REQUERIDOS
En este capítulo se darán a conocer las herramientas tanto de software como de hardware que se utilizarán para el desarrollo del proyecto, concluyendo así las bases para su construcción y diseño.
3.1.
Introducción a Android
Es un sistema operativo y una plataforma software, basado en Linux para teléfonos móviles. Además, también usan este sistema operativo (aunque no es muy habitual), tablets, netbooks, reproductores de música e incluso PC’s. Android permite programar en un entorno de trabajo (framework) de Java, aplicaciones sobre una máquina virtual Dalvik (una variación de la máquina de Java con compilación en tiempo de ejecución). Además, lo que le diferencia de otros sistemas operativos, es que cualquier persona que sepa programar puede crear nuevas aplicaciones, widgets, o incluso, modificar el propio sistema operativo, dado que Android es de código libre, por lo que sabiendo programar en lenguaje Java, adaptarse a esta plataforma es más rápido y se puede inmediatamente comenzar a programar [12].
3.1.1. Historia de Android
41
Figura 3.1. Sistema de capas de Android.
En la imagen se distinguen claramente cada una de las capas: la que forma parte del propio Kernel de Linux, donde Android puede acceder a diferentes controladores, las librerías creadas para el desarrollo de aplicaciones Android, la siguiente capa que organiza los diferentes administradores de recursos, y por último, la capa de las aplicaciones a las que tiene acceso [12].
Apli a io es
I i io
Co ta tos
Teléfo os
E plo ado
…
Ar azó de Apli a io es
Ad i ist ado
de A tividad Ad i ist ado de Ve ta as P oveedo de Co te idos Vista del Siste a
Ad i ist ado
de pa uetes Ad i ist ado de A tividad Ad i ist ado de A tividad Ad i ist ado de A tividad Ad i ist ado de A tividad
Li rerías
Ad i ist ado
de Supe fi ies A azó de Media SQLite
Ope GL ES F eeT pe We Kit
SGL SSL Li o
A droid Ru ti e
Li e ías del Nú leo
Ma ui a Vi tual Dalvik
Ker el de Li ux
Co t olado es
de pa talla Co t olado es de la á a a Co t olado es de e o ia Co t olado es Bi de IPC
Co t olado
42
3.1.2. Arquitectura de Android
[image:44.612.142.448.176.400.2]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 [12].
Figura 3.2. Arquitectura de Android.
3.1.3 Versiones disponibles
El sistema operativo Android, al igual que los propios teléfonos móviles, ha evolucionado rápidamente, acumulando una gran cantidad de versiones, desde la 1.0 para el QWERTY HTC G1, hasta la 4.0 que acaba de salir al mercado.
Cupcake (Android Version 1.5) características: Widgets, teclado QWERTY virtual, copy & paste, captura de vídeos y poder de subirlos a Youtube directamente.
Donut (Android Version 1.6) características: Añade a la anterior la mejoría de la interfaz de la cámara, búsqueda por voz, y navegación en Google Maps.
43
Froyo (Android Version 2.2) características: Incluye hostpot Wifi, mejora de la memoria, más veloz, Microsoft Exchange y video-llamada.
Ginger Bread (Android Version 2.3) características: Mejoras del consumo de batería, el soporte de vídeo online y el teclado virtual, e incluye soporte para pagos mediante NFC2.
Honey Comb (Android Version 3.0/3.4) características: Mejoras para tablets, soporte Flash y Divx, integra Dolphin, multitarea pudiendo cambiar de aplicación dejando las demás en espera en una columna, widgets y homepage personalizable.
3.1.4 SDK Android
[image:45.612.154.474.350.604.2]SDK son las siglas de Software Development Kit, (Kit de Desarrollo de Software). Mediante éste kit podemos desarrollar aplicaciones y ejecutar un emulador de la versión de Android (o de lo que sea). En Android todas las aplicaciones se ejecutan en Java [13].
Figura 3.3. Android SDK
Un SDK es un conjunto de herramientas y programas de desarrollo que permite al
programador crear aplicaciones para un determinado paquete de software, estructura de
44
Los SDK incluyen herramientas de debugger, códigos de ejemplos, documentaciones, y muchas veces un entorno de programación IDE.
3.1.5. SDK y las nuevas versiones de Android
•DirectX SDK de Microsoft. •Java SDK de Sun Microsystems.
•Net Yaroze de Sony Computer Entertainment. •Flex de Adobe.
•The Eclipse SDK de The Eclipse Foundation.
[image:46.612.144.470.321.542.2]Algunos SDK son gratuitos y otros son comerciales.
Figura 3.4.Versiones de SDK
45
3.2. SQLite
El código para SQLite está en el dominio público y por lo tanto libre para el uso para cualquier propósito, comercial o privado. SQLite es el mayor despliegue de bases de datos en el mundo con más aplicaciones, incluyendo varios proyectos de alto perfil [14].
Figura 3.5.SQLite logo
46
Figura 3.6.Administrador de SQLite
3.2.1. Características de SQLite
Tamaño: SQLite tiene una pequeña memoria y una única biblioteca es necesaria para
acceder a bases de datos, lo que lo hace ideal para aplicaciones de bases de datos incorporadas.
Rendimiento de base de datos: SQLite realiza operaciones de manera eficiente y es más
rápido que MySQL y PostgreSQL.
Portabilidad: se ejecuta en muchas plataformas y sus bases de datos pueden ser fácilmente
portadas sin ninguna configuración o administración.
Estabilidad: SQLite es compatible con ACID, reunión de los cuatro criterios de
Atomicidad, Consistencia, Aislamiento y Durabilidad.
47
Interfaces: cuenta con diferentes interfaces del API, las cuales permiten trabajar con C++,
PHP, Perl, Python, Ruby, Tcl, groovy, etc.
Costo: SQLite es de dominio público, y por tanto, es libre de utilizar para cualquier
propósito sin costo y se puede redistribuir libremente.
No posee configuración: De la forma en que fue creado y diseñado SQLite, NO necesita
ser instalado. NO prender, reiniciar o apagar un servidor, e incluso configurarlo. Esta cualidad permite que no haya un administrador de base de datos para crear las tablas, vistas, asignar permisos. O bien la adopción de medidas de recuperación de servidor por cada caída del sistema.
Portabilidad: SQLite puede ser ejecutado en diferentes sistemas operativos, como ser
Windows, Linux, BSD, Mac OS X, Solaris, HPUX,AIX o estar embebido en muchos otros como QNX, VxWorks, Symbian, Palm OS, Windows CE. Se pude notar que muchos de ellos trabajan a 16, 32 y 64 Bits. La portabilidad no está dada en sí por el software, sino por la base de datos condensada en un solo fichero, que puede estar situado en cualquier directorio, trayendo como ventaja que la base de datos puede ser fácilmente copiada a algún dispositivo USB o ser enviada vía correo electrónico.
Registros de longitud variable: utilizando para ello la cantidad de espacio en disco
necesario para almacenar la información real del campo. Tomando el ejemplo anterior, si quisiera almacenar un solo carácter en un campo definido como VARCHAR(255), entonces un único byte de espacio de disco se consume.
3.3. Eclipse
48
Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios.
Eclipse fue liberado originalmente bajo la Common Public License, pero después fue re-licenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas licencias son licencias de software libre, pero son incompatibles con Licencia pública general de GNU (GNU GPL) [16].
3.3.1. Historia
Eclipse comenzó como un proyecto de IBM Canadá. Fue desarrollado por OTI (Object Technology International) como reemplazo de VisualAge también desarrollado por OTI. En noviembre del 2001, se formó un consorcio para el desarrollo futuro de Eclipse como código abierto. En 2003, fue creada la fundación independiente de IBM.
49
3.3.2. Arquitectura
[image:51.612.202.412.163.306.2]Es la Plataforma de cliente enriquecido (del Inglés Rich Client Platform RCP). Los siguientes componentes constituyen la plataforma de cliente enriquecido [15].
Figura 3.8.Pantalla de carga de Eclipse.
Plataforma principal - inicio de Eclipse, ejecución de plugins
OSGi - una plataforma para bundling estándar.
El Standard Widget Toolkit (SWT) - Un widget toolkit portable.
JFace - manejo de archivos, manejo de texto, editores de texto
El Workbench de Eclipse - vistas, editores, perspectivas, asistentes
Los widgets de Eclipse están implementados por una herramienta de widget para Java llamada Standard Widget Toolkit, a diferencia de la mayoría de las aplicaciones Java, que usan las opciones estándar Abstract Window Toolkit (AWT) o Swing. La interfaz de usuario de Eclipse también tiene una capa GUI intermedia llamada JFace, la cual simplifica la construcción de aplicaciones basadas en SWT.
50
trabajar con lenguajes para procesado de texto como LaTeX, aplicaciones en red como Telnet y Sistema de gestión de base de datos. La arquitectura plugin permite escribir cualquier extensión deseada en el ambiente, como sería gestión de la configuración. Se provee soporte para Java y CVS en el SDK de Eclipse. Y no tiene por qué ser usado únicamente con estos lenguajes, ya que soporta otros lenguajes de programación.
[image:52.612.87.557.246.524.2]La definición que da el proyecto Eclipse acerca de su software es: "una especie de herramienta universal - un IDE abierto y extensible para todo y nada en particular".
Figura 3.9.Eclipse trabajando con el lenguaje de programación Python.
51
conjuntamente con otros plugins, hacen uso de su interfaz gráfica personalizable y profesional.
El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo un IDE con un compilador de Java interno y un modelo completo de los archivos fuente de Java. Esto permite técnicas avanzadas de refactorización y análisis de código. Mediante diversos plugins estas herramientas están también disponibles para otros lenguajes como C/C++ (Eclipse CDT) y en la medida de lo posible para lenguajes de script no tipados como PHP o Javascript [18].
3.3.3. Características de eclipse
Eclipse dispone de un Editor de texto con un analizador sintáctico. La compilación es en tiempo real. Tiene pruebas unitarias con JUnit, control de versiones con CVS, integración con Ant, asistentes (wizards) para creación de proyectos, clases, tests, etc., y refactorización.
52
CAPITULO 4. CONSTRUCCIÓN Y DESARROLLO DEL PROTOTIPO
El Ciclo de Vida de Desarrollo de Sistemas (CVDS), comúnmente, se considera como el conjunto de actividades que los: usuarios, analistas, diseñadores, constructores, implantadores y operadores; necesitan llevar a cabo para desarrollar y poner en marcha un Sistema. Se puede considerar que, el Ciclo de Vida para el Desarrollo de Sistemas se realiza, en general, siguiendo las siguientes etapas o actividades generales o fases:
1. Planeación y Análisis 2. Diseño
3. Construcción 4. Implantación.
[image:54.612.185.441.359.554.2]5. Operación y Mantenimiento.
Figura 4.1: Esquema con la relación entre fases para el desarrollo del (CVDS).