• No se han encontrado resultados

Sistema informático de reconocimiento facial para el registro y control de asistencia de los socios de la cooperativa de taxis y camionetas Puyo.

N/A
N/A
Protected

Academic year: 2020

Share "Sistema informático de reconocimiento facial para el registro y control de asistencia de los socios de la cooperativa de taxis y camionetas Puyo."

Copied!
127
0
0

Texto completo

(1)

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES”

FACULTAD DE SISTEMAS MERCANTILES CARRERA DE SISTEMAS E INFORMÁTICA

PROYECTO DE INVESTIGACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS E INFORMÁTICA

TEMA: SISTEMA INFORMÁTICO DE RECONOCIMIENTO FACIAL PARA EL REGISTRO Y CONTROL DE ASISTENCIA DE LOS SOCIOS DE LA COOPERATIVA DE TAXIS Y CAMIONETAS PUYO.

AUTOR (A): CALLES CARRASCO MARCO FERNANDO

TUTOR (A): ING. BECERRA ARÉVALO NELSON PATRICIO Mgs.

(2)
(3)
(4)
(5)

DEDICATORIA

A:

Dios, por darme la oportunidad de vivir y por estar conmigo en cada paso que doy, por fortalecer mi corazón e iluminar mi mente y por haber puesto en mi camino a aquellas personas que han sido mi soporte y compañía durante todo el periodo de estudio.

Mis padres Marco Calles y Juanita Carrasco, por ser el pilar fundamental en todo lo que soy, en toda mi educación, tanto académica, como de la vida, por su incondicional apoyo perfectamente mantenido a través del tiempo.

Todo este trabajo ha sido posible gracias a ellos.

Por sus consejos, sus valores, por la motivación perseverancia constante que me ha permitido ser una persona de bien, por su amor y lo más importante por darme la vida y la oportunidad de ser su hijo los amo.

“Gracias por estar conmigo en los buenos y en los malos momentos, gracias por hacerme feliz, gracias por tus detalles, por tu apoyo, y sobre todo por tu paciencia infinita, gracias por darme Sabiduría, Amor, Valentía, Y el eterno amor día tras día de mi vida te amo, amor de mi vida y de mi corazón”.

(6)

AGRADECIMIENTO

A mis padres quienes con su amor, paciencia y esfuerzo me han permitido llegar a cumplir hoy un sueño más, gracias por inculcar en mí el ejemplo de esfuerzo y valentía, de no temer las adversidades porque Dios está conmigo siempre.

De igual manera mis agradecimientos a la Universidad Regional Autónoma de los Andes Uniandes, a toda la Facultad de Sistemas, a mis profesores quienes con la enseñanza de sus valiosos conocimientos hicieron que pueda crecer día a día como profesional, gracias a cada una de ustedes por su paciencia, dedicación, apoyo incondicional y amistad.

Finalmente quiero expresar mi más grande y sincero agradecimiento al Ing. Nelson Becerra, principal colaborador durante todo este proceso, quien con su dirección, conocimiento, enseñanza y colaboración permitió el desarrollo mi tesis de graduación.

(7)

RESUMEN

En la actualidad la tecnología se ha convertido es una herramienta para el desarrollo de una sociedad, por tal motivo las diferentes instituciones tienen la necesidad de implementar sistemas que permitan automatizar los procesos que se ejecutan manualmente. La presente investigación tuvo como finalidad desarrollar un sistema informático de reconocimiento facial para el registro y control de asistencia de los socios de la cooperativa de Taxis y Camionetas Puyo, que permita llevar un control adecuado del registro de las asistencias de los socios a reuniones y convocatorias dentro de la sede de la Cooperativa.

(8)
(9)

ÍNDICE GENERAL

APROBACIÓN DEL ASESOR DEL TRABAJO DE TITULACIÓN DECLARACIÓN DE AUTORÍA

APROBACIÓN DEL TRIBUNAL DEDICATORIA

AGRADECIMIENTO

INTRODUCCIÓN ...1

CAPITULO I. FUNDAMENTACIÓN TEORICA……….5

1.1. Origen y evolución de los Sistemas de Reconocimiento Facial ...5

1.1.1. Sistema de control...6

1.1.1.1. Definición ...6

1.1.1.2. Objetivos ...6

1.1.1.3. Elementos ...7

1.1.2. Sistema informático ...7

1.1.2.1. Definición ...7

1.1.2.2. Elementos ...7

1.1.3. Sistema de Reconocimiento Facial...8

1.1.3.1. Definición ...8

1.1.3.2. Biometría facial...9

1.1.3.3. Técnicas y algoritmos de reconocimiento facial ...10

1.1.3.4. Librerías para el procesamiento de imágenes ...10

1.1.4. Base de datos ...12

1.1.4.1. Definición ...12

1.1.4.2. Modelos de base de datos ...12

1.1.4.3. Sistema de gestión de base de datos ...13

1.1.4.4. SQL ...13

1.2. Valoración crítica de los conceptos principales de las distintas posiciones teóricas sobre el objeto de investigación ...15

1.3. Conclusiones parciales del capítulo ...16

CAPITULO II. DISEÑO METODOLÓGICO Y DIAGNÓSTICO………..17

2.1. Caracterización de la Cooperativa de Taxis y Camionetas Puyo ...17

2.2. Descripción del proyecto metodológico para el desarrollo de la investigación ...18

2.2.1. Métodos de investigación ...18

(10)

2.2.3. Población y muestra ...21

2.3. Resultados de las encuestas ...22

2.4. Conclusiones parciales del capítulo ...28

CAPITULO III. DESARROLLO DE LA PROPUESTA (VALIDACIÓN Y/O EVALUACIÓN DE RESULTADOS)………..29

3.1. Planteamiento de la propuesta ...29

3.1.1. Título ...29

3.1.2. Justificación ...29

3.1.3. Objetivos ...29

3.1.4. Factibilidad ...30

3.1.4.1. Factibilidad técnica ...30

3.1.4.2. Factibilidad operativa ...32

3.1.4.3. Factibilidad económica ...33

3.1.5. Metodología de desarrollo ...34

3.1.5.1. Metodología en cascada ...34

3.2. Desarrollo de la propuesta ...35

3.2.1. Análisis de requerimientos ...35

3.2.1.1. Requerimientos funcionales ...35

3.2.1.2. Requerimientos no funcionales ...35

3.2.1.3. Diagramas de casos de uso ...36

3.2.1.4. Diagramas de secuencia ...41

3.2.2. Diseño ...47

3.2.2.1. Diseño de la base de datos ...47

3.2.2.2. Diccionario de datos ...47

3.2.2.3. Diseño de la arquitectura del sistema ...54

3.2.2.4. Diseño de interfaz gráfica de usuario ...55

3.2.3. Implementación ...58

3.2.3.1. Aplicación de detección de imágenes ...58

3.2.3.2. Aplicación administrativa ...62

3.2.4. Verificación ...64

3.2.4.1. Pruebas de Unidad ...64

3.2.4.2. Pruebas de Integración ...69

3.2.4.3. Pruebas de Validación ...70

3.2.5. Mantenimiento ...72

3.2.5.1. Instalación del sistema de reconocimiento facial ...72

(11)

CONCLUSIONES………74 RECOMENDACIONES……….74 BIBLIOGRAFÍA

(12)

ÍNDICE DE FIGURAS

Figura 1 esquema general del sistema ... 6

Figura 2 Esquema conceptual del sistema informático ... 7

Figura 3 Esquema de un sistema de reconocimiento facial ... 9

Figura 4 Funcionamiento de OpenCV ... 11

Figura 5 Pregunta No. 1... 22

Figura 6: Modelo de la metodología en cascada ... 34

Figura 7: Diagrama de casos de uso secretaria ... 36

Figura 8: Diagrama de casos de uso sistema biométrico ... 40

Figura 9: Diagrama de secuencia login en el sistema ... 42

Figura 10: Diagrama de secuencia insertar nuevo socio ... 42

Figura 11: Diagrama de secuencia visualizar socio ... 43

Figura 12: Diagrama de secuencia editar socio ... 43

Figura 13: Diagrama de secuencia eliminar socio ... 44

Figura 14: Diagrama de secuencia generar convocatoria ... 44

Figura 15: Diagrama de secuencia informe de asistencia ... 45

Figura 16: Diagrama de secuencia capturar imagen ... 45

Figura 17: Diagrama de secuencia identificar socio ... 46

Figura 18: Diseño de base de datos ... 47

Figura 19: Arquitectura funcional del sistema... 54

Figura 20: Esquema de inicio de sesión ... 55

Figura 21: Esquema de ingreso de grupos ... 56

Figura 22: Esquema de ingreso de usuarios ... 56

Figura 23: Esquema de ingreso de datos de socio ... 57

Figura 24: Esquema de captura de fotos de socio ... 57

Figura 25: Estructura de carpetas del proyecto ... 58

Figura 26: Esquema de funcionamiento de aplicación de reconocimiento facial... 58

Figura 27: Ejemplo de características Haar ... 59

Figura 28: Características Haar significativas seleccionadas por AdaBoost ... 60

Figura 29: Métodos de extracción de características ... 61

Figura 30: Archivos de la aplicación de reconocimiento facial ... 62

Figura 31: Esquema de aplicación de administración ... 63

Figura 32: Tecnologías usadas en back-end y front-end ... 63

(13)

ÍNDICE DE TABLAS

Tabla 1 Sentencias SQL DDL ... 14

Tabla 2 Sentencias SQL DML ... 15

Tabla 3 Sentencias SQL DCL ... 15

Tabla 4 Total de entrevistados ... 19

Tabla 5 Total de los socios ... 20

Tabla 6 Guía de observación ... 20

Tabla 7 Población ... 22

Tabla 8 Pregunta No. 1 ... 22

Tabla 9 Pregunta No. 2 ... 23

Tabla 10 Pregunta No. 3 ... 24

Tabla 11 Pregunta No. 4 ... 25

Tabla 12 Pregunta N° 5 ... 26

Tabla 13 Pregunta No. 6 ... 27

Tabla 14: Requerimientos mínimos de hardware ... 31

Tabla 15: Requerimientos de software ... 32

Tabla 16: Análisis de costos ... 33

Tabla 17: Caso de uso iniciar sesión ... 37

Tabla 18: Caso de uso administrar datos de socios ... 37

Tabla 19: Caso de uso insertar socios ... 38

Tabla 20: Caso de uso visualizar socios ... 38

Tabla 21: Caso de uso editar socios ... 38

Tabla 22: Caso de uso eliminar socios ... 39

Tabla 23: Caso de uso generar convocatorias ... 39

Tabla 24: Caso de uso imprimir informes ... 39

Tabla 25: Caso de uso capturar imagen ... 41

Tabla 26: Caso de uso identificar socio ... 41

Tabla 27: Lista de tablas de la base de datos ... 48

Tabla 28: Tabla asistencias ... 48

Tabla 29: Tabla convocatorias ... 49

Tabla 30: Tabla documentos ... 49

Tabla 31: Tabla fotos_originales ... 50

(14)

Tabla 33 Tabla fotousers ... 50

Tabla 34: Tabla groups ... 51

Tabla 35: Tabla justificaciones ... 51

Tabla 36: Tabla menugroups ... 52

Tabla 37: Tabla menugroups ... 52

Tabla 38: Tabla positivos_socios ... 52

Tabla 39 Tabla socios ... 53

Tabla 40 Tabla users ... 53

Tabla 41: Descripción de archivos ... 62

Tabla 42: Prueba de unidad – Ingreso al sistema ... 65

Tabla 43: Prueba de unidad – Visualización socios ... 65

Tabla 44: Prueba de unidad – Ingreso de datos de socios ... 66

Tabla 45: Prueba de unidad – Ingreso de fotos de socios ... 66

Tabla 46: Prueba de unidad – Consultar socios ... 67

Tabla 47: Prueba de unidad – Eliminar socios ... 68

Tabla 48: Prueba de unidad – Actualizar socios ... 68

Tabla 49: Prueba de unidad – Actualizar fotos de socios ... 69

Tabla 50: Prueba de integración – Proceso de registro de asistencia de socios ... 69

Tabla 51: Prueba de validación – Inicio de sesión ... 70

(15)

INTRODUCCIÓN

Dentro del presente proyecto de investigación podemos mencionar temas similares a Sistema Informático de Reconocimiento Facial. Algunos de ellos se enfocan en cuestiones de comunicaciones, en los que se realizan pruebas o estudios de las detecciones de los rostros, así como el estudio de los tratamientos de imágenes.

En el ámbito internacional se ha podido constatar un proyecto de la UNIVERSIDAD DE BUENOS AIRES con el tema “Reconocimiento Facial Mediante Imágenes Estereoscópicas Para Control de Ingreso” realizado por Pamela Alejandra Pereyra (2015) cuyo objetivo es generar un método de reconocimiento facial con un alto nivel de efectividad se utilizarán MNSF buscando mejorar la respuesta ante los posibles problemas de cambios, particularmente pero no exclusivamente, debido al ángulo de toma. De todas maneras, seguirán presentándose limitaciones a la hora de realizar los reconocimientos dado que se trabaja con caras tomadas en condiciones normales o neutrales, es decir sin expresiones particulares, y sin oclusiones. Queda, entonces la posibilidad de realizar extensiones de este trabajo con diferentes orientaciones.

En el ámbito nacional se ha podido constatar un proyecto de la UNIVERSIDAD POLITECNICA SALESIANA SEDE-QUITO con el tema “Sistema de Reconocimiento Facial utilizando el Análisis de componentes principales con una Red Neuronal Backpropagation desarrollada en C# y Matlab” realizado por Blanco Iturralde David Roberto (2015) cuyo objetivo es: Desarrollar un sistema que permita realizar el reconocimiento facial, en múltiples puntos, utilizando la tecnología de identificación por cámaras web. Luego de realizar el análisis y el estudio de las tecnologías existentes el autor planteó contar con un sistema moderno con tecnología de punta para llevar la comunicación para los sitios analizados, llegando así al cumplimiento de los objetivos planteados al inicio del desarrollo de dicha investigación.

(16)

identificación de rostros a partir de una característica anatómica o un rasgo de su comportamiento.

Planteamiento del problema

La Cooperativa de Taxis y Camionetas Puyo, es una organización cuya principal actividad es el transporte de pasajeros y/o cargas menores; servicio que llevan brindando a la ciudad de Puyo desde el año 1972. Con los 46 años de servicio que lleva la cooperativa, la nómina de socios ha ido creciendo llegando a la cantidad de 79 asociados.

La entidad realiza periódicamente convocatorias a junta de socios ya sea para rendición de cuentas, aprobación de estados financieros, sesiones para encuentros deportivos, entre otros eventos.

Debido a la gran cantidad de afiliados a la cooperativa, se han evidenciado inconvenientes en el proceso de realizar las convocatorias; si bien estas se realizan con aproximadamente 5 días de anticipación ya sea por entrega del acta de convocatoria en persona o por envío a través de Whatsapp y/o correo electrónico, no siempre asisten a las reuniones todos los socios.

La asistencia es tomada por la secretaria de la institución en un lapso de 15 a 30 minutos una sola vez al inicio de la reunión. Esto implica dificultades para mantener el historial de los asistentes a cada una de las convocatorias debido a que muchos de los socios presentes en las sesiones no firman la nómina por falta de tiempo o por atrasos, además que la toma de lista produce que las reuniones se alarguen terminando muchas veces pasada la media noche.

Problema científico

¿Cómo mejorar el registro y control de asistencia de los socios de la Cooperativa de Taxis y Camionetas Puyo?

Objeto de investigación

(17)

Campo de acción

Software de control mediante reconocimiento facial Identificación de la Línea de Investigación.

Desarrollo de Software y Programación de Sistemas. Objetivo general

Desarrollar un Sistema Informático de reconocimiento facial para el registro y control de asistencia de los socios de la Cooperativa de Taxis y Camionetas Puyo

Objetivos específicos

 Analizar los procesos que se utilizan actualmente en la Cooperativa de Taxis y Camionetas de la ciudad de Puyo para determinar la valoración de registro y control de asistencia de los socios.

 Fundamentar bibliográficamente los sistemas de reconocimiento facial mediante herramientas para el registro y control de asistencia.

 Desarrollar un Sistema informático de Reconocimiento Facial para el registro y control de asistencia en la Cooperativa de Taxis y Camionetas Puyo.

Hipótesis o Idea a Defender o Preguntas Científicas

La implementación de un Sistema Informático de reconocimiento facial mejorará el registro y control de asistencia a las convocatorias y reuniones de los socios de la Cooperativa de Taxis y Camionetas Puyo.

Justificación

(18)
(19)

CAPITULO I. FUNDAMENTACIÓN TEORICA

1.1.Origen y evolución de los Sistemas de Reconocimiento Facial

Cristina Conde Vilda (2013) “El rostro es un elemento del cuerpo humano utilizado principalmente para la diferenciación y reconocimiento entre individuos. La biometría y sobre todo el reconocimiento facial, son campos que han sido automatizados mediante el uso del computador” (p.105).

Aguilera (2013) “En el siglo XIX se ideó utilizar el reconocimiento facial de manera empírica para identificar delincuentes basándose en características como la forma de su cabeza, color de ojos y cabello, localización de cicatrices, lunares y marcas particulares” (p.59).

Ranga (2016) “En esa década, la compañía norteamericana Panoramic Research en Palo Alto (California), con financiamiento del Departamento de Defensa de EEUU, desarrolló el primer sistema semiautomático capaz de localizar características faciales de una fotografía mediante el cálculo de coordenadas” (p.98):

Kanade (2013) “Posteriormente, en los años 70, Goldstein, Harmon, & Lesk, intentaron automatizar el reconocimiento facial mediante 21 marcadores subjetivos específicos como el color de cabello, grosor de labios, etc” (p.59).

Biosys (2018) “A finales de los años 80, “Kirby & Sirovich aplicaron análisis de componentes principales, una técnica estándar del álgebra lineal, al problema del reconocimiento facial” (p.79).

Guerrero Diego (2013) “El siguiente avance en este campo se da en 1991, año en el que Turk y Pentland desarrollan sistemas automatizados de reconocimiento facial en tiempo real utilizando técnicas Eigenfaces, todo esto basándose en los descubrimientos de Kirby y Sirovich” (p.205).

(20)

Kindt (2013) “Incluso el reconocimiento facial utilizarlo en áreas de trabajo y entretenimiento, ya que aplicaciones multimedia y redes sociales incorporan servicios en base al reconocimiento facial. Facebook y Picasa son dos ejemplos de software por herramientas poderosas para la identificación de rostros” (p.306).

Análisis de las distintas posiciones teóricas sobre el objeto de estudio 1.1.1. Sistema de control

1.1.1.1.Definición

Fernández Alarcón (2013) “Es un conjunto de componentes que interaccionan entre sí para lograr un objetivo en común y no se limitan a objetos físicos sino también a objetos abstractos representados mayormente a través de elementos de entrada, salida, mecanismos de control, sección de transformación y objetivo” (p.98).

Figura 1 esquema general del sistema

Fuente: Sistemas de Control, Autor: Fernández Alarcón

Carrillo Paz (2013) “Englobado dentro de los sistemas se encuentran los sistemas de control. En se define un sistema de control como “el conjunto de elementos que funcionan de manera concatenada para proporcionar una salida o respuesta deseada” (p.305).

1.1.1.2.Objetivos

Buckbee & Gordon (2013) “Los objetivos de los sistemas de control son los siguientes:  Mantienen estabilidad, en las condiciones deseadas.

 Restauran las condiciones del proceso cuando son cambiadas por disturbios

(21)

1.1.1.3.Elementos

Morales Menendez & Raorez Mendoza (2013) “Los elementos que forman parte de un sistema de control son los siguientes:

 Planta que es el sistema a controlar.

 Actuador es el mecanismo que efectúa la acción de control y modifica las variables de control.

 Sensor permiten conocer las variables medidas en el sistema.

 Controlador que constituye el medio que, utilizando los valores determinados pro los sensores, calcula la salida de control requerida.

1.1.2. Sistema informático 1.1.2.1.Definición

Martínez Perales (2013) “Es un sistema informático como “el conjunto de hardware, software y el equipo humano que pueda interactuar con esta asociación” (p.200).

Isabel Jiménez Cumbreras (2013) “Los elementos que conforman un sistema informático se encuentran relacionados entre sí para realizar tareas relacionadas al tratamiento automático de la información mediante procesos y cálculos informáticos” (P.57).

1.1.2.2.Elementos

Raya Jose, Raya Laura, Francisco Javier (2013) “Un Sistema informático completo se encuentra compuesto por los siguientes elementos: (p.49).

Figura 2 Esquema conceptual del sistema informático

(22)

Software

Pattern Stephen Berczuk & Brad Appleton (2013) “Componente lógico constituido por toda la interfaz gráfica necesaria para la visualización, consulta y análisis de la información. Lo conforman en si todos los programas (secuencias de instrucciones y datos) para el funcionamiento del sistema informático como son aplicaciones informáticas, base de datos y lenguajes de programación” (p75).

Hardware

Herrerías Rey Juan Enrique (2017) “Componentes físicos ya sean electrónicos, eléctricos, mecánicos o magnéticos del sistema mediante los cuales es posible el ingreso de los datos y el manejo de la información. Pueden ser periféricos de entrada de datos o periféricos de salida de información” (p.120).

Recursos humanos

Alma López & Enrique Piedra (2013) “El Personal involucrado en la administración del sistema informático. Constituyen principalmente los usuarios, aunque también programadores y técnicos que son los encargados de mantener el funcionamiento óptimo del sistema” (p.215).

Firmware

Ramos Varón, Antonio Ángel & García Tome (2014) “Software de sistema que reside en los componentes electrónicos o de hardware como por ejemplo en la memoria permanente del computador (memoria ROM), se ejecutan al encender el sistema” (p.305).

1.1.3. Sistema de Reconocimiento Facial 1.1.3.1.Definición

(23)

características faciales extraídas de una imagen digital o de un fotograma clave de una fuente de video” (p.307).

Figura 3 Esquema de un sistema de reconocimiento facial Fuente: Reconocimiento Facial, Autor: López Sandoval

 Captura o adquisición de la imagen por medio de un dispositivo de imagen o video.  Detección de la cara, identifica si hay un rostro en la imagen. En caso de video hace

un seguimiento de la localización y escala de la cara.

 Acondicionamiento y normalización, localiza los componentes del rostro mediante transformaciones geométricas y normaliza sus propiedades como la pose, iluminación y tamaño.

 Extracción de características, el sistema analiza la información y distingue entre individuos con características fotométricas similares.

 Reconocimiento, las características extraídas se comparan con la información almacenada en la base de datos. Si existe un porcentaje elevado de similitud, devuelve la identidad de la cara reconocida.

1.1.3.2.Biometría facial

Solayappan & Latifi (2013) “La biometría engloba varias tecnologías mediante las cuales es posible verificar la identidad de una persona por medio de sus atributos y características propias de cada individuo utilizando hardware y software adaptados para la extracción, captura y almacenamiento de información” (p.410).

(24)

 Tecnología que trabaja sobre fotografías o imágenes en dos dimensiones. En concreto; el software interpreta cada imagen facial escaneada como un conjunto bidimensional de patrones brillantes y oscuros con diferentes intensidades de luz en el rostro y lo compara con patrones almacenados en la base de datos.

 Tecnología basada en tres dimensiones, la cual compensa problemas que experimenta el reconocimiento bidimensional.

1.1.3.3.Técnicas y algoritmos de reconocimiento facial Técnicas Holísticas

Juan Carlos Roca (2013) “Consiste en interpretar una imagen como un conjunto binario de patrones. Estos patrones (eigenface) son convertidos en algoritmos y almacenados como una combinación para su posterior comparación con patrones almacenados anteriormente” (p.304).

Técnicas de Análisis

María Soledad Faraldos & Consuelo Goberna Selma (2013) “Determina distancias entre los puntos antropométricos faciales (eigenfeatures) como los ojos, nariz, boca, cejas. Estos puntos son comparados con datos almacenados en una base de datos para posteriormente identificar a la persona” (p.402).

Técnicas en 3D

Gonzalo Pajares Martin Sanz & Jesús M. de la Cruz García, (2013) “El reconocimiento facial tridimensional es una tendencia en aumento debido a que permite capturar mejor la información del rostro e identificar los rasgos físicos evitando problemas de iluminación como es el caso de otras técnicas y permite también identificar un rostro en varios ángulos, incluso de perfil” (p.507).

(25)

Gary Bradski & Adrián Kaehler (2017) “La librería OpenCV (Open Source Computer Vision) es una librería de visión artificial iniciada por Intel en 1999. Esta biblioteca multiplataforma se centra en el procesamiento de imágenes en tiempo real e incluye implementaciones libres de patentes de los últimos algoritmos de visión computarizada” (p.309).

El esquema de funcionamiento de OpenCV para el reconocimiento de una imagen es la siguiente:

Figura 4 Funcionamiento de OpenCV

Fuente: Learning OpenCV, Autor: Gary Bradski & Adrián Kaehler

Caballero Barriga (2013) “Esta librería está disponible para múltiples plataformas como: Windows, Linux, Mac, Android, además cuenta con soporte para diferentes lenguajes como: Python, Java, C/C++, .Net, entre otros. OpenCV fue diseñado para la eficiencia computacional y con un fuerte enfoque en aplicaciones” (p.604).

(26)

Opencv_highhui: Contiene las funciones para la lectura y escritura tanto de imagen fija como de vídeo, así como otras funciones de interfaz de usuario.

Opencv_mgproc: Este módulo incluye algoritmos básicos de procesado de imágenes, incluyendo filtrado de imágenes, transformado de imágenes…etc.

Opencv_features2d: Es un módulo con el que se consigue la detección de puntos y descriptores y además posee un framework para la unión de esos puntos.

Opencv_calib3d: Módulo que se encarga de la calibración de la cámara, se encarga de la estimación de la geometría para vistas estereoscópicas.

Opencv_video: Contiene la estimación de movimiento y, funciones y clases para el seguimiento de objetos y la extracción de fondos.

Opencv_objdetect: Este módulo se encarga de la detección de objetos, como caras y personas.

Estos módulos se encuentran localizados en el directorio lib.

1.1.4. Base de datos 1.1.4.1.Definición

Benítez & Arias (2017) “Llamamos base de datos (o bases de datos) a un conjunto de datos dispuestos con el objetivo de proporcionar información a los usuarios y permitir transacciones como inserción, eliminación y actualización de datos” (p.58).

Cisneros Gonzales (2013) “Sus características principales son las siguientes:  Varios usuarios pueden tener acceso a la base a la vez.

 Constituye una unidad, aunque esté formado por varios archivos de diferentes tipos de datos.

 Es independiente de los programas y los datos (p.85).

1.1.4.2.Modelos de base de datos

(27)

 Jerárquico, los datos están organizados en forma de árbol.

 En red, los datos son organizados en tablas y conectados por referencias formando una estructura de red.

 Relacional, organiza los datos en tablas y establece relaciones entre ellas. Es el modelo más utilizado.

 Relacional extendido, representan de una forma más compleja un modelo relacional de datos.

 Orientado a objetos, los datos son organizados en clases y objetos.

1.1.4.3.Sistema de gestión de base de datos

Beatriz Arias (2017) “Un sistema de gestión de base de datos “es el nombre dado a un conjunto de programas informáticos que gestionan una base de datos. Su objetivo principal es evitar la manipulación directa por un usuario de una base de datos” (p.189).

Algunos sistemas de gestión de base de datos son los siguientes:  MySQL

 Oracle  PostgreSQL  SQL Server

1.1.4.4.SQL

Camuña Rodríguez (2015) “El lenguaje SQL o lenguaje de consulta estructurado (Structured Query Language) es actualmente el estándar de los SGBD relacionales comerciales. Se trata de un lenguaje de base de datos normalizado que permite crear y manipular base de datos, además de la creación de consultas con la que obtener información proveniente o alojada en una base de datos” (p.589).

(28)

Sentencia Función Create Crea un objeto (tabla o base de datos) Drop Elimina un objeto (tabla o base de dato)

Alter Modifica un objeto de la base de datos (tabla o base de datos)

Truncate Elimina todos los registros de una tabla, incluyendo los espacios asignados a los registros.

Comment Agregar comentarios al diccionario de datos Rename Cambiar el nombre de un objeto

Lenguaje de definición de datos – SQL DDL

Camuña Rodríguez (2015) “Son las instrucciones SQL que permiten modificar la estructura de la base de datos, actúan sobre datos abstractos como tablas y columnas. Pueden realizar lo siguiente (p.109).

 Crear y definir tablas.  Eliminar tablas.

 Modificar una tabla creada previamente.  Crear vistas.

 Crear índices.

 Controlar el almacenamiento físico de los datos.

Las sentencias fundamentales de SQL DDL son: Tabla 1 Sentencias SQL DDL

Lenguaje de manipulación de datos – SQL DML

Instrucciones para la manipulación o recuperación de los datos. Pueden realizar lo siguiente:  Consultas sobre el contenido.

 Modificación del contenido.

(29)

Tabla 2 Sentencias SQL DML

Sentencia Función

Select Recupera datos desde uno o varias tablas (o vistas) Insert Agregar un registro en una tabla

Update Modifica el contenido de los campos en una tabla Delete Eliminar registros de una tabla

Commit Graba en el medio de almacenamiento las modificaciones introducidas Rollback Deshace las modificaciones introducidas después del último commit

Lenguaje de control de acceso – SQL DCL

Permite gestionar las transacciones, configuraciones y acceso a los datos y a las bases.

Las sentencias fundamentales de SQL DML son: Tabla 3 Sentencias SQL DCL

Sentencia Función

Grant Conceder permisos a usuarios o roles para que puedan realizar tareas determinadas.

Revoke Elimina los permisos establecidos con Grant.

1.2.Valoración crítica de los conceptos principales de las distintas posiciones teóricas sobre el objeto de investigación

Los sistemas de reconocimiento facial son un tipo de sistema informático que permite la identificación automática de una persona mediante el análisis de características faciales del individuo extraídas por medio de una fuente de imagen o video y comparándolas con información previamente ingresada en una base de datos de imágenes.

(30)

Los sistemas informáticos para el reconocimiento de personas son hoy en día un campo en constante perfeccionamiento y que se lo ha implementado en gran cantidad de áreas sobre todo en aplicaciones de seguridad, robótica, sistemas de acceso. Como nos dice López Sandoval no es un campo nuevo ya que se lo lleva estudiando vigorosamente durante más de dos décadas con su implementación en la actualidad y con una amplia expansión de uso en muchas más áreas cotidianas del quehacer humano.

La investigación ha probado que la aplicación de la biometría en controles de asistencia de personas trae beneficios como la reducción de costos, la facilidad de administración y la precisión de la información almacenada.

De igual manera la automatización de procesos dentro de las empresas permite eliminar el uso de otros medios que son propensos a daño, pérdida o modificación como es el caso de hojas de registro físicas; con la que es imposible llevar un control con datos exactos y precisos.

1.3.Conclusiones parciales del capítulo

En este capítulo se revisan conceptos básicos de los sistemas de reconocimiento facial partiendo desde el concepto de sistema de control y sistema informático para tener una visión más amplia de la propuesta y generar una solución adecuada al problema.

Del marco teórico elaborado se han obtenido las siguientes conclusiones:

 Los sistemas de reconocimiento facial son una óptima alternativa si se necesita tener un registro exacto de personas ya que permite la identificación sin posibilidades de suplantaciones de identidad.

 La librería más conocida y utilizada para la programación de sistemas de reconocimiento facial es OpenCV, la cual tiene la ventaja de ser de código abierto, totalmente accesible en múltiples plataformas y con soporte para varios lenguajes de programación.

(31)

CAPITULO II. DISEÑO METODOLÓGICO Y DIAGNÓSTICO 2.1.Caracterización de la Cooperativa de Taxis y Camionetas Puyo

La presente investigación se efectuó en la Cooperativa de Taxis y Camionetas Puyo ubicada en el cantón Puyo de la Provincia de Pastaza, en el centro de la región amazónica ecuatoriana. Se realiza en las instalaciones de la SEDE de la institución, la misma que tiene infraestructura propia en buen estado en la que se realizan sesiones y eventos tanto sociales como deportivos que cuentan con la participación de todos los socios de la institución; el registro de asistencia a estas las convocatorias se realizan de manera manual por tanto existe dificultad para llevar un control exacto de asociados que han estado presentes en los eventos realizados por la institución, siendo esto uno de los puntos más importantes para la realización de este proyecto de tesis.

(32)

de: Juan Ruales Dávalos en calidad de presidente, Luis Coka Soria como Gerente y como Secretario el compañero Jorge Flores Mantilla.

Así se escribió páginas de oro de la historia de nuestra gloriosa Cooperativa que en sus inicios no tenía su casa propia y las sesiones la hacían en cuartos arrendados, en un inicio en la casa de la Sra. Pastora Meza (Calle Atahualpa), luego en la calle Sucre, casa del Señor Augusto Galarza, las aspiraciones de tener una sede propia se hizo realidad en la segunda directiva que presidió José Gamboa Mejía y el suscrito Gerente se consiguió mediante comodato con el Honorable Consejo Provincial la construcción de la Sede de la Cooperativa de Taxis y Camionetas Puyo.

MISION

La Cooperativa de Taxis y Camionetas Puyo, es una entidad que presenta el servicio de transporte y la ciudadanía en sus diferentes rutas y frecuencias, mediante modernas unidades y personal capacitado y comprometido en proporcionar un servicio oportuno y la calidad; logrando así la satisfacción de todos los usuarios y un mejor nivel de vida de nuestros colaboradores y socios.

VISION

Constituimos para el 2018 en una institución de servicios de transporte público innovadora, a través del mejoramiento continuo de nuestros servicios, cambio de unidades y capacitaciones del personal capaz de establecer una estrecha relación con los clientes y responder efectiva y eficientemente en sus necesidades, consolidando al mismo tiempo un ambiente de compañerismo y colaboración a fin de ser considerados como la mejor opción de transporte público

2.2.Descripción del proyecto metodológico para el desarrollo de la investigación 2.2.1. Métodos de investigación

2.2.1.1.Método analítico-sistémico

(33)

2.2.1.2.Método histórico-lógico

Es un estudio del origen, evolución y desarrollo del objeto de investigación. Con este método se podrá conocer la realidad histórica del manejo de asistencias en la cooperativa de taxis y camionetas Puyo.

2.2.1.3.Método inductivo-deductivo

Consiste en sacar una conclusión general a partir de hechos particulares. Se usará una vez deducidos los datos de las entrevistas y encuestas para interpretar y concluir a partir de los datos obtenidos y ampliar aspectos de la investigación.

2.2.1.4.Método análisis documental

La investigación se apoyará en documentación basada en libros de texto, tesis, monografías y documentos electrónicos relacionados al tema y que permitan el desarrollo del proyecto.

2.2.2. Técnicas e instrumentos 2.2.2.1.Técnicas

Entrevistas. _ La entrevista es un dialogo entablado entre dos o más personas: el entrevistador interroga y el entrevistado contesta. Se trata de una técnica empleada para diversos motivos como investigación, medicina y selección del personal. Una entrevista no es casual sino es un dialogo interesado con un acuerdo previo e intereses y expectativa por ambas partes.

Preguntas que se aplicarán al personal administrativo de la empresa (gerente y secretaria) para conocer a fondo el proceso de registro de asistencia a reuniones de la cooperativa, así como los documentos usados actualmente.

Tabla 4 Total de entrevistados

NOMBRE DEL ENCUESTADO CARGO

Carlos Calles Gerente General

(34)

Encuestas. La encuesta es un procedimiento dentro de los diseños de una investigación descriptiva en el que el investigador recopila datos mediante un cuestionario previamente diseñado, los datos se obtienen realizando un conjunto de preguntas normalizadas dirigidas a una muestra representativa o al conjunto total de población estadística en estudios.

Formulario previamente elaborado para recaudar información a las personas involucradas en la problemática a estudiar en este caso que se aplicará a los socios de la cooperativa. Tabla 5 Total de los socios

ENCUESTADOS TOTAL

Socios de la Cooperativa de Taxis y Camionetas Puyo 79

Observación. Es el método por el cual se establece una relación concreta o intensiva entre el investigador y el hecho social o los actores sociales de los que se obtienen datos que luego se sintetizan para desarrollar la investigación.

Se conocerá el proceso mediante la observación directa, de igual manera se examinará el establecimiento para determinar la necesidades y soluciones al problema.

Tabla 6 Guía de observación

Indicador Opciones Observaciones

Si No ¿Posee la institución computador

con software para registrar la asistencia de los socios a las reuniones?

X

El registro de la asistencia se la realiza en una hoja impresa mediante la firma de cada socio

Es adecuado el lugar para la toma de asistencia de los socios

X

La asistencia se la toma en secretaría, siendo el lugar una pequeña oficina, los socios deben hacer fila para ingresar. Posee algún inconveniente para la

instalación de cámaras

(35)

Produce algún inconveniente el registro de la asistencia de los socios

X

Por demora en la toma de asistencia las sesiones se pueden extender más tiempo de lo planificado. Además los socios no siempre alcanzan a firmar su asistencia, muchas veces asisten pero dejan la ficha de registro sin firmar

Es efectiva la búsqueda de registros X Las hojas impresas son archivadas en grandes folders en los que se tiene información por años, si se desea conocer las asistencias de alguna convocatoria debe realizarse la búsqueda de manera manual.

Resultados de la observación

De acuerdo con lo observado se puede determinar que el registro de la asistencia de los socios no es óptimo, observando las siguientes falencias:

 La información es mantenida en hojas impresas almacenadas en archiveros lo que hace posible la pérdida o alteración de los documentos.

 La búsqueda dentro de las convocatorias realizadas se lo debe realizar de manera manual ya que no existe una base de datos que almacene dicha información.

 Los reportes de asistencia no siempre presentan datos exactos ya que muchas veces socios que han asistido dejan la ficha de asistencia sin firmar por falta de tiempo. 2.2.2.2.Instrumentos

Para las entrevistas se utilizará una guía de preguntas, para las encuestas un cuestionario con preguntas cerradas, para la observación se hará uso de una ficha de observación.

2.2.3. Población y muestra 2.2.3.1.Población

(36)

SI 32

NO 47

TOTAL 79

encuestas a los socios; los datos que se encuentran especificados en la siguiente tabla resumen:

Tabla 7 Población

FUNCIÓN CANTIDAD

Personal administrativo 2

Socios 79

TOTAL 81

2.2.3.2. Muestra Se considera que la población es pequeña ya que no supera las 100 personas, por ello no se realiza el cálculo de la muestra.

2.3.Resultados de las encuestas.

1. ¿Considera usted que el sistema actual que dispone la institución registra adecuadamente la toma de asistencia en las reuniones organizadas por la cooperativa? Tabla 8 Pregunta No. 1

Elaborado por: Calles Carrasco Marco Fernando Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

Si No

59%

41%

Figura 5 Pregunta No. 1

Fuente: Cooperativa de Taxis y Camionetas Puyo Elaborado por: Calles Carrasco Marco Fernando Interpretación:

(37)

2.¿Existe inconformidad con el proceso de registro actual de las reuniones de los socios de la cooperativa?

Tabla 9 Pregunta No. 2

SI 44

NO 35

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

44%

56%

Si

No

Figura 6 Pregunta No. 2

Fuente: Cooperativa de Taxis y Camionetas Puyo Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

(38)

3.¿Cree que es necesario establecer un sistema Informático de control interno de asistencia a las reuniones de socios de la cooperativa?

Tabla 10 Pregunta No. 3

SI 49

NO 30

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

38%

62%

Si

No

Figura 7 Pregunta No. 3

Fuente: Cooperativa de Taxis y Camionetas Puyo Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

(39)

4. ¿Cree que el sistema informático de control interno de asistencia a reuniones mejorará el tiempo de registro?

Tabla 11 Pregunta No. 4

SI 51

NO 28

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

35%

65% Si

No

Figura 8 Pregunta No. 4

Fuente: Cooperativa de Taxis y Camionetas Puyo Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

(40)

5.¿Le gustaría contar con un sistema informático para el registro y control de asistencia a reuniones que organice la Cooperativa?

Tabla 12 Pregunta N° 5

SI 50

NO 29

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

37%

63% Si

No

Figura 9 Pregunta No. 5

Fuente: Cooperativa de Taxis y Camionetas Puyo Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

(41)

6.¿Estaría de acuerdo la implementación de un sistema de reconocimiento facial para el control de asistencia a reuniones de los socios de la cooperativa?

Tabla 13 Pregunta No. 6

SI 40

NO 39

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

49% 51%

Si

No

Figura 10 Pregunta No. 6

Fuente: Cooperativa de Taxis y Camionetas Puyo Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

(42)

2.4. Conclusiones parciales del capítulo

 En este capítulo, se describió el procedimiento metodológico para el desarrollo de la propuesta, describiendo los métodos, técnicas e instrumentos utilizados en la investigación. A partir de del análisis de los resultados se concluye lo siguiente:  La metodología utilizada para la recolección de datos permitió determinar

requerimientos funcionales para la implementación del sistema.

 La aplicación de las entrevistas expone las necesidades que presenta el área administrativa y la aceptación de integrar un sistema de reconocimiento facial para mejorar el registro de asistencia a las convocatorias de la cooperativa.

(43)

CAPITULO III. DESARROLLO DE LA PROPUESTA (VALIDACIÓN Y/O EVALUACIÓN DE RESULTADOS)

3.1.Planteamiento de la propuesta 3.1.1. Título

Sistema informático de reconocimiento facial para el registro y control de asistencia de los socios de la Cooperativa de Taxis y Camionetas Puyo.

3.1.2. Justificación

En la actualidad la cooperativa de Taxis y Camionetas Puyo, no posee un sistema informático que permita el adecuado registro y control de asistencia de los socios en cada una de las convocatorias.

La motivación de la propuesta se basa en la autenticación de socios en tiempo real, hacia la base de datos del sistema de forma directa, lo cual controla y agiliza los procesos de control de asistencia.

El impacto tecnológico es la implementación de un sistema informático de reconocimiento facial proviniendo muchos beneficios, como en cuanto a la seguridad y confiabilidad que se tiene en el registro de asistencias, ya que este sistema identificará el rostro de los socios, descartando así cualquier tipo de suplantación al momento de registro y permitirá un mejor manejo de tiempo en las convocatorias.

3.1.3. Objetivos

3.1.3.1.Objetivo general

(44)

3.1.3.2.Objetivos específicos

 Evaluar las técnicas y algoritmos de biometría y visión artificial que permitan la identificación del rostro una persona por medio de sus características faciales.  Diseñar una base de datos para ser utilizados con el algoritmo de detección de

imágenes.

 Implementar una aplicación informática que mediante el uso de técnicas y algoritmos de la biblioteca de visión artificial OpenCV permita el reconocimiento de una persona por medio de su rostro.

3.1.4. Factibilidad

El estudio de factibilidad es una etapa importante en el desarrollo del proyecto ya que permite determinar la capacidad técnica y económica de la institución beneficiada para conocer si el proyecto resultará beneficioso para los usuarios finales y la aceptación que tendrán acerca del proyecto.

Se realiza un estudio en aspectos operativos, técnicos y económicos con información real para identificar si la implementación de un sistema informático de reconocimiento facial será factible en la Cooperativa de Taxis y Camionetas Puyo.

3.1.4.1.Factibilidad técnica

Se evalúa si la institución posee los recursos tecnológicos necesarios para la realización del proyecto.

Para la realización del sistema de reconocimiento facial se establecen los requerimientos tanto de hardware como de software.

Hardware

(45)

Tabla 14: Requerimientos mínimos de hardware

Mínimo Óptimo

Computador de administración

Procesador Intel Core i3 Intel Core i7

Memoria RAM Principal

2.00 GB 8.00 GB

Velocidad de microprocesador

3.20GHz 2.20 GHz

Espacio de disco duro 100 GB 500 GB o más

Reconocimiento facial Ordenador de placa

reducida

RAM de 1 GB, procesador de 1 GHz, 2 puertos USB, conectividad de red Ethernet

disponible, salida de video HDMI

RAM 1GB, procesador de 1.4 GHz, 4 puertos USB, conectividad de red Ethernet

disponible, salida de video HDMI (se recomienda el

uso de Raspberry Pi 3 Model B+)

Videocámara Resolución de 0.3

megapíxeles (640 x 480 píxeles), 24 fotogramas por

segundo,

Resolución de 5 megapíxeles (2592 x 1944 píxeles), 30 fotogramas por segundo o superior, enfoque

automático, Dispositivo de

almacenamiento

Tarjeta SD 2Gb de capacidad mínimo

Tarjeta microSD 16Gb o mayor capacidad. Otros periféricos Teclado y Mouse USB (para conectar con tarjeta), Monitor

con entrada HDMI

Software

(46)

Tabla 15: Requerimientos de software

Requerimiento

Sistema operativo Windows 7, Windows 8 o Windows 10

Framework back-end New CakePHP 3.6 Red Velvet.

Framework front-end AngulaJS 2.0.1, NodeJS

Lenguajes de programación PHP 7.2.7, HTML5, Ajax/JavaScript, CSS, Python Entorno de desarrollo

integrado

Eclipse 4.8

Base de datos PostgreSQL

Servidor web Apache httpd 2.4.23

Administrador de base de datos

PgAdmin 4

Reconocimiento facial Librerías OpenCV 3.4, Python 2.7.15

El área administrativa, conformada por la secretaria y el gerente de la cooperativa, han manifestado estar de acuerdo con los requerimientos tanto de hardware como de software necesarios para la realización del proyecto, comprometiéndose a brindar su total apoyo económico ya que constituirá un beneficio a largo plazo para la institución.

3.1.4.2.Factibilidad operativa

La factibilidad operativa determina si la empresa cuenta con recursos necesarios y personal capacitado para que el proyecto pueda ser implementado y que funcione óptimamente.

Para el análisis de la factibilidad operativa, se toma como información los datos obtenidos en las entrevistas al personal administrativo (gerente y secretaria) y las encuestas realizadas a cada uno de los socios. De acuerdo con esta información obtenida, se concluye que el desarrollo de un sistema de reconocimiento facial es factible operativamente puesto que ayudaría en la necesidad de facilitar el control de la asistencia de los socios en la cooperativa.

(47)

3.1.4.3.Factibilidad económica

Se realiza una estimación de costos comparándolo con el presupuesto para la realización del proyecto, tomando en cuenta recursos técnicos, humanos y materiales tanto para el desarrollo como para la instalación del sistema, resumidos en el siguiente cuadro.

Tabla 16: Análisis de costos

Recurso Costo

Recursos Humanos

Programador (Autor) $400

Recursos de Hardware

Computador $500

Ordenador de placa reducida + kit cámara

$140

Recursos de Software

Sistema operativo $300

Frameworks de desarrollo $0

PHP 7.2.7, HTML5, Ajax/JavaScript, CSS, Python

$0

Eclipse 4.8 $0

PostgreSQL $0

Apache httpd 2.4.23 $0

PgAdmin 4 $0

Navegadores de internet $0

Recursos Materiales

Materiales de oficina $50

Transporte $100

Alimentación $100

Internet $100

Impresiones $50

Varios (imprevistos) $50

(48)

Se concluye del análisis económico que el proyecto es factible debido a que el costo no es elevado en relación al beneficio que representará para la institución.

3.1.5. Metodología de desarrollo 3.1.5.1.Metodología en cascada

Según Ronald E. Giachetti (Giachetti, 2016), “El modelo de cascada describe una metodología en la que las fases se llevan a cabo secuencialmente, utilizando la metáfora del agua que cae por los escalones. El modelo de cascada define las fases en términos de sus actividades; cada fase tiene una sola actividad. En el modelo de cascada, el equipo completa la fase 1, luego comienza la fase 2, y así sucesivamente hasta que se complete el proyecto.”

Características

Las características principales de la metodología en cascada son las siguientes:  Primero modelo que ha servido como base para nuevas metodologías.  Cada una de sus fases produce uno o más documentos específicos.  Modelo más simple de desarrollo de software.

 Cada una de sus fases se desarrollan de manera secuencial. Para comenzar una nueva fase debe completarse primero la anterior.

Etapas

(49)

Se ha escogido el modelo en cascada debido a que es el modelo es adecuado cuando se tiene un proyecto con un cronograma y requisitos establecidos fijos.

3.2.Desarrollo de la propuesta 3.2.1. Análisis de requerimientos

Se describen las características o capacidades que debe tener el sistema para que pueda cumplir con la funcionalidad esperada. Los requerimientos derivan generalmente de las necesidades identificadas de los usuarios.

3.2.1.1.Requerimientos funcionales

Definen las funciones que debe ser capaz de realizar el sistema especificando la forma en que este responde a la entrada de datos. El sistema debe cumplir con los siguientes requerimientos funcionales:

 Registrar de todas las convocatorias realizadas en la cooperativa.

 Almacenar la información de cada uno de los socios incluyendo fotografías de sus rostros de frente.

 Capturar imágenes por medio de una cámara web con posibilidad de guardarla posteriormente.

 Detectar rostros de personas dentro del campo de visión de la cámara.

 Identificar a los socios registrados en el sistema y registrar su asistencia a las reuniones de la cooperativa.

 Generar informes con la nómina de asistencia por cada convocatoria.

3.2.1.2.Requerimientos no funcionales

Detallan las restricciones, características que pueden limitar el funcionamiento del sistema, tales como seguridad, velocidad, tiempo de respuesta, disponibilidad, capacidad de los equipos, etc. Para el proyecto se han definido los siguientes requerimientos no funcionales:

 La interfaz gráfica debe ser de fácil uso para el usuario.

(50)

 El sistema debe proporcionar facilidad en el mantenimiento a la persona encargada.

 El ingreso al sistema debe ser validado mediante su nombre de usuario y contraseña.

3.2.1.3.Diagramas de casos de uso

Representa la forma en la que cada usuario puede utilizar el sistema. Se identifican dos actores en el sistema:

Secretaria: persona que tiene acceso a todas las opciones de administración del sistema.

(51)

Tabla 17: Caso de uso iniciar sesión Caso de Uso: Iniciar sesión en el sistema

Actor Secretaria

Descripción El actor secretaria ingresa al sistema para realizar tareas de administración de socios y convocatorias.

Precondiciones El usuario debe estar registrado en el sistema. Postcondiciones Se muestra la página principal.

Flujo normal Ingreso del nombre de usuario y contraseña válidos. Envío de datos por medio de petición web.

Verificación de datos y redireccionamiento.

Flujo alternativo Presentación de los mensajes de validación respectivos

Tabla 18: Caso de uso administrar datos de socios Caso de Uso: Administrar datos de socios

Actor Secretaria

Descripción El actor secretaria puede realizar las acciones de visualizar, insertar, editar o eliminar socios del sistema.

Precondiciones Usuario con sesión iniciada.

Postcondiciones Proceso seleccionado realizado correctamente. Flujo normal Ingreso al sistema.

Ingreso al área de administración.

(52)

Tabla 19: Caso de uso insertar socios Caso de Uso: Insertar socios

Actor Secretaria

Descripción Guardar información de un nuevo socio. Precondiciones Socio no ingresado al sistema.

Flujo normal Presionar botón “Agregar socio”. Ingresar información.

Ingresar a la sección capturar foto de socio. Guardar información.

Flujo alternativo Presentación de los mensajes de validación respectivos

Tabla 20: Caso de uso visualizar socios Caso de Uso: Visualizar socios

Actor Secretaria

Descripción Ver información de un socio. Precondiciones Socio ingresado al sistema.

Flujo normal Presionar botón “Ver información” en el socio.

Desplegar modal con información del registro seleccionado

Tabla 21: Caso de uso editar socios Caso de Uso: Insertar socios

Actor Secretaria

Descripción Editar la información de un socio seleccionado. Precondiciones Socio ingresado al sistema.

Flujo normal Presionar botón “Editar socio”. Modificar información.

Guardar información.

(53)

Tabla 22: Caso de uso eliminar socios Caso de Uso: Eliminar socios

Actor Secretaria

Descripción Eliminar un socio seleccionado. Precondiciones Socio ingresado al sistema. Flujo normal Presionar botón “Eliminar socio”.

Confirmar eliminación.

Flujo alternativo Presentación del mensaje de confirmación de eliminación.

Tabla 23: Caso de uso generar convocatorias Caso de Uso: Generar convocatorias

Actor Secretaria

Descripción El actor secretaria registra convocatorias y genera documentos de la misma.

Precondiciones Usuario con sesión iniciado.

Postcondiciones Documento de convocatoria generado en formato PDF. Flujo normal Ingreso al sistema.

Ingreso a la opción de convocatorias. Seleccionar crear nueva convocatoria. Ingreso de datos.

Flujo alternativo Presentación de los mensajes de validación respectivos

Tabla 24: Caso de uso imprimir informes Caso de Uso: Imprimir informes

Actor Secretaria

(54)

Precondiciones Usuario secretaria con sesión iniciado. Formulario de búsqueda cargado en pantalla Flujo normal Seleccionar fecha de convocatoria

Seleccionar convocatoria Seleccionar imprimir.

Flujo alternativo Presentación de los mensajes de validación respectivos

Sistema biométrico: describe las acciones que puede realizar el sistema biométrico.

(55)

Tabla 25: Caso de uso capturar imagen Caso de Uso: Capturar imagen

Actor Sistema biométrico

Descripción Captura la imagen identificada de un socio mediante la cámara web.

Flujo normal Normalización de la iluminación de la imagen. Localizar rostro.

Capturar imagen de la persona Flujo alternativo Mensaje de cámara desactivada.

El sistema inicializa la cámara web mostrando una vista previa.

Tabla 26: Caso de uso identificar socio Caso de Uso: Identificar socio

Actor Sistema biométrico

Descripción Identificar a un socio por medio de la imagen de su rostro. Flujo normal Localizar rostro.

Extraer imagen de base de datos.

Comparar imagen capturada con imagen extraída de la base de datos.

Identificar socio.

Registrar hora de registro.

3.2.1.4.Diagramas de secuencia

(56)

Figura 9: Diagrama de secuencia login en el sistema Fuente: Investigador

(57)

Figura 11: Diagrama de secuencia visualizar socio Fuente: Investigador

(58)

Figura 13: Diagrama de secuencia eliminar socio Fuente: Investigador

(59)

Figura 15: Diagrama de secuencia informe de asistencia Fuente: Investigador

(60)
(61)

3.2.2. Diseño

3.2.2.1.Diseño de la base de datos

Figura 18: Diseño de base de datos Fuente: Investigador

3.2.2.2.Diccionario de datos

(62)

Lista de tablas

Tabla 27: Lista de tablas de la base de datos

Nombre de tabla Descripción

asistencias Registra las asistencias de los socios.

convocatorias Registra las convocatorias realizadas por la cooperativa.

Documentos Registra para las justificaciones

fotos_originales Registra las fotos originales de los socios.

fotos_procesadas Registra las fotos procesadas de los socios asistentes a las convocatorias.

fotousers Registra las fotos de los usuarios.

groups Registra el grupo de roles con sus permisos.

justificaciones Registra la información para las justificaciones de faltas. menugroups Registra información de menús en relación con los grupos. menus Registra información completa de los menús.

positivos_socios Registra las fotos de todos los socios. socios Registra la información de los socios

users Registra los usuarios que tienen acceso al sistema.

Detalle de las tablas en orden alfabético Tabla 28: Tabla asistencias

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

hora_llegada timestamp FALSE FALSE FALSE

socio_id int FALSE TRUE FALSE

convocatoria_id int FALSE TRUE FALSE

estado int FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

(63)

Tabla 29: Tabla convocatorias

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

numero varchar(30) 30 FALSE FALSE FALSE

tipo int FALSE FALSE FALSE

motivo varchar(500) 500 FALSE FALSE FALSE

fecha timestamp FALSE FALSE FALSE

duracion time FALSE FALSE FALSE

lugar varchar(200) 200 FALSE FALSE FALSE

estado int FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

modified timestamp FALSE FALSE FALSE

Tabla 30: Tabla documentos

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

filename varchar(255) 255 FALSE FALSE FALSE

binario bytea FALSE FALSE FALSE

dir varchar(255) 255 FALSE FALSE FALSE

mimetype varchar(255) 255 FALSE FALSE FALSE

filesize int FALSE FALSE FALSE

estado int FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

modified timestamp FALSE FALSE FALSE

(64)

Tabla 31: Tabla fotos_originales

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

filename varchar(255) 255 FALSE FALSE FALSE

binario bytea FALSE FALSE FALSE

dir varchar(255) 255 FALSE FALSE FALSE

mimetype varchar(255) 255 FALSE FALSE FALSE

filesize int FALSE FALSE FALSE

estado int FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

modified timestamp FALSE FALSE FALSE

asistencia_id int FALSE TRUE FALSE

Tabla 32 Tabla fotos_procesadas

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

filename varchar(255) 255 FALSE FALSE FALSE

binario bytea FALSE FALSE FALSE

dir varchar(255) 255 FALSE FALSE FALSE

mimetype varchar(255) 255 FALSE FALSE FALSE

filesize int FALSE FALSE FALSE

estado int FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

modified timestamp FALSE FALSE FALSE

asistencia_id int FALSE TRUE FALSE

Tabla 33 Tabla fotousers

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

(65)

filename varchar(255) 255 FALSE FALSE FALSE

dir varchar(255) 255 FALSE FALSE FALSE

mimetype varchar(255) 255 FALSE FALSE FALSE

filesize int FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

modified timestamp FALSE FALSE FALSE

user_id int FALSE TRUE FALSE

binario bytea FALSE FALSE FALSE

estado int FALSE FALSE FALSE

Tabla 34: Tabla groups

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

name varchar(100) 100 FALSE FALSE FALSE

estado int FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

modified timestamp FALSE FALSE FALSE

Tabla 35: Tabla justificaciones

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

motivo varchar(500) 500 FALSE FALSE FALSE

estado int FALSE FALSE FALSE

convocatoria_id int FALSE TRUE FALSE

socio_id int FALSE TRUE FALSE

created timestamp FALSE FALSE FALSE

(66)

Tabla 36: Tabla menugroups

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

menu_id int FALSE FALSE FALSE

group_id int FALSE FALSE FALSE

user_id int FALSE FALSE FALSE

estado int FALSE FALSE FALSE

Tabla 37: Tabla menugroups

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

text varchar(100) 100 FALSE FALSE FALSE

heading int FALSE FALSE FALSE

icon varchar(100) 100 FALSE FALSE FALSE

sref varchar(250) 250 FALSE FALSE FALSE

alert varchar(250) 250 FALSE FALSE FALSE label varchar(250) 250 FALSE FALSE FALSE translate varchar(250) 250 FALSE FALSE FALSE

parent_id int FALSE FALSE FALSE

priority int FALSE FALSE FALSE

estado int FALSE FALSE FALSE

Tabla 38: Tabla positivos_socios

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

filename varchar(255) 255 FALSE FALSE FALSE

tipo int FALSE FALSE FALSE

(67)

dir varchar(255) 255 FALSE FALSE FALSE mimetype varchar(255) 255 FALSE FALSE FALSE

filesize int FALSE FALSE FALSE

binario bytea FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

modified timestamp FALSE FALSE FALSE

socio_id int FALSE TRUE FALSE

Tabla 39 Tabla socios

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

numero_nomina varchar(10) 10 FALSE FALSE FALSE

cedula varchar(10) 10 FALSE FALSE FALSE

nombres varchar(100) 100 FALSE FALSE FALSE apellidos varchar(100) 100 FALSE FALSE FALSE telefono varchar(10) 10 FALSE FALSE FALSE celular varchar(10) 10 FALSE FALSE FALSE email varchar(200) 200 FALSE FALSE FALSE direccion varchar(500) 500 FALSE FALSE FALSE

estado int FALSE FALSE FALSE

created timestamp FALSE FALSE FALSE

modified timestamp FALSE FALSE FALSE

Tabla 40 Tabla users

Nombre Tipo de dato Tamaño Clave Primaria

Clave Foránea

Obligatorio

id SERIAL TRUE FALSE TRUE

Figure

Figura 3 Esquema de un sistema de reconocimiento facial  Fuente: Reconocimiento Facial, Autor: López Sandoval
Tabla 2 Sentencias SQL DML
Tabla 6 Guía de observación
Figura 6 Pregunta No. 2
+7

Referencias

Documento similar

 Desarrollar el sistema informático de seguimiento, evaluación y control de trabajos de investigación de grado de UNIANDES Tulcán..  Validar la propuesta por la

Facultad de Ingenier?a Carrera de Ingenier?a de Sistemas e Inform?tica ?Modelo de Sistema de Reconocimiento Facial para el Control de la Trata de Personas? Autores Robert Marcos

La presente tesis presenta una propuesta de un Sistema de Reconocimiento Facial que contribuya al Con- trol de la Trata de Personas en el Perú, para lo cual se usó la metodología XP

El presente trabajo de titulación tuvo como objetivo el desarrollo de un sistema informático para automatizar el control de asistencia a clases de docentes y estudiantes de la

Por lo mencionado anteriormente, se plantea el desarrollo de un sistema prototipo para el registro de asistencia de estudiantes, utilizando un dispositivo móvil, el cual permitirá

Desarrollar un sistema inteligente que realice el registro de asistencia a un encuentro de personas con base en reconocimiento de rostros utilizando redes neuronales.. 2.2

La presente investigación tuvo como objetivo desarrollar un sistema informático de gestión de copras para la empresa, Barther Internacional S.A.C, Lima, a fin de

La presente tesis se basa en la creación de un sistema informático que servirá de apoyo para el control de aportes y créditos de los socios de la Cooperativa de Ahorro y