Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tomo 1 PDF
Tomo 1 PDF
Autores:
GUAYAQUIL-ECUADOR
Ao: 2007
TRIBUNAL DE GRADUACIN
DECLARACIN EXPRESA
La autora de la tesis de grado corresponde exclusivamente al suscrito(s),
perteneciendo a la Universidad de Guayaquil los derechos que generen la
aplicacin de la misma
INDICE GENERAL
TRIBUNAL DE GRADUACIN
DECLARACION EXPRESA
II
NDICE GENERAL
III
INDICE DE CUADROS
IV
INDICE DE DIAGRAMAS
INDICE DE IMAGENES
VI
RESUMEN
CAPTULO I
INTRODUCCIN
1.1. Anlisis de la Problemtica
1.3. Misin
1.4. Visin
1.7. Riesgos
1.8.
Alcances
12
1.9.
Arquitectura
14
1.10. Cronograma
16
1.11. Recursos
17
1.11.1.- Software
17
20
1.11.3.- Hardware
21
21
1.12.
22
Metodologa
24
32
34
34
34
35
1.12.3.4.- Administrativos
35
36
39
39
40
41
42
43
43
CAPITULO 2
ANALISIS ORIENTADO A OBJETO
2.1 Actores que intervienen
45
46
47
48
48
49
2.1.3. Empleado
49
50
2.1.5. Administrador
51
52
53
53
54
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
63
64
70
70
2.6.1.1.
Registrar Empleado
70
2.6.1.2.
71
2.6.1.3.
72
2.6.1.4.
Asignacin de reas
73
2.6.1.5.
Asignacin de Horarios
74
2.6.1.6.
Horas Extras
75
2.6.1.7.
Reportes
76
77
77
78
79
80
80
81
82
CAPITULO 3
DISEO ORIENTADO A OBJETO
3.1 Diagrama de Clases
83
84
84
84
84
85
85
86
86
86
87
87
87
88
88
89
89
89
90
90
90
91
91
108
110
110
110
112
112
116
3.6.1.- Mantenimiento
114
3.6.2.- Administracin
120
3.6.3. Reportes
123
CAPITULO 4
DESARROLLO Y PRUEBAS
4.1 El ciclo de vida del Sistema Biomtrico BioSystem
130
130
Prueba de clases
130
130
130
131
Prueba de cambios
131
Prueba de stress
131
Revisin tcnica
131
132
132
133
133
Cdigos de Conexin
133
CAPITULO 5
IMPLEMENTACION
5.1 Instalacin
135
CAPITULO 6
CONCLUSIONES
140
RECOMENDACIONES
142
BIBLIOGRAFIA
ANEXO: CRONOGRAMA
BIBLIOGRAFIA
http://www.biometriaaplicada.com/
http://es.wikipedia.org/wiki/Biometr%C3%ADa
http://www.biometrika.ec/serv_noticias1.htm
http://www.squarenet.com.ec/lectores.html
http://internetblog.emol.com/archives/2007/04/biometria_la_hu.asp
http://www.inmigracionyvisas.com/a619_biometria.html
http://www.todo-linux.com/modules.php?name=News&file=article&sid=5851
http://softlibre.barrapunto.com/article.pl?sid=07/02/10/1142200
RESUMEN
La aplicacin BioSystem
CAPITULO 1
1.
Introduccin
1.3. Misin
Proporcionar a las organizaciones la capacidad de mantener un eficaz
registro de asistencias de su personal, en diferentes aspectos o
eventos a considerar, dndole as la facilidad de establecer clculos
de horas reales trabajadas, horas extras, e informe de multas e
infracciones de sus empleados; ofreciendo la facilidad de tomar
decisiones certeras sobre el accionar del personal, permitindole
encontrar soluciones que conlleven a mejorar la actitud de sus
miembros
1.4. Visin
Proporcionar a las organizaciones el mejor servicio de control de
asistencias de personal y de acceso.
1.7. Riesgos
El riesgo que corremos con la biometra actual es que se olvida que
los procesos de identificacin o autenticacin son complejos y
delicados, y que por mucho que mejore la tecnologa, no se puede
hacer reposar sobre ella la carga probatoria, y menos an si lo hace
de forma exclusiva.
Entre los riesgos que encontramos durante el desarrollo del proyecto
tenemos:
Retraso en la entrega del proyecto
Falta de capacidad del personal
Factores externos, tales como: desastres naturales y/o suspensin
de fuente elctrica, muertes, accidentes.
Falla del programa en el momento de la ejecucin
Riesgo de contraer enfermedades en la piel (herpes, grietas,
callos, psoriasis)
Riesgos que el dispositivo biomtrico se dae (deje de funcionar).
Riesgo de que uno de los integrantes del grupo se retire
Riesgo de que no se termine el proyecto a tiempo
RIESGOS
PROBABILIDAD
1 - 100 (%)
IMPACTO
(1-5)
10
10
20
30
Riesgo
de
contraer
enfermedades en la piel
15
10
30
Factores externos
Cuadro 1.A.
Niveles de Riesgo
Consecuencias
Ligeramente
Daino
LD
Baja
B
Probabilidad
Riesgo trivial
T
Media
M Riesgo tolerable
TO
Alta
A
Riesgo
moderado
MO
Daino
D
Extremadamente
Daino
ED
Riesgo
tolerable
TO
Riesgo moderado
MO
Riesgo
moderado
MO
Riesgo importante
I
Riesgo
importante
I
Riesgo intolerable
IN
Cuadro 1.B.
10
Nomenclatura de Riesgos
Riesgo
Accin y temporizacin
Trivial (T)
Tolerable
(TO)
Moderado
(MO)
Se deben hacer esfuerzos para reducir el riesgo, determinando las inversiones precisas.
Las medidas para reducir el riesgo deben implantarse en un perodo determinado.
Cuando el riesgo moderado esta asociado con consecuencias extremadamente dainas,
se precisar una accin posterior para establecer, con ms precisin, la probabilidad de
dao como base para determinar la necesidad de mejora de las medidas de control.
Importante
(I)
No debe comenzarse el trabajo hasta que se haya reducido el riesgo. Puede que se
precisen recursos considerables para controlar el riesgo. Cuando el riesgo corresponda a
un trabajo que se est realizando, debe remediarse el problema en un tiempo inferior al
de los riesgos moderados.
Intolerable
(IN)
Cuadro 1.C.
11
Tabla de Riesgos
RIESGOS
PROBABILIDAD CONSECUENCIAS
BM-A
LD D - ED
TIPO/RIIESGO
T TO MO
I - IN
Retraso en la entrega
del proyecto
TO
ED
LD
ED
IN
LD
TO
LD
TO
MO
Factores externos
Falla del programa en
el momento de la
ejecucin
Riesgo de contraer
enfermedades en la piel
Riesgos
que
el
dispositivo biomtrico
se dae
De que uno de los
integrantes del grupo
se retire
Que el proyecto se
dae
Cuadro 1.D.
12
1.8. Alcances
El software a implementar podr administrar un mdulo de control de
acceso, para lo cual se considerar:
13
14
1.9. Arquitectura
Cuadro 1.E.
15
Capa de datos
Capa de negocios
Capa de presentacin
16
1.10.
Cronograma
TAREA
1
2
3
4
5
6
7
8
9
10
11
12
13
NOMBRE DE LA TAREA
CRONOGRAMA DE ACTIVIDADES BIOSYSTEM
CONCEPTUALIZACION DEL PROYECTO
ANALISIS
Levantamiento de de la Informacin
Plan de Trabajo
Anlisis Econmico
Anlisis Funcional
Anlisis de los Casos de Usos
Anlisis de Comportamiento
DISEO
Estructura de los Objetos
Comportamiento Funcional
Avance de Entregables
DIAS
98 das
23 das
67 das
9 das
5 das
7 das
13 das
6 das
27 das
19 das
10 das
7 das
4 das
Cuadro 1.F.
17
1.11.
Recursos
1.11.1.- Software:
El software con la cual trabajaremos lo detallaremos a continuacin:
Servidor APACHE TOMCAT
DEFINICION: Tomcat es un servidor web con soporte de servlets y
JSPs.
Incluye
el
compilador
Jasper,
que
compila
JSPs
18
API Java provista por los creadores del lenguaje Java, y que da a
los programadores un ambiente de desarrollo completo
Java
Runtime
Environment
proporciona
nicamente
un
19
Sistema Operativos:
DEFINICION (LINUX FEDORA CORE 5):
Es la denominacin de un sistema operativo y el nombre de un
ncleo. Es uno de los paradigmas del desarrollo de software libre
(cdigo
abierto),
pblicamente
donde
cualquier
el
cdigo
persona,
fuente
con
est
los
disponible
conocimientos
incluyendo
20
21
1.11.3.- Hardware:
El sistema que se va a implantar manejara una red de rea local en
la que habr un servidor que administrara y almacenara una base
de datos opensource (POSTGRE), y un terminal donde poseer el
aplicativo con la interfaz que se va a utilizar, tambin posee un
lector de huellas dactilar (Dispositivo biomtrico Dactilar BIOPOD
APC).
proyecto:
Metodologa
Anlisis
Diseo
Desarrollo
Pruebas y correccin de errores
Implementacin
22
Documentacin
Nuestra metodologa se basa en el Lenguaje Modelado Unificado
Usaremos diagramas de casos de uso, pues para ello se definirn los
actores para saber quienes ingresan y reciben informacin al sistema
en este diagrama podemos encontrar:
Determinacin de Requerimientos: Por lo general nuevos
requerimientos de sistema generan nuevos usos-casos,
conforme es analizado y diseado el sistema.
Comunicacin con el Cliente: Debido a la sencillez de este tipo
de diagramas, son fciles de emplear para comunicarse con el
cliente final del proyecto.
Generacin de pruebas de Sistemas: A travs de los diagramas
uso-caso se pueden generar una serie de pruebas de sistema.
Identificaremos si un usuarios actuarn con diferentes roles
Comprensin detallada de la funcionalidad del sistema
Gestin de riesgo ms eficiente para gobernar la complejidad
Mayor control para mantener las sucesivas revisiones de los
programas
Documentacin orientada al administrador del sistema
Se usar diagrama de actividades, para demostrar todas las series de
actividades que deben ser realizadas en un diagrama de caso de uso,
as como las distintas rutas que pueden irse desencadenando en el
23
diagramas
de
colaboracin.
Los
diagramas
de
24
asistencias,
la
investigacin
ayudo
comprender
los
25
26
27
A. ENTREVISTAS
Se realizaron entrevistas con el fin de conocer los procesos de
control de
28
29
Casi siempre [ ]
Nunca [ ]
30
Encuesta General
Preguntas
Nmero 1
Alternativas
Si
No
Cuantificacin
20
10
Nmero 2
Si
No
14
16
Nmero 3
Si
No
25
5
Nmero 4
Diaria
Mensual
Trimestral
Otros
Manual
Automatizada
4
15
5
6
19
11
Nmero 5
Cuadro 1.G.
31
32
33
Valor
550,00
400,00
150,00
1100,00
Software
Se necesita de software para desarrollo de las pginas,
herramientas grficas y de creacin de animaciones, herramientas
de programacin, base de datos
Uso de herramientas OpenSource tales como.
Cantidad
1
1
1
1
1
Detalle
Eclipse
LINUX FEDORA CORE 5
JDK (JAVA)
J2EE 4
POSTGRE
Total
V.
total
0,00
0,00
0,00
0,00
0,00
00,00
Cuadro 1.I.
34
Cantidad
1
1
1
Detalle
Dreamweaver
PhotoShop
Visio 2000
Total
V.
total
35,00
20,00
20,00
75,00
Cuadro 1.J.
Detalle
Lder de Proyecto
Diseador Grfico
Analista programador
Administrador de Red
DBA
Digitador
Especialista en Marketing y Publicidad
Total
1.11.3.4.- Administrativos
V. total
400,00
200,00
300,00
300,00
300,00
200,00
300,00
2000,00
Cuadro 1.K.
Valor
180,00
300,00
480,00
Cuadro 1.L.
35
procesos.
Se detalla los escenarios que presentara la aplicacin de control de
asistencias:
El sistema de control de asistencia procesara la informacin de las
entradas, salidas, hora de almuerzos de un empleados mediante el
uso de un dispositivo biomtrico que receptara las lectura dactilares
por cada evento ha registrar.
36
Horario Vespertino
Horario Nocturno
Horario Diurno
Horario por turno
37
permisos,
determinado periodo.
justificaciones
vacaciones
en
un
Datos
Persona
Natural
Informacin
Registrar
Datos
Personales
Usuarios
Diagrama 1
39
Presiona
Empleado
Informes
Informacin
Dactilar
Asistencia
Departamento
de Recursos
Humanos
Toma
Decisiones
Dispositivo Dactilar
Diagrama 2
40
Presiona
Empleado
Informacin
Dactilar
Autentificacin
de la
Informacin
Informacin
Real
Asistencias
Dispositivo Dactilar
Informacin
Errnea
Mdulos de
Marcaciones
Historial _ erradas
Diagrama 3
41
usuarios
Reloj
Solicita
Datos
Personales
Verificacin
de la
existencia de
la Huella
Modulo de
Marcacin
Huella Identificada
Genera
Reportes
Toma
Decisiones
Departamento
de Recurso
Humano
Huella no encontrada
Historial _ errados
Diagrama 4
42
feriados
Modulo de
Marcacin
obtiene
informacin
obtiene
informacin
Procesa informacin
Permisos x reas
horarios
usuario
control de acceso
infracciones
detalles asistencias
Diagrama 5
43
USUARIO
Nuevo
Actualizar
Eliminar
Consulta
Activo
Inactivo
Diagrama 6
ROLES
Nuevo
Actualizar
Eliminar
Consultar
Diagrama 7
FERIADOS
Nuevo
Actualizar
Eliminar
Consultar
Diagrama 8
44
HORARIOS
Nuevo
Actualizar
Eliminar
Consultar
Diagrama 9
CAPITULO 2
2
2.1.
Empleado
SISTEMA DE CONTROL DE
ASISTENCIA
Administrador
Cuadro 2.A.
46
Administrador
Empleado
Cuadro 2.B.
Rol de Administrador
Asignar a los Usuarios cualquiera de los roles creados en el sistema.
Quitar a los usuarios los roles asignados.
Reactivar Usuarios en el sistema
Actualizar roles del sistemas habilitando las opciones del men.
Empleado
Ingreso a ciertas opciones del sistema
Consultas de reportes
Impresin de reportes.
47
a. Datos personales
b. Tipos de acceso del Empleado
c. Departamento en la cual pertenece
48
e. Ingreso de permisos
f. Justificacin de permisos
El
usuario
podr
consultar
sus
asistencias,
2.2.1.
Registro de Personal
<<extends>>
Administrador
Registrar Asistencia
<<extends>>
Empleado
<<extends>>
Diagrama 10
retrasos,
49
2.2.2.
Ingreso al Sistema
Mantenimiento
Administrador
<<extends>>
<<extends>>
<<extends>>
<<extends>>
Administracion
<<extends>>
<<extends>>
Reportes
Empleado
Diagrama 11
2.2.3.
Empleado
Sistema Biosystem
Ingresar al Sistema
Consutas de informacin Personal
<<use>>
<<extends>>
<<extends>>
<<use>>
Reportes
Verificacin de asistencias
Empleado
<<extends>>
Generar reportes
Diagrama 12
50
2.2.4.
Modulo de Reportes
Generar reportes
<<uses>>
<<uses>>
Imprimir
Diagrama 13
51
2.2.5.
Administrador
Sistema Biosystem
<<extends>
<<extends>
Registrar Areas
<<extends>
Registrar departamentos
Administrador
<<extends>
<<extends>
Administracion
<<extends>
Reportes
Registrar Justificaciones
Diagrama 14
52
2.2.6.
Sistema Biosystem
<<extends>
Registrar Areas
Mantenimiento
<<extends>
Registrar departamentos
<<extends>
Usuario con
Privelegios
Reportes
Registrar Justificaciones
Diagrama 15
53
las
que
necesitan
colaborar
para
completar
responsabilidades.
EMPLEADO
-Id_empleado String
-nombres String
-apellidos String
-clave String
-roles String
-TipoUsuario TipoUsuario
-Horario horario
HORARIOS
TIPOUSUARIO
Cuadro 2.C.
sus
54
TIPOUSUARIO
-idTipoUsuario int
-descripcion String
-rol Rol
Cuadro 2.D.
AREAS
-Id_areas String
-descripcion String
-estado String
DEPARTAMENTOS
PERMISOAREA
Cuadro 2.E.
55
DEPARTAMENTOS
-Id_departamento String
-Id_areas String
-descripcion String
-estado String
AREAS
Cuadro 2.F.
PERMISOAREA
--idPermisoArea String
- Area area
- Empleado IdEmpleado
EMPLEADO
Cuadro 2.G.
56
PERMISOUSUARIO
--idPermisoUsuarioint
- permiso Permiso
- empleado Empleado
-fechaInicio Calendar
-fechaFin Calendar
EMPLEADOS
PERMISO
Cuadro 2.H.
PERMISO
--idPermiso int
- descripcion String
Cuadro 2.I.
57
DETALLE_HORARIOS
--idDetalleHorario int
- id_dia_horario int
- idHorario Horarios
- empleado Empleado
- Hora time
- evento Eventos
- orden int
HORARIOS
Cuadro 2.J.
HORARIOS
--idHorario String
- Descripcion String
EMPLEADOS
Cuadro 2.K.
58
TIPOINFRACCION
Cuadro 2.L.
ASISTENCIA
--idAsistencia int
- empleado Empleado
-fecha Calendar
Cuadro 2.M.
59
EVENTOS
Cuadro 2.N.
TIPOINFRACCION
--idTipoInfraccion int
- descripcion String
Cuadro 2.O.
60
TIPOINFRACCION
Cuadro 2.P.
ROLUSUARIO
-IdRolUsuario String
-idRol String
-Id_empleado Empleado
EMPLEADO
Cuadro 2.Q.
61
ROLUSUARIO
Cuadro 2.R.
Cuadro 2.S.
62
FERIADOS
--idFeriado int
- descripcion String
- estado String
Cuadro 2.T.
HORAS_EXTRAS
-id_h_extras int
-emp Empleado
-id_horario Horarios
-id_tipo_usuario
TipoUsuario
-id_rol Rol
EMPLEADO
Cuadro 2.U.
63
2.4.
Diagramas de Componentes
Servidor BD
<<database>>Postgres
Postmaster
TCP/IP
Servidor WEB
Java JDBC
Acceso a BD
Logica de Negocio
Interface Grfica
TCP/IP
Cliente
JVM
Browser
Servidor Web
Paginas JSP
Responde
Peticion
Procesar
Diagrama 16
64
SERVIDOR WEB
Un servidor Web es un programa que implementa el protocolo
HTTP (hypertext transfer protocol). Este protocolo est diseado
para transferir lo que llamamos hipertextos, pginas web o pginas
HTML (hypertext markup language): textos complejos con enlaces,
figuras,
formularios,
botones
objetos
incrustados
como
65
2.5.
DIAGRAMAS DE INTERFAZ
Diagrama 17
66
Diagrama 18
67
Diagrama 19
donde se muestra el
68
Diagrama 20
donde se muestra el
69
70
2.6.
Registrar Empleado
:Empleado :Administrador
:Base de Datos Registro
:InterfaceLogeo
:InterfaceEmpleado
ManejadorRegistro
Empleado
:ManejadorPrincipal
:InterfaceBaseDatos
Registro
2: desplegarPantalla(PantallaPrincipal)
1:Peticin
4: manejarEvento(Logeo)
10: OK
3:Logeo(log,pass))
5: validarRegistroAdministrador(.log.pass)
7: ExecuteQuery
(SQL)
6: validarRegistro(RegistroAdministrador.log.pass)
8: OK
9: OK
11: Registrar
PODRA
12: manejarEvento(Registrar)
13: crearRegistro(registroEmpleado)
14: ExecuteInsert
(SQL)
15: OK
16: OK
17: desplegarPantalla(pantallaRegistroEmpleado)
Diagrama 21
71
2.6.1.2.
:Empleado :Administrador
:InterfaceLogeo
:InterfaceEmpleado
ManejadorRegistro
Empleado
:ManejadorPrincipal
::Manejador
Consultas
:InterfaceBaseDatos
Registro
2: desplegarPantalla(PantallaPrincipal)
4: manejarEvento(Logeo)
1:Peticin
10: OK
7: ExecuteQuery
(SQL)
11: ofrecerConsulta()
3:Logeo(log,pass))
8: OK
5: validarRegistroAdministrador(.log.pass)
6: validarRegistro(RegistroAdministrador.log.pass)
9: OK
12: desplegarPantalla(PantallaConsuta)
13:ObtenerRegistro(int id_usuario)
14: manejarEvento(ObtenerRegistro)
15: obtenerRegistroEmpleado()
16: desplegarPantalla(PantallaObtenerRegistroEmpleado)
19: actualizarRegistro(RegistroEmpleado)
17:Actualizar
20: ExecuteUpdate
(SQL)
18: manejarEvento(Actualizar)
21: OK
22: OK
23: desplegarPantalla(PantallaObtenerRegistroEmpleado)
Diagrama 22
72
2.6.1.3.
:Empleado :Administrador
:InterfaceLogeo
:InterfaceEmpleado
ManejadorRegistro
Empleado
:ManejadorPrincipal
::Manejador
Consultas
:InterfaceBaseDatos
Registro
2: desplegarPantalla(PantallaPrincipal)
4: manejarEvento(Logeo)
1:Peticin
10: OK
7: ExecuteQuery
(SQL)
11: ofrecerConsulta()
3:Logeo(log,pass))
8: OK
5: validarRegistroAdministrador(.log.pass)
6: validarRegistro(RegistroAdministrador.log.pass)
9: OK
12: desplegarPantalla(PantallaConsuta)
13:ObtenerRegistro(int id_usuario)
14: manejarEvento(ObtenerRegistro)
15: obtenerRegistroEmpleado()
16: desplegarPantalla(PantallaObtenerRegistroEmpleado)
19: ElimininarRegistro(RegistroEmpleado)
17Eliminar
20: ExecuteUpdate
(SQL)
18: manejarEvento(Eliminar)
21: OK
22: OK
23: desplegarPantalla(PantallaObtenerRegistroEmpleado)
Diagrama 23
73
2.6.1.4.
:Empleado
Asignacin de reas
:Administrador
:Base de Datos Registro
:InterfaceEmpleado
ManejadorRegistro
Empleado
:InterfaceBaseDatos
Registro
:ManejadorPrincipal
:InterfaceArea
ManejadorRegistro
Area
18: AsignacionArea
19: manejarEvento(AsignacionArea)
20: crearRegistroAreas(AsignacionArea)
21: ExecuteUpdate
(SQL)
22: OK
23: OK
24: DesplegarPantallaAreas
25: OK
Diagrama 24
74
2.6.1.5.
:Empleado
Asignacin de Horarios
:Administrador
:Base de Datos Registro
:InterfaceEmpleado
ManejadorRegistro
Empleado
:InterfaceBaseDatos
Registro
:ManejadorPrincipal
:InterfaceHorario
ManejadorRegistro
Horario
26: AsignacionHorario
27: manejarEvento(AsignacionHorario)
28: crearRegistroAreas(AsignacionHorario)
29: ExecuteInsert
(SQL)
30: OK
31: OK
32: DesplegarPantallaHorario
33: OK
Diagrama 25
75
2.6.1.6.
:Empleado
Horas Extras
:Base de Datos Registro
:Administrador
ManejadorRegistro
Empleado
:InterfaceLogeo
:ManejadorPrincipal
2: desplegarPantalla(PantallaPrincipal)
:InterfaceBaseDatos
Registro
:InterfaceHoraExtra
ManejadorRegistro
HoraExtra
11: RegistrarHoraExtra()
4: manejarEvento(Logeo)
1:Peticin
12: manejarEvento(RegistrarHoraExtra)
10: OK
7: ExecuteQuery
(SQL)
3:Logeo(log,pass))
8: OK
5: validarRegistroAdministrador(.log.pass)
13. Crea_RegistroHorasExtra(RegistrarHoraExtra)
14: ExecuteInsert
(SQL)
6: validarRegistro(RegistroAdministrador.log.pass)
15: OK
9: OK
16:OK
17: DesplegarPantallaHoraExtra
Diagrama 26
76
2.6.1.7.
:Empleado
Reportes
:Administrador
ManejadorRegistro
Empleado
:InterfaceLogeo
:ManejadorPrincipal
2: desplegarPantalla(PantallaPrincipal)
:InterfaceBaseDatos
Registro
:InterfaceReportes
ManejadorRegistro
Reportes
11: ConsultarReportes()
4: manejarEvento(Logeo)
1:Peticin
12: manejarEvento(ConsultarReportes)
10: OK
7: ExecuteQuery
(SQL)
3:Logeo(log,pass))
8: OK
5: validarRegistroAdministrador(.log.pass)
13.crearRegistroReportes(ConsultarReportes)
14: ExecuteIQuery
(SQL)
6: validarRegistro(RegistroAdministrador.log.pass)
15: OK
9: OK
16:OK
17:DesplegarPantallaReportes
Diagrama 27
69
77
Ingreso de Empleados
2: Valida(usuario)
3: Valida(contrasea)
1: Logueo
Administrador
Ventana de Identificacin
Identificacin Validada
4: Generar Opciones
8: IngresarEmpleado
5: Ingresar datos Personales
6: Ingresar Perfiles
7: Ingresar Roles
Men de Mantenimiento
9: Grabar
10: Asignar Area
Empleado Ingresado
12: Grabar
13: Asignar Turnos y Horarios
Area Asignada
Horario Asignado
15: Grabar
16: Registrar Huellas Dactilares
18: Grabar
19: Seleccionar Opcion
Menu de Opciones
Diagrama 28
78
2.5.2.2.
Asistencia,
y Atrasos General
epo te de Reporte
s ste c a , de
a tas
y t asos Ge eFaltas
a
2: Valida(usuario)
3: Valida(contrasea)
1: Logueo
Administrador
Ventana de Identificacin
Identificacin Validada
4: Generar Opciones
7: Seleccionar Empleado
Men de Reportes
Empleado Seleccionado
Fechas Ingresadas
Reporte de Asistencia
Generado
Exportado a Excel
Diagrama 29
79
2.5.2.3.
eg st o de
t as
2: Valida(usuario)
3: Valida(contrasea)
1: Logueo
Administrador
Ventana de Identificacin
Identificacin Validada
4: Generar Opciones
6: Seleccionar Empleado
7: Ingresar Motivo
8: Selecionar Horas de Inicio y Fin
9: Seleccionar fecha de Inicio y Fin
Empleado Seleccionado
Men de Administracin
Diagrama 30
80
Registro de Empleados
Registro de Empleados
Label
Time
Accesa al
sistema
Ingresar Usuario y
Password
Comprobar Usuario y
Password
no
si
Ingresar un
empleado
Procesar datos
personales
Registrar Horarios
no
si
Empleado
Registrado
Diagrama 31
81
2.5.3.2.
Horas Extras
Horas extras
Accesa al
sistema
Ingresar Usuario y
Password
Comprobar Usuario y
Password
no
si
Asignar empleado
Procesar horas
extras
Diagrama 32
82
2.5.3.3.
Reporte de Asistencias
Reporte de Asistencias
Accesa al
sistema
Ingresar Usuario y
Password
Comprobar Usuario y
Password
no
si
Consultar
empleados
Consultar
asistencias
Generar el Reporte
Diagrama 33
CAPITULO 3
3 Diseo Orientado a Objetos
3.1. Diagrama de Clases
Departamentos
Empleados
Areas
-Id_empleado String
-nombres String
-apellidos String
-clave String
-roles String
-TipoUsuario TipoUsuario
-Horario horario
-Id_areas String
-descripcion String
-estado String
+setId_areas() : void
+setDescripcion() : void
+setEstado() :void
+getId_areas() :String
+getDescripcion() : String
+getEstado() : String
+setApellidos() : void
+setClave() : void
+setNombres() :void
+setRoles() : void
+setHorario(): void
+setTipoUsuario() : void
+getTipoUsuario() :TipoUsuario
+getHorario(): Horario
+getIdEmpleado() :String
+getRoles() : String
+getClave() : String
+getApellidos() : String
+getNombres() : String
1..*
1..*
1
1..*
1
1..*
1
-idTipoUsuario int
-descripcion String
-rol Rol
+setDescripcion() : void
+setIdTipoUsuario() : void
+setUsuarios() :void
+getRol(): Rol
+getIdTipoUsuario() : int
+getDescripcion(): String
Permiso
--idPermisoArea String
- Area area
- Empleado IdEmpleado
--idPermiso int
- descripcion String
--idEvento int
- descripcion String
- segundosPermitidos int
+setDescripcion() : void
+setIdEvento() : void
+setSegundosPermitidos() :void
+getIdEvento(): int
+getDescripcion(): String
+getSegundosPermitidos(): int
1..*
+setid_horas_extras() : void
+setIdTipoUsuario() : void
+setUsuarios() :void
+getRol(): Rol
+getIdTipoUsuario() : int
+getId_horas_extras(): String
--idAsistencia int
- empleado Empleado
-fecha Calendar
+setIdAsistencia() : void
+setFecha():void
+getIdAsistencia(): int
+getEmpleado() : Empleado
+getFecha() : Calendar
+setIdFeriado() : void
+setDescripcion() : void
+setEstado() :void
+getIdFeriado(): int
+getDescripcion(): String
+getEstado(): String
+setEvento() : void
+setFecha() :void
+setIdDetalleAsistencia():void
+setAsistencia(): void
+getIdDetalleAsistencia() : int
+getFecha() : Calendar
+getAsistencia():Asistencia
Rol
1..*
-idRol String
-descripcion String
-rol Rol
-estado String
+setDescripcion() : void
+setEstado(): void()
+setIdRol() :void
+getIdRol(): String
+getDescripcion() : String
+getEstado() : String
--idTipoInfraccion int
- descripcion String
+setDescripcion() : void
+setIdTipoInfraccion() : void
+getIdTipoInfraccion() :int
+getDescripcion(): String
Infraccion
--idFraccion int
- tipoInfraccion TipoInfraccion
- empleado Empleado
-fecha Calendar
- duracion int
- estado String
- justificador Empleado
- descripcionJustificacion String
-asistencia Asistencia
+setRolEmpleado() : void
+getIdRol(): String
+getdEmpleado() : String
+getdRolempleado() : String
TipoInfraccion
1
--idFeriado int
- descripcion String
- estado String
+setIdHorario() : void
+setDescripcion() : void
+getIdHorario() :String
+getDescripcion(): String
-IdRolUsuario String
-idRol String
-Id_empleado Empleado
--idDetalleAsistencia int
- evento Evento
-asistencia Asistencia
-fecha Calendar
1..*
Asistencia
Feriado
1..* RolUsuarios
1..*
1
+setEstado() : void
+setIdDia() : void
+getIdDia() :int
+getEstado(): String
1..*
--idHorario String
- Descripcion String
DetalleAsistencia
Eventos
Horarios
+setDescripcion() : void
+setIdPermiso() : void
+setIdPermiso() :int
+getDescripcion(): String
+setIdPermisoArea() : void
+setArea() : void
+getid_empleado():String
+getArea(): String
+getPermisoArea(): String
--idDia int
- estadoString
+setEvento() : void
+setHora() : void
+setIdDetalleHorario() :void
+setDiaHorario(): void
+setEmpleado(): void
+setIdHorario(): void
+setOrden: void
+getEvento() : Evento
+getHora(): Time
+getIdDetalleHorario(): int
+getOrden(): int
+getIdHorario(): String
PermisoArea
Horas_Extras
-id_h_extras int
-emp Empleado
-id_horario Horarios
-id_tipo_usuario TipoUsuario
-id_rol Rol
+setIdPermisoUsuario() : void
+setPermiso() : void
+setEmpleado() :void
+setFechaInicio():void
+setFechaFin(): void
+getIdPermisoUsuario(): int
+getPermiso(): Permiso
+getEmpleado() : Empleado
+getFechaInicio() : Calendar
+getFechaFin() : Calendar
1..*
1..*
TipoUsuario
+setId_departamento():void
+setId_areas() : void
+setDescripcion() : void
+setEstado() :void
+gettId_departamento():String
+getId_areas() :String
+getDescripcion() : String
+getEstado() : String
Dias
--idDetalleHorario int
- id_dia_horario int
- idHorario Horarios
- empleado Empleado
- Hora time
- evento Eventos
- orden int
--idPermisoUsuarioint
- permiso Permiso
- empleado Empleado
-fechaInicio Calendar
-fechaFin Calendar
1
1..*
1
detalle_horarios
PermisoUsuario
-Id_departamento String
-Id_areas String
-descripcion String
-estado String
1
1..*
+setDescripcionJustificacion() : void
+setDuracion() : void
+setEstado() :void
+setFecha():void
+setIdFraccion(): void
+setJustificador(): void
+setEmpleado(): void
+getTipoInfraccion() : TipoInfraccion
+getAsistencia() : Asistencia
+getEstado() : String
+getFecha(): Calendar
+getDescripcionJustificacion(): String
+getDuracion(): int
+getJustificador() Empleado
Diagrama 34
84
Descripcin de clases
3.2.1.1.
Clase Empleados
Empleados
-Id_empleado String
-nombres String
-apellidos String
-clave String
-roles String
-TipoUsuario TipoUsuario
-Horario horario
+setApellidos() : void
+setClave() : void
+setNombres() :void
+setRoles() : void
+setHorario(): void
+setTipoUsuario() : void
+getTipoUsuario() :TipoUsuario
+getHorario(): Horario
+getIdEmpleado() :String
+getRoles() : String
+getClave() : String
+getApellidos() : String
+getNombres() : String
Diagrama 35
3.2.1.2.
Clase Departamentos
Departamentos
-Id_departamento String
-Id_areas String
-descripcion String
-estado String
+setId_departamento():void
+setId_areas() : void
+setDescripcion() : void
+setEstado() :void
+gettId_departamento():String
+getId_areas() :String
+getDescripcion() : String
+getEstado() : String
Diagrama 36
85
3.2.1.3.
Clase Tipo/Usuario
TipoUsuario
-idTipoUsuario int
-descripcion String
-rol Rol
+setDescripcion() : void
+setIdTipoUsuario() : void
+setUsuarios() :void
+getRol(): Rol
+getIdTipoUsuario() : int
+getDescripcion(): String
Diagrama 37
3.2.1.4.
Clase Eventos
Eventos
--idEvento int
- descripcion String
- segundosPermitidos int
+setDescripcion() : void
+setIdEvento() : void
+setSegundosPermitidos() :void
+getIdEvento(): int
+getDescripcion(): String
+getSegundosPermitidos(): int
Diagrama 38
86
3.2.1.5.
Clase Horarios
Horarios
--idHorario String
- Descripcion String
+setIdHorario() : void
+setDescripcion() : void
+getIdHorario() :String
+getDescripcion(): String
Diagrama 39
3.2.1.6.
Clase Permiso
Permiso
--idPermiso int
- descripcion String
+setDescripcion() : void
+setIdPermiso() : void
+setIdPermiso() :int
+getDescripcion(): String
Diagrama 40
3.2.1.7.
detalle_horarios
--idDetalleHorario int
- id_dia_horario int
- idHorario Horarios
- empleado Empleado
- Hora time
- evento Eventos
- orden int
+setEvento() : void
+setHora() : void
+setIdDetalleHorario() :void
+setDiaHorario(): void
+setEmpleado(): void
+setIdHorario(): void
+setOrden: void
+getEvento() : Evento
+getHora(): Time
+getIdDetalleHorario(): int
+getOrden(): int
+getIdHorario(): String
Diagrama 41
87
3.2.1.8.
Clase Feriado
Feriado
--idFeriado int
- descripcion String
- estado String
+setIdFeriado() : void
+setDescripcion() : void
+setEstado() :void
+getIdFeriado(): int
+getDescripcion(): String
+getEstado(): String
Diagrama 42
3.2.1.9.
Clase PermisoUsuario
PermisoUsuario
--idPermisoUsuarioint
- permiso Permiso
- empleado Empleado
-fechaInicio Calendar
-fechaFin Calendar
+setIdPermisoUsuario() : void
+setPermiso() : void
+setEmpleado() :void
+setFechaInicio():void
+setFechaFin(): void
+getIdPermisoUsuario(): int
+getPermiso(): Permiso
+getEmpleado() : Empleado
+getFechaInicio() : Calendar
+getFechaFin() : Calendar
Diagrama 43
3.2.1.10.
Clase Asistencia
Asistencia
--idAsistencia int
- empleado Empleado
-fecha Calendar
+setIdAsistencia() : void
+setEmpleado() :void
+setFecha():void
+getIdAsistencia(): int
+getEmpleado() : Empleado
+getFecha() : Calendar
Diagrama 44
88
3.2.1.11.
Clase DetalleAsistencia
DetalleAsistencia
--idDetalleAsistencia int
- evento Evento
-asistencia Asistencia
-fecha Calendar
+setEvento() : void
+setFecha() :void
+setIdDetalleAsistencia():void
+setAsistencia(): void
+getIdDetalleAsistencia() : int
+getFecha() : Calendar
+getAsistencia():Asistencia
Diagrama 45
3.2.1.12.
Clase Infraccin
Infraccion
--idFraccion int
- tipoInfraccion TipoInfraccion
- empleado Empleado
-fecha Calendar
- duracion int
- estado String
- justificador Empleado
- descripcionJustificacion String
-asistencia Asistencia
+setDescripcionJustificacion() : void
+setDuracion() : void
+setEstado() :void
+setFecha():void
+setIdFraccion(): void
+setJustificador(): void
+setEmpleado(): void
+getTipoInfraccion() : TipoInfraccion
+getAsistencia() : Asistencia
+getEstado() : String
+getFecha(): Calendar
+getDescripcionJustificacion(): String
+getDuracion(): int
+getJustificador() Empleado
Diagrama 46
89
3.2.1.13.
Clase TipoInfraccion
TipoInfraccion
--idTipoInfraccion int
- descripcion String
+setDescripcion() : void
+setIdTipoInfraccion() : void
+getIdTipoInfraccion() :int
+getDescripcion(): String
Diagrama 47
3.2.1.14.
Clase PermisoArea
PermisoArea
--idPermisoArea String
- Area area
- Empleado IdEmpleado
+setIdPermisoArea() : void
+setArea() : void
+getid_empleado():String
+getArea(): String
+getPermisoArea(): String
Diagrama 48
3.2.1.15.
Clase RolUsuarios
RolUsuarios
-IdRolUsuario String
-idRol String
-Id_empleado Empleado
+setRolEmpleado() : void
+getIdRol(): String
+getdEmpleado() : String
+getdRolempleado() : String
Diagrama 49
90
3.2.1.16.
Clase Areas
Areas
-Id_areas String
-descripcion String
-estado String
+setId_areas() : void
+setDescripcion() : void
+setEstado() :void
+getId_areas() :String
+getDescripcion() : String
+getEstado() : String
Diagrama 50
3.2.1.17.
Clase Rol
Rol
-idRol String
-descripcion String
-rol Rol
-estado String
+setDescripcion() : void
+setEstado(): void()
+setIdRol() :void
+getIdRol(): String
+getDescripcion() : String
+getEstado() : String
Diagrama 51
3.2.1.18.
Clase Das
Dias
--idDia int
- estadoString
+setEstado() : void
+setIdDia() : void
+getIdDia() :int
+getEstado(): String
Diagrama 52
91
3.2.1.19.
Clase Horas_Extras
Horas_Extras
-id_h_extras int
-emp Empleado
-id_horario Horarios
-id_tipo_usuario TipoUsuario
-id_rol Rol
+setid_horas_extras() : void
+setIdTipoUsuario() : void
+setUsuarios() :void
+getRol(): Rol
+getIdTipoUsuario() : int
+getId_horas_extras(): String
Diagrama 53
CAMPO
TIPO DE DATO
CONSTRAINT
Id_usuario
Varchar (20)
Clave primaria
Id_tipo_usuario
Int (11)
Clave fornea
DESCRIPCION
Cdula del
usuario
Cdigo de tipo de
usuario
Id_horario
Int (11)
Clave fornea
Cdigo de horario
Nombres
Varchar (50)
Campo
obligatorio
Nombres del
92
usuario
Apellidos
Varchar (50)
Campo
obligatorio
Identificacin
Varchar (20)
Clave
Varchar (180)
Campo
obligatorio
Apellidos del
usuario
Cdigo del
usuario
Clave de acceso
Campo
obligatorio
Cuadro 3.A.
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_tipo_usuario
Int (11)
Clave primaria
Cdigo de tipo de
usuario
Descripcin
Varchar (30)
Campo
obligatorio
Descripcin del
tipo de usuario
Id_Rol
Varchar (20)
Campo
obligatorio
Cuadro 3.B.
93
CAMPO
TIPO DE DATO
CONSTRAINT
Id_usuario
Varchar (20)
Clave fornea
Id_objeto
Varchar (50)
Clave fornea
Id_tipo_usuario
Int (11)
Clave fornea
DESCRIPCION
Cdula del
usuario
Cdigo del Objeto
Cdigo de tipo de
usuario
Id_horario
Int (11)
Clave fornea
Cdigo de horario
Cuadro 3.C.
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_objeto
Varchar (50)
Clave primaria
Descripcin
Varchar (255)
Campo
obligatorio
Descripcin del
objeto
Libre_acceso
Char (1)
Campo
obligatorio
El Acceso del
usuario a una
aplicacin.
Cuadro 3.D.
94
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_rol
Varchar (20)
Clave fornea
Id_usuarios
Varchar (20)
Clave fornea
Cdula del
usuario
Id_tipo_usuario
Int (11)
Clave fornea
Cdigo del tipo
de usuario
Id_horario
Int (11)
Clave fornea
Cdigo de horario
Cuadro 3.E.
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_rol
Varchar (20)
Clave primaria
Descripcin
Varchar (255)
Campo
obligatorio
Descripcin del
rol
Cuadro 3.F.
95
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_rol
Varchar (20)
Clave fornea
Id_objeto
Varchar (50)
Clave fornea
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_objeto
Varchar (50)
Clave fornea
Id_menu_padre
Varchar (20)
Campo
obligatorio
Mensaje
Varchar (255)
Mnemonic
Varchar (255)
URL_cargar
Varchar (255)
Posicin
Int (11)
Campo
obligatorio
Campo
obligatorio
Mensaje a
mostrar
Direccin URL
96
Campo
obligatorio
Campo
obligatorio
Cuadro 3.H.
CAMPO
TIPO DE
DATO
CONSTRAINT
DESCRIPCION
Id_infraccin
Int (11)
Clave primaria
Cdigo de
infraccin
Id_usuario
Varchar (20)
Clave fornea
Cdula
usuario
Id_tipo_usuario
Int (11)
Clave fornea
la
del
Int (11)
Clave fornea
Id_tipo_infraccin
Int (11)
Clave fornea
Cdigo
horario
Id_asistencia
Int (11)
Clave fornea
Campo
obligatorio
Cdigo
detalle
asistencia
Campo
Fecha de
infraccin
Fecha
date
Duracin
int (11)
del
de
de
la
97
obligatorio
Estado
char (1)
Id_justificador
Varchar (20)
Descripcin_justificacin Varchar
(255)
Duracin de la
infraccin
Campo
obligatorio
Campo
obligatorio
Campo
obligatorio
Estado actual de
la infraccin
Cdula de la
persona
que
justifica
la
infraccin
Detalle de la
justificacin de
la infraccin
Cuadro 3.I.
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_tipo_infraccion
Int (11)
Clave primaria
Descripcin
Varchar (50)
Campo
obligatorio
Detalle de la
infraccin
Cuadro 3.J.
98
CAMPO
TIPO DE DATO
CONSTRAINT
Id_permiso
Int (11)
Clave Primaria
Descripcin
Varchar (50)
Campo
Obligatorio
DESCRIPCION
Cdigo del
permiso
Descripcin del
permiso
concedido
Cuadro 3.K.
CAMPO
TIPO DE DATO
CONSTRAINT
Clave primaria
Id_permiso
Clave fornea
Int (11)
Id_usuario
Varchar (20)
Clave fornea
Id_tipo_usuario
Int (11)
Clave fornea
DESCRIPCION
Cdigo del
permiso al
usuario
Cdigo del
permiso
Cdula del
usuario
99
Id_horario
Int (11)
Clave fornea
Fecha_inicio
Date
Campo
obligatorio
Fecha_fin
Date
Campo
obligatorio
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_asistencia
Int (11)
Clave primaria
Cdigo de la
asistencia
Id_usuario
Varchar (20)
Clave fornea
Cdula del
usuario
Id_tipo_usuario
Int (11)
Clave fornea
Cdigo del tipo
de usuario
Id_horario
Fecha
Int (11)
Date
Clave fornea
Campo
obligatorio
Cdigo del
horario
Fecha del registro
de asistencia
Cuadro 3.M.
100
CAMPO
TIPO DE
DATO
CONSTRAINT
Id_permiso
Int (11)
Clave fornea
Id_evento
Int (11)
Clave fornea
Clave fornea
DESCRIPCION
Cdigo del
permiso
Cdigo del
evento
Cdigo del
detalle de la
asistencia
Id_asistencia
Int (11)
Clave fornea
Id_tipo_infraccion
Int (11)
Clave fornea
Cdigo de la
asistencia
Id_usuario
Varchar (20)
Clave fornea
Id_tipo_usuario
Int (11)
Clave fornea
Cdula del
usuario
Id_horario
Int (11)
Clave fornea
Cdigo del tipo
de usuario
Cdigo del
horario
Cuadro 3.N.
101
CAMPO
TIPO DE
DATO
CONSTRAINT
Clave primaria
Id_asistencia
Clave fornea
Int (11)
DESCRIPCION
Cdigo del
detalle de
asistencia
Cdigo del
registro de
asistencia
Id_usuario
Varchar (20)
Clave fornea
Id_tipo_usuario
Int (11)
Clave fornea
Cdula del
usuario
Id_horario
Int (11)
Clave fornea
Id_evento
Int (11)
Campo
obligatorio
Fecha
Date
Campo
obligatorio
Cdigo del
horario
Cdigo del
evento
Fecha del
registro
Cuadro 3.O.
102
CAMPO
TIPO DE DATO
CONSTRAINT
Id_usuario
Varchar (20)
Clave fornea
Id_tipo_usuario
Int (11)
Clave fornea
DESCRIPCION
Cdula del
usuario
Cdigo del tipo
de usuario
Id_horario
Id_area
Int (11)
Int (11)
Clave fornea
Clave fornea
Cdigo del
horario
Cdigo del rea
Cuadro 3.P.
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_area
Int (11)
Clave primaria
Descripcion
Varchar (50)
Campo
obligatorio
Cuadro 3.Q.
103
CAMPO
TIPO DE DATO
CONSTRAINT
Id_horario
Int (11)
Clave primaria
Descripcion
Varchar (50)
Campo
obligatorio
DESCRIPCION
Cdigo del
horario
Detalle del
horario
Cuadro 3.R.
CAMPO
TIPO DE
DATO
CONSTRAINT
DESCRIPCION
Id_detalle_dia
Int (11)
Clave primaria
Cdigo del
detalle del da
Id_dia_horario
Int (11)
Clave fornea
Cdigo del
horario del da
104
Id_horario
Int (11)
Clave fornea
Id_evento
Int (11)
Clave fornea
Clave fornea
Id_asistencia
Int (11)
Clave fornea
Id_tipo_infraccion
Int (11)
Clave fornea
Id_usuario
Varchar (20)
Clave fornea
Id_tipo_usuario
Int (11)
Clave fornea
Hora
Time
Orden
Int (11)
Campo
obligatorio
Campo
obligatorio
Cdigo del
horario
Cdigo del
evento
Cdigo del
detalle de
asistencia
Cdigo del
registro de
asistencia
Cdigo del tipo
de infraccin
Cdula del
usuario
Cdigo del tipo
de usuario
Hora del registro
Orden del
registro
Cuadro 3.S.
105
CAMPO
TIPO DE
DATO
CONSTRAINT
Id_evento
Int (11)
Clave primaria
Id_detalle_asistencia
Int (11)
Clave fornea
Id_asistencia
Int (11)
Clave fornea
Id_tipo_infraccion
Int (11)
Clave fornea
Id_usuario
Varchar (20)
Clave fornea
Id_tipo_usuario
Int (11)
Clave fornea
DESCRIPCION
Cdigo del
evento
Cdigo del
detalle de
asistencia
Cdigo del
registro de
asistencia
Cdigo del tipo
de infraccin
Cdula del
usuario
Id_horario
Descripcin
Int (11)
Varchar (30)
Clave fornea
Campo
obligatorio
Int (11)
Cdigo del
horario
Detalle del
evento
Varchar (10)
Campo
obligatorio
Id_tipo_atraso
Tiempo de gracia
para el evento
106
Id_tipo_infraccin_
incumplimiento
Int (11)
Campo
obligatorio
Estado de la
accin del
evento: antes o
despues
Campo
obligatorio
Cuadro 3.T.
CAMPO
TIPO DE DATO
CONSTRAINT
Id_dia
Int (11)
Clave primaria
Estado
Varchar (10)
Campo
Obligatorio
DESCRIPCION
Cdigo del
feriado
Estado del
feriado: activo,
inactivo
Cuadro 3.U.
107
CAMPO
TIPO DE DATO
CONSTRAINT
DESCRIPCION
Id_h_extras
Int (11)
Clave primaria
Cdigo de horas
extras
Id_usuario
Varchar (20)
Clave fornea
Cdigo del
usuario
Id_tipo_usuario
Int (11)
Clave fornea
Cdigo del tipo
de usuario
Id_horario
Int (11)
Clave fornea
H_extras_entrad
Varchar (5)
Campo
Obligatorio
H_extras_salid
Varchar (5)
Campo
Obligatorio
Total
Int (11)
Cdigo del
horario
Numero de horas
extras a la
entrada
Numero de horas
extras a la salida
Campo
Obligatorio
Total de horas
extras asignadas
Cuadro 3.V.
108
Diagrama 54
109
Diagrama 55
110
Modulo de Mantenimiento
Modulo de Administracin
Modulo de Reportes
111
112
ingreso de horas
113
114
Imagen 3.A
115
Imagen 3.B
116
Detalle de eventos:
Entrada Diaria, Salida Almuerzo, Entrada Almuerzo,
Salida Diaria
Imagen 3.C
117
hasta 10 huellas
trabajador.
Esta opcin podra ser un enlace a otra aplicacin dependiendo de las
herramientas disponibles para la conexin del dispositivo
3.6.1.1.2.- Consulta
Esta pantalla contar con la opcin de consultar los datos de un
empleado especifico a travs del ingreso de su cedula, cdigo laboral
o nombre respectivo, la cual mostrara la informacin del mismo, las
reas en la cual pertenece y sus horarios laborables
Imagen 3.D
118
3.6.1.2.- FERIADOS
Imagen 3.E
119
Imagen 3.F
3.6.1.3.- PERMISOS
120
3.6.2.- ADMINISTRACION
3.6.2.1.- PERFILES DE EMPLEADOS
Imagen 3.G
121
Administracin de Usuarios
Rol de Administrador.
Asignar a los Usuarios cualquiera de los roles creados en el sistema.
Quitar a los usuarios los roles asignados.
Reactivar Usuarios en el sistema
Actualizar roles del sistemas habilitando las opciones del men.
PANTALLA DE ROLES
Imagen 3.H
122
Imagen 3.I
123
3.6.3. REPORTES
3.6.3.1.- REPORTES DE EMPLEADOS
Imagen 3.J
124
Imagen 3.K
125
126
3.6.3.2.2.-
REPORTES
DE
ASISTENCIA/
FALTAS/
ATRASOS
DIARIOS
Imagen 3.L
127
128
Imagen 3.M
129
un documento Excel o
CAPTULO 4
DESARROLLO Y PRUEBAS
Pruebas
4.
que
las
tablas
se
encuentren
debidamente
131
integrante
del
grupo,
reviso
de
forma
exhaustiva,
132
133
Desarrollo
Cdigos de la Creacin de la base
Scripts de base de datos
Script para la creacin de la base de datos:
CREATE DATABASE "BIOMETRIC"
WITH OWNER = postgres
ENCODING = 'UNICODE'
TABLESPACE = pg_default;
134
Cdigos de Conexion
Script de conexin
hibernate-configuration:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration3.0.dtd">
<hibernate-configuration>
<session-factory name="asistenciaBD">
<property name="hibernate.connection.driver_class">
org.postgresql.Driver
</property>
<property name="hibernate.connection.url">
jdbc:postgresql://127.0.0.1:5432/biometric
</property>
<property
name="hibernate.connection.username">postgres</property>
<property
name="hibernate.connection.password">postgres</property>
<property
name="hibernate.connection.pool_size">0</property>
<property name="hibernate.dialect">
org.hibernate.dialect.PostgreSQLDialect
</property>
<!--<property name="hibernate.show_sql">true</property>-->
<mapping resource="clasesPersistentes/Rol.hbm.xml" />
<mapping resource="clasesPersistentes/Usuario.hbm.xml" />
<mapping resource="clasesPersistentes/HoraExtra.hbm.xml" />
<mapping
resource="clasesPersistentes/PermisoUsuario.hbm.xml" />
<mapping resource="clasesPersistentes/TipoUsuario.hbm.xml"
/>
<mapping
resource="clasesPersistentes/ObjetoAplicacion.hbm.xml" />
<mapping
resource="clasesPersistentes/TipoInfraccion.hbm.xml" />
<mapping resource="clasesPersistentes/Evento.hbm.xml" />
<mapping resource="clasesPersistentes/Permiso.hbm.xml" />
<mapping resource="clasesPersistentes/Asistencia.hbm.xml"
/>
<mapping
resource="clasesPersistentes/DetalleAsistencia.hbm.xml" />
<mapping resource="clasesPersistentes/Infraccion.hbm.xml"
/>
<mapping resource="clasesPersistentes/Horario.hbm.xml" />
<mapping resource="clasesPersistentes/Areas.hbm.xml" />
<mapping resource="clasesPersistentes/DiaHorario.hbm.xml"
/>
<mapping resource="clasesPersistentes/DetalleDia.hbm.xml"
/>
<mapping resource="clasesPersistentes/Dia.hbm.xml" />
</session-factory>
</hibernate-configuration>
CAPITULO 5
IMPLEMENTACION
5.1.
Instalacin
http://www.java.com/en/download/linux_manual.jsp.
chmod +x jre-1_5_0_06-linux-i586-rpm.bin
Ejecute jre-1_5_0_06-linux-i586-rpm.bin:
./jre-1_5_0_06-linux-i586-rpm.bin
136
su
rpm -Uvh jre-1_5_0_06-linux-i586.rpm
lnea
que
aadir
la
ruta
de
binarios
de
Java
export PATH=/usr/java/jre1.5.0_06/bin:$PATH
JAVA_HOME="/usr/java/jre1.5.0_06/"
export JAVA_HOME
Si utiliza una versin de Mozilla, Firefox o Netscape compilada con GCC 3.x
(Red Hat Enterprise Linux 3.0, CentOS 3.0 y versiones posteriores), deber
ejecutar:
ln -s /usr/java/jre1.5.0_06/plugin/i386/ns7/libjavaplugin_oji.so
/usr/lib/mozilla/plugins/
Si utiliza una versin de Mozilla o Netscape compilada con GCC 2.96 (Red
Hat Enterprise Linux 2.1 y CentOS 2.1), deber ejecutar:
ln -s /usr/java/jre1.5.0_06/plugin/i386/ns7-gcc29/libjavaplugin_oji.so
/usr/lib/mozilla/plugins/
137
[Desktop Entry]
Name=Java
Comment=Java Control Panel
Exec=/usr/java/jre1.5.0_06/bin/ControlPanel
Icon=/usr/java/jre1.5.0_06/plugin/desktop/sun_java.png
Terminal=0
Type=Application
Categories=Application;Settings;
Si el fichero no existe, puede generarlo con el contenido anteriormente
mostrado.
C:\Archivos
de
programa\Apache
Foundation\apache-tomcat-5.5.20 en Windows,
y en
Software
Linux es
root/usr/local/ apache-tomcat-5.5.20
138
ruta
de
mi servidor
de
aplicaciones
y seteamos el
CLASSPATH=\java\tomcat\common\lib\struts.jar
Copiamos
el
archivo
comprimido
jar
de
postgresql-8.1dev-
403.jdbc3.jar en \Java\jdk1.5.0_07\jre\lib\ext
139
CAPITULO 6
CONCLUSIONES
141
mantener
142
RECOMENDACIONES
El aplicativo desarrollado se limita a proveer la informacin de las asistencias
de los empleados de una entidad, proporcionando un soporte de toma de
decisin a la empresa con el fin de evaluar la productividad de los mismos.
Script de conexin
Script para la creacin de la conexin hibernate-configuration:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration3.0.dtd">
<hibernate-configuration>
<session-factory name="asistenciaBD">
<property name="hibernate.connection.driver_class">
org.postgresql.Driver
</property>
<property name="hibernate.connection.url">
jdbc:postgresql://127.0.0.1:5432/biometric
</property>
<property
name="hibernate.connection.username">postgres</property>
<property
name="hibernate.connection.password">postgres</property>
<property
name="hibernate.connection.pool_size">0</property>
<property name="hibernate.dialect">
org.hibernate.dialect.PostgreSQLDialect
</property>
<!--<property name="hibernate.show_sql">true</property>-->
<mapping resource="clasesPersistentes/Rol.hbm.xml" />
<mapping resource="clasesPersistentes/Usuario.hbm.xml" />
<mapping resource="clasesPersistentes/HoraExtra.hbm.xml" />
<mapping
resource="clasesPersistentes/PermisoUsuario.hbm.xml" />
<mapping resource="clasesPersistentes/TipoUsuario.hbm.xml"
/>
<mapping
resource="clasesPersistentes/ObjetoAplicacion.hbm.xml" />
<mapping
resource="clasesPersistentes/TipoInfraccion.hbm.xml" />
<mapping resource="clasesPersistentes/Evento.hbm.xml" />
<mapping resource="clasesPersistentes/Permiso.hbm.xml" />
<mapping resource="clasesPersistentes/Asistencia.hbm.xml"
/>
<mapping
resource="clasesPersistentes/DetalleAsistencia.hbm.xml" />
<mapping resource="clasesPersistentes/Infraccion.hbm.xml"
/>
<mapping resource="clasesPersistentes/Horario.hbm.xml" />
<mapping resource="clasesPersistentes/Areas.hbm.xml" />
<mapping resource="clasesPersistentes/DiaHorario.hbm.xml"
/>
<mapping resource="clasesPersistentes/DetalleDia.hbm.xml"
/>
</hibernate-configuration>
column="DESCRIPCION"
not-null="true" />
<property name="segundosPermitidos" type="integer"
column="SEGUNDOS_PERMITIDOS" not-null="true" />
<property name="claseRegla" type="string"
column="CLASE_REGLA"
not-null="false" />
<property name="evaluacion" type="string"
column="EVALUACION"
not-null="false" />
<set name="permisos" table="DETALLES_PERMISOS"
cascade="save-update">
<key column="ID_EVENTO" />
<many-to-many column="ID_PERMISO"
class="clasesPersistentes.Permiso" />
</set>
</set>
<many-to-one name="tipoInfraccionAtrazo"
column="ID_TIPO_INFRACCION_ATRAZO"
not-null="false" />
<many-to-one name="tipoInfraccionIncumplimiento"
column="ID_TIPO_INFRACCION_INCUMPLIMIENTO"
not-null="false" />
</class>
</hibernate-mapping>
not-null="true" />
<many-to-one name="usuario" column="ID_USUARIO" notnull="true" />
<property name="fecha" column="FECHA" type="calendar"
not-null="true" />
<property name="duracion" column="DURACION" type="integer"
not-null="true" />
<property name="estado" column="ESTADO" type="string"
not-null="true" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="clasesPersistentes.Permiso" table="PERMISOS">
<id name="idPermiso" type="integer" column="ID_PERMISO"
unsaved-value="-1">
<generator class="increment" />
</id>
<property name="descripcion" type="string"
column="DESCRIPCION"
not-null="true" />
<property name="estado" type="string" column="ESTADO"
not-null="true" />
<set name="permisosUsuarios" table="PERMISOS_USUARIOS"
cascade="save-update">
<key column="ID_PERMISO" />
<one-to-many
class="clasesPersistentes.PermisoUsuario" />
</set>
<set name="eventos" table="DETALLES_PERMISOS"
cascade="save-update">
<key column="ID_PERMISO" />
<many-to-many column="ID_EVENTO"
class="clasesPersistentes.Evento" />
</set>
</class>
</hibernate-mapping>
unsaved-value="null" />
<property name="descripcion" type="string"
column="DESCRIPCION"
not-null="true" />
</class>
</hibernate-mapping>
Entidades
Clase evento:
package clasesPersistentes;
import java.util.HashSet;
import java.util.Set;
public class Evento
{
private int idEvento;
private String descripcion;
private int segundosPermitidos;
private String claseRegla;
private String evaluacion;
private Set detallesAsistencia=new HashSet();
private Set infracciones=new HashSet();
private Set detallesDia=new HashSet();
private Set permisos=new HashSet();
private TipoInfraccion tipoInfraccionAtrazo;
private TipoInfraccion tipoInfraccionIncumplimiento;
public Evento()
{
}
public String getClaseRegla() {
return claseRegla;
}
public void setClaseRegla(String claseRegla) {
this.claseRegla = claseRegla;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public int getIdEvento() {
return idEvento;
}
public void setDetallesDia(Set detallesHorario) {
this.detallesDia = detallesHorario;
}
public Set getPermisos() {
return permisos;
}
public void setPermisos(Set permisos) {
this.permisos = permisos;
}
public String getEvaluacion() {
return evaluacion;
}
public void setEvaluacion(String evaluacion) {
this.evaluacion = evaluacion;
}
public TipoInfraccion getTipoInfraccionAtrazo() {
return tipoInfraccionAtrazo;
}
public void setTipoInfraccionAtrazo(TipoInfraccion
tipoInfraccionAtrazo) {
this.tipoInfraccionAtrazo = tipoInfraccionAtrazo;
}
public TipoInfraccion getTipoInfraccionIncumplimiento() {
return tipoInfraccionIncumplimiento;
}
}
Clase fechaRegistroIncumplimiento:
package clasesPersistentes;
import java.util.Calendar;
Clase feriado:
package clasesPersistentes;
import java.util.HashSet;
import java.util.Set;
import java.util.Calendar;
public class Feriado
{
////////////
///PRIVATE//
////////////
private int idFeriado;
private String descripcion;
private Calendar fechainicio;
private Calendar fechafin ;
private String estado ;
////////////
///PUBLIC///
////////////
public Feriado()
{
}
public void setFechafin(Calendar fechafin) {
this.fechafin = fechafin;
}
public void setEstado(String estado) {
this.estado = estado;
}
public void setFechainicio(Calendar fechainicio) {
this.fechainicio = fechainicio;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getDescripcion() {
return descripcion;
}
public Calendar getFechafin() {
return fechafin;
}
public Calendar getFechainicio() {
return fechainicio;
}
public int getIdFeriado() {
return idFeriado;
}
public String getEstado() {
return estado;
}
/*
{
}
Clase hora_extra:
package clasesPersistentes;
import java.util.Calendar;
public class HoraExtra
{
private int hora;
private Usuario usuario;
private Calendar fechaInicio;
private Calendar fechaFin;
private String motivo;
private String estado;
public HoraExtra()
{
}
public Calendar getFechaFin() {
return fechaFin;
}
public void setFechaFin(Calendar fechaFin) {
this.fechaFin = fechaFin;
}
public Calendar getFechaInicio() {
return fechaInicio;
}
public void setFechaInicio(Calendar fechaInicio) {
this.fechaInicio = fechaInicio;
}
public void setMotivo(String motivo) {
this.motivo = motivo;
}
public void setHora(int hora) {
this.hora = hora;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
Clase horario:
package clasesPersistentes;
import java.util.HashSet;
import java.util.Set;
public class Horario
{
private int idHorario;
private String descripcion;
private Set usuarios=new HashSet();
private Set diasHorario=new HashSet();
public Horario()
{
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public int getIdHorario() {
return idHorario;
}
public void setIdHorario(int idHorario) {
this.idHorario = idHorario;
}
}
}
Clase infraccion:
package clasesPersistentes;
import java.util.Calendar;
public class Infraccion
{
private int idFraccion;
private TipoInfraccion tipoInfraccion;
private Usuario usuario;
private Calendar fecha;
private int duracion;
private String estado;
private Usuario justificador;
private String descripcionJustificacion;
private Asistencia asistencia;
public Infraccion(){
}
public String getDescripcionJustificacion() {
return descripcionJustificacion;
}
public void setDescripcionJustificacion(String
descripcionJustificacion) {
this.descripcionJustificacion = descripcionJustificacion;
}
public int getDuracion() {
return duracion;
public void setEstado(String estado) {
this.estado = estado;
}
public Calendar getFecha() {
return fecha;
}
public void setFecha(Calendar fecha) {
this.fecha = fecha;
}
public int getIdFraccion() {
return idFraccion;
}
Clase permisos:
package clasesPersistentes;
import java.util.HashSet;
import java.util.Set;
public class Permiso
{
private int idPermiso;
private String descripcion;
private String estado;
private Set permisosUsuarios=new HashSet();
private Set eventos=new HashSet();
public Permiso()
{
super();
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public int getIdPermiso() {
return idPermiso;
}
public void setIdPermiso(int idPermiso) {
this.idPermiso = idPermiso;
}
}
Clase rol:
package clasesPersistentes;
import java.util.HashSet;
import java.util.Set;
public class Rol
{
private String idRol;
private String descripcion;
private Set objetosAplicacion=new HashSet();
private Set usuarios=new HashSet();
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getIdRol() {
return idRol;
}
public void setIdRol(String idRol) {
this.idRol = idRol;
}
public Set getObjetosAplicacion() {
return objetosAplicacion;
}
public void setObjetosAplicacion(Set objetosAplicacion) {
this.objetosAplicacion = objetosAplicacion;
}
}
}
Clase tipo_usuario:
package clasesPersistentes;
import java.util.HashSet;
import java.util.Set;
public class TipoUsuario
{
private int idTipoUsuario;
private String descripcion;
private Rol rol;
private Set usuarios=new HashSet();
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public int getIdTipoUsuario() {
return idTipoUsuario;
}
public Set getUsuarios() {
return usuarios;
}
public void setUsuarios(Set usuarios) {
this.usuarios = usuarios;
}
public Rol getRol() {
return rol;
}
public void setRol(Rol rol) {
this.rol = rol;
}
}
Clase usuario
package clasesPersistentes;
import java.util.HashSet;
import java.util.Set;
import java.util.Calendar;
public class Usuario
{
////////////
///PRIVATE//
////////////
private String idUsuario;
private String nombres;
private String apellidos;
private String identificacion;
private String clave;
private String estado;
private int edad;
private String telefono;
private Set objetosAplicacion=new HashSet();
private Set roles=new HashSet();
private TipoUsuario tipoUsuario;
private Areas area;
private Horario horario;
private Set asistencias=new HashSet();
private Set infracciones=new HashSet();
private Set infraccionesJustificadas=new HashSet();
private Set permisosUsuarios=new HashSet();
private Set horasextras=new HashSet();
////////////
///PUBLIC///
////////////
public Usuario()
{
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
public String getClave() {
return clave;
}
public void setClave(String clave) {
this.clave = clave;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getIdentificacion() {
return identificacion;
}
public void setIdentificacion(String identificacion) {
this.identificacion = identificacion;
}
INDICE DE CUADROS
CAPTULO I
Cuadro 1.A.
Niveles de Riesgo
Cuadro 1.C.
Nomenclatura de Riesgos
Cuadro 1.D.
Tabla de Riesgos
Cuadro 1.E.
Arquitectura
Cuadro 1.F.
Cronograma
Cuadro 1.G.
Encuesta
Cuadro 1.H.
Identificar actores
Cuadro 2.C.
CRC DE EMPLEADO
Cuadro 2.D.
CRC DE TIPOUSUARIO
Cuadro 2.E.
CRC DE AREAS
Cuadro 2.F.
CRC DE DEPARTAMENTOS
6
9
10
11
14
16
30
33
33
34
34
34
45
46
53
54
54
55
Cuadro 2.G.
CRC DE PERMISOAREA
Cuadro 2.H.
CRC DE PERMISOUSUARIO
Cuadro 2.I.
CRC DE PERMISO
Cuadro 2.J.
CRC DE HORARIO
Cuadro 2.L.
CRC DE EVENTO
Cuadro 2.M.
CRC DE ASISTENCIAS
Cuadro 2.N.
CRC DE DETALLEASISTENCIA
Cuadro 2.O.
CRC DE TIPOINFRACCION
Cuadro 2.P.
CRC DE INFRACCION
Cuadro 2.Q.
CRC DE ROLUSUARIO
Cuadro 2.R.
CRC DE ROL
Cuadro 2.S.
CRC DE DIAS
Cuadro 2.T.
CRC DE FERIADO
Cuadro 2.U.
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
92
93
94
94
95
96
96
97
Cuadro 3.I.
97
98
99
99
100
101
102
103
103
104
104
106
107
108
INDICE DE DIAGRAMAS
CAPTULO I
38
39
40
41
42
DIAGRAMA DE EVENTOS
Diagrama 6
USUARIO
Diagrama 7
AREAS
Diagrama 8
FERIADOS
Diagrama 9
HORARIOS
43
43
43
44
CAPTULO 2
DIAGRAMAS DE CASOS DE USO
Diagrama 10
Registro de Personal
Diagrama 11
Ingreso al Sistema
Diagrama 12
Empleado
48
49
49
Diagrama 13
Modulo de Reportes
Diagrama 14
Administrador
Diagrama 15
Diagramas de Componentes
DIAGRAMAS DE INTERFAZ
Diagrama 17
Diagrama de Introduccin
Diagrama 18
Diagrama de Logueo
Diagrama 19
Registrar Empleado
Diagrama 22
Asignacin de reas
Diagrama 25
Asignacin de Horarios
Diagrama 26
Horas Extras
Diagrama 27
Reportes
DIAGRAMA DE COLABORACIN
Diagrama 28
Ingreso de Empleados
Diagrama 29
Registro de Empleados
Diagrama 32
Horas Extras
Diagrama 33
Reporte de Asistencias
50
51
52
63
65
66
67
68
70
71
72
73
74
75
76
77
78
79
80
81
82
CAPTULO 3
Diagrama 34
DIAGRAMA DE CLASES
DIAGRAMA GENERAL --- DESCRIPCIN DE CLASES
Diagrama 35
Clase Empleados
Diagrama 36
Clase Departamentos
Diagrama 37
Clase Tipo/Usuario
Diagrama 38
Clase Eventos
Diagrama 39
Clase Horarios
Diagrama 40
Clase Permiso
Diagrama 41
Clase Feriado
Diagrama 43
Clase PermisoUsuario
Diagrama 44
Clase Asistencia
Diagrama 45
Clase DetalleAsistencia
Diagrama 46
Clase Infraccin
Diagrama 47
Clase TipoInfraccion
Diagrama 48
Clase PermisoArea
Diagrama 49
Clase RolUsuarios
Diagrama 50
Clase reas
Diagrama 51
Clase Rol
Diagrama 52
Clase Das
Diagrama 53
83
84
84
85
85
86
86
86
87
87
87
88
88
89
89
89
90
90
90
91
108
109
INDICE DE IMAGENES
CAPTULO 3
DISEO DE PANTALLAS
MANTENIMIENTO
Imagen 3.A
Horarios Gestin/Consulta
Imagen 3.C
Horarios Actualizacin
Imagen 3.D
Empleados Actualizar
Imagen 3.E
Feriados
Imagen 3.F
Permisos
114
115
116
117
118
119
ADMINISTRACION
Imagen 3.G
Perfiles de Empleados
Imagen 3.H
Pantalla de Roles
Imagen 3.I
Horas Extras
120
121
122
REPORTES
Imagen 3.J
Reportes de Empleados
Imagen 3.K
123
124
126
128