Vous êtes sur la page 1sur 90

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA


MECNICA Y ELCTRICA
UNIDAD ZACATENCO

DISEO DE SISTEMA DE CONTROL DE ASISTENCIA


BIOMTRICO DACTILAR UTILIZANDO TECNOLOGA .NET

QUE PARA OBTENER EL TTULO DE:


INGENIERO EN COMUNICACIONES Y ELECTRNICA

P R E S E N T A N
Jimnez Ramos Julio Csar
Zepeda Cabezas Vctor Hugo

ASESORES:
Ing. Armando Mancilla Len
M. en C. Genaro Zavala Meja
M. en C. Roberto Galicia Galicia

Escuela Superior de Ingeniera Mecnica y Elctrica

ndice
ndice de Ilustraciones _____________________________________________________ 3
ndice de Tablas __________________________________________________________ 5
Resumen ________________________________________________________________ 6
Captulo 1. Introduccin____________________________________________________ 7
1.1.

Planteamiento del Problema __________________________________________________ 8

1.2.

Justificacin _________________________________________________________________ 8

1.3.

Hiptesis ___________________________________________________________________ 9

1.4.

Objetivos __________________________________________________________________ 10

1.3.1. Objetivo General ______________________________________________________________ 10


1.3.2.

Objetivos Particulares _______________________________________________________ 10

1.5.

Desarrollo de la Investigacin _______________________________________________ 11

1.6.

Alcance del Trabajo _________________________________________________________ 12

Captulo 2. Estado del Arte ________________________________________________ 13


2.1

Bases de Datos que usan algn patrn Biomtrico ______________________________ 13

2.2

Hardware __________________________________________________________________ 15

Captulo 3. Marco Terico _________________________________________________ 19


3.1

Modelo del Proceso de Identificacin Personal _________________________________ 20

3.2.

Caractersticas de un Sistema Biomtrico ______________________________________ 21

3.3.

Arquitectura y Medidas de Desempeo de un Sistema Biomtrico ________________ 24

3.4.

Mdulo de Inscripcin _______________________________________________________ 25

3.5.

Mdulo de Identificacin ____________________________________________________ 26

3.6.

Reconocimiento de Huella Dactilar ___________________________________________ 26

3.7.

Adquisicin de Huella Dactilar _______________________________________________ 33

3.8.

Procesamiento de la Huella Dactilar __________________________________________ 33

3.9.

Estandarizacin de los Sistemas Biomtricos __________________________________ 35

3.9.1. Asociacin Mexicana de Biometra e Identidad (AMBI) ________________________________ 35


3.9.2. Norma Oficial Mexicana _________________________________________________________ 37
3.10.

C Sharp ____________________________________________________________________ 38

Pgina 1

Escuela Superior de Ingeniera Mecnica y Elctrica

Captulo 4. Diseo del Sistema de Control de Asistencia _________________________ 39


4.1.

Introduccin _______________________________________________________________ 39

4.2.

Diseo de interfaz para el reconocimiento de las huellas dactilares ______________ 39

4.3.

Diseo de la Base de Datos ___________________________________________________ 54

Captulo 5. Pruebas ______________________________________________________ 56


5.1.

Pruebas del Algoritmo _______________________________________________________ 57

I. Caractersticas del Sensor ________________________________________________ 64


II. Anlisis de Costos______________________________________________________ 65
III. Cdigo de la Aplicacin_________________________________________________ 67
V. Conclusiones _________________________________________________________ 84
V. Glosario _____________________________________________________________ 86
VI. Bibliografa __________________________________________________________ 87

Escuela Superior de Ingeniera Mecnica y Elctrica

ndice de lustraciones
Ilustracin 3- 1 Esquema de un sistema de reconocimiento de patrones ____________________________ 19
Ilustracin 3- 2 Arquitectura de un Sistema Biomtrico __________________________________________ 24
Ilustracin 3- 3 Huella Dactilar _____________________________________________________________ 26
Ilustracin 3- 4 A. Sistema Marginal, B. Sistema Nuclear, C. Sistema Basilar _________________________ 29
Ilustracin 3- 5 Puntos Singulares de la Huella Dactilar. _________________________________________ 30
Ilustracin 3- 6 Arco ______________________________________________________________________ 31
Ilustracin 3- 7 Presilla Interna _____________________________________________________________ 31
Ilustracin 3- 8 Presilla Externa _____________________________________________________________ 32
Ilustracin 3- 9 Verticilo ___________________________________________________________________ 32

Ilustracin 4- 1 Herramientas de Visual Studio 2012 ____________________________________________ 41


Ilustracin 4- 2 Formulario de Visual Studio ___________________________________________________ 42
Ilustracin 4- 3 Formulario Sistema de Control de Asistencia Biomtrico Dactilar _____________________ 44
Ilustracin 4- 4 Diagrama de Flujo del Formulario Principal ______________________________________ 46
Ilustracin 4- 5 Formulario Secundario Ingresar Huella __________________________________________ 47
Ilustracin 4- 6 Formulario Ingresar Datos de Trabajador ________________________________________ 48
Ilustracin 4- 7 Diagrama de Flujo de Ingresar Huella ___________________________________________ 49
Ilustracin 4- 8 Diagrama de Flujo de Ingresar Datos ___________________________________________ 49
Ilustracin 4- 9 Formulario Editar Datos ______________________________________________________ 50
Ilustracin 4- 10 Diagrama de Flujo de Edicin de Datos _________________________________________ 51
Ilustracin 4- 11 Formulario Checador _______________________________________________________ 52
Ilustracin 4- 12 Formulario Verificar Huella __________________________________________________ 52
Ilustracin 4- 13 Diagrama de Flujo de Checar _________________________________________________ 53

Ilustracin 5- 1 Ingresando Usuario y Contrasea de Administrador _______________________________ 57


Ilustracin 5- 2 Ingreso de la primera muestra de la huella _______________________________________ 58
Ilustracin 5- 3 Creacin del template de la huella______________________________________________ 58
Ilustracin 5- 4 Llenado del formulario para el registro __________________________________________ 58
Ilustracin 5- 5 Registro exitoso de trabajador _________________________________________________ 59
Ilustracin 5- 6 Mensaje de Usuario y Contrasea del trabajador __________________________________ 59

Pgina 3

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 5- 7 Edicin de Registro de Trabajador ______________________________________________ 60


Ilustracin 5- 8 Eliminacin de Registro y Usuario ______________________________________________ 60
Ilustracin 5- 9 Ingresar a las caractersticas de Personal ________________________________________ 61
Ilustracin 5- 10 Ingreso a la base de datos de las huellas dactilares _______________________________ 61
Ilustracin 5- 11 Intento de suplantacin de identidad __________________________________________ 62
Ilustracin 5- 12 Verificacin de huella aceptada _______________________________________________ 62
Ilustracin 5- 13 Registro hecho de Entrada o Salida ____________________________________________ 63

Ilustracin I- 1 Sensor Digital Persona U.are.U 4000b ...................................................................................... 64

Escuela Superior de Ingeniera Mecnica y Elctrica

ndice de Tablas
Tabla 1- 1 Diferencia entre Sistemas Biomtricos _______________________________________________ 9
Tabla 1- 2 Sistemas Biomtricos Internacionales _______________________________________________ 14
Tabla 1- 3 Sistemas Biomtricos Nacionales e Internacionales ____________________________________ 15
Tabla 1- 4 Caractersticas del Suprema BioStation _____________________________________________ 17
Tabla 1- 5 Caractersticas de Suprema BioStation T2 ____________________________________________ 18

Tabla 3- 1 Anlisis de Caractersticas Fsicas __________________________________________________ 21

Tabla II- 1 Costo de equipo para el Sistema ___________________________________________________ 65


Tabla II- 2 Costo total de implementacin del Sistema __________________________________________ 66
Tabla II- 3 Salario Mensual promedio en Mxico _______________________________________________ 66
Tabla II- 4 Costo total de desarrollo del software _______________________________________________ 66
Tabla II- 5 Costo total del Sistema de Control de Asistencia Biomtrico Dactilar ______________________ 66

Pgina 5

Escuela Superior de Ingeniera Mecnica y Elctrica

Resumen
Hace muchos aos, era viable manejar un sistema de horarios y asistencia, tan slo con
usar unas cuantas hojas de papel. Dichos das son historia, para la mayora de las
empresas, puesto que estos sistemas pueden ser catastrficos.
Un sistema de asistencia, que haga uso de papel, implica un enorme gasto de tiempo al
da, a la semana, al mes, etc. Del mismo modo, se requiere de muchas personas para que
hagan reportes de pagos, basndose en dichos papeles. Dichos reportes pueden presentar
inconsistencias debido a varias razones: por un lado, el sistema en s se presta para eso,
mientras que por otro lado, no se sabe en realidad si los empleados usan el sistema con
honestidad. Con mucha frecuencia, algunos empleados tienden a colocarse ms horas
laboradas, a tapar retrasos y hasta a firmar por otros. Aunque los trabajadores que acuden
a estas prcticas no las ven como algo grave, lo cierto es que stas ocasionan prdidas
alarmantes en una empresa.
Los sistemas modernos, para el control laboral, no slo son mucho ms precisos que sus
antecesores, sino tambin reflejan las horas que han sido trabajadas en realidad y
permiten acceder a esta informacin de manera ms rpida y organizada. Por otra parte,
los sistemas modernos hacen uso de la biometra, la cual es una prctica que identifica a
las personas, al analizar sus rasgos particulares. Al basarse en estas particularidades es
imposible que un trabajador reporte la asistencia de otro, porque no hay manera de
prestarse las huellas digitales. Adems, con estos sistemas biomtricos se reducen
prdidas y se mejoran los mrgenes de ganancia de una empresa.

Escuela Superior de Ingeniera Mecnica y Elctrica

Captulo 1. ntroduccion
Como parte de la modernizacin a nivel mundial, es necesario tener sistemas ms fiables,
por lo cual, el proyecto est enfocado en utilizar un sistema biomtrico dactilar enlazado a
una base de datos, para evitar errores o corrupcin por terceras personas o agentes
externos al control de asistencia, como el remplazo de identidad para pasar asistencia.
La identidad permite distinguir a un individuo entre millones de personas, mediante
rasgos fisiolgicos como el rostro, conformacin dental, huella dactilar, iris, voz, etc.,
tanto como rasgos sociales que en gran parte, son el resultado de la interaccin del
individuo con su medio.
El uso de sistemas de identificacin personal se han ocupado durante la historia de la
humanidad, desde la grafologa hasta el sistema de identificacin ciudadana de un pas,
tanto para elecciones como para poder sacar un pasaporte o hacer cualquier trmite.
El uso de la tecnologa para la identificacin de un individuo que se enfoca en los rasgos
fisiolgicos, se le llama Biometra Informtica, por lo que la identidad construida por el
sistema, se le llama Identidad Biomtrica del Individuo.
Un ejemplo de los sistemas biomtricos informticos, es al momento de hablar por
telfono celular, se relaciona la identidad del individuo que habla, mediante el nmero
que registre el receptor, y en ese mismo ejemplo podemos conocer un sistema biomtrico
natural, como el tratar de reconocer la voz del transmisor, con la informacin que se ha
recopilado en el transcurso de la vida, y si el cerebro encuentra las similitudes de la voz, el
receptor es capaz de reconocer quin le habla. Esto puede sonar a que se crea una base
de datos que va enriqueciendo da a da.
Las bases de datos, se han constituido como una de las herramientas ms ampliamente
difundidas, en la actual sociedad de la informacin, utilizadas como fuentes secundarias,

Pgina 7

Escuela Superior de Ingeniera Mecnica y Elctrica

en cuanto a recuperacin y almacenamiento de informacin en todos los campos, a nivel


cientfico, social, econmico, poltico y cultural.
Como parte de la informtica las bases de datos han sido parte primordial, pues en el
manejo de la informacin no se puede simplemente manejar, si no tenemos un lugar de
almacenamiento.
Las bases de datos se usan para hacer un manejo eficiente de la informacin
El uso de sistemas de bases de datos automatizadas, se desarroll a partir de la necesidad
de almacenar grandes cantidades de datos, para su posterior consulta, producidas por las
nuevas industrias que creaban gran cantidad de informacin.

1.1. Planteamiento del Problema


Durante aos se ha presentado una gran cantidad de problemas en los checadores a
nivel general, debido a problemas fsicos, simple suplantacin de identidad para evitar
descuentos en la nmina, o para evitar retardos y que no tengan bonos por
puntualidad.
En ocasiones, el personal slo checa y se retira de su sitio de trabajo, dejando a un
lado sus deberes dentro de la empresa o escuela.

1.2. Justificacin
Actualmente, los sistemas tradicionales para la identificacin no son totalmente seguros, y
no se dan abasto para la demanda de seguridad que se desea, puesto que se requiere la
identificacin para ingresar a diferentes partes de la empresa, o incluso sitios restringidos,
que necesitan an una mayor seguridad para controlar informacin de carcter personal.
Por lo mismo, la necesidad de implementar sistemas que empleen la biometra, con todas
su ventajas como mtodo de identificacin, e incluida una base de datos confiable y
segura, donde se pueda evitar que se compartan las claves, cdigos de ingreso o tarjetas
de acceso e incluso, se pueda evitar la suplantacin de identidad.

Escuela Superior de Ingeniera Mecnica y Elctrica

Definitivamente, ningn sistema biomtrico est exento de errores mediante


suplantacin, pero las diferentes caractersticas de los diversos sistemas biomtricos,
muestran las debilidades y las fortalezas de cada sistema, como la tabla 1-1.
Ojo (Iris)

Ojo

Huella

Geometra

Escritura y

(Retina)

Dactilar

de la mano

Firma

Voz

Cara

Fiabilidad

Muy Alta

Muy Alta

Alta

Alta

Media

Alta

Alta

Facilidad de

Media

Baja

Alta

Alta

Alta

Alta

Alta

Muy Alta

Muy Alta

Alta

Alta

Media

Media

Media

Aceptacin

Media

Baja

Alta

Alta

Muy Alta

Alta

Alta

Estabilidad

Alta

Alta

Alta

Media

Baja

Media

Media

uso
Prevencin
de ataques

Tabla 1- 1 Diferencia entre Sistemas Biomtricos

La tabla 1 muestra que el sistema ms estable es el de huella dactilar,


independientemente de que pueda ser utilizado un molde o simplemente disponer de la
huella dactilar.
Encontrar un sistema infalible e inequvoco para reconocer personas es el objetivo de la
biometra.1

1.3. Hiptesis
Cuanto mayor sea el control de asistencia en una empresa o escuela, a travs de un control
de asistencia por sistema biomtrico apoyado por una base de datos, que contenga la
informacin del trabajador, la suplantacin de identidad al momento de marcar asistencia,
se ver disminuida, por lo tanto se ver obligado a llegar a tiempo.

Pgina 9

Escuela Superior de Ingeniera Mecnica y Elctrica

1.4. Objetivos
1.3.1. Objetivo General
Disear un prototipo de un sistema con interfaz grfica para el control de asistencia,
dedicado a una empresa o escuela para impulsar una mayor eficiencia, usando un sistema
biomtrico que detecte huellas dactilares, y que stas sean guardadas en una base de
datos para tener un sistema gil.

1.3.2. Objetivos Particulares


Disear un prototipo de interfaz grfica para la interaccin Usuario-Sistema mediante la tecnologa
.NET.
Crear una base de datos para alojar la informacin del control de asistencia y de los usuarios que
lo ocupen.
Usar un sistema biomtrico que detecte huellas dactilares que sea compatible con Windows.

Escuela Superior de Ingeniera Mecnica y Elctrica

1.5. Desarrollo de la Investigacin


El presente escrito, se ha desarrollado con el fin de explicar de manera detallada el
desarrollo del control de asistencia por sistema biomtrico dactilar, diseado en Visual
Studio 2012 en lenguaje de programacin C#.
Este escrito se conforma de 5 captulos:
Captulo 1. Introduccin
Plantea describir brevemente la evolucin del control de asistencia, adems de explicar
la justificacin del diseo de un control de asistencia asistido por un sistema
biomtrico, que reconoce huellas dactilares.
Captulo 2. Estado del Arte
Detalla cul es el mercado en donde se ubican estos sistemas por diferentes formas de
verificacin, as como los avances tecnolgicos que se han presentado en los ltimos
aos.
Captulo 3. Marco Terico
Se presentan los conceptos y explicaciones necesarias para la compresin del
mecanismo de trabajo, y cules son los rasgos importantes de reconocimiento y
verificacin.
Captulo 4. Diseo
Explica de manera concisa los elementos que integran al control de asistencia, la forma
en que fue diseado, programado y relacionado entre s, as como la consolidacin del
sistema de manera ntegra.

Pgina 11

Escuela Superior de Ingeniera Mecnica y Elctrica

Captulo 5. Pruebas y Resultados


Se exponen las pruebas que se llevaron a cabo durante el desarrollo del proyecto, y los
resultados obtenidos una vez que fue implementado.

1.6. Alcance del Trabajo


El desarrollo del control de asistencia por sistema biomtrico dactilar, se limita hasta su
completo diseo y pruebas de factibilidad, lo que no abarca es su implementacin en
los checadores de ESIME, sin embargo, se dejan las bases para que dicha
implementacin se pueda llevar a cabo en un futuro.
En cuanto a las pruebas, se limit trabajar con los alumnos del grupo 9CM11-2012 para
conocer la fiabilidad y velocidad que el sistema posee.

Escuela Superior de Ingeniera Mecnica y Elctrica

Captulo 2. Estado del Arte


2.1 Bases de Datos que usan algn patrn Biomtrico
Existen diversas bases de datos que utilizan sistemas biomtricos para su reconocimiento,
desde bases de datos para ADN hasta documentos oficiales, como Licencias, Armas y
Sistemas Electorales.

En el pas existen 3,045 bases de datos personales (a travs del Sistema Persona).
De ellos, 234 prev algn tipo de datos biomtrico (huella dactilar o iris del ojo).

Algunos sistemas, que incluyen una base de datos por sistema biomtrico a nivel nacional
e internacional, se muestran en la tabla 1-2 y 1-3:

Asia Pacfico

27 pases de la Visa que facilita A travs del I- Fotografa,


regin

la movilidad de 24/7
las personas de en
negocios

(sistema huellas
lnea

de dactilares e iris

Interpol)
contribuye con
la Lista de Robo
y Extravo de
Documentos de
Viaje

de

Interpol

Pgina 13

Escuela Superior de Ingeniera Mecnica y Elctrica

Zona Schengen

25 pases: 22 Lista biomtrica

De aquellos que Fotografas

miembros de la

han

UE

algn crimen

no

cometido huellas
dactilares

miembros de la
UE
Interpol

190

pases Intercambio de Varias bases de ADN, fotografa,

miembros

informacin

a datos

huellas

travs

I- biomtricas

dactilares.

del

24/7
Tabla 1- 2 Sistemas Biomtricos Internacionales

Pases

Bases criminales

Sistemas migratorios

Sistema Nacional de Huellas


Dactilares (NAFIS)

Australia

Bases de Datos Nacional de


Investigacin

Criminal

ADN (NCIDD)

de

Puertas inteligentes
(Smart Gates)

Visa

de

Negocios

(APEC)

Alerta de Lista de
Movimientos (MAL)

Sistema Integral de
Operacin Migratoria
(SIOM)

Mxico

Plataforma Mxico

Sistema Integral de
Administracin
Consular (SIAC)

Visa

de

Negocios

(APEC)
Nueva Zelanda

Base Nacional de ADN

Puertas inteligentes

Escuela Superior de Ingeniera Mecnica y Elctrica

Base de Datos de Evidencias

de Crimen

Sistema

(Smart Gates)

de

Huellas

Dactilares (AFIS)

Visa

de

Negocios

(APEC)

Alerta de Lista de
Movimientos (MAL)

Espaa

Base de Datos nica de ADN

Eurodac

en materia Criminal

Schengen I y II

Schengen I y II

Sistema Nacional de Huellas

Informacin de Visas

Dactilares

(VIS)

Sistema

de

Tabla 1- 3 Sistemas Biomtricos Nacionales e Internacionales

2.2 Hardware
Existen los relojes checadores dedicados, dichos relojes como su nombre lo dice, son
dispositivos que slo tienen una funcin especfica, la cual es almacenar la huella digital, y
en forma independiente reconocer las huellas. Este tipo de reloj almacena la fecha y hora
en que se reconoce una huella, para que posteriormente dicha informacin sea extrada
por otro ordenador.
Existen diversos tipos de sensores detectores de huellas dactilares modernos, pero los
ms reconocidos son los siguientes:
Sensores con ventana de algodn
El tiempo de vida de ste depende del uso correcto al momento de hacer contacto
con el dedo, debido a que tiene una capa delgada de silicn. Si la superficie que
detecta sufra algn dao (rayaduras), tiene un porcentaje de probabilidad alto de
que deje de funcionar en sus condiciones normales. Si su uso es el correcto, su
tiempo de vida puede ser mayor a 5 aos.

Sensores con ventana a prueba de rayones


Pgina 15

Escuela Superior de Ingeniera Mecnica y Elctrica

Este sensor ptico tiene una ventana ms resistente que el vidrio y se limpia con
un trapo hmedo. El tiempo de vida de ste es indefinido. Los sensores CA-8 y CA680 de la marca Bioaxo(1) cuentan con este sensor.

Sensor ptico multiespectral


Es un sensor a prueba de rayones y utiliza luz ultravioleta, infrarroja y normal para
leer la huella, es un sensor de alta precisin que puede detectar huellas borradas
con el uso, pues la luz ultra violeta, la lee bajo la piel. Es una tecnologa ms cara,
puede leer huellas de personas de edad avanzada y nios.

Algunos ejemplos de estos tipos de sensores, son los creados por Kimaldi, llamado
Terminal biomtrico de huella dactilar Suprema BioStation (2), con las ventajas de:
Algoritmo rpido y preciso, hasta 3,000 huellas por segundo.
Memoria para 400,000 huellas (1:1) y 1,000,000 de registros
Tecnologa Dual CPU System, mayor precisin y rapidez en la identificacin
Mltiples sensores: ptico, capacitivo
Fcil instalacin en red: TCP/IP, RS 485
Pantalla color LCD con una interfaz grfica muy intuitiva
Entrada USB para descarga de eventos
Mltiples modos de funcionamiento: biomtrico, RFID, teclado (combinables)
Dispone de software de control de acceso.

Escuela Superior de Ingeniera Mecnica y Elctrica

Las caractersticas principales de este sistema, son:


CPU

Dual CPU (32bit RISC + 400MHz DSP)

Memoria

1GB Flash + 34 MB RAM

Pantalla

2.5" QVGA 16M Color LCD

Velocidad

identificacin 1 a 3.000 huellas en 1 seg.

biomtrica
Capacidad de huellas

400.000 huellas (1:1), 20.000 huellas


(1:N)

Capacidad de registros

1.000.000 eventos

Interfaz

Wireless LAN (opcional), TCP/IP, RS485

PC Interfaz

USB, RS232

Ranura USB

USB Host

Rel de salida

Deadbolt,

EM

lock,

door

strike,

automatic door
External I/O

Wiegand I/O, 4 TTL I/O

Modos de operacin

Biomtrico, PIN, PIN + Biomtrico

Interfono

Micrfono y altavoz para interfono

Tecla de navegacin

Tecla para navegar por el men

Tecla de funcin

4 teclas de funcin para definir


funciones

Temperatura de operacin

- 20~ 50

Tamao

135 x 128 x 50mm (W x H x D)


Tabla 1- 4 Caractersticas del Suprema BioStation

El software Suprema, es uno de los sistemas ms confiables a nivel comercial, puesto


que cuenta con grandes caractersticas, como la inclusin de una cmara, para evitar
la suplantacin de identidad.
Y el sucesor de este sistema es su segunda versin Suprema BioStation T2, con
caractersticas de hardware ms completas:
Pgina 17

Escuela Superior de Ingeniera Mecnica y Elctrica

CPU

667MHz RISC, 533MHz DSP

Memoria

Flash 1GB, 256MB RAM

LCD

Pantalla tctil WVGA 5.0 pulgadas

Sensor de Huella

ptico

Cmara

Deteccin de rostro y
videotelfono

Opciones de Tarjeta RF

EM 25KHz, Mifare 13.56 MHz

Capacidad de Huellas

400,000 (1:1), 20,000 (1:N)

Mximo de Usuarios

200,000

Capacidad de Registros

Huellas: 1,000,000 / Imgenes:


5,000

PoE (cable que reduce el consumo

de energa)
Interfaces

Wireless LAN (opcional)


TCP/IP
Wiegand 2 canales
RS485, RS232
4 x TTL E/S
2 x Relevador USB (Host y
Esclavo)
Entrada para tarjeta SD

Tamper

Switch

Sonido

Indicacin de voz y sonido 16 bit


Hi-Fi

Temperatura de Operacin

- 20C ~ 50C

Voltaje de Operacin

12 VDC

Dimensiones (mm)

155 (Ancho) x 155 (Alto) x 40


(profundidad)

Tabla 1- 5 Caractersticas de Suprema BioStation T2

Escuela Superior de Ingeniera Mecnica y Elctrica

Captulo 3. Marco Teorico


El reconocimiento de patrones, es la ciencia que se encarga de la descripcin y
clasificacin de objetos, personas, representaciones, etc. Esta ciencia trabaja con base a
un conjunto de patrones individuales previamente establecidos. Las aplicaciones creadas
de reconocimiento de patrones es muy basto, sin embargo, las dos ms importantes se
relacionan con la visin y audicin por parte de un sistema, haciendo una analoga de los
seres humanos.
Un sistema de reconocimiento de patrones (Ilustracin 3-1), consta de varias etapas
relacionadas.

Decisin
Caractersticas

Patrn

Extractor de
Caractersticas

Universo
(Objetos,
conceptos)

Clasificador

Sensor

Ilustracin 3- 1 Esquema de un sistema de reconocimiento de patrones

El sensor tiene como propsito, hacer una representacin viable del patrn que se
clasificar. Es la parte crucial del sistema, ya que ste, determina de manera notable el
rendimiento de todo el sistema. La extraccin de las caractersticas, es la etapa que se
encarga, a partir del patrn obtenido, extraer la informacin comprimida, eliminando
informacin insignificante y repetida. Por ltimo, la etapa de clasificador, es la encargada
de la toma de decisiones en el sistema, asignando los patrones a una categora apropiada.

Pgina 19

Escuela Superior de Ingeniera Mecnica y Elctrica

El reconocimiento de patrones es la base terica fundamental de la Biometra, ya que un


Sistema Biomtrico, es un sistema de reconocimiento de patrones por lo que la
fundamentacin matemtica, es de gran importancia para los fabricantes de tecnologa
biomtrica, no as para el desarrollo de este trabajo de tesis, cuyo objetivo es disear un
Sistema de Control de Asistencia Biomtrico Dactilar, con tecnologa creada por Digital
Persona para el control seguro de la asistencia en una empresa o escuela.

3.1 Modelo del Proceso de Identificacin Personal


El modelo del proceso de la identificacin personal, insta de tres indicadores de identidad,
que determinan la identificacin de un individuo:
1. Posesin, lo que el individuo tiene.
2. Conocimiento, lo que sabe.
3. Caracterstica, caractersticas fsicas o conductuales, por la cual puede ser
identificada.

El ltimo indicador necesita 4 requisitos bsicos para poder ser considerado como un
indicador de identidad:

Universalidad: Se define como algo que poseen todos los seres humanos o una
especie en comn, por lo que el indicador de identidad que se seleccione deber
estar presente en todos los individuos o especie que deseen estar dentro del
sistema de reconocimiento.

Singularidad: Hace referencia a algo que es nico en su especie, lo que quiere


decir que la probabilidad de que existan dos personas o dos elementos de la
especie es casi nula.

Estabilidad: Debe ser un rasgo o caracterstica que debe permanecer invariable e


indefinidamente en el mismo estado, situacin o lugar, por lo que este rasgo debe
de estar presente a lo largo de la vida del humano o miembro de su especie.

Escuela Superior de Ingeniera Mecnica y Elctrica

Cuantificacin: Debe ser posible medir y/o conocer, la cantidad exacta que posee
el identificador de identificacin que se ha seleccionado.

Estos requerimientos, sirven como criterio para descartar o aprobar alguna caracterstica
fsica o conductual, como indicador biomtrico.
Indicador

Universalidad

Singularidad

Estabilidad

Cuantificacin

Cabello

No

No

No

Si

Estatura

Si

No

No

Si

Distancia entre los ojos

Si

No

Si

Si

Huella Dactilar

Si

Si

Si

Si

Peso Corporal

Si

No

No

Si

Geometra de la mano

Si

Si

Si

Si

Tabla 3- 1 Anlisis de Caractersticas Fsicas

Como se observa en la tabla 3-1, slo dos caractersticas fsicas del humano de 6 que se
seleccionaron, cumplen con los 4 requisitos necesarios para poder ser considerados como
patrones de identificacin biomtricos. Por lo que, tomando en cuenta el resultado de
ste anlisis, se puede concluir que no todos las caractersticas de los humanos pueden
ser considerados como patrones de identificacin biomtrico, por lo que es necesario que
las empresas dedicadas a la identificacin de personas por algn patrn biomtrico, lleven
a cabo una exhaustivo estudio del patrn que deseen ocupar, para que ste pueda
cumplir con el objetivo de manera correcta.

3.2. Caractersticas de un Sistema Biomtrico


Un sistema biomtrico, es una tcnica automtica de identificacin y verificacin de un
individuo, usando una o ms caractersticas fsicas y/o de comportamiento determinante.
stos deben cumplir con caractersticas bsicas para poder ser tomado en cuenta como un
sistema estable y seguro son: desempeo, aceptabilidad y fiabilidad, con lo que puede
obtener una utilidad prctica.

Pgina 21

Escuela Superior de Ingeniera Mecnica y Elctrica

I.

Desempeo:
Se refiere a la exactitud, rapidez y robustez alcanzada para la identificacin de los
individuos por parte del sistema biomtrico. Otros elementos que se toman en
cuenta para calificar el desempeo son:

Los recursos tecnolgicos para su fabricacin.

Costos asociados.

Efecto de factores ambientales y/u operacionales.

Esta caracterstica tiene como objetivo, comprobar si el sistema es exacto, rpido y


aceptable, con los recursos necesarios.

II.

Aceptabilidad:
Se refiere a que tan dispuesta esta la gente en aceptar un sistema biomtrico, en
su vida diaria. Dicho sistema, debe de ser de fcil uso, no debe de representar
algn peligro para los usuarios y debe de inspirar confianza a los usuarios.
Un ejemplo de un sistema biomtrico que debido a factores psicolgicos puede
afectar en esta caracterstica con el dispositivo de reconocimiento, es el
reconocimiento de retina debido que el usuario requiere un contacto cercano
entre el dispositivo y el ojo del usuario, ya que el ojo del usuario no tiene
proteccin frente al dispositivo.

III.

Fiabilidad:
Esta caracterstica expresa qu tan difcil es burlar al sistema. Para que un sistema
biomtrico sea fiable totalmente, debe de reconocer caractersticas de personas
vivas, ya que es posible crear grabaciones digitales de voz, dedos de ltex, prtesis
de ojos, entre otros, para poder burlar la seguridad del sistema y obtener acceso a
donde deseen entrar

Recientemente, investigadores de la Universidad de Clarkson (Postdam, N.Y.), con


ayuda del financiamiento de instituciones gubernamentales de Estados Unidos,

Escuela Superior de Ingeniera Mecnica y Elctrica

como el Departamento de Defensa y la Fundacin Nacional para las Ciencias,


probaron que es posible engaar a este tipo de dispositivos, con mtodos
relativamente sencillos. En su experimento, el equipo de investigadores cre 60
dedos falsos, que lograron engaar a los dispositivos lectores de huellas digitales, y su software correspondiente- en 9 de cada 10 intentos. De acuerdo con los
especialistas, las huellas dactilares falsas pueden ser extradas de cadveres o de
personas vivas, y ser moldeadas en plstico, o inclusive plastilina o gelatina. Los
resultados de la investigacin serviran para encontrar nuevos mtodos, para
determinar si la caracterstica bajo estudio corresponde o no a la de una persona
viva, y de esta forma impedir fraudes relacionados con los sistemas biomtricos.
Expertos en el rea, aseguran que otra forma de evitar fraudes en este tipo de
sistemas es, combinando los distintos rasgos biomtricos que pueden ser
utilizados, como identificadores de identidad. Por ejemplo, se pueden fabricar
sistemas que reconozcan la huella dactilar, y una vez que sta sea verificada, se
proceda al reconocimiento de la voz del usuario. Otro ejemplo podra ser, la
creacin de sistemas que verifiquen la identidad de un individuo, escaneando su
iris o retina, y que adems, requieran de una contrasea que al momento de ser
introducida a travs de un teclado, ser verificada y pasar por un anlisis de
velocidad de tecleo y presin ejercida sobre las teclas, es decir, se llevar a cabo el
reconocimiento del patrn de tecleo del usuario. De esta forma se volver mucho
ms difcil para los impostores, poder falsificar todos los rasgos biomtricos
utilizados en este tipo de sistemas combinados. No obstante, el elevado costo de
este tipo de sistemas ser una desventaja, tanto para los fabricantes, como para
las empresas o particulares que decidan adquirirlos, esto debido a que la cantidad
de hardware y software necesarios, para que los sistemas operen como es
deseado, se ver incrementado y depender de la cantidad de caractersticas
biomtricas utilizadas. (3)
Actualmente, existen mtodos que son empleados para evitar la suplantacin de
identidad, cmo el sistema basado en reconocimiento de iris, el cual, revisa patrones
Pgina 23

Escuela Superior de Ingeniera Mecnica y Elctrica

caractersticos en las manchas de ste y un sistema infrarrojo revisa las venas de la mano,
detectando flujo de sangre.
Actualmente, se ha desarrollado sistemas ms fiables pero an falta mucha investigacin
para desarrollar sistemas biomtricos totalmente fiables.

3.3. Arquitectura y Medidas de Desempeo de un Sistema


Biomtrico
Los sistemas biomtricos poseen tres componentes esenciales:
1. El que se encarga de la adquisicin anloga o digital del patrn biomtrico
(adquisicin de la huella dactilar mediante el escner).
2. Compresin, procesamiento, almacenamiento y comparacin de los datos
obtenidos.
3. Interfaz grfica para la utilizacin del sistema.
La arquitectura de los sistemas biomtricos se pueden dividir en dos mdulos: El Mdulo
de Inscripcin y el Mdulo de Identificacin.

Ilustracin 3- 2 Arquitectura de un Sistema Biomtrico

Escuela Superior de Ingeniera Mecnica y Elctrica

3.4. Mdulo de Inscripcin


ste mdulo, es el encargado de adquirir y almacenar la informacin obtenida del
indicador biomtrico, con el propsito de poder verificar esta informacin con la que se
proporcionar en ingresos posteriores al sistema. Las tareas ejecutadas por este mdulo,
son gracias a la accin del lector biomtrico y del extractor de caractersticas.
El lector biomtrico se encarga de obtener los datos relativos del indicador biomtrico y
hacer una representacin digital de stos. El extractor, como su nombre lo indica, extrae,
a partir de la salida del lector, las caractersticas representativas del patrn biomtrico.
En este proceso de recoleccin de datos, se presenta uno de los primeros problemas, las
muestras, estn sujetas a la calidad y caractersticas del sensor utilizado, lo que lleva a que
las caractersticas del sensor sean estandarizadas, con el fin de garantizar que las muestras
obtenidas de un usuario, sean compatibles.
En el almacenamiento, existen diferentes formas de almacenar los datos previamente
reunidos y procesados, que al momento de almacenarse reciben el nombre de patrn
(template). La organizacin de la estructura de los datos debe ser flexible, permitiendo su
reestructuracin, en un caso necesario. De este modo es posible definir entre varias
formas de almacenar para los diferentes sistemas biomtricos, dependiendo de sus
caractersticas se pueden almacenar de las siguientes formas:
1. Sistema protegido dentro del dispositivo biomtrico.
2. Base de datos convencional.
3. Token porttil, por ejemplo, una tarjeta inteligente.

Pgina 25

Escuela Superior de Ingeniera Mecnica y Elctrica

3.5. Mdulo de Identificacin


ste mdulo, es el responsable del reconocimiento de los individuos, por ejemplo, en el
Sistema de Control de Acceso Biomtrico Dactilar. El proceso de identificacin, empieza
cuando el lector biomtrico, captura la caracterstica de la persona a ser identificada, la
convierte en forma digital, para que el extractor de caractersticas produzca una
representacin compacta, con el mismo formato del patrn.
La representacin de la informacin ingresada en este mdulo se denomina query, que
es enviada al comparador de caractersticas que confronta a ste, para buscar la identidad
de la persona con uno o varios patrones reconocidos.
Los procesos realizados por el mdulo de inscripcin, reciben el nombre de fase de
inscripcin y los procesos realizados por el mdulo de identificacin, se denominan como
la fase operacional.

3.6. Reconocimiento de Huella Dactilar


El reconocimiento de huellas dactilares, es el mtodo de identificacin ms utilizado y por
ende, ms estudiado, debido a la facilidad de adquirir, usar y tiene una gran aceptacin,
por parte de los usuarios.

Ilustracin 3- 3 Huella Dactilar

Escuela Superior de Ingeniera Mecnica y Elctrica

La huella dactilar, es una caracterstica fsica nica en cada ser humano y la ciencia
encargada del estudio se llama Dactiloscopa (de los vocablos griegos daktilos, que
significa dedos y skopein, que significa examen o estudio).
La Dactiloscopa es usada como un mtodo de identificacin que se basa en el estudio y
clasificacin de las crestas presentes en la huella dactilares, ste estudio se inicia desde la
antigua China, en la cual los emperadores realizaban operaciones comerciales o de
cualquier ndole marcando con la huella dactilar, los documentos ms importantes; a
partir de entonces, diversos investigadores realizaron estudios a dichos dibujos dejados
por los dedos, desde Marcelo Malpigui en 1656, el cual al investigar acerca del sentido del
tacto, descubre la diversidad de formas en dichos dibujos dejados por los dedos, hasta
Vcetich, el cual realiza estudios para establecer el Sistema que lleva su nombre, el cual es
utilizado actualmente en diversos pases para la clasificacin dactilar de diferentes
organismos gubernamentales como el ejrcito, en el mbito civil y penal.
Los sistemas que ocupan la dactiloscopia se basan en las siguientes caractersticas de las
huellas dactilares:

Inmutabilidad de los dibujos dactilares desde que aparecen en la vida


intrauterina, los cuales perduran hasta ciertos procesos avanzados de
putrefaccin.

Inalterabilidad a lo largo de la vida, a excepcin de heridas profundas que


produzcan alguna lesin, sin embargo, las lesiones que dejan huellas o
cicatrices, son tambin caractersticas de elementos de identificacin.

Diversidad Infinita, las huellas dactilares son nicas e irrepetibles, cada ser
humano posee huellas dactilares con caractersticas individuales. Hasta este
momento, no se ha encontrado a un par de personas con la misma huella
dactilar.

A simple vista, las personas pueden observar que la piel no es totalmente lisa o uniforme,
sino que est cubierta de rugosidades, protuberancias y depresiones en la dermis. Las
rugosidades son las siguientes:
Pgina 27

Escuela Superior de Ingeniera Mecnica y Elctrica

a. Papilas: Son pequeas protuberancias que nacen la dermis y sobresalen en la


epidermis, son variadas las formas que tienen, unas son cnicas, otras
hemisfricas y otras piramidales. El nmero de papilas agrupadas por milmetro
cuadrado, son aproximadamente 36 y su tamao es de 55 a 225 milsimas de
milmetros de altura.
b. Crestas: Son los bordes que sobresalen de la piel, que estn formados por una
continuacin de papilas, estos borden siguen las ondulaciones de los surcos en
todas direcciones y forman infinidad de figuras de las yemas de los dedos, son
ms amplios en su base que en la cspide, dan el aspecto de una montaa en
miniatura.
c. Surcos: Son los espacios hundidos, se encuentran entre las papilas. Tambin son
llamados surcos interpapilares, ya que al entintar los dedos, la tinta no cubre
toda la yema y al hacer la impresin de la huella sobre una superficie plana,
quedan espacios en blanco.
d. Poros: Son los pequeos orificios, que se encuentran situados en las cspides de
las crestas o cerca de los vrtices, su funcin es segregar el sudor. stos, tienen
diferentes formas, como son: circulares, ovoidales, triangulares, etc.
Los dibujos o formas que se forman en los dedos, reciben el nombre de dactilogramas
(deriva de los vocablos griegos: daktylos, que significa dedos y grammas que significa
escrito). Si el dactilograma proviene de algn dedo de la mano, se denomina dactilograma
papilar y si proviene de un dedo del pie o de la palma de la mano, se denominan
dactilogramas plantares.
Los dactilogramas se pueden dividir en tres tipos:

Dactilograma natural: Formado por las crestas papilares de forma natural.

Dactilograma artificial: Formado por el resultado de entintar un dactilograma


natural e imprimirlo en una zona.

Escuela Superior de Ingeniera Mecnica y Elctrica

Dactilograma latente: Es la huella dejada por cualquier dactilograma natural al


tocar un objeto o superficie. Este dactilograma es invisible al ojo humano, para su
revelacin se requiere aplicar un reactivo adecuado.

Un dactilograma se puede dividir en tres partes, conocidas como: Sistema Basilar,


Sistema Marginal y Sistema Nuclear. (5)

Sistema Basilar: Est constituido por las crestas que forman la base de la ltima
falange, limitan por la parte inferior con el pliegue de flexin, tienen una direccin
transversal o ligeramente oblicua y en algunos casos

toman una direccin

ascendente formando ligeros arcos u ondulaciones. La cresta altas de este sistema


se llama Limitante Basilar y contribuye a formar los deltas por su rama inferior.
(7)

Sistema Marginal: Como su nombre lo indica, se encuentra situado en el margen o


contorno del dactilograma, lo forma las crestas que parten de los costados del
dibujo, paralelamente a las crestas basilares, de las cuales se separan para elevarse
marginalmente describiendo curvas de convexidad hacia arriba para descender
luego por el lado opuesto al de la partida y unirse o aproximarse nuevamente a las
basilares. La cresta ms inferior o interna de este sistema, recibe el nombre de
Limitante Marginal y contribuye a formar el delta por so lado externo. (7)

Sistema Nuclear: Est formado por el dibujo de crestas que aparecen en el centro
o ncleo del dactilograma, encerradas por las limitantes basilar y marginal,
formando dibujos muy diversos y variados. La cresta ms externa de este sistema
se llama Limitante Nuclear. (7)

Ilustracin 3- 4 Ilustracin 3-4 A. Sistema Marginal, B. Sistema Nuclear, C. Sistema Basilar

Pgina 29

Escuela Superior de Ingeniera Mecnica y Elctrica

Todos los dactilogramas coinciden que las crestas no describen formas aleatorias, sino que
constituyen sistemas definidos por su orientacin y figura. Se pueden distinguir cuatro
grupos de configuraciones drmicas, segn la Clasificacin de Henry.
Antes de conocer las cuatro caractersticas, se debe de estudiar dos singularidades
presentes en las huellas dactilares, llamadas Ncleo (Core) y Delta, para as conocer las
caractersticas generales de un dactilograma.

Delta: Es la figura triangular, formada por la aproximacin o fusin de las


limitantes de los sistemas de tres crestas. Se le llama Delta, por su semejanza con
la letra griega Delta ().. El punto dltico est situado en el vrtice de la bifurcacin
de la cresta.

Ncleo: Se da el nombre de ncleo a un punto fijo situado aproximadamente en el


centro de una impresin dactilar. La localizacin de este punto central es de capital
importancia en los dactilogramas clasificados como

presillas, ya que la

subclasificacin de stos tiene como base la cuenta de crestas entre el delta y el


ncleo.

Ilustracin 3- 5 Ilustracin 3-5 Puntos Singulares de la Huella Dactilar.

A continuacin, se detallan las cuatro clases propias de la clasificacin de Henry:


1. Arco: stos carecen de puntos delta y ncleos. Se caracterizan debido a que al
inicio, las crestas son casi rectas y paulatinamente se van arqueando, para dar la
forma como un medio crculo.

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 3- 6 Arco

2. Presillas Internas: Se caracterizan porque las crestas que forman su ncleo nacen
en el costado izquierdo del dibujo, y hacen su recorrido a la derecha, para luego
dar vuelta sobre s mismas y regresar al mismo punto de partida. Cuentan con un
punto Delta, que como se puede observar en la Ilustracin 3-7, se ubica del lado
derecho del observador.

Ilustracin 3- 7 Presilla Interna

3. Presillas Externas: Al igual que las presillas Internas, cuentan con un punto Delta,
pero ste se ubica del lado izquierdo del observador. Las crestas papilares que
forman el ncleo, nacen a la derecha y su recorrido es a la izquierda, para dar
vuelta sobre s mismas y regresar al mismo punto de partida.

Pgina 31

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 3- 8 Presilla Externa

4. Verticilo: Se denomina verticilo, debido a que sus dibujos en muchos casos son
similares a las flores; su caracterstica ms importante es que cuenta con dos
puntos Delta, uno del lado derecho y otro del lado izquierdo, su ncleo puede
adoptar formas circulares, elpticas y espirales. Se pueden encontrar verticilos con
tres deltas, llamados tambin trideltos, aunque esto sucede con poca frecuencia.

Ilustracin 3- 9 Verticilo

Escuela Superior de Ingeniera Mecnica y Elctrica

3.7. Adquisicin de Huella Dactilar


Existen dos mtodos de adquisicin de huellas dactilares: mtodo off-line y el mtodo
online. El primer mtodo obtiene la huella digitalizada con una resolucin espacial de 500
PPP(Puntos por pulgada), y a 256 niveles de profundidad de gris, esto segn
recomendaciones del FBI, mediante el escaneo de una huella impresa en papel, obtenido
a partir de la operacin tradicional de calcado del dedo tintado sobre papel satinado. Esta
metodologa de funcionamiento requiere de un costo importante de tiempo, y es la que
suele usarse en aplicaciones criminalistas. En cambio el segundo mtodo, se realiza en
tiempo real mediante el escaneo directo de la huella, a travs del uso de escneres tipo
inkless. Esta metodologa, es la que frecuentemente se utiliza en aplicaciones civiles.
Tras la captura de la huella, se realizar una valoracin cualitativa de la misma, el
resultado de la cual ser:
a) Huella apta para ser procesada.
b) Huella recuperable mediante tcnicas de pre-procesado digital de imagen.
c) Huella inutilizable debido a la baja calidad de la adquisicin.

3.8. Procesamiento de la Huella Dactilar


Los pasos para el procesamiento de la huella dactilar, por un sistema automatizado de
identificacin de impresiones dactilares, son:
1. Mejora de la Imagen: Este proceso consiste en eliminar las zonas confusas de la
imagen original (ruido), dejando slo zonas con informacin de mxima fiabilidad.
2. Binarizacin: El objetivo de esta etapa, es pasar la imagen original en tonos de gris
a blanco y negro, reconstruyendo posibles cortes y mejorando la calidad global de
la imagen.
3. Adelgazamiento: Con este proceso, todas las crestas de las lneas dactilares tienen
el mismo grosor (1 pxel), haciendo que los puntos caractersticos de la huella
dactilar, se puedan identificar con ms facilidad.
Pgina 33

Escuela Superior de Ingeniera Mecnica y Elctrica

4. Extraccin de puntos caractersticos: A partir de la imagen adelgazada, el sistema


es capaz de detectar y extraer la posicin exacta de los puntos caractersticos.
Dentro de esta etapa cabe destacar:
a) Construccin de un ndice o vector: Este es el proceso final, que mediante
algoritmos matemticos completa la creacin de un ndice matemtico, el
cual constituye la esencia de la huella dactilar analizada, segn las
caractersticas consideradas, almacenndolo en forma de fichero (este
fichero ocupa aproximadamente 300 bytes).
b) Identificacin y Verificacin: Una vez que se tienen el ndice o vector de
muchas huellas, el sistema es capaz de realizar bsquedas 1:1, para
verificar la identidad de una persona 1: N para identificarla.

La extraccin de puntos caractersticos, es por lo tanto, el proceso final que completa la


obtencin de la plantilla de la huella, o patrn biomtrico dactilar. La cantidad mnima de
puntos caractersticos necesarios, para proceder a comparaciones eficaces entre imgenes
dactilares, es de 15. La extraccin de puntos caractersticos es un rea en la que la
investigacin es continua, y al da de hoy, se puede llevar a cabo con diversas tcnicas:

Extraccin de puntos caractersticos desde la imagen de la huella. En esta tcnica


se apuesta por hacer un pre-procesado de la huella, antes de detectar las
caractersticas de la misma. Una vez hecho esto, se buscan los patrones a
identificar sobre la huella pre-procesada, en la cual la anchura de las crestas es de
un pxel. El pre-procesamiento de la huella, hace que el sistema de extraccin
pueda trabajar con huellas con un amplio rango de calidades. Esta es la tcnica
ms clsica y tpica, dentro de la extraccin de puntos caractersticos de huella
dactilar.

Extraccin de los puntos caractersticos mediante un banco de filtros de Gabor.


sta es una tcnica bastante novedosa, y utiliza una extraccin de los puntos
caractersticos de las huellas dactilares, basada en un banco de filtros de Gabor.

Escuela Superior de Ingeniera Mecnica y Elctrica

Esta tcnica, es usada para capturar la informacin til en las bandas de los canales
de la imagen, y descomponer la informacin en componentes ortogonales, en
trminos de frecuencias espaciales. La tcnica presenta buenas caractersticas de
precisin, pero en cuanto a la velocidad de extraccin presenta resultados pobres,
siempre peores que las tcnicas de extraccin ms clsicas.

Extraccin de los puntos caractersticos sobre la propia imagen de la huella en


escala de grises. Esta tcnica se caracteriza por realizar la extraccin sobre la
propia huella, y no sobre la imagen adelgazada o mejorada de la misma. Esto
presenta muchos inconvenientes y hace que la extraccin sea ms lenta, inexacta y
dependiente de la calidad de la huella. Adems, trabajando directamente sobre la
huella en escala de grises, se detectarn un gran nmero de puntos caractersticos
falsos, y habr otros muchos autnticos que no se detecten. Debido a estos
inconvenientes, la tcnica no es muy utilizada.

3.9. Estandarizacin de los Sistemas Biomtricos


La falta de estandarizacin de los sistemas biomtricos a nivel industrial, ha obstaculizado
el desarrollo de algunos tipos de sistemas biomtricos y por ende, el crecimiento de este
sector industrial. A pesar de esto, la industria biomtrica tiene un papel muy importante y
activo, para la solucin de la falta de estndares, creando resultados que empiezan a ser
considerablemente aceptables por la industria y marcando el camino hacia el futuro,
como la definicin de API (Interface de Programacin de Aplicaciones hasta el formato de
ficheros con la informacin del parmetro biomtrico y su encriptacin e interaccin con
los diferentes dispositivos biomtricos.

3.9.1. Asociacin Mexicana de Biometra e Identidad (AMBI)


Esta asociacin fue creada por el ingeniero mexicano Humberto Lpez Gallegos, en el
2007, con el propsito de promover un mejor unos de prcticas, que pudieran favorecer a
lograr una mayor eficiencia y seguridad, en el uso masivo de identificaciones biomtricas y

Pgina 35

Escuela Superior de Ingeniera Mecnica y Elctrica

soluciones de stas, as como posicionar el desarrollo hecho en Mxico, en otros pases,


como objetivo, Estados Unidos, Europa y Latinoamrica.
Un aspecto importante que el presidente de la Asociacin, consider crucial, es el marco
jurdico alrededor del uso de la tecnologa biomtrica, debido a que no existen
regulaciones en Mxico para el uso de datos biomtricos de los ciudadanos, por lo que
una de las principales iniciativas de esta asociacin, es la de participar activamente en la
generacin de estndares y normas para la identificacin de las personas con esta
tecnologa en Mxico y en otros pases, tratando de convertir a Mxico en un modelo
estandarizado a seguir mundialmente.
La AMBI, cuenta con el apoyo de compaas como: Bioscrypt, LG Iris, SAGEM, Digital
Persona, Crossmatch, L1, Quometrics, HID, Kimaldi, Ingressio y Nitgeny, que tiene una
misin en comn, la consolidacin de la industria de la tecnologa biomtrica.

Los servicios que ofrece la AMBI (9), estn:

Anlisis de desempeo de Identificacin

Certificacin de Aplicaciones

Capacitacin especializada por medio de cursos

Asesoras especializadas para proyectos de identificacin

Sin embargo, para poder obtener estos servicios, debes ser miembro activo de la
asociacin.
Por el momento, la AMBI no ha desarrollado algn estndar para el uso de las tecnologas
biomtricas en el pas ni en la creacin o mejora de estndares internacionales, a pesar de
contar con el apoyo de las compaas mencionadas anteriormente.

Escuela Superior de Ingeniera Mecnica y Elctrica

3.9.2. Norma Oficial Mexicana


Conforme a la Ley Federal sobre Metrologa y Normalizacin, una Norma Oficial Mexicana,
es la regulacin tcnica de observancia obligatoria expedida por las dependencias
competentes, conforme a las finalidades establecidas en el artculo 40, que establece
reglas, especificaciones, atributos, directrices, caractersticas o prescripciones aplicables a
un producto, proceso, instalacin, sistema, actividad, servicio o mtodo de produccin u
operacin, as como, aquellas relativas a terminologa, simbologa, embalaje, marcado o
etiquetado y las que se refieran a su cumplimiento o aplicacin.
En materia de normalizacin, esta ley tiene como objetivos(10):

Fomentar la transparencia y eficiencia en la elaboracin y observancia de


normas oficiales mexicanas y normas mexicanas.

Instituir la Comisin Nacional de Normalizacin, para que coadyuve en las


actividades que sobre normalizacin corresponde realizar, a las distintas
dependencias de la administracin pblica federal.

Establecer un procedimiento uniforme para la elaboracin de normas


oficiales mexicanas, por las dependencias de la administracin pblica
federal.

Promover la concurrencia de los sectores pblico, privado, cientfico y de


consumidores en la elaboracin y observancia de normas oficiales
mexicanas y normas mexicanas.

Coordinar las actividades de normalizacin, certificacin, verificacin y


laboratorios de prueba de las dependencias de administracin pblica
federal.

Establecer el sistema nacional de acreditamiento de organismos de


normalizacin y de certificacin, unidades de verificacin y de laboratorios
de prueba y de calibracin.

Pgina 37

Escuela Superior de Ingeniera Mecnica y Elctrica

Las normas mexicanas son realizadas por los organismos nacionales de normalizacin y si
sta falta, ser la Secretaria de Economa la que se responsabilice de su elaboracin, en
los trminos dispuestos por los artculos 51-A y 51-B de la Ley Federal sobre Metrologa y
Normalizacin.
Las normas mexicanas son de aplicacin voluntaria, salvo en los casos que las empresas
manifiesten que sus productos, procesos o servicios, son adecuados y requieran de una
norma oficial para poder sacarlos a la venta o para fines determinados. Estas normas
pueden ser aplicadas a nivel nacional, regional o local.
Existen algunos distribuidores de tecnologa biomtrica en Mxico, que aseguran cumplir
con la Norma Oficial Mexicana, sin embargo, no existe una NOM que abarque las reglas,
especificaciones y atributos que deben cumplir estas tecnologas por separado o en
conjunto.

3.10.

C Sharp

C# (C Sharp) es un lenguaje de programacin de propsito general orientado a objetos,


creado por Microsoft para la plataforma .NET.
La creacin del nombre de ste lenguaje proviene de dibujar dos signos positivos encima
de los dos signos positivos de C++, queriendo innovar y evolucionar al igual que ocurri
con el salto de C a C++
Su sintaxis bsica deriva de C y C++, utilizando el modelo de objetos de la plataforma .NET
el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes.
La principal ventaja es el entorno de trabajo debido a que facilita la interaccin entre
objetos y cdigo, dejando que interacten para crear diversas aplicaciones. Visual Studio
es la plataforma visual en la cual C# trabaja en conjunto con Visual Basic, dando an ms
ventajas debido a la compatibilidad con versiones anteriores .NET.

Escuela Superior de Ingeniera Mecnica y Elctrica

Captulo 4. Diseno del Sistema de


Control de Asistencia
4.1. Introduccin
Como se plante al inicio de este trabajo, el diseo del Control de Asistencias por Sistema
Biomtrico Dactilar se compone de los siguientes elementos esenciales:

Aplicacin de reconocimiento de huellas dactilares creada en Visual Studio 2012.

Una base de datos creada en SQL Server 2012.

El diseo del control de asistencia fue realizado de forma paralela, debido a que cada
parte del Control de Asistencia representa un anlisis independiente, adems de que al
desarrollarlo as, la atencin en cada una de las etapas es centralizada, aparte de proveer
mayor precisin en cuanto al manejo de la aplicacin.
Al final de la programacin de las etapas, se procede a la unin del sistema de
reconocimiento dactilar y la base de datos, para que trabajen de manera conjunta.
La unin de los elementos de software, es posible puesto que SQL Server 2012 y Visual
Studio 2012, son entornos de programacin diferentes pero compatibles, al momento de
compartir informacin entre aplicaciones.

4.2. Diseo de interfaz para el reconocimiento de las


huellas dactilares
Para el desarrollo del Control de Asistencia por Sistema Biomtrico Dactilar, se desarroll
una profunda bsqueda de elementos de desarrollo de software compatible con Visual
Studio 2012, que facilitara el reconocimiento de las huellas dactilares en dicha aplicacin.

Pgina 39

Escuela Superior de Ingeniera Mecnica y Elctrica

Despus de investigar y tomar en cuenta varias opciones de apoyo al desarrollo, como


libreras propias de la aplicacin que han sido generadas para el reconocimiento de
huellas en C#, se sometieron a evaluaciones para saber si cumplan con las caractersticas
mencionadas a continuacin:

Licencia Libre

Compatibilidad con Visual Studio 2012

Costo bajo de uso

Al encontrar una alternativa, al momento de adquirir el hardware de reconocimiento de


huellas dactilares Digital Persona U. are U. 4000, se evalu el SDK de ste, para conocer si
era apto para su aplicacin en el proyecto, se dedujo que las libreras eran aptas para
aplicarlas en la aplicacin.
Es as que para el anlisis y reconocimiento de las huellas dactilares, se ocuparon las
libreras (dll) del SDK, llamadas:

DPFPDevNET

DPFPEngNET

DPFPGuiNET

DPFPShrNET

DPFPVerNET

Las libreras mencionadas anteriormente, se ocuparon para el reconocimiento y


compatibilidad del hardware con Visual Studio, para la obtencin de los patrones de las
huellas dactilares y su visualizacin.
La modalidad de programacin que se ocup fue la orientada a plataforma Windows
Form. La ventaja primordial de sta, es que permite crear una aplicacin con entorno
grfico y amigable para el usuario, a travs de herramientas de formulario de Visual Studio
2012.

Escuela Superior de Ingeniera Mecnica y Elctrica

El hecho de querer hacer una aplicacin amigable para el usuario, es debido a la intencin
de facilitar la interaccin Usuario-Sistema, para evitar pasos confusos con comandos que
provoquen errores en el sistema, por causa de falta de capacitacin para manejar
comandos o elementos de programacin orientada a consola.
Por medio de la programacin orientada a plataforma, el usuario se encuentra con un
ambiente basado en botones e imgenes, con los cuales ha estado familiarizado
previamente, al manejar cualquier programa o sistema operativo de diferentes
plataformas. En el diseo del Control de Asistencia por Sistema Biomtrico Dactilar, basta
con que el usuario final se familiarice con los botones, abren la aplicacin que llevan el
reconocimiento e ingreso de datos y la verificacin de stos. Algunas de las herramientas
de diseo implementadas en la aplicacin de Control de Asistencia, se emplearon
elementos de Visual Studio 2012 que se muestran en la ilustracin 4-1.

Ilustracin 4- 1 Herramientas de Visual Studio 2012

Estos elementos se encuentran como herramientas de uso comn, en el entorno de


diseo de formularios en Visual Studio 2012, en la barra de herramientas.
La herramienta Etiqueta (Label), permite colocar texto como una indicacin para un
botn, una caja de texto (TextBox) o simplemente un ttulo.
Botn (Button), sirve para generar un botn dentro del formulario, previamente
programado para que lleve a cabo una tarea determinada.
Pgina 41

Escuela Superior de Ingeniera Mecnica y Elctrica

Caja de Texto (TextBox), permite que el usuario pueda comunicarse con el sistema,
insertando los datos necesarios para la insercin de ellos en la base de datos o para la
autentificacin de los usuarios.
Temporizador (Timer), genera un contador en el formulario para controlar los procesos
que necesiten un reloj, ocupando el reloj interno de la computadora.
Visor de tabla de datos (Datagridview), permite visualizar las columnas y filas que se
generan dentro de la base de datos que se desee visualizar en el formulario.
Caja de Imgenes (PictureBox), es la herramienta base para la visualizacin, extraccin y
sustraccin de las huellas dactilares en la base de datos y dentro del formulario.
Botn tipo Radio (RadioButton), es una herramienta con las mismas caractersticas que la
de Button pero sta slo tiene un selector circular.
Un Form o formulario (ilustracin 4-2) es una ventana, que se genera al momento de
crear un nuevo proyecto, que no contiene ninguna herramienta. Sobre esta ventana, se
pueden insertar todo tipo de herramienta que est marcada en la barra para el diseo de
los proyectos. Fuera de stos es imposible insertar alguna herramienta.
Estos formularios ayudan a los usuarios familiarizados con las aplicaciones de Windows a
crear nuevas aplicaciones y aceptar de manera ms fcil los controles de stos.

Ilustracin 4- 2 Formulario de Visual Studio

Escuela Superior de Ingeniera Mecnica y Elctrica

Para la programacin del Sistema de Control de Asistencia Biomtrico Dactilar, se


ocuparon 4 formularios base, uno destinado para la autentificacin de los usuarios con
permiso general o permisos de personal, uno encargado para el Registro del Personal, el
tercero para el Registro de Entrada y Salida del mismo y el ltimo para la edicin de datos
de los trabajadores, tambin se ocuparon dos formularios auxiliares, uno para el ingreso
de la huella dactilar y otro para la verificacin de sta.
Esta divisin se realiz para tener una mayor seguridad en el sistema, debido a que si no
hubiera seguridad para el registro del personal, cualquier persona podra registrarse o
suplantar la identidad.
A cada formulario se le proporcion un nombr afn a la funcin de ste, el formulario
principal, donde se encuentran los botones para ingresar a los otros formularios se llama
Sistema de Control de Asistencia Biomtrico Dactilar, el formulario donde se ingresan
los datos del trabajador se llama Ingresar Datos de Trabajador, el de edicin de datos se
llama Edicin de Datos y por ltimo donde se checa la entrada y salida se llama
Checador, a los formularios de ingreso y verificacin de la huella dactilar se les dieron el
nombre de Ingreso de Huella y Verificacin de Huella respectivamente.

Formulario Sistema de Control de Asistencia Biomtrico Dactilar

En el formulario Sistema de Control de Asistencia Biomtrico Dactilar (Ilustracin 4-3)


se insertaron 6 Label, 2 PictureBox, 2 TextBox, 5 Button, 2 RadioButton y un Timer. Los
label fueron ocupados para el ttulo del proyecto, para poner la fecha y hora y para titular
los TextBox; los PictureBox se ocuparon para poner los escudos; el del Instituto Politcnico
Nacional y el de la Escuela Superior de Ingeniera Mecnica y Elctrica; los TextBox se
ocuparon para ingresar el usuario y contrasea para poder ingresar con todas las
propiedades del formulario e ingresar a tu cuenta para checar la hora de entrada y salida;
los Radio Button se ocuparon para ingresar a las tablas de datos, siendo administrador o
de personal; los cinco botones fueron ocupados para tener acceso a los formularios
mencionados anteriormente y para guardar la huella dactilar.

Pgina 43

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 4- 3 Formulario Sistema de Control de Asistencia Biomtrico Dactilar

Los 2dos TextBox son, donde se debe de ingresar el usuario y contrasea para poder
ingresar a todas las propiedades del Sistema o propiedades del Personal y para validar los
datos se ocupa el botn Habilitar.
Los Radio Button habilitan el query para buscar en las tablas de la base de datos,
buscando en la tabla Usuarios o UsuarioPersonal
Con el botn Habilitar, se ingresa a la base de datos para buscar si en realidad los datos
ingresados son reales, por lo que dentro de la programacin del botn, se ubica el
siguiente cdigo:
Usuario ob = new Usuario();
ob.USUARIO = textBox1.Text;
ob.CONTRASEA = textBox2.Text;

if (textBox1.Text == "" || textBox2.Text == "")


{
MessageBox.Show("Un campo o ambos estan vacos, ingresa ambos
datos", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else if (ob.Buscar() == true)
{
MessageBox.Show(ob.Mensaje, "Sesin Iniciada, Bienvenido");

Escuela Superior de Ingeniera Mecnica y Elctrica

Registro.Enabled = true;
Modificar.Enabled = true;

}
else
{
MessageBox.Show(ob.Mensaje, "ERROR", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}

Donde el objeto creado de la clase Usuario se crea para poder buscar en la base de datos,
el usuario y la contrasea.
Despus de que se habilitan las propiedades, podemos ingresar a los formularios para la
edicin y para el registro de los trabajadores, tomando en cuenta que ambos botones
estn deshabilitados previo a la habilitacin.
Las instrucciones bsicas para poder ingresar a los formularios restantes son:
Para el botn de Modificar Datos:
EditarDatos edit = new EditarDatos();
edit.Show();

Para el botn de Ingresar Nuevo:


IngresarDatosTrabajador abrir=new IngresarDatosTrabajador();
abrir.Show();

Para el botn de Checar:


Checar abrir=new Checar();
abrir.Show();

Para el botn de Guardar Configuracin de Registro:


SaveFileDialog save = new SaveFileDialog();
save.InitialDirectory = @"C:\Users\Vicho\Desktop\Enrollment\bin\Debug";
save.Filter = "Fingerprint Template File (*.fpt)|*.fpt";
if (save.ShowDialog() == DialogResult.OK)
{

Pgina 45

Escuela Superior de Ingeniera Mecnica y Elctrica

using (FileStream fs = File.Open(save.FileName, FileMode.Create,


FileAccess.Write))
{
Template.Serialize(fs);
}
}

Resumiendo de forma sencilla el algoritmo del formulario principal, tenemos el siguiente


diagrama de flujo (Ilustracin 4-4) que presenta el funcionamiento.

INICIO

Seleccionas el RadioButton
llamado Personal

Ingresar Usuario y Contrasea


de Administrador

No
Ingresaron los 2
datos?

Si
Si

No
Existe en la BD?

Activa botones
Ingresar Datos, Modificar
Datos y Guardar
Configuracin de Registro

No activa botones

Ilustracin 4- 4 Diagrama de Flujo del Formulario Principal

Formulario Ingresar datos del Trabajador

El diseo del formulario Ingresar datos del Trabajador (Ilustracin 4-6) fue ms
complejo, debido a que es la parte medular del Sistema, teniendo en cuenta que previo a
visualizar este formulario, se muestra uno de los formularios secundarios para el ingreso
de la huella dactilar (Ilustracin 4-5).

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 4- 5 Formulario Secundario Ingresar Huella

Dentro de ste se agreg al formulario un PictureBox para poder visualizar la huella


dactilar para posteriormente, al ingresar tu huella mediante un TextBox visualizar en la
pantalla que la obtencin de la huella fue satisfactoria. Cabe mencionar que el Label que
aparece en la parte inferior izquierda, indica el nmero de muestras necesarias para crear
el Template de la huella dactilar para subsiguientemente, guardarla en la base de datos.
Para el formulario de Ingresar Datos del Trabajador (Ilustracin 4-5), se ocuparon 5
TextBox y 4 ListBox, 2 Labels, 1 Timer y 1 Button; los TextBox fueron ocupados para el
ingreso de los datos de Clave del Trabajador, Matrcula del Trabajador, Nombre(s),
Apellido Paterno y Apellido Materno; los ListBox fueron ocupados para ingresar los
siguientes datos:

Tipo de Trabajador: Base, Interino o Con Licencia

Turno: Matutino, Vespertino o Ambos

Hora de Entrada: Segn el Turno aparecen las horas de cada turno( Matutino: de
7:00. a 14:00 horas; Vespertino: de 14:00 a 22:00 horas; Ambos, aparece desde las
7 hasta las 22 horas)

Hora de Salida: Al igual que el campo Hora de Entrada muestra las mismas horas
para los diferentes turnos.

Pgina 47

Escuela Superior de Ingeniera Mecnica y Elctrica

Los Label, junto con el Timer, se ocuparon para general la fecha y hora actual.

Ilustracin 4- 6 Formulario Ingresar Datos de Trabajador

Despus de ingresar todos los datos en el formulario mencionado anteriormente y dar


click en el Button, se genera el query para guardar los datos en la base de datos:
string sql = "insert into Registros1
(Clave,Nombres,AP,AM,TB,HoraEntrada,HoraSalida,Turno) values ('" + this.Cl.Text +
"','" + this.Nm.Text + "','" + this.AP1.Text + "','" + this.AM.Text + "','" +
this.comboBox1.Text + "','" + this.comboBox3.Text + "','" + this.comboBox4.Text +
"','" + this.comboBox2.Text + "')";
string sql1 = "insert into UsuarioPersonal (Usuarios, Contrasea) values
('" + this.Cl.Text + "','" + this.Mat.Text + "')";
if (registro.insertar(sql) && registro.insertar(sql1))
{
MessageBox.Show("Registro Hecho");
MessageBox.Show("Anota el Usuario y Contrasea\nUsuario:" + Cl.Text
+ "\nContrasea:" + Mat.Text + "");
Close();
}
else
MessageBox.Show("Error al Registrar");

Escuela Superior de Ingeniera Mecnica y Elctrica

Simplificando lo mencionado anteriormente el diagrama de flujo de la Ilustracin 4-7


muestra el funcionamiento del formulario secundario Ingresar Huella y el diagrama de
flujo de la Ilustracin 4-8 muestra el funcionamiento de Ingresar Datos.
INICIO

Captura las 4 huellas


dactilares

Genera Template

Abre Formulario Ingresar


Datos

Ilustracin 4- 7 Diagrama de Flujo de Ingresar Huella

INICIO

Ingresar todos los datos


requeridos

No
Ingresaste todos los
datos?

Si
Si

No
Se hizo el
Registro en la
BD?

Se guarda el registro en la
base de datos

No se guarda el registro
en la base de datos

FIN

Ilustracin 4- 8 Diagrama de Flujo de Ingresar Datos

Pgina 49

Escuela Superior de Ingeniera Mecnica y Elctrica

Formulario Edicin de Datos

En el formulario Edicin de Datos (Ilustracin 4-9) se ocuparon 3 GroupBox, 1


Datagridview, 6 Label, 6 TextBox y 2 Button.

Ilustracin 4- 9 Formulario Editar Datos

Los GroupBox fueron ocupados para agrupar las diferentes opciones que tiene el
formulario para la edicin de datos; el Datagridview se ocup para visualizar los registros
hechos en la tabla Registros1 de la base de datos; Los Textbox fueron ocupados para
ingresar los datos para editar o para eliminar el registro deseado; los Label fueron
ocupados para sealar a los TextBox; Los Button, uno para editar y otro para eliminar, se
les aadieron el siguiente cdigo:
Para editar:
string campos = "Turno='" + this.Turno.Text + "', TB='" + this.TT.Text +
"', HoraEntrada='" + this.HE.Text + "', HoraSalida='" + this.HS.Text + "'";
string campos1 = "Usuario='" + Clave.Text + "'";
if (regis.actualizar("Registros1", campos, "Clave ='" + Clave.Text +
"'") && regis.actualizar("UsuarioPersonal", campos1, "Usuarios='" + Clave.Text +
"'"))
MessageBox.Show("Se actualizo exitosamente la Informacin y el
Usuario");
else
MessageBox.Show("Error al actualizar, intenta de nuevo");
dataGridView1.Refresh();

Escuela Superior de Ingeniera Mecnica y Elctrica

Para eliminar:
if(regis.eliminar("Registros1"," Clave='" + Clave1.Text + "'") &&
regis.eliminar("UsuarioPersonal", " Usuarios='" + Clave1.Text + "'") )
MessageBox.Show("Registro y Usuario Eliminado");
else
MessageBox.Show("Error al eliminar");
dataGridView1.Refresh();

Para simplificar el cdigo que se mostr anteriormente, se muestra el diagrama de flujo


(Ilustracin 4-10) del funcionamiento de ste formulario.

INICIO
GroupBox
GroupBox
Consulta
Consulta General
General
de
de Registros
Registros

GroupBox
GroupBox Editar
Editar
Informacin
Informacin de
de
Trabajador
Trabajador

Visualizar Registros de
la Tabla Registros1

GroupBox
GroupBox
Eliminar
Eliminar Registro
Registro
de
de Trabajador
Trabajador

Ingresar Clave del


Trabajador

Ingresar Clave del


Trabajador

Ingresar datos a
editar

La clave esta
registrada en la BD?

No

Si
Se edita el
registro

Si

No
La clave esta
registrada en la BD?

Se elimina el
registro

Ilustracin 4- 10 Diagrama de Flujo de Edicin de Datos

Formulario Checador

El formulario Checador (Ilustracin 4-11) se activa despus de ingresar la huella de datos


para verificar si te encuentras registrado en el Sistema en el formulario Verificar Huella
(Ilustracin 4-12).

Pgina 51

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 4- 11 Formulario Checador

Ilustracin 4- 12 Formulario Verificar Huella

En Checador, se ocuparon 2 Label, 2 Datagridview, 2 Button y 1 TextBox, los Label se


ocuparon para intitular los Datagridview para diferenciar entre la tabla de
ChecarEntrada de ChecarSalida; los Datagridview se usaron para mostrar los datos
que se encuentran en las tablas mencionadas anteriormente; los Button se ocuparon para
guardar los registros de entrada y salida a sus correspondientes tablas.
El query ocupado para ambas tablas es el siguiente:
string sql = "insert into ChecarEntrada (Clave, Fecha, HoraEntrada) values ('"+
Cl.Text + "','" + label11.Text + "','" + label8.Text + "')";
if (regis.insertar(sql))
MessageBox.Show("Registro Hecho");

Escuela Superior de Ingeniera Mecnica y Elctrica

else
MessageBox.Show("Error al Registrar");

El nico cambio en el query para checar la salida es el nombre de la tabla.


El formulario Verificar Huella, al igual que el formulario Ingresar Huella, tienen los
mismos controles con las mismas funciones, con la excepcin de que Verificar Huella
verifica en la base de datos de las huellas si coincide con la huella ingresada.
Lo mencionado anteriormente se resume con el diagrama de flujo de la Ilustracin 4-13.

INICIO

Seleccionas el RadioButton
llamado Personal del
Formulario Principal

Ingresas Usuario y
Contrasea de Personal en
el Formulario Principal

Si

Abre archivo de la
huella del usuario en
uso

No
Existe en la BD?

No
Existe en la BD?

Se genera un
reporte de falsa
indentidad

Si

Abre Formulario
Ingresar Datos

Fin

Checa Entrada y Salida

Fin

Ilustracin 4- 13 Diagrama de Flujo de Checar

Pgina 53

Escuela Superior de Ingeniera Mecnica y Elctrica

4.3. Diseo de la Base de Datos


Para el diseo de la base de datos, se opt trabajar con SQL Server 2012 (Ilustracin 4-14)
debido a que es un software generador de bases de datos que se acopla adecuadamente
con interfaces y aplicaciones generadas en Visual Studio, adems de que es fcil de
adaptar a distintas plataformas y es de uso comercial.

Ilustracin 4- 14 SQL Server 2012

La ventaja ms significativa de SQL Server, es la utilidad LINQ (Language Integrated Query)


la cual agrega consultas nativas semejantes a las de SQL a los lenguajes de la plataforma
.NET, creando cdigo que facilita el uso de herramientas como el DataGridView, ListBox,
etc.
Para determinar cules seran las tablas de datos necesarias para almacenar la
informacin de la plantilla del personal, se realiz un pequeo estudio para conocer los
datos necesarios para mantener un adecuado control de asistencia, as como los datos
bsicos del personal.
Despus del estudio generado en el checador del edificio 1 de ESIME Zacatenco, se decidi
generar tres tablas que contienen los datos esenciales para mantener estable y funcional
el sistema, las tablas son:

Tabla de Registros1: En esta tabla se almacenar la informacin bsica del


personal.

Tabla ChecarEntrada: En esta tabla se almacenar la fecha y la hora de entrada del


personal.

Tabla para ChecarSalida: En esta tabla se almacenar la fecha y la hora de salida


del personal.

Escuela Superior de Ingeniera Mecnica y Elctrica

Tabla Seguridad: En sta, se crean los usuarios y contraseas de los


administradores.

Tabla UsuarioPersonal: En sta se generan los usuarios y contraseas del personal


para poder checar su salida y entrada con la huella dactilar.

En la Ilustracin 4-15 se muestra el diagrama entidad relacin de las tablas que conforman
la base de datos del Sistema de Control de Asistencia Biomtrico Dactilar.

Ilustracin 4- 15 Diagrama de Tablas de la base de datos generada

Pgina 55

Escuela Superior de Ingeniera Mecnica y Elctrica

Captulo 5. Pruebas
Para llevar a cabo la valoracin adecuada sobre el funcionamiento del Sistema de Control
de Asistencia Biomtrico Dactilar, se llevaron a cabo pruebas con alumnos del grupo
9CM11 del ao 2012, creando 11 templates de huellas dactilares.
Para llevar a cabo las pruebas necesarias, se crearon los templates de las huellas dactilares
de 11 alumnos del saln 9CM11 del ao 2012, guardndose en una carpeta con seguridad
de administrador para tener una seguridad contra la suplantacin de identidad en la base
de datos.
Para determinar los posibles escenarios de prueba, se consideraron los siguientes casos:
Cuando el administrador ingresa su usuario y contrasea.
Cuando se hace un nuevo registro.
Cuando se modifica y elimina un registro.
Cuando un trabajador ingresa su usuario y contrasea.
Cuando se intenta suplantar la identidad.
Cuando se verifica la huella.
Cuando se checa.

Escuela Superior de Ingeniera Mecnica y Elctrica

5.1. Pruebas del Algoritmo


Para mostrar el funcionamiento del algoritmo de Control de Asistencia Biomtrico
Dactilar, se dividi el conjunto de pruebas realizadas en los siete casos que se describieron
al inicio de este captulo.
Caso 1: Cuando el administrador ingresa su usuario y contrasea.
1.

Para poder acceder a las opciones de ingresar nuevo, modificar datos y guardar
configuracin de registro, es necesario seleccionar la opcin Administrador para
despus, ingresar el usuario y contrasea del administrador (Ilustracin 5-1).

Ilustracin 5- 1 Ingresando Usuario y Contrasea de Administrador

Caso 2: Cuando se hace un nuevo registro


1.

Despus de acceder a las opciones de Administrador, damos clic en el botn


Ingresar Nuevo, aparecer el formulario para ingresar la huella dactilar 4 veces
(Ilustracin 5-2 e Ilustracin 5-3).

Pgina 57

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 5- 2 Ingreso de la primera muestra de la huella

Ilustracin 5- 3 Creacin del template de la huella

2.

Despus de ingresar la huella, se abre el formulario para el registro de los datos del
trabajador y genera un aviso de que se ha hecho el registro exitoso (Ilustracin 5-4 e
Ilustracin 5-5).

Ilustracin 5- 4 Llenado del formulario para el registro

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 5- 5 Registro exitoso de trabajador

3.

Despus de dar aceptar al mensaje de Registro Hecho se genera otro mensaje


donde nos indica que se ha creado el usuario y contrasea del trabajador (Ilustracin
5-6), el cual le servir para checar su entrada y salida.

Ilustracin 5- 6 Mensaje de Usuario y Contrasea del trabajador

Caso 3: Cuando se modifica y elimina un registro.

1.

Ya que podemos ingresar a las opciones de Administrador, damos clic en el botn


Modificar, aparecer el formulario para la edicin y eliminacin de registros
(Ilustracin 5-7), donde primero, se editara el registro que se cre en los casos
anteriores.

Pgina 59

Escuela Superior de Ingeniera Mecnica y Elctrica

Ilustracin 5- 7 Edicin de Registro de Trabajador

2.

Ahora procederemos a eliminar el registro (Ilustracin 5-8).

Ilustracin 5- 8 Eliminacin de Registro y Usuario

Escuela Superior de Ingeniera Mecnica y Elctrica

Caso 4: Cuando un trabajador ingresa su usuario y contrasea.


1.

Primero seleccionamos la opcin para poder ingresar a las caractersticas para el


personal, despus ingresamos el usuario y contrasea que se cre al momento de
ingresar los datos del trabajador (Ilustracin 5-9).

Ilustracin 5- 9 Ingresar a las caractersticas de Personal

Caso 5: Cuando se intenta suplantar la identidad.


1.

Se ingresa el usuario y contrasea como se hizo en la Ilustracin 5-9 para poder


verificar la huella dactilar y as poder checar (Ilustracin 5-10).

Ilustracin 5- 10 Ingreso a la base de datos de las huellas dactilares

Pgina 61

Escuela Superior de Ingeniera Mecnica y Elctrica

2.

Despus aparecer el formulario para verificar la huella y se abrir el formulario para


checar si es que la huella coincide con la que est en la base de datos, si no es la
huella, se crea un aviso de intento de suplantacin de identidad (Ilustracin 5-11).

Ilustracin 5- 11 Intento de suplantacin de identidad

Caso 7: Cuando se verifica la huella.


1.

Al igual que en el caso 6, se ingresa el usuario y contrasea (vase Ilustracin 5-10)


para despus dar clic en checar y verificar la huella (Ilustracin 5-12).

Ilustracin 5- 12 Verificacin de huella aceptada

Escuela Superior de Ingeniera Mecnica y Elctrica

Caso 8: Cuando se checa.


1.

Despus de verificar la huella (vase Ilustracin 5-12), se abre el formulario para


checar para despus, dar clic en Checar Entrada o Salid, segn sea el caso (Ilustracin
5-13).

Ilustracin 5- 13 Registro hecho de Entrada o Salida

Pgina 63

Escuela Superior de Ingeniera Mecnica y Elctrica

. Caractersticas del Sensor


El sensor utilizado en la aplicacin de Sistema de Control de Asistencia Biomtrico
Dactilar, es el modelo U.are.U 4000b (Ilustracin II.1) de la marca Digital Persona.

Ilustracin I- 1 Sensor Digital Persona U.are.U 4000b

La decisin fue tomada debido a sus caractersticas generales como:

Tamao compacto (79 mm X 49 mm X 19 mm)


Excelente calidad
Encriptacin de huella dactilar para su uso en base de datos
Reconoce las huellas de dedos con humedad, secas o con superficie spera
Compatibilidad con Windows 98/2000/ME/XP/7 y Windows Server 2000/2003

Y sus especificaciones tcnicas:

Resolucin de pixel: 512 PPP


rea de Captura: 14.6 mm (ancho) y 18.1 mm (largo)
Trabaja con imgenes en escala de grises (8 bits)
Compatible con USB 1.0, 1.1 y 2.0
Voltaje: 5V
Corriente (Modo Activo): 190 mA.
Corriente (Modo Ocioso): 140 mA.
Corriente (Modo de Suspensin): 1.5 mA.

Escuela Superior de Ingeniera Mecnica y Elctrica

. Analisis de Costos
Para la adecuada realizacin del Sistema de Control de Asistencia Biomtrico Dactilar, se
requiere una inversin de capital mnima, si comparamos el costo total del proyecto, con
el precio de un Sistema Biomtrico Dactilar comercial, puesto que el precio de este tipo de
sistemas oscila entre los $15 000 a $ 30 000 por cada hardware y software instalado.
Para desarrollar el sistema, no fue necesario invertir en paquetera de software, ya que se
puede obtener la paquetera de Visual Studio y Sql Server 2012 gratuitamente desde la
pgina de Microsoft.
El equipo bsico para desarrollar el sistema son dos, una computadora que trabajar
como cliente y el sensor ptico para el reconocimiento de huellas dactilares.
Equipo

Costo

Computadora de escritorio marca Acer

$3 400

modelo Aspire Revo R1600


Sensor ptico Digital Persona U.areU.

$700

4000b
Tabla II- 1 Costo de equipo para el Sistema

Teniendo en cuenta todos los gastos necesarios para instalar y que el Sistema de Control
de Asistencia Biomtrico Dactilar trabaje adecuadamente, se tienen los siguientes
resultados:
Elementos Requeridos

Costo

Computadora de escritorio marca Acer

$3 400

modelo Aspire Revo R1600


Sensor ptico Digital Persona U.areU.

$700

4000b
Total

$4100
Pgina 65

Escuela Superior de Ingeniera Mecnica y Elctrica

Tabla II- 2 Costo total de implementacin del Sistema

Los costos anteriores son para implementar este sistema en un solo lugar, si se requiere
implementar en ms lugares slo se debe de duplicar el costo total de la tabla II.2.
Para determinar el pago de honorarios a los desarrolladores de software, se tom como
base el salario mensual establecido para Programadores de Software en el portal de
Empleo del gobierno de la Repblica Mexicana (8):
Puesto

Salario Mensual (m/n)

Desarrollador de Software

$ 7 500

Tabla II- 3 Salario Mensual promedio en Mxico

El tiempo del desarrollo del Sistema de Control de Asistencia Biomtrico Dactilar, es de


dos meses, garantizando su integridad y buen funcionamiento, por lo que el costo total
para el desarrollo del software se muestra en la tabla II.4.
Puesto

Costo por el desarrollo del Sistema

Desarrollador de Software y base de datos

$ 7 500

Desarrollador de Software y base de datos

$ 7 500

Total

$ 15 000
Tabla II- 4 Costo total de desarrollo del software

Haciendo la suma de los elementos necesarios, para la programacin y funcionamiento


del sistema, as como el pago a los diseadores es el que se muestra en la tabla II.5.
Puesto

Costo por el desarrollo del Sistema

Pago a programadores

$ 15 000

Material Requerido

$ 4 100

Total

$ 19 100

Tabla II- 5 Costo total del Sistema de Control de Asistencia Biomtrico Dactilar

Escuela Superior de Ingeniera Mecnica y Elctrica

. Codigo de la Aplicacion
La programacin se hizo en Visual Studio 2012 con el SDK de Digital Persona, ocupando 5
de sus libreras.
Para hacer la programacin ms ptima se crearon 3 clases para ayudar al sistema a
comunicarse con SQL Server 2012
//////////////////////////////////////////Clase BD////////////////////////////////////////////
using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Data.SqlClient;

namespace Sistema_de_Control_de_Asistencia
{
class BD
{
public string cadenaconexion;
protected string sql;
protected int resultado;
protected SqlConnection cnn;
protected SqlCommand comandosql;
protected string mensaje;
public BD()
{
cadenaconexion = (@"Data Source=VICHO-PC\CASB;Initial Catalog=Control de
Acceso por Sistema Biomtrico Dactilar; integrated security=true");
cnn = new SqlConnection(this.cadenaconexion);
}
public string Mensaje
{
get
{
return this.mensaje;
}
}
}
}

///////////////////////////////////////Clase Registro/////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;

Pgina 67

Escuela Superior de Ingeniera Mecnica y Elctrica

using
using
using
using

System.Text;
System.Threading.Tasks;
System.Data;
System.Data.SqlClient;

namespace Sistema_de_Control_de_Asistencia
{
class Registro
{
private string cadena = @"Data Source=VICHO-PC\CASB;Initial Catalog=Control
de Acceso por Sistema Biomtrico Dactilar; integrated security=true";
public SqlConnection cnn;
private SqlCommandBuilder cmb;
public DataSet ds = new DataSet();
public SqlDataAdapter da;
public SqlCommand comando;
private void conectar()
{
cnn = new SqlConnection(cadena);
}
public Registro()
{
conectar();
}
//CONSULTAR
public void consultar(string sql, string tabla)
{
ds.Tables.Clear();
da = new SqlDataAdapter(sql, cnn);
cmb = new SqlCommandBuilder(da);
da.Fill(ds, tabla);
}
//ELIMINAR
public bool eliminar(string tabla, string condicion)
{
cnn.Open();
string sql = "delete from" + tabla + "where" + condicion;
comando = new SqlCommand(sql, cnn);
int i = comando.ExecuteNonQuery();
cnn.Close();
if (i > 0)
return true;
else
return false;
}
//ACTUALIZAR
public bool actualizar(string tabla, string campos, string condicion)
{
cnn.Open();
string sql = " UPDATE " + tabla + " SET " + " WHERE " + condicion;
comando = new SqlCommand(sql, cnn);
int i = comando.ExecuteNonQuery();
cnn.Close();
if (i > 0)

Escuela Superior de Ingeniera Mecnica y Elctrica

return true;
else
return false;
}
//CONSULTAR2
public DataTable consultar2(string tabla)
{
string sql = "select * from" + tabla;
da = new SqlDataAdapter(sql, cnn);
DataSet dts = new DataSet();
da.Fill(dts, tabla);
DataTable dt = new DataTable();
dt = dts.Tables[tabla];
return dt;
}
//INSERTAR
public bool insertar(string sql)
{
cnn.Open();
comando = new SqlCommand(sql, cnn);
int i = comando.ExecuteNonQuery();
cnn.Close();
if (i > 0)
return true;
else
return false;
}
}
}

///////////////////////////////////////Clase Usuario//////////////////////////////////////////
using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Data.SqlClient;

namespace Sistema_de_Control_de_Asistencia
{
class Usuario : BD
{
private string usuario;
private string contrasea;
public Usuario()
{
usuario = string.Empty;
contrasea = string.Empty;
this.sql = string.Empty;
}
public string USUARIO
{
get { return usuario; }
set { usuario = value; }
}

Pgina 69

Escuela Superior de Ingeniera Mecnica y Elctrica

public string CONTRASEA


{
get { return contrasea; }
set { contrasea = value; }
}
public bool Buscar()
{
bool Resultado = false;
cnn.Open();
this.sql = string.Format(@"SELECT Usuario FROM Seguridad WHERE
Usuario='{0}' AND Contrasea='{1}'", this.USUARIO, this.CONTRASEA);
this.comandosql = new SqlCommand(sql, cnn);
SqlDataReader Reg = null;
Reg = this.comandosql.ExecuteReader();
if (Reg.Read())
{
Resultado = true;
this.mensaje = "Bienvenido " + USUARIO;
}
else
{
this.mensaje = "El usuario o contrasea no son vlidos";
}
this.cnn.Close();
return Resultado;
}

}
}

////////////////////////////////////////Formulario Principal//////////////////////////////////
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;
System.IO;

namespace Enrollment
{
delegate void Function();
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();

Escuela Superior de Ingeniera Mecnica y Elctrica

if (Administrador.Checked)
VerifyButton.Enabled = false;
else
VerifyButton.Enabled = true;
}
private void EnrollButton_Click(object sender, EventArgs e)
{
EnrollmentForm Enroller = new EnrollmentForm();
Enroller.OnTemplate += this.OnTemplate;
Enroller.ShowDialog();
Ingresar_Datos ingresa = new Ingresar_Datos();
ingresa.ShowDialog();
}
private void VerifyButton_Click(object sender, EventArgs e)
{
VerificationForm Verifier = new VerificationForm();
Verifier.Verify(Template, textBox1.Text);

}
private void OnTemplate(DPFP.Template template)
{
this.Invoke(new Function(delegate()
{
Template = template;

VerifyButton.Enabled = (Template != null);


if (Template != null)
{
MessageBox.Show("La huella esta lista .", "Base de Datos de
Huellas");
}
else
MessageBox.Show("La huella no esta lista .Repite el paso
anterior", "Base de Datos de Huellas");
}));
}
private DPFP.Template Template;
private void MainForm_Load(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.ToString("dd-MM-yyyy");
label4.Text = DateTime.Now.ToString("hh:mm:ss");
}
private void button1_Click(object sender, EventArgs e)
{

Pgina 71

Escuela Superior de Ingeniera Mecnica y Elctrica

Usuario ob = new Usuario();


ob.USUARIO = textBox1.Text;
ob.CONTRASEA = textBox2.Text;
if (Administrador.Checked)
{
if (textBox1.Text == "" || textBox2.Text == "")
{
MessageBox.Show("Un campo o ambos estan vacos, ingresa ambos
datos", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
textBox1.Text = "";
textBox2.Text = "";
}
else if (ob.Buscar() == true)
{
MessageBox.Show(ob.Mensaje, "Sesin Iniciada, Bienvenido");
EnrollButton.Enabled = true;
Modificar.Enabled = true;
GuardarHuella.Enabled = true;
textBox1.Text = "";
textBox2.Text = "";

}
else
{
MessageBox.Show(ob.Mensaje, "ERROR", MessageBoxButtons.OK,
MessageBoxIcon.Error);
textBox1.Text = "";
textBox2.Text = "";
}
}
if (Personal.Checked)
{
EnrollButton.Enabled = false;
Modificar.Enabled = false;
GuardarHuella.Enabled = false;
if (textBox1.Text == "" || textBox2.Text == "")
{
MessageBox.Show("Un campo o ambos estan vacos, ingresa ambos
datos", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else if (ob.BuscarPersonal() == true)
{
MessageBox.Show(ob.Mensaje, "Sesin Iniciada, Bienvenido");
EnrollButton.Enabled = false;
Modificar.Enabled = false;
textBox2.Text = "";

OpenFileDialog open = new OpenFileDialog();


open.FileName = textBox1.Text+".fpt";
FileStream fs = File.OpenRead(open.FileName);
DPFP.Template template = new DPFP.Template(fs);
OnTemplate(template);

Escuela Superior de Ingeniera Mecnica y Elctrica

}
else
{
textBox2.Text = "";
MessageBox.Show(ob.Mensaje, "ERROR", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}
private void VerifyButton2_Click(object sender, EventArgs e)
{
}
private void Modificar_Click(object sender, EventArgs e)
{
EditarDatos edit = new EditarDatos();
edit.Show();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog save = new SaveFileDialog();
save.InitialDirectory = @"C:\Users\Vicho\Desktop\Enrollment\bin\Debug";
save.Filter = "Fingerprint Template File (*.fpt)|*.fpt";
if (save.ShowDialog() == DialogResult.OK)
{
using (FileStream fs = File.Open(save.FileName, FileMode.Create,
FileAccess.Write))
{
Template.Serialize(fs);
}
}
}
public Stream fs { get; set; }
private void Administrador_CheckedChanged(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
}
}

Pgina 73

Escuela Superior de Ingeniera Mecnica y Elctrica

///////////////////////////////CAPTURAR HUELLA DACTILAR/////////////////////////////


using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Text;
System.Windows.Forms;

namespace Enrollment
{
public partial class clave : Form, DPFP.Capture.EventHandler
{
public clave()
{
InitializeComponent();
}
Registro registro = new Registro();
protected virtual void Init()
{
try
{
Capturer = new DPFP.Capture.Capture();
if ( null != Capturer )
Capturer.EventHandler = this;
else
SetPrompt("No se puede iniciar la captura!");
}
catch
{
MessageBox.Show("No se puede iniciar la captura!", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
protected virtual void Process(DPFP.Sample Sample)
{
DrawPicture(ConvertSampleToBitmap(Sample));
}
protected void Start()
{
if (null != Capturer)
{
try
{
Capturer.StartCapture();
SetPrompt("Pon tu dedo en el dispositivo para ingresar tu
huella.");
}
catch
{

Escuela Superior de Ingeniera Mecnica y Elctrica

SetPrompt("No se puede iniciar la captura!");


}
}
}
protected void Stop()
{
if (null != Capturer)
{
try
{
Capturer.StopCapture();
}
catch
{
SetPrompt("No se pudo terminar la captura!");
}
}
}
private void CaptureForm_Load(object sender, EventArgs e)
{
BD ob = new BD();
Init();
Start();
}
private void CaptureForm_FormClosed(object sender, FormClosedEventArgs
e)
{
Stop();
}

public void OnComplete(object Capture, string ReaderSerialNumber,


DPFP.Sample Sample)
{
MessageBox.Show("Retira el dedo.");
SetPrompt("Pon tu dedo otra vez.");
Process(Sample);
}
public void OnFingerGone(object Capture, string ReaderSerialNumber)
{
//MakeReport("Se ha quitado el dedo del scanner");
}
public void OnFingerTouch(object Capture, string ReaderSerialNumber)
{
//MakeReport("El dispositivo esta listo para leer");
}
public void OnReaderConnect(object Capture, string ReaderSerialNumber)
{
//MakeReport("El dispositivo esta conectado");

Pgina 75

Escuela Superior de Ingeniera Mecnica y Elctrica

}
public void OnReaderDisconnect(object Capture, string
ReaderSerialNumber)
{
//MakeReport("El dispositivo esta desconectado");
}
public void OnSampleQuality(object Capture, string ReaderSerialNumber,
DPFP.Capture.CaptureFeedback CaptureFeedback)
{
if (CaptureFeedback == DPFP.Capture.CaptureFeedback.Good)
MakeReport("La calidad de la muestra es buena.");
else
MakeReport("La calidad de la muestra es pobre.");
}
protected Bitmap ConvertSampleToBitmap(DPFP.Sample Sample)
{
DPFP.Capture.SampleConversion Convertor = new
DPFP.Capture.SampleConversion();
Bitmap bitmap = null;
Convertor.ConvertToPicture(Sample, ref bitmap);
return bitmap;
}
protected DPFP.FeatureSet ExtractFeatures(DPFP.Sample Sample,
DPFP.Processing.DataPurpose Purpose)
{
DPFP.Processing.FeatureExtraction Extractor = new
DPFP.Processing.FeatureExtraction();
DPFP.Capture.CaptureFeedback feedback =
DPFP.Capture.CaptureFeedback.None;
DPFP.FeatureSet features = new DPFP.FeatureSet();
Extractor.CreateFeatureSet(Sample, Purpose, ref feedback, ref
features);
if (feedback == DPFP.Capture.CaptureFeedback.Good)
return features;
else
return null;
}
protected void SetStatus(string status)
{
this.Invoke(new Function(delegate() {
StatusLine.Text = status;
}));
}
protected void SetPrompt(string prompt)
{
this.Invoke(new Function(delegate() {
Prompt.Text = prompt;
}));
}

Escuela Superior de Ingeniera Mecnica y Elctrica

protected void MakeReport(string message)


{
this.Invoke(new Function(delegate() {
StatusText.AppendText(message + "\r\n");
}));
}
private void DrawPicture(Bitmap bitmap)
{
this.Invoke(new Function(delegate() {
Picture.Image = new Bitmap(bitmap, Picture.Size);
}));
}
private DPFP.Capture.Capture Capturer;
private void EditarDatos_Click(object sender, EventArgs e)
{
EditarDatos mostrar = new EditarDatos();
mostrar.Show();
}
}
}
/////////////////////////////////INGRESAR REGISTROS/////////////////////////////////
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;
System.IO;

namespace Enrollment
{
public partial class Ingresar_Datos : Form
{
public Ingresar_Datos()
{
InitializeComponent();
comboBox1.Items.Add("Base");
comboBox1.Items.Add("Temporal");
comboBox1.Items.Add("Con Licencia");
comboBox2.Items.Add("Matutino");
comboBox2.Items.Add("Vespertino");
comboBox2.Items.Add("Ambos");
}
Registro registro = new Registro();

Pgina 77

Escuela Superior de Ingeniera Mecnica y Elctrica

private void timer1_Tick(object sender, EventArgs e)


{
label7.Text = DateTime.Now.ToString("dd-MM-yyyy");
label8.Text = DateTime.Now.ToString("hh:mm:ss");
}

private void button1_Click(object sender, EventArgs e)


{
string sql = "insert into Registros1
(Clave,Nombres,AP,AM,TB,HoraEntrada,HoraSalida,Turno) values ('" + this.Cl.Text +
"','" + this.Nm.Text + "','" + this.AP1.Text + "','" + this.AM.Text + "','" +
this.comboBox1.Text + "','" + this.comboBox3.Text + "','" + this.comboBox4.Text +
"','" + this.comboBox2.Text + "')";
string sql1 = "insert into UsuarioPersonal (Usuarios, Contrasea) values
('" + this.Cl.Text + "','" + this.Mat.Text + "')";
if (registro.insertar(sql) && registro.insertar(sql1))
{
MessageBox.Show("Registro Hecho");
MessageBox.Show("Anota el Usuario y Contrasea\nUsuario:" + Cl.Text
+ "\nContrasea:" + Mat.Text + "");
Close();
}
else
MessageBox.Show("Error al Registrar");
}
private void Ingresar_Datos_Load(object sender, EventArgs e)
{
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox2.SelectedIndex == 0)
{
comboBox3.Items.Clear();
comboBox4.Items.Clear();
comboBox3.Items.Add("7:00");
comboBox3.Items.Add("8:00");
comboBox3.Items.Add("9:00");
comboBox3.Items.Add("10:00");
comboBox3.Items.Add("11:00");
comboBox3.Items.Add("12:00");
comboBox3.Items.Add("13:00");
comboBox3.Items.Add("14:00");
comboBox4.Items.Add("7:00");
comboBox4.Items.Add("8:00");
comboBox4.Items.Add("9:00");
comboBox4.Items.Add("10:00");
comboBox4.Items.Add("11:00");
comboBox4.Items.Add("12:00");
comboBox4.Items.Add("13:00");
comboBox4.Items.Add("14:00");

Escuela Superior de Ingeniera Mecnica y Elctrica

}
if (comboBox2.SelectedIndex == 1)
{
comboBox3.Items.Clear();
comboBox4.Items.Clear();
comboBox3.Items.Add("14:00");
comboBox3.Items.Add("15:00");
comboBox3.Items.Add("16:00");
comboBox3.Items.Add("17:00");
comboBox3.Items.Add("18:00");
comboBox3.Items.Add("19:00");
comboBox3.Items.Add("20:00");
comboBox3.Items.Add("21:00");
comboBox3.Items.Add("22.00");
comboBox4.Items.Add("14:00");
comboBox4.Items.Add("15:00");
comboBox4.Items.Add("16:00");
comboBox4.Items.Add("17:00");
comboBox4.Items.Add("18:00");
comboBox4.Items.Add("19:00");
comboBox4.Items.Add("20:00");
comboBox4.Items.Add("21:00");
comboBox4.Items.Add("22.00");
}
if (comboBox2.SelectedIndex == 2)
{
comboBox3.Items.Clear();
comboBox4.Items.Clear();
comboBox3.Items.Add("7:00");
comboBox3.Items.Add("8:00");
comboBox3.Items.Add("9:00");
comboBox3.Items.Add("10:00");
comboBox3.Items.Add("11:00");
comboBox3.Items.Add("12:00");
comboBox3.Items.Add("13:00");
comboBox3.Items.Add("14:00");
comboBox3.Items.Add("15:00");
comboBox3.Items.Add("16:00");
comboBox3.Items.Add("17:00");
comboBox3.Items.Add("18:00");
comboBox3.Items.Add("19:00");
comboBox3.Items.Add("20:00");
comboBox3.Items.Add("21:00");
comboBox3.Items.Add("22.00");

comboBox4.Items.Add("7:00");
comboBox4.Items.Add("8:00");
comboBox4.Items.Add("9:00");
comboBox4.Items.Add("10:00");
comboBox4.Items.Add("11:00");
comboBox4.Items.Add("12:00");
comboBox4.Items.Add("13:00");
comboBox4.Items.Add("14:00");
comboBox4.Items.Add("15:00");
comboBox4.Items.Add("16:00");

Pgina 79

Escuela Superior de Ingeniera Mecnica y Elctrica

comboBox4.Items.Add("17:00");
comboBox4.Items.Add("18:00");
comboBox4.Items.Add("19:00");
comboBox4.Items.Add("20:00");
comboBox4.Items.Add("21:00");
comboBox4.Items.Add("22.00");
}
}
}
}
//////////////////////////////GUARDAR HUELLA DACTILAR///////////////////////////////
SaveFileDialog save = new SaveFileDialog();
save.InitialDirectory = @"C:\Users\Vicho\Desktop\Enrollment\bin\Debug";
save.Filter = "Fingerprint Template File (*.fpt)|*.fpt";
if (save.ShowDialog() == DialogResult.OK)
{
using (FileStream fs = File.Open(save.FileName, FileMode.Create,
FileAccess.Write))
{
Template.Serialize(fs);
}
}
//////////////////////////////////EDITAR REGISTROS//////////////////////////////////
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;
System.Data.SqlClient;

namespace Enrollment
{
public partial class EditarDatos : Form
{
public EditarDatos()
{
InitializeComponent();
}
Registro regis = new Registro();
private void groupBox2_Enter(object sender, EventArgs e)
{
}
private void EditarDatos_Load(object sender, EventArgs e)
{
regis.consultar("select
Clave,Nombres,AP,AM,TB,Turno,HoraEntrada,HoraSalida from Registros1", "Registros1");
this.dataGridView1.DataSource = regis.ds.Tables["Registros1"];
dataGridView1.Refresh();

Escuela Superior de Ingeniera Mecnica y Elctrica

}
private void Eliminar_Click(object sender, EventArgs e)
{
if(regis.eliminar("Registros1"," Clave='" + Clave1.Text + "'") &&
regis.eliminar("UsuarioPersonal", " Usuarios='" + Clave1.Text + "'") )
MessageBox.Show("Registro y Usuario Eliminado");
else
MessageBox.Show("Error al eliminar");
dataGridView1.Refresh();
}
private void Editar_Click(object sender, EventArgs e)
{
string campos = "Turno='" + this.Turno.Text + "', TB='" + this.TT.Text +
"', HoraEntrada='" + this.HE.Text + "', HoraSalida='" + this.HS.Text + "'";
string campos1 = "Usuario='" + Clave.Text + "'";
if (regis.actualizar("Registros1", campos, "Clave ='" + Clave.Text +
"'") && regis.actualizar("UsuarioPersonal", campos1, "Usuarios='" + Clave.Text +
"'"))
MessageBox.Show("Se actualizo exitosamente la Informacin y el
Usuario");
else
MessageBox.Show("Error al actualizar, intenta de nuevo");
dataGridView1.Refresh();
}
}
}
//////////////////////////////CHECAR HUELLA DACTILAR///////////////////////////////
using
using
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;
System.Data.SqlClient;
Microsoft.Office.Interop.Excel;
System.Reflection;

namespace Enrollment
{
public partial class Checar : Form
{
private string clave;
public Checar(string clave)
{
InitializeComponent();
this.clave = clave;
Cl.Text = clave;
}

Pgina 81

Escuela Superior de Ingeniera Mecnica y Elctrica

private void timer1_Tick(object sender, EventArgs e)


{
label11.Text = DateTime.Now.ToString("dd-MM-yyyy");
label8.Text = DateTime.Now.ToString("hh:mm:ss");
}
Registro regis = new Registro();
private void Editar_Click(object sender, EventArgs e)
{
string sql = "insert into ChecarEntrada (Clave, Fecha, HoraEntrada)
values ('"+ Cl.Text + "','" + label11.Text + "','" + label8.Text + "')";
if (regis.insertar(sql))
MessageBox.Show("Registro Hecho");
else
MessageBox.Show("Error al Registrar");
}
private void ChecarSalida_Click(object sender, EventArgs e)
{
string sql = "insert into ChecarSalida (Clave, Fecha, HoraEntrada)
values ('" + Cl.Text + "','" + label11.Text + "','" + label8.Text + "')";
if (regis.insertar(sql))
{
MessageBox.Show("Registro Hecho");
}
else
MessageBox.Show("Error al Registrar");
}
private void Checar_Load(object sender, EventArgs e)
{
regis.consultar("select Clave,Da,Fecha,HoraEntrada from ChecarEntrada",
"ChecarEntrada");
ChecEnt.DataSource = regis.ds.Tables["ChecarEntrada"];
ChecEnt.Refresh();

regis.consultar("select Clave,Da,Fecha,HoraSalida from ChecarSalida",


"ChecarSalida");
ChecSal.DataSource = regis.ds.Tables["ChecarSalida"];
ChecEnt.Refresh();

}
private void ExportarDataGridViewExcelEntrada(DataGridView ChecEnt)
{
SaveFileDialog fichero = new SaveFileDialog();
fichero.Filter = "Excel (*.xls)|*.xls";
if (fichero.ShowDialog() == DialogResult.OK)
{
Microsoft.Office.Interop.Excel.Application aplicacion;
Microsoft.Office.Interop.Excel.Workbook libros_trabajo;
Microsoft.Office.Interop.Excel.Worksheet hoja_trabajo;
aplicacion = new Microsoft.Office.Interop.Excel.Application();
libros_trabajo = aplicacion.Workbooks.Add();
hoja_trabajo = new Microsoft.Office.Interop.Excel.Worksheet();

Escuela Superior de Ingeniera Mecnica y Elctrica

libros_trabajo.Worksheets.get_Item(1);
for (int i = 0; i < ChecEnt.Rows.Count - 1; i++)
{
for (int j = 0; j < ChecEnt.Columns.Count; j++)
{
hoja_trabajo.Cells[i + 1, j + 1] =
ChecEnt.Rows[i].Cells[j].Value.ToString();
}
}
libros_trabajo.SaveAs(fichero.FileName,
Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
libros_trabajo.Close(true);
aplicacion.Quit();
}
}
private void ExportarDataGridViewExcelSalida(DataGridView ChecEnt)
{
SaveFileDialog fichero = new SaveFileDialog();
fichero.Filter = "Excel (*.xls)|*.xls";
if (fichero.ShowDialog() == DialogResult.OK)
{
Microsoft.Office.Interop.Excel.Application aplicacion;
Microsoft.Office.Interop.Excel.Workbook libros_trabajo;
Microsoft.Office.Interop.Excel.Worksheet hoja_trabajo;
aplicacion = new Microsoft.Office.Interop.Excel.Application();
libros_trabajo = aplicacion.Workbooks.Add();
hoja_trabajo = new Microsoft.Office.Interop.Excel.Worksheet();
libros_trabajo.Worksheets.get_Item(1);
//Recorremos el DataGridView rellenando la hoja de trabajo
for (int i = 0; i < ChecSal.Rows.Count - 1; i++)
{
for (int j = 0; j < ChecSal.Columns.Count; j++)
{
hoja_trabajo.Cells[i + 1, j + 1] =
ChecSal.Rows[i].Cells[j].Value.ToString();
}
}
libros_trabajo.SaveAs(fichero.FileName,
Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
libros_trabajo.Close(true);
aplicacion.Quit();
}
}
private void Cl_TextChanged(object sender, EventArgs e)
{
}
}
}

Pgina 83

Escuela Superior de Ingeniera Mecnica y Elctrica

V. Conclusiones
El desarrollo del Sistema de Control de Asistencia Biomtrico Dactilar utilizando tecnologa
.NET, ha sido una gran experiencia y un gran acervo cultural para nuestra formacin como
estudiantes de Ingeniera en la Escuela Superior de Ingeniera Mecnica y Elctrica, ya que
nos ha ayudado a utilizar los conocimientos que hemos adquirido da a da en clase,
adems que nos ha ayudado a trabajar en equipo y resolver problemas ms hbilmente.
El Sistema de Control de Asistencia Biomtrico Dactilar utilizando tecnologa .NET, es un
proyecto que se ha generado para resolver mediante su diseo, la falta de control de
asistencia de trabajadores docentes y personal en los edificios de la Escuela Superior de
Ingeniera Mecnica y Elctrica; las principales ventajas de este proyecto son:
1. No es necesario que una persona est al tanto del reloj checador, debido a que el
programa tiene su propio reloj y no puede ser vulnerado ya que trabaja con el reloj
interno de la computadora.
2. El desarrollo del sistema en Visual Studio 2012, permite que el programa diseado
sea propiedad de los diseadores de l, ya que Microsoft cede el uso de las
propiedades de sus herramientas de diseo como las de Visual Studio a quienes
tienen una licencia de sus programas o como en este caso obtienen los derechos
va internet as, evitando problemas de patentes.
3. Las aplicaciones realizadas con entorno de grficos Windows, tienen una gran
aceptacin a nivel industrial o personal, debido a su fcil uso y su gran flexibilidad
de ejecutarse en diferentes plataformas de sistemas operativos al momento de
crearse la aplicacin ejecutable.
4. SQL Server es una herramienta potente que brindan una gran seguridad para el
resguardo de informacin de las bases de datos ya que se pueden obtener
respaldos de la informacin.

Escuela Superior de Ingeniera Mecnica y Elctrica

5. Las caractersticas del Sistema, lo hacen competente para ser aplicado en lugares
diferentes, pudindose adaptar a las necesidades del lugar, siendo que su diseo
es flexible y pueden aumentarse sus caractersticas.
A travs del Sistema de Control de Asistencia Biomtrico Dactilar utilizando tecnologa
.NET, se ha tratado de implementar los conocimientos adquiridos en nuestra estancia en
ESIME Zacatenco, por medio de la tecnologa ms novedosa en cuanto a programacin,
por lo que la estructura y diseo de ste ha sido un gran reto, al tener que actualizarnos
diariamente y en el que al desarrollar el sistema nos hemos encontrado con problemas
que no han sido totalmente explorados debido a que an no tienen una solucin
determinada, por lo que debieron ser hallados por los programadores.
Sin duda, el resultado de la realizacin de este Sistema ha sido satisfactorio como se ha
demostrado a lo largo del trabajo, el Sistema de Control de Asistencia Biomtrico Dactilar
utilizando tecnologa .NET, representa para nosotros el mximo logro que hemos tenido
como estudiantes de la Ingeniera en Comunicaciones y Electrnica en la especialidad de
Computacin.

Pgina 85

Escuela Superior de Ingeniera Mecnica y Elctrica

V. Glosario
Activo: Son reactivos que se usan para revelar huellas latentes, son frmulas nicas, cada
una con un propsito especfico y para un tipo especfico de superficie.
Dermis: La dermis es la capa de la piel situada bajo la epidermis y firmemente conectada a
ella. La cara interna de la membrana basal de la epidermis se le une a la dermis.
Desempea una funcin protectora, representa la segunda lnea de defensa contra los
traumatismos (su grosor es entre 20 y 30 veces mayor que el de la epidermis).
Dll (Dynamic-link library): Es el trmino con el que se refiere a los archivos con cdigo
ejecutable que se cargan bajo demanda de un programa por parte del sistema operativo.
Esta denominacin es exclusiva para los sistemas operativos Windows.
Epidermis: La epidermis es la barrera ms importante del cuerpo al ambiente externo
hostil.
Hardware: Elementos fsicos de un sistema informtico.
PPP (Puntos por pulgada): Es una unidad de medida para resoluciones de impresin,
concretamente,

el

nmero

de

puntos

individuales

de

tinta

que

una impresora o tner puede producir en un espacio lineal de una pulgada.


Query: Es una bsqueda, insercin, actualizacin o eliminacin de datos almacenados en
una base de datos.
Software: Conjunto de programas e instrucciones asociadas a una computadora. Es la
parte intangible de un sistema informtico, puede ser modificada con facilidad.
Template (Plantilla): Plantilla creada de la huella dactilar que se ingresa, se extraen sus
caractersticas, se codifica y se guarda en un archivo .fpt (fingerprint template file).

Escuela Superior de Ingeniera Mecnica y Elctrica

V. Bibliografa

1. Rejo de Huella. http://www.relojdehuella.com.


2. Suprema. http://www.supremainc.com.
3. UNAM - Facultad de ingeniera biometria informatica. http://redyseguridad.fip.unam.mx/proyectos/biometria/basesteoricas/caracteristicassistema.html.
4. SEMEFO. http://www.semefo.gob.mx/swb/SEMEFO/Dactiloscopia.
5. Salvador, Trujillo Arriaga. El estudio Cientfico de la Dactiloscopia. Mxico : Limusa, 2011.
6. Rosendo, Ibnez Resndiz. La Huella Digital y el Derecho Mexicano. Mxico : SISTA, 1989.
7. Dactiloscopa. lofoscopia-y-dactiloscopia.wikispaces.com.
8. Portal del Empleo Mxico. http://www.empleo.gob.mx.
9. AMBI. http://www.ambi.org.mx/.
10. Mxico. Ley Federal sobre Metrologa y Normalizacin. Mxico : s.n., 1992.

Pgina 87

Vous aimerez peut-être aussi