i
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y
MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE
PROYECTORES DEL LABORATORIO DE CÓMPUTO DE LA
CARRERA DE INGENIERÍA CIVIL.
TRABAJO DE GRADUACIÓN PREVIO A LA OBTENCIÓN DEL TITULO
DE INGENIERO INFORMÁTICO
AUTOR: HENRY MAURICIO JARAMILLO ORDOÑEZ
TUTOR: ING. CARRILLO FLORES RENÉ ALFONSO
QUITO, 30 DE MARZO
2017
ii
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
iii
CERTIFICACIÓN DEL TUTOR
iv
INFORME SOBRE LA CULMINACIÓN DEL TRABAJO DE GRADUACIÓN
v
RESULTADO DEL TRABAJO DE GRADUACIÓN
vi
DEDICATORIA
Esta tesis se la dedico a mi familia quienes por ellos soy lo que soy.
Para mis padres por su apoyo, consejos, ayuda en los momentos difíciles, y por
ayudarme con los recursos necesarios para estudiar. Me han dado todo lo que soy
como persona, mis valores, mis principios, mi carácter, mi empeño, mi
perseverancia, mi coraje para conseguir mis objetivos.
Gracias a ti por estar ahí sin estarlo físicamente, por darme palabras de aliento sin
hablar, gracias por ser parte de mi vida en el momento exacto.
vii
AGRADECIMIENTO
Quiero agradecer a mis padres por apoyarme acompañado y guiado a lo largo de mi
carrera, por ser mi fortaleza en los momentos de debilidad y por brindarme una vida
llena de aprendizajes y experiencias.
Le agradezco la confianza, apoyo y dedicación de tiempo a mi profesor Ing. Rene
Carrillo, por haber compartido conmigo sus conocimientos y sobre todo su amistad.
Gracias Ing. Susana Guzmán MSc. por haberme brindado la oportunidad de desarrollar
este proyecto en las los Laboratorios de Computo de Ingeniería Civil, por todo el apoyo
y facilidades que se me fueron otorgadas.
viii
CONTENIDO
AUTORIZACIÓN DE LA AUTORIA INTELECTUAL ........................................... ii
CERTIFICACIÓN DEL TUTOR ............................................................................... iii
INFORME SOBRE LA CULMINACION DEL TRABAJO DE GRADUACIÓN ... iv
RESULTADO DEL TRABAJO DE GRADUACIÓN ................................................ v
DEDICATORIA ......................................................................................................... vi
AGRADECIMIENTO ............................................................................................... vii
CONTENIDO ........................................................................................................... viii
LISTA DE TABLAS .................................................................................................. xi
LISTA DE FIGURAS ............................................................................................... xiii
RESUMEN ................................................................................................................ xvi
ABSTRACT ............................................................................................................. xvii
INTRODUCCIÓN ....................................................................................................... 1
CAPÍTULO I ................................................................................................................ 1
1. PRESENTACIÓN DEL PROBLEMA ................................................................. 2
1.1 Antecedentes .................................................................................................... 2
1.2 Planteamiento del Problema ............................................................................. 3
1.3 Formulación del Problema ............................................................................... 4
1.4 Interrogantes de la Investigación ..................................................................... 4
1.5 Objetivos .......................................................................................................... 5
1.5.1 Objetivo General .......................................................................................... 5
1.5.2 Objetivos Específicos .................................................................................. 5
1.6 Justificación...................................................................................................... 6
1.7 Alcance y Limitaciones .................................................................................... 7
1.7.1 Alcance ........................................................................................................ 7
1.7.2 Limitaciones................................................................................................. 8
CAPÍTULO II .............................................................................................................. 9
2. MARCO TEORICO ............................................................................................. 9
2.1 Sistemas Biométricos ....................................................................................... 9
2.1.1 Reconocimiento Facial .............................................................................. 10
2.1.2 Reconocimiento de Retina/Iris................................................................... 11
2.1.3 Geometría de la Mano................................................................................ 11
2.1.4 Autentificación de la voz ........................................................................... 12
2.1.5 Reconocimiento de la firma ....................................................................... 13
2.1.6 Huellas Digitales ........................................................................................ 14
ix
2.2 Análisis de Requerimientos Informáticos ...................................................... 16
2.2.1 Patrón MVC. .............................................................................................. 16
2.2.2 Entorno de Desarrollo Integrado “IDE”. ................................................... 19
2.2.3 Framework. ................................................................................................ 19
2.2.4 Java Server Faces – JSF. ............................................................................ 20
2.2.5 Sistema de Gestor de Base de Datos. ......................................................... 20
2.2.6 Servidor de Aplicaciones. .......................................................................... 21
2.2.7 Arquitectura JEE7. ..................................................................................... 22
CAPITULO III ........................................................................................................... 24
3. MARCO METODOLOGICO............................................................................. 24
3.1 Metodología XP Programacion Extrema ....................................................... 24
3.2 Fase de Planificación ....................................................................................... 25
3.2.1 Historias de usuario ................................................................................... 26
3.3 Fase de Diseño ................................................................................................. 30
3.3.1 Diagramas de Secuencia ............................................................................ 30
3.3.2 Diagrama entidad-relación de base de datos. ............................................. 36
3.3 Fase de Codificación ........................................................................................ 38
3.3.1 Código Plantilla Estructura General del Sistema ....................................... 38
3.3.2 Interfaz de Usuario..................................................................................... 44
3.3.2 Biométrico principales Métodos ................................................................ 46
3.4 Fase de Pruebas ............................................................................................... 47
3.4.1 Pruebas Funcionales .................................................................................. 47
CAPITULO IV ........................................................................................................... 54
4. IMPLEMENTACION DEL SISTEMA ......................................................... 54
4.1 Datos Preliminares ........................................................................................... 54
4.1.1 Certificación del Sistema .......................................................................... 54
4.1.2. Selección De Las Herramientas De Desarrollo ........................................ 54
4.1.3 Requerimientos Hardware ......................................................................... 55
4.2 Inicio del Sistema. ............................................................................................ 81
4.2.1 Ítem Materias. ............................................................................................ 84
4.2.2 Ítem Personas. ............................................................................................ 84
4.2.3 Ítem Proyectores ........................................................................................ 86
4.2.4 Ítem Estados ............................................................................................... 87
4.2.5 Ítem Registros ............................................................................................ 88
4.2.6 Ítem Préstamos ........................................................................................... 89
x
4.3 Opciones Sobre los Registros ........................................................................... 89
4.3.1 Create.xhtml ............................................................................................... 90
4.3.2 List.xhtml ................................................................................................... 91
4.3.3 View.xhtml ................................................................................................ 92
4.3.4 Edit.xhtml .................................................................................................. 92
CONCLUSIONES ..................................................................................................... 94
RECOMENDACIONES ............................................................................................ 96
BIBLIOGRAFÍA ....................................................................................................... 97
ANEXOS ................................................................................................................. 100
ANEXO A ................................................................................................................ 101
Certificación de aprobación del Sistema .............................................................. 101
ANEXO B ................................................................................................................ 103
1 INSTALACIÓN DE HERRAMIENTAS ......................................................... 103
1.1 Instalación de Herramientas de Software Necesarias. ................................. 103
1.1.1. Jdk 1.8.0_121. ......................................................................................... 103
1.1.2. PostgreSQL 9.4.11-2............................................................................... 108
1.1.3 Restauración de Base de Datos SIPREPRO. ........................................... 114
1.1.4. Netbeans 8.0.2......................................................................................... 118
1.1.5. Jboss 7.1.1. .............................................................................................. 122
1.1.6. iReport 5.6.0 ........................................................................................... 124
1.1.7. API de las Herramientas en Código Java del Dispositivo Biométrico ... 127
ANEXO C ................................................................................................................ 132
Diccionario de Datos ................................................................................................ 132
xi
LISTA DE TABLAS
Tabla 2. 1 Cuadro Comparativo Rasgos Generales ................................................... 15
Tabla 2. 2 Cuadro Comparativo Rasgos Generales ................................................... 15
Tabla 2. 3 Cuadro Comparativo – Entorno de Desarrollo Integrado ......................... 19
Tabla 2. 4 Cuadro Comparativo – Sistema Gestor de Base de Datos ........................ 21
Tabla 2. 5 Cuadro Comparativo – Servidores de aplicaciones .................................. 22
Tabla 3. 1 Cuadro Comparativo – Metodologías de Desarrollo ................................ 25
Tabla 3. 2 Historia de Usuario- Autenticar Usuario .................................................. 26
Tabla 3. 3 Historia de Usuario- Administrar Personas .............................................. 27
Tabla 3. 4 Historia de Usuario- Administrar Materia ................................................ 27
Tabla 3. 5 Historia de Usuario- Administrar Proyector ............................................. 28
Tabla 3. 6 Historia de Usuario- Administrar Registros.............................................. 28
Tabla 3. 7 Historia de Usuario- Administrar Prestamos ............................................ 29
Tabla 3. 8 Historia de Usuario- Administrar Reporte ................................................ 29
Tabla 3. 9 Prueba Funcional N°1- Historia de Usuario 1 .......................................... 48
Tabla 3. 10 Prueba Funcional N°2- Historia de Usuario 1 ........................................ 49
Tabla 3. 11 Prueba Funcional N°3- Historia de Usuario 2 ........................................ 49
Tabla 3. 12 Prueba Funcional N°4- Historia de Usuario 3 ........................................ 50
Tabla 3. 13 Prueba Funcional N°5- Historia de Usuario 4 ........................................ 51
Tabla 3. 14 Prueba Funcional N°6- Historia de Usuario 5 ........................................ 51
Tabla 3. 15 Prueba Funcional N°7- Historia de Usuario 6 ........................................ 52
Tabla 3. 16 Prueba Funcional N°8- Historia de Usuario 7 ....................................... 53
Tabla 4. 1 Cuadro comparativo de versiones de las herramientas ............................. 55
Tabla 4. 2 Cuadro comparativo de versiones de las herramientas ............................. 55
Tabla C. 1 Tabla Profesor ........................................................................................ 132
Tabla C. 2 Tabla Estudiante ..................................................................................... 132
Tabla C. 3 Tabla Usuario ......................................................................................... 132
Tabla C. 4Tabla Rol ................................................................................................. 132
Tabla C. 5 Tabla Materia ......................................................................................... 133
Tabla C. 6 Tabla Estado en Periodo ......................................................................... 133
Tabla C. 7 Tabla Estado de Proyector ...................................................................... 133
Tabla C. 8 Tabla Proyector ...................................................................................... 133
Tabla C. 9 Tabla Registro ........................................................................................ 133
xii
Tabla C. 10 Tabla Préstamo por Huella ................................................................... 134
Tabla C. 11 Tabla Préstamo manual ........................................................................ 134
xiii
LISTA DE FIGURAS
Figura 3. 1 Diagrama de Secuencia de Administración ............................................. 31
Figura 3. 2 Diagrama de Secuencia Ingreso de Materia ............................................ 31
Figura 3. 3 Diagrama de Secuencia Ver/Editar Materia ............................................ 32
Figura 3. 4 Diagrama de Secuencia Ver/Editar Materia ............................................ 32
Figura 3. 5 Diagrama de Secuencia Ver/Editar Profesor ........................................... 33
Figura 3. 6 Diagrama de Secuencia Ingreso Proyector .............................................. 33
Figura 3. 7 Diagrama de Secuencia Ver/Editar Proyector ......................................... 34
Figura 3. 8 Diagrama de Secuencia Ingreso Estudiante ............................................. 34
Figura 3. 9 Diagrama de Secuencia Ver/Editar Estudiante ........................................ 35
Figura 3. 10 Diagrama de Secuencia de Préstamo ..................................................... 35
Figura 3. 11 Diagrama de Secuencia de Préstamo ..................................................... 36
Figura 3. 12 Diagrama Entidad-Relación de Base de Datos ...................................... 37
Figura 3. 13 Código Estructura General .................................................................... 38
Figura 3. 14 Interfaz de Usuario- Listar Registros ..................................................... 44
Figura 3. 15 Interfaz de Usuario- Creación Nuevo Registro ..................................... 44
Figura 3. 16 Interfaz de Usuario- Editar Registro ...................................................... 45
Figura 3. 17 Interfaz de Usuario- Eliminar Registro .................................................. 45
Figura 3. 18 Interfaz de Usuario- Mensaje de Error ................................................. 46
Figura 4. 1 Cabecera del Sistema .............................................................................. 83
Figura 4. 2 Ítem - Materias ......................................................................................... 83
Figura 4. 3 Ítem - Personas ........................................................................................ 83
Figura 4. 4 Ítem - Proyectores .................................................................................... 83
Figura 4. 5 Ítem - Estados .......................................................................................... 83
Figura 4. 6 Ítem - Registros ....................................................................................... 83
Figura 4. 7 Ítem - Préstamo ........................................................................................ 84
Figura 4. 8 Ítem - Préstamo ........................................................................................ 84
Figura 4. 9 Plantilla de manejo de Datos - Materias .................................................. 84
Figura 4. 10 Plantilla de manejo de datos - Profesores .............................................. 85
Figura 4. 11 Plantilla de manejo de Datos - Estudiantes............................................ 85
Figura 4. 12 Plantilla de manejo de Datos - Usuarios ................................................ 86
Figura 4. 13 Plantilla de manejo de Datos - Estudiantes............................................ 86
Figura 4. 14 Plantilla de manejo de Datos - Proyectores ........................................... 87
xiv
Figura 4. 15 Plantilla de manejo de Datos – Estados de Proyector............................ 88
Figura 4. 16 Plantilla de manejo de Datos – Estados de Proyector............................ 88
Figura 4. 17 Plantilla de manejo de Datos – Registros .............................................. 89
Figura 4. 18 Plantilla de manejo de Datos – Registros .............................................. 89
Figura 4. 19 Manejo de Opciones sobre los datos ..................................................... 90
Figura 4. 20 Plantilla para ingreso de nuevo registro................................................. 91
Figura 4. 21 Plantilla para visualizar nuevos registros .............................................. 92
Figura B. 1 Bienvenida a la instalación de Jdk 1.8.0_121. ...................................... 103
Figura B. 2. Componentes de instalación de Jdk 1.8.0_121. ................................... 104
Figura B. 3 Preparación de configuración de Jdk 1.8.0_121. .................................. 104
Figura B. 4 Ruta de instalación de Jdk 1.8.0_121. ................................................... 104
Figura B. 5 Proceso de instalación de Jdk 1.8.0_121. ............................................. 105
Figura B. 6 Finalización de instalación de Jdk 1.8.0_121. ...................................... 105
Figura B. 7 Propiedades del sistema. ....................................................................... 106
Figura B. 8 Nueva variables de usuario para Jdk 1.8.0_121. ................................... 107
Figura B. 9 Editar variable Path. .............................................................................. 107
Figura B. 10 Variables de entorno para Jdk 1.8.0_121. .......................................... 107
Figura B. 11 Comprobación de la instalación de Jdk 1.8.0_121.............................. 108
Figura B. 12 Inicio del proceso de instalación, PostgreSQL 9.4.11-2. .................... 109
Figura B. 13 Directorio de instalación, PostgreSQL 9.4.11-2. ................................ 109
Figura B. 14 Directorio de datos, PostgreSQL 9.4.11-2. ......................................... 110
Figura B. 15 Contraseña para el usuario administrador. .......................................... 110
Figura B. 16 Contraseña para el usuario administrador. .......................................... 111
Figura B. 17 Configuración regional para clauster. ................................................ 111
Figura B. 18 Inicio de instalación del motor de base de datos. ................................ 112
Figura B. 19 Proceso de instalación, PostgreSQL 9.4.11-2. .................................... 112
Figura B. 20 Proceso de instalación, postgresSQL 9.5.4-2. ..................................... 112
Figura B. 21 Proceso de instalación, PostgresSQL 9.5.4-2. .................................... 113
Figura B. 22 Proceso de instalación, postgresSQL 9.5.4-2. ..................................... 113
Figura B. 23 Login de Usuario. ................................................................................ 114
Figura B. 24 Crear Nueva Base de Datos. ............................................................... 114
Figura B. 25 Base de Datos, Propiedades Generales. .............................................. 115
Figura B. 26 Base de Datos, Propiedades Específicas. ............................................ 115
Figura B. 27 Restaurar Base de Datos. .................................................................... 116
xv
Figura B. 28 Restaurar Base de Datos. .................................................................... 117
Figura B. 29 Restaurar Base de Datos. .................................................................... 117
Figura B. 30 Restaurar Base de Datos. .................................................................... 117
Figura B. 31 Restaurar Base de Datos. .................................................................... 118
Figura B. 32 Ejecución del instalador de Netbeans 8.0.2. ....................................... 119
Figura B. 33 Acuerdo de licencia de Netbeans 8.0.2. .............................................. 120
Figura B. 34 Acuerdo de licencia de JUnit .............................................................. 120
Figura B. 35 Ubicación de la instalación IDE.......................................................... 121
Figura B. 36 Confirmación de la instalación IDE. ................................................... 121
Figura B. 37 Proceso de instalación IDE. ................................................................ 121
Figura B. 38 Finalizar la instalación IDE................................................................. 122
Figura B. 39 Localización de instalación. ................................................................ 123
Figura B. 40 Verificación de archivos de instalación. ............................................. 123
Figura B. 41 Verificación de archivos de instalación .............................................. 123
Figura B. 42 Instalación de iReport 5.6.0. ............................................................... 124
Figura B. 43 Instalación de iReport 5.6.0. ............................................................... 124
Figura B. 44 Instalación de iReport 5.6.0. ............................................................... 125
Figura B. 45 Instalación de iReport 5.6.0. ............................................................... 125
Figura B. 46 Instalación de iReport 5.6.0. ............................................................... 126
Figura B. 47 Instalación de iReport 5.6.0. ............................................................... 126
Figura B. 48 Finalización de la instalación de iReport 5.6.0. .................................. 127
Figura B. 49 Instalación de FDx SDK. .................................................................... 128
Figura B. 50 Instalación de FDx SDK. .................................................................... 128
Figura B. 51 Instalación de FDx SDK. .................................................................... 129
Figura B. 52 Instalación de FDx SDK. .................................................................... 129
Figura B. 53 Instalación de FDx SDK. .................................................................... 130
Figura B. 54 Configuración de FDx SDK. ............................................................... 130
Figura B. 55 Variable del Sistema para FDx SDK. ................................................. 131
xvi
RESUMEN
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA
CIVIL.
AUTOR: JARAMILLO ORDOÑEZ HENRY MAURICIO
TUTOR: ING. CARRILLO FLORES RENÉ ALFONSO
La biometría o sistemas biométricos se encuentran aplicados al campo de la seguridad
y consiste en la utilización de la tecnología haciendo uso de métodos automáticos, para
el reconocimiento de personas basados en uno o más rasgos físicos específicos. El
propósito de las tecnologías biométricas es la identificación y la autentificación en
control de accesos. Las huellas dactilares y los patrones faciales son las características
físicas más fiables y empleadas en la actualidad en sistemas de seguridad.
El presente proyecto se enfoca en la sistematización de procesos mediante el uso de la
biometría es decir el registro de huellas dactilares para el préstamo de proyectores del
Laboratorio de Computo de la Carrera de Ingeniería Civil de la Facultad de Ingeniería
Ciencias Físicas y Matemáticas, que son usados por personal docente y estudiantes.
Con el desarrollo de este sistema se obtendrá información de una manera rápida, ágil
y oportuna sobre los registros obtenidos ya sea por día, mes o año, optimizando el
servicio para el uso de equipos del área.
PALABRAS CLAVES: /AUTOMATIZACIÓN DE PRÉSTAMO/
AUTENTIFICACIÓN DE PERSONA/ PRÉSTAMO PROYECTORES/ CONTROL
BIOMÉTRICO/ DESARROLLO WEB/ PROYECTOR DE IMAGEN
xvii
ABSTRACT
BIOMETRIC SYSTEM FOR LOAN PROJECTORS IN COMPUTER
LABORATORY CIVIL ENGINEERING FACULTY.
AUTOR: JARAMILLO ORDOÑEZ HENRY MAURICIO
TUTOR: ING. CARRILLO FLORES RENÉ ALFONSO
Biometrics or biometric systems are applied to the field of security and consists of
technology using automatic methods, for the recognition of people based on one or
more specific physical characters. The purpose of biometric technologies it’s to
identify and authentication in access control. Fingerprints and facial patterns are the
most reliable physical characteristics and are currently used in security systems.
The present project focuses on the systematization of processes through the use of
biometrics registration of fingerprints for the loan of projectors in computer laboratory
civil engineering faculty, which are used by teaching staff and students. With the
development of this system will obtain information in a fast, agile and timely manner
on the records obtained either by day, month or year, optimizing the service for the use
of area equipment.
KEY WORDS: / LOAD AUTOMATION / AUTHENTICATION OF PERSON /
LOAN PROJECTORS / BIOMETRIC CONTROL / WEB DEVELOPMENT /
IMAGE PROJECTOR
xviii
Quito, 10 de marzo de 2017
CERTIFICADO
A quien interese,
Yo, ALVANSAZYAZDI MOHAMMADFARID portador de la cedula de identidad número
1755085451, certifico que he revisado la traducción al idioma Inglés del resumen de la tesis
del Sr. Henry Mauricio Jaramillo Ordoñez, portador de la cedula de identidad número
060290324-7, con el tema SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA CIVIL.
Es todo en cuanto puedo certificar en honor a la verdad, el Sr. Henry Mauricio Jaramillo
Ordoñez puede hacer uso de este certificado como a bien tuviere.
Atentamente
------------------------------
ALVANSAZYAZDI MOHAMMADFARID
1755085451
PD: Adjunto un certificado que costa mi conocimiento en el idioma Inglés.
xix
1
INTRODUCCIÓN
Vivimos una gran revolución de la tecnología y la información, nuevos cambios hacen
que tengamos que actualizarnos constantemente en conocimientos relacionados con
las nuevas tecnologías.
Los avances tecnológicos se han vuelto una parte esencial de nuestras vidas. Para
entender por qué, solo basta con mirar a nuestro alrededor y ver que en todo momento
y contexto estamos rodeados por ella; ya sea que estemos trabajando o descansando,
siempre está presente para hacer nuestras vidas más sencillas.
Debido a su aplicación, nuestro nivel de vida ha mejorado, pues las necesidades se
satisfacen con mayor facilidad. Las nuevas tecnologías, relacionadas con nuestro
entorno, están agilizando, optimizando y perfeccionando muchas de las actividades
que realizamos en nuestro día a día.
Mediante el desarrollo de este proyecto se pretende vincular las nuevas tecnologías
con una actividad cotidiana y de gran demanda en los laboratorios de cómputo de la
carrera de ingeniería civil, optimizando tiempo y evitando numerosos papeleos para el
servicio de préstamo de equipos, convirtiéndose en una herramienta útil para el
personal administrativo de la facultad.
2
CAPÍTULO I
1. PRESENTACIÓN DEL PROBLEMA
1.1 Antecedentes
Algunos segmentos de las sociedades se han visto afectados, de alguna forma, por el
manejo de la información. De hecho, durante la historia se ha tenido la necesidad de
usar distintos sistemas de información para ejecutar las labores.
Para este proyecto titulado “Sistema Biométrico para préstamo de proyectores del
Laboratorio de Cómputo de la Carrera de Ingeniería Civil” se planteó desarrollar
un Sistema Computarizado para llevar el registro y control referente al préstamo de los
proyectores del laboratorio de computo la Carrera de Ingeniería Civil de la Facultad
de Ingeniería Ciencias Físicas y Matemáticas, con la finalidad de optimizar tiempo e
información y aumentar la confiabilidad del uso de los equipos, se estudió el
funcionamiento del sistema actual y se descubrió que posee debilidades, en primer
lugar el registro de préstamo se realiza de manera manual, los requerimientos de la
información por parte del personal hacia los estudiantes son básicas, no existe
información detallada de los horarios de clases de los profesores, no existen reportes,
horas precisas en las que se realizaron los préstamos, no existe un nivel óptimo de
seguridad a pesar de contar con requisitos obligatorios como son la cédula de
ciudadanía y el carnet estudiantil.
Al analizar lo expuesto anteriormente se genera la necesidad de proponer e
implementar un nuevo sistema computarizado para el préstamo de proyectores acorde
a las necesidades institucionales y considerando las vigencias tecnológicas existentes,
de modo que permita eliminar las anomalías y deficiencias del sistema actual, lo que
3
permitirá obtener un control óptimo de los equipos que son destinados al uso de
personal docente y estudiantes contribuyendo a un mejor desarrollo de las actividades
administrativas de la facultad.
1.2 Planteamiento del Problema
Debido al constante crecimiento tecnológico estamos obligados a adaptarnos a estos
cambios y de esta manera no quedar inmersos en la obsolescencia y es por esto que se
ha tomado en consideración la necesidad de mejorar y automatizar el registro del
préstamo de proyectores en los laboratorios de computo en la Universidad Central del
Ecuador y de esta forma también llevar un mayor control en los estudiantes que tiene
a su cargo estos equipos.
Actualmente estos registros son llevados a cabo manualmente tomando en cuenta los
problemas que esto conlleva, es decir la pérdida de tiempo, desperdicio de papel y de
otros recursos que se necesitan para llevar un registro digital y de esta manera poder
conocer con mayor exactitud las horas en que se ha hecho el préstamo de estos
materiales.
El proceso de registro del estudiante encargado que ha tomado en cuenta cada profesor
por cada materia y hasta el empleado que lo revisa y confirma las horas en la que se
debe realizar el préstamo, es un proceso molesto, complicado además del problema de
inexactitud que puede llevar el registrar información de esta manera.
Para la solución de esto se basa en la creación de un sistema biométrico. El sistema
permitirá agilizar el registro de los estudiantes encargados a través de la
implementación del control de la huella dactilar, permitiendo llevar un registro y
4
validación de las salidas y entradas de los proyectores con respecto al laboratorio de
cómputo. Esta información se almacenará en una base de datos que no podrá ser
modificada externamente para asegurar la integridad de la información.
1.3 Formulación del Problema
Se plantea desarrollar un sistema de control para préstamo de proyectores que permita
realizar un seguimiento efectivo de los bienes tecnológicos que están al servicio del
Laboratorio de Cómputo de la Carrera de Ingeniería Civil y que son usados como
herramientas primordiales para el desarrollo de las cátedras dictadas por los profesores
de la carrera.
Adicional el sistema garantiza que los datos ingresados son fiables es decir que los
reportes e información que se visualizan aportaran a la toma de decisiones que
contribuyen al desarrollo del Laboratorio de Computo.
1.4 Interrogantes de la Investigación
Como base primordial para el desarrollo de este sistema, que servirá para el préstamo
de proyectores se debieron sustentar varias interrogantes presentadas durante la etapa
de ejecución.
¿Cómo se lleva a cabo el proceso para el préstamo de proyectores del
Laboratorio de Computo de la Carrera de Ingeniería Civil?
¿De qué manera la automatización para el préstamo de proyectores permitirá
realizar un control eficiente y eficaz de la información?
5
¿Cuáles serán las ventajas y desventajas que traería el nuevo sistema
automatizado para el préstamo de proyectores?
¿Qué recursos serán necesarios para la implementación del sistema
automatizado para el préstamo de proyectores?
1.5 Objetivos
1.5.1 Objetivo General
Contribuir con la Universidad Central del Ecuador con un Sistema de Reconocimiento
de Huellas Dactilares usando herramientas biométricas aplicadas al reconocimiento de
las mismas para mejorar los tiempos y recursos al hacer los préstamos de proyectores
por parte de los laboratorios de cómputo.
1.5.2 Objetivos Específicos
Investigar y analizar los sistemas ya existentes que utilizan el reconocimiento
de huellas digitales.
Identificar problemas y diferencias de patrones de huellas digitales aplicables
al reconocimiento de las mismas.
Analizar el método adecuado en la comparación de huellas digitales tomando
en cuenta diferentes patrones digitales tales como son Islote, Bifurcación,
Punto, Cortada, Horquilla, Empalme y Encierro.
Desarrollar un Sistema que permita el Reconocimiento de huellas digitales
identificando a quien pertenece basándose en la información almacenada en
una base de datos.
Generar reportes y consultas sobre los estados de los proyectores así como
también la hora entrada y salida de los mismos.
6
Proveer de un sistema robusto, confiable y que brinde alta seguridad para
asegurar la integridad de la información.
1.6 Justificación
La biometría o sistemas biométricos se encuentran aplicados al campo de la seguridad
y consiste en la utilización de la tecnología haciendo uso de métodos automáticos, para
el reconocimiento de personas basados en uno o más rasgos físicos específicos. El
propósito de las tecnologías biométricas es la identificación y la autentificación en
control de accesos. Las huellas dactilares y los patrones faciales son las características
físicas más fiables y empleadas en la actualidad en sistemas de seguridad. Aunque no
son las únicas: la retina, el iris, las venas de la mano, la geometría de la palma de la
mano o la voz son otros rasgos que también se emplean.
En la actualidad en los laboratorios de computo de la carrera de civil, el método que
se realiza para el préstamo de un proyector para uso didáctico en clases es mediante
papeles en los cuales por cada equipo se debe llenar una hoja y el estudiante debe dejar
sus documentos como son el Carnet Estudiantil y un documento perteneciente al
estudiante como Documento Nacional de Identidad (DNI) o una licencia de conducir,
generando complicaciones al estudiante si este desea realizar algún otro tramite con
sus documentos, de la misma manera pueden presentarse un sin número de
falsificaciones y usurpaciones de identidad y además porque si sucede una
eventualidad como un robo, un incendio o algo más, las personas que receptan los
documentos tendrían que responder por los mismos, por lo tanto la implementación de
7
un Sistema Biométrico que permita la identificación de la persona quien fue designada
para esta actividad por parte de su profesor, es la solución más viable y segura.
Este sistema lo podrá utilizar cualquier Institución o facultad que requiera llevar
consigo este tipo de control.
Hoy en día en el Ecuador no se puede afirmar que exista un sistema como este, que dé
un control más rápido y eficaz de la información del proceso de préstamos de
materiales didácticos en los diferentes laboratorios de cómputo existentes dentro de
nuestro país.
1.7 Alcance y Limitaciones
1.7.1 Alcance
El sistema desarrollado para el área de laboratorios de cómputo de la Carrera de
Ingeniería Civil de la Facultad de Ingeniería Ciencias Físicas y Matemáticas buscará
contemplar los siguientes puntos:
Para el reconocimiento de los estudiantes “encargados” en la base del sistema,
deberán acercase a las instalaciones del laboratorio para proceder con el
registro de forma manual mediante un lector de huellas digitales, acompañado
del profesor de la materia respectiva, quien validara la identificación del
estudiante.
El sistema determinará la identidad de una persona y su información personal
básica como nombres, edad, género, materia y hora en la que inicia y finaliza
clases mismos que se encontrarán almacenadas en una base de datos.
8
El registro de horarios en el sistema estará sujeto a los cambios que se puedan
presentar a los largo del periodo lectivo.
El control biométrico registrara la hora exacta en la que se realiza el préstamo.
Los reportes serán exportables a Excel y en Adobe Reader
1.7.2 Limitaciones
El proyecto no cubre la adquisición del hardware de control biométrico.
Los horarios de las diferentes materias de cada docente deberán ser ingresadas
manualmente por el personal del Laboratorio de Cómputo y serán
parametrizados en la administración del mismo sujetándose al reglamento de
cada facultad en cuanto al tema de tolerancias de llegada y atrasos, además toda
la información personal de los Docentes deberá ser ingresada por el Personal
Administrativo.
En cuanto a la integración con el actual Sistema Académico de la Universidad
Central del Ecuador, el presente proyecto solo cubrirá un esquema de
integración por medio de la replicación entre bases de datos, el mismo que
detallará un método estándar para realizar este procedimiento. Este proyecto
no realizará esta integración.
Dentro del desarrollo de perfiles del sistema solo se creará el Perfil de
Administrador, ya que los prestamos lo deben realizan personas autorizadas es
decir personal administrativo del laboratorio de computo de la Facultad de
Ingeniería Civil.
9
CAPÍTULO II
2. MARCO TEORICO
2.1 Sistemas Biométricos
Entenderemos por sistema biométrico a un sistema automatizado que realiza labores
de biometría. Es decir, un sistema que fundamenta sus decisiones de reconocimiento
mediante una característica personal que puede ser reconocida o verificada de manera
automatizada.
Las características básicas que un sistema biométrico para identificación personal debe
cumplir son: desempeño, aceptabilidad y fiabilidad. Las cuales apuntan a la obtención
de un sistema biométrico con utilidad práctica.
Actualmente, algunos de los métodos que ya son empleados en este tipo de tecnologías
son ingeniosos y usualmente más simples de lo que uno podría imaginar. Por ejemplo,
un sistema basado en el reconocimiento del iris revisa patrones característicos en las
manchas de éste, un sistema infrarrojo para chequear las venas de la mano detecta
flujos de sangre caliente y lectores de ultrasonido para huellas dactilares revisan
estructuras subcutáneas de los dedos y los niveles de humedad en la piel. Sin embargo
y a pesar de los avances que en este campo se han desarrollado, aún falta mucha
investigación para desarrollar un sistema biométrico cien por ciento fiable.
Tipos de sistemas biométricos.
Sistemas Fisiológicas: Incluyen las relacionadas con el cuerpo humano y las que no
se refieren a un patrón de comportamiento consciente.
Reconocimiento de la cara o facial.
10
Reconocimiento de iris/retina.
Geometría de dedos/mano.
Reconocimiento de la huella dactilar.
Sistemas de Comportamiento: Se refieren a las que se refieren al comportamiento
consciente, y que por tanto pueden variar dentro de unos límites.
Autentificación de la voz.
Reconocimiento de la firma.
2.1.1 Reconocimiento Facial
La imagen de la cara de una persona puede variar sobremanera, pero aun así puede
ser utilizado en este contexto. Se puede demostrar que el procesamiento de la
fotografía bien iluminada de una persona puede generar una serie de parámetros que
la identifiquen de modo único. En la actualidad, el desarrollo de las técnicas asociadas
no son muy seguras, por lo que su uso no está muy extendido, aunque lo estarán en el
futuro próximo.
El procesamiento requiere la utilización de ordenadores de altas prestaciones, así como
técnicas específicas como lógica difusa o redes neuronales. Las técnicas actuales
comienzan realizando un análisis en 3 dimensiones de la cara completa, posteriormente
el sistema extrae cientos de pequeñas imágenes del usuario, a modo de celdillas, cada
una con varias posiciones y con luz diferente, guardando dicha información. La
velocidad de este proceso suele ser bastante rápida. Para salvar el problema de los
11
posibles cambios corporales, estas técnicas van actualizando valores a medida que el
sujeto sufre alguno de dichos cambios, como pudieran ser, heridas, barba.
2.1.2 Reconocimiento de Retina/Iris
Los modelos de autenticación biométrica basados en patrones oculares se suelen
considerar los más efectivos: para una población de 200 millones de potenciales
usuarios la probabilidad de coincidencia es casi 0, y además una vez muerto el
individuo los tejidos oculares degeneran rápidamente, lo que dificulta la falsa
aceptación de atacantes que puedan robar este órgano de un cadáver.
La principal desventaja de los métodos basados en el análisis de patrones oculares es
su escasa aceptación; el hecho de mirar a través de un binocular (o monocular), no es
cómodo para los usuarios, ni aceptable para muchos de ellos: por un lado, los usuarios
no se fían de un haz de rayos analizando su ojo, y por otro un examen de este órgano
puede revelar enfermedades o características médicas que a muchas personas les puede
interesar mantener en secreto, como el consumo de alcohol o de ciertas drogas. Otro
inconveniente es la utilización de lentes de contacto, ya que modifica los valores de la
medida obtenida. Por si esto fuera poco, se trata de sistemas demasiado caros para la
mayoría de organizaciones, y el proceso de autenticación no es todo lo rápido que
debiera en poblaciones de usuarios elevadas. De esta forma, su uso se ve reducido casi
sólo a la identificación en sistemas de alta seguridad, como el control de acceso a
instalaciones militares.
2.1.3 Geometría de la Mano
12
Los sistemas de autenticación basados en el análisis de la geometría de la mano son
sin duda los más rápidos dentro de los biométricos: con una probabilidad de error
aceptable en la mayoría de ocasiones, en aproximadamente un segundo son capaces
de determinar si una persona es quien dice ser.
Quizás uno de los elementos más importantes del reconocimiento mediante
analizadores de geometría de la mano es que éstos son capaces de aprender: a la vez
que autentican a un usuario, actualizan su base de datos con los cambios que se puedan
producir en la muestra (un pequeño crecimiento, adelgazamiento, el proceso de
cicatrizado de una herida.); de esta forma son capaces de identificar correctamente a
un usuario cuya muestra se tomó hace años, pero que ha ido accediendo al sistema con
regularidad.
Este hecho, junto a su rapidez y su buena aceptación entre los usuarios, hace que los
autenticadores basados en la geometría de la mano sean los más extendidos dentro de
los biométricos a pesar de que su tasa de falsa aceptación se podría considerar
inaceptable en algunas situaciones: no es normal, pero sí posible, que dos personas
tengan la mano lo suficientemente parecida como para que el sistema las confunda.
Para minimizar este problema se recurre a la identificación basada en la geometría de
uno o dos dedos, que además puede usar dispositivos lectores más baratos y
proporciona incluso más rapidez.
2.1.4 Autentificación de la voz
De igual modo que las características faciales permiten identificar una persona,
también es posible utilizar su voz. La voz humana es simplemente un sonido, por lo
que puede ser tratada como una señal más, sobre la cual es posible aplicar un análisis
13
de Fourier. El principal problema del reconocimiento de voz es la inmunidad frente a
replay attacks, un modelo de ataques de simulación en los que un atacante reproduce
las frases o palabras que el usuario legítimo pronuncia para acceder al sistema. Este
problema es especialmente grave en los sistemas que se basan en textos
preestablecidos.
Otro grave problema de los sistemas basados en reconocimiento de voz es el tiempo
que el usuario emplea hablando delante del analizador; aunque actualmente en la
mayoría de sistemas basta con una sola frase, es habitual que el usuario se vea obligado
a repetirla porque el sistema le deniega el acceso.
A su favor, el reconocimiento de voz posee la cualidad de una excelente acogida entre
los usuarios, siempre y cuando su funcionamiento sea correcto y éstos no se vean
obligados a repetir lo mismo varias veces, o se les niegue un acceso porque no se les
reconoce correctamente. A pesar de sus problemas técnicos, será una de las más
utilizadas en el futuro.
2.1.5 Reconocimiento de la firma
Aunque la escritura (generalmente la firma) no es una característica estrictamente
biométrica, se suele agrupar dentro de esta categoría; de la misma forma que sucedía
en la verificación de la voz, el objetivo aquí no es interpretar o entender lo que el
usuario escribe en el lector, sino autenticarlo basándose en ciertos rasgos tanto de la
firma como de su rúbrica.
La verificación en base a firmas es algo que todos utilizamos y aceptamos día a día en
documentos o cheques; no obstante, existe una diferencia fundamental entre el uso de
14
las firmas que hacemos en nuestra vida cotidiana y los sistemas biométricos; mientras
que habitualmente la verificación de la firma consiste en un simple análisis visual
sobre una impresión en papel, estática, en los sistemas automáticos no es posible
autenticar usuarios en base a la representación de los trazos de su firma. En los modelos
biométricos se utiliza además la forma de firmar, las características dinámicas (por eso
se les suele denominar Dynamic Signature Verification, DSV): el tiempo utilizado para
rubricar, las veces que se separa el bolígrafo del papel, el ángulo con que se realiza
cada trazo.
2.1.6 Huellas Digitales
Típicamente la huella dactilar de un individuo ha sido un patrón bastante bueno para
determinar su identidad de forma irrefutable, ya que está aceptado que dos dedos nunca
poseen huellas similares, ni siquiera entre gemelos o entre dedos de la misma persona.
Por tanto, parece obvio que las huellas se convertirían antes o después en un modelo
de autenticación biométrico. Desde el siglo pasado hasta nuestros días se vienen
realizando con éxito clasificaciones sistemáticas de huellas dactilares en entornos
policiales, y el uso de estos patrones fue uno de los primeros en establecerse como
modelo de autenticación biométrica.
Cuando un usuario desea autenticarse ante el sistema sitúa su dedo en un área
determinada (área de lectura, no se necesita en ningún momento una impresión en
tinta). Aquí se toma una imagen que posteriormente se normaliza mediante un sistema
de finos espejos para corregir ángulos, y es de esta imagen normalizada de la que el
sistema extrae las minucias (ciertos arcos, bucles o remolinos de la huella) que va a
comparar contra las que tiene en su base de datos.
15
Es importante resaltar que lo que el sistema es capaz de analizar no es la huella en sí
sino que son estas minucias, concretamente la posición relativa de cada una de ellas.
Está demostrado que dos dedos nunca pueden poseer más de ocho minucias comunes,
y cada uno tiene al menos 30 o 40 de éstas. Si la comparación de las posiciones
relativas de las minucias leídas con las almacenadas en la base de datos es correcta, se
permite el acceso al usuario, denegándosele obviamente en caso contrario.
Los sistemas basados en reconocimiento de huellas son relativamente baratos (en
comparación con otros biométricos, como los basados en patrones retinales). Sin
embargo, tienen en su contra la incapacidad temporal de autenticar usuarios que se
hayan podido herir en el dedo a reconocer (un pequeño corte o una quemadura que
afecte a varias minucias pueden hacer inútil al sistema). También elementos como la
suciedad del dedo, la presión ejercida sobre el lector o el estado de la piel pueden
ocasionar lecturas erróneas. Otro factor a tener muy en cuenta contra estos sistemas
es psicológico, no técnico: hemos dicho en la introducción que un sistema de
autenticación de usuarios ha de ser aceptable por los mismos, y generalmente el
reconocimiento de huellas se asocia a los criminales, por lo que muchos usuarios
recelan del reconocedor y de su uso.
Para determinar la viabilidad de los tipos de sistemas biométrico podemos resumirlos
en una tabla general, en donde se consideran las características más importantes y
fundamentales:
Tabla 2. 1 Cuadro Comparativo Rasgos Generales
Fuente: “Sistemas Biométricos-Cesar Tolosa Borja”
Tabla 2. 2 Cuadro Comparativo Rasgos Generales Fuente: “Sistemas Biométricos-Cesar Tolosa Borja”
16
2.2 Análisis de Requerimientos Informáticos
Es un conjunto de partes relacionadas, hardware, software y de recurso humano
mediante el cual permite almacenar y procesar información. El hardware contiene
dispositivos electrónicos inteligentes. El software contiene al sistema operativo,
firmware y aplicaciones, siendo significativo los sistemas de gestión de bases de datos.
El soporte humano contiene al personal técnico que crean y mantienen el sistema.
(Calvopiña, 2012).
2.2.1 Patrón MVC.
El Modelo Vista Controlador es un patrón de arquitectura de software encargado de
apartar la lógica de negocios de la interfaz usuario y es el más utilizando de
las aplicaciones Web, ya que facilita la funcionalidad, mantenibilidad y escalabilidad
del sistema. Las aplicaciones Web están organizadas por una arquitectura de tres capas,
las cuales son: Modelo, Vista, Controlador. Uno de los esquemas y, con toda
seguridad, el más manipulado por los desarrolladores que utilizan JEE7, es la
Características Aceptación del usuario
Facilidad de uso
Coste Unidad Identificación Verificación
Estabilidad Intrusismo Fiabilidad
Firma Media Alta Bajo X √ Media No Baja
Geometría de la mano
Media Alta Alto X √ Media No Media
Huella dactilar Media Alta Bajo √ √ Alta Bajo Alta
Iris Media Media Alto √ √ Alta No Alta
Reconocimiento Facial
Media Media Bajo X √ Media No Media
Retina Media Baja Alto √ √ Alta Alto Alta
Voz Alta Alta Bajo X √ Media No Baja
Características Nivel de Seguridad
Radio de error
Precisión
Errores Falso Positivo Falso Negativo
Firma Medio 1/50 2 Cambios de escritura 2 1
Geometría de la mano
Medio 1/500 3 Edad, lesiones varias 4 2
Huella dactilar Alto 1/500 + 4 Sequedad, suciedad, edad
5 5
Iris Alto 1/131000 4 Iluminación inadecuada 4 4
Reconocimiento Facial
Medio Sin datos 3 Pelo, gafas, edad, iluminación
3 1
Retina Alto 1/10ˆ6 4 Gafas, lentillas 5 5
Voz Medio 1/50 2 Ruidos, ronquera, resfriados
2 1
17
arquitectura Modelo Vista Controlador (MVC), la cual facilita una clara separación
entre las diferentes responsabilidades de la aplicación. (BAHIT, s.f.)
Figura 2. 1 Patrón MVC
Fuente: “http://www.itc-software.com.ar/Newsletter/024/Newsletter_201410.html”
Descripción de Capas.
Controlador.
Reacciona a la petición del Cliente, ejecutando la acción y creando el modelo
oportuno, se consigue mostrar que el controlador es el que rige la aplicación. Las
peticiones a la capa intermedia que se realicen desde el cliente son dirigidas al
controlador, cuya misión es fijar las tareas a ejecutar para cada una de estas peticiones
e invocar al resto de los componentes de la aplicación. (BAHIT, s.f.)
Vista.
18
Es la presentación del modelo, mediante la cual se puede acceder a los datos; así
también la vista puede notificar cuando hay un cambio de estado en el modelo. Es la
encargada de crear las respuestas (XHTML) que corresponden ser enviadas al cliente.
Cuando esta respuesta tiene que incluir datos proporcionados por el Controlador, el
código XHTML no será fijo, es decir que deberá ser creado de forma dinámica, la
implementación correrá a cargo de una página JSP. (BAHIT, s.f.)
Modelo.
Contiene el núcleo de la funcionalidad de la aplicación, encapsula la fase de la
aplicación, es independiente del Vista y el Controlador. En la arquitectura MVC la
lógica de negocio de la aplicación, conteniendo el acceso a los datos y su
manipulación, está encapsulada dentro del modelo.
En una aplicación JEE7 el modelo puede ser implementado mediante clases estándar
Java o través de Enterprise JavaBeans. (BAHIT, s.f.)
19
2.2.2 Entorno de Desarrollo Integrado “IDE”.
Un IDE es una aplicación informática que facilita servicios integrales para facilitarle
al desarrollador o programador el desarrollo de software; consiste en un editor de
código, un compilador, un depurador y un constructor de interfaz gráfica (GUI).
Los IDE suministran un ambiente de trabajo amigable y emprendedor para la mayoría
de los lenguajes de programación. (BELL & PARR, 2003).
CARACTERÍSTICAS ENTORNO DE DESARROLLO INTEGRADO
Netbeans 8.0.2 Eclipse Helios Jdeveloper 11
Estabilidad
Soporte multiplataforma
Soporte de servidores de aplicaciones
Compatibilidad con servidores
Plugins disponibles
Soporte de frameworks
Soporte de SGBD
Consumo de Recursos
Generación de código
Tabla 2. 3 Cuadro Comparativo – Entorno de Desarrollo Integrado Fuente: “Jaramillo H. año 2017”
Por los beneficios ofrecidos, Netbeans 8.0.2 será el IDE
usado para elaborar el proyecto integrador.
2.2.3 Framework.
En el desarrollo de software, un framework, es una organización conceptual y
tecnológica de soporte definido, regularmente con módulos de software precisos, que
puede servir de plataforma para la organización y desarrollo de software. Puede
contener soporte de programas, entre otras herramientas, para así ayudar a desarrollar
y acoplar los diferentes componentes de un proyecto. (Struts 2, 2010).
20
2.2.4 Java Server Faces – JSF.
Es un framework, consignado a facilitar la construcción y desarrollo de interfaces para
aplicaciones basadas en entornos web, que facilita el desarrollo de interfaces de
usuario en aplicaciones Java EE. JSF usa Java Server Pages (JSP) como la tecnología
que admite hacer el despliegue de las páginas, también se puede adecuar a otras
tecnologías como XUL (acrónimo de XML-based User-interface Language, lenguaje
basado en XML para la interfaz de usuario). (Java Server Faces, 2009).
2.2.5 Sistema de Gestor de Base de Datos.
Un Sistema de Gestión de Bases de Datos (SGBD Data Base Management System) es
un conjunto de programas que admiten el almacenamiento, modificación y extracción
de la información en una base de datos, también de facilitar herramientas para añadir,
borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información
utilizando herramientas específicas de interrogación y de generación de informes. El
SGBD relacional es un modelo de datos que proporciona a los usuarios los datos que
serán almacenados en la base de datos juntos con un grupo de operaciones para
manejar los datos. Los SGBD también proporcionan métodos para mantener la
integridad de los datos, para administrar el acceso de usuarios a los datos y recuperar
la información si el sistema se corrompe.
21
CARACTERÍSTICAS BASE DE DATOS
PostgreSQL 9.1. MySQL 5.1
Soporte multiplataforma
Open Source
Soporte para procedimientos y funciones
Varios tipos de datos
Interface de administración
Soporte técnico
Soporta transacciones
Comprobaciones de integridad referencial
Tabla 2. 4 Cuadro Comparativo – Sistema Gestor de Base de Datos Fuente: “Jaramillo H. año 2017”
Una vez analizadas las características técnicas entre los motores de base de datos, se
puede decir que PostgreSQL 9. 1 será el Motor de
base de datos que será usada para el proyecto
integrador.
2.2.6 Servidor de Aplicaciones.
Un Servidor de aplicaciones proporciona la lógica de negocio sobre la que se puede
construir aplicaciones es un intermediario entre las peticiones/respuestas web desde y
hacia un cliente y las prestaciones a las que el usuario quiere acceder como son:
Procesamiento, memoria temporal, storage, conexiones, log de transacciones, etc.
Las principales ventajas de la tecnología de los servidores de aplicación son la
centralización y la disminución de la complejidad del desarrollo de aplicaciones, dado
que las aplicaciones no necesitan ser programadas en su lugar, estas son ensambladas
desde bloques suministrados por el servidor de aplicación. (GRANADOS, 2009).
CARACTERÍSTICAS SERVIDORES DE APLICACIONES
JBoss EAP Glassfish WebSphere
22
Dirección remota
Soparte multiplataforma
Open source - Licenciamiento/Suscripción
Capacidad EJB 3.0
Soporta JEE7
Soporta JSF 2.0
Compatible a Netbeans 8.0.2
Facilidad para la administración del servidor
Fácil instalación
Soporte para múltiples motores de base de datos
Tabla 2. 5 Cuadro Comparativo – Servidores de aplicaciones Fuente: “Jaramillo H. año 2017”
Una vez estudiadas las características técnicas entre los tres servidores, se define usar
JBoss 6.0 en cuestiones relacionadas con la
instalación y la administración, que al momento
de un fallo en el servidor terminan definiendo los
tiempos de recuperación de la plataforma.
2.2.7 Arquitectura JEE7.
El objetivo principal de la plataforma Java EE7 es facilitar el desarrollo
proporcionando una base en común para los varios tipos de componentes de la
plataforma Java EE, los beneficiados serán los desarrolladores de progresos en su
productividad con más ampliaciones y menos configuración XML, más Plain Old Java
Objects (POJOs) y empaquetado simplificado. (CABALLEROS, 2014)
La plataforma Java EE 7 tiene las siguientes características:
Perfiles: La configuración de la plataforma Java EE se adapta a distintos tipos
de aplicación.
Tecnologías nuevas:
23
API Java para servicios web RESTful (JAX-RS)
Gestión de Beans.
Contextos e inyección de dependencias para la plataforma Java
EE (JSR 299), conocida informalmente como CDI
Inyección de dependencias para Java (JSR 330) Validación de
Beans (JSR 303)
Interfaz de servicio proveedor de autenticación Java para
contenedores (JASPIC)
Funcionalidad para servlets
Funcionalidades para componentes JavaServer Faces
Funcionalidades para componentes Enterprise JavaBeans (EJB)
Figura 2. 2 Arquitectura JEE7
Fuente: “http://www.infoq.com/resource/presentations/Java-ee7-html5/en/slides/sl7.jpg”
24
CAPITULO III
3. MARCO METODOLOGICO
3.1 Metodología XP Programacion Extrema
XP es una metodología de desarrollo de la ingeniería de software es el más definido
de los procesos ágiles de desarrollo de software, la programación externa se diferencia
de las metodologías tradicionales especialmente en poner más énfasis en la
adaptabilidad que en la previsibilidad. La infraestructura flexible de desarrollo de
software que facilita prácticas recomendadas y probadas con una arquitectura
configurable, definiendo claramente: Quién debe hacer, Qué hacer, Cuándo hacer y
Cómo se lo debe hacer.
No existe un proceso de desarrollo de software universal, las características de este
proyecto integrador requieren que todo proceso sea parametrizable, por tanto, la
metodología a seguir en el actual proyecto integrador será la que propone XP.
XP se puede considerar la programación extrema como la admisión de las mejores
metodologías de desarrollo de acuerdo a lo que se intenta llevar a cabo con el proyecto,
y emplearlo de modo dinámico durante el ciclo de vida del software. Las herramientas
manipuladas en la elaboración de los diagramas UML que se muestra en el actual
proyecto integrador son: Sybase Power Designer 15 y Microsoft Visio 2010.
A continuación se detalla en una tabla las ventajas de XP frente a otras metodologías,
considerando las principales características y la versatilidad.
CARACTERÍSTICAS METODOLOGIAS DE DESARROLLO
25
XP SCRUM ADAPTIVE SOFTWARE
DEVELOMENT
Aplicable a entornos de desarrollo agiles.
Entregables del proyecto al cliente en poco tiempo.
Realización de reuniones periódicas mientras dure el proyecto.
Se pueden realizar cambios en los entregables hechos a los clientes.
Basado en iteraciones.
Se basa en la creación de producto.
Tabla 3. 1 Cuadro Comparativo – Metodologías de Desarrollo Fuente: “Jaramillo H. año 2017”
Fases de XP
El Proceso de desarrollo de software se divide en cuatro fases secuenciales, en cada
extremo de una fase se ejecuta una evaluación para determinar si se cumplió con los
objetivos e hitos de dicha fase, es por esto que en XP, cada fase produce una nueva
versión del producto.
A continuación las fases de la Metodología XP.
Fase de Planificación de Proyecto
Fase de Diseño
Fase de Codificación
Fase de Pruebas.
3.2 Fase de Planificación
La planeación es la etapa inicial de todo proyecto en XP. En este punto se comienza a
interactuar con el cliente y el resto del grupo de desarrollo para descubrir los
requerimientos del sistema. En este punto se identifican el número y tamaño de las
iteraciones al igual que se plantean ajustes necesarios a la metodología según las
26
características del proyecto. En esta fase se tendrán en cuenta ocho elementos, los
cuales son los siguientes. Historias de usuario, velocidad del proyecto, iteraciones,
entregas pequeñas, reuniones, roles en XP, traslado del personal y ajuste a XP.
3.2.1 Historias de usuario
Las historias de usuario son utilizadas como herramienta para dar a conocer los
requerimientos del sistema al equipo de desarrollo. Son pequeños textos en los que el
cliente describe que una actividad que realiza el sistema, la redacción de los mismos
se realiza bajo la terminología del cliente, no del desarrollador, de forma que sea clara
y sencilla, sin profundizarse en detalles.
Historia de Usuario 1
Historia de Usuario
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA CIVIL
Número de Historia :1 Título: Autenticar Usuario.
Usuario: Administrador.
Fecha Inicio: 05/09/2016
Fecha Fin: 25/10/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Permite el ingreso a la aplicación de un usuario registrado y con los permisos de
acuerdo a su Rol de Administrador.
Anotaciones:
Mensaje de error si se ingresa un usuario o clave incorrecta.
Tabla 3. 2 Historia de Usuario- Autenticar Usuario Fuente: “Jaramillo H. año 2017”
Historia de Usuario 2
27
Historia de Usuario
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA CIVIL
Número de Historia :2 Título: Administrar Personas.
Usuario: Administrador.
Fecha Inicio: 05/09/2016
Fecha Fin: 25/10/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Permite registrar, modificar, eliminar y consultar las personas, las cuales pueden ser
Profesor, Estudiante o Usuario que va registrando en el sistema, también la consulta se
podrá hacer ingresando parámetros.
Anotaciones:
Los registros se los ingresa diariamente, semanalmente o mensualmente.
Tabla 3. 3 Historia de Usuario- Administrar Personas Fuente: “Jaramillo H. año 2017”
Historia de Usuario 3
Historia de Usuario
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA CIVIL
Número de Historia :3 Título: Administrar Materia.
Usuario: Administrador.
Fecha Inicio: 05/09/2016
Fecha Fin: 25/10/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Permite registrar, modificar, eliminar y consultar las materias que se va registrando en
el sistema, también la consulta se podrá hacer ingresando parámetros.
Anotaciones:
Los registros se los ingresa diariamente, semanalmente o mensualmente.
Tabla 3. 4 Historia de Usuario- Administrar Materia Fuente: “Jaramillo H. año 2017”
Historia de Usuario 4
28
Historia de Usuario
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA CIVIL
Número de Historia :4 Título: Administrar Proyector.
Usuario: Administrador.
Fecha Inicio: 05/09/2016
Fecha Fin: 25/10/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Permite registrar, modificar, eliminar y consultar los proyectores que se va registrando
en el sistema, también la consulta se podrá hacer ingresando parámetros.
Anotaciones:
Los registros se los ingresa diariamente, semanalmente o mensualmente.
Tabla 3. 5 Historia de Usuario- Administrar Proyector Fuente: “Jaramillo H. año 2017”
Historia de Usuario 5
Historia de Usuario
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA CIVIL
Número de Historia :5 Título: Administrar Registros.
Usuario: Administrador.
Fecha Inicio: 05/09/2016
Fecha Fin: 25/10/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Permite registrar, modificar, eliminar y consultar los registros que se va insertando en
el sistema, también la consulta se podrá hacer ingresando parámetros.
Anotaciones:
Los registros se los ingresa diariamente, semanalmente o mensualmente.
Tabla 3. 6 Historia de Usuario- Administrar Registros Fuente: “Jaramillo H. año 2017”
Historia de Usuario 6
29
Historia de Usuario
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA CIVIL
Número de Historia :6 Título: Administrar Prestamos.
Usuario: Administrador.
Fecha Inicio: 05/09/2016
Fecha Fin: 25/10/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Permite registrar, modificar, eliminar y consultar tanto los prestamos manuales como
los préstamos por huella dactilar que se va registrando en el sistema.
Anotaciones:
Los registros se los ingresa diariamente, semanalmente o mensualmente.
Tabla 3. 7 Historia de Usuario- Administrar Prestamos Fuente: “Jaramillo H. año 2017”
Historia de Usuario 7
Historia de Usuario
SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE PROYECTORES DEL
LABORATORIO DE CÓMPUTO DE LA CARRERA DE INGENIERÍA CIVIL
Número de Historia :7 Título: Administrar Reporte.
Usuario: Administrador.
Fecha Inicio: 05/09/2016
Fecha Fin: 25/10/2016
Prioridad en Negocio: Alta
Riesgo en Desarrollo: Alta
Descripción de la Historia:
Permite mostrar los datos, luego de que estos estén sometidos a procesos, al usuario
final, esto con el objetivo de que el usuario pueda, en base a los datos mostrados,
continuar con los procesos necesarios.
Anotaciones:
Hay que tener en cuenta que debe existir datos dentro de los parámetros establecidos
por el sistema.
Tabla 3. 8 Historia de Usuario- Administrar Reporte Fuente: “Jaramillo H. año 2017”
30
3.3 Fase de Diseño
A diferencia de las metodologías pesadas, el diseño se realiza durante todo el tiempo
de vida del proyecto, siendo constantemente revisado y muy probablemente
modificado debido a cambios presentados durante el desarrollo
Entre los elementos más importantes que menciona XP referentes al diseño esta la
simplicidad, las tarjetas CRC, el refactoring y spike solution, diagrama de Clases y
Diccionario de Datos en el ANEXO C.
3.3.1 Diagramas de Secuencia
Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una
aplicación a través del tiempo en el cual se indicarán los módulos o clases que formaran
parte del programa y las llamadas que se hacen cada uno de ellos para realizar una
tarea determinada, por esta razón permite observar la perspectiva cronológica de las
interacciones. Es importante recordar que el diagrama de secuencias se realiza a partir
de la descripción de un caso de uso, el diagrama de secuencia contiene detalles de
implementación del escenario, incluyendo los objetos y clases que se usan para
implementar el escenario y mensajes intercambiados entre los objetos
Entre las ventajas que tiene la elaboración de un diagrama de secuencias están las
siguientes:
Puede verse con facilidad como se distribuyen las tareas entre los componentes.
Pueden identificarse los modelos de interacción que dificultan la actualización
de software.
31
A continuación se detallan los diagramas de secuencia:
Diagrama de Secuencia Nº1
Figura 3. 1 Diagrama de Secuencia de Administración
Fuente: “Jaramillo H. año 2017”
Diagrama de Secuencia Nº2
Figura 3. 2 Diagrama de Secuencia Ingreso de Materia
Fuente: “Jaramillo H. año 2017”
Diagrama de Secuencia Nº3
32
Figura 3. 3 Diagrama de Secuencia Ver/Editar Materia
Fuente: “Jaramillo H. año 2017”
Diagrama de Secuencia Nº4
Figura 3. 4 Diagrama de Secuencia Ver/Editar Materia
Fuente: “Jaramillo H. año 2017”
Diagrama de Secuencia Nº5
33
Figura 3. 5 Diagrama de Secuencia Ver/Editar Profesor
Fuente: “Jaramillo H. año 2017”
Diagrama de Secuencia Nº6
Figura 3. 6 Diagrama de Secuencia Ingreso Proyector
Fuente: “Jaramillo H. año 2017”
34
Diagrama de Secuencia Nº7
Figura 3. 7 Diagrama de Secuencia Ver/Editar Proyector
Fuente: “Jaramillo H. año 2017”
Diagrama de Secuencia Nº8
Figura 3. 8 Diagrama de Secuencia Ingreso Estudiante
Fuente: “Jaramillo H. año 2017”
35
Diagrama de Secuencia Nº9
Figura 3. 9 Diagrama de Secuencia Ver/Editar Estudiante
Fuente: “Jaramillo H. año 2017”
Diagrama de Secuencia Nº10
Figura 3. 10 Diagrama de Secuencia de Préstamo
Fuente: “Jaramillo H. año 2017”
36
Diagrama de Secuencia Nº11
Figura 3. 11 Diagrama de Secuencia de Préstamo
Fuente: “Jaramillo H. año 2017”
3.3.2 Diagrama entidad-relación de base de datos.
A continuación se presenta el diagrama entidad – relación para el sistema, en el cual
se muestra las entidades (tablas) con sus atributos (campos) existentes en el sistema,
así como también las relaciones y restricciones que existen entre ellas.
37
Figura 3. 12 Diagrama Entidad-Relación de Base de Datos
Fuente: “Jaramillo H. año 2017”
38
3.3 Fase de Codificación
En metodologías pesadas, la codificación es un proceso al cual solo se llega después
de largas fases de análisis y diseño de las que queda una gran cantidad de
documentación a partir de la cual el proceso de codificación es relativamente sencillo.
En XP el proceso es muy diferente, prácticamente desde un principio se inicia con la
codificación, favoreciendo el logro del objetivo de estar haciendo entregas
frecuentemente al cliente
Algunos de los elementos más importantes en cuanto a la codificación son que el
cliente debe estar presente en esta, se debe trabajar en parejas y debe haber prioridad
colectiva de trabajo.
3.3.1 Código Plantilla Estructura General del Sistema
Figura 3. 13 Código Estructura General
Fuente: “Jaramillo H. año 2017”
Cabecera Centro Pie de Página
39
Cabecera: contiene información relacionada al nombre del sistema, en la parte inferior
de la cabecera también se muestra el menú con los diferentes módulos a los que tiene
acceso el usuario.
Centro: es la parte más importante de la página, en donde mostraremos el contenido
de los diferentes módulos del sitio web así como también es donde se muestra las
diferentes ventanas de las opciones insertar, modificar y eliminar.
Pie de Página: es el lugar donde se muestra los derechos a quien pertenece el
desarrollo del sistema y también se muestra la fecha y hora del sistema.
Plain Old Java Object.
Tras la creación de la tabla en el motor de base de datos, generamos la clase java que
representará a dicha tabla en nuestro proyecto, esta clase también es cocida como
POJO:
package Entities; import java.io.Serializable; import java.util.Collection; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; @Entity @Table(name = "materia") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Materia.findAll", query = "SELECT m FROM Materia m"), @NamedQuery(name = "Materia.findByIdMateria", query = "SELECT m FROM Materia m WHERE m.idMateria = :idMateria"), @NamedQuery(name = "Materia.findByNombreMateria", query = "SELECT m FROM Materia m WHERE m.nombreMateria = :nombreMateria"), @NamedQuery(name = "Materia.findByCodigoMateria", query = "SELECT m FROM Materia m WHERE m.codigoMateria = :codigoMateria"), @NamedQuery(name = "Materia.findByCreditosMateria", query = "SELECT m FROM Materia m WHERE m.creditosMateria = :creditosMateria"),
40
@NamedQuery(name = "Materia.findBySemestreMateria", query = "SELECT m FROM Materia m WHERE m.semestreMateria = :semestreMateria"), @NamedQuery(name = "Materia.findByParaleloMateria", query = "SELECT m FROM Materia m WHERE m.paraleloMateria = :paraleloMateria")}) public class Materia implements Serializable { private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @NotNull @Column(name = "id_materia") private Integer idMateria; @Size(max = 60) @Column(name = "nombre_materia") private String nombreMateria; @Column(name = "codigo_materia") private Integer codigoMateria; @Column(name = "creditos_materia") private Integer creditosMateria; @Column(name = "semestre_materia") private Integer semestreMateria; @Column(name = "paralelo_materia") private Integer paraleloMateria; @OneToMany(mappedBy = "idMateria") private Collection<Registro> registroCollection; public Materia() { } public Materia(Integer idMateria) { this.idMateria = idMateria; } public Integer getIdMateria() { return idMateria; } public void setIdMateria(Integer idMateria) { this.idMateria = idMateria; } public String getNombreMateria() { return nombreMateria; } public void setNombreMateria(String nombreMateria) { this.nombreMateria = nombreMateria; } public Integer getCodigoMateria() { return codigoMateria; } public void setCodigoMateria(Integer codigoMateria) { this.codigoMateria = codigoMateria; } public Integer getCreditosMateria() { return creditosMateria; } public void setCreditosMateria(Integer creditosMateria) { this.creditosMateria = creditosMateria; } public Integer getSemestreMateria() { return semestreMateria;
41
} public void setSemestreMateria(Integer semestreMateria) { this.semestreMateria = semestreMateria; } public Integer getParaleloMateria() { return paraleloMateria; } public void setParaleloMateria(Integer paraleloMateria) { this.paraleloMateria = paraleloMateria; } @XmlTransient public Collection<Registro> getRegistroCollection() { return registroCollection; } public void setRegistroCollection(Collection<Registro> registroCollection) { this.registroCollection = registroCollection; } @Override public int hashCode() { int hash = 0; hash += (idMateria != null ? idMateria.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Materia)) { return false; } Materia other = (Materia) object; if ((this.idMateria == null && other.idMateria != null) || (this.idMateria != null && !this.idMateria.equals(other.idMateria))) { return false; } return true; } @Override public String toString() { return "Entities.Materia[ idMateria=" + idMateria + " ]"; } }
Ejemplo de un EJB
Una vez definida la interfaz, se procede a su implementación dentro del EJB.
package Controler; import Entities.Materia; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext;
42
@Stateless public class MateriaFacade extends AbstractFacade<Materia> { @PersistenceContext(unitName = "SistemaBiometricoCivilPU") private EntityManager em; @Override protected EntityManager getEntityManager() { return em; } public MateriaFacade() { super(Materia.class); } }
Clase Converter
package Converters; import Entities.Materia; import Controler.MateriaFacade; import Bean.util.JsfUtil; import java.util.logging.Level; import java.util.logging.Logger; import javax.faces.bean.ManagedBean; import javax.ejb.EJB; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; @ManagedBean(name = "materiaConverter") public class MateriaConverter implements Converter { @EJB private MateriaFacade ejbFacade; @Override public Object getAsObject(FacesContext facesContext, UIComponent component, String value) { if (value == null || value.length() == 0 || JsfUtil.isDummySelectItem(component, value)) { return null; } return this.ejbFacade.find(getKey(value)); } java.lang.Integer getKey(String value) { java.lang.Integer key; key = Integer.valueOf(value); return key; } String getStringKey(java.lang.Integer value) { StringBuffer sb = new StringBuffer(); sb.append(value); return sb.toString(); } @Override public String getAsString(FacesContext facesContext, UIComponent component, Object object) { if (object == null || (object instanceof String && ((String) object).length() == 0)) { return null;
43
} if (object instanceof Materia) { Materia o = (Materia) object; return getStringKey(o.getIdMateria()); } else { Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, "object {0} is of type {1}; expected type: {2}", new Object[]{object, object.getClass().getName(), Materia.class.getName()}); return null; } } }
Clase Controller
package Bean; import Entities.Materia; import Controler.MateriaFacade; import javax.ejb.EJB; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; import javax.annotation.PostConstruct; @ManagedBean(name = "materiaController") @ViewScoped public class MateriaController extends AbstractController<Materia> { @EJB private MateriaFacade ejbFacade; /** * Initialize the concrete Materia controller bean. The AbstractController * requires the EJB Facade object for most operations. */ @PostConstruct @Override public void init() { super.setFacade(ejbFacade); } public MateriaController() { // Inform the Abstract parent controller of the concrete Materia Entity super(Materia.class); } /** * Sets the "items" attribute with a collection of Registro entities that * are retrieved from Materia?cap_first and returns the navigation outcome. * * @return navigation outcome for Registro page */ public String navigateRegistroCollection() { if (this.getSelected() != null) { FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("Registro_items", this.getSelected().getRegistroCollection()); } return "/Pages/registro/index"; } }
44
3.3.2 Interfaz de Usuario
Listar registros
Figura 3. 14 Interfaz de Usuario- Listar Registros
Fuente: “Jaramillo H. año 2017”
Creación nuevo registro
Figura 3. 15 Interfaz de Usuario- Creación Nuevo Registro
Fuente: “Jaramillo H. año 2017”
45
Editar registro
Figura 3. 16 Interfaz de Usuario- Editar Registro
Fuente: “Jaramillo H. año 2017”
Eliminar registro
Figura 3. 17 Interfaz de Usuario- Eliminar Registro
Fuente: “Jaramillo H. año 2017”
46
Mensajes de error
Figura 3. 18 Interfaz de Usuario- Mensaje de Error
Fuente: “Jaramillo H. año 2017”
3.3.2 Biométrico principales Métodos
A continuación se describe las líneas de código más importantes a la implementación
del sistema biométrico aplicado a este proyecto.
// Esta función se llama cada vez que se coloca un dedo en el sensor. public void onFingerDown(String idSensor) {
ui.writeLog("Sensor: "+idSensor+". Event: Finger Placed.");
}
// Esta función se llama cada vez que se retira un dedo del sensor.
public void onFingerUp(String idSensor) {
ui.writeLog("Sensor: "+idSensor+". Event: Finger Removed.");
}
// Devuelve la imagen de huella digital actual, sin ninguna información
biométrica.
public BufferedImage getFingerprint() {
return this.fingerprint;
}
//Carga una imagen de huella digital desde un archivo
public void loadFile(File file, int resolution, ImageReaderSpi spi) {
try {
//Creates a image reader.
ImageReader reader = spi.createReaderInstance();
ImageInputStream input = ImageIO.createImageInputStream(file);
reader.setInput(input);
//Reads the image.
BufferedImage img = reader.read(0);
//Close the stream
reader.dispose();
input.close();
47
// creates and processes the fingerprint image
onImageAcquired("File", new FingerprintImage(img, resolution));
} catch (Exception e) {
// write error to log
ui.writeLog(e.toString());
}
}
// Define los parámetros utilizados para las verificaciones.
public void setParameters(int identifyThreshold, int identifyRotationTolerance,
int verifyThreshold, int verifyRotationTolorance) {
try {
fingerprintSDK.setIdentificationThreshold(identifyThreshold);
fingerprintSDK.setIdentificationRotationTolerance(identifyRotationTolerance);
fingerprintSDK.setVerificationRotationTolerance(verifyRotationTolorance);
fingerprintSDK.setVerificationThreshold(verifyThreshold);
} catch (GrFingerJavaException e) {
//write error to log
ui.writeLog(e.getMessage());
}
}
3.4 Fase de Pruebas
XP se enfatiza en la realización de un sin número de pruebas a lo largo del proyecto,
con el fin de asegurar en todo momento la realización de lo planeado en el diseño. En
este proceso no solo participa el equipo de desarrollo, también es importante los
aportes del cliente, sobre todo en las pruebas de aceptación. Cabe señalar que el diseño
de pruebas se realiza para todas las partes del sistema como una práctica para garantizar
el buen funcionamiento independiente de la decisión que se tome sobre implementarlas
en un framework.
Según XP se deber ser muy estricto con las pruebas. Solo se deberá liberar una nueva
versión si esta ha pasado con el cien por ciento de la totalidad de las pruebas. En caso
contrario se empleará el resultado de estas para identificar el error y solucionarlo con
mecanismos ya definidos.
3.4.1 Pruebas Funcionales
48
Prueba Funcional N°1
Prueba Funcional
Número Prueba: 1 Número de Historia de Usuario: 1
Nombre de la Prueba: Verificación del nombre de usuario/contraseña correcto.
Descripción: El usuario, al iniciar la aplicación verá una ventana de acceso a la aplicación, en
la que se le solicitará el nombre de usuario y la contraseña. El usuario debe introducir estos
campos y si cumple que el usuario esta registrado en el sistema tendrá acceso a la aplicación.
Condiciones de ejecución: Ninguna.
Entrada:
- El usuario ingresa correctamente a la dirección del sistema (URL).
- Aparece un cuadro de texto en el que se solicita el nombre de usuario y la contraseña.
- El usuario introduce ambos y presiona el botón “aceptar”
- El sistema verifica ambos campos y comprueba que existe tal usuario.
Resultado esperado: El sistema debe dar la bienvenida al sistema Informático SIPREPRO.
Evaluación de la prueba: Satisfactoria.
Tabla 3. 9 Prueba Funcional N°1- Historia de Usuario 1 Fuente: “Jaramillo H. año 2017”
Prueba Funcional N°2
Prueba Funcional
Número Prueba: 2 Número de Historia de Usuario: 1
Nombre de la Prueba: Verificación del nombre de usuario/contraseña incorrecto.
Descripción: El usuario, al iniciar la aplicación verá una ventana de acceso a la aplicación, en la
que se le solicitará el nombre de usuario y la contraseña. El usuario debe introducir estos
campos y si no cumple que el usuario está registrado en el sistema no tendrá acceso a la
aplicación.
Condiciones de ejecución: Ninguna.
Entrada:
- El usuario ingresa correctamente a la dirección del sistema (URL).
- Aparece un cuadro de texto en el que se solicita el nombre de usuario y la contraseña.
- El usuario introduce ambos y presiona el botón “aceptar”
- El sistema verifica ambos campos y comprueba que no existe tal usuario.
49
Resultado esperado: En este caso el sistema de validación de usuario y clave mostrara un
mensaje indicando que el usuario o clave incorrectos, que tiene que volver a ingresar las
credenciales.
Evaluación de la prueba: Satisfactoria.
Tabla 3. 10 Prueba Funcional N°2- Historia de Usuario 1 Fuente: “Jaramillo H. año 2017”
Prueba Funcional N°3
Prueba Funcional
Número Prueba: 3 Número de Historia de Usuario: 2
Nombre de la Prueba: Verificación de insertar, modificar, eliminar y consultar Personas.
Descripción: El usuario podrá realizar podrá realizar los diferentes cambios en las ventanas
según el tipo de persona que haya escogido que puede ser Profesor, Estudiante, Usuario. En la
que se le solicitará diferente información según corresponda. El usuario debe introducir estos
campos, si estos están correctos y completos se guardaran correctamente y si no cumple, el
mismo sistema indicara con mensajes de error los campos que estén incorrectos.
Condiciones de ejecución: Los datos deben correctos.
Entrada:
- El usuario al ingresar a la pantalla principal podrá visualizar las diferentes personas que tiene y
las diferentes opciones que tiene sobre cada uno.
- Según la opción escogida el sistema desplegara una ventana que la que se pide los datos
correspondientes a la persona.
- El usuario introduce los datos y presiona el botón “Guardar”.
- El sistema verifica los datos y si esta correcto se guardan los cambios.
Resultado esperado: En este caso el sistema verifica los datos introducidos si todo esta
correcto los guarda, de no ser así mostrara un mensaje indicando el error que está cometiendo el
usuario.
Evaluación de la prueba: Satisfactoria.
Tabla 3. 11 Prueba Funcional N°3- Historia de Usuario 2 Fuente: “Jaramillo H. año 2017”
Prueba Funcional N°4
Prueba Funcional
Número Prueba: 4 Número de Historia de Usuario: 3
Nombre de la Prueba: Verificación de insertar, modificar, eliminar y consultar Materia.
50
Descripción: El usuario podrá realizar los diferentes cambios en la Materia según la opción que
haya escogido. En la que se le solicitará diferente información según corresponda. El usuario
debe introducir estos campos, si estos están correctos y completos se guardaran correctamente y
si no cumple, el mismo sistema indicara con mensajes de error los campos que estén incorrectos.
Condiciones de ejecución: Los datos deben correctos.
Entrada:
- El usuario al ingresar a la pantalla principal podrá visualizar la opción de Materias el cual
ingresando se tendrá acceso a las diferentes opciones insertar, modificar, eliminar y consultar.
- Según la opción escogida el sistema desplegara una ventana que la que se pide los datos
correspondientes a la Materia.
- El usuario introduce los datos y presiona el botón “Guardar”.
- El sistema verifica los datos y si esta correcto se guardan los cambios.
Resultado esperado: En este caso el sistema verifica los datos introducidos si todo esta correcto
los guarda, de no ser así mostrara un mensaje indicando el error que está cometiendo el usuario.
Evaluación de la prueba: Satisfactoria.
Tabla 3. 12 Prueba Funcional N°4- Historia de Usuario 3 Fuente: “Jaramillo H. año 2017”
Prueba Funcional N°5
Prueba Funcional
Número Prueba: 5 Número de Historia de Usuario: 4
Nombre de la Prueba: Verificación de insertar, modificar, eliminar y consultar Proyector.
Descripción: El usuario podrá realizar los diferentes cambios en el Proyector según la opción
que haya escogido. En la que se le solicitará diferente información según corresponda. El
usuario debe introducir estos campos, si estos están correctos y completos se guardaran
correctamente y si no cumple, el mismo sistema indicara con mensajes de error los campos que
estén incorrectos.
Condiciones de ejecución: Los datos deben correctos.
51
Entrada:
- El usuario al ingresar a la pantalla principal podrá visualizar la opción de Proyectores al cual
ingresando se tendrá acceso a las diferentes opciones insertar, modificar, eliminar y consultar.
- Según la opción escogida el sistema desplegara una ventana que la que se pide los datos
correspondientes al Proyector.
- El usuario introduce los datos y presiona el botón “Guardar”.
- El sistema verifica los datos y si esta correcto se guardan los cambios.
Resultado esperado: En este caso el sistema verifica los datos introducidos si todo esta
correcto los guarda, de no ser así mostrara un mensaje indicando el error que está cometiendo el
usuario.
Evaluación de la prueba: Satisfactoria.
Tabla 3. 13 Prueba Funcional N°5- Historia de Usuario 4 Fuente: “Jaramillo H. año 2017”
Prueba Funcional N°6
Prueba Funcional
Número Prueba: 6 Número de Historia de Usuario: 5
Nombre de la Prueba: Verificación de insertar, modificar, eliminar y consultar Registros.
Descripción: El usuario podrá realizar los diferentes cambios en el Registro según la opción que
haya escogido. En la que se le solicitará diferente información según corresponda. El usuario
debe introducir estos campos, si estos están correctos y completos se guardaran correctamente y
si no cumple, el mismo sistema indicara con mensajes de error los campos que estén incorrectos.
Condiciones de ejecución: Los datos deben correctos.
Entrada:
- El usuario al ingresar a la pantalla principal podrá visualizar la opción de Registros al cual
ingresando se tendrá acceso a las diferentes opciones insertar, modificar, eliminar y consultar.
- Según la opción escogida el sistema desplegara una ventana que la que se pide los datos
correspondientes al Registro.
- El usuario introduce los datos y presiona el botón “Guardar”.
- El sistema verifica los datos y si esta correcto se guardan los cambios.
Resultado esperado: En este caso el sistema verifica los datos introducidos si todo esta correcto
los guarda, de no ser así mostrara un mensaje indicando el error que está cometiendo el usuario.
Evaluación de la prueba: Satisfactoria.
Tabla 3. 14 Prueba Funcional N°6- Historia de Usuario 5 Fuente: “Jaramillo H. año 2017”
52
Prueba Funcional N°7
Prueba Funcional
Número Prueba: 7 Número de Historia de Usuario: 6
Nombre de la Prueba: Verificación de insertar, modificar, eliminar y consultar Prestamos.
Descripción: El usuario podrá realizar los diferentes cambios en el Préstamo según la opción
que haya escogido tomando en cuenta que existen dos tipos de préstamo uno por huella y otro
manual. En la que se le solicitará diferente información según corresponda. El usuario debe
introducir estos campos, si estos están correctos y completos se guardaran correctamente y si no
cumple, el mismo sistema indicara con mensajes de error los campos que estén incorrectos.
Condiciones de ejecución: Los datos deben correctos.
Entrada:
- El usuario al ingresar a la pantalla principal podrá visualizar la opción de Préstamo.
- Dentro de opción de préstamo se listan los tipos de Prestamos seleccionamos uno de ellos y de
esta manera se tendrá acceso a las diferentes opciones insertar, modificar, eliminar y consultar.
- Según la opción escogida el sistema desplegara una ventana que la que se pide los datos
correspondientes al Préstamo.
- El usuario introduce los datos y presiona el botón “Guardar”.
- El sistema verifica los datos y si esta correcto se guardan los cambios.
Resultado esperado: En este caso el sistema verifica los datos introducidos si todo esta correcto
los guarda, de no ser así mostrara un mensaje indicando el error que está cometiendo el usuario.
Evaluación de la prueba: Satisfactoria.
Tabla 3. 15 Prueba Funcional N°7- Historia de Usuario 6 Fuente: “Jaramillo H. año 2017”
Prueba Funcional N°8
Prueba Funcional
Número Prueba: 8 Número de Historia de Usuario: 7
Nombre de la Prueba: Verificación de Reportes.
Descripción: El usuario podrá realizar la descarga del reporte. En la que se le solicitará los
parámetros correspondientes los cuales son un rango de fecha. El usuario debe introducir estos
campos, si estos están correctos se realizara la descarga del mismo.
Condiciones de ejecución:
- Los datos deben correctos.
- La fecha inicial debe ser menor que la fecha final.
53
Entrada:
- El usuario al ingresar a la pantalla principal podrá visualizar la opción de Reporte.
- Dentro de la opción de Reporte se listan los parámetros que se deben llenar.
- El usuario introduce los datos y presiona el botón “Generar”.
- El sistema verifica los datos y si esta correcto se descarga el Reporte.
Resultado esperado: En este caso el sistema verifica los datos introducidos si todo esta
correcto se genera el reporte no ser así mostrara un mensaje indicando el error que está
cometiendo el usuario.
Evaluación de la prueba: Satisfactoria. Tabla 3. 16 Prueba Funcional N°8- Historia de Usuario 7
Fuente: “Jaramillo H. año 2017”
54
CAPITULO IV
4. IMPLEMENTACION DEL SISTEMA
4.1 Datos Preliminares
4.1.1 Certificación del Sistema
El Sistema Biométrico Para Préstamo De Proyectores Del Laboratorio De Cómputo
De La Carrera De Ingeniería Civi “Siprepro” está probado y soportado bajo
herramientas de sistema operativo, base de datos, driver´s de conexión y
compatibilidad con el sistema operativo. Certificado de la Implementación del Sistema
se encuentra en el ANEXO A del documento.
4.1.2. Selección De Las Herramientas De Desarrollo
El diseño y desarrollo de la aplicación se utilizó las siguientes herramientas de
desarrollo los cuales posteriormente en el ANEXO B se indicara su instalacion:
Java Development Kit JDK 1.8.0
JSF 2.1
Gestor de base de datos (PostgreSQL 9.4).
Servidor de aplicaciones (jboss-as-7.1.1.Final)
PrimeFaces 5.0
Ambiente de desarrollo (NetBeans IDE 8.0.2).
Dispositivo Biométrico (SecuGen)
o FDXSDK Pro para Windows
55
Tabla 4. 1 Cuadro comparativo de versiones de las herramientas
Fuente: “Jaramillo H. año 2017”
4.1.3 Requerimientos Hardware
A continuación se presentan los requerimientos recomendados de hardware para un
funcionamiento estable del SISTEMA BIOMÉTRICO PARA PRÉSTAMO DE
PROYECTORES DEL LABORATORIO DE CÓMPUTO DE LA CARRERA DE
INGENIERÍA CIVI “SIPREPRO”.
HARDWARE CARACTERÍSTICA
Procesador 2 GHz
Memoria RAM 4 GB
Disco Duro 40 GB
Unidad de DVD-ROM 1
Pantalla y periféricos •SuperVGA
•Teclado
• Mouse
Biométrico SecuGen Hamster Plus Tabla 4. 2 Cuadro comparativo de versiones de las herramientas
Fuente: “Jaramillo H. año 2017”
Versiones Inferiores
• Genera Conflictos
• Genera Conflictos
• Genera Conflictos
• Genera Conflictos
• Genera Conflictos
Versión Estable
• NetBeans IDE 8.0.2
• PostgreSQL 9.1
• Ireport 5.6.0
• JDK 1.7.0
• Jboss 7.1.1
Versiones Superiores
• Satisfactorio
• Satisfactorio
• Satisfactorio
• Genera Conflictos
• Genera Conflictos
81
4.2 Inicio del Sistema.
En esta pantalla se presentan en primera instancia las opciones para el proceso de
préstamo de proyector de la aplicación. En la parte superior se encuentran las opciones
de menú: Home, Materias, Personas, Proyectores, Estados, Registros, Préstamo y
Reporte. El menú Inicio siempre retornará al administrador a la pantalla que se está
describiendo en este punto.
El menú Materias contiene la opción de listar las materias registradas en el
sistema.
El menú Personas contiene las opciones de:
o Listar Profesores registrados en el sistema.
o Listar Estudiantes registrados en el sistema.
o El submenú Usuarios contiene las opciones de listar los usuarios y listar
los roles registrados en el sistema.
El menú Proyectores contiene la opción de listar los proyectores registrados en
el sistema.
El menú Estados contiene la opción de listar los Estados registrados en el
sistema.
El menú Registros contiene la opción de listar los registros insertados en el
sistema.
El menú Préstamos contiene la opción de listar los Préstamos registrados en el
sistema.
El menú de Reportes presenta la opción Reporte De Préstamo en el cual se podrá
conocer toda la información del préstamo de los proyectores.
82
El administrador podrá tener acceso a cualquiera de estas opciones en el momento que
se requiera su gestión.
<ui:composition> <h:form id="menuForm"> <p:menubar> <p:menuitem value="#{myBundle.Home}" outcome="/index" icon="ui-icon-home"/> <p:submenu label="MATERIAS" icon="ui-icon-bookmark"> <p:menuitem value="#{myBundle.MateriaHeading}" outcome="/Pages/materia/index" /> </p:submenu> <p:submenu label="PERSONAS" icon="ui-icon-person" > <p:menuitem value="#{myBundle.ProfesorHeading}" outcome="/Pages/profesor/index" /> <p:menuitem value="#{myBundle.EstudianteHeading}" outcome="/Pages/estudiante/index" /> <p:submenu label="USUARIOS" icon="ui-icon-person" > <p:menuitem value="#{myBundle.UsuarioHeading}" outcome="/Pages/usuario/index" /> <p:menuitem value="#{myBundle.RolHeading}" outcome="/Pages/rol/index" /> </p:submenu> </p:submenu> <p:submenu label="PROYECTORES" icon="ui-icon-image"> <p:menuitem value="#{myBundle.ProyectorHeading}" outcome="/Pages/proyector/index" /> </p:submenu> <p:submenu label="ESTADOS" icon="ui-icon-gear"> <p:menuitem value="#{myBundle.EstadoProyectorHeading}" outcome="/Pages/estadoProyector/index" /> <p:menuitem value="#{myBundle.EstadoPeriodoHeading}" outcome="/Pages/estadoPeriodo/index" /> </p:submenu> <p:submenu label="REGISTROS" icon="ui-icon-document"> <p:menuitem value="#{myBundle.RegistroHeading}" outcome="/Pages/registro/index" /> </p:submenu> <p:submenu label="PRESTAMO" icon="ui-icon-plusthick"> <p:menuitem value="#{myBundle.PrestamoProyHeading}" outcome="/Pages/prestamoProy/index"/> <p:menuitem value="#{myBundle.PrestamoManualHeading}" outcome="/Pages/prestamoManual/index"/> </p:submenu> <p:submenu label="REPORTE" icon="ui-icon-print"> <p:menuitem value="EXPORTAR REPORTE" outcome="/Pages/prestamoProy/index"/> </p:submenu> </p:menubar> </h:form> </ui:composition> </html>
83
Figura 4. 1 Cabecera del Sistema Fuente: “Jaramillo H. año 2017”
Figura 4. 2 Ítem - Materias
Fuente: “Jaramillo H. año 2017”
Figura 4. 3 Ítem - Personas
Fuente: “Jaramillo H. año 2017”
Figura 4. 4 Ítem - Proyectores
Fuente: “Jaramillo H. año 2017”
Figura 4. 5 Ítem - Estados
Fuente: “Jaramillo H. año 2017”
Figura 4. 6 Ítem - Registros
Fuente: “Jaramillo H. año 2017”
84
Figura 4. 7 Ítem - Préstamo
Fuente: “Jaramillo H. año 2017”
Figura 4. 8 Ítem - Préstamo
Fuente: “Jaramillo H. año 2017”
4.2.1 Ítem Materias.
En esta pantalla se presentará el manejo de la información de Materias.
<ui:define name="body"> <ui:include src="/materia/List.xhtml"/> <ui:include src="/materia/View.xhtml"/> <ui:include src="/materia/Edit.xhtml"/> <ui:include src="/materia/Create.xhtml"/> </ui:define>
Figura 4. 9 Plantilla de manejo de Datos - Materias
Fuente: “Jaramillo H. año 2017”
4.2.2 Ítem Personas.
Opción Profesores
En esta pantalla se presentará el manejo de la información de Profesores.
85
<ui:define name="body"> <ui:include src="/profesor/List.xhtml"/> <ui:include src="/profesor/View.xhtml"/> <ui:include src="/profesor/Edit.xhtml"/> <ui:include src="/profesor/Create.xhtml"/> <ui:include src="/estadoPeriodo/View.xhtml"/> </ui:define>
Figura 4. 10 Plantilla de manejo de datos - Profesores
Fuente: “Jaramillo H. año 2017”
Opción Estudiantes En esta pantalla se presentará el manejo de la información de Estudiantes.
<ui:define name="body"> <ui:include src="/estudiante/List.xhtml"/> <ui:include src="/estudiante/View.xhtml"/> <ui:include src="/estudiante/Edit.xhtml"/> <ui:include src="/estudiante/Create.xhtml"/> <ui:include src="/estadoPeriodo/View.xhtml"/> </ui:define>
Figura 4. 11 Plantilla de manejo de Datos - Estudiantes
Fuente: “Jaramillo H. año 2017”
Opción Usuarios En esta pantalla se presentará el manejo de la información de Usuarios.
86
<ui:define name="body"> <ui:include src="/usuario/List.xhtml"/> <ui:include src="/usuario/View.xhtml"/> <ui:include src="/usuario/Edit.xhtml"/> <ui:include src="/usuario/Create.xhtml"/> <ui:include src="/rol/View.xhtml"/> </ui:define>
Figura 4. 12 Plantilla de manejo de Datos - Usuarios
Fuente: “Jaramillo H. año 2017”
Opción Rol En esta pantalla se presentará el manejo de la información de Rol.
<ui:define name="body"> <ui:include src="/rol/List.xhtml"/> <ui:include src="/rol/View.xhtml"/> <ui:include src="/rol/Edit.xhtml"/> <ui:include src="/rol/Create.xhtml"/> </ui:define>
Figura 4. 13 Plantilla de manejo de Datos - Estudiantes
Fuente: “Jaramillo H. año 2017”
4.2.3 Ítem Proyectores
En esta pantalla se presentará el manejo de la información de Proyectores.
87
<ui:define name="body"> <ui:include src="/proyector/List.xhtml"/> <ui:include src="/proyector/View.xhtml"/> <ui:include src="/proyector/Edit.xhtml"/> <ui:include src="/proyector/Create.xhtml"/> <ui:include src="/estadoProyector/View.xhtml"/> </ui:define>
Figura 4. 14 Plantilla de manejo de Datos - Proyectores
Fuente: “Jaramillo H. año 2017”
4.2.4 Ítem Estados
Opción Estados de Proyector En esta pantalla se presentará el manejo de la información de los Estados de Proyector.
<ui:define name="body"> <ui:include src="/estadoProyector/List.xhtml"/> <ui:include src="/estadoProyector/View.xhtml"/> <ui:include src="/estadoProyector/Edit.xhtml"/> <ui:include src="/estadoProyector/Create.xhtml"/> </ui:define>
88
Figura 4. 15 Plantilla de manejo de Datos – Estados de Proyector
Fuente: “Jaramillo H. año 2017”
Opción Estados en Periodo En esta pantalla se presentará el manejo de la información de los Estados en el Periodo.
<ui:define name="body"> <ui:include src="/estadoPeriodo/List.xhtml"/> <ui:include src="/estadoPeriodo/View.xhtml"/> <ui:include src="/estadoPeriodo/Edit.xhtml"/> <ui:include src="/estadoPeriodo/Create.xhtml"/> </ui:define>
Figura 4. 16 Plantilla de manejo de Datos – Estados de Proyector
Fuente: “Jaramillo H. año 2017”
4.2.5 Ítem Registros
En esta pantalla se presentará el manejo de la información de Registros.
<ui:define name="body"> <ui:include src="/registro/List.xhtml"/> <ui:include src="/registro/View.xhtml"/> <ui:include src="/registro/Edit.xhtml"/> <ui:include src="/registro/Create.xhtml"/> <ui:include src="/estadoPeriodo/View.xhtml"/> <ui:include src="/estudiante/View.xhtml"/> <ui:include src="/profesor/View.xhtml"/> <ui:include src="/materia/View.xhtml"/> </ui:define>
89
Figura 4. 17 Plantilla de manejo de Datos – Registros
Fuente: “Jaramillo H. año 2017”
4.2.6 Ítem Préstamos
En esta pantalla se presentará el manejo de la información del Préstamo de Proyectores.
<ui:define name="body"> <ui:include src="/prestamoProy/List.xhtml"/> <ui:include src="/prestamoProy/View.xhtml"/> <ui:include src="/prestamoProy/Edit.xhtml"/> <ui:include src="/prestamoProy/Create.xhtml"/> <ui:include src="/usuario/View.xhtml"/> <ui:include src="/proyector/View.xhtml"/> <ui:include src="/registro/View.xhtml"/> </ui:define>
Figura 4. 18 Plantilla de manejo de Datos – Registros
Fuente: “Jaramillo H. año 2017”
4.3 Opciones Sobre los Registros
A continuación se muestran las diferentes acciones que puede realizar el
Administrador sobre la información que despliega el sistema, cabe mencionar que estas
90
acciones son genéricas, es decir todos los ítems del menú tienen acceso a dichas
opciones, las cuales son: Crear, Visualizar, Editar y Eliminar. Para mostrar el
funcionamiento de estas opciones vamos a ejemplificar usando el ítem del menú
llamado “Rol”.
Figura 4. 19 Manejo de Opciones sobre los datos
Fuente: “Jaramillo H. año 2017”
4.3.1 Create.xhtml
<p:dialog id="RolCreateDlg" widgetVar="RolCreateDialog" modal="true" resizable="false" appendTo="@(body)" header="#{myBundle.CreateRolTitle}" closeOnEscape="true"> <h:form id="RolCreateForm"> <h:panelGroup id="display" rendered="#{rolController.selected != null}"> <p:panelGrid columns="2" columnClasses="column"> <p:outputLabel value="#{myBundle.CreateRolLabel_idRol}" for="idRol" /> <p:inputText id="idRol" value="#{rolController.selected.idRol}" title="#{myBundle.CreateRolTitle_idRol}" required="true" requiredMessage="ID REQUERIDO"/> <p:outputLabel value="#{myBundle.CreateRolLabel_nombreRol}" for="nombreRol" /> <p:inputText id="nombreRol" value="#{rolController.selected.nombreRol}" title="#{myBundle.CreateRolTitle_nombreRol}" size="60" maxlength="60" required="true" requiredMessage="ROL REQUERIDO"/> </p:panelGrid> <p:commandButton actionListener="#{rolController.saveNew}" value="#{myBundle.Save}" update="display,:RolListForm:datalist,:growl" oncomplete="handleSubmit(xhr,status,args,PF('RolCreateDialog'));"> <p:confirm header="#{myBundle.ConfirmationHeader}" message="#{myBundle.ConfirmCreateMessage}" icon="ui-icon-alert"/> </p:commandButton> <p:commandButton value="#{myBundle.Cancel}" oncomplete="PF('RolCreateDialog').hide()" update="display" process="@this" immediate="true" resetValues="true"/> </h:panelGroup> </h:form> </p:dialog>
91
Figura 4. 20 Plantilla para ingreso de nuevo registro
Fuente: “Jaramillo H. año 2017”
4.3.2 List.xhtml
<h:form id="RolListForm"> <p:panel header="#{myBundle.ListRolTitle}"> <p:contextMenu id="RolDataTableContextMenu" for="datalist"> <p:menuitem value="#{myBundle.Create}" onclick="document.getElementById('RolListForm:createButton').click();" icon="ui-icon-plus"/> <p:menuitem value="#{myBundle.View}" onclick="document.getElementById('RolListForm:viewButton').click();" icon="ui-icon-search"/> <p:menuitem value="#{myBundle.Edit}" onclick="document.getElementById('RolListForm:editButton').click();" icon="ui-icon-pencil"/> <p:menuitem value="#{myBundle.Delete}" onclick="document.getElementById('RolListForm:deleteButton').click();" icon="ui-icon-trash"/> <p:separator/> <p:menuitem value="#{myBundle.RolMenuItem_usuarioCollection}" icon="ui-icon-search" action="#{rolController.navigateUsuarioCollection}" disabled="#{empty rolController.selected.usuarioCollection}" ajax="false"/> </p:contextMenu> <p:dataTable id="datalist" value="#{rolController.items}" lazy="false" rowKey="#{item.idRol}" var="item" paginator="true" rows="10" rowsPerPageTemplate="10,20,30,40,50" selectionMode="single" selection="#{rolController.selected}"> <p:ajax event="rowSelect" update="@form:createButton,@form:viewButton,@form:editButton,@form:deleteButton,@form:RolDataTableContextMenu"/> <p:ajax event="rowUnselect" update="@form:createButton,@form:viewButton,@form:editButton,@form:deleteButton,@form:RolDataTableContextMenu"/> <p:ajax event="contextMenu" update="@form:createButton @form:viewButton @form:editButton @form:deleteButton"/> <p:ajax event="rowDblselect" onsuccess="document.getElementById('RolListForm:viewButton').click();"/> <p:column sortBy="#{item.nombreRol}" > <f:facet name="header"> <h:outputText value="#{myBundle.ListRolTitle_nombreRol}"/> </f:facet> <h:outputText value="#{item.nombreRol}"/> </p:column> </p:dataTable> <p:commandButton id="createButton" icon="ui-icon-plus" value="#{myBundle.Create}"
92
actionListener="#{rolController.prepareCreate}" update=":RolCreateForm" oncomplete="PF('RolCreateDialog').show()"/> <p:commandButton id="viewButton" style="visibility: hidden;" icon="ui-icon-search" value="#{myBundle.View}" update=":RolViewForm" oncomplete="PF('RolViewDialog').show()" disabled="#{empty rolController.selected}"/> <p:commandButton id="editButton" style="visibility: hidden;" icon="ui-icon-pencil" value="#{myBundle.Edit}" update=":RolEditForm" oncomplete="PF('RolEditDialog').show()" disabled="#{empty rolController.selected}"/> <p:commandButton id="deleteButton" style="visibility: hidden;" icon="ui-icon-trash" value="#{myBundle.Delete}" actionListener="#{rolController.delete}" update=":growl,datalist" disabled="#{empty rolController.selected}"> <p:confirm header="#{myBundle.ConfirmationHeader}" message="#{myBundle.ConfirmDeleteMessage}" icon="ui-icon-alert"/> </p:commandButton> </p:panel> <ui:include src="/confirmation.xhtml"/> </h:form>
4.3.3 View.xhtml
<p:dialog id="RolViewDlg" widgetVar="RolViewDialog" modal="true" resizable="false" appendTo="@(body)" header="#{myBundle.ViewRolTitle}" closeOnEscape="true"> <h:form id="RolViewForm"> <h:panelGroup id="display"> <p:panelGrid columns="2" columnClasses="column" rendered="#{rolController.selected != null}"> <h:outputText value="#{myBundle.ViewRolLabel_idRol}"/> <h:outputText value="#{rolController.selected.idRol}" title="#{myBundle.ViewRolTitle_idRol}"/> <h:outputText value="#{myBundle.ViewRolLabel_nombreRol}"/> <h:outputText value="#{rolController.selected.nombreRol}" title="#{myBundle.ViewRolTitle_nombreRol}"/> </p:panelGrid> <p:commandButton value="#{myBundle.Close}" onclick="PF('RolViewDialog').hide()"/> </h:panelGroup> </h:form> </p:dialog>
Figura 4. 21 Plantilla para visualizar nuevos registros
Fuente: “Jaramillo H. año 2017”
4.3.4 Edit.xhtml
<p:dialog id="RolEditDlg" widgetVar="RolEditDialog" modal="true" resizable="false" appendTo="@(body)" header="#{myBundle.EditRolTitle}" closeOnEscape="true"> <h:form id="RolEditForm"> <h:panelGroup id="display">
93
<p:panelGrid columns="2" columnClasses="column" rendered="#{rolController.selected != null}"> <h:outputLabel value="#{myBundle.EditRolLabel_idRol}" for="idRol" /> <h:outputText id="idRol" value="#{rolController.selected.idRol}" /> <p:outputLabel value="#{myBundle.EditRolLabel_nombreRol}" for="nombreRol" /> <p:inputText id="nombreRol" value="#{rolController.selected.nombreRol}" title="#{myBundle.EditRolTitle_nombreRol}" size="60" maxlength="60"/> </p:panelGrid> <p:commandButton actionListener="#{rolController.save}" value="#{myBundle.Save}" update="display,:RolListForm:datalist,:growl" oncomplete="handleSubmit(xhr,status,args,PF('RolEditDialog'));"> <p:confirm header="#{myBundle.ConfirmationHeader}" message="#{myBundle.ConfirmEditMessage}" icon="ui-icon-alert"/> </p:commandButton> <p:commandButton value="#{myBundle.Cancel}" oncomplete="PF('RolEditDialog').hide()" update="display" process="@this" immediate="true" resetValues="true"/> </h:panelGroup> </h:form> </p:dialog>
94
CONCLUSIONES
En la actualidad el reconocimiento biométrico representa uno de los métodos
más empleados para el reconocimiento de la identidad de una persona, esto
debido a que las características biométricas, son únicas para cada persona
permitiendo así evitar suplantar la identidad de un individuo.
Se determinó que la aplicación funciona de manera óptima con una mínima
utilización de recursos disponibles.
La aplicación permite reducir los tiempos de registros del préstamo de
proyectores, mediante la automatización de procesos que antiguamente se
realizaban en forma manual. En cuanto a la información que genera el Sistema,
se puede concluir que por ser un proceso que no requiere de la intervención de
ninguna persona durante el registro, esta tiene integridad y consistencia, ya que
no puede ser modificada por agentes externos, permitiendo de esta manera que
la autoridad pertinente pueda llevar un control preciso de los prestamos
realizados y permitiendo de esta manera que se puedan emitir reportes con
información real.
Se observó que el Dispositivo Biométrico (Hamster Plus) empleado para esta
Tesis cumplió con todas las expectativas esperadas, tanto en fiabilidad,
estabilidad, disponibilidad, precio y aceptación por el usuario. En definitiva se
puede decir que no siempre el dispositivo que tiene el mayor costo es el mejor,
ya que para los requerimientos que fueron planteados, el dispositivo Hamster
Plus pudo cumplir con todos los objetivos propuestos.
95
El sistema biométrico de huellas digitales es seguro y disponible especialmente
para la identificación. Este mide los patrones de huella digital y lo almacena de
forma única para cada individuo.
96
RECOMENDACIONES
Se recomienda usar el medio que proporcione la mejor estabilidad en la
conexión de red con el servidor, debido a que si se usa un medio inalámbrico
que no ofrezca las condiciones de estabilidad necesarias para el óptimo
funcionamiento de la aplicación esto puede causar efectos no deseados.
Durante el proceso de enrolamiento de huellas dactilares de los usuarios es
necesario mostrarles la forma correcta de colocar el dedo sobre el dispositivo,
con la finalidad de tener una validación exitosa en el primer intento y de esta
forma reducir el tiempo de registro de su asistencia.
Se recomienda realizar un buen modelo de base de datos, ya que esta será el
fundamento de todo el proyecto, además de ello dependerá que la información
sea consistente y de la velocidad con la que se acceda a los datos almacenados.
Se recomienda limpiar yemas de los dedos previamente al uso del dispositivo
biométrico para evitar lecturas erróneas de la huella dactilar y problemas en la
verificación.
Es necesario limpiar frecuentemente el área de captura del dispositivo
biométrico para evitar lecturas erróneas, para garantizar el correcto
funcionamiento.
Finalmente, el dispositivo biométrico empleado en el presente proyecto es fácil
de manejar y transportar, lo que no significa que deba ser manipulado
incorrectamente, sino todo lo contrario, todo esto para poder tener siempre los
mejores resultados que un dispositivo de esta clase pueda brindar durante el
proceso de reconocimiento biométrico.
97
BIBLIOGRAFÍA
1. BAHIT, E. (s.f.). El paradigma de la Programación Orientada a Objetos en PHP
y el patrón de arquitectura de Software MVC. Obtenido de
MONOGRAFIAS.COM: http://www.monografias.com/trabajos89/poo-y-mvc-
php/poo-y-mvc-php2.shtml
2. BALLADARES, S. (2015). ITAP RURAL. Obtenido de Conócenos:
http://www.itaprural.com
3. BAVERA, G. (2011). Definiciones de vocablos usuales en ganadería en
Argentina.
Obtenido de Diccionario de término laneros: http://www.produccion-
animal.com.ar/informacion_tecnica/a_curso_produccion_bovina_de_carne/07A-
02-Capitulo-II-Vocablos.pdf
4. BAVERA, GA. (2008). DESTETE DEFINITIVO; EFECTOS. Obtenido de
Sitio Argentino de Producción Animal:
http://www.produccionbovina.com/informacion_tecnica/destete/37-
destete_definitivo_efectos.pdf
5. BELL, D., & PARR, M. (2003). JAVA PARA ESTUDIANTES. MEXICO:
PEARSON EDUCATION.
6. CABALLEROS, S. (22 de 02 de 2014). MAKE THE FUTURE JAVA. Obtenido
de INTRODUCCION JAVA EE7: http://es.slideshare.net/vacax/introduccin-a- java-
ee-7-31747180.
7. CALENDAMAIA. (01 de 09 de 2014). NetBeans. Obtenido de Genbeta Dev:
http://www.genbetadev.com/herramientas/netbeans-1.
8. CALVOPIÑA, P. J. (03 de 04 de 2012). Lcdo. Johnn Calvopiña Ponce
.Obtenido de Programmer, Docente del Colegio Fiscal Técnico "Primero de Junio"
Tenguel - Guayas - Ecuador: http://johnnjc.blogspot.com/2012/04/sistema-
98
informatico-material-para-1ro.html.
9. ECURED. (04 de 05 de 2016). GlassFish. Obtenido de EcuRed:
http://www.ecured.cu/GlassFish
10. FERNÁNDEZ, G. J. (s.f.). Introducción a las metodologías ágiles.
Obtenido de Universitat Oberta de Catalunya:
https://www.exabyteinformatica.com/uoc/Informatica/Tecnicas_avanzadas_de_i
ngenieria_de_software/Tecnicas_avanzadas_de_ingenieria_de_software_%28M
odulo_3%29.pdf
11. FORO ARGENTINO DE GENETICA BOVINA. (2010). GPS Guía de
Procedimientos sugeridos. Obtenido de http://www.forodegeneticabovina.com/read-
article.php?articleId=32
12. FUENTES, G. (24 de 05 de 2014). WINDOWS SERVER 2008. Obtenido de
Transcripción de WINDOWS SERVER 2008.:
https://prezi.com/gzcch8k8_ek5/windows-server-2008/
13. GRANADOS, D. (21 de 10 de 2009). MANEJO DE SESIONES Y COOKIES.
Obtenido de Desarrollo de Aplicaciones Web II - Sesión 08: Sesiones y Cookies:
http://es.slideshare.net/difagram/desarrollo-de-aplicaciones-web-ii-sesin-08-
sesiones-y-cookies
14. JASPERTSOFT COMMUNITY. (01 de 01 de 2016). JasperReports® Library.
Obtenido de JaspertSoft Community:
http://community.jaspersoft.com/project/jasperreports-library
15. JAVA SERVER FACES. (2009). En B. HARWANI, Java Server Faces (pág.
212). PHI Learning Private Limited.
16. KINFANTAS. (25 de 02 de 2016). PostgreSQL. Obtenido de DBbyexample:
99
https://dbbyexample.wikispaces.com/Postgress
17. ORACLE CORPORATION. (01 de 01 de 2015). ¿Qué es la tecnología Java y
para qué la necesito? . Obtenido de Oracle:
https://www.java.com/es/download/faq/whatis_java.xml
18. STRUTS 2. (2010). En J. LAFOSSE, Struts 2 (pág. 463). Barcelona: Ediciones
ENI.
Obtenido de El Framework de desarrollo de aplicaciones JAVA EE.
19. WASHINTON, S. G. (01 de 01 de 2013). Desarrollo e implementación de un
sistema de información para el programa Bolsa de Empleos para Estudiantes,
Egresados y Graduados de la Universidad Central del Ecuador. Obtenido de
Repositorio Digital: http://www.dspace.uce.edu.ec/handle/25000/1936
100
ANEXOS
101
ANEXO A
Certificación de aprobación del Sistema
102
103
ANEXO B
1 INSTALACIÓN DE HERRAMIENTAS
1.1 Instalación de Herramientas de Software Necesarias.
A continuación se realiza la instalación de las herramientas de software necesarias para
la puesta a producción del sistema de Control de microproductor de cacao. En estas
herramientas constan Jdk 1.8.0_121, PostgreSQL 9.4., Jboss 7.1, iReport, Netbeans
8.0.2. Dichas herramientas deberán ser ejecutadas como usuario administrador.
1.1.1. Jdk 1.8.0_121.
Para la instalación de Java Development Kit, ingresar al sistema operativo. Una vez
que se ingrese, insertamos el CD, “SIPREPRO”, en el CD, ingresar al directorio
“INSTALADORES/JDK” ubicar el archivo “jdk-8u121-windows-i586.exe” y
copiarlo en el escritorio del sistema operativo.
Para la instalación, hacer doble clic en el archivo “jdk-8u121-windows-i586.exe”, así
comenzará el asistente de instalación que guiara el proceso, para continuar hacer clic
en el botón “Next”.
Figura B. 1 Bienvenida a la instalación de Jdk 1.8.0_121.
Fuente: Jaramillo Henry. Año 2017.
El asistente de instalación indica que componentes se agregaran con la instalación,
clic en el botón “Next”.
104
Figura B. 2. Componentes de instalación de Jdk 1.8.0_121.
Fuente: Jaramillo Henry. Año 2017.
El asistente prepara las configuraciones del sistema para la instalación.
Figura B. 3 Preparación de configuración de Jdk 1.8.0_121.
Fuente: Jaramillo Henry. Año 2017.
El asistente indica la ruta donde se instalará el jdk, clic en el botón “Next”.
Figura B. 4 Ruta de instalación de Jdk 1.8.0_121.
105
Fuente: Jaramillo Henry. Año 2017.
El asistente inicia la instalación del software.
Figura B. 5 Proceso de instalación de Jdk 1.8.0_121.
Fuente: Jaramillo Henry. Año 2017.
Una vez se haya finalizado la instalación, hacer clic en el botón “Close”.
Figura B. 6 Finalización de instalación de Jdk 1.8.0_121.
106
Fuente: Jaramillo Henry. Año 2017.
Luego de esto, establecer las variables de entorno para nuestra máquina virtual, para
esto, Clic Derecho en Equipo y elegir la opción “Propiedades”, aparecerá una ventana
donde aparece la información del sistema, hacer clic en “Cambiar configuración”, que
se encuentra a la izquierda; aparece la ventana “Propiedades del sistema”, ahí
seleccionar la pestaña “Opciones avanzadas” y hacer clic en el botón “variables de
entorno”.
Figura B. 7 Propiedades del sistema.
Fuente: Jaramillo Henry. Año 2017.
107
En el apartado “variables de usuario para…” hacer clic en el botón “Nueva…”, en el
campo “Nombre de la variable” ingresamos “JAVA_HOME” y en el campo “Valor de
la variable” ingresamos la ruta donde se instaló nuestro jdk, finalmente en el apartado
de “variables del sistema” seleccionamos “Path”, hacer clic en el botón “Editar”, ahí,
situarse al final de la línea e incluir el siguiente texto “%JAVA_HOME%\bin;” hacer
clic en el botón “Aceptar”, con esto regresamos a la ventana de propiedades del
sistema, luego hacer clic en el botón “Aceptar” para cerrar el cuadro de dialogo.
Figura B. 8 Nueva variables de usuario para Jdk 1.8.0_121.
Fuente: Jaramillo Henry. Año 2017.
Figura B. 9 Editar variable Path.
Fuente: Jaramillo Henry. Año 2017.
Figura B. 10 Variables de entorno para Jdk 1.8.0_121.
108
Fuente: Jaramillo Henry. Año 2017.
Comprobar si la instalación esta correcta para esto, abrimos la consola de comandos
de Windows cmd e ingresamos el comando “java -version”, al hacer esto el sistema
debe presentar la información de la máquina virtual de java que se ha instalado.
Figura B. 11 Comprobación de la instalación de Jdk 1.8.0_121.
Fuente: Jaramillo Henry. Año 2017.
1.1.2. PostgreSQL 9.4.11-2.
Parara la instalación del motor de base de datos, ingresar en el CD “SIPREPRO”, ahí
dentro, ubicar el directorio “INSTALADORES/PostgreSQL” buscar el archivo
“postgresql-9.4.11-2-windows.exe” copiarlo y pegarlo en el escritorio del sistema
operativo.
109
Para comenzar con la instalación, hacer doble clic sobre el archivo “postgresql-9.4.11-
2-windows.exe”, así comenzará el asistente de instalación que guiara el proceso, para
continuar hacer clic en el botón “Siguiente”.
Figura B. 12 Inicio del proceso de instalación, PostgreSQL 9.4.11-2.
Fuente: Jaramillo Henry. Año 2017.
El asistente indica la ruta donde se instalara el motor de base de datos; en esta sección
se debe dejar la ruta por default, para continuar clic en el botón “Siguiente”.
Figura B. 13 Directorio de instalación, PostgreSQL 9.4.11-2.
Fuente: Jaramillo Henry. Año 2017.
110
Luego de esto, el asistente indica la ruta donde se almacenaran los datos que se irán
añadiendo al motor de base de datos; en esta sección se debe dejar la ruta por default,
para continuar clic en el botón “Siguiente”.
Figura B. 14 Directorio de datos, PostgreSQL 9.4.11-2.
Fuente: Jaramillo Henry. Año 2017.
Se debe ingresar la contraseña “root” para el usuario administrador, en este caso
usuario “postgres”, como recomendación se debe ingresar una contraseña que sea la
combinación de letras, mayúsculas y minúsculas, caracteres alfanuméricos y caracteres
numéricos, para continuar clic en el botón “Siguiente”.
Figura B. 15 Contraseña para el usuario administrador.
Fuente: Jaramillo Henry. Año 2017.
111
Se debe indicar el puerto que ocupara el motor de base de datos dentro del servidor,
dejar el puerto 5432 que es el default, para continuar clic en el botón “Siguiente”.
Figura B. 16 Contraseña para el usuario administrador.
Fuente: Jaramillo Henry. Año 2017.
Indicar la configuración regional a ser usada en el clauster del motor de base de datos,
seleccionar la configuración por default, para continuar clic en siguiente.
Figura B. 17 Configuración regional para clauster.
Fuente: Jaramillo Henry. Año 2017.
112
Una vez realizado la configuración del motor de base de datos, el asistente preguntara
si deseamos comenzar con el proceso de instalación, clic en el botón “Siguiente”.
Figura B. 18 Inicio de instalación del motor de base de datos.
Fuente: Jaramillo Henry. Año 2017.
El asistente comenzará el proceso de instalación, este proceso se tardara unos minutos.
Figura B. 19 Proceso de instalación, PostgreSQL 9.4.11-2.
Fuente: Jaramillo Henry. Año 2017.
Para finalizar el proceso de instalación, hacer clic en el botón “Terminar”.
Figura B. 20 Proceso de instalación, postgresSQL 9.5.4-2.
113
Fuente: Jaramillo Henry. Año 2017.
El asistente preguntará si se desea instalar componentes adicionales para el motor de
base de datos, hacer clic en el botón “Cancelar”.
Figura B. 21 Proceso de instalación, PostgresSQL 9.5.4-2.
Fuente: Jaramillo Henry. Año 2017.
Hacer clic en el botón “Si” para confirmar el mensaje y así cerrar el asistente de
instalación.
Figura B. 22 Proceso de instalación, postgresSQL 9.5.4-2.
114
Fuente: Jaramillo Henry. Año 2017.
1.1.3 Restauración de Base de Datos SIPREPRO.
Una vez realizado la instalación del motor de base de datos PostgreSQL, iniciamos el
programa PgAdmin III, para lo cual dirigirse al menú principal del sistema operativo
y en “Inicio” buscar la opción “PgAdmin III” y elegir la opción “PgAdmin III”; una
vez que se abra el administrador del motor de la base de datos, debemos autenticarnos
como usuario administrador, en este caso usuario “postgres”, e ingresamos la
contraseña que se otorgó al momento de la instalación del motor de base de datos.
Figura B. 23 Login de Usuario.
Fuente: Jaramillo Henry. Año 2017.
Crear la base de datos que contendrá la estructura y definición de tablas y secuencias
para el Sistema SIPREPRO, para esto, en el apartado “Databases” clic derecho y
seleccionar la opción “New Database”.
Figura B. 24 Crear Nueva Base de Datos.
115
Fuente: Jaramillo Henry. Año 2017.
Al hacer esto se mostrara un cuadro de dialogo que solicitará las propiedades para la
creación de la base de datos. Se debe ingresar las propiedades en las pestañas de
“Properties”, “Definition” tal como se muestra en las siguientes figuras. Para la
creación de la base de datos hacemos clic en el botón “Aceptar”.
Figura B. 25 Base de Datos, Propiedades Generales.
Fuente: Jaramillo Henry. Año 2017.
Figura B. 26 Base de Datos, Propiedades Específicas.
116
Fuente: Jaramillo Henry. Año 2017.
Cuando esté creada la Base de datos “biometricoCivil”, hay que restaurar la misma,
para lo cual, hacer clic derecho sobre esta y seleccionar la opción “Restore”.
Figura B. 27 Restaurar Base de Datos.
Fuente: Jaramillo Henry. Año 2017.
Se mostrara una pantalla en la cual hay que seleccionar el backup de la base que vamos
a restaurar, para lo cual se debe Ingresar al CD “SIPREPRO”, ubicar el directorio
117
“INSTALADORES/POSTGRESQL” y seleccionamos el archivo “civil.backup”,
copiar y pegar en el escritorio sistema, luego de hacer clic en Filename seleccionar
escritorio y buscar el archivo civil.bacukp dar doble clic, y proceder hacer clic en el
botón “Restore”.
Figura B. 28 Restaurar Base de Datos.
Fuente: Jaramillo Henry. Año 2017.
Para finalizar el proceso de instalación, hacer clic en el botón “Finish”.
Figura B. 29 Restaurar Base de Datos.
Fuente: Jaramillo Henry. Año 2017.
A continuación presionar Done
Figura B. 30 Restaurar Base de Datos.
118
Fuente: Jaramillo Henry. Año 2017.
Una vez restaurada la base de datos, la misma debe contener la siguiente estructura, en
la cual se evidencia, sus tablas, secuencias y funciones.
Figura B. 31 Restaurar Base de Datos.
Fuente: Jaramillo Henry. Año 2017.
1.1.4. Netbeans 8.0.2
119
Para la Instalación de Netbeans 8.0.2 ingresar al CD “SIPREPRO”, en el CD, dirigirse
al directorio “INSTALADORES\NETBEANS”, ubicar el archivo “netbeans-8.0.2-
windows.exe” y copiar en el escritorio.
Para comenzar con la instalación, hacer doble clic sobre el archivo “netbeans-8.0.2-
windows.exe”, así comenzará el asistente de instalación que guiara el proceso, para
continuar hacer clic en el botón “Next”.
Figura B. 32 Ejecución del instalador de Netbeans 8.0.2.
Fuente: Jaramillo Henry. Año 2017.
El asistente indica los términos de licencia, para continuar clic en “i accept the terms
in the license agreement” y dar clic en el botón “Next”.
120
Figura B. 33 Acuerdo de licencia de Netbeans 8.0.2.
Fuente: Jaramillo Henry. Año 2017.
El asistente indica los términos de licencia, para continuar clic en “i accept the terms
in the license agreement. Install JUnit” y dar clic en el botón “Next”.
Figura B. 34 Acuerdo de licencia de JUnit
Fuente: Jaramillo Henry. Año 2017.
El asistente indica la ruta donde se instalara el IDE Netbeans; en esta sección se debe
dejar la ruta por default, para continuar clic en el botón “Next”.
121
Figura B. 35 Ubicación de la instalación IDE.
Fuente: Jaramillo Henry. Año 2017.
Esta pantalla confirma los pasos antes mencionados para continuar con la instalación
dar clic en el botón “Install”.
Figura B. 36 Confirmación de la instalación IDE.
Fuente: Jaramillo Henry. Año 2017.
El asistente comenzará el proceso de instalación, este proceso se tardara unos minutos.
Figura B. 37 Proceso de instalación IDE.
122
Fuente: Jaramillo Henry. Año 2017.
Para finalizar el proceso de instalación, hacer clic en el botón “Finish”.
Figura B. 38 Finalizar la instalación IDE.
Fuente: Jaramillo Henry. Año 2017.
1.1.5. Jboss 7.1.1.
123
Para la Instalación de Jboss 6.4 ingresar al CD “SIPREPRO”, en el CD, dirigirse al
directorio “INSTALADORES/SERVIDOR”, descomprimir el archivo y copiar en el
disco C:/ del sistema.
Para la ejecutar el programa nos dirigimos a la dirección donde copiamos nuestro
archivo en la unidad C de nuestro sistema operativo y damos clic en la carpeta con el
nombre “jboss-as-7.1.1.Final”.
Figura B. 39 Localización de instalación.
Fuente: Jaramillo Henry. Año 2017.
Hacemos doble clic y verificamos que se encuentren todos los archivos de instalación.
Figura B. 40 Verificación de archivos de instalación.
Fuente: Jaramillo Henry. Año 2017.
Verificamos dentro del archivo “bin” que se encuntren los archivos run.bat y run.sh.
Figura B. 41 Verificación de archivos de instalación
124
Fuente: Jaramillo Henry. Año 2017.
1.1.6. iReport 5.6.0
Para la Instalación de iReport 5.6.0 ingresar al CD “SIPREPRO”, en el CD, dirigirse
al directorio “INSTALADORES/ REPORTES/iReport-5.6.0-windows-installer.exe”
y damos clic en “Next”.
Figura B. 42 Instalación de iReport 5.6.0.
Fuente: Jaramillo Henry. Año 2017.
Aceptamos las condiciones de licencia dando clic en el botón “I Agree”.
Figura B. 43 Instalación de iReport 5.6.0.
125
Fuente: Jaramillo Henry. Año 2017.
Seleccionamos los componentes a instalar y damos clic en “Next”.
Figura B. 44 Instalación de iReport 5.6.0.
Fuente: Jaramillo Henry. Año 2017.
Seleccionamos la ruta de instalación de la herramienta y damos clic en “Next”.
Figura B. 45 Instalación de iReport 5.6.0.
126
Fuente: Jaramillo Henry. Año 2017.
Damos clic en “Install”.
Figura B. 46 Instalación de iReport 5.6.0.
Fuente: Jaramillo Henry. Año 2017.
Empezara la instalación de nuestra herramienta y esperamos que termine.
Figura B. 47 Instalación de iReport 5.6.0.
127
Fuente: Jaramillo Henry. Año 2017.
Un vez el asistente termine de instalar el producto mostrara la pantalla indicando que
se ha concluido con el proceso, hacer clic en el botón “Finish”.
Figura B. 48 Finalización de la instalación de iReport 5.6.0.
Fuente: Jaramillo Henry. Año 2017.
1.1.7. API de las Herramientas en Código Java del Dispositivo Biométrico
Kit de desarrollo de software del dispositivo biométrico Hamster Plus que permite su
funcionamiento sobre Windows. Controla las funciones de captura y validación de la
128
huella dactilar. Para la Instalación del API del Dispositivo Biometrico FDx SDK
ingresar al CD “SIPREPRO”, en el CD, dirigirse al directorio
“INSTALADORES/BIOMETRICO/FDx SDK Pro for Windows v3.54” y damos
doble clic en archivo “setup.exe”. Se iniciara la instalación para lo consiguiente damos
clic en “next”.
Figura B. 49 Instalación de FDx SDK.
Fuente: Jaramillo Henry. Año 2017.
Aceptamos las condiciones de licencia dando clic en el botón “Yes”
Figura B. 50 Instalación de FDx SDK.
Fuente: Jaramillo Henry. Año 2017.
129
Seleccionamos la carpeta de destino donde se guardarán los archivos necesarios de la
instalación y dar clic en la opción “Next”.
Figura B. 51 Instalación de FDx SDK.
Fuente: Jaramillo Henry. Año 2017.
Confirmamos el nombre de la carpeta y damos clic en “Next” y la instalación
comenzara.
Figura B. 52 Instalación de FDx SDK.
Fuente: Jaramillo Henry. Año 2017.
Damos clic en “Finish” para finalizar la instalación.
130
Figura B. 53 Instalación de FDx SDK.
Fuente: Jaramillo Henry. Año 2017.
Empezar la configuración del FDx SDK_Pro_Java. Se basa en un conjunto de
funciones implementadas bajo código Java que permite enlazar al dispositivo con el
sistema, a través de una Biblioteca de Enlace Dinámico de Windows (DLL por sus
siglas en inglés), que soporta el SDK de Hamster Plus y así poder controlar desde
código Java su funcionamiento. Se procede a copiar la carpeta FDx SDK Pro for Java
1.3 situada en la dirección “INSTALADORES/BIOMETRICO” en el disco C:/.
Figura B. 54 Configuración de FDx SDK.
Fuente: Jaramillo Henry. Año 2017.
A continuación se debe modificar el valor de la variable del sistema Path, agregando
la ubicación donde se encuentra la carpeta copiada anteriormente.
131
Figura B. 55 Variable del Sistema para FDx SDK.
Fuente: Jaramillo Henry. Año 2017.
Una vez finalizada la modificación de la variable de entorno se deberá guardar los
cambios, con lo que termina la configuración.
132
ANEXO C
Diccionario de Datos
CAMPO COMENTARIO
ID_PROFESOR Identificador único de registro. Incrementa de uno en uno.
ID_ESTADO_PERIODO Llave foránea que indica el estado de profesor dentro del
periodo.
NOMBRES_PROFESOR Nombres del profesor.
APELLIDOS_PROFESOR Apellidos del profesor.
CEDULA_PROFESOR Cédula del profesor.
CORREO_PROFESOR Correo del profesor. Tabla C. 1 Tabla Profesor
CAMPO COMENTARIO
ID_ESTUDIANTE Identificador único de registro. Incrementa de uno en uno.
ID_ESTADO_PERIODO Llave foránea que indica el estado de estudiante dentro del
periodo.
NOMBRES_ESTUDIANTE Nombres del estudiante.
APELLIDOS_ESTUDIANTE Apellidos del estudiante.
CEDULA_ESTUDIANTE Cédula del estudiante.
CORREO_ESTUDIANTE Correo del estudiante.
HUELLA_ESTUDIANTE Huella del estudiante. Tabla C. 2 Tabla Estudiante
CAMPO COMENTARIO
ID_USUARIO Identificador único de registro. Incrementa de uno en uno.
ID_ROL Llave foránea que indica el rol del usuario dentro del sistema.
NOMBRES_USUARIO Nombre del usuario.
PASS_USUARIO Contraseña del usuario. Tabla C. 3Tabla Usuario
CAMPO COMENTARIO
ID_ROL Identificador único de registro. Incrementa de uno en uno.
NOMBRES_ROL Nombres del rol. Tabla C. 4Tabla Rol
CAMPO COMENTARIO
ID_MATERIA Identificador único de registro. Incrementa de uno en
uno.
NOMBRE_MATERIA Nombre de la materia.
133
CODIGO_MATERIA Codigo de la materia.
CREDITOS_MATERIA Creditos de la materia.
SEMESTRE_MATERIA Semestre de la materia.
PARALELO_MATERIA Paralelo de la materia. Tabla C. 5 Tabla Materia
CAMPO COMENTARIO
ID_ESTADO_PERIODO Identificador único de registro. Incrementa de uno en
uno.
NOMBRE_ESTADO_PERIODO Nombres del estado en el periodo. Tabla C. 6 Tabla Estado en Periodo
CAMPO COMENTARIO
ID_ESTADO_PROY Identificador único de registro. Incrementa de uno en
uno.
NOMBRE_ESTADO_PROY Nombres del estado del proyector. Tabla C. 7 Tabla Estado de Proyector
CAMPO COMENTARIO
ID_PROYECTOR Identificador único de registro. Incrementa de uno en
uno.
ID_ESTADO_PROY Llave foránea que indica el estado del proyector.
ALTA_PROYECTOR Alta del proyector.
MARCA_PROYECTOR Marca del proyector.
MODELO_PROYECTOR Modelo del proyector.
SERIE_PROYECTOR Serie del proyector.
COLOR_PROYECTOR Color del proyector. Tabla C. 8 Tabla Proyector
CAMPO COMENTARIO
ID_REG Identificador único de registro. Incrementa de uno
en uno.
ID_MATERIA Llave foránea que indica la materia perteneciente al
registro.
ID_ESTUDIANTE Llave foránea que indica el estudiante perteneciente
al registro.
ID_PROFESOR Llave foránea que indica el profesor perteneciente
al registro.
ID_ESTADO_PERIODO Llave foránea que indica el estado del registro en el
periodo.
FECHA_CREACION_REG Fecha de creación del registro.
FECHA_ACTUALIZACION_REG Fecha de actualización del registro. Tabla C. 9 Tabla Registro
CAMPO COMENTARIO
134
ID_PRESTAMO_PROY Identificador único de registro. Incrementa de uno en uno.
ID_USUARIO Llave foránea que indica el usuario que realiza el préstamo.
ID_PROYECTOR Llave foránea que indica el proyector prestado.
ID_REG Llave foránea que indica el registro que pertenece al
préstamo.
PP_FECHA Fecha del préstamo.
PP_HORA_INICIO Hora de inicio del préstamo.
PP_HORA_FIN Hora de fin del préstamo.
PP_OBSERVACION Observación del préstamo. Tabla C. 10 Tabla Préstamo por Huella
CAMPO COMENTARIO
ID_PRESTAMO_MANUAL Identificador único de registro. Incrementa de uno en
uno.
ID_USUARIO Llave foránea que indica el usuario que realiza el
préstamo manual.
ID_PROYECTOR Llave foránea que indica el proyector prestado.
PM_MATERIA Materia que pertenece al préstamo manual.
PM_PROFESOR Profesor que pertenece al préstamo manual.
PM_ESTUDIANTE Estudiante que pertenece al préstamo manual.
PP_FECHA Fecha del préstamo manual.
PP_HORA_INICIO Hora de inicio del préstamo manual.
PP_HORA_FIN Hora de fin del préstamo manual.
PP_OBSERVACION Observación del préstamo manual. Tabla C. 11 Tabla Préstamo manual