Download DESARROLLO DE APLICACIÓN MÓVIL PARA VERIFICAR EL
Document related concepts
Transcript
DESARROLLO DE APLICACIÓN MÓVIL PARA VERIFICAR EL ESTADO DE LAS COLAS DE LOS USUARIOS, PARA UNA ENTIDAD FINANCIERA. Autor: Quiroz Danniel C.I. 19.857.537 Municipio San Diego, Calle Nº 3. Urb. Yuma II. Valencia - Edo. Carabobo REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD JOSÉ ANTONIO PÁEZ FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA EN COMPUTACIÓN DESARROLLO DE APLICACIÓN MÓVIL PARA VERIFICAR EL ESTADO DE LAS COLAS DE LOS USUARIOS, PARA UNA ENTIDAD FINANCIERA. Trabajo de grado presentado como requisito para optar al título de INGENIERO DE COMPUTACIÓN Autor: Quiroz Danniel C.I.: 19.857.537 Tutor: Ing. Miguel Ángel Puebla San Diego, Enero de 2013 4 REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD JOSÉ ANTONIO PÁEZ FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA EN COMPUTACIÓN ACEPTACIÓN DEL TUTOR Quien suscribe, Ingeniero Miguel Ángel Puebla portador de la cédula de identidad N° 12.113.966, en mi carácter de tutor del trabajo de grado presentado por el(los) ciudadano(s) Quiroz Danniel, portador(es) de la cédula de identidad N° 19.857.837, (respectivamente), titulado “DESARROLLO DE APLICACIÓN MÓVIL PARA VERIFICAR EL ESTADO DE LAS COLAS DE LOS USUARIOS, PARA UNA ENTIDAD FINANCIERA.” presentado como requisito parcial para optar al título de Ingeniero, considero que dicho trabajo reúne los requisitos y méritos suficientes para ser sometido a la presentación pública y evaluación por parte del jurado examinador que se designe. En San Diego, Enero de 2013. ___________________________ Ing. Miguel Ángel Puebla. C.I.: 12.113.966 5 AGRADECIMIENTOS A mi familia, padres, hermana, sobrina y mascota, por estar siempre a mi lado en los momentos más difíciles, quienes siempre me dan su apoyo y me han ayudado toda la vida. A los profesores, por haberme aportado sus conocimientos. A TODOS, GRACIAS. Quiroz Danniel 6 ÍNDICE CONTENIDO Pp ÍNDICE DE FIGURAS………………………………………………….. INDICCE DE TABLAS.......................................................................... RESUMEN………………………………….……………………………. INTRODUCCIÓN………………………………………………………. viii ix xii 1 CAPÍTULO I EL PROBLEMA 1.1 Planteamiento del Problema………………………………… 1.2 Formulación del Problema……………………….…………. 1.3 Objetivos de la Investigación………..……………………… 1.3.1 Objetivo General……………........................................ 1.3.2 Objetivos Específicos………………………………….. 1.4 Justificación………………………………………………… 1.5 Alcance……………………………………………………… II III 2 4 4 4 4 4 6 MARCO TEÓRICO 2.1 Antecedentes……………………………………………….. 2.2 Bases Teóricas……………………………………………… 2.2.1 Tecnología móvil..……………………………………... 2.2.2 Tecnología de conexión inalámbrica…………………. 2.2.3 Smartphone…….………………………………………. 2.2.4 Sistema Operativo Móvil…………..…………………... 2.2.5 Aplicación móvil……………………………………….. 2.2.6 Teoría de colas………………………………………….. 2.3 Definición de términos básicos……………………………… 7 10 10 11 12 14 19 21 22 MARCO METODOLÓGICO 3.1 Nivel de la Investigación……………………………………. 3.2 Diseño de la Investigación………………………………….. 3.3 Tipo de investigación……………………………………….. 3.4 Población y Muestra………………………………………… 26 27 28 29 7 IV 3.5 Técnicas e Instrumentos de Recolección de Datos…………. 3.5.1 Técnica de observación…………………………………. 3.6 Fases Metodológicas..………………………………………. 3.6.1 Fase I Planificación…………………………………….. 3.6.1.1 Historias de usuario……………………………….. 3.6.1.2 Plan de entrega…………………………………….. 3.6.1.3 Iteraciones…………………………………………. 3.6.2 Fase II Diseño………………………………………….. 3.6.2.1 Casos de uso………………………………………. 3.6.2.2 Especificaciones de casos de uso………………….. 3.6.2.3 Estructura de Base de Datos……………………….. 3.6.2.4 Diagrama de clases………………………………… 3.6.2.5 Diseño de interfaz………………………………….. 3.6.2.6 Arquitectura del sistema…………………………… 3.6.3 Fase III desarrollo……………………………………. 3.6.4 Fase IV pruebas………………………………………. 3.7 Fases de los objetivos específicos………………………… 29 29 30 31 31 38 38 38 39 39 39 39 39 40 40 40 40 RESULTADOS 4.1 Fase I Planificación………………………………………... 4.1.2 Plan de Entrega……………………………………….. 4.1.3 Iteraciones…………………………………………….. 4.2 Fase II Diseño……….…………………………………….. 4.2.1 Casos de uso….……………………………………….. 4.2.2 Especificaciones de casos de uso…………………….. 4.2.3 Estructura de base de datos……………………………. 4.2.4 Diagrama de clases……………………………………. 4.2.5 Diseño de interfaz……………………………………… 4.2.6 Arquitectura del sistema………………………………. 4.3 Fase III desarrollo..…………………………………………. 4.4 Fase IV pruebas.………...………………………………….. Conclusión………………………………………………………. Recomendaciones……………………………………………….. 42 43 44 46 46 47 56 56 57 58 59 68 72 73 Referencias………………………………………………………... 74 8 ÍNDICE DE FIGURAS CONTENIDO FIGURA Pg 1 Ejemplo de un teléfono Smartphone……………………………… 14 2 Un sistema de colas básico………………………………………… 21 3 Fases de la metodología XP……….………………………………. 30 4 Modelo de Caso de Uso del Usuario………………………………. 46 5 Estructura de Base de Datos……………………………………….. 56 6 Diagrama de clases…………………………………………………. 56 7 Modelo de la interfaz………………………………………………. 57 8 Arquitectura del sistema…………………………………………… 58 9 Pantalla Nº1………………………………………………………… 59 10 Pantalla Nº2………………………………………………………… 60 11 Pantalla Nº3………………………………………………………… 61 12 Pantalla Nº4………………………………………………………… 62 13 Pantalla Nº5………………………………………………………… 63 14 Pantalla Nº6………………………………………………………… 64 15 Pantalla Nº7………………………………………………………… 65 16 Pantalla Nº8………………………………………………………… 66 17 Pantalla Nº9………………………………………………………… 67 9 ÍNDICE DE TABLAS CONTENIDO TABLA 1 Historia de usuario Nº01……………..…………………………… 31 2 Historia de usuario Nº02……………..…………………………… 32 3 Historia de usuario Nº03……………..…………………………… 32 4 Historia de usuario Nº04……………..…………………………… 33 5 Historia de usuario Nº05……………..…………………………… 33 6 Historia de usuario Nº06……………..…………………………… 34 7 Historia de usuario Nº07……………..…………………………… 34 8 Historia de usuario Nº08……………..…………………………… 35 9 Historia de usuario Nº09……………..…………………………… 35 10 Historia de usuario Nº10……………..…………………………… 36 11 Historia de usuario Nº11……………..…………………………… 36 12 Historia de usuario Nº12……………..…………………………… 37 13 Historia de usuario Nº13……………..…………………………… 37 14 Historia de usuario Nº14……………..…………………………… 38 15 Listas de Historias de Usuario.…………………………………… 43 16 Lista de Iteraciones……..………………………………………… 44 17 Iteraciones y pruebas de Versiones………………………………… 45 10 18 Usuario crea una nueva cuenta…………………………………… 47 19 Visualizar bancos disponibles……………………………………… 48 20 Ver población bancaria…………………………………………… 49 21 Ver ubicación del banco…………………………………………… 50 22 Usuario toma u ticket……………………………………………… 51 23 Usuario ve los tickets que ha tomado……………………………… 52 24 Usuario ve su cuenta y datos……………………………………… 53 25 Usuario cierra sesión……………………………………………… 54 26 Usuario ve la información de la aplicación……………………… 55 27 Evaluación de la versión 0.1……………………………………… 68 28 Evaluación de la versión 0.3……………………………………… 69 29 Evaluación de la versión 0.4……………………………………… 69 30 Evaluación de la versión 0.5……………………………………… 70 31 Evaluación de la versión 0.7……………………………………… 70 32 Evaluación de la versión 0.8……………………………………… 71 33 Evaluación de la versión 1.0……………………………………… 71 11 REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD JOSÉ ANTONIO PÁEZ CARRERA INGENIERÍA ESCUELA DE INGENIERÍA EN COMPUTACIÓN DESARROLLO DE APLICACIÓN MÓVIL PARA VERIFICAR EL ESTADO DE LAS COLAS DE LOS USUARIOS, PARA UNA ENTIDAD FINANCIERA Autor: Quiroz Danniel Tutor: Ing. Puebla Miguel Fecha: Enero, 2013 RESUMEN El objetivo del presente proyecto es ofrecer a los usuarios de la aplicación móvil información acerca del estado de las colas bancarias según las distintas transacciones que pueden ser realizadas, desde cualquier lugar geográfico con cobertura celular, gracias al crecimiento considerable y disponibilidad del uso de las redes inalámbricas. La misma, se realizara bajo la modalidad de proyecto factible. Para esta investigación se utilizara el método de observación para precisar las condiciones y posibilidades de aplicación del modelo de servicios alternativos. Finalmente, en este proyecto de investigación se establecen las bases teóricas y operativas para el “DESARROLLO DE APLICACIÓN MÓVIL PARA VERIFICAR EL ESTADO DE LAS COLAS DE LOS 12 USUARIOS, PARA UNA ENTIDAD FINANCIERA.” con la cual se aspira implantar las herramientas tecnológicas para apoyar al desarrollo, calidad y eficiencia de las entidades bancarias, y así otorgar u mejor servicio a los clientes. Descriptores: Tecnología móvil, Smartphone, teoría de colas, sistema operativo móvil, redes inalámbricas, aplicación móvil. INTRODUCCIÓN En el transcurso de este trabajo de grado se propone, implementar una solución al problema de las entidades bancarias con respecto a los servicios que prestan los usuarios bancarios al momento de realizar una transacción, ya que requieren de una gran cantidad de tiempo para ser atendido por el empleado de la entidad. El presente proyecto será dividido en cuatro capítulos: En el Capítulo I, se realizara una descripción general del trabajo de grado, lo cual el lector encontrara una visión global del trabajo que incluye el planteamiento y formulación del problema, los objetivos del trabajo a realizar, la justificación y alcance del mismo. En el Capítulo II, Marco Teórico, se introducen los conceptos y definiciones necesarios para la comprensión adecuada del trabajo de grado a realizar. Describe toda la investigación teórica del proyecto iniciado con las descripciones de HTML5 13 usando como Framework sencha touch, también se habla de las ventajas que otorgan los Smartphone de hoy en día y en los distintos sistemas operativos donde se implantara la aplicación móvil. En el Capítulo III, se expone la metodología propuesta originalmente. Seguidamente el método utilizado para obtener la información acerca del problema, el cual será por el método de observación. Luego que se realizo en cada una de sus fases. En el Capítulo IV, se nombran los tutores que ayudaron a la elaboración del trabajo de grado, así también, las instituciones involucradas que facilitaron la información bibliográfica para la elaboración del mismo y por último los materiales utilizados para el diseño y modelado del trabajo de grado. CAPÍTULO I EL PROBLEMA 1.1- Planteamiento del Problema Un Banco es una entidad financiera que se encarga del manejo del capital y préstamos del mismo. El sistema bancario es un conjunto de entidades o instituciones financieras que, dentro de una economía determinada, ofrecen servicios de banco a sus clientes, tales como: depósitos bancarios, cobro de cheques, transferencias bancarias, solicitud de préstamos, apertura de cuentas bancarias, entre muchas más acciones que permiten dichas entidades. El Banco o entidad financiera debe prestar servicios de calidad a sus clientes para cada transacción que deseen realizar, para ello es valioso el tiempo que invierten los usuarios en cada transacción, es decir, una buena entidad bancaria debe tener la capacidad de atender a sus usuarios sin que ellos tengan que tener una gran pérdida de 14 tiempo. Para lograr esto los bancos deben poseer un sistema adecuado y bien administrado para atender a los clientes, el cual se debe encargar de dividir las diferentes transacciones que se pueden realizar en dicha entidad, también deben disponer de la cantidad adecuada de empleados para atender de forma efectiva a los clientes y disminuir lo más posible el nivel de colas. Pero hoy en día el sistema de colas en las entidades bancarias no funcionan de forma efectiva ya que la realidad a la que se enfrentan los usuarios bancarios es que necesitan disponer de una gran cantidad de tiempo para realizar cualquier transacción bancaria, debido a la mala administración y servicios poco eficientes que prestan los bancos de ahora. Una de las principales causas de esto, es el exceso de población en dichas entidades bancarias, ya que al no poder atender ni otorgar servicios a la gran demanda de clientes que poseen, se producen como consecuencia las colas al momento de realizar una transacción bancaria, por otra parte el mal uso de sus 15 sistemas para atender a los clientes ocasionan un descontrol y por ende generan colas debido a la falta de eficiencia que posee el sistema. Otros de los problemas a los que se enfrentan los usuarios bancarios día a día es el tiempo que tienen que perder para realizar una transacción bancaria, debido a la espera de la gran cantidad de personas que concurren a los sistemas de dichas entidades para realizar su transacción deseada y por la falta de eficiencia que ofrece el sistema bancario para atender a sus clientes. Se evidencia que llevar este tipo de vida al usar los servicios que prestan dichas entidades no favorece a nadie, ya que al convertirse en una actividad exhaustiva hace que el usuario pierda calidad de vida por una actividad que normalmente debería ser realizada con rapidez y sin pérdida de tiempo alguno, por ello, para que el usuario pueda llevar a cabo cualquier transacción, esta debe permitir que sea efectuada de forma sencilla y rápida, para recibir un buen servicio, evitar largas pérdidas de tiempo el cual es algo extremadamente valioso. Esta situación trae como consecuencia, que las personas hoy en día para realizar una transacción bancaria tienen que apartar una gran cantidad de tiempo y perderlo a causa de las colas, un tiempo valioso que puede ser utilizado en cualquier otra actividad productiva como, disponer ese tiempo para la familia, relaciones sociales, el trabajo, y cualquiera otra de las tantas actividades que puede realizar una persona. Sin embargo, al investigar la situación actual de los bancos, muchos de estos o la gran mayoría no disponen de la infraestructura de comunicación a través de una red de telefonía convencional, esto debido a las medidas extremas de seguridad que debe ofrecer la entidad bancaria por la información que maneja. Como se puede notar en los últimos años, la creciente tecnología de interconexión entre diferentes dispositivos electrónicos y entre las redes mismas ha abierto una vasta gama de posibilidades para el desarrollo de servicios y aplicaciones. Por esto, es muy importante la exploración de las opciones que surgen al combinar las tecnologías existentes y las que muestran tendencia a popularizarse en el futuro cercano, pues se trata de una fuente de posibles aplicaciones innovadoras con gran potencial de éxito. Esta solución resultaría muy útil ya que se puede considerar que hoy en día la mayoría de las personas disponen de un teléfono celular. Gracias a la constante expansión en la cobertura de las redes de telefonía móvil y a su mejoría basada en capacidades y funcionalidades que se le ha dado a estos dispositivos, es posible conectarse desde cualquier lugar y en cualquier momento, esto convierte a estos aparatos en un vehículo de información a la cual se puede acceder en cualquier instante, en nuestro caso a información de sistema de colas bancarias. De todo lo antes planteado, surge al siguiente interrogante. 1.2- Formulación del Problema ¿Cómo se puede disminuir el tiempo de espera en el banco al tener la necesidad de realizar una transacción bancaria? 1.3- Objetivos de la investigación 1.3.1- Objetivo General • Desarrollar una aplicación móvil para verificar el estado de las colas de los usuarios, para una entidad financiera. 1.3.2- Objetivos Específicos. • Investigar el funcionamiento del sistema de colas de las entidades bancarias. • Analizar con que tecnología se puede comunicar en tiempo real la disponibilidad de los bancos a los usuarios del sistema. • Determinar las herramientas necesarias para el desarrollo y ejecución del Sistema propuesto. • Diseñar un modelo integral de información con interfaz atractiva e intuitiva para usuarios generales. 1.4- Justificación de la Investigación Una vez realizado un breve análisis de la situación actual sobre el sistema de colas bancarias, se puede considerar como alternativa o solución la aplicación móvil 8 que permita distribuir mejor a los clientes bancarios en las diferentes entidades disponibles para realizar la transacción deseada. De esta forma para sustentar la idea de una aplicación para dispositivos móviles, que permita mejorar de forma efectiva el proceso de administración de colas bancarias, podemos resaltar que los dispositivos móviles, específicamente los teléfonos inteligentes, se encuentran en un mercado donde su nivel llega a ser novedoso ya que actualmente son capaces de producir grandes cantidades de ganancias en cualquier aspecto, tanto económico como personal. Por ello para entender que el desarrollo de aplicaciones móviles empezó y crece de una manera exponencial, solo hace falta realizar una aplicación que proponga resolver un problema a los clientes de este mercado. De manera que incorporando el contexto actual del mercado respecto a la tecnología móvil con la necesidad de implementar una aplicación que permita gestionar el sistema de colas en las entidades bancarias, sin lugar a dudas puede mostrarse como una gran oportunidad para introducir una nueva aplicación dentro del mundo de la telefonía móvil, así logrando la satisfacción tanto del usuario como en el mercado. Esto permite plantear el diseño de un sistema con la función de informar a sus usuarios los bancos disponibles y con menor cantidad de personas para cada transacción en tiempo real a través de teléfonos móviles, el cual establecerá una conexión a un servidor por vía web y retornara la información deseada a la aplicación instalada en el teléfono celular. Como se puede observar va mas alla de ser una simple aplicación ya que será una solución a un problema que se enfrentan los usuarios bancarios día a día, el cual ofrece un mejor servicio de calidad para una mejor atención, más rápida, efectiva y aplicando un buen servicio. Así el empleo efectivo de una información veraz, oportuna y exacta permite a cualquier usuario que disponga de la aplicación móvil tener acceso a la información de colas bancarias en cualquier momento, para así poder seleccionar a qué punto bancario movilizarse y disminuir la mayor pérdida de tiempo posible. 9 Se espera que esta aplicación móvil disminuya los problemas que se viven día a día en los bancos con respecto a la congestión o colas formadas y la gran pérdida de tiempo que estas representan. 1.5- Alcance La presente solución otorga a los teléfonos celulares la funcionalidad de poder informar a los usuarios con una interfaz amigable, el estado de las colas en cada punto bancario con el fin de poder distribuir mejor a los usuarios en las distintas entidades bancarias y tener una mejor administración con respecto al problema de las colas o sobre población bancaria al momento de realizar una transacción. Por lo tanto la aplicación permitirá visualizar las entidades bancarias disponibles y sus estados de las colas, así mismo poder obtener un número de atención en el banco deseado. Por otra parte en caso de no saber la localización del banco, cada uno otorgara la información de su ubicación específica por medio de un mapa. También será visible una lista de los tickets vigentes tomados para así llevar un control de la cantidad de números que se poseen actualmente. Al pasar el turno del usuario el número pasara automáticamente a inactivo y dejara de mostrarse en la lista de tickets vigentes, de esta forma el usuario se enterara que el número obtenido ya fue atendido. 10 CAPÍTULO II MARCO TEÓRICO En el presente capítulo se describen de manera detallada las principales características referentes a los aspectos tecnológicos que se consideran primordiales para cumplir con los objetivos propuestos en el proyecto, los mismos que se han seleccionado para la implementación de la solución y que fueron mencionados en el capítulo anterior. 2.1 Antecedentes Para la elaboración de esta investigación, se hizo necesario revisar estudios anteriores que estuviesen relacionados con el tema tratado actualmente. Hoy en día los teléfonos celulares constituyen un recurso al alcance de prácticamente toda persona en nuestro país. El uso masivo de estos dispositivos ha permitido que las operadoras de teléfonos celular expongan sus servicios para tener la posibilidad de ofrecer una variedad de soluciones que permitan satisfacer las necesidades de los usuarios. Es por esto que en el mercado podemos encontrar una gran variedad de modelos cada vez con mejores capacidades. Villacis R (2011) en su trabajo de grado titulado “Estudio de factibilidad para la creación de una empresa de consultoría de implementación de aplicaciones móviles en la ciudad de Quito”, Universidad Internacional SEK, Ecuador; allí se planteo crear una empresa para implementar aplicaciones móviles de alta calidad, ofreciendo servicios de integración flexible y transparente con los 11 sistemas existentes; a la vez proveer de capacitación, soporte y mantenimiento. Así como también consultar, registrar y manipular la información de los negocios en tiempo real sin importar el lugar en donde se encuentren, lo cual destaco que la tecnología móvil hace posible el desarrollo de actividades comerciales, productivas y financieras sin necesidad de que el usuario tenga que visitar físicamente un almacén, punto de venta o entidad bancaria. Aclarando que ahora son las empresas y los 12 negocios los que se acercan al usuario y obteniendo los beneficios de: reducción de costos de operación, optimización de tiempos en visitas a clientes, mejoramiento de la gestión de negocios, mayor atención al cliente, entre muchos otros beneficios más… De este trabajo de grado se toma la iniciativa o idea de, “estoy acá y necesito procesarlo ya”, en otras palabras, se resalta la facilidad de obtener información en cualquier lugar ya que la empresa llegara a ti ofreciendo la información necesaria que necesite el usuario. Así también sirve como ejemplo para la implantación de una aplicación móvil que trabaje conectada a un servidor y de esa forma el banco llegue al usuario y se encargue de informarle el tamaño de cola para cada transacción. Por otra parte Espinosa P, Soto A (2009) su trabajo de grado se titulo “Pago electrónico a través de teléfonos móviles”, Escuela Superior Politécnica del Litoral, Ecuador; se basó en realizar y ofrecer un mecanismo de pago electrónico a las personas desde cualquier lugar geográfico con cobertura celular. Se centro en resaltar que la aparición de nuevas tecnologías (nueva arquitectura y dispositivos) y la consolidación de otras anteriores (como las redes IP) ha facilitado la evolución natural del envió de datos o información y que gracias a ello se ha permitido la creación de medios más potentes, novedosos y de nuevos canales de relación entre personas o entre personas y sistemas. En vista a la evolución de dicha relación de comunicaciones, surgió la idea de crear un sistema de pago a través del teléfono móvil, el cual solicita la autorización para realizar el cobro a la tarjeta de crédito, mediante un software instalado en el teléfono móvil. El objetivo de este trabajo de grado fue ofrecer un mecanismo de pago electrónico a las empresas y personas desde cualquier lugar geográfico con cobertura celular y así extender el uso de la infraestructura de pagos electrónicos en los negocios de gran y menor tamaño, tales como: comercio de menudeo, tiendas de abarrotes, locales de comida, islas, papelerías, farmacias, entre muchas más… fue seleccionado el siguiente antecedente por su información acerca de las aplicaciones móviles en conjunto con las operaciones bancarias, de la misma forma que las herramientas utilizadas sirven de base para el trabajo de grado que se desea realizar, así también se toma como guía en el proceso de implementación de la aplicación móvil. Así mismo Castañeda R (2009) titulado “Middleware para la definición e implantación de servicios genéricos independientes de la plataforma orientada a dispositivos móviles”, Universidad Javeriana, Bogotá; en este trabajo de grado se expresa que nace la necesidad de crear un Middleware independiente de la plataforma, que permita al desarrollador definir e implementar servicios genéricos de forma estándar, al mismo tiempo que mantiene la brevedad y sencillez en consideración con los recursos limitados de un dispositivo móvil, por lo cual se expresa que existen múltiples plataformas para dispositivos móviles muy diferentes e incompatibles entre sí, a causa de ello, esto impone al desarrollador una carga extra para lograr que sus servicios sean accesibles desde todas ellas, trabajo que a menudo es más complejo que la implementación del servicio en sí. Este trabajo de grado nace de la necesidad de crear un Middleware independiente de la plataforma, que permita al desarrollador definir e implementar servicios genéricos de forma estándar, al mismo tiempo que mantiene brevedad y sencillez en consideración con los recursos limitados de un dispositivo móvil. Por último se tiene el trabajo de grado de Hernández A (2006) en su trabajo de grado titulado “Desarollo de una aplicación para un dispositivo móvil ipaq, para el control del material médico quirúrgico y medicinas utilizados en las ambulancias de la empresa global care services, c.a.”, Universidad Nueva Esparta, caracas, Venezuela; el objetivo del proyecto, se centro en el desarrollo de una aplicación móvil para un dispositivo móvil IPAQ, el cual se encarga de mantener un control del material médico quirúrgico y medicinas en las ambulancias de la Empresa Global Care, C.A. La aplicación realizada hace uso de la tecnología wi-fi, Access point la cual sirve de información y base para la comunicación entre las redes inalámbricas y el intercambio de información. 28 Aprovechando la información del trabajo de grado antes mencionado, se aclara uno de los aspectos más importantes de una aplicación, que es su capacidad de ser multiplataforma ya que en el caso de los teléfonos móviles se puede observar la gran cantidad y variedad que existen diferenciándose con marcas, modelos y lo más importante el sistema operativo. A esto viene que si una aplicación móvil puede ser implantada y ejecutada en distintos sistemas operativos móviles se puede decir que esta es multiplataforma. 2.2 Bases teóricas Para el Lic. Jose, P. (2010), las bases teóricas constituyen el corazón del trabajo de investigación, ya que es sobre este que se construye todo el documento. Una buena base teórica formará la plataforma sobre la cual se construye el análisis de los resultados obtenidos en el trabajo, sin esta base no se puede analizar los resultados de dicha investigación. En esta área se exponen las líneas de investigación y planteamientos, dando en si un enfoque de las bases teóricas para el desarrollo y comprensión de la problemática. 2.2.1 Tecnología Móvil Según Miguel, A. (2008), los teléfonos móviles han dejado de ser un mero instrumento de comunicación interpersonal. Si bien el grueso de los usuarios aun no ha abrazado todas las posibilidades abiertas por la extensión de la nueva generación de redes y el desarrollo de terminales “inteligentes”, estos dispositivos y sus aplicaciones ya forman parte “de nuestra vida cotidiana, de los espacios de interacción social y te los ritos cotidianos en los que construimos como sujetos y como sociedades” en un grado suficiente como para explorar en profundidad su potencial y el modo de que los usuarios los asumen. Así mismo con lo mencionado anteriormente, un Smartphone con los distintos Sistemas Operativos tiene como base la tecnología móvil que es exactamente lo que el nombre implica, una tecnología que es portátil. Los dispositivos móviles pueden ser capaces de utilizar una variedad de tecnologías de la comunicación, tales como: 29 • Fidelidad inalámbrica (Wi-Fi), un tipo de tecnología inalámbrica de red ubicada en una determinada área. • Bluetooth, conecta dispositivos móviles de forma inalámbrica. • ”Tercera generación” (3G o UMTS), sistema global para comunicaciones móviles (GSM) y el servicio general de radio por paquetes (GPRS), servicios de datos, los datos de los servicios de redes para teléfonos móviles. • • H de HSDPA:High Speed Downlink Packet Access, también conocida como 3’5G, 3G+ o Turbo3G, es la optimización de la tecnología espectral UMTS/WCDMA, incluida en las especificaciones de 3GPP Release 5 y consiste en un nuevo canal compartido en el enlace descendente (downlink) que mejora significativamente la capacidad máxima de transferencia de información pudiéndose alcanzar tasas de hasta 14 Mbps de descarga. Servicios de acceso telefónico, servicios de redes de datos usando módems y líneas telefónicas. • Redes privadas virtuales, un acceso seguro a una red privada. Por tanto, es posible conectarse a la red de la entidad bancaria a través del dispositivo móvil por vía internet desde cualquier zona geográfica a partir de las siguientes tecnologías de comunicación. 2.2.2 Tecnología de conexión inalámbrica vía datos GPRS es la sigla de General Packet Radio Services (servicios generales de paquetes por radio). A menudo se describe como "2,5 G", es decir, una tecnología entre la segunda (2G) y la tercera (3G) generación de tecnología móvil digital. Se transmite a través de redes de telefonía móvil y envía datos a una velocidad de hasta 114 Kbps. El usuario puede utilizar el teléfono móvil y el ordenador de bolsillo para navegar por Internet, enviar y recibir correo, y descargar datos y soportes. Permite realizar videoconferencias con sus colegas y utilizar mensajes instantáneos para charlar con sus familiares y amigos, esté donde esté, esto hace posible la comunicación en tiempo real de datos. Además, puede emplearse como conexión para el ordenador portátil u otros dispositivos móviles. 30 Al igual que GPRS, la tecnología 3G (tecnología inalámbrica de tercera generación) es un servicio de comunicaciones inalámbricas que le permite estar conectado permanentemente a Internet a través del teléfono móvil, el ordenador de bolsillo, el Tablet PC o el ordenador portátil. La tecnología 3G promete una mejor calidad y fiabilidad, una mayor velocidad de transmisión de datos y un ancho de banda superior (que incluye la posibilidad de ejecutar aplicaciones multimedia). Con velocidades de datos de hasta 384 Kbps, es casi siete veces más rápida que una conexión telefónica estándar. Lo que permite que podamos tener video llamadas, dado que dichas llamadas se harán con una conexión directa a internet. Las redes 3G ofrecen mayor grado de seguridad que sus predecesoras 2G. Al momento de realizar una llamada y al autenticarse en la red, el usuario puede estar seguro de que la red a la que se está conectando es la adecuada y no una imitación. Además tienen la ventaja, que al no estar orientadas a una determinada conexión permiten realizar pedidos al canal sin saturar a la red, es decir, cada paquete solicitado puede tener distintas rutas entre el origen y el destino, permitiendo que su algoritmo escoja cual es la mejor ruta para que su pedido se haga efectivo. Las redes 3G usan el cifrado por bloques denominado Kasumi, algoritmo también conocido como A5/3, el cual es una versión modificada del cifrado Misty A5/1. Según sus creadores, esta codificación es más robusta, rápida pero también fácil de utilizar, dejándola como un cifrado más vulnerable para posibles ataques como los de “Related Key”. Un teléfono inteligente (smartphone en inglés) es un teléfono móvil construido con una plataforma informática móvil, con una mayor capacidad de computación y conectividad que un teléfono móvil convencional. El término “inteligente” hace referencia a la capacidad de usarse como un computador de bolsillo, llegando incluso a remplazar a un computador personal en algunos casos. En un término mas especifico es un teléfono móvil que ofrece más funciones que un teléfono móvil común. Casi todos los teléfonos inteligentes son móviles que soportan 31 completamente un cliente de correo electrónico con la funcionalidad completa de un organizador personal. 2.2.3 Smartphone Según Ana, I y Bernal, T. (2011), los móviles y en concreto los Smartphone, se han convertido en nuevos dispositivos para el acceso a contenidos digitales. La característica más importante (una de ellas) de casi todos los teléfonos inteligentes es que permiten la instalación de programas para incrementar el procesamiento de datos y la conectividad. Estas aplicaciones pueden ser desarrolladas por el fabricante del dispositivo, por el operador o por un tercero. Entre otras características comunes está la función multitarea, el acceso a Internet vía WiFi o 3G, a los programas de agenda, a una cámara digital integrada, administración de contactos, acelerómetros, GPS y algunos programas de navegación así como ocasionalmente la habilidad de leer documentos de negocios en variedad de formatos como PDF. Los Smartphone son la nueva generación de teléfonos, que aprovechan la miniaturización de todos los componentes para ofrecer mucho más poder, memoria, velocidad y conectividad. Es decir, un Smartphone es un teléfono celular capaz de ejecutar muchas tareas diferentes además de la simple posibilidad de mantenernos en contacto telefónicamente o mediante mensajes con el resto del mundo. Estos teléfonos se constituyen en la mayoría de los casos en verdaderos centros multimedia o de trabajo. También el término "Inteligente" hace referencia a cualquier interfaz, como un teclado QWERTY en miniatura, una pantalla táctil (lo más habitual, denominándose en este caso "teléfono móvil táctil"), o simplemente el sistema operativo móvil que posee, diferenciando su uso mediante una exclusiva disposición de los menús, teclas, atajos, entre muchas más opciones… Así mismo, todos los teléfonos inteligentes también permiten al usuario instalar programas adicionales, normalmente inclusive desde terceros. Por lo tanto, otra de sus características más destacadas reside en la posibilidad que nos brinda de 32 instalar programas, mediante los cuales el usuario logra ampliar las capacidades y funcionalidades del equipo, más allá de cómo lo haya entregado el fabricante. Así mismo, el Smartphone se diferencia del resto de los móviles debido a una serie de características que hacen de él un teléfono inteligente. Entre las características mencionadas se destacan su excelente acceso y conectividad a Internet, su soporte de clientes de correo electrónico, la eficaz administración de nuestros datos y contactos, entre otras. Por otra parte, el Smartphone ofrece la posibilidad de lectura de archivos en diversos formatos de acuerdo a las aplicaciones previamente instaladas, incluyendo las más conocidas suites ofimáticas, como es el caso de Microsoft Office. En cuanto a su diseño, por lo general los Smartphone poseen un tamaño significativamente mayor al de un teléfono móvil convencional, esto se debe a la necesidad de incorporar ciertas características especiales como teclados del tipo Qwerty, pantallas táctiles más grandes de alta definición, entre otras. (Ver figura 1) Figura 1 Ejemplo de un teléfono smartphone. 2.2.4 Sistema Operativo móvil Según Rita, C, los Smartphone funcionan a través de sistemas operativos que son como su alma, el nervio motor de sus acciones. En el caso que estamos tratando aquí, el sistema operativo móvil o SO móvil es el software más importante de un teléfono celular, porque proporciona la interfaz del usuario para el manejo de los 33 componentes gráficos de la pantalla y la interacción con los demás programas y aplicaciones; administra los recursos del dispositivo, coordina el hardware y ordena los archivos o directorios. Por otra parte un S.O móvil es un sistema operativo que controla un dispositivo móvil al igual que los PCs utilizan Windows o Linux entre otros. Sin embargo, los sistemas operativos móviles son mucho más simples y están más orientados a la conectividad inalámbrica, los formatos multimedia para móviles y las diferentes maneras de introducir información en ellos. Así mismo podemos decir que el sistema operativo está dividido en capas, las cuales son: • Kernel: El núcleo o kernel proporciona el acceso a los distintos elementos del hardware del dispositivo. Ofrece distintos servicios a las superiores como son los controladores o drivers para el hardware, la gestión de procesos, el sistema de los archivos y el acceso y gestión de la memoria. • Middleware: El middleware es el conjunto de módulos que hacen posible la propia existencia de aplicaciones para móviles. Es totalmente transparente para el usuario y ofrece servicios claves como el motor de mensajeria y comunicaciones, códecs multimedia, intérpretes de páginas web, gestión del dispositivo y seguridad. • Entorno de ejecución de aplicaciones: El entorno de ejecución de aplicaciones consiste en un gestor de aplicaciones y un conjunto de interfaces programables abiertas y programables por parte de los desarrolladores para facilitar la creación de software. • Interfaz de usuario: Las interfaces de usuario facilitan la interacción con el usuario y el diseño de la presentación visual de la aplicación. Los servicios que incluye son el de componentes gráficos (botones, pantallas, listas, etc.) y el del marco de interacción. 34 En otras palabras, los sistemas operativos son los programas que permiten funcionar a muchas máquinas. No hablamos solo de ordenadores. En los móviles cada vez tienen más importancia. Además el universo de los móviles va hacia la personalización radical: sus funciones se han multiplicado, sirven para más cosas que nunca y existe un mundo de pequeños programas (a menudo gratuitos) que realizan infinidad de tareas. Jugar, hacer tareas de oficina, sacarle partido a la geolocalización... Y además está la Nube o Cloud-Computing, que hace que muchos servicios estén permanentemente online. Es fundamental que un sistema operativo disponga de una gran variedad de aplicaciones de alta calidad. Aunque no todas sean útiles para todos los usuarios, lo que cuenta es que cada uno tenga la posibilidad de personalizar su móvil hasta el mínimo detalle. La clave es que todos encuentren lo que buscan, lo que necesitan. Para conseguir esto, las diferentes plataformas de aplicaciones tienen que exigirse al máximo. A continuación, se mostrara una breve explicación de los sistemas operativos móviles más usados hoy en día: • Android: Es un sistema operativo móvil basado en Linux, que junto con aplicaciones middleware está enfocado para ser utilizado en dispositivos móviles como teléfonos inteligentes, tabletas, Google TV y otros dispositivos. Es desarrollado por la Open Handset Alliance, la cual es liderada por Google. Este sistema por lo general maneja aplicaciones como Market (Mercado) o su actualización, Google Play. 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 el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010, con una cuota de mercado de 43,6% en el tercer trimestre. A nivel mundial alcanzó una cuota 35 de mercado del 50,9% durante el cuarto trimestre de 2011, más del doble que el segundo sistema operativo (iOS de iPhone) con más cuota. Tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se han sobrepasado las 600.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 pueden ser la App Store de Amazon o la tienda de aplicaciones Samsung Apps de Samsung. Los programas están escritos en el lenguaje de programación Java. El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles. • IOS: (anteriormente denominado iPhone OS) Es un sistema operativo móvil de Apple. Originalmente desarrollado para el iPhone, 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. Tenía el 26% de cuota de mercado de sistemas operativos móviles vendidos en el último cuatrimestre de 2010, detrás de Google Android y Nokia Symbian. 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 acelerómetros internos para hacer que algunas aplicaciones respondan a sacudir el dispositivo (por ejemplo, para el comando deshacer) o rotarlo en 36 tres dimensiones (un resultado común es cambiar de modo vertical al apaisado u horizontal). • BlackBerry OS: Es un sistema operativo móvil desarrollado por Research In Motion para sus dispositivos BlackBerry. El sistema permite multitarea y tiene soporte para diferentes métodos de entrada adoptados por RIM para su uso en computadoras de mano, particularmente la trackwheel, trackball, touchpad y pantallas táctiles. Su desarrollo se remonta la aparición de los primeros handheld en 1999. Estos dispositivos permiten el acceso a correo electrónico, navegación web y sincronización con programas como Microsoft Exchange o Lotus Notes aparte de poder hacer las funciones usuales de un teléfono móvil. El SO BlackBerry está claramente orientado a su uso profesional como gestor de correo electrónico y agenda. Desde la cuarta versión se puede sincronizar el dispositivo con el correo electrónico, el calendario, tareas, notas y contactos de Microsoft Exchange Server además es compatible también con Lotus Notes y Novell GroupWise. BlackBerry Enterprise Server (BES) proporciona el acceso y organización del email a grandes compañías identificando a cada usuario con un único BlackBerry PIN. • Symbian: Es un sistema operativo que fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia, Sony Ericsson, 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. Fruto de esa alianza, crearon la empresa Symbian Ltd en 1998 con el objeto de desarrollar un sistema operativo abierto para las diversas plataformas de teléfonos móviles. 37 Y así llego el Sistema Operativo Symbian, un sistema operativo diseñado específicamente para dispositivos móviles y diseñado para funcionar en un espacio pequeño, con escasos recursos de memoria y preparado para administrar de manera eficiente la energía (por aquella época el problema del consumo energético en los móviles era un problema importante con el surgimiento de pantallas a color y la necesidad de proceso). • Windows mobile: Un sistema operativo móvil compacto desarrollado por Microsoft, y diseñado para su uso en teléfonos inteligentes (Smartphones) y otros dispositivos móviles. Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas utilizando las API de Microsoft Windows. Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente. Además, existe una gran oferta de software de terceros disponible para Windows Mobile, la cual se puede adquirir a través de Windows Marketplace for Mobile. Originalmente apareció bajo el nombre de Pocket PC, como una ramificación de desarrollo de Windows CE para equipos móviles con capacidades limitadas. En la actualidad, la mayoría de los teléfonos con Windows Mobile vienen con un estilete digital, que se utiliza para introducir comandos pulsando en la pantalla. • Windows phone: Es un sistema operativo móvil desarrollado por Microsoft, como sucesor de la plataforma Windows Mobile. Está pensado para el mercado de consumo generalista en lugar del mercado empresarial por lo que carece de muchas funcionalidades que proporciona la versión anterior. Microsoft ha decidido no hacer compatible Windows Phone 7 con Windows Mobile 6 por lo que las aplicaciones existentes no funcionan en Windows Phone 7 haciendo necesario desarrollar nuevas aplicaciones. Con Windows Phone 7 Microsoft ofrece una nueva interfaz de usuario e integra varios servicios en el sistema operativo. Microsoft planeaba un 38 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. 2.2.5 Aplicación móvil Una aplicación móvil, es aquella que es ejecutada en una plataforma móvil desde cualquier lugar o zona geográfica utilizando la tecnología de conexión de datos (H, 3G, EDGE, entre otros…), se hará uso de la señal en caso de necesitar una conexión para guardar o consultar información (en este caso a una base de datos externa). Esta aplicación será realizada en html5 siendo una colección de estándares para el diseño y desarrollo de aplicaciones móviles y páginas web. Una de las razones por la cual se eligió este lenguaje de marcado es por su multiplataforma ya que siendo una aplicación móvil se debe adaptar a la gran cantidad de teléfonos móviles que hay hoy en día en el mercado. Al usar HTML5 no nos referimos solo a su lenguaje de marcado mencionado anteriormente, ya que también está compuesto por diversas tecnologías (javascript, css3, DOM, ajax, node.js, entre otros…), con el manejo adecuado de estas se puede lograr un sistema o aplicación de calidad. Para la implementación de la aplicación móvil se hara uso de sencha touch, un framework con alto rendimiendo de HTML5, este marco de aplicación móvil nos permitirá desarrollar la aplicación sobre IOS, Android, Blackberry, entre otros sistemas operativos móviles… Posee un API de gran potencial y rica en documentación, lo cual nos permite un acceso más amplio al API nativo del dispositivo para aprovechar y tomar ventaja de las características del hardware local y los servicios del sistema. Al ser finalizada la aplicación móvil en el framework explicado anteriormente se instalara en el teléfono móvil y esta guiara al usuario para el acceso de información sobre el nivel de colas bancarias. Sencha touch fue considerada como la primera opción para la implementación de la aplicación móvil por su framework basado en HTML5, ya que ahora HTML no 39 se centra solo en sistemas web si no que ahora entra al mundo de aplicaciones móviles y de escritorio ofreciendo aplicaciones más comprensibles y mejor estructuradas, interfaces amigables para el usuario, manejo de datos y información, entre muchos beneficios más que traes esta nueva tecnología. Con respecto a la conexión de la aplicación y la base de datos, se hará uso de Mysql el cual es un DBS (Servidor de base de datos). Para la comunicación que existirá entre la aplicación y la base de datos, será por medio de PHP (Hypertext Preprocessor) lo cual alimentara la base de datos y la aplicación móvil. Como se explico anteriormente PHP se encargara de obtener la información de la base de datos, pero la aplicación trabajara en tiempo real, es decir, el usuario tendrá a su disposición la información que desee consultar en cualquier momento y esta se actualizara automáticamente cuando ocurra un evento en el servidor, obteniendo como resultado el envió de la información a sus destinos. Así ofreciendo al usuario un servicio de calidad con respuesta automática en cualquier momento. La tecnología a utilizar para el envió de datos en tiempo real es llamada node.js y socket.io. Node.js es un entorno de programación en la capa del servidor basado en el lenguaje de programación javascript, con E/S de datos en una arquitectura orientada a eventos, y basado en el motor de V8, la ventaja de este entorno es que hace uso de un solo hilo para las conexiones con la base de datos mientras que otra tecnología crea un hilo diferente para cada conexión que exista y también es capaz de mantener una gran cantidad de conexiones abiertas y en espera mientras que otro entorno tiene un límite de conexiones que es bajo para la cantidad de personas que harán uso de la aplicación móvil, por otra parte socket.io tiene como objetivo realizar la conexión de las aplicaciones en tiempo real y que estas sean posibles en todos los navegadores y dispositivos móviles. 2.2.6 Teoría de colas Las colas son un aspecto de la vida moderna que nos encontramos continuamente en nuestras actividades diarias. En el contador de un supermercado, accediendo al Metro, en los Bancos, etc., el fenómeno de las colas surge cuando 40 unos recursos compartidos necesitan ser accedidos para dar servicio a un elevado número de trabajos o clientes. El estudio de las colas es importante porque proporciona tanto una base teórica del tipo de servicio que podemos esperar de un determinado recurso, como la forma en la cual dicho recurso puede ser diseñado para proporcionar un determinado grado de servicio a sus clientes. Según el Lic. José, G, un sistema de colas se puede describir como: “clientes” que llegan buscando un servicio, esperan si este no es inmediato, y abandonan el sistema una vez han sido atendidos. En algunos casos se puede admitir que los clientes abandonan el sistema si se cansan de esperar. El término “cliente” se usa con un sentido general y no implica que sea un ser humano, puede significar piezas esperando su turno para ser procesadas o una lista de trabajo esperando para imprimir en una impresora en red. (Ver figura 2) Figura 2 Un sistema de colas básico Aunque la mayor parte de los sistemas se puedan representar como en la figura 2, debe quedar claro que una representación detallada exige definir un número elevado de parámetros y funciones. La teoría de colas fue originariamente un trabajo práctico. La primera aplicación de la que se tiene noticia es del matemático danés Erlang sobre conversaciones telefónicas en 1909, para el cálculo de tamaño de centralitas. Después se convirtió en un concepto teórico que consiguió un gran desarrollo, y desde hace unos años se vuelve a hablar de un concepto aplicado aunque exige un importante trabajo de análisis para convertir las fórmulas en realidades, o viceversa. 2.3 Definición de Términos Básicos 41 Base de Datos: Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. SQL Server: Es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son TSQL y ANSI SQL. Aplicación móvil: Una aplicación móvil es un programa que se puede descargar y al que se puede acceder directamente desde un teléfono o desde algún otro aparato móvil, como por ejemplo una tablet o un reproductor MP3. Wi-fi: Es un mecanismo de conexión de dispositivos electrónicos de forma inalámbrica. Los dispositivos habilitados con Wi-Fi, tales como: un ordenador personal, una consola de videojuegos, un smartphone o un reproductor de audio digital, pueden conectarse a Internet a través de un punto de acceso de red inalámbrica. Dicho punto de acceso (o hotspot) tiene un alcance de unos 20 metros (65 pies) en interiores y al aire libre una distancia mayor. Pueden cubrir grandes áreas la superposición de múltiples puntos de acceso. HTML5: Realmente es una familia de tecnologías que en combinación nos proporcionan una nueva serie de posibilidades al momento de construir aplicaciones y sitios web. Concretamente esta familia está conformada del ya conocido HTML, Javascript y CSS3, los cuales anteriormente ya eran utilizados al construir nuestros sitios, sin embargo, con HTML5 es un tanto distinto ya que son soportados de forma nativa, es decir, al definir un script ya no es necesario establecer su tipo ya que se sobreentenderá que utilizaremos Javascript, lo mismo sucede con los estilos ya que se tomarán como CSS3 por defecto. Multiplataforma: Una aplicación es multiplataforma cuando se puede ejecutar en varios sistemas operativos. Esto quiere decir que se tendrá un archivo ejecutable compilado y funcionara en cualquier sistema operativo. 42 Javascript: Javascript es un lenguaje de programación que permite a los desarrolladores crear acciones en sus páginas web. No requiere de compilación ya que el lenguaje funciona del lado del cliente, los navegadores son los encargados de interpretar estos códigos. Utilizado para crear pequeños programas que luego son insertados en una página web y en programas más grandes, orientados a objetos mucho más complejos. Con Javascript podemos crear diferentes efectos e interactuar con nuestros usuarios. Css3: El nombre hojas de estilo en cascada viene del inglés Cascading Style Sheets, del que toma sus siglas. CSS es un lenguaje usado para definir la presentación de un documento estructurado escrito en HTML o XML2 (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirán de estándar para los agentes de usuario o navegadores. La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación. DOM: (Document object model – Modelo de objetos de documento) Especificación que determina como los objetos (texto, imágenes, enlaces, etc.) en una página web o aplicación son representados. DOM define que atributos son asociados con cada objeto y como los objetos y los atributos pueden ser manipulados. El HTML dinámico (DHTML) se basa en el DOM par cambiar dinámicamente la apariencia o información de las páginas web después de que han sido descargadas por un navegador. Ajax: Acrónimo de Asynchronous JavaScript And XML (en inglés «JavaScript y XML asíncronos»). Técnica de desarrollo web para crear aplicaciones interactivas mediante la combinación de tres tecnologías ya existentes: HTML (o XHTML) y Hojas de Estilo en Cascada (CSS) para presentar la información, Document Object Model (DOM) y JavaScript, para interactuar dinámicamente con los datos, XML y XSLT, para intercambiar y manipular datos de manera desincronizada con un servidor web (aunque las 43 aplicaciones AJAX pueden usar otro tipo de tecnologías, incluyendo texto llano, para realizar esta labor). De esta forma es posible realizar cambios sobre la misma página sin necesidad de recargarla. Esto significa aumentar la interactividad, velocidad y usabilidad en la misma. XML: Son las siglas de Extensible Markup Language, una especificación/lenguaje de programación desarrollada por el W3C. XML es una versión de SGML, diseñado especialmente para los documentos de la web. Permite que los diseñadores creen sus propias etiquetas, permitiendo la definición, transmisión, validación e interpretación de datos entre aplicaciones y entre organizaciones. Node.js: Es un entorno JavaScript de lado de servidor que utiliza un modelo asíncrono y dirigido por eventos. es un framework orientado a eventos e I/O para el motor Javascript V8 de Google en plataformas *Nix. Nos permite crear software de red escalabale, como un servidor web, es decir, nos permite crear software del lado del servidor utilizando al potente V8 y Javascript. Además las capacidades de Node para I/O (Entrada/Salida) son realmente ligeras y potentes, dando al desarrollador la posibilidad de utilizar a tope la I/O del sistema. Node soporta protocolos TCP, DNS y HTTP. PHP: (acronimo de PHP: Hypertext Preprocessor), es un lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor. Se define tambien como un lenguaje de programación para la creación rápida de contenidos dinámicos de sitios web, como son los foros, blogs, sistemas de noticias, entre otros. También, crea aplicaciones gráficas independientes del navegador y aplicaciones para servidores. Hilo de ejecución: Un hilo de ejecución, hebra o subproceso es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo y requieren de la supervisión de un proceso padre para correr o ejecutarse. 44 Socket.io: Designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiarse cualquier flujo de datos, generalmente de manera fiable y ordenada. Tiene como objetivo hacer que las aplicaciones en tiempo real sean posibles en todos los navegadores y dispositivos móviles, borrando las diferencias entre los mecanismos de transporte diferentes. Es desarrollado en javascript. 45 CAPÍTULO III MARCO METODOLÓGICO En el presente capítulo el objetivo es explicar de manera detallada el desarrollo de las aplicaciones que nos ayudaron a resolver la problemática planteada en el capítulo I, con las diversas tecnologías utilizadas para resolver el mismo. 3.1 Nivel de la Investigación Se refiere al grado de profundidad con que se aborda un fenómeno u objeto de estudio. Mediante el análisis se conocieron las características de problema planteado y se buscaron sus posibles soluciones según las necesidades de los usuarios bancarios, por lo cual, con relación al tipo de investigación, puede decirse, que el estudio responde a requerimientos técnicos y metodológicos muy precisos, enmarcados dentro de la modalidad de un estudio descriptivo. Un estudio descriptivo es un tipo de estudio en el que el investigador no interviene en el mismo, se limita a observar y describir la frecuencia de las variables que se eligieron en el diseño del estudio, ya que sólo se determinan las variables que inciden en el pleno cumplimiento de los objetivos de la entidad bancaria. Como tal, los estudios descriptivos poseen dos objetivos: • Identificar casos y situaciones, estimar su frecuencia y examinar tendencias de la población. • Justificar estudios analíticos para probar hipótesis específicas. Los estudios descriptivos son aquellos que estudian situaciones que ocurren en condiciones naturales (tal como se presentan), más que aquellos que se basan en situaciones experimentales. Por definición, los estudios descriptivos conciernen y son diseñados para describir la distribución de variables, sin considerar hipótesis causales o de otro tipo 46 ni relación entre las mismas. De ellos se derivan frecuentemente eventuales hipótesis de trabajo susceptibles de ser verificadas en una fase posterior. En el mismo orden de ideas Hernández, R.; Fernández, C. y Baptista, P. (2000, pág. 60), establecen que “los estudios descriptivos buscan especificar las propiedades relevantes de cualquier fenómeno que sea sometido a análisis”, Más adelante, también indican que “en un estudio descriptivo se selecciona una serie de cuestiones y se mide cada una de ellas independientemente, para así describir (válgase la redundancia) lo que se investiga”. La investigación descriptiva también se apoya en las bases de una investigación bibliográfica, y documental puesto que, la indagación teórica es parte de la evaluación y estudios de trabajos precedentes, y su análisis es parte fundamental de este proyecto. Es importante, igualmente destacar que desde el punto de vista metodológico el impacto de variables tales como: el conjunto de procesos y servicios demandados por los usuarios bancarios, así como las características de la entidad bancaria, deben ser descritas en detalle a objeto de ajustar un modelo de servicios alternativos en las entidades bancarias, a esa realidad y en pos de los objetivos del modelo en referencia. Con esto se pretende darle mayor rigurosidad y precisión al análisis de los resultados a obtener de fuentes diversas, para cumplir con los objetivos y conocer el problema formulado. Según Arias (2004) la investigación descriptiva: “Consiste en la caracterización de un hecho, fenómeno o grupo con el fin de establecer su estructura o comportamiento”. 3.2 Diseño de la investigación: En correspondencia con el tipo de estudio seleccionado, el diseño de esta investigación fue combinado o mixto, es decir; de Campo y Documental. El diseño de la investigación se encuadra dentro de los lineamientos de investigación de campo teniendo como base los objetivos formulados, de ahí que, fue esencial medir de fuente directa la opinión de los usuarios bancarios, siendo ellos 27 afectados directamente con los problemas que se presentan al realizar una transacción bancaria, para lo cual se realizaran entrevistas dirigidas a profundidad. Una forma fue mediante entrevistas no estructuradas en eventos científicos de carácter nacional y se aplicaran además encuestas, en este caso orientadas a conocer la situación de prestación del servicio de biblioteca, en cuanto al sistema de variables planteado. En referencia a este tipo de estudios, Balestrini (1997, Pág. 9), considera que una indagación de campo es: "Una relativa y circunscrita área de estudio, a través de la cual, los datos se recogen de manera directa de la realidad en su ambiente natural, con la aplicación de determinados instrumentos de recolección de información, considerándose de esta forma que los datos son primarios, por cuanto se recogen en su realidad cotidiana, natural, observando, entrevistando o interrogando a las personas vinculadas con el problema investigado." 3.3 Tipo de Investigación Esta investigación también puede enmarcarse dentro de la tipología de proyecto factible. En este caso, los aspectos descriptivos de la realidad servirán de sustento para la formulación de un modelo servicios alternativos en las entidades bancarias. La presente investigación desarrolló, de acuerdo a Hernández y otros (2000), un esquema cónsono con la metodología aplicada a los proyectos factibles toda vez, que se encaminó a la resolución de un problema práctico, mediante la formulación de una propuesta que conlleva a una alternativa de solución al problema planteado. Ya que según el Manual de Trabajo de Especialización, Maestrías y Tesis Doctorales de la Universidad Pedagógica Experimental Libertador U.P.E.L (1998) se establece que: “Consiste en la investigación, elaboración y desarrollo de una propuesta de un modelo operativo viable para solucionar problemas, requerimientos o necesidades de organizaciones o grupo sociales, puede referirse a la formulación políticas, programas, tecnología, métodos o procesos. El proyecto debe 28 tener apoyo en una investigación de tipo documental de campo o un diseño que incluyan ambas modalidades” (Pág.7). 3.4 Población y Muestra. La población o universo se refiere al “conjunto para el cual serán válidas las conclusiones que se obtengan: a los elementos o unidades (personas, instituciones o cosas) involucradas en la investigación”. (Morles, 1994, p. 17). Para la esta investigación se considera en lo sucesivo como población a las personas que integran la empresa Vigilancia Oriandes, C.A. La muestra es un "subconjunto representativo de un universo o población." (Morles, 1994, p. 54). Para el este trabajo, el muestreo será No Probabilístico causal, ya que la selección de la muestra se tomó a juicio del investigador, tomando como criterio la relación que existe entre los elementos que integran dicha muestra, a razón de la influencia que ejercen entre sí. En consecuencia, la muestra estará integrada por los usuarios de las entidades bancarias y empleados bancarios. 3.5 Técnicas e Instrumentos de Recolección de datos. Debido a la naturaleza del problema a investigar y por las distintas implicaciones que a nivel bancario conlleva, se han tomado en cuenta diversos métodos para alcanzar la mayor exactitud en los resultados de la investigación. En primer lugar las técnicas de recolección de datos son las distintas formas o maneras en que se puede obtener información. Para esta investigación se requiere utilizar la técnica de observación. 3.5.1 Técnica de observación. Por la naturaleza de este estudio, identificado bajo la modalidad de investigación de campo, se hizo necesario utilizar la técnica de la observación del ambiente en su totalidad, para precisar las condiciones y posibilidades de aplicación 29 del modelo de servicios alternativos. La observación directa permitió además el registro de los procesos críticos envueltos en la investigación. Sobre este instrumento, Hernández y otros (2000, Pág. 309) manifiestan que “La observación consiste en el registro sistemático, válido y confiable de comportamiento o conducta manifiesta. Puede utilizarse como instrumento de medición en muy diversas circunstancias”. 3.6 Fase Metodológica Para el siguiente proyecto la metodología de desarrollo llamada “Programación Extrema” o “Metodología XP”, esta metodología está definida por cuatro fases, que son las siguientes: planificación, diseño, desarrollo y pruebas. Donde estas fases marcan los pasos a seguir para la elaboración de un proyecto de desarrollo de software, donde asimismo, cada una de de las fases mencionadas realizan actividades independientes para poder completarse. Figura Nº3. Fases de la metodología XP Fuente: Quiroz, Danniel (2012) 30 3.6.1 Fase I Planificación 3.6.1.1 Historias de Usuario Las historias de usuario forman la base de una gran cantidad de metodologías, así como XP; su prioridad es definir las necesidades del cliente, de manera que permita resaltar los aspectos y funcionalidades más importantes para obtener un resultado final efectivo. Esta es una técnica que permite y facilita a la metodología XP resaltar los requerimientos principales del sistema, con la finalidad de conocer las expectativas y crear una base solida de funcionalidades del sistema a desarrollar. A continuación se presentaran las historias de usuario: Cuadro Nº1. Historia de usuario Nº01 Historia de Usuario Identificador: 01 Nombre: Iniciar sesión Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: Cualquier persona que desee retirar un ticket por medio de la aplicación, debe tener una cuenta e iniciar sesión, para así seleccionar el banco y tomar su número. Fuente: Quiroz, Danniel (2012) 31 Cuadro Nº2. Historia de usuarioNº02 Historia de Usuario Identificador: 02 Nombre: Sincronizar cuenta con distintos dispositivos Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: Le permite al usuario poder utilizar su cuenta desde cualquier dispositivo móvil. Fuente: Quiroz, Danniel (2012) Cuadro Nº3. Historia de usuarioNº03 Historia de Usuario Identificador: 03 Nombre: Multiplataforma (móvil y Web). Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: Permite al usuario poder utilizar la aplicación y tomar ticket de banco mediante una computadora de escritorio, laptop, tablet y móvil. Fuente: Quiroz, Danniel (2012) 32 Cuadro Nº4. Historia de usuarioNº04 Historia de Usuario Identificador: 04 Nombre: Crear cuentas de usuario. Prioridad: Alta Usuario: Usuario de la aplicación Programador: Danniel Quiroz Descripción: Toda persona que desee usar la aplicación debe crear una cuenta desde la misma aplicación, agregando los datos necesarios se podrá tener un registro satisfactorio y una cuenta. Fuente: Quiroz, Danniel (2012) Cuadro Nº5. Historia de usuarioNº05 Historia de Usuario Identificador: 05 Nombre: Visualizar los bancos disponibles. Prioridad: Alta Usuario: Usuario de la aplicación Programador: Danniel Quiroz Descripción: Por medio de la aplicación el usuario podrá visualizar los bancos disponibles por la entidad financiera, así también poder ver su ubicación y cuantas personas esperan ser atendidas. Fuente: Quiroz, Danniel (2012) 33 Cuadro Nº6. Historia de usuarioNº06 Historia de Usuario Identificador: 06 Nombre: Población de los bancos. Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: Por medio de la aplicación móvil el usuario podrá visualizar la población de cada entidad financiera. Fuente: Quiroz, Danniel (2012) Cuadro Nº7. Historia de usuarioNº07 Historia de Usuario Identificador: 07 Nombre: Visualizar ubicación de los bancos. Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: El usuario podrá ver la ubicación exacta del banco por medio de la aplicación que mostrara un mapa geográfico indicando con coordenadas el lugar del mismo. Fuente: Quiroz, Danniel (2012) 34 Cuadro Nº8. Historia de usuarioNº08 Historia de Usuario Identificador: 08 Nombre: Tomar ticket para atención en taquilla. Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: El usuario podrá tomar un número para ser atendido por taquilla desde la aplicación. Fuente: Quiroz, Danniel (2012) Cuadro Nº9. Historia de usuarioNº09 Historia de Usuario Identificador: 09 Nombre: Tomar ticket para atención al cliente. Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: El usuario podrá tomar un número para ser atendido por atención al cliente desde la aplicación. Fuente: Quiroz, Danniel (2012) 35 Cuadro Nº10. Historia de usuarioNº10 Historia de Usuario Identificador: 10 Nombre: Visualizar los ticket tomados. Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: Desde la aplicación el usuario podrá ver todos los tickets que ha tomado de los distintos bancos. y a la vez ver cuántas personas tiene por delante para ser atendido. Fuente: Quiroz, Danniel (2012) Cuadro Nº11. Historia de usuarioNº11 Historia de Usuario Identificador: 11 Nombre: Tiempo de espera para atención al cliente. Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: Al usuario poder visualizar sus tickets de atención al cliente por medio de la aplicación, también podrá ver cuántas personas tiene por delante para saber cuándo será atendido. Fuente: Quiroz, Danniel (2012) 36 Cuadro Nº12. Historia de usuarioNº12 Historia de Usuario Identificador: 12 Nombre: Tiempo de espera para atención en taquilla. Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: Al usuario poder visualizar sus tickets de atención en taquilla por medio de la aplicación, también podrá ver cuántas personas tiene por delante para saber cuándo será atendido. Fuente: Quiroz, Danniel (2012) Cuadro Nº13. Historia de usuarioNº13 Historia de Usuario Identificador: 13 Nombre: Ver perfil de usuario. Usuario: Usuario de la aplicación Prioridad: Alta Programador: Danniel Quiroz Descripción: Al iniciar sesión el usuario podrá visualizar su perfil con los datos que ingreso al crear la cuenta, como el nombre, apellido, correo electrónico, entre otros... También podrá ver si tiene un ticket en espera. Fuente: Quiroz, Danniel (2012) 37 Cuadro Nº14. Historia de usuarioNº14 Historia de Usuario Identificador: 14 Nombre: Información de la aplicación. Prioridad: Alta Usuario: Usuario de la aplicación Programador: Danniel Quiroz Descripción: La aplicación dispondrá de una resumida información que explicara de forma breve que funciones realiza la misma. Fuente: Quiroz, Danniel (2012) 3.6.1.2 Plan de Entrega Una vez planteados los procesos del la aplicación a desarrollar como historias de usuario, planificando una estrategia para aprovechar el tiempo de desarrollo, se llevo a cabo un plan de entrega, el cual permite resaltar la implementación de las tareas realizadas en un orden cronológico. Después de visualizar las historias de usuario seleccionadas, se obtienen el orden de las mismas por prioridad y riesgo, mostrando lo que se conoce como las iteraciones de trabajo. 3.6.1.3 Iteraciones Iterar son ciclos y repeticiones, esto se realiza en el momento de la creación de un software para tener varias versiones y aplicar mejoras, repetir para acomodar errores y crear actualizaciones de la aplicación después de ser evaluado. Cada iteración crea una historia de la aplicación diferente, por lo tanto, varias iteraciones realizadas pueden aportar a una aplicación integrada y eficiente. 3.6.2 Fase II Diseño En la siguiente fase la metodología utilizada aplicara una serie de herramientas para realizar el sistema, las cuales son las siguientes: Casos de uso. Especificación de casos de uso. Diagramas de clases. 38 3.6.2.1 Casos de uso Un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno(s) de sus servicios, el cual se encarga de especificar el contexto de un sistema, capturar los requerimientos del sistema, manejar implementación y generar pruebas. El caso de uso es iniciado por un actor y se encarga de describir tanto lo que hace el actor como lo que hace el sistema cuando interactúa con él. Ver figura Nº4. 3.6.2.2 Especificaciones de casos de usos En las especificaciones de los casos de usos se explicara de forma detallada como el usuario interactúa con la aplicación, donde se especificaran los eventos que serán realizados, las condiciones necesarias para una salida exitosa o fallida. 3.6.2.3 Estructura de Base de Datos Para el desarrollo de la aplicación se utilizo MYSQL como manejador de base de datos, pertenece a la familia de base de datos SQL, ya que son base de datos relacionales donde se definen clausulas como tablas y join, lo cual cumplen un esquema de entidad relación 3.6.2.4 Diagrama de clases Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargaran del funcionamiento y la relación entre uno y otro. 3.6.2.5 Diseño de interfaz La interfaz posee un diseño sencillo y claro, una plantilla que se encarga de mostrar las ventanas en forma de transiciones, de tal modo que todas mantengan la misma homogeneidad y sean coherentes entre sí. (Ver Figura 4). 39 3.6.2.6 Arquitectura del sistema La mayoría de las aplicaciones necesitan tener una relación con distintos agentes externos para su funcionamiento eficiente, siendo servicios de gran importancia como conexión a internet o base de datos externas. 3.6.3 Fase III desarrollo Consiste en realizar el diseño de acuerdo al plan para la creación del software final, el cual esta fase involucra una serie de pasos internos del sistema, desarrollados por partes y asegurando que todos sus módulos estén sincronizados entre sí. 3.6.4 Fase IV Pruebas La última fase de la metodología XP donde se llevara a cabo las pruebas de la aplicación para garantizar la eficiencia del sistema (pruebas que fueron realizadas al terminar la implementación para comprobar la integridad de los módulos). 3.7 Fases de los objetivos específicos Para llevar a cabo la investigación, se planea dividir la misma en cuatro fases, acorde a los objetivos establecidos, a saber: Fase I: Investigar el funcionamiento del sistema de colas de las entidades bancarias. Mediante la observación se desea investigar el funcionamiento interno del sistema de colas bancarias, analizarlo y comprenderlo para que así con este proceso se pueda se logre obtener la causa que generan las colas y una solución efectiva que permita relacionar el sistema actual bancario con el propuesto en el trabajo de grado. Fase II: Analizar con que tecnología se puede comunicar en tiempo real la disponibilidad de los bancos a los usuarios del sistema. Investigar con cuales herramientas y tecnologías se deberá trabajar para que el usuario logre tener la información del sistema en tiempo real, lo cual asegurara que los datos transmitidos por la aplicación son exactos. 40 Fase III: Determinar las herramientas necesarias para el desarrollo y ejecución del Sistema propuesto. Ya analizado el sistema bancario y afirmado el sistema a realizar para el trabajo de grado, se investiga y toma en cuenta las herramientas y tecnologías necesarias para la implementación del sistema propuesto. Fase IV: Diseñar un modelo integral de información con interfaz atractiva e intuitiva para usuarios generales. Considerando los procesos mencionados en la fase anterior, se diseñara la interfaz que utilizara el usuario lo cual deberá ser lo más amigable posible, con el fin de que el sistema pueda ser usado por cualquiera. 41 CAPÍTULO IV RESULTADOS En el siguiente capítulo, se visualizaran y documentaran los resultados del trabajo desarrollado bajo la metodología XP. 4.1 Fase I Planificación 4.1.1 Historias de Usuario • Historia de usuario Nº01, esta historia de usuario permite que cualquier usuario tener una cuenta propia y poder iniciar sesión para así hacer uso de la aplicación. Ver figura Nº9 y Cuadro Nº1. • Historia de usuario Nº02, el usuario puede iniciar sesión en cualquier dispositivo móvil, pc, tablet, laptop, entre otros. Ver figura Nº9 y Cuadro Nº2. • Historia de usuario Nº03, el usuario puede hacer uso de la aplicación desde cualquier dispositivo móvil, pc, tablet, entre otros, que posea conexión de datos. • Historia de usuario Nº04, cualquier usuario puede crear una cuenta para hacer uso de la aplicación planteada. Ver figura Nº10 y Cuadro Nº4. • Historia de usuario Nº05, el usuario que ya posea una cuenta e inicie sesión, podrá visualizar los bancos disponibles para dicha entidad. Ver figura Nº12 y Cuadro N51. • Historia de usuario Nº06, la aplicación móvil posee la función de ver la población bancaria en las entidades disponibles. Ver figura Nº13 y cuadro Nº6. • Historia de usuario Nº07, por medio de la aplicación se puede visualizar la ubicación exacta de la entidad financiera. Ver figura Nº14 y cuadro Nº7. 42 • Historia de usuario Nº08, el usuario puede tomar un numero para atención en taquilla. Ver figura Nº13 y cuadro Nº8. • Historia de usuario Nº09, el usuario puede tomar un numero para atención en taquilla. Ver figura Nº13 y cuadro Nº9. • Historia de usuario Nº10, el usuario podrá visualizar los ticket que ha tomado y estén en vigente (no han sido atendidos). Ver figura Nº15 y cuadro Nº10. • Historia de usuario Nº11, el usuario por medio de la aplicación podrá ver cuántas personas tiene por delante en atención al cliente. Ver figura Nº15 y cuadro Nº11. • Historia de usuario Nº12, el usuario por medio de la aplicación podrá ver cuántas personas tiene por delante en atención en taquilla. Ver figura Nº15 y cuadro Nº12. • Historia de usuario Nº13, desde la aplicación el usuario podrá ver sus datos básicos que ingreso al momento de crear la cuenta. Ver figura Nº16 y cuadroNº13. • Historia de usuario Nº14, un usuario que sea su primera vez en usar la aplicación podrá visualizar una información básica del funcionamiento de la misma. Ver figura Nº17 y cuadro Nº14. 4.1.2 Plan de Entrega Cuadro Nº15. Listas de Historias de Usuario (HU) Historias de Usuario (HU) Numero Nombre 1 Iniciar sesión 2 Sincronizar cuentas con Prioridad Dependencia Alta 4 Media 1,3,4,5,6,7,8,9,10,11, distintos dispositivos 3 12,13,14 Multiplataforma (móvil y Media Web). 1,3,4,5,6,7,8,9,10,11, 12,13,14 43 4 Crear cuentas de usuario. Alta Ninguno 5 Visualizar los bancos Alta 1 Alta 1,5 Media 1,5 Alta 1,5,6,7 Alta 1,5,6,7 Alta 8,9 Alta 10 Alta 10 disponibles. 6 Población de los bancos. 7 Visualizar ubicación de los bancos 8 Tomar ticket para atención en taquilla. 9 Tomar ticket para atención al cliente. 10 Visualizar los tickets tomados. 11 Tiempo de espera para atención al cliente. 12 Tiempo de espera para atención en taquilla. 13 Ver perfil de usuario. Media 1,4 14 Información de la aplicación. Media 1 Fuente: Quiroz, Danniel (2012) 4.1.3 Iteraciones Cuadro Nº16. Lista de Iteraciones Historias de Usuario (HU) Iteración 4,1 1ra(V0.1) 5 2da(V0.3) 13 3ra(V0.4) 6,8,9,10 4ta(V0.5) 11,12,14 5ta(V0.7) 2,3 6ta(V0.8) 44 7ma(V1.0) 7 Fuente: Quiroz, Danniel (2012) Ya definidas las iteraciones, lo siguiente a realizar es establecer las pruebas que se deben culminar en cada iteración para poder avanzar a la siguiente versión de la aplicación, las pruebas son las siguientes: (Ver Cuadro 17). Cuadro Nº17. Iteraciones y Pruebas de Versiones Versión de la Aplicación Funcionalidades en cada version V0.1 En esta versión la aplicación tiene la capacidad de poder crear una cuenta de usuario e iniciar sesión con la misma. V0.3 Acá la aplicación después de iniciar sesión puede visualizar los bancos disponibles. V0.4 Se puede visualizar un perfil del usuario con los datos ingresados al momento de crear la cuenta. V0.5 En este punto la aplicación puede mostrar la población de los bancos en cantidad y dar la opción de tomar ticket en el banco que desee, también permite mostrar los ticket que se poseen. V0.7 Ya visualizados los ticket obtenidos podremos ver cuántas personas faltan por atender, también se habilita el menú de ayuda para obtener información de la aplicacion. V0.8 La aplicación se hace multiplataforma, de modo que se pueda ejecutar en cualquier equipo. V1.0 Esta última versión la aplicación tiene la capacidad de mostrar un mapa indicando la ubicación de cada banco por medio de coordenadas. Fuente: Quiroz, Danniel (2012) 45 4.2 Fase II Diseño 4.2.1 Casos de uso Figura Nº4. Modelo de Caso de Uso del Usuario Fuente: Quiroz, Danniel (2012) 4.2.2 Especificaciones de Casos de Usos Cuadro Nº18. Usuario crea una nueva cuenta Usuario crea una nueva cuenta 46 Definicion de Caso de Uso Nombre del caso de uso: Usuario crea una nueva cuenta Precondiciones: Ninguna Descripción: El usuario se registra y crea una cuenta para poder hacer uso de la aplicación. Condición de termino: El nuevo usuario es creado con éxito. Condición de termino Ya existe un usuario con el mismo id o se dejo un fallida: campo en blanco. Actor: Usuario Flujos de eventos Flujo Básico Flujo alternativo Paso Acción 1 Entrar a la aplicación 2 Ir a la ventana registro de usuario 3 Llenar los campos solicitados 4 Crear el nuevo usuario Paso Accion 1 No se pudo crear el usuario, ya que puede existir otra cuenta con el mismo id o correo electrónico. Fuente: Quiroz, Danniel (2012) Cuadro Nº19. Visualizar bancos disponibles Visualizar bancos disponibles 47 Definicion de Caso de Uso Nombre del caso de uso: Visualizar bancos disponibles Precondiciones: Registrarse e iniciar sesión Descripción: El usuario podrá visualizar la lista de bancos disponibles. Condición de termino: El usuario vio los bancos disponibles Condición de termino Ninguna. fallida: Actor: Usuario Flujos de eventos Flujo Básico Paso Acción 1 Entrar a la aplicación 2 Iniciar sesión 3 Ir a la ventana de bancos 4 Ver los bancos disponibles Fuente: Quiroz, Danniel (2012) Cuadro Nº20. Ver población bancaria Ver población bancaria 48 Definicion de Caso de Uso Nombre del caso de uso: Ver población bancaria Precondiciones: Registrarse, iniciar sesión e ir a listas de bancos Descripción: Permite al usuario ver la población de cada banco Condición de termino: El usuario vio la cantidad de personas en cada banco Condición de termino Ninguna. fallida: Actor: Usuario Flujos de eventos Flujo Básico Paso Acción 1 Entrar a la aplicación 2 Iniciar sesión 3 Ir a la ventana de bancos 4 Ver los bancos disponibles 5 Ver la cantidad de personas que posee cada banco Fuente: Quiroz, Danniel (2012) Cuadro Nº21. Ver ubicación del banco Ver ubicación del banco 49 Definicion de Caso de Uso Nombre del caso de uso: Ver ubicación del banco Precondiciones: Registrarse, iniciar sesión e ir a listas de bancos Descripción: Permite al usuario ver la ubicación de cada banco Condición de termino: El usuario visualizo la ubicación del banco Condición de termino Ninguna. fallida: Actor: Usuario Flujos de eventos Flujo Básico Paso Acción 1 Entrar a la aplicación 2 Iniciar sesión 3 Ir a la ventana de bancos 4 Ver los bancos disponibles 5 Seleccionar un banco y ver su ubicación en mapas Fuente: Quiroz, Danniel (2012) Cuadro Nº22. Usuario toma un ticket Usuario toma un ticket 50 Definicion de Caso de Uso Nombre del caso de uso: Usuario toma un ticket Precondiciones: Registrarse, iniciar sesión, ir a listas de bancos y seleccionar un banco Descripción: Permite al usuario tomar un número del banco seleccionado para ser atendido. Condición de termino: El usuario tomo un ticket desde la aplicación Condición de termino El usuario ya tenía un numero fallida: Actor: Usuario Flujos de eventos Flujo Básico Paso Acción 1 Entrar a la aplicación 2 Iniciar sesión 3 Ir a la ventana de bancos 4 Ver los bancos disponibles 5 Seleccionar un banco y tomar un ticket (taquilla o atención al cliente). Flujo alternativo Paso Acción 1 El usuario ya tenía un número y no pudo tomar el ticket. Fuente: Quiroz, Danniel (2012) Cuadro Nº23. Usuario ve los tickets que ha tomado Usuario ve los ticket que ha tomado 51 Definicion de Caso de Uso Nombre del caso de uso: Usuario ve los ticket que ha tomado Precondiciones: Registrarse, iniciar sesión, ir a listas de bancos y tomar al menos un ticket Descripción: Permite al usuario ver los tickets que ha tomado Condición de termino: El usuario visualizo los ticket que tiene Condición de termino El usuario no ha tomado ningún ticket fallida: Actor: Usuario Flujos de eventos Flujo Básico Paso Acción 1 Entrar a la aplicación 2 Iniciar sesión 3 Ir a la ventana de bancos 4 Ver los bancos disponibles 5 Seleccionar un banco y tomar un ticket (taquilla o atención al cliente). 6 Flujo alternativo Ir a la ventana de mis ticket Paso Acción 1 El usuario no ha tomado ningún ticket Fuente: Quiroz, Danniel (2012) Cuadro Nº24. Usuario ve su cuenta y datos Usuario ve su cuenta y datos 52 Definicion de Caso de Uso Nombre del caso de uso: Usuario ve su cuenta y datos Precondiciones: Registrarse, iniciar sesión e ir a la ventada de cuenta del usuario Descripción: Permite al usuario ver sus datos Condición de termino: El usuario vio los datos de su cuenta Condición de termino Ninguna. fallida: Actor: Usuario Flujos de eventos Flujo Básico Paso Acción 1 Entrar a la aplicación 2 Iniciar sesión 3 Ir a la ventana Mi Cuenta Fuente: Quiroz, Danniel (2012) Cuadro Nº25. Usuario cierra sesión 53 Usuario cierra sesión Definicion de Caso de Uso Nombre del caso de uso: Usuario cierra sesión Precondiciones: Registrarse, iniciar sesión e ir a la ventada de cuenta del usuario Descripción: Permite al usuario cerrar la sesión Condición de termino: El usuario cerró la sesión exitosamente Condición de termino Ninguna. fallida: Actor: Usuario Flujos de eventos Flujo Básico Paso Acción 1 Entrar a la aplicación 2 Iniciar sesión 3 Ir a la ventana Mi Cuenta 4 Hacer click en cerrar sesión Fuente: Quiroz, Danniel (2012) Cuadro Nº26. Usuario ve la información de la aplicación 54 Usuario ve la información de la aplicación Definicion de Caso de Uso Nombre del caso de uso: Usuario ve la información de la aplicación Precondiciones: Registrarse, iniciar sesión e ir a la ventada de información Descripción: Permite al usuario ver la información básica de la aplicación Condición de termino: El usuario visualizo la información de la aplicacion Condición de termino Ninguna. fallida: Actor: Usuario Flujos de eventos Flujo Básico Paso Acción 1 Entrar a la aplicación 2 Iniciar sesión 3 Ir a la ventana Informacion Fuente: Quiroz, Danniel (2012) 4.2.3 Estructura de Base de Datos 55 Figura Nº5. Estructura de Base de Datos Fuente: Quiroz, Danniel (2012) 4.2.4 Diagrama de clases Figura Nº6. Diagrama de clases Fuente: Quiroz, Danniel (2012) 4.2.5 Diseño de Interfaz 56 Figura Nº7. Modelo de la interfaz Fuente: Quiroz, Danniel (2012) 4.2.6 Arquitectura del sistema 57 Figura Nº8. Arquitectura del sistema Fuente: Quiroz, Danniel (2012) 4.3 Fase III desarrollo Ventana principal 58 Al iniciar la aplicación el usuario visualizara un formulario donde deberá colocar su nombre de usuario y contraseña en caso de tener ya una cuenta y presionar el botón de “Login”, en caso contrario de no poseer una cuenta de usuario se deberá presionar el botón “Regístrate”. Figura Nº9. Pantalla Nº1 Fuente: Quiroz, Danniel (2012) Ventana Registro de Usuario 59 En la ventana presente se mostrara un formulario donde el usuario deberá colocar la información requerida y presionar Registrar para crear una cuenta y poder usar la aplicación. Figura Nº10. Pantalla Nº2 Fuente: Quiroz, Danniel (2012) Ventana principal al iniciar sesión 60 Esta ventana se visualizara al iniciar sesión, es el menú de home y se encargara de mostrar el logo de la aplicación. Figura Nº11. Pantalla Nº3 Fuente: Quiroz, Danniel (2012) Ventana menú Lista de Banco 61 Esta ventana permitirá al usuario visualizar todos los bancos disponibles e indicara con un circulo la abundancia de población del mismo cambiando de color, verde para informar que el banco posee una cantidad mínima de personas y rojo para decir lo contrario. Figura Nº12. Pantalla Nº4 Fuente: Quiroz, Danniel (2012) Ventana para indicar la cantidad de personas en el banco y toma de ticket 62 En la ventana que se muestra el usuario podrá visualizar la cantidad de personas que hay en el mismo, a que numero atienden, cual es el ultimo y cuantos hay en espera por ser atendidos. Así el usuario podrá decidir si tomar un ticket en ese banco o en otro con menos personas en espera. Para tomar el número solo deberá hacer click en el botón que dice tomar ticket. Figura Nº13. Pantalla Nº5 Fuente: Quiroz, Danniel (2012) Ventana de ubicación del banco 63 Al seleccionar el botón “MAPA” se mostrara esta ventana que indicara la ubicación exacta del banco por medio de coordenadas. Figura Nº14. Pantalla Nº6 Fuente: Quiroz, Danniel (2012) Ventana de Ver los Tickets tomados 64 En la siguiente ventana del menú Ver Ticket se mostrara una lista de todos los tickets que posee el usuario de cada banco, indicando que numero tiene el usuario y a quien atienden en ese momento. Figura Nº15. Pantalla Nº7 Fuente: Quiroz, Danniel (2012) Perfil del usuario 65 En la siguiente ventana se podrá observar los datos básicos del usuario, los que ingreso al crear la cuenta, también podrá ver si tiene algún numero pendiente y cerrar sesión desde la misma. Figura Nº16. Pantalla Nº8 Fuente: Quiroz, Danniel (2012) Menú de Información 66 En el menú de información el usuario tendrá una breve entrada del funcionamiento de la aplicación, donde se explicara el funcionamiento de cada ventana. Figura Nº17. Pantalla Nº9 Fuente: Quiroz, Danniel (2012) 4.4 Fase IV Pruebas 67 Cuadro Nº27. Evaluación de la versión 0.1 Caso de prueba: Prueba 1 Descripción: Evaluación de la versión 0.1 Historia de Usuario: 1,4 Estrategia: Caja Negra Poder crear una cuenta de usuario por medio de registro y ya al tenerla creada poder iniciar sesión con la misma. Entradas: Crear un nuevo usuario, datos de formulario para iniciar sesión Resultados Al registrarse debe se debe guardar la cuenta del nuevo usuario en la base de esperados: datos para así poder usar la aplicación por medio de la cuenta. Resultado: Exitoso Fuente: Quiroz, Danniel (2012) Cuadro Nº28. Evaluación de la versión 0.3 Caso de prueba: Prueba 2 Evaluación de la versión 0.3 Historia de Usuario: 5 Estrategia: Caja Negra 68 Descripción: Poder visualizar los bancos disponibles y tener una noción de su población actual. Entradas: Iniciar sesión. Resultados Se deben listar los bancos disponibles y mostrar con una imagen una esperados: cantidad aproximada de su población actual. Resultado: Exitoso Fuente: Quiroz, Danniel (2012) Cuadro Nº29. Evaluación de la versión 0.4 Caso de prueba: Prueba 3 Evaluación de la versión 0.4 Historia de Usuario: 13 Estrategia: Caja Negra Descripción: Ver el perfil de usuario que ha iniciado sesión. Entradas: Iniciar sesión. Resultados Visualizar los datos básicos del usuario que ingreso al registrar la cuenta. esperados: Resultado: Exitoso Fuente: Quiroz, Danniel (2012) Cuadro Nº30. Evaluación de la versión 0.5 Caso de prueba: Prueba 4 Descripción: Evaluación de la versión 0.5 Historia de Usuario: 6,8,9,10 Estrategia: Caja Negra Permite ver la población actual de los bancos, tomar tickets de los bancos deseados y visualizar la cantidad de tickets tomados. Entradas: Iniciar sesión, tomar tickets. Resultados Se deben guardar los tickets de cada usuario en la base de datos y poder 69 esperados: visualizarlos en cualquier momento. Resultado: Exitoso Fuente: Quiroz, Danniel (2012) Cuadro Nº31. Evaluación de la versión 0.7 Caso de prueba: Prueba 5 Descripción: Evaluación de la versión 0.7 Historia de Usuario: 11,12,14 Estrategia: Caja Negra Cada usuario podrá ver el tiempo de espera antes de ser atendido y podrá observar una breve información del funcionamiento de la aplicación Entradas: Iniciar sesión. Resultados Se deben mostrar la información del usuario para ver su tiempo de espera y esperados: poder visualizar la información de la aplicación. Resultado: Exitoso Fuente: Quiroz, Danniel (2012) Cuadro Nº32. Evaluación de la versión 0.8 Caso de prueba: Prueba 6 Evaluación de la versión 0.8 Historia de Usuario: 2,3 Estrategia: Caja Negra Descripción: La aplicación podrá ser ejecutada desde cualquier móvil o pc. Entradas: Ninguna. Resultados Poder usar la aplicación desde cualquier pc, laptop, tablet o móvil. esperados: Resultado: Exitoso Fuente: Quiroz, Danniel (2012) Cuadro Nº33. Evaluación de la versión 1.0 Caso de prueba: Evaluación de la versión 1.0 70 Prueba 7 Descripción: Historia de Usuario: 7 Estrategia: Caja Negra Visualizar la ubicación exacta de los bancos por medio de coordenadas. Entradas: Iniciar sesión. Resultados Ver por medio de un mapa la ubicación del banco esperados: Resultado: Exitoso Fuente: Quiroz, Danniel (2012) Por otra parte no se realizaron pruebas de caja blanca, ya 1que la aplicación no llego al nivel de la implantación, donde no hay usuario final que pruebe el manejo de la interfaz. CONCLUSIÓN Hoy en día es importante el buen uso de la tecnología, ya que al tener un gran manejo de estos recursos tanto de aplicaciones móviles como web, se pueden resolver problemas, aprender, hacer efectivas muchas tareas, entre otras ayudas que puedan aportar… Con el inicio de los teléfonos inteligentes que ofrecen una gran solución con respecto a la portabilidad y poder realizar una gran cantidad de tareas a la mano, como una simple agenda personal, entretenimiento, conexiones remotas, conexiones online, entre una gran cantidad de servicios que nos pueden aportar. Las aplicaciones móviles están ganando terreno por su gran disponibilidad, llegando al punto de convertirse en negocios para empresas. La aplicación móvil desarrollada, es hecha bajo la tecnología web de HTML5, CSS3 y javascript, que ofrece módulos para que los usuarios se registren, ya registrados podrán iniciar sesión en la misma aplicación donde podrán visualizar una lista de todos los bancos y ver la disponibilidad del mismo, en este caso saber la población actual de cada uno. Por otra parte también nos permitirá tomar un número o ticket en cualquier banco que desee 71 el usuario y tener una lista de todos sus números tomados donde se le indicara cuantas personas faltan por atender para su turno. También ofrece la ubicación exacta de cada entidad por medio de un mapa indicado por coordenadas. La aplicación presente como todo proyecto y sistema, tiene como meta crecer y consolidarse para futuras versiones, de manera que se pueda masificar y vender a empresas o entidades bancarias y así poder aprovechar las nuevas tecnologías al máximo para facilitar el trabajo humano. RECOMENDACIONES Esta aplicación móvil una vez terminada completamente y puesta a prueba buscara emprenderse en el mundo empresarial, de forma que pueda ofrecer sus servicios a los mismos y ayudar a las comunidades bancarias a la administración efectiva de sus clientes diarios. Ya una vez que trabaje en conjunto con las empresas, la aplicación tendrá actualizaciones y nuevas funcionalidades con el fin de facilitar el trabajo al usuario. Al ser una aplicación de tipo bancaria se debe enfocar en la seguridad de los datos del usuario, por lo tanto al momento que la aplicación llegue a trabajar en conjunto con la cuenta bancaria del usuario, esta debe tener como función principal ocultar los procesos internos como objetivo principal para así ofrecer un producto de calidad y confiable. También es importante tomar en cuenta las siguientes pautas para hacer uso de la aplicación presente: • Al poseer la aplicación instalada en el móvil se recomienda tener buena señal de datos para lograr una pronta respuesta del servidor. 72 • No es obligatoriamente tener instalada la aplicación para hacer uso de ella, también se puede acceder a ella desde la plataforma online que ofrece. • Para el acceso móvil se recomienda tener un móvil reciente o Smartphone, ya que trabaja con tecnologías recientes que móviles antiguos no soportaran. • La mayor información de consultas y toma de ticket llegara al correo del usuario, para ellos se recomienda al usuario registrarse con un correo que sea de gran uso. REFERENCIAS Castañeda C. (2009): Middleware para la definición e implementación de servicios genéricos independientes de la plataforma orientada a dispositivos móviles, Bogotá, Universidad Javeriana. Espinosa F, Soto A. (2009): Pago Electrónico a Través de Teléfonos Móviles, Guayaquil – Ecuador, Escuela superior politécnica del litoral. Hernández A. (2006): Desarollo de una aplicación para un dispositivo móvil ipaq, para utilizados el control del material médico quirúrgico y medicinas en las ambulancias de la empresa global care services, c.a, Caracas, Venezuela, Universidad Nueva Esparta. Rivera I. (2003): SVES. DESARROLLO DE APLICACIONES PARA DISPOSITIVOS MÓVILES, México, D.F, Fundación Arturo Rosenblueth. 73 Villacís R. (2011): Estudio de factibilidad para la creación de una empresa de consultoría e implementación de aplicaciones móviles en la ciudad de Quito, Ecuador, Universidad Internacional SEK. Aplicación móvil (2007): http://ispamat.wordpress.com/2007/05/09/aplicacion-movil-%C2%BFwebo-nativa, Última visita: 06 de julio de 2012 a las 9:30 PM. ¿Qué es la tecnología móvil y cuáles son los beneficios? (2010): http://www.movilpro.com/%C2%BFque-es-la-tecnologia-movil-y-cualesson-los-beneficios-596, Última visita: 03 de julio de 2012 a las 4:00 PM. ¿Qué es una aplicación móvil? (2011): http://alertaenlinea.gov/articulos/s0018-aplicaciones-m%C3%B3vilesqu%C3%A9-son-y-c%C3%B3mo-funcionan, Última visita: 01 de julio de 2012 a las 10:00 PM. ¿Qué es un Smartphone? (2010): http://www.areatecnologia.com/Que-es-unsmartphone.htm, Última visita: 01 de julio de 2012 a las 8:00 PM. Sistema operativo para móviles (2011): http://www.ocu.org/tecnologia/telefono/informe/sistemas-operativos-paramoviles557134, Última visita: 06 de julio de 2012 a las 9:00 PM. Tecnología móvil (2010): http://tecnologia-movil.blogspot.com, Última visita: 03 de julio de 2012 a las 3:00 PM. Telecomunicaciones (2011): http://www.guia.com.ve/telecom, Última visita: 04 de julio de 2012 a las 1:00 PM. 74 Teoría de colas (2011): http://personales.upv.es/jpgarcia/LinkedDocuments/Teoriadecolasdoc.pdf/, Última visita: 07 de julio de 2012 a las 5:00 PM. 75