• No se han encontrado resultados

Sistema web de registro y control vehicular con acceso móvil

N/A
N/A
Protected

Academic year: 2020

Share "Sistema web de registro y control vehicular con acceso móvil"

Copied!
74
0
0

Texto completo

(1)SISTEMA WEB DE REGISTRO Y CONTROL VEHICULAR POR MEDIO DE AUTENTICACIÓN BIOMÉTRICA CON ACCESO MÓVIL. JULIÁN ANDRÉS RINCÓN LÓPEZ CRISTIAN ALEXANDER LAGUNA RODRÍGUEZ. UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS TECNOLOGÍA EN SISTEMATIZACIÓNDE DATOS BOGOTÁ D. C. 2018. 1.

(2) SISTEMA DE REGISTRO Y CONTROL VEHICULAR POR MEDIO DE AUTENTICACIÓN BIOMÉTRICA CON ACCESO MÓVIL. JULIÁN ANDRÉS RINCÓN LÓPEZ 20151578292 CRISTIAN ALEXANDER LAGUNA RODRÍGUEZ 20151578116. Proyecto de grado para optar al título de Tecnólogo en sistematización de datos. TUTOR SONIA ALEXANDRA PINZÓN NUÑEZ Ingeniera de sistemas UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS TECNOLOGÍA EN SISTEMATIZACIÓNDE DATOS BOGOTÁ D. C. 2018. 2.

(3) Contenido RESUMEN. 7. ABSTRACT. 8. INTRODUCCIÓN. 9. 1.. 10. PLANEACIÓN. 10. 1.1 Planteamiento del problema 1.1.1 Descripción del problema. 10. 1.1.2 Formulación del problema. 11 12. 1.2 OBJETIVOS 1.2.1 Objetivo general. 12. 1.2.2 Objetivos específicos. 12. 1.3 JUSTIFICACIÓN. 13. 1.4 MARCO TEÓRICO. 14 14. 1.4.1 Biometría 1.4.1.1Definición. 14. 1.4.1.2 Historia. 14. 1.4.1.3 Tipos de sistemas biométricos. 15. 1.4.1.4 Aplicaciones de la Biometría. 17. 1.4.2 Aplicación móvil. 17. 1.4.3 Herramientas de desarrollo. 19. 1.4.3.1 Android. 19. 1.4.3.2 Firebase. 21. 1.4.3.3 Android Estudio. 22 23. 1.4.4 Levantamiento de datos. 25. 1.5 MARCO LEGAL Y NORMATIVO 1.5.1 Normativa en Colombia. 25. 1.5.2 Normatividad de los protocolos para biométrica. 27 28. 1.6 METODOLOGÍA. 28. 1.6.1 Metodología Scrum. 31. 1.7 ALCANCES Y DELIMITACIONES. 3.

(4) 1.7.1 Alcances. 31. 1.7.2 Delimitantes. 31. 1.8 ECONÓMICA. 32. 1.8.1 Técnica. 32. 1.8.2 Operativa. 33. 1.9 CRONOGRAMA. 35. 2. Análisis del proyecto. 37. 2.1 FASE DE PLANEACION. 37. 2.1.1 Análisis. 37. 2.1.1.1 Modelos de flujo. 37. 2.1.1.2 Modelo de dominio. 38. 2.1.1.3 Glosario de términos. 39. 2.1.2 Requerimientos. 39. 2.1.2.1 Definición de actores. 39. 2.2 DESARROLLO DE LA METODOLOGÍA. 41. 2.2.1 Product Backlog. 41. 2.2.2 Sprint Planning. 42 43. 3 Diseño en el desarrollo en los Sprint 3.1 Sprint 1. 43. 3.2 Sprint 2. 49. 3.3 Sprint 3. 53. 3.4 Sprint 4. 57. PRUEBAS. 65. 15.. Conclusiones. 69. 16.. Recomendaciones. 71. 16.1. 71. como Usuario Guarda. 17.2 como Usuario Administrador. 71. 17.3 Como Usuario Regular. 71. 15. BIBLIOGRAFÍAS. 72. 16.. 74. ANEXOS. 4.

(5) Ilustraciones Ilustración 1: Cronograma #1............................................................................................................ 35 Ilustración 2: Cronograma #2............................................................................................................ 35 Ilustración 3: Cronograma #3............................................................................................................ 36 Ilustración 4: Cronograma #4............................................................................................................ 36 Ilustración 5: Cronograma #5............................................................................................................ 36 Ilustración 6: Flujo guarda ................................................................................................................ 37 Ilustración 7: Flujo Usuario ............................................................................................................... 37 Ilustración 8:flujo Admin ................................................................................................................... 37 Ilustración 9: M. dominio .................................................................................................................. 38 Ilustración 10: Modelo Interfaz.............................................................¡Error! Marcador no definido. Ilustración 11: Aplicación ......................................................................¡Error! Marcador no definido. Ilustración 12: Sprint 1 ...................................................................................................................... 44 Ilustración 13: Login Usuario ............................................................................................................ 45 Ilustración 14: Base de datos ............................................................................................................ 45 Ilustración 15:Tablas B.D. 1 ............................................................................................................... 46 Ilustración 16: Tabla B.D 2 ................................................................................................................ 47 Ilustración 17: Conexión B.D. 1 ......................................................................................................... 47 Ilustración 18: Conexión B.D. 2 ......................................................................................................... 48 Ilustración 19: Interfaz Amin............................................................................................................. 48 Ilustración 20: Restablecer contraseña............................................................................................. 49 Ilustración 21: Sprint 2 ...................................................................................................................... 51 Ilustración 22: Login Web ................................................................................................................. 51 Ilustración 23: Administrador Web ................................................................................................... 52 Ilustración 24:Base Datos.................................................................................................................. 52 Ilustración 25: Sprint 3 ...................................................................................................................... 54 Ilustración 26: Funciones Web.......................................................................................................... 54 Ilustración 27:Bloquear Usuario ....................................................................................................... 55 Ilustración 28: Ver registros .............................................................................................................. 55 Ilustración 29: ingresar Usuario ........................................................................................................ 56 Ilustración 30: B.D. tiempo Real........................................................................................................ 56 Ilustración 31: Registrar Guarda ....................................................................................................... 57 Ilustración 32: Interfaz Guarda ......................................................................................................... 58 Ilustración 33: Pedir PIN.................................................................................................................... 59 Ilustración 34: datos Finales ............................................................................................................. 59 Ilustración 35: fingerprint 1 .............................................................................................................. 60 Ilustración 36: fingerprint 2 .............................................................................................................. 61 Ilustración 37: fingerprint 3 .............................................................................................................. 61 Ilustración 38: fingerprint 4 .............................................................................................................. 61 Ilustración 39: fingerprint 5 .............................................................................................................. 61. 5.

(6) Ilustración 40: fingerprint 6 .............................................................................................................. 61 Ilustración 41: fingerprint 7 .............................................................................................................. 62 Ilustración 42: fingerprint 8 .............................................................................................................. 62 Ilustración 43: fingerprint 9 .............................................................................................................. 62 Ilustración 44: fingerprint 10 ............................................................................................................ 63 Ilustración 45: fingerprint 11 ............................................................................................................ 63 Ilustración 46: fingerprint 12 ............................................................................................................ 63 Ilustración 47: fingerprint 13 ............................................................................................................ 64 Ilustración 48: fingerprint 14 ............................................................................................................ 64 Ilustración 49: fingerprint 15 ............................................................................................................ 64 Ilustración 50: fingerprint 16 ............................................................................................................ 64. Tablas Tabla 1: Costos técnicos Tabla 2: Costos operativos Tabla 3: Costos Total Tabla 4: Tabla celulares Tabla 5: Glosario de términos Tabla 6: Definición de actores Tabla 7: Historias Tabla 8: Sprint1 Tabla 9: Sprint2 Tabla 10: Sprint3 Tabla 11: Sprint4 Tabla 12: backlog 1 Tabla 13: Backlog 2 Tabla 14: Backlog 3 Tabla 15: Backlog4 Tabla 16: Prueba 1 Tabla 17: Prueba 2 Tabla 18: Prueba 3 Tabla 19: Prueba 4 Tabla 20: Prueba 5 Tabla 21: Prueba 6 Tabla 22: Prueba 7 Tabla 23: Prueba 8 Tabla 24: Prueba 9. 32 33 33 34 39 39 42 43 43 43 43 44 50 53 57 65 65 66 66 66 67 67 67 68. 6.

(7) RESUMEN AccesoVehicular es un sistema web que permite administrar el ingreso vehicular en un conjunto residencial o propiedad horizontal con apoyo de una aplicación móvil. En la cual se mostrarán los datos del usuario que vaya a ingresar a la unidad residencial, esto les facilitará el reconocimiento de los residentes a los guardas de seguridad en el momento que se vaya a ingresar. El sistema fue desarrollado en Android Studio y este se apoya de servicios que ofrece Firebase como bases de datos en tiempo real, autenticación y almacenamiento en la nube. La aplicación móvil implementa el sistema de reconocimiento dactilar para realizar el ingreso de los usuarios, además se puede autenticar con el teléfono de los usuarios brindando múltiples alternativas para su uso. La aplicación usa el sistema operativo Android 6.0, pudiendo ser instalada en versiones posteriores.. 7.

(8) ABSTRACT. AccesoVehicular is a web system that allows manage how the owners perform access of their vehicles. This system is supported by a  mobile app. Also the system is supported by Firebase services like: Real time database, authentication and Cloud storage. All previous without code on server side. The mobile app implements the fingerprint API that API is used to perform the acces of the owners. Also the app allows authenticate with SMS offering several ways to be used. The aplication use android lollipop 6.0 being able of be instaled in posterior versions. 8.

(9) INTRODUCCIÓN La biometría es una metodología que se encarga de estudiar el reconocimiento de las características únicas que tiene cada persona para así poder verificar su identidad, para realizar una verificación se hace mediante reconocimiento fisiológico y comportamientos. Los rasgos fisiológicos únicos son: la huella dactilar, reconocimiento facial, etcétera. Y los de comportamiento se basan en: rasgos en la firma, los patrones de la voz, forma de caminar, etcétera. Entre las aplicaciones de esta metodología se encuentra el control de acceso, esta técnica brinda mayor seguridad y eficiencia en el acceso a instalaciones en las que el flujo de personas es constante. Uno de los métodos más utilizados actualmente en el control de acceso es la autenticación por medio de huella dactilar. La aplicación de esta metodología en el ámbito de seguridad para cualquier urbanización o propiedad horizontal puede ser de gran ayuda para el control y registro de los propietarios, así mismo para las entidades que prestan el servicio de vigilancia. Por lo anterior el presente proyecto corresponde al desarrollo de un sistema web junto con una aplicación que permita el registro y control vehicular haciendo uso de la biometría. Para ello se pretende hacer uso de tecnologías Cloud como Firebase y servicios Google.. 9.

(10) 1. PLANEACIÓN 1.1 Planteamiento del problema 1.1.1 Descripción del problema Uno de los aspectos más importantes en la administración de un conjunto residencial o una propiedad horizontal o urbanización es la seguridad al permitir el acceso de los propietarios y visitantes que ingresan de forma peatonal o vehicular, proceso que es realizado por los guardas de seguridad, los cuales verifican la identidad de la persona que desea ingresar o salir validando si es propietario o visitante para permitir el acceso al conjunto. Existen varios sistemas de control de acceso que pueden ser implementados, entre los que se encuentran registros manuales o virtuales1. En el primero de los casos pueden presentarse varias situaciones que pueden hacer fácil la identificación, ya que el vigilante memoriza la identidad de los propietarios, pero en otros se requiere una confirmación en los libros de registro o llamando al inmueble para confirmar, lo cual puede llevar varios minutos y hacer tedioso el proceso para los usuarios quienes deben esperar dicha confirmación y es más difícil cuando el vigilante es nuevo. Por otra parte, el proceso suele complicarse cuando el control debe hacerse sobre los vehículos, ya que previamente cada vehículo debe tener una ficha para ingresar y si esta se pierde no se permitiría el ingreso del vehículo. Para ello se definen normas y procedimientos que facultan al servicio de vigilancia realizar un procedimiento de verificación2.. 1. Garzón Loaiza Cesar Augusto.Los controles de Acceso Físico en el Sector Residencial de Colombia. pag. 14. Tesis . Universidad Militar. 2013. Consultado 5 de Febrero de 2018. http://repository.unimilitar.edu.co/bitstream/10654/11172/1/GarzonLoaizaCesarAugusto2013.pdf 2 Superintendencia de Vigilancia y Seguridad Privada. Protocolo de Operación servicios de vigilancia y seguridad privada para el Sector Residencial. pag.11. 2014. Consultado Febrero 5 de 2018. https://www.supervigilancia.gov.co/publicaciones/5563/protocolo-de-operacion-servicios-de-vigilancia-yseguridad-privada-para-el-sector-residencial/. 10.

(11) Estos procesos suelen ser algo engorrosos ya que la información no se lleva de una manera organizada y puede darse el caso de que se permita el ingreso a personas inescrupulosas, haciendo que la seguridad sea inestable. Otra ineficacia en este sistema es que los propietarios pueden ingresar únicamente presentado la ficha de propiedad, de esta manera no se confirma si el usuario es en realidad propietario del conjunto. Por lo anterior surge la necesidad de desarrollar un sistema que sirva de apoyo para el registro y control de los vehículos en un parqueadero de propiedad horizontal o conjunto residencial.. 1.1.2 Formulación del problema ¿La implementación un sistema de registro y control vehicular por medio de autenticación biométrico para un conjunto residencial por medio de un entorno web permitirá apoyar el proceso que realizan la administración y el servicio de vigilancia en cualquier conjunto residencial?. 11.

(12) 1.2 OBJETIVOS 1.2.1 Objetivo general Desarrollar un sistema web de registro y control vehicular por medio de autenticación biométrica con apoyo de una aplicación móvil.. 1.2.2 Objetivos específicos •Realizar el levantamiento de información que permita definir el modelo de datos del sistema. •Diseñar la base de datos para garantizar la persistencia de la información del sistema. •Desarrollar un módulo de registro que permita la gestión de la información sobre propietarios, visitantes y vehículos. •Desarrollar una aplicación móvil que permita controlar el acceso vehicular mediante huella dactilar. •Implementar un sistema de encriptación de información para garantizar la seguridad de la información del sistema.. 12.

(13) 1.3 JUSTIFICACIÓN Los propietarios, residentes y dueños de vehículos del conjunto van a notar que al sistematizar el acceso se llevará un control más organizado en cuanto al manejo de entradas y salidas del conjunto. Actualmente se utiliza la biometría para múltiples fines, principalmente son de utilidad para la seguridad de establecimientos que tienen un alto flujo de acceso. El sistema propuesto puede llegar a ser asequible al conjunto, al no ser tan grande, este se puede adquirir de una forma muy fácil rápida y no tan costosa. La precisión de los datos que se van a manejar va a ser muy puntual concisa y de fácil acceso a los registros. La plataforma tendrá un manejo cómodo, seguro y confiable para las personas que lo lleguen a utilizar. El administrador puede manejar el sistema para eliminar, modificar y agregar datos a medida que los propietarios dispongan, para de esta manera llevar un control actualizado de la base de datos. Los guardas de seguridad tendrán total seguridad de los datos mostrados en pantalla, al momento que el propietario valida su acceso. Esto ayudará a los guardas de remplazo o que lleguen nuevos.. 13.

(14) 1.4 MARCO TEÓRICO 1.4.1 Biometría A continuación, se realizará una breve explicación sobre para entrar en contexto sobre que es la biometría. 1.4.1.1Definición La biometría es la disciplina que se dedica a estudiar las características particulares que tiene la anatomía del cuerpo humano, las singularidades y patrones que se encuentran más fácil son en las siguientes partes del cuerpo: ● Huellas dactilares ● La retina e iris de los ojos ● Forma de la cara humana Con los rasgos que se encuentren en estos sectores del cuerpo humano, se pueden llegar a identificar a un individuo. Gracias a los avances tecnológicos, la biometría a realizado grandes aportes a la seguridad de instalaciones, para así poder reconocer a su personal.. 1.4.1.2 Historia La identificación de la huella dactilar dio sus primero pasos en china, esta práctica se fue difundiendo por todas las culturas occidentales, lo que se hacía en el momento era llenar toda la palma de la mano con tinta, y la ponían encima de una hoja de papel, años después en parís se desarrolló el método antropométrico, la cual se convirtió en una rama de estudio para la biometría, en los cuales se buscaban rasgos específicos de una persona, como tamaño de la cabeza, tatuajes, cicatrices, etc. A finales de los años 60 y comienzo de los 70, las autoridades de Estados unidos y Europa occidental comenzaron a darse cuenta que con solo tener los rasgos de las huellas de los dedos se podían identificar a las personas. Los medios financieros también utilizaban este método para así cerrar tratos importantes. 14.

(15) Con el avance tecnológico, imprimir las huellas en papel iba quedan obsoleto y se comenzó a utilizar mecanismo digitales para así poder digitalizar la huella y tenerla en una base de datos que si una empresa tiene varias filiales puede tener acceso a estas huellas, gracias a la tecnología se paso a tener que untar un dedo o la palma de la mano encima de una hoja de papel, a poder digitalizar todas las bifurcaciones de las huellas y no solo eso con ayuda de otros mecanismos podemos sacar las características que tienen los ojos y plasmarla en una pantalla y utilizarla para seguridad adicional.. 1.4.1.3 Tipos de sistemas biométricos Un sistema de reconocimiento consta de hardware y software necesario para realizar el proceso de reconocimiento. Dentro del hardware se puede encontrar: Sensores, lectores. Dispositivos capaces de extraer la característica necesaria. En el software se encuentran programas especializados que incluyen el manejo del hardware y, dependiendo el sistema biométrico utilizado, usan diferentes métodos para el procesamiento de estas características. ●. Reconocimiento facial. El reconocimiento facial examina las características físicas de una persona y lo hace en tres pasos: Detección, creación de caras y verificación o identificación. Cuando el software detecta un rostro, localiza los rasgos faciales (Desde la estructura ósea, hasta las curvas alrededor de la cuenca del ojo). Los ojos juegan un papel importante en la precisión. ●. Reconocimiento de iris. El reconocimiento de iris utiliza una tecnología basada en el reconocimiento del iris ocular. Este proceso se puede dividir en varias etapas: a. Captura de la imagen: En esta parte se captura una imagen a blanco y negro del iris, con una cámara de alta resolución. Con la imagen obtenida se adquieren unos patrones para procesar la imagen. 15.

(16) b. Pre-procesamiento la imagen: Para lograr una extracción de la zona de interés se tienen que aplicar ciertos filtros a la imagen capturada. c. Transformación a coordenadas polares: Una vez extraído el iris de la imagen del ojo, se debe realizar un cambio de coordenadas a fin de poder extraer las características del iris y poder armar un código que lo identifique. Una vez se han seguido estos pasados se procede a procesar las coordenadas obtenidas mediante algoritmos de codificación, en esta parte se compara una plantilla creada por la proyección de la imagen del iris con una plantilla de valores almacenada en una base de datos.. ●. Lectura de huella digital. ¿Cómo es el funcionamiento de los lectores de huella digital? Un lector de huella digital lleva a cabo dos tareas: •Obtener una imagen de la huella digital •Comparar el patrón de dicha imagen con los patrones de huellas que tiene almacenadas. El algoritmo específico extrae puntos particulares de la imagen y convierte la información en un único modelo matemático, comparable a un password con 60 dígitos. Este modelo único se encripta y se archiva para representar a usuario. Para la identificación, el usuario posiciona su dedo en el sensor sin informar su identidad (no introduce ninguna identificación del usuario). La reciente muestra extraída. es. comparada. con. muestras. preexistentes.. correspondencia el usuario es identificado como ya registrado.. 16. Si. se. encuentra.

(17) 1.4.1.4 Aplicaciones de la Biometría La biometría cumple un papel importante en la seguridad ya que en algunas áreas es necesaria para la identificación de los usuarios, esto ha llevado que el avance tecnológico de la biometría tenga un crecimiento acelerado, esto indica que la creación de las tecnologías de reconocimiento sea implementada en dispositivos portátiles, en computadoras y en periféricos. Algunas de las áreas que utilizan estos métodos son: ● Seguridad en empresas: mantiene un control contaste de los empleados. ● Seguridad en ámbito financiero: se usan para cerrar prestamos, crear cuentas ETC. ● Seguridad en la adquisición de planes de turismo y viajes: identificación de quienes se acogieron a él plan turístico.. 1.4.2 Aplicación móvil Una aplicación móvil o app, es un software diseñado para ser ejecutado en teléfonos inteligentes, permitiendo al usuario realizar una tarea concreta. Son desarrolladas para múltiples plataformas, entre las principales se encuentran: iOS, Android y Windows phone. El proceso de desarrollo de una app se puede dividir en cinco etapas3: A. Conceptualización: Toda app debe comenzar con una idea base, esta debe resolver un problema o facilitar una actividad a una población especifica. La idea debe tener en cuenta aspectos de viabilidad lo que requiere un análisis del concepto que se quiere crear. B. Definición: Una vez determinada la viabilidad del concepto, el equipo de trabajo procede a definir las funcionalidades de la app, teniendo en cuenta a quién va dirigido, especificaciones técnicas, hardware necesario. Una vez. 3. Cuello y Vittone (2013). No consta, ed. Diseñando apps para móviles (ebook). p. 26-27. 29 y 30. 34, 5363 y ss.185-347. 17.

(18) recopilado todo esto se puede determinar la duración de un proyecto, coste económico, complejidad y alcance C. Diseño: En esta etapa es donde se plasman los aspectos definidos en el punto anterior, el diseño de la aplicación influirá en su coste y en su desarrollo. Existen cuatro grandes perfiles de diseño: ● Diseño multiplataforma ● Apps nativas ● Apps hibridas ● Diseño para tabletas Finalizado el diseño es necesario realizar testeo para mejorar aspectos de usabilidad y estar al tanto del comportamiento de la app. D. Desarrollo: En esta etapa el programador plasma el diseño definido anteriormente en un lenguaje de programación. Existen diversos lenguajes de programación para aplicar en el desarrollo de las apps4. Para las principales plataformas estos son: En Android se destaca JAVA pudiendo de igual forma realizarse en Visual Basic. En iOS se trabaja Objetive-C, Python no obstante, últimamente se trabaja Swift; un potente, veloz y versátil lenguaje5. Finalmente, en la plataforma Windows Phone se utiliza principalmente Visual Basic, pudiendo también realizarse en C#. E. Publicación: Finalmente tras la depuración de errores y constantes pruebas de la programación llega la fase de publicación. En el proceso de publicación y consolidación de una app se deben tener en cuenta aspectos como: Comentarios de los usuarios, realizar un seguimiento estadístico y estar en constante proceso de mejora mediante actualizaciones.. 4. DE JUANA, Rodolfo. Tres lenguajes de programación para dominar el desarrollo de apps. [en línea], 28 de marzo de 2016 [revisado 14 de marzo de 2018]. Disponible en Internet: https://www.muypymes.com/2016/03/28/lenguajes-programacion-desarrollo-apps 5 ALARCON, José Manuel. ¿Objective-C o Swift? Qué lenguaje para aprender a programar iOS. [en línea], 22 de diciembre de 2015 [revisado 14 de marzo de 2018] Disponible en Internet: https://www.campusmvp.es/recursos/post/Objective-C-o-Swift-Que-lenguaje-aprender-para-programar-eniOS.aspx. 18.

(19) 1.4.3 Herramientas de desarrollo A continuación, se realizará una explicación de todas las herramientas que se utilizaran para el desarrollo del presente proyecto.. 1.4.3.1 Android Android es un sistema operativo y plataforma de desarrollo, basado en Linux para teléfonos móviles. Fuecreadoen 2003 por Andy Rubin, Rich Miner, Nick Sears y Chris White. Inicialmente surgió como Android Inc y se centraba únicamente en el “El desarrollo de software para teléfonos móviles”.6 En el 2007 Google empezó a seguirle los pasos a algunas “startup”, según Ricardo Dorantes “Startup es una gran empresa en su etapa temprana; a diferencia de una Pyme, la Startup se basa en un negocio que será escalable más rápida y fácilmente, haciendo uso de tecnologías digitales”. 7 En agosto de este año Google se hizo a Android Inc, de esta forma se dio a conocer la plataforma de código abierto para móviles. El mismo Google ha sido el encargado de publicar la mayor parte del código fuente. Versiones: ● Android 1.0 Apple Pie: La primera versión comercial lanzada el 23 de septiembre del 2008, entre las principales características incorporadas se encuentran: Navegador web, soporte para cámara, Android market, Soporte para Wi-fi y bluetooth. El primer dispositivo compatible fue el HTC Dream. ● Android 1.1 PetitFour: En febrero del 2009 llegó la primera actualización para Android. Esta versión se dedicó a reparar errores.. 6. Báez, Manuel. INTRODUCCIÓN A ANDROID. E.M.E. Editorial DORANTES,Ricardo. Qué es una startup [en línea], 9 de noviembre de 2017, [revisado 11 de marzo de 2018]. Disponible en Internet: https://www.entrepreneur.com/article/304376 7. 19.

(20) ● Android 1.5 Cupcake: Esta fue la primera versión en utilizar nombres de postres. Después de esta versión se han venido nombrando las versiones con nombre de postres. En esta versión se pueden apreciar algunos cambios en la interfaz de usuario, así mismo, se implementó un teclado virtual ya que se había venido trabajando con un teclado físico. Las principales características implementadas son: Widgets, Captura y reproducción de video, A demás se incluye el ‘copy paste’. ● Android 1.6 Donut: Con la llegada de esta actualización, la mejora más significativa fue la posibilidad de correr el sistema operativo en múltiples resoluciones de pantalla. Donut también introdujo la búsqueda universal. ● Android 2.0 Eclair: En noviembre de 2009 llegó la quinta actualización, con ella multiples características que iban posicionando a Android en el mercado, las principales mejoras en Eclair fueron: Google Maps y el Motor de texto a voz. ● Android 2.2 Froyo: En esta versión se agregó la posibilidad de poner una contraseña o PIN en la pantalla de bloqueo. ● Android 2.3 Gingerbread: Esta actualización trajo unos cambios notorios en la interfaz del usuario, además de la integración de: Juegos, soporte para cámara frontal y la tecnología NFC. ● Android 3.0 Honeycomb: Con esta versión se integran los botones físicos en la pantalla ● Android 4.0 Ice cream sándwich: Con la llegada de esta actualización se buscaba crear un sistema operativo para teléfonos inteligentes y tablets. Además incorpora el reconocimiento facial. ● Android. 4.1. Jellybean:. En. esta. actualización,. aparte. de. realizar. optimizaciones en el rendimiento de la batería y la gestión multitarea, se incorpora la compatibilidad con Wi-fi direct y bluetooth 3.1. ● Android 4.4 Kitkat: Fue lanzada en el 2013 e incluye mejoras en el rendimiento del dispositivo y solución a múltiples problemas.. 20.

(21) ● Android 5.0 Lollipop: Trae consigo mejoras en la interfaz de usuario haciendo un diseño más colorido. De igual manera soporta múltiples tarjetas SIM. ● Android 6.0 Marshmallow: Fue lanzada en el 2015 y es la primera en incorporar el soporte para huellas dactilares. ● Android 7.0 Nougat: Se optimizó el uso de RAM en las aplicaciones, también incorpora JAVA 8. ●. Android 8.0 Oreo: Fue anunciada en agosto de 2017 y son pocos los terminales que han recibido esta versión.. 1.4.3.2 Firebase Firebase es una plataforma de desarrollo para aplicaciones móviles y aplicaciones web, creada por Andrew Lee y James Taplin en 2011, fue adquirida por Google en 2011.8 Esta plataforma consta con un servicio gratuito que deja almacenar 100 usuarios, si se llegara a la necesidad de almacenar una cantidad superior, Firebase cuenta con servicios de planes mensuales, los cuales dejaran ampliar la cantidad de usuarios deseados. Servicios ● Base de datos en tiempo real: Con la base en tiempo real se pueden guardar todos los datos que la aplicación requiera. La compañía habilita compatibilidad con Android, iOS, JavaScript y más tecnologías. ● FirebaseAuth: Según la documentación de Google “FirebaseAuthentication proporciona servicios de backend, SDK fáciles de usar y bibliotecas de IU ya elaboradas para autenticar a los usuarios en tu aplicación. Admite la autenticación mediante contraseñas, números de teléfono, proveedores de identidad federados populares, como Google, Facebook y Twitter, y mucho más.” 8. DOMENECH, Jaime. Google adquiere Firebase para mejorar su portafolio para la nube. [en línea], 22 de octubre de 2014,[revisado 14 de marzo de 2018]. Disponible en Internet: http://www.silicon.es/googleadquiere-firebase-para-mejorar-su-portfolio-para-la-nube-2276397. 21.

(22) ●. Firebasestorage: Firebase proporciona un servicio de almacenamiento en el que se puede guardar el contenido que el usuario necesite. Firebase se basa en Google Cloud Storage.9. 1.4.3.3 Android Estudio Android Studio8: Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de aplicaciones para Android y se basa en IntelliJ IDEA. Además del potente editor de códigos y las herramientas para desarrolladores de IntelliJ, Android Studio ofrece aún más funciones que aumentan la productividad durante la compilación de apps para Android, como las siguientes:. ● Un sistema de compilación basado en Gradle flexible ● Un emulador rápido con varias funciones ● Un entorno unificado en el que se puede realizar desarrollos para todos los dispositivos Android ● Instant Run para aplicar cambios mientras tu app se ejecuta sin la necesidad de compilar un nuevo APK ● Integración de plantillas de código y GitHub para ayudar a compilar funciones comunes de las apps e importar ejemplos de código ● Gran cantidad de herramientas y frameworks de prueba ● Herramientas Lint para detectar problemas de rendimiento, usabilidad, compatibilidad de versión, etc. ● Compatibilidad con C++ y NDK ● Soporte incorporado para Google Cloud Platform, lo que facilita la integración de Google Cloud Messaging y App Engine10. 9. Firebase Inc. Consultado el 14 de marzo de 2018 Juan Camilo Camacho Ferreira,” Aplicación móvil para la búsqueda y contacto de personal de enfermería basado en georreferenciación”,Bogota D.C.: 08p. 10. 22.

(23) 1.4.4 Levantamiento de datos Para el levantamiento de datos se hizo una encuesta a 3 conjuntos residenciales en las cuales arrojaron información en la que los datos más importantes (con otros datos menos relevantes) que la administración solicita para realizar un registro de un usuario regular junto con su vehículo en su conjunto son: -. -. Para Usuario . Nombre. . Cedula. . Casa o Apartamento. . Si vive en Torre, manzana ETC.. . Teléfono celular. Para Vehículo . Tipo Vehículo. . Placa. . Modelo. . Año. . Color. . Marca. . Dueño. También se realizó otra encuesta en la que se pidió la información a las empresas de seguridad que tenían en los 3 conjuntos de cómo se realizaban los registros en una empresa de seguridad para sus empleados en el área de guarda de seguridad. Se pedían muchos datos en los cuales no se tuvo en cuenta la gran mayoría, ya que para el proyecto no son relevantes, y los datos del guarda de seguridad que se tomaron en cuenta son: -. Nombre. -. Cedula. 23.

(24) -. Correo Electrónico. Con los datos recogidos anteriormente para vehículo, usuario, y guarda de seguridad, se iniciarían en una etapa posterior el diseño del sistema del modelo de datos.. 24.

(25) 1.5 MARCO LEGAL Y NORMATIVO 1.5.1 Normativa en Colombia La ley 1341 del 2009 da a conocer las políticas que abarca el sector de las TIC (Tecnologías de la Información y las comunicaciones) en el las que encierra la cobertura, la calidad del servicio, las inversiones en el sector y el desarrollo de las tecnologías. La autoridad del estado sobre estas en cuanto a los proyectos a futuro, la gestión, la administración y el uso eficiente de los recursos.. 1. Proteger los derechos de los usuarios, velando por la calidad, eficiencia y adecuada provisión de los servicios.. 2. Promover el acceso a las Tecnologías de la Información y las comunicaciones, teniendo como fin último el servicio universal.. 3. Promover el desarrollo de contenidos y aplicaciones, la prestación de servicios que usen Tecnologías de la Información y las Comunicaciones y la masificación del gobierno en línea.. 4. Promover la oferta de mayores capacidades en la conexión, transporte y condiciones de seguridad del servicio al usuario final, incentivando acciones de prevención de fraudes en la red.. 5. Promover y garantizar la libre y leal competencia y evitar el abuso de la posición dominante y las prácticas restrictivas de la competencia.. 6. Garantizar el despliegue y el uso eficiente de la infraestructura y la igualdad de oportunidades en el acceso a los recursos escasos, se buscará la expansión, y cobertura para zonas de difícil acceso, en especial beneficiando a poblaciones vulnerables.. 7. Garantizar el uso adecuado del espectro radioeléctrico, así como la reorganización del mismo, respetando el principio de protección a la inversión, asociada al uso del espectro.. 25.

(26) Los proveedores de redes y servicios de telecomunicaciones responderán jurídica y económicamente por los daños causados a las infraestructuras.. 8. Promover la ampliación de la cobertura del servicio.. 9. Garantizar la interconexión y la interoperabilidad de las redes de telecomunicaciones, así como el acceso a los elementos de las redes e instalaciones esenciales de telecomunicaciones necesarios para promover la provisión y comercialización de servicios, contenidos y aplicaciones que usen Tecnologías de la Información y las comunicaciones.. 10. Imponer a los proveedores de redes y servicios de telecomunicaciones obligaciones de provisión de los servicios y uso de su infraestructura, por razones de defensa nacional, atención y prevención de situaciones de emergencia y seguridad pública.. 11. Promover la seguridad informática y de redes para desarrollar las Tecnologías de la Información y las Comunicaciones.. 12. Incentivar y promover el desarrollo de la industria de tecnologías de la información y las comunicaciones para contribuir al crecimiento económico, la competitividad, la generación de empleo y las exportaciones.. 13. Propender por la construcción, operación y mantenimiento de infraestructuras de las tecnologías de la información y las comunicaciones por la protección del medio ambiente y la salud pública. 11. 11. EL CONGRESO DE COLOMBIA, “POR LA CUAL SE DEFINEN PRINCIPIOS Y CONCEPTOS SOBRE LA SOCIEDAD DE LA Información Y LA Organización DE LAS Tecnologías DE LA Información Y LAS COMUNICACIONES - TIC-, SE CREA LA AGENCIA NACIONAL DE ESPECTRO Y SE DICTAN OTRAS DISPOSICIONES”.[en línea], 30 de julio del 200[Consultado el 14 de junio del 2018].Disponible en internet https://mintic.gov.co/portal/604/articles8580_PDF_Ley_1341.pdf. 26.

(27) 1.5.2 Normatividad de los protocolos para biométrica ▪. ANSI / INCITS 358 Estándar creado en 2002 por ANSI y BioApiConsortium, que presenta una interfaz de programación de aplicación que garantiza que los productos y sistemas que cumplen este estándar son interoperables entre sí.12. 12Firma Electrónica Vocal,” Estándares biométricos”,[en linea], abril 13 del 2013.[consultado julio 2 del 2018] http://www.firmavocal.com/2013/04/16/estandares-biometricos/. 27.

(28) 1.6 METODOLOGÍA Para este proyecto se es necesario un orden de elaboración y ejecución para satisfacer las necesidades que se presenten en el proceso, para esto se necesita una metodología que controle el proceso de elaboración y se vea el respectivo cumplimiento de este, por lo tanto, se escoge la metodología Scrum el cual se dividirá en cuatro (4) etapas. En esta parte se realizará una descripción de la metodología a utilizar en el proyecto.. 1.6.1 Metodología Scrum Scrum es una metodología de desarrollo ágil en el que se aplica el trabajo en equipo, para así obtener el mejor resultado posible de un proyecto. Scrum se caracteriza por: ● Gestión regular de las expectativas del cliente, resultados anticipados, flexibilidad y adaptación, retorno de inversión, mitigación de riesgos, productividad y calidad, alineamiento entre cliente y equipo, por último equipo motivado.13 ● Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto. Scrum al ser una metodología de desarrollo ágil tiene como base la creación de ciclos breves para el desarrollo, que comúnmente se llaman “iteraciones” y que en esta metodología se definirán como “Sprints”. Esta metodología fue definida por IkujiroNonaka e HirotakaTakeuchi a principios de los 80, basándose en cómo desarrollaban sus productos las grandes empresas. En 1995, Ken Schwaber presentó “ScrumDevelopmentProcess” en OOPSLA 95 (Object-OrientedProgrammingSystems&Applicationsconference). (SCRUM. DevelopmentProcess), un marco de reglas para desarrollo de software, basado en 13. Métodos Ágiles. Scrum, Kanban, Lean, Carmen Lasa, Rafael de las Heras, Alonso Álvarez, Anaya, 2017, 400pp.. 28.

(29) los principios de Scrum, y que él había empleado en el desarrollo de Delphi, y Jeff Sutherland en su empresa EaselCorporation (compañía que en los macrojuegos de compras y fusiones, se integraría en VMARK, y luego en Informix y finalmente en Ascential Software Corporation).14 ELEMENTOS DE UN SCRUM. Los elementos que forman a Scrum son: ● ProductBacklog: Es la lista de necesidades del cliente ● Sprint Backlog: Lista de tareas que realiza un “Sprint” ●. Incremento: Es la parte añadida en cada “Sprint”. Es una parte totalmente terminada y funcional. ROLES EN SCRUM. El equipo Scrum está formado por los siguientes roles: ● Scrum Master: Es la persona encargada de liderar al equipo para que cumpla ● las reglas y objetivos propuestos. ● ProductOwner: Representante de los accionistas y clientes que usan el software. ● Team: Grupo de personas con los conocimientos necesarios y que desarrollan el proyecto de manera conjunta llevando a cabos los objetivos que se prometen al inicio de cada “Sprint”. EL PROCESO. Cada “Sprint” tiene como duración entre 2 y 4 semanas, en cada nuevo “Sprint” se va ajustando la funcionalidad ya construida y se añaden nuevas características centrándose siempre en las que aportan un mayor valor al proyecto. Dentro del. 14. TRIGAS, Manuel. Metodología Scrum [en linea], [revisado 11 de marzo de 2018]. Disponible en Internet: http://openaccess.uoc.edu/webapps/o2/bitstream/10609/17885/1/mtrigasTFC0612memoria.pdf .. 29.

(30) desarrollo de un “Sprint” se llevan a cabo ciertos eventos, estos reciben el nombre de “ScrumEvents” los cuales son: ● Sprint Planning (Planeamiento del Sprint): Durante este evento se deciden los requerimientos que se le asignará a cada equipo. Los integrantes deben definir el tiempo que le llevará a cabo sus requerimientos. Así se define el tiempo de duración de cada “Sprint”. ● Scrumteam meeting (Reunión del equipo): Estas reuniones sirven para que todos los miembros del equipo se apoyen entre ellos. ● Backlogrefinement (Refinamiento del Backlog): El ProductOwner revisa cada uno de los elementos del ProductBacklog con el fin de aclarar cualquier duda que pueda surgir por el equipo de desarrolladores. ● Sprint review (Revisión del “Sprint”): Los miembros del equipo se reúnen para mostrar el trabajo que se ha realizado. ●. Retrospective: El ProductOwner se reúne con todo el equipo de trabajo para hablar sobre lo ocurrido en el “Sprint”. Se tratan temas como: Qué se hizo mal, qué inconvenientes surgieron y qué se hizo bien.. 30.

(31) 1.7 ALCANCES Y DELIMITACIONES 1.7.1 Alcances Este proyecto se realizará para llevar un sistema de registros que permita gestionar una base de datos actualizada que contenga los datos de los propietarios que tengan vehículos bajo su propiedad y requieran el servicio de parqueadero dentro de un conjunto residencial, con esto también se le dará una herramienta adicional de trabajo a las empresas de vigilancia para facilitar su trabajo y garantizar que las personas que intentan acceder y residen en el conjunto no tengan inconvenientes con este proceso.. 1.7.2 Delimitantes Para el proyecto, es de vital importancia que los conjuntos residenciales que vayan a utilizar la aplicación tengan en su propiedad celulares que contenga dentro de su hardware un sensor de huellas, ya que sin este el principal uso de la aplicación no servirá, una de las formas que se puede remediar este inconveniente, se puede llegar a utilizar un PIN o la cedula para utilizarlas de ayuda y que la huella del residente sea para utilizarla para mayor seguridad. La aplicación necesitará estar conectada a una red con internet para que su funcionamiento sea óptimo, también se puede utilizar un plan de datos para el uso de la aplicación, ya que no sería optima, se podría utilizar en casos extremos como apagones de energía, o que el conjunto residencial no tenga acceso a una red con internet.. 31.

(32) 1.8 ECONÓMICA 1.8.1 Técnica A continuación, en la tabla 1 se enumera los recursos físicos necesarios para el desarrollo del sistema. Tabla 1: Costos técnicos Recurso Computadores. Descripción. Valor Unitario. Equipos de escritorio para el. Cantidad. Total. $ 1.500.000. 1. $ 1’500.000. $ 50.000. 6. $ 300.000. desarrollo y las pruebas del sistema. Servicio de. Servicio de luz que se le suministrara. energía. al equipo. Papelería e. Gasto en documentos. $ 90.000. 2. $ 180.000. Servicio de. Servicio de internet que se le. $ 60.000. 6. $ 360.000. internet. suministrara al equipo. Celular. Motorla E4 plus. $ 450.000. 1. $ 450.000. impresiones. Total Recursos Técnicos. $ 2.790.000. A continuación, se realizará una descripción del hardware y software necesario para el desarrollo satisfactorio del proyecto. Hardware: Un equipo de cómputo con mínimo las siguientes características:. ● Procesador de 2.2 GHz, Intel o AMD ● Sistema operativo Windows 7 ● Memoria RAM 4GB ● Disco duro 250GB Software: Se utilizará un entorno de desarrollo Android para interactuar con el. usuario y el sensor de huella, para el sistema web se utilizarán los servicios de Firebase. Hardware: un equipo que este equipado con un huellero dactilar ●. Pantalla: 5.5". 32.

(33) ● Memoria Interna: 16GB ●. Batería: 5000mAh. ●. Procesador: MTK QuadCore a 1.3 Ghz. ● Memoria RAM: 2Gb ● Huellero Dactilar Software: el sistema operativo del equipo es 7.1 Nougat, la aplicación servirá en equipos con Android superiores de 6.0. 1.8.2 Operativa A continuación, en la tabla 2 se presentan los recursos humanos necesarios para el desarrollo del proyecto. Tabla 2: Costos operativos Tipo. Descripción. Valor-Hora. Sonia. Asesorías para la realización del proyecto,. Alexandra. referente a la metodología.. Cantidad. Total. $ 30.000. 200. $ 6.000.000. $ 40.000. 8 horas. $ 8’000.00. Pinzón Nuñez Cristian. Dos programadores que realicen la. Laguna –. implementación de la solución.. semanales. JulianRincon Total Recursos Humanos. $ 14.000.000. A continuación, se presenta los recursos totales, junto con un pequeño porcentaje de imprevistos. Recurso. Valor. Total Recursos Humanos. $14.000.000. Total Recursos Económico. $ .2.790.000. Total Otros recursos. $. Costos imprevistos (10%). $ 1.541.000. TOTAL COSTO. 50.000. $18.381.000. Tabla 3:Costo total. 33.

(34) Se tuvo en cuenta, la economía del celular, la versión del Android que maneja, que tuviera lector de huella dactilar y tuviera como mínimo 2 GB de memoria RAM para un que la aplicación no se saturara ni se volviera lenta. Los celulares que se revisaron fueron: Tabla 4: Tabla celulares. Referencia Celular. Android. Memoria. Huella. RAM. dactilar. Precio. Motorola G5s. 7.1. 3gs. Si. $699.000. Nokia 5. 7.1. 2gs. si. $699.000. Motorola G5. 7.1. 2gs. si. $699.000. Huawei Y7 prime. 7.0. 3gs. si. $699.000. El valor de todos los celulares son una media de diferentes cadenas de supermercados y tiendas distribuidoras colombianas de equipos móviles. Al tener en posesión un Motorola G5s no tuvimos que gastar dinero en la compra de un celular, en este se puso a disposición para la realización de la aplicación todas las pruebas necesarias para asegurar la funcionalidad de la aplicación. Para el almacenamiento de los datos se eligió Firebase, ya que esta plataforma nos brinda un servicio gratuito de 100 usuarios y un número limitado de mensajes de texto que se pueden enviar por día junto con otros servicios que nos ayudara a la realización de la aplicación. 34.

(35) 1.9 CRONOGRAMA A continuación, se mostrará el cronograma que se utilizó para poder cumplir con la finalización del proyecto. Ilustración 1: Cronograma #1. Ilustración 2: Cronograma #2. 35.

(36) Ilustración 3: Cronograma #3. Ilustración 4: Cronograma #4. Ilustración 5: Cronograma #5. 36.

(37) 2. ANÁLISIS DEL PROYECTO 2.1 FASE DE PLANEACION A continuación, se pondrán el análisis que se hizo al proyecto con anterioridad para la ejecución de esté.. 2.1.1 Análisis En esta sección se mostrará cómo se trabajarán los diagramas de flujo, el modelo de dominio, y glosario de actores de los diferentes usuarios que van a utilizar la aplicación como lo son el guarda de seguridad, el administrador y el usuario regular. Todo lo que tenga que ver con el Modelado del proyecto. 2.1.1.1 Modelos de flujo. Ilustración 6: Flujo guarda. Ilustración 7: Flujo Usuario. Ilustración 8:flujo Admin. 37.

(38) 2.1.1.2 Modelo de dominio En el siguiente modelo de dominio, se puede ver que la clase persona principal extienden tres clases, Administrador, Guarda seguridad, y Propietario, por lo tanto, el conjunto de estas e clases generan una clase llamada usuario, con la cual se podrá ingresar a la aplicación. La clase Propietario hace composición a la clase Vehículo que lleva los datos generales de un vehículo junto con los de su propietario, los datos del Vehículo hacen agregación a la clase Ingreso, en la cual se validara si hay coincidencia en la base de datos se dejara ingresar el vehículo.. Ilustración 9: M. dominio. 38.

(39) 2.1.1.3 Glosario de términos Tabla 5: Glosario de términos. CONCEPTO Guarda Seguridad. DESCRIPCION Es la clase que representa al actor Guarda seguridad. Administrador. Es la clase que representa al actor Administrador. Usuario regular. Es la clase que representa al actor Usuario regular. Usuario. Esta clase representa los usuarios en el sistema. Aplicación. Software donde interactúan los actores. Base de datos. BD donde interactúa la Aplicación. 2.1.2 Requerimientos En esta sección se sacarán los requerimientos del proyecto como lo es la definición de actores.. 2.1.2.1 Definición de actores Tabla 6: Definición de actores. ACTOR. DESCRIPCION Es el rol que tiene dominio total junto con la capacidad de realizar. Administrador. cualquier acción sobre la aplicación como la gestión de los usuarios y responder peticiones de los usuarios. Guarda de seguridad. Usuario Regular. Es el rol que prestara el servicio para que se coloque la huella o digitar el PIN de verificación para el ingreso del Usuario regular Es el rol encargado de pedir el servicio. 39.

(40) 2.1.3 Identificación de roles Se identifica cada uno de los roles junto con el nombre de los responsables de hacer el proyecto y la descripción de lo que cada persona hace. Tabla 7: Roles. ROL. RESPONDABLE. SCRUM MASTER. Julián Rincón. PRODUCT OWNER. Cristian Laguna. TEAM. Julián Rincón Cristian Laguna. DESCRIPCION Persona que lidera al equipo guiándolo para que cumpla las reglas y procesos de la metodología. Representante de los accionistas y clientes que usan el software. Se focaliza en la parte de negocio y el es responsable del ROI del proyecto (entregar un valor superior al dinero invertido). Grupo de profesionales con los conocimientos técnicos necesarios y que desarrollan el proyecto de manera conjunta llevando a cabo las historias a las que se comprometen al inicio de cada sprint.. 2.1.3.1 Listado Actividades por roll Se listan las actividades de cada uno de los integrantes del team según su rol. Tabla 8: Actividad roles. ROL. RESPONDABLE. SCRUM MASTER. Julián Rincón. PRODUCT OWNER. Cristian Laguna. TEAM. Julián Rincón Cristian Laguna. DESCRIPCION  Resolver los problemas que dificulten el ritmo normal del proyecto.  Incitar y motivar al equipo de trabajo.  Fomentar la autogestión de sus colaboradores durante el proceso.  Negociar y renegociar las condiciones con el cliente.  Evitar la intromisión de terceros en las labores.  Comunica las necesidades del negocio ante el director y su equipo de trabajo.  Decide las características funcionales del producto o servicio.  Protege los intereses del negocio; maximiza el valor de la inversión.  Revisa el producto al final de cada iteración.  Sugiere cambios y adaptaciones al término de cada nueva iteración.  Desarrollar cada una de las tareas incluidas en el plan de trabajo.  Poner al servicio del proyecto sus conocimientos y técnicas.. 40.

(41) 2.2 DESARROLLO DE LA METODOLOGÍA A continuación, se mostrará como fue el proceso de realización del proyecto, en la cual se evidenciará las necesidades que tuvo el cliente y estas se volvieron objetivos para la realización de esté.. 2.2.1 Product Backlog Para la realización de esta parte, se preguntaron cuáles fueron las necesidades del cliente en las cuales las historias se volvieron objetivos por completar para los Sprint a continuación. Tabla 9: Historias. ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14. Historia Crear un login para los usuarios de la aplicación Crear diseño Crear BD para la contención de todos los datos de usuarios que se registraran en un futuro Crear un login en una página web Enlazar página web con BD para la manipulación de los datos desde una PC Opción para restablecer contraseñas Crear usuario que cumpla con el rol de Administrador de la App con sus funcionalidades correspondientes Usuario Administrador podrá Bloquear usuarios que se encuentren en los registros de la BD Opción de crear usuarios, el Administrador será el único que podrá crear usuarios para la BD Usuario Administrador Podrá ver los registros de ingreso de todos usuarios Definir los Roles Guarda de seguridad y Usuario regular para el uso constante de la App Implementa validaciones en el código Crear el diseño final de la App para las diferentes interfaces Explicación de la seguridad implementada en el proyecto. 41. Estimado (Días) 3 2. Prioridad 1 1. 3. 1. 3. 1. 1. 2. 2. 2. 1. 3. 2. 2. 2. 2. 3. 2. 4. 1. 4 4 1. 1 1 2.

(42) 2.2.2 Sprint Planning En primera medida se buscó cómo organizar los Sprint para saber de una forma detallada y organizada cuales son los componentes que se van a trabajar, para el desarrollo de la aplicación. La terminación de cada tarea será cuando sea completamente funcional y no dependa de algún pendiente. Tabla 10: Sprint1. Sprint 1 Para culminar la fase Sprint se tendrá en cuenta los siguientes elementos Objetivos: 1, 2, 3, 6, 7 Login de usuarios, Restablecimiento de contraseña, Definir usuario Administrador, Crear una BD, Diseño Tiempo Estimado 11 días Tabla 11: Sprint2. Sprint 2 Para culminar la fase Sprint se tendrá en cuenta los siguientes elementos Objetivos: 4, 5, Diseño de página web, junto con un login para el administrador, enlace a la BD Tiempo Estimado 7 días Tabla 12: Sprint 3. Sprint 3 Para culminar la fase Sprint se tendrá en cuenta los siguientes elementos Objetivos: 8, 9, 1 Ver registros de los usuarios, Definir usuarios (Guarda Seguridad – Usuario Regular), método de seguridad en la aplicación Tiempo Estimado 9 días Tabla 13: Sprint4. Sprint 4 Para culminar la fase Sprint se tendrá en cuenta los siguientes elementos Objetivos: 11, 12 Validaciones, diseño final Tiempo Estimado 10 días. 42.

(43) 3 DISEÑO EN EL DESARROLLO EN LOS SPRINT 3.1 Sprint 1 En este Sprint se trabajaron las historias 1, 2, 3 y 4 con estas se implementó el primer Sprint que es la base de la aplicación. Tabla 14: backlog 1. Backlog 01 Historia Objetivos ● Se implementará un formulario que pedirá datos en específico para poder ingresar a la 1 app ● Al estar validados los datos se guardarán en la base de datos de Firebase ● Guía visual para la interfaz de la creación de la interfaz de creación de usuario, en el cual 2 se diligenciarán cortos datos para poder registrarse en la plataforma ● Creación de BD en el cual se guardarán, usuarios, y los registros, en esta misma se 3 podrá realizar cambios si se es necesarios a los usuarios ● Se implementará una ayuda de 6 restablecimiento de contraseña ● Se definirá el usuario de Administrador 7 ● Podrá crear Usuarios regulares y Guardas visualización de registros. Prioridad Esfuerzo. 1. 10. 1. 20. 2. 20. 3. 10. 1. 10. Objetivos del Sprint 1 ● Crear modulo para el registro de los usuarios. ● Establecer parámetros para el Usuario Administrador. ● Crear BD para el registro de los datos. ● Diseño practico para la interfaz.. 43.

(44) Funcionamiento en tiempo real El diagrama que se mostrará a continuación, esboza la funcionalidad en tiempo real en la que se planteó en este sprint.. Ilustración 10: Sprint 1. 44.

(45) Funcionamiento. ●. Login: al abrir la aplicación, nos pedirá. diligenciar un formulario con sus campos debidamente validados, el cual pide EMAIL y Contraseña, con la cual ingresará el Usuario Administrador y Usuario Guarda.. Ilustración 11: Login Usuario. ● Base de datos: Se creó la BD en Firebase, para así poder ingresar a próximos usuarios.. Ilustración 12: Base de datos. 45.

(46) DISEÑO BASE DE DATOS Todos los datos de Firebase tienen una estructuración en formato JSON, dicho esto se explica cómo se estructuran los datos en este formato: La base de datos puede conceptualizarse como un árbol JSON alojado en la nube. A diferencia de una base de datos SQL, no hay tablas ni registros. Cuando los datos se agregan, estos se convierten en un nodo de la estructura JSON existente con una clave asociada. Al ser una base de datos descentralizada se tendra tres nodos principales:   . Usuarios: Este nodo llevará todos los datos asociados a un usuario incluidos los datos de su vehículo. Guardas: Este nodo llevará todos los datos asociados a los guardas. Ingresos: Este nodo llevará todos los ingresos que se realizan en el sistema, como clave asociada llevará la placa del vehículo que realizó el ingreso, de esta forma se identificará el propietario del vehículo.. Ilustración 13:Tablas B.D. 1. 46.

(47) Ilustración 14: Tabla B.D 2. Reglas Firebase Realtime Database proporciona un lenguaje flexible de reglas basadas en expresiones con una sintaxis similar a la de JavaScript que permite definir cómo se deben estructurar los datos, cómo se deben indexar y cuándo se pueden leer y escribir. En nuestro caso vamos a tener reglas basadas en usuarios autenticados. Esto quiere decir que solo pueden leer y escribir datos usuarios autenticados con fin de garantizar seguridad en el sistema. A continuación, se muestra un ejemplo de reglas que requieren autenticación.. Ilustración 15: Conexión B.D. 1. 47.

(48) Aunque no parezca intuitivo inmediatamente, esta es una parte poderosa del lenguaje de reglas y permite la implementación de privilegios de acceso complejos con un esfuerzo mínimo. A veces resulta útil estructurar la base de datos de una manera que facilite la escritura de reglas de seguridad. En nuestro caso se utilizará un patrón común para el almacenamiento de datos de usuario en que es almacenar todos los usuarios en un solo nodo users cuyos elementos secundarios son los valores de id de cada usuario. De modo que las reglas quedarían de la siguiente manera:. Ilustración 16: Conexión B.D. 2. ●. Administrador: la interfaz de administrador. donde se puede ver las opciones que tiene este usuario.. Ilustración 17: Interfaz Amin. 48.

(49) ●. Restablecimiento. de. contraseña:. La. contraseña se podrá cambiar directamente desde la App buscando dos datos del guarda, tendrá que ingresar el número de celular o la cedula del Guarda de seguridad para así poder ingresar a los datos de él y poder cambiarlos.. Ilustración 18: Restablecer contraseña. 3.2 Sprint 2 En este Sprint se trabajaron las historias 2, 4 y 5 con estas se implementó el primer Sprint que es la base de la aplicación.. Tabla 13: Backlog 2. Backlog 02 Historia Objetivos ● Guía visual de la creación de la interfaz de la 2 pagina web para el administrador ● Se creará una interfaz con su respectivo 4 formulario, para el login de administrador desde la página web ● Se conectará la base de datos que se encuentra en Firebase, El Usuario 5 Administrador podrá hacer modificaciones los usuarios que se encuentren dentro de la BD. 49. Prioridad Esfuerzo 2. 20. 1. 20. 2. 20.

(50) Objetivos del Sprint 2 ● Se creará una interfaz para el uso del administrador para ser manipulada por medio de una computadora en un sitio web ● Se realizará la conexión con la base de datos en Firebase con la página web creada anteriormente, para la manipulación de los datos que se encuentren en esta BD. ● La página web y los datos mostrados en ella, serán manipulados únicamente con un usuario Administrador. ● Diseño practico para la interfaz.. Funcionamiento en tiempo real El diagrama que se mostrara a continuación, la funcionalidad en tiempo real en la que se planteó en este sprint.. 50.

(51) Ilustración 19: Sprint 2. Funcionamiento. Ilustración 20: Login Web. 51.

(52) ● Login usuario web: al abrir la página web, nos pedirá diligenciar un formulario con sus campos debidamente validados, el cual pide EMAIL y Contraseña, con la cual ingresará el Usuario Administrador.. Ilustración 21: Administrador Web. Ilustración 22:Base Datos. 52.

(53)  Conexión base de datos: el Administrados puede ver los datos de dos formas: ingresando por la página web de Firebase, y desde la página creada. 3.3 Sprint 3 En este Sprint se trabajaron las historias 2, 9 y 10 con estas se implementó el primer Sprint que es la base de la aplicación. Tabla 14: Backlog 3. Backlog 03 Historia Objetivos ● Guía visual de la creación de la interfaz 2 llenando un formulario de registro de usuarios. ● El usuario Administrador podrá hacer modificaciones en los usuarios que se 8 encuentren dentro de la BD, alterando su estado de 3 formas, Activo, Bloqueado o Eliminar. ● El usuario Administrador podrá hacer registros en la BD directamente desde la 9 aplicación, esto se dará cuando se diligencie el formulario pertinente y no falten espacios por diligenciar. ● El Usuario Administrador podrá ver un listado de los usuarios que se han registrado y se han guardado en la BD. 10 ● el usuario Administrador podrá ver los registros de ingreso de los usuarios regulares mediante en un listado en tiempo real Firebase ● Se creará un formulario para la creación del Usuario Guarda y otro para la creación del 11 Usuario Regular, para el almacenamiento en la BD. Prioridad Esfuerzo 2. 20. 1. 20. 2. 20. 1. 10. 2. 10. Objetivo del Sprint 3 ● poder realizar cambios en el estado de los usuarios que se encuentre dentro de los registros. ● Ver en un listado los registros de los usuarios en la BD.. 53.

(54) ● El Administrador podrá hacer registros de usuarios para alimentar la BD desde la aplicacion. ● El administrador verá el ingreso de los usuarios en tiempo real desde la BD en Firebase. ● Diseño practico para la interfaz. Funcionamiento en tiempo real El diagrama que se mostrara a continuación, la funcionalidad en tiempo real en la que se planteó en este sprint.. Ilustración 23: Sprint 3. Funcionamiento. Ilustración 24: Funciones Web. 54.

(55) ● Bloquear Usuario: el usuario Administrador puede ingresar desde Firebase, pagina web y desde la Aplicación puede cambiar el estado de Activo, Eliminar o bloquear usuarios Regulares que ya no necesiten más el servicio.. Ilustración 25:Bloquear Usuario. ●. Ver Usuarios registrados: El usuario. Administrador puede ver la lista de usuarios registrados desde Firebase y la Aplicación. Ilustración 26: Ver registros. 55.

(56) ●. Registro de Usuarios Regular: el. usuario Administrador puede ingresar a Usuarios regulares y así alimentar la BD.. Ilustración 27: ingresar Usuario. Ilustración 28: B.D. tiempo Real. . BD en tiempo real: Una de las ventajas de utilizar éste motor de base de datos, es el uso de ella en tiempo real. Esto nos permitirá ver, desde la. 56.

(57) administración web, cómo los datos cambian a medida que se realizan nuevos registros en la aplicación.. ●. Registro de Guarda de seguridad: se diligencia. el formulario correspondiente para crear usuario Guarda seguridad, lo cual tendrá acceso a ciertas partes de la aplicación y no tendrá el acceso a Firebase, ya que su usuario no cumple con los requisitos.. Ilustración 29: Registrar Guarda. ● Registros de los usuarios: La base de datos genera un registro con Anotación del guarda, fecha de ingreso, Hora de ingres y la placa de del automóvil, esto lo hará en tiempo real.. 3.4 Sprint 4 En este Sprint se trabajaron las historias 11, 12 y 13 con estas se implementó el primer Sprint que es la base de la aplicación. Tabla 15: Backlog4. Backlog 02 Historia Objetivos ● Guía visual de la creación de la interfaz en la 12 cual se va a mostrar los datos de los. 57. Prioridad Esfuerzo 1. 20.

(58) 13 14. ● ●. usuarios al poner la huella o el PIN de ingreso Corregir errores en la programación e interfaces que generar conflicto en la App Explicación de seguridad que maneja la aplicación. 1. 20. 1. 20. Objetivo del Sprint 4 ● Diseño practico para el interfaz finalizado. ● Validaciones en la programación y fallos de la interfaz. ● Se explicará la implementación de seguridad Fingerprint para el uso de este proyecto ● Uso de código de validación mediante mensaje de texto.. Funcionamiento. Esta interfaz es la general, que los Guardas de seguridad verán y en la cual tiene la opción de ingresar con otro método, después de poner la huella dactilar, nos lleva a otra interfaz.. Ilustración 30: Interfaz Guarda. 58.

(59) Esta ventana es otro método de acceso, donde digitando el número del celular de un Usuario Regular puede ingresar.. Y como finalidad, al haber ingresado con la huella o el PIN mostrara los datos del Usuario regular en la cual nos mostrara los datos generales, como el nombre del usuario, la placa del vehículo, la torre o bloque el apartamento y por ultimo una anotación que realizara el guarda de seguridad si el vehículo llega a tener algún problema Ilustración 31: Pedir PIN. Esta ventana mostrara los datos del Usuario Regular, al momento de haber puesto la huella, o digitado el código de mensaje de texto.. También tendrá un espacio para anotaciones para que el guarda pueda escribir si hay alguna clase de inconveniente en este vehículo.. Ilustración 32: datos Finales. 59.

(60) ● Seguridad: la seguridad que se escogió para este proyecto es la de que trae determinada Fingerprints, esta tecnología la utiliza Google para el almacenamiento de los datos, encriptación de los datos en la que manda estos datos a una sección de teléfono móvil, que se llama TEE(Entorno de Ejecución de Confianza) en esta sección de seguridad del teléfono envía los datos de la huella registrada, un usuario con los datos guardados y la huella vinculada, para que la aplicación almacene los datos en la aplicación instalada. ● La seguridad en Firebase: todos los servicios de Firebase Completaron correctamente los procesos de evaluación ISO 27001, SOC 2 y SOC 3, y algunos complementaron los procesos de certificación ISO 27017 e ISO 27018. . FINGERPRINT API. Se importa las clases a usar. Ilustración 33: fingerprint 1. Se declaran objetos. 60.

(61) Ilustración 34: fingerprint 2. Se inicializa el keyguardManager (Es la clase que maneja el estado del dispositivo; si está bloqueado o no) Se inicializa el fingerprintManager(Es la clase que maneja el hardware, es decir el sensor). Ilustración 35: fingerprint 3. Se verifica si el dispositivo no cuenta con un sensor de huellas. Si no tiene el hardware desplegamos un mensaje.. Ilustración 36: fingerprint 4. Si se cuenta con el sensor: se verificará que tenga huellas registradas. Si no, desplegamos un mensaje.. Ilustración 37: fingerprint 5. Si hay huellas: Verificamos que el dispositivo tenga un método de desbloqueo. Ilustración 38: fingerprint 6. Se crea un método para generar una clave única para acceder al keyStore. 61.

(62) Ilustración 39: fingerprint 7. Se verifica que se haya inicializado correctamente en el keyStore de Android. Ilustración 40: fingerprint 8. Se inica la inicialización de la clave única-. Ilustración 41: fingerprint 9. Se hace un llamado al método genkey. 62.

(63) Si el dispositivo cuenta con un método de desbloqueo: Obtenemos la clave del keyStore y verificamos si el cifrado está inicializado. Si hay un cifrado: Inicializamos un CryptoObject (Es el objeto encargado de entrar en la keyStore). Inicializamos un helper (Nos va a ayudar a iniciar el proceso de autenticación).. Ilustración 42: fingerprint 10. Se crea un método para iniciar el proceso de autenticación. Se inicializará un objeto Cipher con su respectivo método de encriptación.. Ilustración 43: fingerprint 11. Se ingresará al keyStore e inicializamos una key (Clase que guarda la clave de las huellas enroladas). Inicializamos el cipher para que acceda al keyStore por medio de la key y su respectivo método de encriptación. Ilustración 44: fingerprint 12. Se creará una clase que se encargará del proceso de autenticación. 63.

(64) Ilustración 45: fingerprint 13. Se creará un método que inicia el proceso Se verifica que el usuario tenga permitido usar el sensor. Se llama al método de autenticar enviando un objeto crypto.. Ilustración 46: fingerprint 14. Se creará un método que se llamará en caso de existir algún fallo con el proceso. Ilustración 47: fingerprint 15. Se creará un método que se ejecutará en caso de éxito. Creamos un intent que llamará a la actividad que se va a ejecutar una vez se haya verificado la autenticación y le enviamos el objeto asociado a la huella (por medio de este objeto se identificará el usuario al que está asociada). Ilustración 48: fingerprint 16. 64.

Figure

Tabla 1: Costos técnicos
Tabla 4: Tabla celulares
Ilustración 2: Cronograma #2
Ilustración 5: Cronograma #5
+7

Referencias

Documento similar