Vous êtes sur la page 1sur 219

UNIVERSIDAD MAYOR REAL Y PONTIFICIA

DE
SAN FRANCISCO XAVIER DE CHUQUISACA
FACULTAD DE TECNOLOGA
INGENIERA DE SISTEMAS

Proyecto de Grado
SISTEMA DE

CONTROL DE ASISTENCIA Y APOYO A LA

CONSTRUCCION DE HORARIOS DE LA UNIVERSIDAD


PEDAGOGICA MARISCAL SUCRE
Proyecto de grado para obtener el ttulo de Licenciatura en Ingeniera de
Sistemas
Universitario

Morales Vargas Edwin Javier

Asesora

Lic. Viktoria Belianskaya

Sucre, noviembre de 2010

DECLARACION DE DERECHOS DE AUTOR


Al presentar este trabajo como uno de los requisitos para la obtencin del Grado Acadmico
de Licenciatura en Ingeniera de Sistemas de la Universidad Mayor Real y Pontificia de san
Francisco Xavier de Chuquisaca, autorizo a la Direccin de Carrera de Ingeniera de Sistemas
o a la Biblioteca de la Facultad de Tecnologa de la Universidad, para que sea un documento
disponible de lectura segn las normas de la Universidad
Asimismo, manifiesto mi acuerdo en que se utilice como material producto, dentro del
Reglamento de Ciencia y Tecnologa vigente, siempre y cuando esta utilizacin no suponga
ganancia econmica ni potencial.
Tambin cedo a la Universidad de San Francisco Xavier de Chuquisaca el derecho de
publicacin total o parte de ella, respetando el derecho de autor, por un periodo de treinta
meses despus de su aprobacin.

Edwin Javier Morales Vargas

Sucre, noviembre de 2010

DEDICATORIA
Dedico este trabajo a mis amados padres;
Vicente y Venancia, quienes me

han brindado su

apoyo incondicional en todo momento, ensendome


a levantarme en los momentos difciles, y es gracias a
ellos por quienes estoy terminando satisfactoriamente
la carrera universitaria.
A mi amada esposa Elizabeth, quien
llenado de felicidad mi vida,

ha

por su paciencia y

comprensin y por supuesto, a todas las personas que


de una u otra manera hicieron posible la ejecucin de
este proyecto,

AGRADECIMIENTOS
A la licenciada Victoria Velianskaya por su
asesora, consejos y su crtica constructiva que me
llev a alcanzar un mejor resultado.
Al Ing. Juan Carlos Galen Romero, por su
paciencia y por las valiosas sugerencias que me
guiaron a lo largo del desarrollo del proyecto.
A mis padres polticos Andrs y Favia por
creer y confiar en m, demostrndome siempre su
preocupacin y cario.
A

Hivoneth mi cuada, quien desde la

distancia y sin condiciones me facilit herramientas


importantes para desarrollar el proyecto.
A la Universidad Pedaggica Mariscal Sucre,
por el apoyo recibido para la realizacin de este
proyecto.

RESUMEN
La construccin de horarios en una institucin educativa es un problema complejo debido a la
cantidad de restricciones que presenta y el criterio con el que se aplican.
Por otro lado, la necesidad de tener una forma de identificar de manera nica al personal de
cualquier institucin, exige implementar una serie de mtodos para optimizar el control de
personal. Hoy en da, el ms utilizado es el mtodo biomtrico que utiliza dispositivos
electrnicos que captura patrones que identifica de manera nica a las personas.
El objetivo del proyecto es el desarrollo de un sistema automatizado para facilitar y mejorar el
registro de control de asistencia al personal, adems de apoyar en la construccin de horarios
acadmicos para la Universidad Pedaggica Mariscal Sucre.
Para la construccin de horarios se eligi el modelo de TTE (Time Tabling Educacional) el
High-School Timetabling y los algoritmos genticos, debido a las caractersticas y
restricciones propias de la Institucin.
El proyecto ha sido desarrollado con conceptos de programacin Orientada a Objetos,
utilizando el lenguaje de Modelado Unificado (UML) para modelar el sistema. La
implementacin del sistema se la realiz con el lenguaje Java y el IDE Netbeans 6.01, junto
con el gestor de bases de datos MySQL y como herramienta de mapeo ToplinkEssentials.
La implementacin del sistema brinda a la Universidad Pedaggica Mariscal Sucre un mejor
manejo de la informacin relacionada al control de asistencia del personal y la posibilidad de
generar alternativas de horarios acadmicos.

NDICE DE CONTENIDO
CAPITULO I
CAPITULO I .......................................................................................................................... - 1 INTRODUCCIN Y OBJETIVOS........................................................................................ - 1 1.1. Introduccin o antecedentes del proyecto ................................................................. - 1 1.2. Identificacin del problema central del proyecto ....................................................... - 4 1.3. Abordaje de solucin del problema .......................................................................... - 4 1.4. Objetivos del proyecto ................................................................................................ - 7 1.4.1. Objetivo general .......................................................................................................... - 7 1.4.2. Objetivos especficos .................................................................................................. - 7 1.4.3. Delimitaciones ............................................................................................................ - 8 1.5. Justificacin del proyecto ........................................................................................... - 9 1.5.1. Justificacin Tecnolgica ........................................................................................... - 9 1.5.2. Justificacin Operativa ............................................................................................... - 9 MARCO CONTEXTUAL................................................................................................... - 10 2.1. Anlisis de la Situacin Actual ...................................................................................... - 10 2.1.1. Asignacin de Horarios .............................................................................................. - 10 2.1.2. Control de Asistencia al Personal Docente................................................................. - 12 2.2. Anlisis del Dominio del Problema ............................................................................... - 12 MARCO TEORICO CONCEPTUAL ................................................................................ - 15 3.1. Marco Terico del Dominio del Problema .................................................................... - 15 3.1.2. Gestin de Recursos Humanos ................................................................................... - 16 3.1.3. Asignacin de Horarios .............................................................................................. - 16 3.2. Referencia a Proyectos Similares .................................................................................. - 16 3.3. Marco Terico de Ingeniera ......................................................................................... - 18 3.3.1. Sistemas de Informacin ............................................................................................ - 19 3.3.2. Biometra .................................................................................................................... - 19 3.3.3. Sistemas Biomtricos. ................................................................................................ - 19 3.3.4. Huella Digital ............................................................................................................. - 21 3.3.5. Tecnologas de huellas digitales ................................................................................. - 21 3.3.6. Timetabling................................................................................................................. - 24 3.3.7. Timetabling Educational (TTE) ................................................................................. - 25 3.3.7.1. Tipos de Problemas TTE ......................................................................................... - 26 3.3.8. Mtodos de Optimizacin........................................................................................... - 28 3.3.9. Tcnicas heursticas Modernas ................................................................................... - 28 3.3.9.1. Algoritmos Genticos ............................................................................................. - 29 3.3.9.2. Terminologa de los Algoritmos Genticos ............................................................. - 30 3.3.9.3. Modelo 1:................................................................................................................. - 33 3.3.9.4. Modelo 2:................................................................................................................. - 34 3.3.9.5. Modelo 3:................................................................................................................. - 36 3.3.10. Plataforma de Desarrollo del Software ..................................................................... - 38 3.3.10.1. Lenguaje de programacin java............................................................................. - 38 3.3.10.2. Arquitectura Modelo Vista Controlador ................................................................ - 38 3.3.10.4. Entorno de Programacin ...................................................................................... - 40 3.3.11. Generador de Reportes ............................................................................................. - 41 -

3.3.11.1. iReport ................................................................................................................... - 41 3.3.12. Gestor de Bases de Datos ......................................................................................... - 42 3.3.12.1. PostGreSQL........................................................................................................... - 42 3.3.12.2 MySQL ................................................................................................................... - 43 3.3.14. JPA: Java Persistence API ........................................................................................ - 44 3.3.15. Implementacion JPA. ............................................................................................... - 45 3.3.15.1.Toplink Essentials .................................................................................................. - 45 DESARROLLO DEL PROYECTO ..................................................................................... - 46 4.1. Proceso de Requerimientos ........................................................................................... - 46 4.1.2. Obtencin de Requerimientos .................................................................................... - 46 4.1.4. Requerimientos no Funcionales.................................................................................. - 47 4.1.5. Requerimientos del Usuario ....................................................................................... - 48 4.1.6. Identificacin de actores ............................................................................................. - 48 4.1.7. Diagramas de Casos de Uso ....................................................................................... - 49 4.1.8. Personas involucradas en el desarrollo y operacin ................................................... - 52 4.1.9. Interfaces que requieren los usuarios......................................................................... - 52 4.1.10. Correspondencia entre elementos funcionales e interfaces ...................................... - 53 4.2. Proceso de Anlisis y Diseo ........................................................................................ - 55 4.2.1. Riesgos del Proyecto .................................................................................................. - 55 4.2.2. Arquitectura del Sistema ............................................................................................ - 58 4.2.3. Estructura Esttica del Sistema .................................................................................. - 59 4.2.3.1. Estructura de Datos.................................................................................................. - 59 4.2.4. Estructura Dinmica del Sistema ................................................................................ - 64 4.2.4.1. Diagrama de secuencia ............................................................................................ - 65 4.2.4.2. Diagrama de colaboracin ....................................................................................... - 66 4.2.5. Mapeamiento para la implementacin del Sistema .................................................... - 67 4.2.5.1. Mapeamiento a Tablas ............................................................................................. - 67 4.2.5.2. Diseo de la Base de Datos ..................................................................................... - 68 4.2.6. Elaboracin del algoritmo gentico para la distribucin de los horarios en la
Universidad Pedaggica Mariscal Sucre. .............................................................. - 69 4.2.6.1. Caractersticas Particulares de la Institucin ........................................................... - 69 4.2.6.2. Factores involucrados en la generacin de horarios ................................................ - 69 4.2.6.3. Diseo del Algoritmo .............................................................................................. - 71 4.2.6.4. Representacin del Cromosoma (Individuo) ........................................................... - 74 4.2.6.5. Representacin de la poblacin ............................................................................... - 76 4.2.6.6. Evaluacin de la poblacin ...................................................................................... - 78 4.2.6.7. Operadores Genticos .............................................................................................. - 80 4.2.6.8. Seleccin.................................................................................................................. - 83 4.2.6.9. Generacin de la poblacin inicial .......................................................................... - 83 4.3. Proceso de Implementacin ........................................................................................... - 86 4.3.1. Fases y plazos de implementacin............................................................................. - 86 4.3.2. Preparacin de la plataforma ..................................................................................... - 86 4.3.4. Preparacin del Software ............................................................................................ - 86 4.3.5. Diagrama de Componentes ......................................................................................... - 87 4.3.5.1. Mdulos del Sistema ............................................................................................... - 88 4.3.5.2. Diagrama de Despliegue.......................................................................................... - 89 4.3.6. Estructura de Directorios y Archivos ......................................................................... - 89 -

4.3.7. Implementacin de las clases en lenguaje de programacin ...................................... - 91 4.3.8. Implementacin de la Base de Datos .......................................................................... - 94 4.4. Seguridad del Sistema ................................................................................................... - 95 4.5. Proceso de Prueba .......................................................................................................... - 96 4.5.1. Pruebas de Software ................................................................................................... - 96 4.5.3. Diseo y ejecucin de las pruebas. ............................................................................. - 98 4.5.3.1. Pruebas de Unidad ................................................................................................... - 98 3.5.3.2. Pruebas de Integracin ............................................................................................ - 99 4.6. Cronograma de ejecucin ............................................................................................ - 100 4.6.1. Plan de desarrollo del Proyecto ................................................................................ - 100 4.6.2. Cronograma de Actividades ..................................................................................... - 105 DISCUSIN DE RESULTADOS...................................................................................... - 108 5.1. Resultados.................................................................................................................... - 108 5.1.1. Interfaces de Usuario ................................................................................................ - 108 Se debe recalcar que RUP no define un diseo de interfaces y pantallas en ninguna de las
fases; a continuacin se muestra algunas de las interfaces ms relevantes del sistema. . 108 5.2. Puesta en Marcha ......................................................................................................... - 114 5.2.1. Especificacin tcnica de hardware y software ........................................................ - 114 5.2.2. Instalacin del Sistema ............................................................................................. - 115 5.2.3. Capacitacin a Usuarios ........................................................................................... - 115 5.2.2. Estimacin del costo y Esfuerzo del Producto ......................................................... - 116 CONCLUSIONES .............................................................................................................. - 118 RECOMENDACIONES .................................................................................................... - 119 REFERENCIA BIBLIOGRFICA .................................................................................... - 120 BIBLIOGRAFA ................................................................................................................ - 124 GLOSARIO DE TRMINOS ............................................................................................ - 125 ANEXOS ............................................................................................................................ - 127 REFERENCIA TCNICA ................................................................................................. - 141 -

INDICE DE TABLAS
Tabla 3.1. Comparacin de Mtodos Biomtricos .............................................................. - 20 Tabla 3.2. Diferencias entre High School y university timetabling. ................................... - 27 Tabla 3.3. Codificacin de la jornada de clases ................................................................... - 33 Tabla 3.4. Representacin no binaria de un gene ................................................................. - 33 Tabla 3.5. Comparativa de Entornos de Desarrollo.............................................................. - 40 Tabla 4.1. Prevencin y mitigacin de riesgos identificados .............................................. - 55 Tabla 4.2. Asignaturas ......................................................................................................... - 70 Tabla 4.3. Tabla Periodos ..................................................................................................... - 70 Tabla 4.4. Tabla Aulas .......................................................................................................... - 71 Tabla 4.5. Niveles de Acceso de Usuarios .......................................................................... - 96 Tabla 4.6. Prueba Gestionar Kardex .................................................................................... - 99 Tabla 4.7. Prueba Gestin de Usuarios................................................................................. - 99 Tabla 4.8. Planificacin de Actividades (Investigacin de las Herramientas) ................... - 101 Tabla 4.9. Planificacin de Actividades (Desarrollo del proyecto) .................................... - 101 Tabla 5.1. Especificacin tcnica de hardware (servidor) .................................................. - 114 Tabla 5.2. Especificacin tcnica de hardware (cliente) .................................................... - 114 Tabla 5.3. Especificacin tcnica de software .................................................................... - 115 Tabla 5.4. Costos de obtencin de informacin, papelera y otros ..................................... - 116 Tabla 5.5. Costos de licencias de software ......................................................................... - 116 -

INDICE DE FIGURAS
Figura 1.1. Abordaje de solucin del problema .................................................................... - 6 Figura 2.1. Proceso de construccin de horarios en la UPNMS .......................................... - 11 Figura 3.1. Lector de huella RS- 120 ................................................................................... - 21 Figura 3.2. Lector de huella Hamster ................................................................................... - 23 Figura 3.3. Lector de huella DigitalPersona ......................................................................... - 23 Figura 3.4. Tcnicas de Bsqueda ........................................................................................ - 28 Figura 3.5. Inicializar aleatoriamente una poblacin ........................................................... - 30 Figura 3.6. Cruce de Soluciones .......................................................................................... - 31 Figura 3.7 Mutacin de Soluciones .................................................................................... - 31 Figura 3.8. Seleccin de la Poblacin................................................................................... - 32 Figura 3.9. Representacin no binaria de un cromosoma .................................................... - 34 Figura 3.10. Correspondencia entre los cursos a impartir y los espacios disponibles .......... - 35 Figura 3.11 Esquema Modelo Vista Controlador ................................................................. - 39 Figura 4.1. Diagrama de Casos de Uso Principal ................................................................. - 49 Figura 4.2. Diagrama de Casos de Uso Gestionar Kardex de Personal................................ - 50 Figura 4.3. Diagrama de Casos de Uso Gestionar Asistencia .............................................. - 50 Figura 4.4. Diagrama de Casos de Uso Controlar Asistencia .............................................. - 51 Figura 4.5. Diagrama de Casos de Uso Generar Horarios ................................................... - 51 Figura 4.6. Diagrama de Paquetes de SISCAACH .............................................................. - 58 Figura 4.7. Diagrama de Clases ............................................................................................ - 60 Figura 4.8. Diagrama de Secuencia: Datos Personales ........................................................ - 65 Figura 4.9. Diagrama de Colaboracin: Datos Personales ................................................... - 66 Figura 4.10. Diagrama Entidad Relacin ............................................................................. - 67 Figura 4.11. Modelo Lgico Global de Datos ...................................................................... - 68 Figura 4.12. Representacin del Individuo Inicial ............................................................... - 75 Figura 4.13. Representacin del Individuo Final ................................................................. - 76 Figura 4.14. Representacin de la poblacin ........................................................................ - 76 Figura 4.15. Mdulos del Sistema ........................................................................................ - 88 Figura 4.16. Diagrama de Componentes .............................................................................. - 88 Figura 4.17. Diagrama de Despliegue .................................................................................. - 89 Figura 4.18. Estructura de Directorios y Archivos ............................................................... - 90 Figura 4.19. Implementacin de la base de datos (Interfaz SQL Maestro for MySQL) ...... - 95 Figura 4.20. Interfaz ingreso al sistema ................................................................................ - 96 Figura 4.21. Diagrama de Gant del proyecto...................................................................... - 105 Figura 4.22. Diagrama de Gant del Proyecto (Continuacin) ............................................ - 106 Figura 4.23. Diagrama de Gant del proyecto (Continuacin) ............................................ - 107 Figura 5.1. Men Principal del Sistema ............................................................................. - 108 Figura 5.2. Registro de Personal ......................................................................................... - 109 Figura 5.3. Registro Situacin Laboral ............................................................................... - 109 Figura 5.4. Bsqueda de Personal ...................................................................................... - 109 Figura 5.5. Reporte de personal .......................................................................................... - 110 Figura 5.6. Registro de Turnos ........................................................................................... - 110 Figura 5.7. Asignacin de Turnos ...................................................................................... - 111 -

Figura 5.8. Registro de Permisos ........................................................................................ - 111 Figura 5.9. Administrador de pin y huella .......................................................................... - 112 Figura 5.10. Registrar Asignaturas ..................................................................................... - 112 Figura 5.11. Configuracin Datos Horario ......................................................................... - 113 Figura 5.12. Horarios Construidos ..................................................................................... - 113 -

CAPITULO I
INTRODUCCIN Y
OBJETIVOS

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

CAPITULO I
INTRODUCCIN Y OBJETIVOS
1.1.

Introduccin o antecedentes del proyecto

La Escuela Nacional de Maestros de Sucre, se cre el 6 de junio de 1909 con el nombre de


Escuela de Preceptores de la Repblica, luego Escuela Normal de Maestros Mariscal
Sucre, posteriormente Instituto Normal Superior, hoy Universidad Pedaggica Nacional
Mariscal Sucre; cuyo objetivo principal es la formacin de profesionales de la educacin en
todos los grados, modalidades y especialidades capaces de contribuir en la solucin de
problemas de la educacin nacional, desarrollando investigacin educativa en el proceso
pedaggico de formacin, a travs de procesos de interaccin social y cultural, permitiendo la
aplicacin prctica de las capacidades y competencias adquiridas en la formacin profesional.
La Universidad Pedaggica Nacional Mariscal Sucre es una Institucin de Educacin
Superior dependiente del Ministerio de Educacin, cuyos ambientes se encuentran ubicados en
la ciudad de Sucre Capital de la Repblica de Bolivia, en la Avenida del Maestro No. 331.
La Universidad Pedaggica Nacional Mariscal Sucre cuenta con un personal dividido en tres
reas: Docentes, Administrativos y de Servicio, de los cuales ciento tres (103) docentes firman
en el cuaderno de registro de control de asistencia de acuerdo al horario que tienen asignados,
mientras que veinticinco (25) administrativos, hacen uso del Sistema SIA (Sistema de
Informacin Administrativa) [1]. El proyecto a desarrollarse beneficia al personal docente y
alumnado de la institucin.
La Universidad Pedaggica Nacional Mariscal Sucre cuenta con recursos informticos que
responden a las necesidades actuales como ser: computadoras con procesadores desde Pentium
III hasta Core 2 Duo, servidor, hubs, ups, ruter, switch de 32 puertos, cables UTP, conectores,
software, redes, etc., los mismos que estn distribuidos de la siguiente manera: 40
computadoras para el rea administrativa (Rectorado 2, Unidad de Registro e Inscripciones 5,
Almacenes 2, Recursos Humanos 2, Administracin 2, oficinas dependientes de Primaria 8,
oficinas dependientes de Secundaria 5, Biblioteca 12, Bienestar Universitario 1, Portera 1) y
52 computadoras en Laboratorios de Primaria y Secundaria; tambin cuenta con el servicio de

-1CAPITULO I: Introduccin o Antecedentes del Proyecto

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Internet ADSL de 512 k. por intermedio de ENTEL y un servidor IBM procesador XEON de
1.60 Ghz, 400Gb RAM y un disco duro de 180Gb que soporta la red, pgina Web, correo y
otros, para el servicio de toda la Comunidad Universitaria, el servicio de Internet es
compartido por medio de una red LAN en las oficinas de la carrera de primaria y otra en la
carrera de secundaria.

Todos estos recursos informticos han sido proporcionados por el

Ministerio de Educacin.
Actualmente el Centro de Cmputo de la Universidad se encuentra en la Unidad de Registro e
Inscripciones que es encargada del Seguimiento y Control Acadmico (admisiones,
inscripciones, registro de notas, matrculas, entre otras), kardex de personal docente y
administrativo a travs del Sistema de Formacin Docente (SIFD), desarrollado con la
herramienta de programacin Delphi, este sistema ha sido implementado el ao 2004 otorgado
por el Ministerio de Educacin. Otro sistema con el que cuenta la institucin es el Sistema
SINCON otorgado por el Ministerio de Hacienda y a cargo de la Unidad de Contabilidad.
La Universidad cuenta con un Sistema de Control de Asistencia SIA [1] (Sistema de
Informacin Administrativa) desarrollado con la herramienta de programacin Delphi que
fue adquirido e implementado el ao 2005, y que hoy funciona solo para personal
administrativo y no as para docentes.
El control de asistencia al personal docente se lleva a cabo mediante la firma en un cuaderno
de registro de asistencia que se encuentra en la puerta de la institucin, esta tarea muchas
veces nos es muy efectiva ni confiable debido a la flexibilidad del control, ya que algunos
docentes firman fuera de los horarios establecidos; por otra parte los reportes elaborados a
partir del registro de asistencia se realizan en hojas electrnicas independientes (Excel) en la
Unidad de Recursos Humanos, estos reportes (das trabajados, atrasos, faltas, licencias, etc.),
pasan manualmente a la Unidad de Contabilidad para la elaboracin de planillas.
El problema de la asignacin de horarios y distribucin de aulas radica en que normalmente se
requiere varios das de trabajo para su elaboracin porque se debe tomar en cuenta varios
parmetros y restricciones relacionados con los estudiantes, docentes y aulas, pero sobre todo
debido a que este proceso es realizado manualmente. Inicialmente los horarios son realizados
por un equipo conformado por los coordinadores de rea (Primaria y Secundaria), este
-2CAPITULO I: Introduccin o Antecedentes del Proyecto

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

horario elaborado pasa a los responsables de carrera que son los encargados de corregir las
dificultades e incluir aspectos relacionados con cada carrera, una vez corregido el horario
regresa a los coordinadores de rea donde se aprueban los horarios y se procede a su
publicacin. En la elaboracin de los horarios y la distribucin de aulas se toma como
parmetro los horarios de las anteriores gestiones que mejor se han acomodado a los
requerimientos de los estudiantes y docentes, pero aun as siguen existiendo dificultades,
alumnos y docentes buscando aulas, poca cantidad de alumnos pasando clases en aulas
amplias, materias troncales o fuertes en horarios continuos, etc.
Segn una investigacin hecha en la Universidad de Palermo Las versiones de software
comercial, libre y/o gratuito que existen en el mercado, generan horarios de clase pero no
asignan aulas o algunas soportan visualmente la tarea de asignar aulas manualmente pero no
suelen implementar inteligencia alguna ni optimizan la distribucin[2].
Aplicaciones como el Time Tables [3], software comercial 995 ; Visual Classroom Scheduler
[4], software libre; Softaula [5] software comercial 590 , permiten generar el horario
completo teniendo en cuenta varias condiciones incluyendo psico-higinicas asignaciones de
grupos, inclusive es posible realizar cambios manuales, la dificultad radica en que existen
muchas

condiciones y restricciones que varan en comparacin al objeto de estudio en

cuestin y estn en idioma ingls.


Kronowin [6] es un Software Generador de Horarios comercial con un costo de 800 Euros,
permite obtener de una forma sencilla los horarios de un Centro Escolar, con un entorno
grfico, intuitivo y amigable.
Las alternativas mencionadas aportan un avance considerable en el proceso de asignacin de
aulas sin embargo, son productos diseados para su uso general y aunque proclaman ser

-3CAPITULO I: Introduccin o Antecedentes del Proyecto

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

ideales, no toman en cuenta factores importantes que son requeridos para su uso en la
Universidad Pedaggica Mariscal Sucre, como por ejemplo que existen carreras por turnos y
que cada bloque ya est asignado a una determinada carrera.

1.2.

Identificacin del problema central del proyecto

El problema identificado en la Universidad Pedaggica Nacional Mariscal Sucre es la


dificultad de generar horarios, asignar aulas y controlar la asistencia al personal docente por
medio de un proceso manual.

1.3.

Abordaje de solucin del problema

Para resolver el problema identificado se propone desarrollar una aplicacin cliente servidor
centralizado que permita asignar aulas, generar horarios y controlar la asistencia al personal
docente; utilizando el lenguaje de programacin Java SE, siguiendo el paradigma de
programacin orientado a objetos [7], la metodologa RUP (Rational Unified Process)[8],
ciclo de vida iterativo incremental, lenguaje de modelado UML[9], Interfaz de usuario
empleando la herramienta de programacin Netbeans6.1[10], lenguaje de programacin
Java[11]; la administracin y tratamiento de la informacin se realizar utilizando el gestor de
Bases de Datos MySQL 5.1.31-win32[12].
Se eligi el gestor de bases de datos MySQL, porque el almacn de datos ms comn en
nuestro medio son las bases de datos relacionales, para enmarcarnos dentro del paradigma
orientado a objetos y mantener la persistencia de objetos se aplica el Mapeo Objeto Relacional
(MOR)[13] con la ayuda de la implementacin Java Persistence Api (JPA) que proporciona un
estndar para gestionar datos relacionales en aplicaciones Java, de forma que adems se
simplifique el desarrollo de la persistencia de datos[14], el MOR es una tcnica que mapea
representaciones de datos de un modelo de objetos a un modelo de datos relacional con un
esquema basado en SQL.
Adems, para la bsqueda de una solucin ptima en la distribucin de aulas y generacin de
horarios se utilizar mtodos matemticos de optimizacin multiobjetivos como son los
algoritmos genticos que forma parte de los algoritmos evolutivos.
En cuanto a la metodologa utilizada en la elaboracin del proyecto se considera
principalmente el mtodo cientfico, mtodos empricos y tericos.
-4CAPITULO I: Identificacin del problema central del proyecto

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Los mtodos y Medios de Investigacin utilizados son:


La Revisin Bibliogrfica para realizar la revisin de toda la documentacin de
investigaciones existentes sobre el tema y recolectar la informacin correspondiente a la
aplicacin de la informtica en la bsqueda de soluciones optimas. [15]
Las Entrevistas al personal involucrado con el proceso de control de asistencia y elaboracin
de horarios en la Universidad Pedaggica.
La Recopilacin de la Informacin fue en la fase de inicio y fue proporcionado por el
Responsable de Recursos Humanos para el control de asistencia y por los Coordinadores de
Nivel encargados de los horarios del Personal Docente.
El Anlisis y Sntesis para descomponer el problema en varias partes o subproblemas
resolviendo cada uno independientemente, identificando los requerimientos y definiendo los
subsistemas y sus relaciones.
El Experimental, para generar soluciones optimas y para determinar cambios que puede
producir la implementacin de un sistema con estas caractersticas.

-5CAPITULO I: Identificacin del problema central del proyecto

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

ABORDAJE DE SOLUCIN
DEL PROBLEMA
AL ELABORAR

SE EMPLEA

TCNICAS
METAHEURSTIC
AS

SE EMPLEA

SISTEMA CONTROL DE ASISTENCIA


Y APOYO A LA CONSTRUCCION DE
HORARIOS

TECNICAS DE
BIOMETRIA

SE ELIGE
PARADIGMA O. O.
METODOLOGA

PROCESO
UNIFICADO

HERRAMIENTAS

CICLO DE VIDA

BD

ITERATIVO
INCREMENTAL

MY SQL
5.1.31

MAPEO OBJETO
RELACIONAL

LENGUAJES

(Modelado)
UML

S. O.

(Programacin)

JAVA

CON

WINDOWS
XP

DOC.

MICROSOFT
WORD

JPA

ENT. DE PROG

NETBEANS
6.0.1

HERR. CASE

RATIONAL
ROSE

Figura 1.1. Abordaje de solucin del problema


Fuente : Elaboracin propia

-6CAPITULO I: Abordaje de solucin del problema

INGENIERA DE SISTEMAS
UMRPSFXCH

1.4.

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Objetivos del proyecto

1.4.1. Objetivo general


Desarrollar e implementar un Sistema Cliente Servidor Centralizado que genere horarios,
asigne aulas y permita el control de asistencia del Personal Docente, respondiendo a los
requerimientos de la institucin en funcin a la informacin provista y ajustndose a las
polticas de la misma.
1.4.2. Objetivos especficos
Desarrollar un subsistema kardex del Personal Docente de la Institucin, que gestione la
situacin laboral, formacin acadmica, datos personales, documentacin, etc., con las
interfaces claras y entendibles, ajustndose a lo establecido en las normas ISO 9000.
Desarrollar un subsistema para el control de asistencia del personal docente utilizando
tecnologa biomtrica y que se ajuste a las polticas y normas de la institucin.
Disear e implementar un subsistema para una distribucin ptima de recursos (Aulas,
Horarios).
Desarrollar un Subsistema de Reportes que permita obtener la informacin clara, concreta
y confiable, adems de permitir la impresin de los mismos de acuerdo a las necesidades
del usuario.
Desarrollar un modulo de seguridad que permita el control de accesos de usuarios al
sistema de tal manera que garantice la confiabilidad e integridad de los datos.
Desarrollar e Implementar un Sistema de Ayuda que brinde informacin clara y concreta
con relacin a todas las funcionalidades y recursos, permitiendo una navegabilidad fluida
entre sus diferentes temas.
Implementar y poner a prueba el Sistema durante un mnimo de dos meses para detectar
errores y defectos tan temprano como sea posible de manera que el sistema cumpla con
todas las especificaciones y requisitos de la Institucin, documentando todo el proceso.
-7CAPITULO I: Objetivos del proyecto

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

1.4.3. Delimitaciones
La delimitacin del proyecto identifica que las siguientes actividades quedan fuera del alcance
del proyecto:

Diseo e instalacin de redes de computadoras, ya que la institucin cuenta con las


mismas.

Desarrollo de Software para detectar e identificar huellas dactilares; se emplea el software


proporcionado por el fabricante.

Desarrollo de Software para emisin de planillas y sueldos.

-8CAPITULO I: Objetivos del proyecto

INGENIERA DE SISTEMAS
UMRPSFXCH

1.5.

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Justificacin del proyecto

1.5.1. Justificacin Tecnolgica


En la elaboracin del proyecto se utilizan mtodos matemticos de distribucin de espacios, de
tal manera que puedan optimizar la asignacin de recursos. Los mtodos matemticos de
optimizacin como los algoritmos genticos, multiobjetivos y evolutivos no han sido
utilizados en nuestro medio y la utilizacin en este proyecto puede servir para resolver otros
problemas similares de distribucin como ser asignacin de canales en comunicacin mvil,
asignacin de carga acadmica, distribucin de redes de computadoras etc.
1.5.2. Justificacin Operativa
La elaboracin del proyecto beneficia al personal encargado de la administracin de la
Institucin por cuanto ahorra tiempo y esfuerzo ya que el sistema distribuye aulas y asigna
horarios automticamente, pero sobre todo los estudiantes no tienen que andar buscando aulas
adecuadas para el desarrollo normal de sus actividades acadmicas, adems la automatizacin
del control de asistencia a docentes facilita el manejo de la informacin a la hora de generar
reportes, etc., necesarios para el envo a planillas, adems de garantizar, la seguridad e
integridad de la informacin.

-9CAPITULO I: Justificacin del Proyecto

CAPITULO II
MARCO CONTEXTUAL

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

MARCO CONTEXTUAL
2.1. Anlisis de la Situacin Actual
La Universidad Pedaggica Nacional Mariscal Sucre es una Institucin de Educacin
Superior que involucra una numerosa cantidad de Recursos Humanos (Docentes,
Administrativos, Estudiantes, Personal de Servicio), e Infraestructura (Aulas, laboratorios,
Oficinas).
Entre los procesos que realiza la Universidad Pedaggica para el desarrollo normal de las
actividades acadmicas, estn principalmente la asignacin de horarios acadmicos y el
control de asistencia al Personal Docente. En ambos casos el proceso es manual considerando
ciertas restricciones obligatorias.
2.1.1. Asignacin de Horarios
Para la asignacin de horarios la institucin emplea el modelo de horarios por turnos, esto
quiere decir, que el nivel primario realiza sus actividades acadmicas en el turno de la maana
y el nivel secundario en el turno de la tarde, esta asignacin es flexible para casos especiales
(falta de aulas en turno asignado, asignaturas que requieren laboratorios), adems que cada
carrera cuenta con un determinado bloque de aulas asignado. Por otro lado se debe tomar en
cuenta que los docentes ya tienen asignado las asignaturas que deben impartir.
Para evitar mayores complicaciones los horarios son elaborados tomando en cuenta los
horarios de la anterior gestin.
Las restricciones obligatorias para la generacin de horarios son:
1. Un Docente no puede impartir dos o ms asignaturas en el mismo horario.
2. Una sala de clases no puede ser utilizada por dos o ms asignaturas al mismo tiempo
3. Una asignatura debe cumplir con la cantidad de horas semanales requeridas
4. No deben coincidir los horarios de las asignaturas que corresponden a un mismo
semestre en la malla curricular.
El proceso de construccin de los horarios es el siguiente:

- 10 CAPITULO II: Anlisis de la Situacin Actual

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

El Coordinador de cada Nivel (Primaria, Secundaria) elabora los posibles horarios con los
directores de cada carrera, una vez que los horarios han sido reunidos estos pasan a Direccin
Acadmica para su revisin y aprobacin en caso de existir alguna observacin vuelve a ser
revisado por el coordinador y directores de carrera este proceso se repite hasta que sea
aprobado por direccin acadmica. Este proceso de asignacin y distribucin de aulas se
muestra en la siguiente figura:
Inicio

Criterios de Evaluacin de
horarios
- Un Docente no puede impartir
dos o ms asignaturas en el
mismo horario.
- Un Aula no puede ser utilizada
por dos o ms asignaturas al
mismo tiempo.
- Una asignatura debe cumplir
con la cantidad de horas
semanales requeridas.
- No deben coincidir los horarios
de
las
asignaturas
que
corresponden a un mismo
semestre en la malla curricular.
-

Construccin de horarios
por Directores de Carrera y
Coordinador de Nivel

n
o

Horarios
aceptables

si
Revisin y aprobacin de
los horarios por Direccin
Acadmica

Horarios
Aprobados

n
o

si
Imprimir
Horarios
Fin
Figura 2.1. Proceso de construccin de horarios en la UPNMS
Fuente: Elaboracin propia fundamentada en los procedimientos de la Universidad
Pedaggica
- 11 CAPITULO II: Anlisis de la Situacin Actual

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

2.1.2. Control de Asistencia al Personal Docente


El control de asistencia al personal docente se realiza a travs de la firma que cada docente
registra en una planilla de asistencia a la hora de ingresar y salir tomando en cuenta que el
docente que firma la planilla tenga un turno asignado para ese da.
La planilla de asistencia se encuentra en las puertas de ingreso a la institucin y al finalizar el
mes el encargado de Recursos Humanos revisa dichas planillas y elabora un informe de
asistencia resaltando las faltas licencias o atrasos, dicho informe es enviado a contabilidad
para su posterior tratamiento.
La planilla de control de asistencia tiene los siguientes datos:
-

La fecha de la planilla de asistencia.

Nombre de cada docente que tiene clases esa fecha.

Hora de ingreso turno de la maana.

Hora de salida turno de la maana.

Hora de ingreso turno de la tarde.

Hora de salida turno de la tarde.

Para la hora de ingreso se toma en cuenta la primera asignatura que dicta cada docente en esa
fecha.
Para la hora de salida se toma en cuenta la ltima asignatura que dicta cada docente en esa
fecha.
Este criterio se aplica a ambos turnos maana y tarde.

2.2. Anlisis del Dominio del Problema


A continuacin se realiza un detalle de los factores que causan inconvenientes en el proceso de
construccin de horarios y el control de asistencia, estos problemas fueron obtenidos despus
de aplicar entrevistas a los encargados del proceso (Director Acadmico, Coordinador de
nivel, Directores de Carrera, Jefe de Recursos Humanos).

- 12 CAPITULO III Anlisis del Dominio del Problema

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Director Acadmico: es el encargado de la publicacin del horario final previa evaluacin del
mismo.
Coordinador de Nivel: es el encargado de enviar los horarios propuestos al Director
Acadmico, previa revisin y anlisis con los directores de Carrera del nivel correspondiente
(Inicial, Primario y Secundario).
Directores de Carrera: son los encargados de elaborar los horarios acadmicos para su nivel
correspondiente (Inicial, Primario y Secundario).
Jefe de Recursos Humanos: algunas funciones de esta entidad son:
-

Elaborar la planilla de control de asistencia al personal.

Recibir solicitudes de licencias, permisos, justificaciones de faltas y atrasos.

Revisar peridicamente la planilla de asistencia para el control de atrasos y faltas,


evitando que el personal firme fuera de horario.

Elaborar informes diarios y mensuales de asistencia del personal.

Dificultad en el proceso de generacin de horarios


Una de las dificultades que se presentan en la Universidad Pedaggica al inicio de una gestin
acadmica y durante el desarrollo de la misma es la construccin de horarios ya que la
institucin no cuenta con un software que elabora automticamente los horarios de clases,
tarea que normalmente requiere varios das de trabajo manual.
El problema de la construccin de horarios radica en la gran cantidad de combinaciones
posibles que se provocan al intentar asignar horarios a los profesores. Esta situacin provoca
regularmente molestias personales, problemas de funcionamiento, conflictos de asignacin de
tiempos y choques de horarios, los cuales se solucionan en un proceso posterior ajustndose a
la disponibilidad de tiempo de los profesores lo cual implica gran prdida de tiempo.
Dificultad en el Control de Asistencia al Personal Docente
Otra dificultad se presenta en el control de asistencia al personal docente, principalmente
porque es un proceso manual, el docente debe buscar su nombre en la planilla, buscar su turno
asignado para ese da, lo que muchas veces genera colas de espera y esto prdida de tiempo,
- 13 CAPITULO III Anlisis del Dominio del Problema

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

adems muchas veces es posible firmar fuera de horario ya que la planilla est disponible para
otros docentes que tienen otros turnos.
Por otro lado en el momento en que se requiere un reporte detallado de la asistencia (horas de
ingreso, total tiempo atraso, total faltas, total licencias, etc.) de un determinado docente no es
posible obtenerlo, ya que el informe de asistencia del personal se realiza cada fin de mes,
donde el jefe de recursos humanos debe realizar un informe de forma manual con los datos
obtenidos de planillas de control de asistencia.
De acuerdo a los problemas identificados se ha determinado que existe la siguiente necesidad:
Implementar un sistema que permita:
-

Registrar datos del Personal Docente de forma legible rpida y que almacene los
mismos de manera permanente.

Obtener datos del personal de forma automtica e inmediata par su actualizacin o para
la elaboracin de reportes segn criterios establecidos.

Registrar turnos de trabajo de acuerdo a los perodos acadmicos establecidos por la


institucin.

Asignar turnos al personal docente, de acuerdo a los horarios acadmicos asignados al


mismo.

Registrar las carreras disponibles en la institucin.

Registrar las asignaturas por carrera y con el docente asignado a la misma

Construir horarios acadmicos tomando en cuenta las asignaturas de cada carrera y el


docente que la imparte.

Generar reportes relacionados al personal, al registro de asistencia, horarios por carrera


y por docente.

- 14 CAPITULO III Anlisis del Dominio del Problema

CAPITULO III
MARCO TERICO
CONCEPTUAL

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

MARCO TEORICO CONCEPTUAL


3.1. Marco Terico del Dominio del Problema
El uso de la computadora es un elemento indispensable en todos los mbitos de nuestra
sociedad, proporciona adems de eficiencia un considerable ahorro en el tiempo.
Las instituciones educativas superiores de hoy en da, se han visto en la necesidad de
implementar Sistemas Informticos para un adecuado manejo y control de sus recursos, en la
mayora de los casos estos sistemas estn destinados a diferentes reas como ser: Control de
Almacenes, Inventarios, Planillas, Ventas, Cuentas por Cobrar y Pagar, Contabilidad, entre
muchos otros.
Una de las reas que mas a tardado en automatizarse ha sido la del Control de Asistencia y/o
Permanencia del personal, esto debido a la an amplia utilizacin de sistemas tradicionales,
como ser: los "Sistemas Manuales" de control basados en los antiguos relojes mecnicos que
utilizan tarjetas de cartn, o nicamente con "partes de asistencia" que no son otra cosa que
hojas de papel con lneas numeradas en las que los empleados firman e indican (ellos mismos)
la hora en la cual ingresan o salen de la Institucin.
Al mismo tiempo otro de los principales problemas para la modernizacin de las instituciones
educativas superiores es la elaboracin y asignacin de horarios ptimos debido a la cantidad
de restricciones que presenta y el criterio con el que se aplican.
Las tendencias actuales acerca del Control de Asistencia a Personal Docente estn en la
incorporacin de sistemas biomtricos, porque permiten establecer mecanismos de control y
seguridad confiables; por otro lado para resolver el problema de la generacin de horarios y
distribucin de aulas se han realizado muchas investigaciones con Tcnicas Heursticas
Modernas conocidas tambin como Tcnicas de Bsqueda de Soluciones como ser:
Algoritmos Evolutivos, Algoritmo Tab, Teora de Grafos, Algoritmos Genticos, etc. Segn
el Instituto Tecnolgico de Nuevo Laredo La tcnica ms eficaz para generacin de horarios
son los Algoritmos Genticos ya que esta tcnica ha sido muy utilizada en problemas similares
y cuyo funcionamiento se inspira en procesos naturales combinando rapidez y eficiencia.[18]

- 15 CAPITULO II: Marco Terico del Dominio del Problema

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3.1.2. Gestin de Recursos Humanos


La gestin de recursos humanos es una actividad indispensable en toda entidad donde el
control de asistencia del personal se convierte en un elemento de vital importancia, ms an si
se trata de una entidad acadmica, donde

la inasistencia o los permanentes atrasos del

personal afectan negativa y directamente a los objetivos acadmicos propuestos en el plan


curricular de la institucin.
Una buena gestin en el control de personal permite alcanzar los objetivos definidos de la
manera ms eficaz y eficiente posible. [19]
3.1.3. Asignacin de Horarios
El problema de programacin docentes, horarios y cursos consiste en elaborar una
programacin de cursos que logra cumplir, lo mejor posible, los compromisos laborales y
acadmicos de la institucin, tomando en cuenta la disponibilidad de horario de los docentes,
los posibles cursos que estos pueden impartir, la disponibilidad de espacios fsicos, etc.
Es conocido que el problema de Programacin docentes, horarios y cursos es NP- Hard y
debido al grado de dificultad involucrado en resolver este tipo de problemas, es un rea de
investigacin muy activa. Una prueba de esta ltima afirmacin es la Conferencia
Internacional de Practice and Theory of Automated Timetabling realizada el ao 2007.
Adems existen grupos tales como el Working Group on Automated Time Tabling (Euro
WATT) el cual es parte de la Association Of European Operational Reserarch Societies, cuyo
objetivo es mantener informacin actualizada acerca de este tema en la web. [20]

3.2. Referencia a Proyectos Similares


En el departamento de Chuquisaca, Sucre, existen varias instituciones educativas e
instituciones gubernamentales que implementaron Sistemas de Control de Asistencia al
Personal que van desde el empleo de tarjetas magnticas hasta lectores de huellas digitales.
Por otro lado, se puede afirmar que en nuestro medio no existen Instituciones Educativas
Superiores sean estas estatales o privadas que hayan implementado un sistema automatizado
que administre los horarios, aulas y docentes; sin embargo existen investigaciones realizadas

- 16 CAPITULO II Referencia a Proyectos Similares

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

en otros pases y publicadas a travs de internet. A continuacin se describen brevemente


algunos proyectos existentes similares a nuestro dominio del problema.
-

Sistema de Control de Asistencia a Personal Importadora Medina


Este Sistema fue desarrollado para control de asistencia al personal que trabaja en la
Importadora Medina, el entorno de programacin es DELPHI 5, en el diseo de base
de datos SQL Server 2000 y la tecnologa biomtrica a travs de huellas digitales . La
Empresa se encuentra ubicada en la Avenida Jaime Mendoza cerca de la plazuela
Treveris.
El control de asistencia que realiza este sistema es en base a un horario fijo de entrada
y otro de salida, adems no se cuenta con el cdigo fuente, por lo que no se puede
adaptar a los requerimientos de nuestro problema.

Sistema Biomtrico de control de asistencia y planillas de pago


Este trabajo de proyecto de grado fue presentado en la Universidad Mayor de San
Andrs el ao 2008. Para optar el titulo de Licenciatura en informtica mencin
Ingeniera de Sistemas informticos.
El objetivo principal de este proyecto de grado es controlar la asistencia del personal
de la alcalda de El Alto,

haciendo uso de tecnologa biomtrica, utilizando la

metodologa RUP, entorno de programacin Visual Basic.Net, gestor de Base de Datos


SQL Server.[21]
-

Algoritmos Genticos par la resolucin de un problema de tipo Timetabling


Este trabajo de tesis fue presentado en la universidad de Valparaiso Chile el ao 2007
y se centra en encontrar una solucin al problema de asignacin de horarios que existe
en la carrera de Ingeniera en Informtica Aplicada.
Para resolver este problema se utiliz Algoritmos Genticos, que pertenecen al grupo
de Tcnicas Metaheursticas y Algoritmos Evolutivos.
El contenido del proyecto brinda un resumen sobre cmo resolver el problema de la
construccin de horarios universitarios a travs de la aplicacin de algoritmos
genticos. La importancia de este trabajo de tesis es que muestra en detalle un modelo

- 17 CAPITULO II Referencia a Proyectos Similares

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

matemtico general para su resolucin, este modelo puede ser adaptado a los
requerimientos de nuestro proyecto.[22]
-

Distribucin ptima de Horarios de Clases utilizando la tcnica de Algoritmos


genticos
Trabajo de tesis implementado en la Universidad Tecnolgica de Mixteca (UTM)
Mxico.
El Algoritmo Gentico implementado en este trabajo de Tesis, reduce eficazmente el
tiempo que toma elaborar una correcta asignacin de horarios, otra ventaja de utilizar
el AG para la asignacin de horarios, es que no se limita a un determinado nmero de
aulas si no que proporciona una opcin abierta para que dicho algoritmo se adapte al
crecimiento de la infraestructura de dicha institucin. [23]

3.3. Marco Terico de Ingeniera


La seguridad es el tema del momento y el reconocimiento de la identidad de las personas es
uno de sus aspectos ms fundamentales. Se ha demostrado la necesidad urgente de establecer
mtodos mejorados para verificar la identidad de las personas. Los sistemas biomtricos
surgen como una solucin real a las demandas de identificacin del mundo moderno. Estos
sistemas, con la capacidad de verificar automticamente la identidad de las personas
basndose en caractersticas individuales, son una de las muchas tecnologas que sern
utilizadas para reforzar la seguridad en lugares con acceso controlado como oficinas de
gobierno, aeropuertos; o para control de asistencia al personal numeroso que trabaja en turnos
diferentes.
Recientemente en nuestro pas Bolivia se ha implementado el padrn electoral biomtrico para
las elecciones generales. Segn Marcelo Villegas responsable de informtica de la CNE En el
caso del reconocimiento de la huella digital, se ha de tener en cuenta que en ningn caso se
extrae la imagen de la huella, sino una secuencia de nmeros que la representan; esto, adems,
sirve para que nadie que opere con estos sistemas guarde un registro fotogrfico de las huellas
digitales con la posibilidad de reproducirlas para otros usos.

- 18 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3.3.1. Sistemas de Informacin


Un sistema de informacin es un conjunto de procedimientos ordenados que, al ser ejecutados,
proporcionan informacin para apoyar la toma de decisiones y el control de la Institucin. La
informacin se define como una entidad tangible o intangible que permite reducir la
incertidumbre acerca de algn estado o suceso.
Los sistemas de informacin administrativa estn volvindose indispensables, a gran
velocidad, para la planificacin, la toma de decisiones y el control. La velocidad y exactitud
con que los directivos pueden recibir informacin sobre lo que est funcionando bien o lo que
est funcionando mal determinarn, en gran medida, la eficacia que tendrn los sistemas de
control. Dado que los sistemas de informacin desempean un papel tan importante en la
administracin de instituciones educativas, ahora es fundamental que los directivos entiendan
cmo deben disear aplicar y manejar tales sistemas. [24]
3.3.2. Biometra
Para David Zhang la biometra es: La biometra es la ciencia que se dedica a la identificacin
de individuos a partir de una caracterstica anatmica o un rasgo de su comportamiento. Una
caracterstica anatmica tiene la cualidad de ser relativamente estable en el tiempo, tal como
una huella dactilar, la silueta de la mano, patrones de la retina o el iris. [25]
3.3.3. Sistemas Biomtricos.
Son mtodos automatizados de reconocimiento de personas basados en caractersticas
fisiolgicas o conductistas. Algunas de las caractersticas son cara, huellas digitales, geometra
de la mano, escritura a mano, el iris, de retina, la vena, y la voz. Las tecnologas biomtricas se
estn volviendo el principio bsico de un conjunto imponente de identificacin altamente
seguro y soluciones de verificacin personal.
Los sistemas biomtricos incluyen un dispositivo de captacin y un software que interpreta la
muestra fsica y la transforma en una secuencia numrica nica. En el caso del reconocimiento
de la huella digital, se ha de tener en cuenta que en ningn caso se extrae la imagen de la
huella, sino una secuencia de nmeros que la representan; esto, adems, sirve para que nadie
que opere con estos sistemas guarde un registro fotogrfico de las huellas digitales con la
posibilidad de reproducirlas para otros usos.
- 19 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

A partir de los planteamientos de la asociacin internacional de biometra se deduce que, las


aplicaciones de autenticacin biomtrica incluyen desde acceso seguro a computadoras, redes,
la proteccin de datos, el acceso remoto a recursos, la seguridad en transaccin y la seguridad
de Web, hasta el control horario y control de acceso fsico a una sala de acceso restringido.
Utilizar sistemas biomtricos para la autenticacin personal se est volviendo conveniente y
considerablemente ms preciso que los mtodos actuales (como la utilizacin de contraseas),
esto es porque es particular (una contrasea o seal puede ser usada por alguien aparte del
usuario autorizado), conveniente (nada a llevar o recordar), preciso (tiene prevista
autenticacin positiva), pueden proveer una pista para auditoria y son socialmente
aceptables.[25]
Tabla 3.1. Comparacin de Mtodos Biomtricos
Muy alta

Ojo
Retina
Muy alta

Huellas
dactilares
Alta

Geometra de
la Mano
Alta

Escritura
Firma
Alta

Alta

Media

Baja

Alta

Alta

Alta

Alta

Muy alta

Muy alta

Alta

Alta

Media

Media

Aceptacin

Media

Media

Alta

Alta

Muy alta

Alta

Estabilidad

Alta

Alta

Alta

Media

Media

Media

Ambas

Ambas

Ambas

Autenticacin

Ambas

Autentica
cin

ANSI/NI
ST

SVAPI

Gafas

Irritaciones

Suciedad,
heridas,
Asperezas

Artritis,
Reumatismo
.

Firmas
fciles o
cambiantes

Ruido,
resfriados
..

Instalaciones
nucleares,
servicios
mdicos,
centros
penitenciario
s

Instalacion
es
nucleares,
servicios
mdicos,
centros
penitenciari
os

Polica,
Industria,
Control
de
personal

Industrial

Accesos
remotos
en bancos
o bases de
datos

Ojo Iris
Fiabilidad
Facilidad
uso

de

Prevencin de
ataques

Identificacin
y
Autenticacin
Estndares
Interferencias

Utilizacin

General

Voz

Fuente: Revista Empresarial [26]

- 20 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3.3.4. Huella Digital


Las huellas digitales son caractersticas exclusivas de los primates. En la especie humana se
forman a partir de la sexta semana de vida intrauterina y no varan en sus caractersticas a lo
largo de toda la vida del individuo. Son las formas caprichosas que adopta la piel que cubre
las yemas de los dedos. Estn constituidas por rugosidades que forman salientes y depresiones.
Las salientes se denominan crestas papilares y las depresiones surcos interpapilares. En las
crestas se encuentran las glndulas sudorparas. El sudor que estas producen contiene aceite,
que se retiene en los surcos de la huella, de tal manera que cuando el dedo hace contacto con
una superficie, queda un residuo de sta, lo cual produce un facsmil o negativo de la huella
[27]
Para que un sistema biomtrico sea eficiente, los indicadores o rasgos personales deben reunir
las siguientes cualidades.
-

Permanencia: No cambian sus caractersticas con el tiempo.

Unicidad: Siempre difieren, son nicas e irrepetibles an en gemelos.

Universalidad: Todas las personas tienen huellas digitales.

Cuantificacin: la caracterstica puede ser medida en forma cuantitativa.

3.3.5. Tecnologas de huellas digitales


Lector de Huellas RS-120S [28]

Figura 3.1. Lector de huella RS- 120


Fuente [28]
Es un producto ADEL que permite la captura, procesamiento y verificacin de huellas
digitales utilizando el mismo como un perifrico de entrada ms en un equipo que opera bajo
los sistemas operativos Windows. El mismo realiza un barrido ptico de alta resolucin y a
- 21 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

partir de la imagen as obtenida por medio de sofisticados algoritmos matemticos obtiene un


template o firma de dichas huellas, la cual puede servir para determinar y verificar la
identidad de una persona con distintos fines aplicativos. El mismo dispositivo tambin tiene
por medio de su capacidad de procesamiento integrada, la posibilidad de realizar la
comparacin de dos huellas y determinar con alto grado de seguridad si las mismas pertenecen
o no la misma persona.
Funcionalidades

Instalacin Plug & Play

Cumple plenamente con las especificaciones USB 2.0, backward compatible con USB
1.1

Valores de FRR y FAR en excelente equilibrio para aplicaciones generales

Alta definicin de las imgenes capturadas

Durabilidad del lente dado que el mismo est protegido por una pelcula especial de
PVD a tal efecto

Sistema monoltico (lente, sistema ptico, sensor y electrnica en una sola pieza)

Moderado consumo y sin necesidad de fuentes de alimentacin adicionales (el


dispositivo se alimenta del mismo puerto USB)

SDK opcional para la integracin a otras aplicaciones del usuario.

Especificaciones

Tiempo de captura menor a 2 segundos (enrolamiento)

Tiempo de verificacin menor a 1 segundo

FAR Menor a 1 en un milln

FRR menor a 1%

Comunicacin con el PC(provistos por la interface USB)

ngulo de captura 360

Sistemas operativos soportados: Windows 2000, Windows XP

- 22 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Lector de Huella Digital Nitgen Mod. Hamster 1

Figura 3.2. Lector de huella Hamster


Fuente [27]
Nitgen es lder mundial en tecnologa y aplicaciones biomtricas, focalizado en soluciones de
reconocimiento de huella dactilar. El sensor biomtrico desarrollado por Nitgen, consta de un
diseo ptico nico, con una distorsin de imagen casi cero.
Especificaciones Tcnicas

Tipo de interfaces USB o Paralelo

Resolucin USB 500 10 (DPI)

Sistema operativo Windows 95/98/NT 4.0., 2000, ME, XP

Temperatura 0 - 40

Aplicaciones habituales

Seguridad para el ordenador, software y red informtica.

Comercio electrnico.

Seguridad para la banca, instituciones financieras.

Medio de pago por huella digital.

Otras muchas aplicaciones que requiera la autenticacin del usuario.

Lector de huellasDigital Persona Modelo U.are.U 4000B Reader

USB Fingerprint

Reader [29]

Figura 3.3. Lector de huella DigitalPersona


Fuente: [28]

- 23 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

El lector U.are. U4000B es un lector de huella digital diseado por la empresa DigitalPersona,
tiene la habilidad incomparable de reconocer incluso las huellas digitales ms difciles.

Tipo

ptico

Resolucin

512 DPI

Tamao de imagen: 355 x 390 pixeles


Color

256 Levels grayscale

Conexin

USB 1.0., 1.1, 2.0

SO Soportados

Windows Vista/XP/2003/2000 y Linux

Los desarrolladores de software biomtrico que utilizan el lector DigitalPersona utilizan el


FingerPrint SDK (Software Development kit). El FingerPrint SDK es un paquete de desarrollo
de software para reconocimiento de huellas dactilares que permite integrar la biometra a un
amplio y variado espectro de aplicaciones; este paquete es ofrecido en dos variantes:
Fingerprint SDK para Windows que permite la programacin en varios lenguajes sobre
Windows a travs del uso de componentes DLL o ActiveX(COM) y Fingerprint SDK para
Java que le permite desarrollar programas multiplataforma en java y ejecutarlos tanto en
Micorosoft Windows como en GNU/Linux.
Conclusin
Para dar solucin al problema del control de asistencia al personal docente de la Universidad
Pedaggica Nacional Mariscal Sucre se eligi la tecnologa Biomtrica por medio de
reconocimientos de huellas digitales, por ser la ms estudiada, desarrollada y aceptada hasta la
fecha; as mismo se utilizar el lector de huellas DigitalPersona porque permite desarrollar
aplicaciones tanto en Windows como en Linux, pero sobre todo porque la institucin cuenta
con los lectores de huellas DigitalPersona.
3.3.6. Timetabling
Araujo Lourdes [33] define el problema de Timetabling como la asignacin, sujeta a
restricciones, de los recursos otorgados con el propsito de ser establecidos en un espacio de

- 24 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

tiempo, de tal manera que satisfaga lo ms cercanamente posible el conjunto de objetivos


deseados.
Una definicin general para un problema de Timetabling es aquella donde se asignan un
conjunto de eventos (regiones, encuentros, exmenes, asignaturas, entre otros) dentro de un
nmero limitado de periodos de tiempo sujeto a un conjunto de restricciones. Las restricciones
son generalmente clasificadas en dos tipos: duras y blandas. Las restricciones duras bajo
ninguna circunstancia deben ser infringidas y son utilizadas para encontrar soluciones
factibles, y las restricciones blandas son deseables de cumplir, pero dicha exigencia puede ser
relajada si es necesario y generalmente son utilizadas para entregar un costo a la funcin
objetivo la que ser optimizada.
El desafo en la construccin de estos horarios radica en proponer una planificacin que
cumpla con todas las restricciones impuestas y obtenga una solucin de calidad aceptable en
un tiempo razonable. Conseguir este propsito no es fcil, pues, por la cantidad de
restricciones impuestas a estos problemas se convierten en difciles de resolver y pueden ser
extremadamente consumidores de tiempo.
Timetabling pertenece a la categora de problemas NP-Completos, en los cuales existe una
proporcin directa entre el tiempo y la calidad de la solucin, lo cual impulsa a utilizar
mtodos de bsqueda que entreguen una solucin cercana al ptimo en un tiempo adecuado,
ya que, en este tipo de problemas existe la posibilidad de no encontrar la solucin ptima
global, aunque se podran encontrar ptimos locales. [31]
3.3.7. Timetabling Educational (TTE)
Los problemas de Timetabling Educacional se asocian a la labor de organizar una secuencia de
eventos (generalmente asignaturas o exmenes), en un perodo de tiempo determinado
satisfaciendo un conjunto de restricciones. Las restricciones comprenden hechos como evitar
los choques de horario, capacidad de salas, carga de trabajo y disposicin para estudiantes y
profesores, asignacin de recursos o equipos, entre otros.

- 25 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3.3.7.1. Tipos de Problemas TTE


Existen un gran nmero de variaciones de estos problemas, los cuales difieren del tipo de
eventos, institucin involucrada (universidad o Escuela), y de sus restricciones. De acuerdo a
esto se pueden identificar tres grupos, los cuales se describen a continuacin.
a) High-School Timetabling: Tambin conocido como Class Teacher Problem, considera el
horario semanal para las sesiones de las asignaturas de una escuela o colegio.
Dada las asignaturas, profesores, bloques y una matriz de requerimientos (que establece el
nmero de sesiones que cada profesor dicta por asignatura), el problema consiste en asignar
las sesiones a los perodos de tiempo, de tal manera que ningn profesor o asignatura tenga
ms de una sesin en el mismo perodo y que todas las sesiones de la asignatura estn
presentes en el horario.
b) University Timetabling: Este problema consiste en organizar un horario para las sesiones
de un conjunto de asignaturas, considerando un nmero determinado de salas y bloques de
tiempo.
La diferencia principal entre un horario escolar y universitario es la forma en la que se
considera a los estudiantes. En el mbito escolar estos se pueden considerar como una entidad,
debido a que es un grupo de alumnos que toman las mismas asignaturas; en el caso
universitario generalmente con rgimen semi-flexible los estudiantes toman distintas
asignaturas adems de las asignaturas en comn.
Adems, se presenta el problema de la capacidad de las salas, cada asignatura tiene asociada
su propio requerimiento, en cambio para el caso de las escuelas se puede destinar la misma
sala para el curso.
c) Examination Timetabling: Este problema consiste en asignar el horario a los exmenes,
determinando la cantidad de salas y tiempo para realizar el examen.
La cantidad de exmenes depende de los requerimientos de las instituciones para evaluar los
conocimientos de los alumnos que cursan la asignatura.
- 26 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

A pesar que este tipo de problema se presenta en el mismo mbito que el problema de la
asignacin de asignaturas, posee sus diferencias.
Con el fin de destacar las diferencias existentes entre los problemas de High School
Timetabling y University Timetabling, sus principales caractersticas se describen en la tabla
3.2.
Tabla 3.2. Diferencias entre High School y university timetabling.
Caractersticas
High School TT
University TT
Por clases
Por estudiante
Programacin
Pocas Elecciones
Muchas Elecciones
Posibilidad de Escoger
Mallas bien estructuradas
Mallas dbilmente
estructuradas
Ajustado
Flexible
Disponibilidad
(Posee gran carga)
(Posee carga liviana)
Profesor
Pocas salas
Muchas salas
Salas
Mismo Tamao
Variedad de tamaos
Centralizadas
Descentralizadas
Satisfaccin de
Minimizacin de
Criterio de
Restricciones
restricciones
Optimizacin
trasngredidas
Fuente:[21]
Conclusin
Las publicaciones recientes sobre la asignacin de horarios, son siempre enfocadas a un caso
particular, en cambio coinciden en que no existe un modelo general que pueda ser aplicado a
todas las realidades. Sin embargo, existen modelos particulares que pueden ser aplicados con
mnimos cambios a otras situaciones.
En relacin, a la clasificacin de los tipos de problemas de Timetabling, presentados
anteriormente, el problema a resolver se clasifica como un Problema Timetabling Educacional
de tipo High School Timetabling, porque las restricciones de nuestro caso de estudio se
asemejan a este tipo (como se demuestra en el captulo IV).

- 27 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3.3.8. Mtodos de Optimizacin


El trmino Optimizacin se refiere a un problema complejo de decisin, que incluye la
seleccin de valores para cierto nmero de variables interrelacionadas, centrando la atencin
en un solo objetivo diseado para cuantificar el rendimiento y medir la calidad de la decisin.
Este nico objetivo se maximiza o minimiza segn las restricciones que pueden limitar la
seleccin de valores de las variables de seleccin. [29]
3.3.9. Tcnicas heursticas Modernas
Bajo el trmino de Tcnicas heursticas Modernas (Reeves, 1993) se engloba a un conjunto de
tcnicas de bsqueda de soluciones, cuyo funcionamiento se inspira en procesos naturales.
Estas tcnicas se caracterizan por ser mtodos que generan soluciones que, a partir de valores
iniciales, emplean un conjunto de mecanismos de bsqueda para mejorar stas.
En la figura 3.4 Se muestra una clasificacin de las tcnicas de bsqueda
TCNICAS DE
BSQUEDA

ALEATORIAS

NO GUIADAS

GUIADAS

BSQUEDA
TAB

RECOCIDO
SIMULADO

PROGRAMACIN
GENTICA

ALGORITMOS
EVOLUTIVOS

ESTRATEGIAS
EVOLUTIVAS

REDES
NEURONALES

PROGRAMACIN
EVOLUTIVA

ALGORITMOS
GENTICOS

Figura 3.4. Tcnicas de Bsqueda


Fuente: Elaboracin Propia
- 28 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Para resolver el problema de la generacin de horarios y distribucin de aulas se utiliza los


Algoritmos Genticos ya que esta tcnica ha sido muy utilizada en problemas, por el mismo
hecho existe documentacin e inclusive algoritmos ya propuestos para este problema.
3.3.9.1. Algoritmos Genticos
Los Algoritmos Genticos (AGs) son mtodos adaptativos que pueden usarse para resolver
problemas de bsqueda y optimizacin. Estn basados en el proceso gentico de los
organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza
de acorde con los principios de la seleccin natural y la supervivencia de los ms fuertes,
postulados por Darwin (1859). Por imitacin de este proceso, los algoritmos Genticos son
capaces de ir creando soluciones para problemas del mundo real. La evolucin de dichas
soluciones hacia valores ptimos del problema depende en buena medida de una adecuada
codificacin de las mismas.
Los principios bsicos de los Algoritmos Genticos fueron establecidos por Holland (1975), y
se encuentran bien descritos en varios textos. Los AG usan una analoga directa con el
comportamiento natural. Trabajan con una poblacin de individuos, cada uno de los cuales
representa una solucin factible a un problema dado. A cada individuo se le asigna un valor
puntuacin, relacionado con la bondad de dicha solucin. En la naturaleza esto equivaldra al
grado de efectividad de un organismo para competir por unos determinados recursos. Cuanto
mayor sea la adaptacin de un individuo al problema, mayor ser la probabilidad de que el
mismo sea seleccionado para reproducirse, cruzando su material gentico con otro individuo
seleccionado de igual forma.
El poder de los Algoritmos Genticos proviene del hecho de que se trata de una tcnica
robusta, y pueden tratar con xito una gran variedad de problemas provenientes de diferentes
reas, incluyendo aquellos en los que otros mtodos encuentran dificultades. Si bien no se
garantiza que el Algoritmo Gentico encuentre la solucin ptima del problema, existe
evidencia emprica de que se encuentran soluciones de nivel aceptable, en un tiempo
competitivo con el resto de algoritmos de optimizacin combinatoria. [30]

- 29 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3.3.9.2. Terminologa de los Algoritmos Genticos


Gen: Representa el valor de una variable de decisin (Tambin se podran usar un grupo de
genes, para representar una solucin, una variable un poco ms compleja), de manera anloga
a como nuestros genes nos indican el color de ojos, de piel, la altura, etc; en modelacin
matemtica puede indicar niveles de mano de obra, de inventarios, etc. Si el gen es dominante,
perdura en la herencia que se haga dependiendo del filtro de seleccin artificial, si el gen es
recesivo, desaparece a lo largo de las generaciones segn la presin del medio ambiente.
Cromosoma: Un cromosoma est formado por un grupo de genes. Es el conjunto de la
solucin en s.
Longitud de la Cadena: Es el nmero de genes que componen el cromosoma. O sea el
nmero de variables que tiene el modelo matemtico.
Funcin de Aptitud: La funcin de aptitud le da una calificacin sobre que tan bueno es un
conjunto de genes para obtener un objetivo dado, y con ello se realiza un filtro de las
caractersticas que se propagan entre generaciones, y cules no. Normalmente esta funcin de
aptitud ser la misma funcin objetivo del modelo matemtico.
Resolucin de un Algoritmo Gentico
La resolucin de un algoritmo gentico consta de 5 etapas:
1. Inicializar aleatoriamente una poblacin de soluciones a un problema, representadas
por una estructura de datos adecuada.

Figura 3.5. Inicializar aleatoriamente una poblacin


Fuente:[31]

- 30 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

2. Evaluar cada una de las soluciones, y asignarle una puntuacin segn lo bien que lo
hayan hecho.
3. Se Selecciona el individuo con mayor puntacin por medio de la rueda ruleta
Los mejores individuos (mas adaptados) tienen:
-

Mas chance de ser elegidos

Mas espacio en la ruleta

Mejor

Peor

4. Se cruzan aleatoriamente dos individuos para crear una descendencia, que ser
evaluado asignndole puntaje.

Figura 3.6. Cruce de Soluciones


Fuente: [31]
5. Se aplican mutaciones, cambios al azar, dentro de su estructura o cdigo.
Posteriormente se evala y se asigna un puntaje.

Figura 3.7 Mutacin de Soluciones


Fuente: [31]
- 31 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

6. Al llegar la poblacin a un tamao determinado se eligen aquellos con una puntuacin


ms alta, se eliminan el resto y se repite, un nmero determinado de veces, o hasta que
se haya encontrado la solucin deseada, estas etapas desde el nmero 3.

Figura 3.8. Seleccin de la Poblacin


Fuente: [31]
Esquema Bsico de un algoritmo Gentico [30]
Algoritmo gentico
principio
t:=0;
inicializa P(t);
evala P(t);
mq not termina hacer
t:=t+1;
P(t):=selecciona P(t-1);
cruzar P(t);
mutar P(t);
evalar P(t)
fmq;
fin
Actualmente, esta tcnica de bsqueda ha alcanzado un impresionante xito debido a que su
aplicacin en problemas de optimizacin no requiere de conocimiento auxiliar sobre el
problema a resolver. [31].
A continuacin se mencionan algunos de los diseos de Algoritmos Genticos (AG)
propuestos que ms se asemejan a nuestro proyecto para resolver el problema de los horarios y
aulas en entidades acadmicas.

- 32 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3.3.9.3. Modelo 1:
Modelo General ACA (Asignacin de Carga Acadmica) [32]
Este diseo presenta los siguientes datos:
a) Un conjunto finito de grupos-materias que incluye la combinacin de todas las
materias que se impartirn en un perodo escolar determinado as como los grupos de
alumnos que cursarn dichas materias y se representan mediante claves alfanumricas.
b) Un conjunto finito de profesores identificados por claves numricas enteras.
c) Un conjunto de horas que contiene la codificacin con claves numricas enteras de la
jornada de clases del perodo escolar.
Tabla 3.3. Codificacin de la jornada de clases
Clave
Horario de Clase
1
7:00 8:00
2
8:00 9:00
.
.
.
.
.
.
12
19:00 20:00
Fuente. Modelo General ACA [32]
Del modelo ACA surge la relacin [Grupo_Materia, Profesor, Hora] que representa un Gen
del Cromosoma, la tabla 3.4 muestra la representacin no binaria de un gene para el modelo de
ACA que asigna la materia AM5 (Qumica) del grupo A que ser impartida por el (la)
profesor(a) 15, de lunes a viernes en la hora 2 (8:00 - 9:00).
Tabla 3.4. Representacin no binaria de un gene
AM5A 15
2
2
2
2
2
Fuente Modelo General ACA [32]
Sin embargo, cada perodo de clases tiene varios grupos-materia y para indicar la distribucin
completa de ACA, es necesario, concatenar un gene por cada grupo-materia requerido en ese
perodo, formando un cromosoma (Figura 3.9.). En esta figura, las lneas punteadas separan
los genes de cada perodo escolar, mientras que las lneas dobles delimitan los perodos
escolares. Al final del cromosoma se anexa un campo para determinar la aptitud total del
cromosoma.

- 33 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Figura 3.9. Representacin no binaria de un cromosoma


Fuente: [32]
La primera etapa de un AG es la generacin de la poblacin inicial, en la cual se generan
aleatoriamente N cromosomas, donde N representa el tamao de la poblacin, es decir, la
cantidad de soluciones que se generan en cada etapa. A cada grupo-materia se le asigna
aleatoriamente un profesor de los disponibles para impartirla. Una vez escogido el maestro,
tambin se asigna, en forma aleatoria, una hora de clase al grupo-materia dentro del horario de
disponibilidad del profesor.
3.3.9.4. Modelo 2:
Modelo de Distribucin ptima de Horarios de Clases utilizando la tcnica de AG propuesto
en la Universidad Tecnolgica de Mixteca [23]
Este diseo Presenta los Siguientes Datos:
a) conjunto de cursos o materias C={C1, C2, C3, C4,......., Cm}, donde cada elemento de C
requiere que se le asigne un lugar y un tiempo.
b) Las aulas con que cuenta la Universidad pueden ser vistas como un conjunto de
casillas que estn disponibles las 7 horas al da (de las 08:00 a las 13:00 hrs y de las
16:00 a las 18:00 hrs) de Lunes a Viernes, esto da como resultado un total de 7n_aulas
(donde n_aulas representa el nmero total de aulas) espacios disponibles para
asignarles los cursos correspondientes, en este caso particular el curso que se imparte
el da Lunes a una determinada hora ser el mismo que en los dems das de la semana.
De esta manera la calendarizacin de los m cursos es una funcin que mapea a cada
curso con un espacio disponible.

- 34 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Inicialmente se crea al azar cierto nmero de funciones. Cada una de estas funciones asigna al
conjunto {C1, C2, C3,.., Cm} al codominio de espacios disponibles denominado {E0,, ...,
E7n_aulas}. A estas funciones las llamaremos F1,..., Fk , donde k es un nmero entero positivo.
Esto se puede ver mejor en la Figura 3.10.

Figura 3.10. Correspondencia entre los cursos a impartir y los espacios disponibles
Determinada por la funcin Fio para algn io
{1,,k}.
Fuente: [23]
Despus de que se han creado las funciones se determina la aptitud de cada funcin, es decir,
qu tan buena es la calendarizacin que cada funcin representa. Esto se hace de la siguiente
forma: para cada funcin debemos de determinar cuntos choques les causa la calendarizacin
a los estudiantes. Puesto que sabemos cules son los cursos que cada estudiante debe recibir,
entonces tomamos los cursos que debe llevar cada estudiante y (digamos que estamos
buscando la aptitud de la funcin F1) determinamos si ese estudiante tiene algn conflicto de
horario en relacin con la calendarizacin especificada por F1. Por cada choque le restamos
cierta cantidad a la aptitud de F1.
Cuando se ha calculado la aptitud de todas las funciones que se crearon al azar, entonces
tenemos la primera poblacin. (Los elementos de esta poblacin, o entidades, son las
funciones, y "estarn ms adaptadas al ambiente" cuanto ms alta sea su aptitud). De esta
poblacin se hace el cruce y posteriormente se realiza la reproduccin sexual, esto se lleva a
cabo tomando pares de funciones del cruce y recombinndolas. Esto con el objetivo de crear
dos nuevas funciones que se agregarn "en la prxima generacin" de la poblacin. Cuando ya
se han creado suficientes funciones para la nueva generacin, se les calcula sus aptitudes y se
desecha la generacin anterior. La nueva generacin se convierte en la generacin actual la

- 35 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

cual se usa para crear un nuevo cruce y la historia se repite. El proceso termina hasta que por
medio de reproduccin sexual se obtiene alguna funcin con una aptitud suficientemente alta
para satisfacer nuestras necesidades.
3.3.9.5. Modelo 3:
Modelo Matemtico para un problema de tipo Time Tabling [22]
Modelo particular
En el siguiente planteamiento, se establecen los recursos necesarios para describir el modelo
matemtico.
Parmetros
m = cantidad de salas.
n = cantidad de asignaturas.
p = cantidad de profesores.
q = cantidad total de perodos semanales.

m; n; p; q

[a , b] = intervalo de asignaturas correspondientes a un semestre.


[c , d] = intervalo de perodos correspondientes a un da de la semana.
Ki = capacidad de la sala i en trminos de alumnos.
Cj = cantidad de alumnos en la asignatura j.

{1,,m}

{1,,n}

Restricciones del Problema


1. Toda Sala i puede tener a lo ms una asignacin en un perodo

2. Toda asignatura j tiene Pj perodos semanales

- 36 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3. Toda asignatura j debe tener asignado a lo ms un profesor k y una sala i en un perodo


l.

4. Todo profesor k debe tener asignado a lo ms una asignatura j y una sala i en un


perodo l.

5. Los horarios de las asignaturas de un mismo semestre no deben coincidir en un mismo


perodo.

6. La cantidad de alumnos de la asignatura j debe ser menor o igual a la capacidad de la


sala i.

Funcin Objetivo
Funcin Objetivo Global (fog)

Funcin Objetivo Local (fol)

En donde, las variables chsl y chpl representa los choques de salas y profesores en un mismo
ao, respectivamente, mientras que chsg y chpg representan los choques de salas y profesores
entre aos.

- 37 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Criterio de Optimizacin
Funcin Objetivo
Max Z = W
Donde W es una constante cualquiera

Conclusin
Para resolver el problema de Timetabling en la Universidad Pedaggica Nacional Mariscal
Sucre se eligi el modelo 1 descrito anteriormente; este modelo a diferencia de los otros dos
anteriores describe un modelo que es posible adaptar a las caractersticas particulares de
nuestro problema con algunas variantes, por lo que resulta muy adecuado para su aplicacin.
3.3.10. Plataforma de Desarrollo del Software
3.3.10.1. Lenguaje de programacin java
Java es un lenguaje de programacin con el que se puede realizar cualquier tipo de programa.
En la actualidad es un lenguaje muy extendido y cada vez cobra ms importancia tanto en el
mbito de Internet como en la informtica en general. Est desarrollado por la compaa Sun
Microsystems enfocado a cubrir las necesidades tecnolgicas actuales.
Una de las principales caractersticas por las que Java se ha hecho muy famoso es que es un
lenguaje independiente de la plataforma. Eso quiere decir que si se realiza un programa en
Java podr funcionar en cualquier ordenador del mercado. Es una ventaja significativa para los
desarrolladores de software, pues antes tenan que hacer un programa para cada sistema
operativo, por ejemplo Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una
Mquina de Java para cada sistema que hace de puente entre el sistema operativo y el
programa de Java y posibilita que este ltimo se entienda perfectamente.
3.3.10.2. Arquitectura Modelo Vista Controlador
El Modelo Vista Controlador (MVC) es un patrn de arquitectura de software que separa los
datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres componentes
distintos.

- 38 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Modelo: datos y reglas de negocio.


Vista: muestra la informacin del modelo al usuario.
Controlador: gestiona las entradas del usuario

Figura 3.11 Esquema Modelo Vista Controlador


Fuente: [34]
Un modelo puede tener diversas vistas, cada una con su correspondiente controlador. Un
ejemplo clsico es el de la informacin de una base de datos, que se puede presentar de
diversas formas: diagrama de tarta, de barras, tabular, etc. Veamos cada componente:
El modelo es el responsable de:
o

Acceder a la capa de almacenamiento de datos.

Define las reglas de negocio (la funcionalidad del sistema).

Lleva un registro de las vistas y controladores del sistema.

El controlador es responsable de:


o

Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).

Contiene reglas de gestin de eventos, del tipo "SI Evento Z, entonces Accin W". Estas
acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las
vistas puede ser una llamada al mtodo "Actualizar()". Una peticin al modelo puede ser
"Obtener_tiempo_de_entrega ( nueva_orden_de_venta )".

Las vistas son responsables de:


o

Recibir datos del modelo y los muestra al usuario.

Tienen un registro de su controlador asociado (normalmente porque adems lo instancia).

- 39 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Pueden dar el servicio de "Actualizacin()", para que sea invocado por el controlador o
por el modelo (cuando es un modelo activo que informa de los cambios en los datos
producidos por otros agentes).

3.3.10.4. Entorno de Programacin


Un IDE (Entorno de Desarrollo integrado) es un entorno de programacin que ha sido
empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo, un
compilador, un depurador y un constructor de interfaz grfica GUI. Los IDEs pueden ser
aplicaciones por s solas o pueden ser parte de aplicaciones existentes. Entre las ms
representativas de acuerdo al lenguaje elegido podemos mencionar: JBuilder, Eclipse, Visual
Studio.Net 2008 y Netbeans.
Tabla 3.5. Comparativa de Entornos de Desarrollo
Caractersticas
Lenguajes Soportados

Plataforma

Visual Studio 2008


C/C++,C#,VB.Net,
XAML,
HTML/CSS,
javascript,
LINQ,
ASP.net, XML/XSLT
Windows y las diversas,
versiones de Windows

Autocompletar Cdigo

Autocompletado rpido,
pero menos opciones a la
vez

Editor de Cdigo
Fuente

La edicin es simple y
fcil.
Cambio
entre
diseador y el cdigo de
pantalla es doble clic en
el control

GUI y herramientas
RAD

Winforms, ASP form


designer,
es
grande,
SZML diseador visual,
adeministrador de base de
datos, XML VB-enlaces,
administrador de vista
UAC, que es la mejora en
VS2008.

Compilador, loader,
debuger

Compilacin en paralelo
los sistemas multincleo,
biblioteca de plantas
estndar (STL) para C++,

Netbeans 6.0
C/C++, java, Ruby, PHP,
Javascript,
HTML/CSS,ISP, JavaFX,
XSL, WSDL, UML.
Windows, Linux, Unix,
Solaris (sparc, X86/X64)
Mac OX(Intel Power)
Autocompletado
de
cdigo pero muestra
todos los mtodos y
variables
al
mismo
tiempo.
Edicin de cdigo es
simple
y
fcil,
proporciona
diferentes
eventos
para
cada
componente, y puede ser
editable para cada evento
especfico.
Netbeans
Matisse,
componentes FSF, base
de datos de aplicacin,
Beans binding, excelente
herramienta de diseo
UML, mobile Designer,
BPEL algunas de las
herramientas que no se
encuentran en VS2008
Ms reciente lexer hace la
compilacin en tiempo de
ejecucin ms rpido,
Javascript depurador con

JBuilder 2008
Java

Windows y las diversas


versiones de Windows.
Auto
complementado
rpido y uso de shortcuts.

Edicin de cdigo es
simple
y
fcil,
proporciona
diferentes
eventos
para
cada
componente.

desconocido

Revisa la sintaxis en
tiempo real, sugiriendo
casting de datos, la
compilacin
es
en
- 40 -

CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

Pruebas y Maintainance

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Framework NET, Web


service de WCF acogida
basada en aplicaciones
La unidad de pruebs han
mejorado
ligeramente,
sistema de control de
cdigo fuente se aade al
equipo de desarrollo

el apoyo y Phobos JMaki.

paralelo.

CVS y Subversin estn


integrados.

Tiene una unidad de


Testeo de Cdigo fuente,

Fuente: [35]
NetBeans
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un
conjunto de componentes de software llamados mdulos. Un mdulo es un archivo Java que
contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo
especial (manifest file) que lo identifica como mdulo. Las aplicaciones construidas a partir de
mdulos pueden ser extendidas agregndole nuevos mdulos. Debido a que los mdulos
pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma
NetBeans pueden ser extendidas fcilmente por otros desarrolladores de software. [10]
Como ventaja se destaca que, pese a que java ha sido escrito en C/C++, su sintaxis es
infinitamente ms clara e intuitiva; adems, desaparecen tanto los punteros (con los problemas
asociados que causan) como la basura que generan los objetos y que hay que recojer a mano
en C++ (de ello se encarga un recolector de basura especifico que se encuentra en la maquina
virtual).
Conclusin
El entorno de desarrollo elegido para el proyecto es Netbeans 6.1 debido principalmente a la
estabilidad, evolucin y superacin, adems que tiene caractersticas que permiten el rpido
desarrollo de una aplicacin, por otro lado tiene el soporte de Sun Microsystems y es una
comunidad bastante organizada en comparacin de los otros entornos mencionados, aunque
ms pequea que la comunidad Eclipse.
3.3.11. Generador de Reportes
3.3.11.1. iReport
El iReport e un constructor/diseador de informe visual poderoso, intuitivo y fcil de usar para
JasperReports escrito en java pura del 100%. Este instrumento permite que usuarios corrijan
- 41 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

visualmente informes complejos con cartas, imgenes, subinformes, iReport es integrado con
JFreeChart, una de la biblioteca de carta OpenSource ms difundida para Java.
Los datos para imprimir pueden ser recuperados por varios caminos incluso mltiples uniones
JDBC, TableModels, JavaBeans, XML, etc. Esto apoya la salida en PDF, XML, XLS, CSV,
HTML, Java2D. Adems es un software libre.[37]
El motivo principal por la seleccin de esta herramienta para el desarrollo de resultados y
estadsticas es por tener compatibilidad exclusiva con java.
3.3.12. Gestor de Bases de Datos
3.3.12.1. PostGreSQL
PostGreSQL es un sistema objeto-relacional, ya que incluye caractersticas de la orientacin a
objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores,
reglas e integridad transaccional. A pesar de esto, PostGreSQL no es un sistema de gestin de
bases de datos puramente orientado a objetos.[34]
Las caractersticas positivas que posee este gestor segn las opiniones ms comunes en
Internet, son:
1. Posee una gran escalabilidad. Es capaz de ajustarse al nmero de CPUs y a la cantidad
de memoria que posee el sistema de forma ptima, hacindole capaz de soportar una
mayor cantidad de peticiones simultneas de manera correcta (en algunos benchmarks
se dice que ha llegado a soportar el triple de carga de lo que soporta MySQL).
2. Implementa el uso de rollback's, subconsultas y transacciones, haciendo su
funcionamiento mucho ms eficaz, y ofreciendo soluciones en campos en las que
MySQL no podra.
3. Tiene la capacidad de comprobar la integridad referencial, as como tambin la de
almacenar procedimientos en la propia base de datos, equiparndolo con los gestores
de bases de datos de alto nivel, como puede ser Oracle.
Por contra, los mayores inconvenientes que se pueden encontrar a este gestor son:
1. Consume gran cantidad de recursos.
2. Tiene un lmite de 8K por fila, aunque se puede aumentar a 32K, con una disminucin
considerable del rendimiento.
- 42 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3. Es de 2 a 3 veces ms lento que MySQL.


3.3.12.2 MySQL
MySQL es un sistema de gestin de bases de datos relacional, licenciado bajo la GPL de la
GNU. Su diseo multihilo le permite soportar una gran carga de forma muy eficiente. MySQL
fue creada por la empresa sueca MySQL AB, que mantiene el copyright del cdigo fuente del
servidor SQL, as como tambin de la marca.[34]
Caractersticas postivas de MySQL:
1. Lo mejor de MySQL es su velocidad a la hora de realizar las operaciones, lo que le
hace uno de los gestores que ofrecen mayor rendimiento.
2. Su bajo consumo lo hacen apto para ser ejecutado en una mquina con escasos
recursos sin ningn problema.
3. Las utilidades de administracin de este gestor son envidiables para muchos de los
gestores comerciales existentes, debido a su gran facilidad de configuracin e
instalacin.
4. Tiene una probabilidad muy reducida de corromper los datos, incluso en los casos en
los que los errores no se produzcan en el propio gestor, sino en el sistema en el que
est.
5. El conjunto de aplicaciones Apache-PHP-MySQL es uno de los ms utilizados en
Internet en servicios de foro (Barrapunto.com) y de buscadores de aplicaciones
(Freshmeat.net).
Debido a esta mayor aceptacin en Internet, gran parte de los inconvenientes se exponen a
continuacin, han sido extrados de comparativas con otras bases de datos:
1. Carece de soporte para transacciones, rollback's y subconsultas.
2. No es viable para su uso con grandes bases de datos, a las que se acceda
continuamente, ya que no implementa una buena escalabilidad.
Conclusin
Se ha elegido el gestor de bases de datos MySql, porque es el ms usado en el mundo del
software libre, debido a su gran rapidez y facilidad de uso, adems que existen infinidad de
- 43 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

libreras y otras herramientas que permiten su uso a travs de gran cantidad de lenguajes de
programacin y su fcil instalacin y configuracin.
3.3.14. JPA: Java Persistence API
Es usual trabajar con programacin orientada a objetos y utilizar bases de datos relacionales.
Resulta obvio que se trata de dos paradigmas diferentes. El modelo relacional trata con
relaciones, tuplas y conjuntos. El Orientado a Objetos, sin embargo, trata con objetos, sus
atributos y relaciones entre objetos.
Cuando se quiere hacer que los objetos sean persistentes utilizando para ello una base de datos
relacional, existe una contradiccin entre estos dos paradigmas.
Lo que necesitamos es una herramienta ORM (Object Relational Mapping). Bsicamente una
ORM intenta hacer todas estas tareas pesadas por nosotros.
Java Persistence API (JPA) proporciona un estndar para gestionar datos relacionales en
aplicaciones Java Standar Edition (SE) o Java Enterprise Edition (EE), de forma que adems
se simplifique el desarrollo de la persistencia de datos.
Aunque ha sido definida como parte de la especificacin EJB 3.0 (Java EE 5), que supone una
simplificacin sobre versiones anteriores, ya no requiere de un contenedor EJB ni un servidor
de aplicaciones Java EE.
Es una API de persistencia de POJOs (Plain Old Java Object). Es decir, objetos simples que no
heredan ni implementan otras clases (como los EJBs).
En su definicin, ha combinado ideas y conceptos de los principales frameworks de
persistencia, como Hibernate, Toplink y JDO, y de las versiones anteriores de EJB. Todos
estos cuentan actualmente con una implementacin JPA.
El mapeo objeto-relacional (es decir, la relacin entre entidades Java y tablas de la base de
datos) se realiza mediante anotaciones en las propias clases de entidad. No se requieren
ficheros descriptores XML. Tambin pueden definirse transacciones como anotaciones
JPA.[14]

- 44 CAPITULO II: Marco Terico de Ingeniera

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3.3.15. Implementacion JPA.


3.3.15.1.Toplink Essentials
Oracle TopLink, industria que conduce arquitectura Objeto Relacional de la persistencia de
Java, proporciona un mecanismo altamente flexible y productivo para almacenar los objetos
de Java en bases de datos relacionales.
Toplink Essentials es un subconjunto gratuito del software java de acceso a datos de Oracle.
Dicha empresa le aadi varias capas de abstraccin para hacerlo compatible con JPA, pero la
base contina siendo la original, estando por tanto bastante maduro. Adems ofrece a
desarrolladores funcionamiento excelente y opcin, trabajando con cualquier base de datos,
cualquier servidor del uso, cualquier conjunto de herramientas y proceso de desarrollo, y
cualquier arquitectura Java.
El comportamiento de Toplink se acerca mucho al de Hibernate. La diferencia en memoria
ocupada es poco apreciable. Si tenemos en cuenta la enorme diferencia con Eclipselink y
OpenJPA, se puede decir que el rendimiento es muy similar al de Hibernate, y es desde luego
una alternativa viable para su uso en produccin. [36]
Conclusin
La implementacin para JPA que se utiliza en el desarrollo del proyecto es el Toplink
Essentials que adems de estar incluido por defecto en Netbeans 6.1 tiene un buen rendimiento
y sobre todo se puede encontrar una variedad de documentacin y tutoriales para su aplicacin
en el proyecto.

- 45 CAPITULO II: Marco Terico de Ingeniera

CAPITULO IV
DESARROLLO DEL
PROYECTO

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

DESARROLLO DEL PROYECTO


4.1. Proceso de Requerimientos
Los pasos que se siguieron para la construccin del modelo de requerimientos son:
-

Obtencin de requerimientos funcionales y no funcionales.

Anlisis y verificacin de requerimientos.

Definicin de actores y casos de uso.

Priorizacin de casos de uso.

Detalle de casos de uso.

Estructuracin del modelo de casos de uso.

4.1.2. Obtencin de Requerimientos


Los requerimientos fueron obtenidos mediante entrevistas a los Directores de Carrera,
Coordinador de Nivel (Inicial, Primario y Secundario), Director Acadmico, Jefe de Recursos
Humanos; tambin se utiliz el mtodo de la observacin, la revisin bibliogrfica.
De las entrevistas se obtuvo la forma de trabajo actual, las necesidades actuales y las
dificultades por las que atraviesan.
Mediante la observacin y anlisis de documentos se pudo identificar el flujo de informacin,
la distribucin que se tiene, la estructura de reportes y entender mejor el objeto de
automatizacin.
La revisin bibliogrfica permiti seleccionar el mtodo ms apropiado para la generacin de
horarios (Algoritmos Genticos) y sobre todo el diseo del algoritmo y la codificacin del gen.

3.1.3. Requerimientos Funcionales


El sistema debe cumplir con los siguientes requerimientos funcionales:
-

Permitir la creacin, modificacin y eliminacin de usuarios del sistema.

Registro y almacenamiento de los datos del Personal Docente, incluyendo la


informacin relevante, permitiendo la edicin de manera rpida y contemplando las
siguientes subdivisiones:
Datos Personales

- 46 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Experiencia laboral
Situacin Laboral
-

Obtener reportes a partir de los datos del personal

Registro de turnos de trabajo tomando en cuenta los horarios de clase.

Asignar turnos al personal docente.

Registro de especialidades, carreras y asignaturas.

Registrar un calendario acadmico que incluya das hbiles y no hbiles para su


consideracin posterior.

Control de Asistencia al Personal Docente de acuerdo a turnos asignados a cada


docente y con el uso de un lector biomtrico.

Generar reportes personalizados diarios y mensuales de asistencia, atrasos, faltas y


licencias por docente.

Registrar asignaturas y carga horaria a docentes.

Construir Horarios y distribuir aulas para cada carrera de la Universidad Pedaggica.

Permitir la modificacin de los parmetros para la generacin de horarios.

Permitir consultar e imprimir los horarios por semestre.

Permitir consultar e imprimir los horarios por aula.

Permitir consultar e imprimir los horarios por profesor.

Exportar los horarios generados a una hoja de clculo.

El sistema debe proveer seguridad respecto a la informacin mediante la realizacin de


copias de seguridad (backups).

4.1.4. Requerimientos no Funcionales


Los requerimientos no funcionales que deben lograrse durante el desarrollo del software son
los siguientes:
-

El sistema debe funcionar con los ordenadores existentes en la institucin.

- 47 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Debe existir facilidad de uso del uso del sistema, adems la interfaz debe ser amigable
al usuario final, otorgando confianza para el manejo y desempeo del mismo.

Se debe implementar un sistema de seguridad

de manejo del sistema, mediante

permisos especficos de operacin a cada usuario


-

El software debe ser robusto, es decir que no se vea afectado por manipulaciones
inadecuadas del usuario.

El software debe contar con la ayuda necesaria accesible desde el sistema.

El software debe contar con toda la documentacin necesaria de respaldo.

4.1.5. Requerimientos del Usuario


-

Automatizacin de los procesos.

Cambiar el trabajo manual y moroso por uno automatizado y sencillo.

Reportes oportunos y confiables.

Disponibilidad y seguridad de la informacin.

4.1.6. Identificacin de actores


Los actores que intervienen en el sistema son:
Jefe de Recursos Humanos: Es la persona encargada de gestionar toda la informacin de
registro correspondiente al personal en el sistema, as como la asignacin de turnos y horarios
correspondientes a cada uno de ellos y posteriormente emitir informes relacionados al kardex
y control de asistencia.
Encargado de Horarios: Es la persona encargada de gestionar toda la informacin
correspondiente a los horarios, carreras, asignaturas y aulas; por otro lado emite reportes de los
horarios por semestre, por docente y por aula.
Personal: Es la persona que registra su huella digital que se utiliza para el control de
asistencia.
Administrador: Es la Persona que se encarga de introducir los datos generales del sistema y de
darle mantenimiento.

- 48 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.1.7. Diagramas de Casos de Uso


A continuacin se analizan los casos de uso para poder alcanzar los objetivos propuestos y a
partir de stos se realizar el anlisis para poder determinar las calases e instancias del sistema.
Diagrama de Casos de Uso Principal del Sistema

Gestionar
Kardex Personal

Encargado RRHH
Gestionar Asistencia

Registrar Huella
Administrador

personal
Control Asistencia

Construir Horarios
Encargado
Horarios

Gestin de Usuarios

Figura 4.1. Diagrama de Casos de Uso Principal


Fuente: Elaboracin Propia

- 49 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Caso de Uso: Gestionar Kardex de Personal

Registrar Situacion Laboral


Buscar Personal
<<include>>
Registrar Experiencia Laboral

<<include>>

<<include>>

Consultas

Registrar Personal

Reportes

Registrar Prof esiones

Administrador

Encargado RRHH

Figura 4.2. Diagrama de Casos de Uso Gestionar Kardex de Personal


Fuente: Elaboracin Propia
Caso de Uso Gestionar Asistencia

<<include>>
Administrar Huellas Pin
Asignar Turnos

Buscar Personal

Permisos

Registrar Turnos

Consultas

Calendario Academico

Reportes
Encargado RRHH

Figura 4.3. Diagrama de Casos de Uso Gestionar Asistencia


Fuente: Elaboracin Propia

- 50 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Caso de Uso Controlar Asistencia

Registrar Huella

Visualizar Datos personal

<<extend>>
<<include>>
Marcar Asistencia
<<include>>

Capturar Datos Huella Digital

Personal

Encargado RRHH

Figura 4.4. Diagrama de Casos de Uso Controlar Asistencia


Fuente: Elaboracin Propia

Caso de Uso Generar Horarios

Asignar Docentes a
Asignaturas

Introducir Parametros
para Horarios

Generar Horarios

Reportes
Registrar Asignaturas

Consultas

Exportar Horarios

Registrar Carreras
Encargado
Horarios

Figura 4.5. Diagrama de Casos de Uso Generar Horarios


Fuente: Elaboracin Propia

- 51 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.1.8. Personas involucradas en el desarrollo y operacin


En cuanto al desarrollo del sistema, el mismo estuvo a cargo del proyectista, en cuanto a la
operacin del mismo todos los aspectos tcnicos estarn a cargo de la Unidad de Sistemas de
la Institucin, los dems usuarios son los funcionarios encargados de Recursos Humanos,
Direccin acadmica y personal docente.
4.1.9. Interfaces que requieren los usuarios
Interfaces de entrada
Las interfaces de entrada ms importantes que necesitan los usuarios para cumplir sus
funciones son las siguientes:
Para la gestin de personal y control de asistencia
-

Interfaz para registrar datos del personal.

Interfaz para registrar experiencia laboral

Interfaz para registrar situacin laboral

Interfaz para buscar personal.

Interfaz para registrar Profesiones.

Interfaz para registrar Turnos.

Interfaz para asignar turnos al personal.

Interfaz para registrar huella y fotografa del personal.

Interfaz para configurar control de asistencia.

Interfaz para capturar huella digital.

Interfaz para el control y gestin de Asistencia al personal.

Interfaz para registrar el calendario acadmico.

Interfaz para asignar permisos al personal.

Para el manejo de horarios acadmicos


-

Interfaz para registrar Carreras.

- 52 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Interfaz para registrar asignaturas y carga horaria.

Interfaz para asignar docentes a las diferentes asignaturas.

Interfaz para registrar Aulas

Interfaz para introducir parmetros para la generacin de horarios.

Interfaz para la construccin de horarios y asignacin de aulas.

Para la administracin de usuarios del sistema y manejo de sesiones


-

Interfaz para registrar usuario.

Interfaz para asignar niveles de acceso al sistema

Interfaces de Salida
-

Interfaz de reporte de Personal.

Interfaz de reporte de carreras y asignaturas.

Interfaz de reporte de turnos asignados al personal.

Interfaz de reporte de control de asistencia.

Interfaz de reporte de estadsticas de asistencia.

Interfaz de reporte de horarios generados por Semestre.

Interfaz de reporte de horarios generados por docente.

Interfaz de reporte de horarios generados por aula.

4.1.10. Correspondencia entre elementos funcionales e interfaces


Caso de uso: Gestionar Kardex Personal
Interfaces:
-

Ventana Registrar Personal

Ventana Experiencia Laboral

Ventana Situacin Laboral

Ventana Buscar Personal

- 53 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

Ventana Registrar Profesiones

Ventana Consultas

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Caso de uso Gestionar Asistencia


Interfaces:
-

Ventana Registrar Turnos

Ventana Asignar Turnos Personal

Ventana Asignar Permisos

Ventana Registrar Calendario Acadmico

Ventana Administrar Huellas y Pin

Ventana Consultas

Caso de Uso Controlar Asistencia


Interfaces:
-

Ventana capturar Huella y visualizar datos

Ventana introducir Huella y Fotografa

Caso de Uso Generar Horarios


Interfaces:
-

Ventana Registrar Carreras

Ventana Registrar Asignaturas

Ventana Asignar Asignaturas a Docentes

Ventana Introducir parmetros para horarios

Ventana Registrar Perodos de clases

Ventana Registrar Aulas

Ventana Consultas

Ventana Exportar Horarios

- 54 CAPITULO IV: Proceso de Requerimientos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.2. Proceso de Anlisis y Diseo


4.2.1. Riesgos del Proyecto
Controlar todas las variables y circunstancias en el desarrollo de un proyecto no es factible,
siempre existe la posibilidad de que algo no salga como se ha previsto o se espera, de ah que
se hace necesario elaborar un anlisis de riesgos de manera anticipada a la ocurrencia de los
mismos con el fin de evitar que estos afecten el normal curso del proceso y por ente el logro
del objetivo del proyecto.
Tabla 4.1. Prevencin y mitigacin de riesgos identificados
Riesgo
Prevencin
Mitigacin
El cliente no puede

Explicar al cliente la

Buscar al cliente y

participar en las

importancia de su

concertar reuniones

entrevistas que se

participacin en la realizacin

explicndole la urgencia

requieren realizar para la

del proyecto y proyectar

de su participacin.

captura de requerimientos

reuniones para la realizacin


de las entrevistas

Cambio de requerimientos Establecer bien los

Postergar la entrega

en la etapa de

requerimientos revisarlos y

hasta introducir los

implementacin o pruebas

validarlos con el objeto de

cambios necesarios.

evitar la ocurrencia de este


riesgo.
El cliente no puede

Establecer fechas de manera

Explicar al cliente la

participar en las

consensual y clara con el

necesidad de su

revisiones.

cliente.

participacin en las
revisiones y los efectos
negativos que trae la
situacin opuesta.

Las herramientas

Seleccionar cuidadosamente

Buscar alternativas que

determinadas para el

las herramientas a utilizar en

sin significar gastos no

desarrollo del proyecto no

el desarrollo del proyecto

previstos tengan la

satisfacen todas las

considerando sus prestaciones

funcionalidad requerida.

CAPITULO IV: Proceso de Anlisis y Diseo

- 55 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

necesidades del proceso

en relacin a las necesidades

de produccin.

de uso en el proyecto.

Cambios de requisitos que Establecer cuidadosamente los Posponer la entrega


precisan modificaciones

requerimientos.

en el diseo y en la
programacin.
El tamao del sistema no

Establecer bien la

Posponer la entrega

ha sido bien determinado.

funcionalidad del sistema para

como ltimo recurso si

poder tener una idea clara del

el apresurar el proceso

tamao del producto y su

de programacin no

alcance.

abastece para mitigar


los efectos de riesgo.

La complejidad del

Establecer la complejidad del

Reevaluar los

producto no ha sido

producto desde la captura de

requerimientos e

correctamente evaluada.

requerimientos.

implementar los
cambios necesarios
apresurando el proceso
de desarrollo.

El cliente no tiene una

Consensuar entrevistas

Presentar propuestas

idea clara de lo que

continuas con el cliente con el

que de alguna manera

precisa.

fin de aclarar sus ideas.

ayuden al cliente a
precisar sus
requerimientos.

No se comprende las

Interactuar con el cliente con

Aumentar el tiempo

necesidades del cliente.

el objeto de tener bien claras

destinado a la captura

las necesidades del mismo.

de requerimientos.

Los clientes no

Explicar a los clientes al inicio Aclarar los problemas

comprenden el impacto de del proyecto sobre los

de cambiar los

los cambios en los

inconvenientes que puede

requerimientos.

requerimientos.

traer el hecho de incluir


cambios en los requerimientos

CAPITULO IV: Proceso de Anlisis y Diseo

- 56 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

El tiempo requerido para

Establecer un tiempo extra

Posponer la fecha de

el proceso de desarrollo e

dentro de la planificacin.

entrega.

Que el producto no

Tomar en cuenta la

Realizar las

satisfaga las necesidades

participacin del cliente en la

modificaciones

de los usuarios.

captura de requerimientos y

necesarias.

implementacin est
subestimado

establecer revisiones
constantes para ver su
conformidad.
Que el producto presente

Tener presente la

Adecuar el sistema

incompatibilidad con el

compatibilidad futura del

realizando los cambios

entorno.

proyecto a fin de que se

necesarios para

adapte al entorno en el cual

subsanar dicha

ser puesto en marcha.

incompatibilidad.

No se cuenta con los

Adentrarse lo necesario en las

Revisar el modelo de

conocimientos necesarios

necesidades del proyecto a fin

requerimientos e

para enfrentar la

de tener clara la complejidad

informacin necesaria.

complejidad de los

del sistema.

requisitos.
No se est disponible en

Prever la disponibilidad de

Adecuar las actividades

momentos crticos.

tiempo y el tiempo necesario

a las necesidades del

para el desarrollo.

proyecto.

El tamao del proyecto es

Determinar la funcionalidad

Incrementar el tiempo

mucho mayor al tamao

del sistema al inicio del

de desarrollo en la

previsto.

desarrollo.

medida de lo posible.

No se conoce el uso de las

Escoger herramientas cuyo

Establecer un poco ms

herramientas necesarias

manejo sea conocido.

de tiempo para

para el desarrollo del

familiarizarse con el uso

proyecto.

de las herramientas a
usar o buscar

CAPITULO IV: Proceso de Anlisis y Diseo

- 57 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

herramientas
alternativas cuyo
manejo si sea conocido.
Fuente: elaboracin propia
4.2.2. Arquitectura del Sistema
En cuanto a la arquitectura usada en el diseo y desarrollo del sistema se utiliz la arquitectura
MVC, porque la misma describe una forma de separar los datos de la aplicacin de la interfaz
de usuario y la lgica de control en tres componentes distintos, separacin que facilita la
realizacin de cambios en la aplicacin, se hizo esta eleccin considerando la posibilidad de
realizar cambios de bases de datos, programacin o interfaz de usuario, slo se tocara uno de
los componentes y no todos.

Sistema de Control de Asistencia y Generacin de Horarios


Interfaz del
Sistema

Utilidades

Entidades

Control DAO

kardex de
Personal

Control de
Asistencia

Generar
Horarios

Figura 4.6. Diagrama de Paquetes de SISCAACH


Fuente: Elaboracin propia

CAPITULO IV: Proceso de Anlisis y Diseo

- 58 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.2.3. Estructura Esttica del Sistema


4.2.3.1. Estructura de Datos
La estructura de datos planteada es el diagrama de clases, en el mismo se define la estructura
esttica del sistema, presentando las clases y las relaciones estructurales entre ellas. Una clase
contiene atributos y operaciones. Los atributos contienen la informacin que debe ser
almacenada de forma persistente y las operaciones nos permiten manipular los datos
contenidos en los atributos.
El diagrama de clases, presentado en la figura 4.7. Fue desarrollado a partir de la realizacin
de los casos de uso, donde se establecieron los datos de relevancia que deban ser almacenados
en las clases entidad.

CAPITULO IV: Proceso de Anlisis y Diseo

- 59 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Diagrama de Clases.

Diagrama General de Clases

Figura 4.7. Diagrama de Clases


Fuente: Elaboracin Propia

CAPITULO IV: Proceso de Anlisis y Diseo

- 60 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Descripcin de las clases con mayor relevancia


Nombre de Clase: Personal
Descripcin: Almacena los datos personales de todos los docentes, sean estos con tem con
contrato, para registrar la informacin completa a cada docente se utiliza las clases
Experiencia Laboral y Situacin Laboral.
Atributos:
Ci

String

aPaterno

String

aMaterno

String

nombres

String

sexo

char

fechaNacimiento

Date

LugarNacimiento

String

nivelEstudio

String

aniosServicio

String

rda

String

numHijos

String

direccin

String

telfono

String

fotografa

Blob

tipoMarca

char

huella

Blob

pin

integer

Profesion

Profesiones

Operaciones

CAPITULO IV: Proceso de Anlisis y Diseo

- 61 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Guardar(): esta operacin se utiliza para registrar los datos de un nuevo personal, los
datos se guardan en la tabla personal, SituacionLaboral y ExperienciaLaboral.

Consultar(); esta funcin se utiliza para verificar que el ci del personal no est
duplicado en la tabla personal.

Editar(): devuelve los datos de algn personal especfico y permite actualizar los
mismos.

Buscar(): mediante esta operacin se puede realizar la bsqueda de un determinado


personal a partir de criterios de bsqueda como ci o apellido.

Nombre de Clase: TurnosPersonal


Descripcin: En esta clase se almacenan los turnos asignados a cada personal, ci del personal a
quien corresponde dicho turno, se en cuenta las fechas de inicio y conclusin de la gestin
acadmica, as mismo cada turno tiene registrado la hora de ingreso y salida adems se
considera el tiempo de tolerancia para cada turno.
Atributos:
ci

String

idTurno

integer

desde

Date

hasta

Date

entrada

time

salida

time

Operaciones:
-

Guardar() : esta operacin guarda los turnos asignados al personal previamente


seleccionado, tomando en cuenta su horario acadmico

Eliminar(): esta operacin elimina un turno que no hayan sido correctamente asignado
o cuando su horario sea modificado.

CAPITULO IV: Proceso de Anlisis y Diseo

- 62 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Nombre de Clase: Asistencia


Descripcin: Esta clase almacena los datos relacionados a la asistencia, como ser: ci del
personal, fecha, hora de ingreso y salida en el momento en que un docente coloca su huella
digital en el lector de huellas, adems registra el tiempo de atraso si un docente marca fuera de
horario pero dentro del lmite establecido o falta si es que no registro su huella.
Atributos:
idAsis

integer

Ci

String

fecha

Date

nombreTurno

String

entr

time

sali

time

Atraso

time

Observaciones

String

horasTrabajadas

time

Operaciones:
-

Consultar(): permite consultar el detalle de asistencia de cada personal por da y por


mes.

Nombre de Clase: Horarios


Descripcin: almacena los horarios generados, tomando en cuenta todas las restricciones
formuladas en el modelo matemtico
Atributos:
idHorario

integer

dia

String

turno

String

carrera

String

CAPITULO IV: Proceso de Anlisis y Diseo

- 63 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

semester

String

asignatura

String

aula

char

operaciones:
-

Consultar(): esta operacin permite realizar consulta de acuerdo a criterios establecidos


como ser : por Semestre, por docente y por aula

Exportar(): permite exportar los horarios generados a una hoja de clculo (Excel).

4.2.4. Estructura Dinmica del Sistema


Descripcin de la funcionalidad del Sistema
Como se puede apreciar el sistema tiene como objetivo gestionar la informacin relacionada
con el personal docente, kardex, asignar turnos, controlar asistencia, generar horarios
relacionados a todas las carreras de la institucin, considerando lo mencionado se realizar la
descripcin de la funcionalidad del sistema.
Kardex de Personal: Este mdulo es el encargado de gestionar los datos del personal docente,
adems de registrar la experiencia laboral de cada uno y su situacin actual en la institucin.
Control de Asistencia: La funcin de este mdulo es la de registrar la asistencia del personal
por medio de la captura y posterior validacin de la huella digital de cada personal, adems
este mdulo permite registrar turnos, asignar turnos a docentes, gestionar permisos, registrar
calendario acadmico, generar reportes de asistencia del personal.
Generar Horarios: Este mdulo es el encargado de la creacin de horarios y asignacin de
aulas, permite la configuracin de los parmetros para generar los horarios, generar reportes
por Semestre, Docente y Aula.

CAPITULO IV: Proceso de Anlisis y Diseo

- 64 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.2.4.1. Diagrama de secuencia


Subsistema Gestionar Kardex
Datos Personales

: Encargado RRHH

: Principal

: Gestionar Personal

: Buscar

: PersonalDao

: Persona

1: abri r()
2: abri r( )
3: Aadir Personal( )
4: Verifi car Datos( )

5: Aadir Personal( )
6: ok( )
7: Confi rmar Proceso( )

8: mostrar()
9: parametros( )

12: Mostrar Personal( )

10: Buscar Personal( )

11: retornar Personal ( )

13: eli minar()


14: eli minaPersonal()
15: confirmarEli minar

16: actualizar()
17: validarDatos()

18: actualizarPersonal
19: confirmarActual izar()
20: salir()

Figura 4.8. Diagrama de Secuencia: Datos Personales


Fuente: [Elaboracin propia]

CAPITULO IV: Proceso de Anlisis y Diseo

- 65 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.2.4.2. Diagrama de colaboracin


Subsistema Gestionar kardex
Datos Personales

1: abrir()

3: aadirPersonal()
13: eliminar()
16: actualizar()

2: abrir()

: Encargado RRHH

20: salir()

: Principal

: Gestionar Personal

8: mostrar()
7: confirmarProceso()
12: mostrarPersonal()
9: parametros()

: Buscar

4: verificarDatos()
17: validarDatos()

15: confirmarEliminar()
19: confirmarActualizar()

6: ok()
11: retornarPersonal()

: Persona

5: aaadirPersona
10: buscarPersonal()
14: eliminarPersona()
18: actualizarPersonal()

: PersonalDao

Figura 4.9. Diagrama de Colaboracin: Datos Personales


Fuente: [Elaboracin propia]

CAPITULO IV: Proceso de Anlisis y Diseo

- 66 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.2.5. Mapeamiento para la implementacin del Sistema


4.2.5.1. Mapeamiento a Tablas
El sistema est desarrollado con la metodologa orientada a objetos, pero trabaja con un gestor
de base de datos relacional, por lo tanto existe una dificultad al momento de realizar el
Mapeamiento de clases al modelo relacional, el cual es resuelto mediante el uso de JPA
ToplinkEssentials que permite el Mapeamiento automtico de clases a tablas del modelo
relacional segn estndares de JAVA.
Este Mapeamiento permite implementar la base de datos en el gestor de base de datos
seleccionado, el mismo se presenta en la Figura 4.10.
Profesiones

Experiencia_Laboral

Permisos
m

Personal_permiso
s
1

Situacion_Laboral

1
1

Personal
1

Turnos
1

Personal_turnos
1

Personal_licencia
s

Asignaturas
m

Asistencia
m

Licencias
1

Carreras

Figura 4.10. Diagrama Entidad Relacin


Fuente: elaboracin Propia

CAPITULO IV: Proceso de Anlisis y Diseo

- 67 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.2.5.2. Diseo de la Base de Datos


La base de datos que registra la informacin general tiene la siguiente estructura:
Prof esiones

Personal

ci

paterno

cod_prof

materno nombres

Situacion
laboral

idSL

nombre_prof

sexo

f echaNacimiento lugarNacimiento lugarNacimiento

cargo

desde

hasta

niv elEstudio

codEmpleado

anioServ icio

item

rda

numHijos direccion

observ aciones

idEL

Asignaturas

cod_asignatura nombre_asignatura semestre carga_horaria cod_carrera

Turnos

idTurno

id-Turno

id_licen
cia

desde

ci

Personal_Licencias id_licencia

Permisos

id_per

ci

Carreras

ci

hasta

entrada_max

entrada

desde

hasta

motiv o

f echa

dia

turno

pin

situacionActual

codProf

ci

ci

ci

salida_min

salida_max

salida

ci

f echa

cod_carrera

entrada_min

f echa_Retiro

huella

ci

Personal_Permiso id_Permiso

Asistencia id_asis

cargo

nombre_Turn
hora_sali
hora_entrada
o
da

dia

Personal_Turnos c i

Licencias

institucion

f otograf ia

tipoEmpleado

Experiencia
laboral

lugarTrab

f echa_Ing
reso

telef ono

nombre_Turno

nombre_carre
ra

entro

salio

atraso

observ

horas_Trab

niv el

Figura 4.11. Modelo Lgico Global de Datos


Fuente: elaboracin Propia

CAPITULO IV: Proceso de Anlisis y Diseo

- 68 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.2.6. Elaboracin del algoritmo gentico para la distribucin de los horarios en la


Universidad Pedaggica Mariscal Sucre.
4.2.6.1. Caractersticas Particulares de la Institucin
-

Cada carrera cuenta con un bloque de aulas asignado.

Las aulas de cada bloque tienen las mismas caractersticas.

Cada carrera elabora su horario independientemente de las dems.

No se toma en cuenta la disponibilidad de horario de los docentes.

Cada docente tiene asignado la asignatura que debe impartir.

No se toma en cuenta la cantidad de alumnos inscritos en cada asignatura.

Se toma como referencia el modelo 1 descrito en el captulo II con algunas variaciones de


acuerdo a las caractersticas del problema a resolver.
4.2.6.2. Factores involucrados en la generacin de horarios
Restricciones del problema
-

Los das de clases son de Lunes a Viernes

Los periodos de clases mximo son de dos horas en cada asignatura.

Las asignaturas ya tienen asignados los docentes que deben impartirlas.

Una asignatura puede ser asignado solo una vez en un da.

Un profesor no puede estar en el mismo perodo de clases ms de una vez.

Las asignaturas del mismo semestre no deben tener el mismo perodo de clases

Se debe evitar las horas libres entre asignaturas del mismo semestre.

CAPITULO IV: Proceso de Anlisis y Diseo

- 69 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Datos de entrada

Lista de Asignaturas a las que hay que asignar horarios; estos datos son recuperados de
la base de datos del sistema.
Tabla 4.2. Asignaturas

Cdigo
Asignatura

ESO-701
LDI-731
MAT-701
MAT-713
MAT-714
PDI-701

Nombre Asignatura

LA EDUCACION EN EL
DESARROLLO
HISTORICO
TALLER DE
LENGUAJE
ALGEBRA I
GEOMETRIA
GEOMETRIA
ANALITICA
PRACTICA
PROFESIONAL I

Carga
horari
a

Carrera

Docente

Primero

MATEMATICA

1226945

Primero

MATEMATICA

1023114

Primero
Primero

4
4

MATEMATICA
MATEMATICA

1034579
1267202

Primero

MATEMATICA

1000409

Primero

MATEMATICA

1061014

Semestre

Fuente: Elaboracin Propia


Nota: En caso de existir grupos en determinadas asignaturas, estas se toman como asignaturas
diferentes aadiendo una letra al cdigo de la asignatura que indique el grupo (B,C,D,,etc.).

Lista de periodos :
Tabla 4.3. Tabla Periodos
Cdigo
Da
Periodo
Periodo
T1
Lunes
1
T2
Martes
2
T3
Mircoles
3
T4
Jueves
1
T5
Lunes
2
T6
Martes
3

Fuente: Elaboracin Propia

CAPITULO IV: Proceso de Anlisis y Diseo

- 70 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Lista de Aulas:
Tabla 4.4. Tabla Aulas
Cdigo Aula
Bloque
Descripcin
A1
A
Sector Primaria
A2
A
Sector Primaria
A3
A
Sector Primaria
A4
A
Sector Primaria
F1
F
Sector Secundaria
F2
F
Sector Secundaria

Fuente: Elaboracin Propia

4.2.6.3. Diseo del Algoritmo


Representacin del problema
Para trabajar con un modelo gentico se debe definir aspectos que estn relacionados con la
implementacin: el gen, el Cromosoma (conjunto de genes), que representa a los individuos de
una poblacin, los operadores de cruce y mutacin y la funcin de aptitud, que mide qu tan
bueno es un individuo como solucin del problema.
Representacin del Gen
El gen representa a una asignatura, el docente que la imparte, y la posicin de la asignatura en
la lista Asignatura, y el semestre al que pertenece la asignatura.
1

asignatura

docente

posAsig

Semestre

estado

Figura 4.1. Representacin del Gen


Fuente: Elaboracin Propia

Las variables asignatura, docente y posAsig tomarn sus valores correspondientes, es decir la
variable Docente tendr el cdigo del docente que imparta la asignatura, la variable posAsig
hace referencia a la lista de asignaturas que deben asignarse un perodo en la que se impartir
la asignatura y la variable semestre lleva la informacin del semestre de la asignatura, la
variable estado se utiliza en el momento de hacer la evaluacin, en esta se almacena el numero
de choques que tiene en todo el individuo.

CAPITULO IV: Proceso de Anlisis y Diseo

- 71 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Estructura de datos (clase) para representar el Gen:


class Gene{
String asi, pro, pos, sem; //variables que almacenan asignatura, profesor, posicin y
semestre respectivamente
float adapt;

//variable que almacena la adaptacin de un individuo

float puntua

//variable que almacena la puntuacin de un individuo

float punt_acum // variable que almacena la puntuacin acumulada de un Indiv.


// Constructor para el gen que contiene informacin para evaluar el individuo
public Gene(int ada,float punt,float pacum) {
this.adapt = ada;
this.puntua =punt;
this.punt_acu=pacum;
}
// Constructor para los genes que contienen informacin de asignaturas, docente,
// turnos y semestres para la generacin de horarios
public Gene(String as, String pr, String pos, String se, int est) {
this.asi=as;
this.pro=pr;
this.pos=pos;
this.sem=se;
this.est= es;
}
// mtodos setters y getters

}
class Gen {
int tamAsig, tamPer;
List listaAsignaturas;
List listaAulaPeriodos;
// Constructor de la Clase Gen

CAPITULO IV: Proceso de Anlisis y Diseo

- 72 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

public Gen(List<Asignaturas> lAs,List<AulaPeriodos>lAp) {


this.tamAsig = lAs.size();

//tamao de la lista asignaturas

this.tamPer = lAp.size();

//tamao de la lista periodos

this.listaAsignaturas = lAs; //lista de asignaturas


this.listaAulaPeriodos=lAp; //lista de aulaPeriodos
}
// mtodos
Gene[ ]indivAlea(); // Devuelve un vector de genes (individuo), con genes aleatorios
}
Funcin indivAlea()
// funcin que devuelve un vector(individuo) de Tipo Gene
public Gene [ ] genAlea(){
Gene[] genes = new Gene[tamPer+1];
Asignaturas[] vectorAsignaturas= new Asignaturas[tamPer];
// se llena el vector con las asignaturas tomando en cuenta su carga horaria
for (i = 0; i<tamAsig;i++){
// obtiene un objeto de la listaAsignatura
Asignaturas objAsignatura=(Asignaturas) listaAsignaturas.get(i);
// carga horaria de la asignatura
ch= objAsignatura.getCargaHoraria( )/2;
int cont=0;
while (cont < ch){
vectorAsignaturas[pos]=obAsignatura;
pos++;
cont++;
}
// Selecciona una asignatura del vector sin repetir y
// Asigna a un periodo aleatorio
boolean vecA[] = new boolean[pos];
boolean vecP[] = new boolean[tamPer];
int ra=0,rp =0;

CAPITULO IV: Proceso de Anlisis y Diseo

- 73 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

for(int j=0;j<pos;j++){
do{ //Nos da un n? si repetir
ra = (int) ((pos) * Math.random());
}while ( vecA[ ra ] ); //Si ya estaba nos da otro
vecA[ ra ] = true;

//Se marca

// Selecciona una gen aleatorio del vector sin repetir


//Para colocar la asignatura seleccionada
do{ //Nos da un n? si repetir
rp = (int) ((tamPer) * Math.random());
}while ( vecP[ rp ] ); //Si ya estaba nos da otro
vecP[ rp ] = true;

//Se marca

Asignaturas objAsignatura = (Asignaturas)vectorAsignaturas[ra];


String codAsig = objAsignatura.getCodAsig();
String docente = objAsignatura.getDocente();
String semestre = objAsignatura.getSemestre();
//String dia = aulaPer.getPeriodos().getDia();
int posListaA=ra;
System.out.println(pos -1);
Gene g =new Gene(codAsig,docente,posListaA,semestre);
genes[rp]=g;
}

return genes;
}
}
4.2.6.4. Representacin del Cromosoma (Individuo)
Los individuos representan una asignacin de horarios para cada una de las asignaturas a
considerar para una determinada carrera, por tanto, un individuo se representa como una lista
de genes.

CAPITULO IV: Proceso de Anlisis y Diseo

- 74 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

El conjunto de genes representa un individuo.


1

asignatura

docente

posAsignat

semestre

estado

Figura 4.12. Representacin del Individuo Inicial


Fuente: Elaboracin Propia
Donde:
n: nmero de genes que componen el individuo (longitud del individuo), se calcula como la
suma de las cargas horarias de las asignaturas que participan en la generacin de los horarios.
Cada Gen (posicin) del individuo hace referencia a la lista de aulaPeriodos que contiene la
informacin del da, periodo, aula.
Estructura de datos (clase) para representar un individuo
class Gene[ ] Cromosoma{
List As;

//Lista de objetos Asignaturas

List Ap;

//Lista de Aula periodos

float adaptacin, puntuacin, punt_acum;


Gen lisGenes= new Gen(As, Ap);
Gene [] cadenaGenes =lisGenes.indivAlea();
return cadenaGenes; // retorna un vector (individuo) de tipo Gene
}
Luego del llenado del cromosoma, se aade un nuevo objeto de tipo Gene en la posicin n+1
que almacena la informacin de la adaptacin, puntuacin y la puntuacin acumulada.
n+1: almacena un vector de tipo Gene cuyos datos son utilizados para la evaluacin del
individuo, estos datos son: adaptacin, puntuacin y puntuacin acumulada.

CAPITULO IV: Proceso de Anlisis y Diseo

- 75 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Adaptacin

Puntuacin

n+1

Puntuacin Acumulada

Figura 4.13. Representacin del Individuo Final


Fuente: Elaboracin Propia
4.2.6.5. Representacin de la poblacin
La poblacin es un conjunto de individuos de tamao tp dado como parmetro (tamao de la
poblacin).
1

n+1

n+1

n+1

n+1

.
.
.
tp

Figura 4.14. Representacin de la poblacin


Fuente: Elaboracin Propia
Al completar el llenado de la poblacin inicial, se evala la poblacin y se aade la
informacin usual que necesita un algoritmo gentico, como ser: adaptacin, puntuacin,
puntacin acumulada; en el gen de la posicin n+1.
-

Adaptacin: Es una variable real que, que en este proyecto es un valor a minimizar.
Cada vez que una restriccin es violada, la variable adapt se incrementa en uno, de tal
manera que cuando la variable adapt se aleja de cero, quiere decir que tiene muchos
choques.
La principal caracterstica de la adaptacin es que tiende a cero cuando se satisfacen las
restricciones, pero toma un valor grande cuando estas son violadas.

CAPITULO IV: Proceso de Anlisis y Diseo

- 76 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Estructura de datos para la funcin de adaptacin


Pseudocdigo
// funcin que recibe como parmetro un vector de genes(individuo)
// devuelve la adaptacin de ese individuo
Public int adaptacion(Gene[] indi){
int adapt = 0, npmpp =0, int namsp =0;
for(int k =0;k<indi.length-1;k++){
if(indi[k]!=null ){
String a = indi[k].getAsi();
String p = indi[k].getPro();
int po = indi[k].getPos();
String s = indi[k].getSem();
List listP = auPerDao.listaAulaPeriodos();
AulaPeriodos pe = (AulaPeriodos) listP.get(k);
String per= pe.getPeriodos().getPeriodo();
String d= pe.getPeriodos().getDia();
// Se verifica las restricciones violadas
for(int j =0;j<indi.length-1;j++){
if(indi[j]!=null){
AulaPeriodos peri = (AulaPeriodos) listP.get(j);
String perio= peri.getPeriodos().getPeriodo();
String dia= peri.getPeriodos().getDia();
//Un profesor no puede estar en ms de un periodo a la vez
if((indi[j].getPro().equals(p))&& (perio.equals(per))){
adapt ++;/Nmero de mismo profesor mismo periodo
}
//Asignaturas del mismo semestre no pueden estar en el mismo periodo
if(indi[j].getSem().equals(s)&& perio.equals(per)){
adapt ++;//Nmero de mismo semestre mismo periodo
}

CAPITULO IV: Proceso de Anlisis y Diseo

- 77 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

// Misma asignatura no puede estar en el mismo dia mas de una vez


if(indi[j].getPro().equals(p) && indi[j].getDia().equals(d)){
adapt ++;//Nmero de mismo asignatura mismo dia
}
}
}
}
}

Puntuacin: Es una variable real

que almacena

la puntuacin obtenida por cada

individuo luego de una evaluacin.


La puntuacin viene dada por la frmula:

Esta frmula es utilizada para trabajar con problemas de maximizacin.


Como la funcin de adaptacin devuelve la cantidad de restricciones que han sido
violadas, significa que los individuos que tengan mayor cantidad de choques tendran
mayor puntuacin y por lo tanto tendran mayor probabilidad de ser seleccionados, por lo
que es necesario realizar una transformacin para calcular la puntuacin de cada individuo
y de esta manera lograr que los individuos que poseen menor cantidad de choques tengan
una mayor puntuacin.
-

Puntuacin Acumulada: Es una variable real que almacena la suma acumulada de las
puntuaciones de cada individuo:

4.2.6.6. Evaluacin de la poblacin


La funcin de evaluacin evala cada individuo de la poblacin asignndole valores de
adaptacin, puntuacin y puntuacin acumulada, necesarios para la ejecucin del algoritmo
gentico.

CAPITULO IV: Proceso de Anlisis y Diseo

- 78 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Pseudocdigo funcin de evaluacin:


public List<Gene[]> evaluarPoblacion(List<Gene[]> pobla){
int ad, ada;
float pun;
int tamIndiv =0;
int sumTotalAdapta=0;
float acum=0;
List<Gene[]> poblacion = new ArrayList<Gene[]>();

DESDE j=0 HASTA pobla.size() HACER {


Gene[] indiv = this.poblacionInicial.get(j); //obtiene el individuo j
ad =(adaptacion(indiv));

//adaptacin del individuo j

sumTotalAdapta = ad + sumTotalAdapta;
tamIndiv= indiv.length;

//obtiene el tamao del individuo

Gene g =new Gene(ad,0,0);


indiv[tamIndiv]= g;

//agrega un nuevo gen al individuo j


//con su valor de adaptacin

poblacion.add(indiv);

//agrega el individuo evaluado a


//una poblacin temporal

}
//ciclo para invertir la funcin de maximizar a minimizar
float suma2=0;
DESDE m=0 HASTA poblacion.size() HACER {
Gene[] indiv1 = poblacion.get(m);

//obtiene el individuo m de la poblacin

ada= adaptacion(indiv1);
suma2 =suma2 + sumaTotalAdapta/ada;
}
DESDE k=0 HASTA poblacion.size() HACER {
Gene[] individuo= poblacion.get(k);

//obtiene el individuo k de la poblacin

int ti= individuo.length;

//obtiene el tamao del individuo

CAPITULO IV: Proceso de Anlisis y Diseo

- 79 -

INGENIERA DE SISTEMAS
UMRPSFXCH

ad = individuo[ti].getAdapt();

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

//obtiene la adaptacin del individuo k

//puntuacion invertida para minimizar


pun =sumTotalAdapta/ad/suma2;

//puntuacin vlida

acum= acum + pun;

//puntuacin acumulada

Gene ge = new Gene(ad,pun,acum);


individuo[ti]= ge;

//guarda la adaptacin,puntuacin y acum

}
// Retorna la poblacin evaluada con su adaptacin, puntuacin y acumulada
return poblacion;
}
4.2.6.7. Operadores Genticos
Durante la etapa de alteracin del algoritmo, se usan dos clsicos operadores genticos:
Mutacin que consiste en la modificacin del cdigo gentico del cromosoma, y cruce que es
el intercambio de material gentico entre dos cromosomas.
Estos operadores se seleccionarn, cada uno de los cuales tiene asociado una cierta
probabilidad de ocurrencia, la cual se representa en nuestro algoritmo a travs de un nmero
aleatorio, una vez seleccionado uno de estos operadores se aplica a la poblacin inicial. Si la
seleccin nos da que se debe aplicar el operador de mutacin, lo que hace este operador, en
primera instancia es obtener un nmero aleatorio, y con este valor, se revisa la puntuacin
acumulada en la poblacin inicial, se selecciona el individuo; se obtienen dos nuevos nmeros
aleatorios para intercambiar los genes a travs del operador de mutacin por intercambio. Una
vez aplicado el operador, se guarda el nuevo individuo en una poblacin temporal y se obtiene
nuevamente un nmero aleatorio con el fin de seleccionar otro operador gentico, el cual se
aplica a la poblacin inicial, este proceso se realiza hasta llenar la poblacin temporal. Cuando
el valor aleatorio da que se debe aplicar el operador de cruce, lo que hace este operador, es
entregar un nmero aleatorio, y con este valor, se selecciona el individuo de forma similar al
caso de mutacin, una vez seleccionado el primer individuo y el segundo individuo, se obtiene
dos nuevos nmeros aleatorios y se aplica el operador de cruce por orden.

CAPITULO IV: Proceso de Anlisis y Diseo

- 80 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Pseudocdigo del operador gentico cruzar


//Se aplica el operador de cruce por orden
public Gene[] cruze(Gene[]in1,Gene[]in2){
int nAlea1 =0,nAlea2 =0,may=0,men=0;
int li=in1.length;
do{
nAlea1 = (int)((li-1)*Math.random());
nAlea2 = (int)((li-1)*Math.random());
}while (nAlea1!=nAlea2);
if(nAlea1>nAlea2){
may =nAlea1;
men =nAlea2;
}else{
may = nAlea2;
men = nAlea1;
}
Gene[]hijo= trozos(in1,in2,men,may);
return hijo;
}
//Crea los nuevos hijos con el operador cruce por orden
public Gene[] trozos(Gene[]padre1,Gene[]padre2,int p1,int p2){
int longitudIndividuo= padre2.length-1;
Gene[] genes= new Gene[longitudIndividuo];
int i; //posicion de insercin
for(i=p1;i<p2;i++){
genes[i]= padre2[i];
}
int pos =p2%longitudIndividuo;
for(i%=longitudIndividuo;i!=p1;i=(i+1)%longitudIndividuo-1){
//boolean existe=false;
while(existe(genes,padre1[pos])==false){

CAPITULO IV: Proceso de Anlisis y Diseo

- 81 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

pos=(pos+1)%longitudIndividuo;
}
genes[i]=padre1[pos];
}
return genes;
}
public boolean existe(Gene[]genes,Gene ge){
boolean exis =false;
int elemAs =ge.getPos();
for(int i=0;i<genes.length-1;i++){
if(genes[i]!=null){
if(genes[i].getPos()== elemAs){
exis=true;

break;

}
}
} return exis;
}
Pseudocdigo operador de mutacin
// Operador de mutacion por intercambio
public Gene[] mutacion(Gene[]in3){
int nAlea1 =0;
int nAlea2 =0;
int li=in3.length;
Gene aux=null;
do{
nAlea1 = (int)((li-1)*Math.random());
nAlea2 = (int)((li-1)*Math.random());
}while (nAlea1!=nAlea2);
aux= in3[nAlea1];
in3[nAlea1]=in3[nAlea2];
in3[nAlea2]=aux;
return in3;

CAPITULO IV: Proceso de Anlisis y Diseo

- 82 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

}
4.2.6.8. Seleccin
La seleccin implantada en el trabajo se denomina como seleccin a travs del mtodo de la
ruleta. Este mtodo usa una distribucin de probabilidad, en donde la probabilidad de
seleccionar un cromosoma (conjunto de genes que forman la solucin) es directamente
proporcional a su puntuacin. Posteriormente se realiza una eleccin al azar, garantizando que
sobrevivan los cromosomas con mejor adaptacin gentica. El cromosoma que resulte mejor
en la evaluacin posee mayores posibilidades de salir seleccionado y formar parte de la nueva
generacin.
4.2.6.9. Generacin de la poblacin inicial
La primera etapa de un Algoritmo Gentico es la generacin de la poblacin inicial, en la cual
se generan aleatoriamente tp cromosomas (tamao de poblacin), donde tp representa el
tamao de la poblacin, es decir, la cantidad de individuos donde cada individuo representa
una posible solucin al problema. A cada gen del individuo se le asigna aleatoriamente y sin
repetir las asignaturas de la listaAsignaturas,
Pseudocdigo para inicializar la poblacin
public AGenetico(int numGeneraciones, int tamPoblacion,float pCruce, float pMutacion,
List<Asignaturas> asignatur,List<AulaPeriodos> aulaPer,String carr ) {
this.nGeneraciones = numGeneraciones;
this.tPoblacion = tamPoblacion;
this.probCruce = pCruce;
this.probMutacion = pMutacion;
this.lAsig = asignatur;
this.lAuPerio = aulaPer;
this.carrera = carr;
}
public List<Gene[]>inicializar() throws Exception{
for(int i=0;i<this.tPoblacion;i++){
Cromosoma cr=new Cromosoma(this.lAsig);
Gene[] individuo= cr.llenarIndividuo(this.lAsig.size(),this.lAuPerio.size());

CAPITULO IV: Proceso de Anlisis y Diseo

- 83 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

poblacionInicial.add(individuo);
}
Esquema propuesto para la ejecucin de un algoritmo gentico con los parmetros obtenidos
desde una interfaz grfica.
AGenetico AG = new AGenetico

(numeroGeneraciones, tamaPoblacion, pCruce,


pMutar,lisAsignatura, lisAulaPeriodos,carrera);

poblacionInicial = AG.inicializar();

//inicializa la poblacin

poblacion =AG.evaluarPoblacion(poblacionInicial); //evala la poblacin


while (numgen <= numeroGeneraciones){
List<Gene[]> poblacionTemporal=new ArrayList<Gene[]>();
//llenar poblacin temporal
do{c= cruzar;
o = AG.operadores( );//elige que operador usar a partir de una probabilidad
if(o.equals(c)){
// si el operador es cruzar se seleccionan dos individuos aleatoriamente
Gene[]ind1= AG.seleccionar(poblacion);
Gene[]ind2= AG.seleccionar(poblacion);
//se cruzan los dos individuos
Gene[]newInc= AG.cruze(ind1,ind2);
//se aade a la poblacin temporal
poblacionTemporal.add(newInc);
}else{// si el operador es mutar se selecciona un solo individuo
Gene[]ind3= AG.seleccionar(poblacion);
// se muta un gen del individuo
Gene[] newInm = AG.mutacion(ind3);
//Se aade a la poblacin temporal
poblacionTemporal.add(ind3);
}
}
// se realiza hasta que la poblacin temporal se llene
}while(poblacionTemporal.size()== tamaPoblacion);

CAPITULO IV: Proceso de Anlisis y Diseo

- 84 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

poblacion = AG.evaluarPoblacion(poblacionTemporal);
numgen ++;
}
Este procedimiento se inicia con la funcin inicializar poblacin, con la cual se realiza el
llenado de la poblacin inicial, cada individuo de esta poblacin se llena con la informacin de
las asignaturas y los docentes que dictan estas asignaturas, la carrera a la que pertenece la
asignatura, y el da asignado. Este procedimiento de inicializacin de la poblacin se realiza
hasta que se llene por completo la poblacin. Una vez finalizada esta etapa, se procede a
evaluar la poblacin, con lo cual se calculan los choques para cada individuo y se almacenan
en la variable adaptacin, teniendo este dato se procede a calcular la puntuacin y la
acumulada de cada individuo.
Una vez realizada esta etapa, se procede a Ejecutar la rueda de ruleta, la cual obtiene un
nmero al azar y selecciona, dependiendo del nmero, el operador gentico que se aplicar.
El ciclo do while se realiza hasta llenar la poblacin temporal, que es donde se guardan
todos los individuos a los que se les ha aplicado los operadores genticos. Una vez llenada la
poblacin temporal, se procede a evaluar sta. A continuacin la poblacin temporal pasa a ser
la nueva poblacin, mientras que la poblacin temporal queda vaca. El procedimiento
principal se ejecuta hasta llegar a una solucin factible, o hasta completar el nmero de
iteraciones definidas para la generacin.
En cuanto a la modificacin que se realiz a la rueda ruleta, originalmente sta trabaja con
funciones de maximizar, por lo que al calcular el porcentaje acumulado, la rueda de ruleta
daba una mayor fraccin a los individuos que tenan ms choques, ya que, estos poseen una
puntuacin mayor, y entregaba una fraccin menor a los que tienen menos choques. Es por
esto que la funcin se modific, y as trabajar con las funciones minimizar. A continuacin, se
presenta el cdigo utilizado para calcular el porcentaje acumulado:
Nota: La mejor solucin es aquel individuo que tiene una puntuacin mnima o cero si es
ptima.

CAPITULO IV: Proceso de Anlisis y Diseo

- 85 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.3. Proceso de Implementacin


4.3.1. Fases y plazos de implementacin
Los plazos y las etapas de implementacin estn vinculados al tipo de institucin en la que se
aplicar el sistema y a los actores que participarn en su manejo para garantizar su continua
intervencin y motivacin en el desarrollo.
Las fases que se siguieron para la implementacin son las siguientes:

Preparacin de la plataforma

Preparacin del software

Preparacin de soporte

Infraestructura de soporte

4.3.2. Preparacin de la plataforma


La plataforma es un vehculo par la tecnologa y debe estar correctamente configurada para el
desarrollo de la implementacin del sistema.
La ventaja del sistema es que al estar desarrollando la aplicacin en JAVA, se garantiza la
portabilidad del sistema, que permitir su funcionamiento sin importar la plataforma en la cual
sea implementada.
4.3.3. Preparacin del Hardware
Incluye la infraestructura de servidores y equipos de redes para aplicaciones (arquitectura de la
aplicacin) ver Figura Diagrama de Despliegue.
4.3.4. Preparacin del Software
Incluye la preparacin y configuracin de las aplicaciones de software que interactan con la
aplicacin incluyendo a la misma aplicacin.
Entre estas encontramos:

Sistema Operativo.

Ambiente de la aplicacin, que permite la ejecucin del sistema, Sistema Gestor de


Base de Datos y Maquina Virtual de Java.

CAPITULO IV: Cronograma de Ejecucin

- 86 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.3.5. Diagrama de Componentes


Mediante los siguientes diagramas se ver la organizacin de los componentes (interfaces,
mdulos, paquetes, archivos, cdigo fuente, etc.) del sistema y su dependencia con diferentes
partes del mismo.

Autenticar.java: Archivo responsable de permitir el acceso al sistema, mediante


usuarios registrados con nombre y contrasea.

Interfaz: Contenedor utilizado para el agrupamiento de todas las ventanas (interfaz)


del sistema.

ControlDao: Contenedor utilizado para almacenar los archivos encargados de


manipulacin de datos y peticiones realizados por las interfaces de usuarios.

Iconos: Contenedor de todas las imgenes utilizados en el sistema.

Reportes: Contenedor que contiene todos los archivos compilados .jasper de los
reportes del sistema.

Procedimientos: Contenedor que contiene todos los archivos auxiliares utilizados por
el sistema para el formateo de fechas, validaciones, manejo del lector biomtrico y
archivos para la implementacin del algoritmo gentico para la construccin de
horarios.

Jasper.jar: librera de manipulacin de reportes para java.

Jdbc.jar: Api que permite la ejecucin de operaciones sobre base de datos.

ToplinkEssentials.jar: librera utilizada para la persistencia de objetos en la base de


datos.

Swing: Librera de componentes que ayuda a la esttica y funcionalidad en el


desarrollo de interfaces de usuario.

Entidades: Contenedor que contiene todas las clases entidad.

CAPITULO IV: Cronograma de Ejecucin

- 87 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.3.5.1. Mdulos del Sistema

Mdul o Control
de Asi stencia

Mdulo
Kardex de Personal

Mdul o Construi r
Horari os

Figura 4.15. Mdulos del Sistema


Fuente: Elaboracin propia

Main.java
Swing

Interfaz
Autenti
car

Control
Asistencia

Administrar
Asistencia

Princip
al

Report
es

kardex
personal

ireport.jar

jarperReport

Construir
Horarios

ControlDao

toplinkEssenti
als

Entidades

Figura 4.16. Diagrama de Componentes


Fuente: Elaboracin propia

CAPITULO IV: Cronograma de Ejecucin

- 88 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.3.5.2. Diagrama de Despliegue

Cliente
SISTEMA
SISCAACH

Servidor
BASE DE DATOS

Acceso
JPA TOPLINK

Figura 4.17. Diagrama de Despliegue


Fuente: Elaboracin propia
4.3.6. Estructura de Directorios y Archivos
Los directorios y archivos del proyecto estn estructurados de la siguiente manera:
La carpeta SISAACA contiene el archivo Autenticar.java que es el encargado de iniciar la
aplicacin, esta carpeta a su vez se subdivide en:

ControlDao: Paquete que contiene a las siguientes clases control encargadas del acceso a
la Base de Datos

Entidades: Paquete que contiene a las clases entidad.

Iconos: Carpeta que contiene las imgenes utilizadas en el Sistema.

Interfaz: Paquete que contiene los archivos de

interfaz del sistema, agrupados de

acuerdo a cada mdulo en los siguientes paquetes.


-

ControlAsistencias

Horarios

Kardex

Seguridad

CAPITULO IV: Cronograma de Ejecucin

- 89 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

META INF: Carpeta que contiene el archivo de configuracin y conexin a la Base de


Datos (Persistence.xml).

Procedimientos: Paquete que contiene archivos auxiliares utilizados por el sistema para
el formateo de fechas, validaciones, manejo del lector biomtrico y archivos para la
implementacin del algoritmo gentico para la construccin de horarios.

Reportes: Carpeta donde se almacenan los archivos compilados y archivos fuentes


(.jasper y .jrxml) de todos los Reportes que son generados por el sistema.

Lib: Esta carpeta contiene todas las libreras utilizadas por el sistema.

Lo anteriormente descrito se puede apreciar en la siguiente figura:

Figura 4.18. Estructura de Directorios y Archivos


Fuente: Elaboracin propia

CAPITULO IV: Cronograma de Ejecucin

- 90 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.3.7. Implementacin de las clases en lenguaje de programacin


La estructura de las clases que contiene el cdigo estn agrupados de acuerdo a cada mdulo,
ya que se busca que el cdigo sea fcil de entender y modificar.
A continuacin se detalla la implementacin de una Clase
package Entidades;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
*
* @author EDWIN
*/
@Entity
@Table(name = "asistencia")
@NamedQueries({@NamedQuery(name = "Asistencia.findByIdAsis",
query = "SELECT a FROM Asistencia a WHERE a.idAsis = :idAsis"),
@NamedQuery(name = "Asistencia.findByFecha",
query = "SELECT a FROM Asistencia a WHERE a.fecha = :fecha"),
@NamedQuery(name = "Asistencia.findByIdTurno",
query = "SELECT a FROM Asistencia a WHERE a.idTurno = :idTurno"),
@NamedQuery(name = "Asistencia.findByNombreTurno",
query = "SELECT a FROM Asistencia a WHERE a.nombreTurno = :nombreTurno"),
@NamedQuery(name = "Asistencia.findByEntrada",
query = "SELECT a FROM Asistencia a WHERE a.entrada = :entrada"),
@NamedQuery(name = "Asistencia.findByAtraso",
query = "SELECT a FROM Asistencia a WHERE a.atraso = :atraso"),
@NamedQuery(name = "Asistencia.findBySalida",
query = "SELECT a FROM Asistencia a WHERE a.salida = :salida"),
@NamedQuery(name = "Asistencia.findByObservaciones",
query = "SELECT a FROM Asistencia a WHERE a.observaciones = :observaciones"),
@NamedQuery(name = "Asistencia.findByHorasTrab",
query = "SELECT a FROM Asistencia a WHERE a.horasTrab = :horasTrab")})

CAPITULO IV: Cronograma de Ejecucin

- 91 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

public class Asistencia implements Serializable {


private static final long serialVersionUID = 1L;
@Id
@Column(name = "id_asis", nullable = false)
private Integer idAsis;
@Column(name = "fecha")
@Temporal(TemporalType.DATE)
private Date fecha;
@Column(name = "id_turno")
private Integer idTurno;
@Column(name = "nombre_turno")
private String nombreTurno;
@Column(name = "entrada")
@Temporal(TemporalType.TIME)
private Date entrada;
@Column(name = "atraso")
@Temporal(TemporalType.TIME)
private Date atraso;
@Column(name = "salida")
@Temporal(TemporalType.TIME)
private Date salida;
@Column(name = "observaciones")
private String observaciones;
@Column(name = "horas_trab")
@Temporal(TemporalType.TIME)
private Date horasTrab;
@JoinColumn(name = "ci", referencedColumnName = "ci")
@ManyToOne
private Personal ci;
public Asistencia() {
}
public Asistencia(Integer idAsis) {
this.idAsis = idAsis;
}
public Integer getIdAsis() {
return idAsis;
}
public void setIdAsis(Integer idAsis) {
this.idAsis = idAsis;
}
public Date getFecha() {
return fecha;
}
public void setFecha(Date fecha) {
this.fecha = fecha;
}

CAPITULO IV: Cronograma de Ejecucin

- 92 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

public Integer getIdTurno() {


return idTurno;
}
public void setIdTurno(Integer idTurno) {
this.idTurno = idTurno;
}
public String getNombreTurno() {
return nombreTurno;
}
public void setNombreTurno(String nombreTurno) {
this.nombreTurno = nombreTurno;
}
public Date getEntrada() {
return entrada;
}
public void setEntrada(Date entrada) {
this.entrada = entrada;
}
public Date getAtraso() {
return atraso;
}
public void setAtraso(Date atraso) {
this.atraso = atraso;
}
public Date getSalida() {
return salida;
}
public void setSalida(Date salida) {
this.salida = salida;
}
public String getObservaciones() {
return observaciones;
}
public void setObservaciones(String observaciones) {
this.observaciones = observaciones;
}
public Date getHorasTrab() {
return horasTrab;
}
public void setHorasTrab(Date horasTrab) {
this.horasTrab = horasTrab;
}
public Personal getCi() {
return ci;
}
public void setCi(Personal ci) {
this.ci = ci;

CAPITULO IV: Cronograma de Ejecucin

- 93 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

}
@Override
public int hashCode() {
int hash = 0;
hash += (idAsis != null ? idAsis.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 Asistencia)) {
return false;
}
Asistencia other = (Asistencia) object;
if ((this.idAsis == null && other.idAsis != null) || (this.idAsis != null &&
!this.idAsis.equals(other.idAsis))) {
return false;
}
return true;
}
@Override
public String toString() {
return "Entidades.Asistencia[idAsis=" + idAsis + "]";
}
}
4.3.8. Implementacin de la Base de Datos
El gestor de base de datos elegido para gestionar la informacin generada por el sistema es
MySQL 5.1.
En la siguiente figura se puede observar la interfaz que presenta SQL Maestro for MySQL, la
cual presenta todas las tablas utilizadas en el sistema.

CAPITULO IV: Cronograma de Ejecucin

- 94 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Figura 4.19. Implementacin de la base de datos (Interfaz SQL Maestro for MySQL)
Fuente: Elaboracin Propia

4.4. Seguridad del Sistema


Para la seguridad de la informacin se consider los siguientes aspectos

Confidencialidad: el sistema posee autentificacin de Usuarios lo que permite acceder


solamente a la informacin correspondiente a cada usuario de acuerdo a sus permisos.

Integridad: el usuario al no tener acceso a mdulos que no le correspondan, no tiene la


posibilidad de modificar o eliminar informacin importante.

Resguardos: el sistema permite sacar resguardos de la informacin para que de esta


forma se reduzca la posibilidad de prdida de informacin.

CAPITULO IV: Cronograma de Ejecucin

- 95 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

En la tabla 4.5 se muestra los niveles de acceso para los diferentes usuarios

Usuario

Administrador
Encargado
RRHH
Encargado de
horarios

Nivel
de
Acceso
1
2

Tabla 4.5. Niveles de Acceso de Usuarios


Kardex Control de Administrar Construir Seguridad
Personal Asistencia
Asistencia
Horarios

Si
Si

Si
Si

Si
Si

Si
No

Si
No

No

No

No

Si

No

Fuente: Elaboracin Propia

Figura 4.20. Interfaz ingreso al sistema


Fuente: Elaboracin Propia

4.5. Proceso de Prueba


4.5.1. Pruebas de Software
La prueba del software es un elemento crtico para la garanta de la calidad del software. El
objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Adems,
esta etapa implica:

Verificar la interaccin de componentes.

Verificar la integracin adecuada de los componentes.

Verificar que todos los requisitos se han implementado correctamente.

Identificar y asegurar que los defectos encontrados se han corregido antes de entregar
el software al cliente.

Disear pruebas que sistemticamente saquen a la luz diferentes clases de errores,


hacindolo con la menor cantidad de tiempo y esfuerzo.

CAPITULO IV: Cronograma de Ejecucin

- 96 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

La prueba es un proceso que se enfoca sobre la lgica interna del software y las funciones
externas. La prueba es un proceso de ejecucin de un programa con la intencin de descubrir
un error. Un buen caso de prueba es aquel que tiene alta probabilidad de mostrar un error no
descubierto hasta entonces. Una prueba tiene xito si descubre un error no detectado hasta
entonces.
Tcnicas de Prueba
Una vez generado el cdigo fuente, es necesario probar el software para descubrir y corregir la
mayor cantidad de errores posible antes de entregarlo al cliente. Su objetivo es disear una
serie de casos de prueba que tengan una alta probabilidad de encontrar errores. Estas tcnicas
proporcionan directrices sistemticas para pruebas de diseo que 1) comprueben la lgica
interna y las interfaces de todo componente del software y 2) comprueben los dominios de
entrada y salida del programa para descubrir errores en su funcin, comportamiento y
desempeo.

Prueba de caja Blanca: Permiten examinar la estructura interna del programa. Se


disean casos de prueba para examinar la lgica del programa. Es un mtodo de diseo de
casos de prueba que usa la estructura de control del diseo procedimental para derivar
casos de prueba que garanticen que:

Se ejercitan todos los caminos independientes de cada mdulo.

Se ejercitan todas las decisiones lgicas.

Se ejecutan todos los bucles.

Se ejecutan las estructuras de datos internas

Prueba de caja negra: Las pruebas se llevan a cabo sobre la interfaz del software, y es
completamente indiferente el comportamiento interno y la estructura del programa.
Los casos de prueba de caja negra pretende demostrar que:
-

Las funciones del software son operativas.

La entrada se acepta de forma adecuada.

Se produce una salida correcta.

La integridad de la informacin externa se mantiene.

La prueba de caja negra intenta encontrar errores de las siguientes categoras:

CAPITULO IV: Cronograma de Ejecucin

- 97 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Funciones incorrectas o ausentes.

Errores de interfaz.

Errores en estructuras de datos o en accesos a bases de datos externas.

Errores de rendimiento.

Errores de inicializacin y terminacin.

4.5.3. Diseo y ejecucin de las pruebas.


Las caractersticas del software hacen difcil la tarea de probarlo. Es ms, estas caractersticas
hacen imposible la realizacin de una prueba exhaustiva al software. Por lo tanto se debe
tomar una actitud o filosofa para realizar esta labor.
Si con las pruebas no se detectan errores se llega a la conclusin de que el software parece
funcionar de acuerdo a las especificaciones alcanzando los requisitos de rendimiento, sin
embargo, esto no garantiza la ausencia de errores.
Las pruebas que se han considerado para el sistema, dentro del plan de pruebas, son las
siguientes:
o Pruebas de unidad
o Pruebas de integracin
o Pruebas del sistema
En cuanto a las tcnicas de prueba utilizadas, es decir, aquellas que ayudan a definir conjuntos
de casos de prueba aplicando un cierto criterio, se utilizaron las tcnicas de caja blanca
basados en el contenido de los mdulos y las tcnicas de caja negra basados en las interfaces y
las especificaciones de los mdulos.
Los resultados obtenidos de la aplicacin de este proceso de prueba fueron satisfactorios, en
cuanto a las pruebas de caja blanca se corrigieron todos los errores encontrados y en cuanto a
las pruebas de caja negra el nivel de aceptacin fue el esperado.
4.5.3.1. Pruebas de Unidad
Las pruebas de unidad tienen por objeto testear una funcin, un mdulo, una porcin de
cdigo, en realidad como su nombre lo indica una unidad, la tcnica utilizada para estas
pruebas es la tcnica de caja blanca por interactuar con el cdigo analizando directamente su
estructura y funcionalidad.

CAPITULO IV: Cronograma de Ejecucin

- 98 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Los casos de prueba realizados se encuentran detallados en el documento de referencia


tcnica, a continuacin se presenta el desarrollo de uno de los casos de prueba de unidad.
Prueba Gestionar Kardex
Tabla 4.6. Prueba Gestionar Kardex
Titulo: Gestionar Kardex de Personal
Tipo de prueba: Prueba de unidad
Datos de prueba
Tcnica de prueba: Caja Blanca
Responsable: Proyectista
Objetivo de la prueba Comprobar el funcionamiento y desempeo de la gestin de
kardex de personal.
Datos personales del empleado
Datos de entrada
Procedimiento de prueba:
- Ingresar nuevo personal:
Elegir la opcin Aadir personal
Ingresar todos los datos en los campos del formulario
Elegir la opcin guardar
- Actualizar personal
El personal debe estar seleccionado
Clic en el botn Editar
Modificar los datos necesarios
Clic en el botn Guardar.
- Eliminar personal
El personal debe estar seleccionado
Clic en el botn Eliminar
- El campo C.I. de personal y email no estn validados.
Problemas
Implementar un mtodo de validacin para los campos CI y email
Solucin
Fuente: [Elaboracin Propia]
3.5.3.2. Pruebas de Integracin
Prueba Gestin de usuarios
Tabla 4.7. Prueba Gestin de Usuarios
Titulo: Mdulo de gestin de usuarios
Tipo de prueba: Prueba de integracin
Datos de prueba
Tcnica de prueba: Caja Blanca y de caja negra
Responsable: Proyectista
Objetivo
de
la Verificar si la creacin de usuarios, y la asignacin de tareas
a los usuarios en funcin a sus niveles de acceso es correcta,
prueba
comprobndose tal hecho iniciando sesiones con diferentes
cuentas de usuarios
Nombre de usuario y contrasea
Datos de entrada
Procedimiento de prueba:
- Ingresar Nombre de Usuario

CAPITULO IV: Cronograma de Ejecucin

- 99 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Ingresar Contrasea
Verificar que el men asignado corresponda a las tareas asignados a dicho
usuario.

Problemas
Conclusin

Ningn problema identificado


Al haberse hecho las revisiones y correcciones necesarias al
cdigo durante las pruebas de unidad no se tuvieron
inconvenientes en esta etapa de pruebas.
Fuente: [Elaboracin Propia]

Para la ejecucin del algoritmo gentico es necesario tener los parmetros adecuados, para
esto se realizaron pruebas experimentales. La informacin detallada se encuentra en el Anexo
B.

4.6. Cronograma de ejecucin


El esfuerzo necesario para concretar un proyecto de desarrollo de software, cualquiera sea el
modelo, se expresa en meses/persona (PM) y representa los meses de trabajo de una persona a
tiempo completo requeridos para desarrollar el proyecto. [17]
La estimacin del costo y esfuerzo del proyecto se las realiz mediante el uso de la mtrica de
Puntos Funcin y el uso de la herramienta USC COCOMO II. (Ver Anexo A.)
4.6.1. Plan de desarrollo del Proyecto
La planificacin del proyecto se divide en dos etapas que son:

Estudio e investigacin de las herramientas y tcnicas a utilizar para el desarrollo del


sistema.

Desarrollo del proyecto, tomando en cuenta el ciclo de vida elegido, el iterativo


incremental.

CAPITULO IV: Cronograma de Ejecucin

- 100 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Tabla 4.8. Planificacin de Actividades (Investigacin de las Herramientas)


INVESTIGACIN DE LAS HERRAMIENTAS
140 das
Investigacin

Actividades

Duracin

Mtodo biomtricos por medio de Estudio de Sistemas Biomtricos


huella dactilar
Mtodos

por medio de la huella dactilar


tcnicas

para

la Estudio de tcnicas de bsqueda y

construccin de horarios acadmicos


Instalacin,

15 dias

reconocimiento

mtodos de optimizacin

y Integracin del lector de huella con

programacin del lector de huella.

15 das

10 das

el lenguaje de programacin
Persistencia de huellas digitales en

10 das

Base de datos
Anlisis de los Algoritmos Genticos

Construccin

del

algoritmo

20 das

Genticos para el caso de estudio


Codificacin del cromosoma

20 das

Netbeans

Estudio Interfaz Grfica

20 das

MySQL

Estudio Interfaz Grfica y Consola

10 das

Netbeans MySQL JPA

Estudio
Integracin
MySQL JPA
Fuente: Elaboracin Propia

Netbeans

20 das

Tabla 4.9. Planificacin de Actividades (Desarrollo del proyecto)


DESARROLLO DEL PROYECTO
200 das
TIEMPO
ACTIVIDAD
PRODUCTO
(Das)

ITERACIN I
Concepcin
Recopilacin de la informacin (entrevistas y
documentos)
Determinar la visin del proyecto en reunin
con las autoridades administrativas de la
Universidad Pedaggica
Determinacin de requerimientos
funcionales y no funcionales
Realizar el modelo del casos de uso del Negocio
(contexto del sistema)
Elaboracin
Elaborar el modelo general de casos de uso del
proyecto

CAPITULO IV: Cronograma de Ejecucin

14

Modelo de Requerimientos del


Sistema

Documento con la informacin


relacionada al proyecto
Documento con la visin del
proyecto
y
restricciones
principales
Documento con requerimientos
no funcionales
Documento de casos de uso
inicial de negocios

1
1

Diagramas de casos de uso

- 101 -

INGENIERA DE SISTEMAS
UMRPSFXCH

Elaborar el diagrama de paquetes del proyecto


(Arquitectura del Sistema)
Clasificar los casos de uso por riesgo, prioridad
y funcionalidad
Anlisis de clases, identificacin de atributos,
relaciones y responsabilidades
Estimacin de tiempo y costo, prioridades y
riesgos
Probar la aceptacin del modelo de
requerimientos a travs de un prototipo
ITERACIN II

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Diagrama de paquetes

Casos de uso clasificados

Diagrama de clases

Documentacin
de
la
estimacin de tiempo y costo
Prototipo no funcional del
sistema
Subsistema Kardex del
Personal Docente

2
21

Construccin
Elaborar el modelo detallado de requerimientos
del subsistema para adecuarse a la arquitectura
planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Codificar los casos de uso
Probar los casos de uso a travs de prototipos
Elaborar Manual preliminar del usuario

ITERACIN III

28

Construccin
Elaborar el modelo detallado de requerimientos
del subsistema para adecuarse a la arquitectura
planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Codificar los casos de uso
Probar los casos de uso

Diagramas de casos de uso y


descripcin detallada de los
casos de uso
Diagramas detallados de clases

Diagramas de colaboracin

1
11
3

Diagramas de estados
Subsistema codificado
Subsistema probado y validado
por los clientes
Documento
incrementado
manual del usuario
Subsistema
Control de
Asistencia

Diagramas de casos de uso y


descripcin detallada de los
casos de uso
Diagramas detallados de clases

Diagramas de colaboracin

1
16
3

Diagramas de estados
Subsistema codificado
Subsistema probado y validado
por los clientes
Documento
incrementado
manual del usuario
Subsistema Construccin de
Horarios

Aadir contenido al Manual preliminar del


usuario
ITERACIN IV

46

Construccin
Elaborar el modelo detallado de requerimientos

21

CAPITULO IV: Cronograma de Ejecucin

Diagramas de casos de uso y

- 102 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

del subsistema para adecuarse a la arquitectura


planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Codificar los casos de uso
Probar los casos de uso
Aadir contenido al Manual del usuario

ITERACIN V
Construccin
Elaborar el modelo detallado de requerimientos
del subsistema para adecuarse a la arquitectura
planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Probar los casos de uso

ITERACIN VI
Construccin
Elaborar el modelo detallado de requerimientos
del subsistema para adecuarse a la arquitectura
planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Codificar los casos de uso
Probar los casos de uso

28

Incrementar contenido al manual de Manual del


usuario
ITERACIN VII

1
56

Transicin
Elaborar un plan de pruebas

Pruebas de mdulos y de sistema con usuarios


no involucrados directamente en el proyecto

CAPITULO IV: Cronograma de Ejecucin

descripcin detallada de los


casos de uso
Diagramas detallados de clases

Diagramas de colaboracin

1
14
2

Diagramas de estados
Subsistema codificado
Subsistema probado y validado
por los clientes
Documento
incrementado
manual del usuario
Subsistema de Reportes y
mdulo de Seguridad
Diagramas de casos de uso y
descripcin detallada de los
casos de uso
Diagramas detallados de clases

Diagramas de colaboracin

1
2

Diagramas de estados
Subsistema probado y validado
por los clientes
Subsistema de Ayuda en lnea

Diagramas de casos de uso y


descripcin detallada de los
casos de uso
Diagramas detallados de clases

Diagramas de colaboracin

1
10
2

Diagramas de estados
Subsistema codificado
Subsistema probado y validado
por los clientes
Documento
incrementado
manual del usuario
Sistema
implementado
y
probado

Documentacin detallada del


plan de pruebas
Documentacin de las pruebas
(casos de prueba)

- 103 -

INGENIERA DE SISTEMAS
UMRPSFXCH

Corregir y extender la funcionalidad

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Sistema validado por los


usuarios
Capacitacin a los usuarios
3
Usuarios
capacitados
para
manejo del sistema
Puesta a prueba del sistema implementado
35
Documentacin de las pruebas
Correccin de errores detectados durante la
7
Sistema probado y validado por
prueba del sistema
los usuarios
Fuente: Elaboracin propia

CAPITULO IV: Cronograma de Ejecucin

- 104 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

4.6.2. Cronograma de Actividades

Figura 4.21. Diagrama de Gant del proyecto


Fuente: Elaboracin Propia

CAPITULO IV: Cronograma de Ejecucin

- 105 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Figura 4.22. Diagrama de Gant del Proyecto (Continuacin)


Fuente: Elaboracin Propia

CAPITULO IV: Cronograma de Ejecucin

- 106 -

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Figura 4.23. Diagrama de Gant del proyecto (Continuacin)


Fuente: Elaboracin Propia

CAPITULO IV: Cronograma de Ejecucin

- 107 -

CAPITULO V
DISCUSIN DE
RESULTADOS

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

DISCUSIN DE RESULTADOS
5.1. Resultados
5.1.1. Interfaces de Usuario
Se debe recalcar que RUP no define un diseo de interfaces y pantallas en ninguna de las
fases; a continuacin se muestra algunas de las interfaces ms relevantes del sistema.
Interfaz: Men Principal del sistema

Figura 5.1. Men Principal del Sistema


Fuente: Elaboracin Propia
Interfaz: Registro de Personal

- 108 CAPITULO V: Discusin de Resultados

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Figura 5.2. Registro de Personal


Fuente: Elaboracin Propia
Interfaz: Registro Situacin Laboral

Figura 5.3. Registro Situacin Laboral


Fuente: Elaboracin Propia
Interfaz: Bsqueda personal

Figura 5.4. Bsqueda de Personal


Fuente: Elaboracin Propia

- 109 CAPITULO V: Discusin de Resultados

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Interfaz: Reporte Personal Docente

Figura 5.5. Reporte de personal


Fuente: Elaboracin Propia
Interfaz: Registro de Turnos

Figura 5.6. Registro de Turnos


Fuente: Elaboracin Propia
- 110 CAPITULO V: Discusin de Resultados

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Interfaz: Asignacin de Turnos al Personal

Figura 5.7. Asignacin de Turnos


Fuente: Elaboracin Propia
Interfaz: Registro de Permisos

Figura 5.8. Registro de Permisos


Fuente: Elaboracin Propia
- 111 CAPITULO V: Discusin de Resultados

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Interfaz: Administrador de pin y huella

Figura 5.9. Administrador de pin y huella


Fuente: Elaboracin Propia
Interfaz: Registrar Asignaturas

Figura 5.10. Registrar Asignaturas


Fuente: Elaboracin Propia
- 112 CAPITULO V: Discusin de Resultados

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Interfaz: Configuracin Datos Horario

Figura 5.11. Configuracin Datos Horario


Fuente: Elaboracin Propia
Interfaz: Horarios Construidos

Figura 5.12. Horarios Construidos


Fuente: Elaboracin Propia

- 113 CAPITULO V: Discusin de Resultados

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

5.2. Puesta en Marcha


En esta fase el proyecto fue presentado al cliente y a los usuarios finales, con la seguridad de
que su funcionamiento era el correcto y que el mismo responde a los requerimientos
solicitados.
La Institucin cuenta con la infraestructura necesaria para operacin del sistema, todos los
datos para su funcionamiento fueron introducidos a partir de documentos en los cuales estaba
registrada dicha informacin, se realiz la capacitacin a los usuarios mediante varias
presentaciones del sistema que se fueron realizando, la primera presentacin fue de los
primeros mdulo terminados, las siguientes fueron del sistema en su conjunto.
5.2.1. Especificacin tcnica de hardware y software

Hardware
Tabla 5.1. Especificacin tcnica de hardware (servidor)
Dispositivo
Caractersticas
T. Madre

Intel GC35EC

Procesador

IBM procesador XEON

Memoria RAM

2GB DDR2

Disco Duro

250 GB

Tarjeta de Red

Ethernet 100/1000 mbps base T

Tarjeta de Video

Nvidia G-Force 256Mb

Monitor

Samsung
Fuente: Elaboracin propia

Tabla 5.2. Especificacin tcnica de hardware (cliente)


Dispositivo
Caractersticas
T. Madre

ASRock WofGate

Procesador

Intel Dual Core 2.0 GHz.

Memoria RAM

1GB DDR2

Disco Duro

80 GB SATA

Tarjeta de Red

Ethernet 100/1000 mbps base T

Monitor

LG 15
Fuente: Elaboracin propia
- 114 -

CAPITULO V: Puesta en Marcha

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Software
Tabla 5.3. Especificacin tcnica de software
Herramienta
Nombre
Versin
Plataforma de programacin
(PC cliente)
Servidor Base de datos
(PC Servidor)
Generador de reportes
(PC cliente)
JPA

Java Development Kit

MySQL

5.1

iReport

3.5.1

ToplinkEssentials
(PC cliente)
Fuente: [Elaboracin Propia]

5.2.2. Instalacin del Sistema


Para ver detalles de la instalacin del sistema consultar manual de instalacin. Anexo C.
5.2.3. Capacitacin a Usuarios
Jefe de Recursos Humanos: Este usuario ser capacitado para:

Gestionar Kardex de Personal, aadir, eliminar, modificar los datos del personal de la
institucin.

Gestionar Situacin Actual

Gestionar Experiencia Laboral

Registrar turnos para el control de asistencia al personal.

Asignar Turnos al personal.

Controlar permisos y licencias al personal.

Registrar Das no laborables

Gestionar el tipo de marcado de asistencia (huella digital o pin)

Obtener consultas de personal

Obtener consultas de control de asistencia.

Encargado de Horarios: Este usuario ser capacitado para:

Gestionar Carreras, aadir, eliminar, modificar los datos de las carreras de la


Institucin.

Gestionar Asignaturas, aadir, eliminar, modificar los datos de las asignaturas de cada
una de las carreras de la Institucin.
- 115 -

CAPITULO V: Puesta en Marcha

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Registrar Aulas de la institucin.

Construir horarios.

Editar un horario construido.

Generar Reportes de los horarios generados por Semestre, Docente y Aula

Personal: (La capacitacin ser grupal a todo el personal) Este usuario ser capacitado para:

Registrar su Asistencia para registrar su asistencia ya sea de entrada o salida por huella
digital o con un pin asignado.

Administrador: Este usuario ser capacitado para:

Gestionar Usuarios del sistema.

Manejo completo del sistema.

5.2.2. Estimacin del costo y Esfuerzo del Producto


Costo del Producto
Los gatos de materiales, equipos, fueron financiados por la Institucin, los costos de licencias
de software fueron nulos ya que se utilizaron herramientas libres, en tanto que los costos por
concepto de obtencin de informacin y los referidos a los costos auxiliares como ser
papelera y otros corrieron por cuenta propia, segn se detalla a continuacin.
Tabla 5.4. Costos de obtencin de informacin, papelera y otros
Item
Cantidad Precio/Unidad(Bs)
Total
Fotocopias
200
0,20
40
Servicio de Internet
9 meses
2Bs(c/h)
2000
Papel Bond Tamao Carta
3
25
75
Tinta negra para impresora HP
2
20
40
Tinta a color para impresora HP
2
60
120
Libro Algoritmos Evolutivos
1
560
560
Libro Mysql
1
280
280
3115
Total (Bs.)
Total ($us)
420
Fuente: [Elaboracin Propia]
Tabla 5.5. Costos de licencias de software
Item
Costo Licencia
NetBeans 6.0.1
Licencia libre
MySQL
Licencia libre
IReport 3.5.1.
Licencia libre
Total ($us.)

Fuente: [Elaboracin Propia]


- 116 CAPITULO V: Puesta en Marcha

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

La estimacin del costo y esfuerzo del proyecto se las realizo mediante el uso de la mtrica de
Puntos Funcin es una tcnica para medir el tamao del software, que pretende medir la
funcionalidad entregada al usuario independiente de la

tecnologa utilizada para la

construccin y explotacin del software, despus de hacer uso de la tcnica ya mencionad se


gener los siguientes resultados: tamao en lneas cdigo 11808 SLOC, una vez obtenido este
resultado se uso el Modelo de estimacin Cocomo II para obtener el esfuerzo final de 4
personas mes durante un periodo de 10 Meses y un costo del producto de 6660.56 $us. Esta
estimacin se ve reflejada en el Anexo A.

- 117 CAPITULO V: Puesta en Marcha

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

CONCLUSIONES
Con la implementacin del Sistema de Control de Asistencia y Apoyo a la Construccin de
Horarios, se logr mejorar el rendimiento del proceso de control de asistencia hacindolo ms
efectivo y minimizando el tiempo de emisin de reportes de control de personal.
La solucin planteada disminuye el tiempo y esfuerzo que eran dedicados al proceso de la
gestin de horarios y de asignacin de aulas, debido a que controla de forma automtica los
cruces de horas, pero sobre todo porque el sistema permite modificar horarios vigentes sin
tener que volver a generar uno nuevo, con lo que los encargados podrn organizar los horarios
de manera ms eficiente y en menor tiempo.
El uso de Mtodos de Anlisis y Diseo Orientado a Objetos ayudo a realizar el proyecto de
forma ms ordenada y entendible, cumpliendo con los objetivos planteados para el presente
proyecto.
El campo de la biometra con huellas digitales puede ser trabajado en muchas reas de la
sociedad, optimizando procesos que involucren tiempo y espacios. As mismo los
desarrolladores cuentan en la actualidad con novedosas y tiles herramientas libres para la
creacin, codificacin y depuracin de los programas que realicen. Por las anteriores razones
es un campo que ofrece muchas posibilidades y est siendo acogido por la sociedad.
El sistema desarrollado sirve solo para instituciones educativas que tengan un modelo escolar
y no as para un modelo universitario, ya que no toma en cuenta la cantidad de alumnos en un
determinado curso ni tampoco el tamao del aula.

- 118 CAPITULO V: Conclusiones

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

RECOMENDACIONES
El sistema con las caractersticas que presenta puede ser implantado en cualquier Unidad
Educativa que tenga un modelo escolar, por otra parte es necesario desarrollar un mdulo para
la parte contable para que el sistema pueda operar en un colegio privado donde es necesario
tener la informacin de pago de sueldos a los profesores.
Para que el sistema sea adaptable a un modelo universitario se podra hacer un anlisis
particular que asigne aulas sin la intervencin de personas, teniendo el sistema alguna forma
de inteligencia propia.

- 119 CAPITULO V: Conclusiones

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

REFERENCIA BIBLIOGRFICA
[1] TECNOBOLS, Sistema de Informacin Administrativa SIA, [CD ROM] Versin 5.3.29.2
Sucre 2001, Programa Computacional.
[2] CABABIE Pablo, CANCELO Facundo, LPEZ DE LUISE Daniela, Sistema Automtico
para Asignacin de aulas y distribucin de espacios [en lnea]. Palermo, Espaa: Universidad
de

Palermo.

Disponible

en:

www.palermo.edu/ingenieria/downloads/2008_wicc_gdarim_v3.pdf. [Consulta: 9 abril 2009].


[3]

ASC,

Time

Tables

[en

lnea]

versin

2008,

Disponible

en:

http://www.asctimetables.com/timetables_es.html. [Consulta 25 abril 2008].


[4] Visual Scheduling System Visual Classroom Schduler [en lnea] Versin demo V3.53
Australia. Disponible en: http://www.vss.com.au/index.asp. [Consulta: 24 abril 2009].
[5]

SOFTAULA,

[en

lnea]

Versin

demo

2006.

Disponible

en:

http://www.softaula.com/es/down/downlodad.asp. [fecha de consulta: 24 abril 2009].


[6] Adossis Kronowin, [en lnea] versin M-8.04. Valladolid, Espaa. Disponible en:
http://www.adossis.es/REFUGHM8.htm#REFUINI. [Consulta: 15 abril 2009].
[7] BERTRAND, Meyer. Construccin de Software Orientado a Objetos. Joyanes Aguilar,
Luis (Trad.). Segunda Edicin. Santa Barbara California: Prentice Hall, 1998. 1046 p. ISBN:
84-8322040-7.
[8] DE LA CRUZ, Daniel; ZUMBADO, Carlos. El Proceso Unificado en el Desarrollo de
Sistemas. Primera Edicin. Madrid: Ediciones Anaya Multimedia, 2008. 384 p. ISBN: 978-84415-2398-2.
[9] HERRERA, Randall; CALDERA, Roderick; MARTINEZ, Manuel. Anlisis y Diseo de
Sistemas con el Lenguaje de Modelaje Unificado (UML). Universidad Catlica Redemptoris
Mater, Escuela de Ingeniera en sistemas de Informacin, Managua, 1999
[10] NETBEANS, Join & Contribute to the NetBeans Community, [en lnea] Disponible en:
www.netbeans.org.

REFERENCIA BIBLIOGRAFICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

[11] DEITEL, Harvey; DEITEL, Paul. Como Programar en Java. Romero, Alfonzo(Trad.).
Quinta Edicin. Mexico: Pearson Educacin, 2004. 1268 p. ISBN: 970-26-0518-0.
[12] CORONEL, Erick ; Desarrollando Soluciones con Java y MySQL. Primera Edicin.
Lima: Macro E.I.R.L., 2009. 428p. ISBN: 978-612-4034-05-3.
[13] CANCHUCAJA, Jose del Carmen; Diseo de Bases de Datos. Universidad Nacional de
la Plata, Maestra Ingeniera de software, Caracas. 2007.
[14]

PERSISTENCIA

JPA,

[en

lnea],

Disponible

en:

http://www.elholgazan.com/2007/08/jpa-java-persistence-api.html [consulta 15 de mayo de


2009]
[15] HERNANDEZ SAMPIERI Roberto, Carlos Fernndez Collado, Pilar Baptista Lucio.
Metodologa de la Investigacin, 3ra. Ed. Mxico, DF Ultra; 2002, [libro], p. 47-48
[17] GMEZ Adriana, LPEZ Mara del C., MIGNAI Silvina, OTAZ Alejandra, Un
Modelo de Estimacin de Proyectos de Software.
[18] LPEZ TAKEYAS Bruno, JOHNSTON BARRIENTOS Jaime David, Modelo De
Asignacin de Carga Acadmica Usando Algoritmos Genticos, Mxico 2007 Instituto
Tecnolgico de Nuevo. Disponible en: http://www.itnuevolaredo.edu.mx/takeyas [Consulta 12
de octubre de 2009].
[19] ALMEIDA SAENZ Orlando., Administracin de Recursos Humanos, 1ra. edicin La Paz
Bolivia Universidad Mayor de San Andrs; 2002.
[20] FLORES Pedro, BRAU Ernesto, MONTEVERDE Jazmn A, SALAZAR Norman F.,
FIGUEROA Jos, Experimentos con algoritmos genticos para resolver un problema real de
programacin Maestros Horarios Cursos. Departamento de Matemticas Universidad
de Sonora, Hermosillo Sonora CP 83000 Mxico.
[21] TOLA FLORES Egberto, Sistema Biomtrico de control de asistencia y planillas de
pago, La Paz 2008 Universidad Mayor de San Andrs, Facultad de Ciencias Puras y
Naturales Carrera de Informtica.

REFERENCIA BIBLIOGRAFICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

[22] MOLINA, JUAN ENRIQUE; Algoritmos Geneticos para la resolucin de un problema


de tipo timetabling, Universidad de Valparaiso, Chile Facultad de Ciencias, Departamento De
Computacin Ingeniera Aplicada Valparaso 2007.
[23] PACHECO AGERO Carla Leninca, Distribucin ptima de Horarios de Clases
utilizando la tcnica de Algoritmos Genticos; Acatlima, Huajuapan de Len, Oaxaca Agosto,
2000 disponible en http://jupiter.utm.mx/~tesis_dig/6557.pdf
[24] VEGA BRISEO, Edgar Armando. Introduccin a sistemas y Tecnologas de
informacin, Disponible en: http://www.monografias.com/trabajos24/tics-empresas.shtml
[consulta 15 de octubre de 2009].
[25] ZHANG, David D. Automated Biometrics Technologies and Systems. Pringer Edit. 2000.
344p
[26]

Revista

Empresarial

disponible

en:

http://www.revista-

ays.com/DocsNum02/PersEmpresarial/Huidobro.pdf, [Consulta 20 de octubre de 2009]


[27]

Identificacin

Biomtrica

con

huellas

digitales,

[en

lnea],

disponible

en:

http://ciberhabitat.gob.mx/hospital/huellas/textos/identificacion.htm. [consulta 20 de octubre


de 2009]
[28]

TECNOLOGIA

FINGERPRINT

Disponible

en:

http://www.betasoft-

srl.com.ar/pages/biometric/RS-120S.htm, [consulta 25 de noviembre de 2009]


[29] LUENBERGER,David; Programacin Lineal y no Lineal, Addison-Wesley Publishing,
Pp. 3-6. 2000
[30] Coello, Coello Carlos A., Introduccin a los Algoritmos Genticos, Soluciones
Avanzadas, Tecnologas de Informacin y Estrategias de Negocios, [Enero 1995] , Nmero
17, Pp. 5-11.
[31] MEJIA CABALLERO, Jos; Asignacin de Horarios de Clases Universitarias Mediante
Algoritmos Evolutivos, Colombia 2008, Universidad De La Guajira / Universidad Del Norte.

REFERENCIA BIBLIOGRAFICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

[32] LOPEZ, TAKEYAS BRUNO; BARRIENTOS, JOHNSTON DAVID; Modelo de


Asignacin de Carga Acadmica Usando Algoritmos Genticos, Instituto Tecnolgico de
Nuevo Laredo. Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. Mxico. Disponible en:
http://www.itnuevolaredo.edu.mx/takeyas
[33] ARAUJO, Lourdes; CERVIGON, Carlos; Algoritmos Evolutivos un Enfoque Practico,
1ra. Edicin. Barcelona: RA-MA EDITORIAL, 2009. 330P. ISBN: 978-84-7897-911-0.
[34] Patrones de Diseo de Software, [en lnea], disponible en: http://www.proactivacalidad.com/java/patrones/mvc.html, [Consulta 12 febrero de 2010].
[35] Comparacin de Gestores de Bases de Datos, [en lnea], disponible en:
http://www.netpecos.org/docs/mysql_postgres/x57.html, [Consulta 29 de octubre de 2009].
[36]Terraza de Aravaca Comparativa De Implementaciones De Jpa Toplink, EclipseLink,
hibrnate

OpenJPA

disponible

en:

http://terrazadearavaca.blogspot.com/2008/12/comparativa-de-implementaciones-de-jpa.html
[consulta 20 de octubre de 2009].
[37]

Mundo

Byte,

[en

Lnea]

disponible

http://mundobyte.wordpress.com/2008/01/05/creacion-de-reportes-en-java-parte-i
20 de Marzo de 2010].

REFERENCIA BIBLIOGRAFICA

en:
[Consulta

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

BIBLIOGRAFA
1. PRESSMAN, Roger S.; Ingeniera del Software un Enfoque Prctico, 5ta. Edicin.
Madrid: McGRAW-HILL/INTERAMERICANA DE ESPAA, S.A.U., 2003. 600p.
ISBN : 84-481-3214-9.
2. KENDALL, Kenneth E; KENDALL, Julie E., Anlisis y Diseo de Sistemas, 6ta.
Edicin. Mxico: PEARSON EDUCACION, 2005. 752 p. ISBN: 970-26-0577-6.
3. GILFILLAN, Ian, La Biblia de MySQL, 3ra Edicin,

Barcelona: ANAYA

MULTIMEDIA, 2006. 880 p.


4. DEITEL, Harvey; DEITEL, Paul. Como Programar en Java. Romero, Alfonzo(Trad.).
Quinta Edicin. Mexico: Pearson Educacin, 2004. 1268 p. ISBN: 970-26-0518-0.
5. CORONEL, Erick ; Desarrollando Soluciones con Java y MySQL. Primera Edicin.
Lima: Macro E.I.R.L., 2009. 428p. ISBN: 978-612-4034-05-3
6. HERNANDEZ SAMPIERI Roberto, Carlos Fernndez Collado, Pilar Baptista Lucio.
Metodologa de la Investigacin, 3ra. Ed. Mxico, DF Ultra; 2002, [libro], p. 47-48
7. ARAUJO, Lourdes; CERVIGON, Carlos; Algoritmos Evolutivos un Enfoque Practico,
1ra. Edicin. Barcelona: RA-MA EDITORIAL, 2009. 330p. ISBN: 978-84-7897-911-0.

BIBLIOGRAFIA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

GLOSARIO DE TRMINOS
Algoritmo Gentico: Un algoritmo gentico es una tcnica de programacin que imita a la
evolucin biolgica como estrategia para resolver problemas. Los algoritmos genticos
pertenecen a la clase de mtodos de bsqueda aleatoria. Su diferencia fundamental con los
procedimientos clsicos es que los algoritmos genticos se basan en la evolucin de una
familia de soluciones en lugar de ir mejorando una sola solucin.
API: (Aplicattion Programming Interface) Es un conjunto de llamadas a funciones de software
los cuales les permiten a otras aplicaciones acceder a las funciones de un programa.
Biometra: La biometra es una tecnologa de seguridad basada en el reconocimiento de una
caracterstica de seguridad y en el reconocimiento de una caracterstica fsica e intransferible
de las personas, como por ejemplo la huella digital.
Compelijad P: P es la clase de complejidad que contiene problemas de decisin que se
pueden resolver en un tiempo polinomial.
Complejidad NP: clase de complejidad que contiene problemas que no pueden resolverse en
un tiempo polinmico.
Cromosoma: Un cromosoma est formado por un grupo de genes. Es el conjunto de la
solucin en s.
CU: (Caso de Uso) Es una secuencia de pasos a seguir para la realizacin de un fin o
propsito.
DAO: (Data Access Objects) Objeto que permite la conexin para la transferencia de datos.
Frameworks: Plantillas predefinidas, que facilitan la programacin.
Funcin de Aptitud: La funcin de aptitud le da una calificacin sobre que tan bueno es un
conjunto e genes para obtener el objetivo dado.
Huella Dactilar: Es la representacin de la morfologa superficial de la epidermis de un dedo,
estas huellas son diferentes en cada persona.
JPA: (Java Persistence API) Estndar Java para el mapeo objeto relacional, proporciona un
modelo de persistencia basado en POJOs para mapear bases de datos relacionales en Java.

GLOSARIO DE TERMINOS

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

JMF: (Java Media FrameWork) Es una extensin de trabajo que permite la programacin de
tareas multimedia en lenguaje de programacin java. Se traduce como Entorno de trabajo
multimedia de java.
Longitud de la Cadena: Es el nmero de genes que componen el cromosoma. O sea el
nmero de variables que tiene el modelo a resolver.
Mtodos Heursticos: Algoritmos que mejoran las posibles soluciones hasta encontrar una
que posiblemente est cerca del ptimo, no existe forma de garantizar la calidad de la
respuesta.
ORM: (Object Relational Mapping) define una forma de transformar un modelo orientado a
objetos en un modelo relacional.
Sistemas biomtricos: Sistema automatizado que realiza labores de biometra. Es decir, un
sistema que fundamenta sus decisiones de reconocimiento mediante una caracterstica
personal que puede ser reconocida o verificada de manera automatizada.
Marcar asistencia: Registrar la hora de entrada o salida.
TTE (Time Tabling Educacional): Los problemas de Time Tabling Educacional se asocian a
la labor de organizar una secuencia de eventos (generalmente asignaturas o exmenes), en un
perodo de tiempo determinado, satisfaciendo un conjunto de restricciones.

GLOSARIO DE TERMINOS

ANEXOS

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

ANEXO A
GESTIN DEL PROYECTO
A.1. Estimacin de costo/esfuerzo del proyecto
Para la estimacin del costo del sistema se utiliz el modelo constructivo de costos Cocomo II
y dentro del mismo el modelo Post-Arquitectura. La estimacin de costo, esfuerzo y tiempo se
realiz aplicando la herramienta USC COCOMO II, para ello se parti de los casos de uso del
sistema. Los resultados de la estimacin se detalla a continuacin.
A.1.1. Clculo de Puntos Funcin
Identificacin de los flujos de entrada y salida, consultas Q, archivos lgicos internos y
externos.
Flujo de Entrada / pantalla FE

No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

ANEXO A

Flujo de Entrada / Pantalla FE


Pantalla
Cantidad de Datos
Registrar personal
20
Experiencia Laboral
5
Situacin Laboral
8
Profesiones
2
Registrar Turnos
8
Calendario Laboral
2
Asignar Turnos
3
Registrar Licencias
3
Registrar Permisos
3
Administrar Pin
2
Control Asistencia
9
Registrar Carrera
2
Registrar Asignatura
6
Registrar Aula
3
Asignar Aula
4
Registrar Usuario
7
Cambiar Contrasea
4
Construir Horario
9
Guardar Horario Construido
4
Editar Horario
1

Complejidad
Alta
Media
Media
Baja
Media
Baja
Media
Media
Media
Baja
Alta
Baja
Media
Baja
Media
Media
Alta
Alta
Alta
Alta

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Flujo de Salida / Reportes FS

No.
1
2
3
4
5
6
7
8
9
10
11

Flujo de Salida / Reportes FS


Pantalla
Cantidad de Datos
Lista de Personal
5
Lista de Personal por carreras
5
Lista de Personal por nivel
5
Lista Personal Administrativo
5
Lista Personal Servicio
5
Lista Detalle Asistencia Diario
7
(por persona)
Lista Detalle Asistencia
9
Mensual
Lista Pensum Acadmico (por
5
Carreras)
Ver Horario Construido
Ver Horario Docente
Ver Horario Construido
-

Complejidad
Media
Media
Media
Media
Media
Media
Media
Media
Alta
Alta
Alta

Consultas Q
Consultas Q
No.

Consulta

1
2
3
4
5
6
7

Autenticar Usuario
Bsqueda de personal
Bsqueda detalle asistencia diaria
Bsqueda detalle asistencia mensual
Bsqueda Licencias/Permisos
Registro de Asistencia
Bsqueda Horario Construido

No. De
criterios
2
3
2
3
2
2
1

Complejidad
Media
Media
Media
Media
Media
Media
Media

Archivos Lgicos Internos ALI

No
1
2
3
4
5
6
7

ANEXO A

Archivos Lgicos Internos ALI


Archivo
Tipo de Registro
Personal
2
Experiencia_Laboral
2
Situacin_Laboral
2
Profesiones
2
Turnos
2
Calendario_Laboral
2
Turnos_Asignados
2

Complejidad
Media
Media
Media
Baja
Media
Baja
Media

INGENIERA DE SISTEMAS
UMRPSFXCH

8
9
10
11
12
13
14
15
16
17
18

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Licencias
Permisos
Asistencia
Carrera
Asignatura
Aula
Usuario
Horario
GenerarReporte
Actualizar BD
Exportar horario a Excel

2
2
3
2
2
1
2
6
4
4
6

Media
Media
Alta
Baja
Media
Media
Baja
Alta
Media
Alta
Media

Archivos Lgicos Externos ALE

No
1
2
3

Archivos Lgicos Externos ALE


Archivo
No de campos
Ayuda
3
Backup Base de Datos
2

Complejidad
Baja
Baja

Pesos Segn la complejidad


Pesos Especficos
Media

Flujo o
Baja
Archivo
3*5
4*9
FE
4*0
5*8
FS
3*0
4*7
Q
7*4
10 * 11
ALI
5*2
7*0
ALE
Total de puntos funcin no ajustados

Alta

Total

6*6
7*3
6*0
15 * 3
10 * 0

87
61
28
183
10
369

Clculo de KSLOC
Convirtiendo los puntos Funcin para un lenguaje de Tercera Generacin:
369 * 32 = 11808 SLOC

ANEXO A

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

A.1.2. Estimacin de Costo / Esfuerzo mediante COCOMO II

Sueldo mensual por programador 150 $us


Costo del Producto
Costo = 6660.56 $us
Clculo del Tiempo
T = [ 3.0 * E (0.33+0.2(b-1.01))]* SCED/100
DONDE:
E= 44.4 Lneasb=
1
Cdigo

SCED = 100%
Esfuerzo

Costo

T = 10.41
T = 10 meses
Clculo de Personas
Personas = E/T = 44.4/ 10

ANEXO A

Personas =

4 Personas mes

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

ANEXO B
PRUEBAS PARA LA CONSTRUCCIN DE HORARIOS
UNIVERSIDAD PEDAGOGICA NACIONAL MARISCAL SUCRE
La principal tcnica utilizada en la construccin de los horarios es el algoritmo gentico
simple.
Una vez implementado los algoritmos genticos, se procedi a evaluar el comportamiento
mediante la modificacin de ciertas variables que influyen en el mismo, como ser el nmero
de generaciones y el nmero de individuos que forman la poblacin.
Existen investigaciones en las cuales se han modificado la variable Nmero de Generaciones,
con el objetivo de conocer el comportamiento de las soluciones a travs de un nmero de
generaciones dado; segn Araujo Lourdes[33] el nmero de generaciones puede variar de 10 a
500 y el tamao de la poblacin de 10 a 100.
Los valores de los operadores genticos, son extrados de la literatura por ser los ms
utilizados. El Operador de combinacin tendr una probabilidad de ocurrencia de 80 por
ciento, mientras que el operador de de mutacin tendr una probabilidad de ocurrencia del 20
por ciento restante.
Para obtener el tamao de la generacin ms aceptable se realizarn pruebas cambiando este
parmetro desde un valor de 10 hasta 500.
Entonces, para efectuar la prueba el programa trabajar con las siguientes generaciones: 10,
15, 20, 30, 40, 50, 100, 200, 300, 400 y 500.
La informacin empleada en las pruebas, ser obtenida de la direccin acadmica de la
Universidad Pedaggica para el primer semestre de la gestin 2010.
Los datos de las pruebas son los siguientes.
1. Se cuenta con 5 carreras del nivel secundario.
2. Se cuenta con un total de 271 asignaturas (semestrales)
3. Se cuenta con un total de profesores
4. Cada semestre cuenta con un aula asignada.

ANEXO B

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

5. Los horarios son por turnos (maanas o tardes)


Anlisis de Resultados
La variable adaptacin, mide la cantidad de choques que tienen las soluciones obtenidas.
Para cada fila de la tabla se realizo 5 corridas y se muestra el que tiene menor adaptacin.
Tabla A.B.1. Resultados Pruebas Parmetros A. G.
Tamao
Nmero de
Probabilidad Probabilid Adaptacin
de
Generaciones
de cruce
ad de
o nmero
Poblacin
mutacin de Choques

Tiempo de
Ejec.

10

10

80%

20%

25

00:00:50

10

50

80%

20%

21

00:01:26

10

100

80%

20%

23

00.04:03

15

10

80%

20%

25

00:01:07

15

50

80%

20%

18

00:03:20

15

100

80%

20%

20

00:06:03

20

10

80%

20%

25

00:02:05

20

50

80%

20%

18

00:04:15

20

100

80%

20%

22

00:07:58

30

10

80%

20%

23

00:01:35

30

50

80%

20%

19

00:06:10

30

100

80%

20%

21

00:11:55

40

10

80%

20%

23

00:02:05

40

50

80%

20%

20

00:0820

40

100

80%

20%

17

00:15:49

50

10

80%

20%

21

00:02:20

50

50

80%

20%

14

00:09:52

50

100

80%

20%

17

00:19:50

100

10

80%

20%

21

00:04:22

100

50

80%

20%

22

00:15:05

100

100

80%

20%

19

00:23:15

200

10

80%

20%

24

00:07:28

200

50

80%

20%

18

00:15:05

ANEXO B

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

200

100

80%

20%

15

00:28:10

300

10

80%

20%

17

00:06:25

300

50

80%

20%

23

00:15:46

300

100

80%

20%

22

00:27:28

400

10

80%

20%

19

00:07:10

400

50

80%

20%

25

00:16:24

400

100

80%

20%

19

00:32:40

500

10

80%

20%

21

00:10:50

500

50

80%

20%

19

00:18:14

500

100

80%

20%

18

00:37:30

Fuente: Elaboracin Propia


Conclusin:
Al finalizar las pruebas de Nmero de Generaciones y tamao de poblacin, aplicaremos el
algoritmo construido al problema para determinar la solucin factible, este algoritmo creado
presentar los porcentajes 20 de ocurrencia en mutacin y 80 en cruce, 15 de tamao de
poblacin y 50 de nmero de generaciones.
En la tabla de arriba se puede observar que mientras ms grande es el nmero de generacin
mayor es el tiempo de ejecucin y la adaptacin no tiene una gran diferencia con respecto a los
resultados con otros parmetros, es por eso que los datos elegidos son 15 tamao de poblacin
y 50 numero de generaciones.
Los parmetros, tamao de poblacin y el nmero de generaciones fueron elegidos debido a
que la solucin es obtenida en un tiempo considerable y las diferencias con las otras
soluciones no son significativas ya que la solucin es obtenida a partir de una solucin
aleatoria.
Con estos datos es posible encontrar una solucin factible, adems el sistema permite la
modificacin manual del cromosoma (Solucin), hecho que permite la manipulacin del
horario de forma visual y amigable para el usuario.

ANEXO B

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

ANEXO C
MANUAL DE INSTALACIN
Introduccin
El Sistema de Control de Asistencia y Apoyo a la construccin de horarios es un Sistema
Informtico compuesto por diferentes mdulos como ser: Krdex de personal, Control de
Asistencia, Construccin de Horarios y Seguridad, que mejora el rendimiento del proceso de
control de asistencia hacindolo ms efectivo y minimizando el tiempo de emisin de reportes
de control de personal, adems de construir horarios acadmicos de acuerdo a las necesidades
de la Universidad Pedaggica Mariscal Sucre.
Requerimientos del Sistema
El sistema requiere ser instalado en un equipo con las siguientes caractersticas:

Procesador Pentium IV superior

Vdeo que soporte como mnimo 256 colores.

Espacio en disco de 30 Mb.

RAM 64Mb superior.

Perifricos

Dispositivo Lector de Huellas Digitales, cualquier tipo y modelo de Lectores


Biomtricos del mercado

Camara Web de cualquier tipo y modelo.

Instalacin
Antes de empezar con la instalacin del sistema se requiere lo siguiente:

JRE: Instalar la mquina virtual de java en el ordenador para que la instalacin del
sistema SISCAACH sea posible.

Gestor de Bases de Datos MySQL.

Driver de lector de huella de cualquier marca y modelo.

ANEXO C

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

JMF (Java Media Framework). Framework necesario para la manipulacin de la


cmara web.

Todos los archivos necesarios se encuentran en el CD de instalacin, el cliente solo tiene que
introducir el CD, entrar dentro de l y ejecutar con un doble clic los archivos necesarios.
Instalacin del JRE
Para instalar la Maquina Virtual de Java hacer doble click en el archivo y seguir las
instrucciones hasta finalizar.

Figura C.1. Instalacin del JRE


Fuente: [Elaboracin Propia]
Instalacin del driver del Lector de Huella
-

Doble clic sobre el archivo llamado FingerprintSDKJava2009Installer.jar, aparecer una


ventana que nos pide elegir el idioma, selecciona el que desees.

Figura C.2. Instalacin del lector de huella


Fuente: [Elaboracin Propia]

ANEXO C

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Posteriormente aparece la pantalla de bienvenida y se da clic en Siguiente, aparecen los


trminos de la licencia, los cuales se debe aceptar para poder continuar.
Nota: Es importante tener desconectado el lector de huella.

Figura C.2. Instalacin del lector de huella Continuacin


Fuente: [Elaboracin Propia]
-

Una vez hecho lo anterior se selecciona la ruta donde se instalar, aqu se dejan los
valores por defecto.

Despus de la ruta de instalacin se debe elegir los elementos que se instalarn, de igual
manera se deja todo marcado y se da clic en siguiente.

Figura C.3. Instalacin del lector de huella Continuacin


Fuente: [Elaboracin Propia]

ANEXO C

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Enchufar el lector de huella digital, seleccionar el idioma y click en ok

Figura C.4. Instalacin del lector de huella Continuacin


Fuente: [Elaboracin Propia]

Instalacin del JMF (Java Media Framework)


Hacer doble click en el archivo y seguir las instrucciones hasta finalizar.

Figura C.5. Instalacin del JMF


Fuente: [Elaboracin Propia]

ANEXO C

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Instalacin del Gestor de BD MySQL


Hacer doble click en el archivo y seguir las instrucciones hasta finalizar

Instalacin del Sistema SISCAACH


Hacer doble click en el archivo y seguir las instrucciones hasta finalizar

Figura C.7. Instalacin del SISCAACH


Fuente: [Elaboracin Propia]

ANEXO C

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Proceso de instalacin finalizada

Figura C.8. Instalacin del SISCAACH Continuacin


Fuente: [Elaboracin Propia]

ANEXO C

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

REFERENCIA TCNICA
MODELO DE REQUERIMIENTOS
Administracin de Requerimientos
El propsito de la administracin de requerimientos es organizar y documentar la
funcionalidad y restricciones requeridas por el sistema, adems de registrar posibles
modificaciones del modelo de requerimientos y decisiones que se tomarn a lo largo del
desarrollo del proyecto.
Organizacin y responsabilidades
La responsabilidad de un buen anlisis de requerimientos depende totalmente del desarrollador
del proyecto, el que se encarga de definir los diferentes roles y responsabilidades en el
desarrollo del proyecto, del cual detallaremos a continuacin cada una de de sus labores:

Efectuar el papel de analista

de sistemas siendo responsable del conjunto de

requerimientos que se vayan adquiriendo, para luego ser modelados en Casos de Uso.
Delimitar el tema encontrando actores, asegurar que el modelo de casos de uso es
completo y consistente.

Realizar el trabajo de especificador de casos de uso de esta manera poder identificar y


detallar cada uno de ellos.

Realizar el papel de arquitecto que se encarga de describir la vista de la arquitectura del


Modelo de casos de uso.

Realizar la tarea de diseador de interfaz de usuario: dar forma visual (Prototipo) a las
interfaces de usuario de los actores.

Herramientas
Las herramientas que se utilizan son:

UML (lenguaje Unificado de Modelado) para todo el Anlisis y Diseo en esta primera
fase del ciclo del producto.

Rational Rose para la elaboracin del Modelo de Casos de Uso.

Netbeans 6.1 como entorno de desarrollo

iReport como generador de reportes.

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

MySql 5.1 como gestor de datos.

Microsoft Word para el desarrollo del documento del proyecto.

La estructura de las actividades a realizar en el Modelo de Requerimientos consiste en lo


siguiente:

Elaboracin del plan de requerimientos.

Elaboracin de la visin de requerimientos.

Captura de las solicitudes de usuario

Especificacin de casos de uso

Especificacin de software

Descripcin de requerimientos no funcionales

Identificacin de Actores

Encargado de RRHH

Encargado de Horarios

Personal

Descripcin de Actores
Actores

Subsistema

Encargado de Gestin
RRHH
Kardex
personal.
Control
asistencia.

Descripcin
de Es el que interacta con
de el subsistema kardex de
personal y Control de
de Asistencia.

Responsabilidad
Registrar toda la
informacin
correspondiente
al
personal,
asignar
turnos,
emitir
informes
relacionados
al
kardex de personal y
control de asistencia

Encargado de
horarios

Generar
Horarios

Es el que interacta con Gestionar toda la


el subsistema Generar informacin
Horarios.
relacionada con la
construccin
de
horarios,
emitir
reportes de horarios
por semestre, por
docente.

Personal

Control de

Es quien interacta con Registrar su huella

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

Asistencia

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

el subsistema control de digital en el lector


Asistencia por medio del biomtrico para el
lector biomtrico
control de asistencia.

Captura de requerimientos
Requerimientos funcionales
-

Permitir la creacin, modificacin y eliminacin de usuarios del sistema.

Registro y almacenamiento de los datos del Personal Docente, incluyendo la


informacin relevante, permitiendo la edicin de manera rpida y contemplando las
siguientes subdivisiones:
Datos Personales
Experiencia laboral
Situacin Laboral

Obtener reportes a partir de los datos del personal

Registro de turnos de trabajo tomando en cuenta los horarios de clase.

Asignar turnos al personal docente.

Registro de especialidades, carreras y asignaturas.

Registrar un calendario acadmico que incluya das hbiles y no hbiles para su


consideracin posterior.

Control de Asistencia al Personal Docente de acuerdo a turnos asignados a cada


docente y con el uso de un lector biomtrico.

Generar reportes personalizados diarios y mensuales de asistencia, atrasos, faltas y


licencias por docente.

Registrar asignaturas y carga horaria a docentes.

Generar Horarios y distribuir aulas Automticamente para cada carrera de la


universidad.

Permitir la modificacin de los parmetros para la generacin de horarios.

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Permitir consultar e imprimir los horarios por semestre.

Permitir consultar e imprimir los horarios por aula.

Permitir consultar e imprimir los horarios por profesor.

Exportar los horarios generados a una hoja de clculo.

El sistema debe proveer seguridad respecto a la informacin mediante la realizacin de


copias de seguridad (backups).

Requerimientos no funcionales
-

El sistema debe funcionar con los ordenadores existentes en la institucin.

Debe existir facilidad de uso del uso del sistema, adems la interfaz debe ser amigable
al usuario final, otorgando confianza para el manejo y desempeo del mismo.

Se debe implementar un sistema de seguridad

de manejo del sistema, mediante

permisos especficos de operacin a cada usuario


-

El software debe ser robusto, es decir que no se vea afectado por manipulaciones
inadecuadas del usuario.

El software debe contar con la ayuda necesaria accesible desde el sistema.

El software debe contar con toda la documentacin necesaria de respaldo.

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Modelo de Casos de Uso


Diagrama de Casos de Uso Principal del Sistema

Gestionar
Kardex Personal

Encargado RRHH
Gestionar Asistencia

Registrar Huella
Administrador

personal
Control Asistencia

Construir Horarios
Encargado
Horarios

Gestin de Usuarios

Caso de Uso: Gestionar Usuario

<<include>>

Administrador

Gestionar Usuario

Validar Datos

Gestionar Usuarios
Descripcin General: Permite crear, eliminar, modificar usuarios que utilizan el
sistema, adems valida los datos que se ingresen del usuario.
Actor: Administrador
Precondiciones: Tener privilegios para gestionar usuarios.
Postcondiciones: Los usuarios quedan registrados y estos tendrn acceso al sistema
segn su perfil asignado.

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Flujo: Nuevo Usuario

No.

Actor

Llena los campos requeridos y


asigna un perfil al nuevo usuario.

Elige la opcin Guardar.

Sistema
Valida los datos ingresados y si existe un
error despliega un mensaje.
Almacena los datos.

3
Flujo Alternativo:

Despliega un mensaje de error, si los datos


estn duplicados o errneos.

3
2

Elige la opcin Cancelar


Sale da la pantalla.

5
Flujo: Eliminar Usuario

No.
1

Actor

Sistema

Ingresa Criterio de bsqueda


Presenta la informacin del Usuario

2
3

Selecciona al usuario y elige la


opcin eliminar.

Elige la opcin SI

Despliega una pantalla de confirmacin


del proceso de eliminacin
Elimina el registro correspondiente al
personal

5
Flujo Alternativo:

No encuentra al personal no muestra nada

2
4

Elige la opcin NO
No elimina el registro

5
Flujo: Editar Usuario

No.
1

Actor

Sistema

Ingresa Criterio de bsqueda


Presenta la informacin del Personal

2
3

Selecciona al usuario y modifica Valida los datos ingresados y si existe un


la informacin en los campos error despliega un mensaje
necesarios

Elige la opcin Editar

REFERENCIA TCNICA

Almacena los datos modificados

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
2

Si no encuentra el personal presenta un


mensaje de usuario no encontrado.

Despliega un mensaje de error, si los datos


estn duplicados o errneos.

Elige la opcin NO

No modifica los datos del personal

Subsistema Gestionar Kardex

Gestionar Situacion Laboral

<<include>>
Gestionar Experiencia Laboral

Buscar Personal

<<include>>

Consultas

<<include>>

Reportes
Gestionar Prof esiones

Gestionar Personal

Encargado RRHH

Diagrama de Casos de Uso: Gestionar Kardex Personal


Fuente: [Elaboracin propia]
Detalle de los Casos de Uso
Caso de Uso: Gestionar Personal

Gestionar Personal
Descripcin General: Permite crear, eliminar, modificar el personal de la Institucin.
Actor: Encargado de Recursos Humanos
Precondiciones: El usuario debe haberse logeado en el Sistema.
Postcondiciones: El personal queda registrado, los datos son almacenados en la Base
de Datos

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Flujo: Nuevo Personal

No.
1

Actor
Elige la opcin aadir Personal

Despliega el formulario con los campos de


informacin necesaria del personal

2
3
4

Llena los campos

Valida los datos ingresados y si existe un


error despliega un mensaje

Elige la opcin guardar


Almacena los datos

5
6

Sistema

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Despliega un mensaje de error, si los datos
estn duplicados o errneos.

5
4

Ingresa datos correctos, elige la


opcin guardar
Almacena los datos

5
4

Elige la opcin cancelar


No almacena al personal y Vuelve al flujo
1

5
Flujo: Eliminar Personal

Actor

No.
1

Ingresa Criterio de bsqueda


Presenta la informacin del Personal

2
3
4

Sistema

Elige la opcin eliminar

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin SI
Elimina el registro correspondiente al
personal

5
Flujo Alternativo:

No encuentra al personal no muestra nada

2
4

Elige la opcin NO

5
Flujo: Editar Personal

REFERENCIA TCNICA

No elimina el registro

INGENIERA DE SISTEMAS
UMRPSFXCH

Actor

No.
1

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Sistema

Ingresa Criterio de bsqueda


Presenta la informacin del Personal

2
3

Modifica la informacin en los Valida los datos ingresados y si existe un


campos necesarios
error despliega un mensaje

Elige la opcin Editar


Almacena los datos modificados

5
6

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
2

Si no encuentra el personal no muestra


nada

Despliega un mensaje de error, si los datos


estn duplicados o errneos.

Elige la opcin NO

No modifica los datos del personal

Caso de Uso: Gestionar Experiencia Laboral

Gestionar Experiencia Laboral


Descripcin General: Permite crear, eliminar y modificar los datos de experiencia
laboral del personal de la Institucin.
Actor: Encargado de Recursos Humanos
Precondiciones:
El usuario debe haberse logeado en el sistema.
El usuario debe haber seleccionado un empleado.
Postcondiciones: Los datos de experiencia laboral son almacenados en la Base de
Datos.
Flujo: Aadir datos Experiencia laboral

No.
1

Actor
Elige la opcin aadir

Despliega el formulario con los campos


de informacin necesaria.

2
3
4

Sistema

Llena los campos


Elige la opcin guardar

REFERENCIA TCNICA

Valida los datos ingresados y si existe un


error despliega un mensaje

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Almacena los datos

5
6

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.

5
4

Ingresa datos correctos, elige la


opcin guardar
Almacena los datos

5
4

Elige la opcin cancelar


Vuelve al flujo 1

5
Flujo: Eliminar Datos Experiencia Laboral

No.
1
2
3

Actor
Selecciona
eliminado.

registro

Sistema
a

ser Habilita los botones eliminar, editar, y


cancelar

Elige la opcin eliminar

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin SI
Elimina el registro seleccionado

4
Flujo Alternativo:
3

Elige la opcin NO
Regresa al formulario anterior

No elimina el registro

Flujo: Editar Datos Experiencia Laboral

No.
1
2

Actor

Sistema

Selecciona un registro a ser Habilita los botones eliminar, editar, y


eliminado.
cancelar
Elige la opcin editar

Habilita los campos para ser editados


Habilita la opcin guardar y cancelar

Modifica la informacin en los Valida los datos ingresados y si existe un


campos necesarios
error despliega un mensaje

Elige la opcin Guardar


Almacena los datos modificados

5
6

Elige la opcin cancelar

REFERENCIA TCNICA

Vuelve al flujo 1

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.

3
4

Elige la opcin NO
No modifica los datos del personal

Caso de Uso: Gestionar Situacin Laboral

Gestionar Situacin Laboral


Descripcin General: Permite crear, eliminar y modificar los datos de Situacin
Laboral del personal de la Institucin.
Actor: Encargado de Recursos Humanos
Precondiciones:
El usuario debe haberse logeado en el sistema.
El usuario debe haber seleccionado un empleado.
Postcondiciones: Los datos de experiencia laboral son almacenados en la Base de
Datos.
Flujo: Aadir datos Situacin Laboral

No.
1

Actor
Elige la opcin aadir

Despliega el formulario con los campos


de informacin necesaria.

2
3

Llena los campos


Valida los datos ingresados y si existe un
error despliega un mensaje

4
5

Elige la opcin guardar


Almacena los datos

6
7

Sistema

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
5

Ingresa datos correctos, elige la


opcin guardar

6
Flujo: Eliminar Datos Situacin Laboral

REFERENCIA TCNICA

Despliega un mensaje de error, si los


datos estn duplicados o errneos.

INGENIERA DE SISTEMAS
UMRPSFXCH

No.
1
2
3

Actor

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Sistema

Selecciona un registro a ser Habilita los botones eliminar, editar, y


eliminado.
cancelar
Elige la opcin eliminar

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin SI
Elimina el registro seleccionado

4
Flujo Alternativo:
3

Elige la opcin NO
Regresa al formulario anterior

No elimina el registro

Flujo: Editar Datos Situacin Laboral

No.
1
2
3
4
5

Actor

Selecciona un registro a ser Habilita los botones eliminar, editar, y


eliminado.
cancelar
Elige la opcin editar

Habilita los campos para ser editados


Habilita la opcin guardar y cancelar

Modifica la informacin en los Valida los datos ingresados y si existe un


campos necesarios
error despliega un mensaje
Elige la opcin Guardar

Despliega una pantalla de confirmacin


del proceso de edicin

Elige la opcin SI
Almacena los datos modificados

6
7

Sistema

Elige la opcin cancelar

Vuelve al flujo 1

Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.

3
5

Elige la opcin NO

REFERENCIA TCNICA

No modifica los datos del personal

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Caso de Uso: Gestionar Profesiones

Gestionar Profesiones
Descripcin General: Permite crear y eliminar profesiones
Actor: encargado de RRHH
Precondiciones:
El personal debe estar registrado previamente
Postcondiciones: Los datos de profesiones son almacenados en la Base de Datos y
pueden utilizarse en el registro de personal.
Flujo: Aadir Profesin

No.

Actor

El usuario elige la opcin aadir

Sistema
Habilita los campos para insertar nueva
profesin en la pantalla profesiones.

2
3

Elige la opcin guardar

Almacena los datos

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Flujo: Eliminar Profesin

No.
1
2
3

Actor
Selecciona
tabla

un registro de la Habilita la opcin eliminar registro

Elige la opcin eliminar

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin SI
Elimina el registro seleccionado

4
5

Sistema

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
3

Elige la opcin NO

REFERENCIA TCNICA

No elimina el registro

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Subsistema Control de Asistencia

<<include>>
Administrar Huellas Pin
Asignar Turnos

Buscar Personal
Gestionar Licencias

Gestionar Turnos

Consultas

Gestionar Calendario Academico

Reportes
Encargado RRHH

Diagrama de Casos de Uso: Gestionar Asistencia


Fuente: [Elaboracin propia]
Detalle de los Casos de Uso
Caso de uso: Gestionar Turnos

Gestionar Turno
Descripcin General: Permite crear, eliminar y modificar turnos de trabajo para el
personal de la Institucin.
Actor: Encargado de RRHH
Precondiciones:
El usuario debe haberse logeado en el Sistema.
El usuario debe tener privilegios para gestionar Turno.
Postcondiciones: Los Turnos de trabajo son guardados en la Base de Datos y podrn
usarse en la asignacin de turnos al personal.
Flujo: Aadir Turno

No.
1

Actor
Elige la opcin aadir Turno

Habilita los campos de informacin


necesaria para ingresar un nuevo turno.

2
3
4

Sistema

Llena los campos


Elige la opcin guardar

REFERENCIA TCNICA

Valida los datos ingresados y si existe un


error despliega un mensaje

INGENIERA DE SISTEMAS
UMRPSFXCH

Almacena los datos

5
6

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.

5
Flujo: Eliminar Turno

No.

Actor

Selecciona un registro de la tabla


turnos
Habilita la opcin eliminar registro

2
3
4

Elige la opcin eliminar

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin SI
Elimina el registro correspondiente al
personal

5
6

Sistema

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
4

Elige la opcin NO

No elimina el registro

Flujo : Editar Turnos

No.

Actor

Selecciona un registro de la tabla


turnos
Habilita la opcin editar registro

2
3
4

Elige la opcin editar

Habilita los campos con la informacin a


ser editada

Elige la opcin guardar


Almacena los datos

5
6

Sistema

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
5

REFERENCIA TCNICA

Despliega un mensaje de error, si los


datos estn duplicados o errneos.

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Caso de Uso: Asignar Turno

Asignar Turno
Descripcin General: Permite asignar turnos de trabajo al personal de la Institucin.
Actor: Encargado de RRHH
Precondiciones:
El usuario debe haberse logeado en el Sistema.
Debe existir personal registrado.
Deben existir turnos de trabajo registrados para ser asignados.
El usuario debe tener privilegios para asignar turnos.
Postcondiciones: Los Turnos asignados al personal son guardados en la Base de
Datos y podrn usarse en el control de asistencia.
Flujo: Asignar Turno

No.
1

Actor

Sistema

Elige la opcin Asignar Turno


Despliega una pantalla con la lista de
personal registrado y turnos disponibles.

2
3

Selecciona Personal.

Elige la opcin Turnos para


asignar.

Selecciona Turno

Elige
la
Asignados

opcin

Elige la opcin salir

Almacena turno asignado para el personal


seleccionado
Turnos Despliega una pantalla con la lista de
turnos asignados a personal seleccionado
Sale de la pantalla

Flujo Alternativo:

Flujo: Eliminar Turnos asignados

No.

Actor

Sistema

Selecciona Personal

Elige
la
Asignados

Selecciona el Turno Asignado

REFERENCIA TCNICA

opcin

Turnos Despliega una pantalla con la lista de


turnos asignados a personal seleccionado.

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

que desea eliminar.


4
5

Elige la opcin eliminar turno


Elige la opcin SI

Elimina el registro correspondiente al


personal

6
7

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
5

Elige la opcin NO
No elimina el registro

6
Flujo : Editar Turnos

No.

Actor

Selecciona un registro de la tabla


turnos
Habilita la opcin editar registro

2
3
4

Elige la opcin editar

Habilita los campos con la informacin a


ser editada

Elige la opcin guardar


Almacena los datos

5
6

Sistema

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.

Caso de Uso: Gestionar Calendario Acadmico

Gestionar Calendario Acadmico


Descripcin General: Permite registrar los das hbiles y no hbiles correspondientes
a una gestin acadmica
Actor: Encargado RRHH
Precondiciones:
El usuario debe haberse logeado en el Sistema.
El usuario debe tener privilegios para gestionar calendario acadmico
Postcondiciones: Los datos del calendario acadmico son almacenados en la Base de

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Datos y pueden ser utilizados en el registro de control de asistencia.


Flujo: Aadir das no hbiles

No.
1

2
3

Actor

Sistema

Elige la opcin aadir das no Despliega el formulario con los campos


hbiles.
de informacin necesaria para el registro
de das no hbiles.
Llena los campos

Valida los datos ingresados y si existe un


error despliega un mensaje

Elige la opcin guardar


Almacena los datos

4
5

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.

4
Flujo: Eliminar das no hbiles

No.
1
2
3

Actor
Selecciona
eliminado.

Sistema

registro

Elige la opcin eliminar

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin SI
Elimina los datos

4
5

ser Habilita los botones eliminar y cancelar

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
3

Elige la opcin NO
No elimina los datos

Caso de Uso: Gestionar Licencias

Gestionar Licencias
Descripcin General: Permite al encargado asignar licencias al personal de la
institucin.
Actor: Encargado RRHH
Precondiciones:

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

El usuario debe haberse logeado en el Sistema.


El usuario debe tener privilegios para gestionar licencias
Postcondiciones: Los datos de la licencia son almacenados en la Base de Datos y
pueden ser utilizados en el registro de control de asistencia.
Flujo: Aadir licencia

No.

Actor

Elige la
licencia.

Selecciona el personal

3
4
5

opcin

Sistema
gestionar Despliega una pantalla con la lista de
personal registrado y turnos disponibles.

Elige la opcin licencias

Habilita los campos con la informacin


necesaria para el tratamiento de licencias.

Llena los campos

Valida los datos ingresados y si existe un


error despliega un mensaje.

Elige la opcin asignar licencia


Almacena los datos de licencia al
personal.

6
7

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.

Flujo: Eliminar licencia

No.
1
2
3

Actor
Selecciona
eliminado.

registro

Elige la opcin eliminar

ser Habilita los botones eliminar y cancelar


Despliega una pantalla de confirmacin
del proceso de eliminacin

Elige la opcin SI
Elimina los datos

4
5

Sistema

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
3

Elige la opcin NO

REFERENCIA TCNICA

No elimina los datos

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Registrar Huella

Visualizar Datos personal

<<extend>>
<<include>>
Marcar Asistencia
<<include>>

Capturar Datos Huella Digital

Personal

Encargado RRHH

Diagrama de Casos de Uso: Control de Asistencia


Fuente: [Elaboracin propia]
Detalle de Casos de Uso
Caso de Uso: Registrar Huella

Registrar Huella y Fotografa


Descripcin General: Permite registrar la huella del personal de la institucin.
Actor:
Encargado de RRHH
Personal
Precondiciones:
Debe estar conectado el dispositivo lector de huella.
Debe estar conectada la cmara web.
El personal debe estar registrado en la base de datos
El encargado de RRHH debe estar logeado en el sistema.
El dedo del personal debe estar en condiciones ptimas para evitar errores de captura
de la huella digital.
Postcondiciones: Los datos de huella digital y fotografa quedan almacenados en la
Base de Datos.

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Flujo: Registrar huella digital y fotografa

No.

Actor

Sistema

El encargado de RRHH habilita Indica que esta en modo insercin


la opcin insertar datos.

El Personal imprime su huella Visualiza la plantilla de la huella digital


digital en el lector biomtrico.
del personal.

El sistema pide el nmero de CI del


personal al que corresponde la Huella
Digital
Si el CI introducido existe visualiza la
fotografa de la persona

Si no encuentra el CI despliega un
mensaje de Personal no encontrado
verifique sus datos

Elige la opcin guardar huella

El encargado de RRHH elige la


opcin aceptar
Guarda la huella en la Base de datos.

7
8

Deshabilita
registrar

la

opcin

modo Coloca la ventana en modo controlar


asistencia.

Flujo Alternativo:
6

El encargado de RRHH elige la


opcin cancelar.

Despliega un mensaje de erro en caso de


no encontrar el CI introducido
permitiendo modificar el mismo

No guarda la huella y fotografa

Caso de Uso Capturar Huella

Capturar Huella
Descripcin General: El sistema captura los datos generados por el lector de huellas
cuando el personal imprime su huella digital en el lector biomtrico.
Actor:
Personal
Precondiciones:

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Debe estar conectado el dispositivo lector de huella.


El dedo del personal debe estar en condiciones ptimas para evitar errores de captura
de la huella digital.
Postcondiciones: Los datos de huella digital y fotografa quedan almacenados en la
Base de Datos.
Flujo: imprimir huella digital

No.
1

Actor

Sistema

El personal imprime su huella Visualiza la plantilla de la huella digital


digital en el lector biomtrico.
del personal.

Flujo Alternativo:

Caso de uso: Marcar Asistencia

Marcar Asistencia
Descripcin General: Permite al personal registrar su hora de entrada y salida
Actor: Personal
Precondiciones:
El personal debe estar registrado previamente
El personal debe tener turnos asignados
El personal debe tener su registro de huella digital almacenado
Postcondiciones: Los datos de asistencia del personal son almacenados en la Base de
Datos.
Flujo: Marcar Asistencia

No.

Actor

El usuario imprime su huella


digital en el lector biomtrico.

Sistema

Visualiza la fotografa, la imagen de la


huella digital, nombre, la fecha y hora del
registro de asistencia.

Verifica si tiene turnos asignados en esa


fecha.

Verifica que sea da hbil, si tiene


licencias, etc.

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Guarda los datos relacionados a la


asistencia del personal.

5
Flujo Alternativo:
2

Visualiza un mensaje de personal no


encontrado en caso de no identificar la
huella digital

Visualiza mensaje en caso de no tener


turnos asignados, no guarda datos.

Visualiza mensaje de da no hbil, no


guardo los datos.

No guarda los datos de asistencia.

Subsistema Construir Horarios

Gestionar Aulas
Gestionar Periodos

Ejecutar Algoritmo

<<include>>

<<include>>

<<include>>

<<extend>>
Conf igurar Horarios

parametros algoritmo

Reportes

Gestionar Asignaturas

Exportar Horarios

Gestionar Carreras
Encargado
Horarios

Diagrama de Casos de Uso: Construir Horarios


Fuente: [Elaboracin propia]
Detalle de Casos de Uso
Caso de Uso: Gestionar Carreras

Gestionar Carreras
Descripcin General: Permite crear y eliminar Carreras
Actor: Encargado de Horarios
Precondiciones:

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

El usuario debe haberse logeado en el Sistema.


El usuario debe tener privilegios para registrar carrera.
Postcondiciones: Los datos de las carreras son almacenados en la Base de Datos y
pueden utilizarse en la generacin de horarios
Flujo: Aadir Carrera

No.

Actor

Sistema

El usuario elige la opcin aadir


Habilita los campos para insertar nueva
carrera en la pantalla carreras.

2
3

Elige la opcin guardar

Almacena los datos

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Flujo: Eliminar Carrera

No.
1
2
3

Actor
Selecciona
tabla

Sistema

un registro de la Habilita la opcin eliminar registro

Elige la opcin eliminar


Elige la opcin SI

Elimina el registro seleccionado

4
5

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
3

Elige la opcin NO
No elimina el registro

Caso de Uso: Gestionar Asignaturas

Gestionar Asignaturas
Descripcin General: Permite crear y eliminar Asignaturas
Actor: Encargado de Horarios
Precondiciones:
El usuario debe haberse logeado en el Sistema.

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

El usuario debe tener privilegios para registrar asignaturas.


Postcondiciones: Los datos de las asignaturas son almacenados en la Base de Datos
y pueden utilizarse en la generacin de horarios
Flujo: Aadir Asignaturas

No.

Actor

Sistema

El usuario elige la opcin aadir


Habilita los campos para insertar nueva
asignatura en la pantalla asignaturas.

2
3

Elige la opcin guardar

Almacena los datos

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Flujo: Eliminar Asignatura

No.
1
2
3

Actor
Selecciona
tabla

Sistema

un registro de la Habilita la opcin eliminar registro

Elige la opcin eliminar


Elige la opcin SI

Elimina el registro seleccionado

4
5

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
3

Elige la opcin NO
No elimina el registro

Caso de uso: Gestionar Periodos

Gestionar Periodos
Descripcin General: Permite crear y eliminar Periodos
Actor: Encargado de Horarios
Precondiciones:
El usuario debe haberse logeado en el Sistema.
El usuario debe tener privilegios para registrar periodos.

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Postcondiciones: Los datos de los periodos son almacenados en la Base de Datos y


pueden utilizarse en la generacin de horarios.
Flujo: Aadir Periodos

No.

Actor

Sistema

El usuario elige la opcin aadir


Habilita los campos para insertar nueva
asignatura en la pantalla asignaturas.

2
3

Elige la opcin guardar

Almacena los datos

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Flujo: Eliminar Periodos

No.
1
2
3

Actor
Selecciona
tabla

un registro de la Habilita la opcin eliminar registro

Elige la opcin eliminar

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin SI
Elimina el registro seleccionado

4
5

Sistema

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
3

Elige la opcin NO

No elimina el registro

Caso de Uso: Gestionar Aula

Gestionar Aula
Descripcin General: Permite crear y eliminar Aulas
Actor: Encargado de Horarios
Precondiciones:
El usuario debe haberse logeado en el Sistema.
El usuario debe tener privilegios para registrar Aulas

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Postcondiciones: Los datos de las Aulas son almacenados en la Base de Datos y


pueden utilizarse en la generacin de horarios.
Flujo: Aadir Aulas

No.

Actor

Sistema

El usuario elige la opcin aadir


Habilita los campos para insertar nueva
asignatura en la pantalla asignaturas.

2
3

Elige la opcin guardar

Almacena los datos

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
Flujo: Eliminar Aulas

No.
1
2
3

Actor
Selecciona
tabla

Sistema

un registro de la Habilita la opcin eliminar registro

Elige la opcin eliminar


Elige la opcin SI

Elimina el registro seleccionado

4
5

Despliega una pantalla de confirmacin


del proceso de eliminacin

Elige la opcin cerrar

Sale de la pantalla

Flujo Alternativo:
3

Elige la opcin NO
No elimina el registro

Caso de Uso: Configurar Horario

Configurar Horario
Descripcin General: Permite configurar los datos para la generacin de horarios
para una determinada carrera.
Actor: Encargado de Horarios
Precondiciones:
El usuario debe haberse logeado en el Sistema.
El usuario debe tener privilegios para configurar datos de horarios

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Postcondiciones: Los datos configurados sern utilizados en la generacin de


horarios.
Flujo: Datos Carrera

No.

Actor

El usuario elige la opcin datos


Carrera
Despliega una pantalla con los campos
habilitados para configurar los datos del
horario a generar

Selecciona la carrera par la cual


se quiere generar el horario

Selecciona el Turno en el que se


dicta la carrera.

Elige la opcin Aceptar

Elige la opcin paralelos


7

Selecciona la asignatura que


tiene paralelo

Selecciona el docente para esa


asignatura

11

Despliega una lista con todas las


asignaturas correspondientes a la carrera
seleccionada.

10

Sistema

Despliega una lista con todas las


asignaturas para poder elegir cuales de
ellas tienen paralelos

Elige la opcin adicionar

Adiciona a la lista que contiene las


asignaturas para generar horarios

Elige la opcin Aulas

Despliega una lista con todas las aulas


disponibles.

12

Selecciona
las
aulas
que
participaran en la generacin de
aulas

13

Elige la opcin Parmetros del Despliega una ventana con los campos y
Algoritmo
la informacin necesaria para ejecutar el
algoritmo generador de horarios

14

Introduce los parmetros para el


algoritmo

15

Elige la opcin generar horarios

REFERENCIA TCNICA

Ejecuta el algoritmo gentico para la


generacin de horarios

INGENIERA DE SISTEMAS
UMRPSFXCH

16
17
18
19
20

Elige
la
generados

opcin

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

horarios Visualiza una ventana con las opciones


para mostrar los horarios generados

Elige la opcin por semestre

Visualiza una ventana con los horarios


generados por semestre

Elige la opcin por docente

Despliega una lista de docentes

Selecciona docente

Visualiza una ventana con los horarios


del docente

Elige la opcin cerrar

Sale de la ventana

Flujo Alternativo:

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Diagramas de secuencia
Gestionar Usuario

: Principal

: Administrador

: VUsuarios

: UsuariosDao

: Usuario

1: ingresar()
2. abrir()

3: registrarNuevo Usuario()
4: introducirDatos()
5: validar()

6: guardarUsuario()

7: retornarProceso()

8: eliminarUsuario()
9: seleccionarUsuario()

10: eliminar()

11: confirmarProceso()
12: salir()

Diagrama de Secuencia: Gestionar Usuario


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Subsistema Gestionar Kardex


Datos Personales

: Encargado RRHH

: Principal

: Gestionar Personal

: Buscar

: PersonalDao

: Persona

1: abri r()
2: abri r( )
3: Aadir Personal( )
4: Verifi car Datos( )

5: Aadir Personal( )
6: ok( )
7: Confi rmar Proceso( )

8: mostrar()
9: parametros( )

12: Mostrar Personal( )

10: Buscar Personal( )

11: retornar Personal ( )

13: eli minar()


14: eli minaPersonal()
15: confirmarEli minar

16: actualizar()
17: validarDatos()

18: actualizarPersonal
19: confirmarActual izar()
20: salir()

Diagrama de Secuencia: Datos Personales


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Experiencia Laboral

: Encargado
RRHH

: Kardex

1: abrir()

: Buscar

2: buscar()

: PersonalDao

: VExperienciaLab

: ExperienciaLaboralDao

: ExperienciaLabora

3: buscarPersonal()
4: retornaPersonal()

5: insertarExpLab()

6: insertarDatos()

7: validar()

8: guardarDatos()
9: confirmarProceso()
10: eliminarExpLab()
11: seleccionar()

12: eliminar()

13: confirmarEliminar
14: actualizarExpLab
15: seleccionarExpLab

16: actualizar()

17: confirmarActualizar()
18: salir()

Diagrama de Secuencia: Experiencia Laboral


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Situacin Laboral

: Encargado
RRHH

: Kardex
1. abrir()

: Buscar

2: buscar()

: PersonalDao

: VSituacionLab

: SituacionLaboralDao

: Situacionlaboral

3:buscarPersonal
4: retornaPersonal()

5: insertarSitLab()

6: insertarDatos()
7: validar()

8: guardarDatos()
9: confirmarProceso
10: eliminarSitLab()

11: seleccionar()
12: eliminar()
13: confirmarEliminar()

14: actualizarSitLab()

15: seleccionarSitLab()

16: actualizar()
17: confirmarActualizar()
18: salir()

Diagrama de Secuencia: Situacin Laboral


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Subsistema Control Asistencia


Gestionar Turnos.-

: Encargado
RRHH

: Principal

: AdministrarAsistencia

1: ingresar()

2: abrir()

: VTurnos

: Turnoss

: TurnosDao

3: abrir()

4: registrarNuevoTurno()
5: llenarDatos()
6: validar()

7: guardarTurno()
8: confirmarProceso

9: eliminarTurno()

10: seleccionarTurno()
11: eliminarTurno(id Turno)
12: confirmarProceso()

13: salir()

Diagrama de Secuencia: Gestionar Turnos


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Asignar turnos

: Encargado
RRHH

: Principal

: AdministrarAsi stencia

: VPersonal

: VTurnos

: VTurnosAsi gnados

: PersonalTurnosDao : Personalturnos

1: ingresar()
2: abrir()
3: abrir()

4: seleccionarPersonal()
5. selecci onarTurnos()

6: asignarTurnos()

9: salir()

Diagrama de Secuencia: Asignar Turnos


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

7: asignar()

8:turnosAsignados()

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Gestionar Licencias

: Encargado
RRHH

: Principal

1. ingresar()

: AdministrarAsistencia

: VLicencias

: LicenciaDao

: Licencia

2:abrir()
3: abrir()

4: introducirIDPersonal()
5: idPersonal()
6: verificar()
7: mostrarDatosPersonales()

8: registrarLicencia()

9: registrar()

10: mostrarLicencia()

11: seleccionarLicencia()
12: eliminarLicencia(id lic)

13: eliminar()
14: confirmarProceso()

15: salir()

Diagrama de Secuencia: Gestionar Licencias


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Registrar Huella

: Principal

: Encargado
RRHH

: VControlAsistenci a

: Persona

: PersonalDao

1: ingresar()
2: abrir()

3: activarModoInsercion()
4: capturarHuella()
5: buscarFotografia()
6: registrarHF()
7. vali dar()

8: registrar()
9: confirmarProceso()

10: desactivarModoInsercion()

Diagrama de Secuencia: Registrar Huella


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Marcar Asistencia

: Perssonal

: VControlAsistencia

: AsistenciaDao

: Asisstencia

1: registrarHuella()
2. enviarDatos()
3: validar()

4: registrarAsistencia()

5: visualizarDatosAsistencia

Diagrama de Secuencia: Marcar Asistencia


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Subsistema Construir Horarios


Gestionar Asignaturas

: Encargado
Horarios

: Principal

: VGestionarHorarios

: VAsignaturas

: AsignaturasDao

: Asignatura

1: ingresar()
2: abrir()

3: abrir()

4: registrarNuevaAsig()

5: llenarDatos()
6: valirdar()

7: guardarDatos
8: eliminarAsignaturas()

9: seleccionarAsignatura()
10: eliminarAsignatura()
11: confirmarEliminar()
12: actualizarAsignatura()
13: modificarDatos()
14. validar()

15. actualizarAsignatura()

16: confirmarActualizar()
17: salir()

Diagrama de Secuencia: Gestionar Asignaturas


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Construir horarios

: Encargado
Horarios

: Principal

1. ingresar()

: VConstruirHorarios

: VParametrosHorario

: VParametrosAlgoritmo

: AlgoritmoGenetico

: VHorarios

2: abrir()

3: parametrosHorario()
4: parametrosAlgoritmo()

5: ejecutarAlgoritmo()
6: validar()

7: mostrarHorariosConstruir()

8: salir()

Diagrama de Secuencia: Construir Horarios


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Diagramas de Colaboracin
Gestionar Usuario

1: ingresar()

: Administrador

3: registrarNuevoUsuario()
8: eliminarUsuario()

: Principal
12: salir()

2: abrir()

: VUsuarios
7: retornarProceso()
11: confirmarProceso()

5: validar()

4: introducirDatos()
9: seleccionarDatos()

6: guardarUsuario()
10: eliminar()

: Usuario

: UsuariosDao

Diagrama de Colaboracin: Gestionar Usuarios


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Subsistema Gestionar kardex


Datos Personales

1: abrir()

3: aadirPersonal()
13: eliminar()
16: actualizar()

2: abrir()

: Encargado RRHH

20: salir()

: Principal

: Gestionar Personal

8: mostrar()
7: confirmarProceso()
12: mostrarPersonal()
9: parametros()

: Buscar

4: verificarDatos()
17: validarDatos()

15: confirmarEliminar()
19: confirmarActualizar()

6: ok()
11: retornarPersonal()

: Persona

5: aaadirPersona
10: buscarPersonal()
14: eliminarPersona()
18: actualizarPersonal()

Diagrama de Colaboracin: Datos Personales


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

: PersonalDao

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Experiencia Laboral

1: abrir()

3: buscarPersonal()

2: buscar()

: Kardex

: Encargado
RRHH

: Buscar
7: validar()
4: retornarPersoanl()

5: insertarExpLab()
10: eliminarExpLab()
14: actualizarExpLab()

18: salir()

6: insertarDatos()
11: seleccionar()
15: seleccionarExpLab( )

: PersonalDao
8: guardarDatos()
: ExperienciaLaboralDao12: eliminar()
16: actualizar()

9: confirmarProceso()
13: confirmarEliminar()
17: confirmarActualizar()

: VExperienciaLab

Diagrama de Colaboracin: Experiencia Laboral


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

: ExperienciaLabora

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Situacin Laboral

1: abrir()

3: buscarPersonal()

2: buscar()

: Kardex

: Encargado
RRHH

: Buscar
4: retornarPersonal()

5: insertarSitLab()
10: eliminarSitLab()
14: actualizarSitLab()

7: validar()

18: salir()

6: insertarDatos()
11: seleccionar()
15: seleccionarSitLab()

: VSituacionLab

: PersonalDao

: SituacionLaboralDao

8: guardarDatos()
12: eliminar()
16: actualizar()

9: confirmarProceso()
13: confirmarEliminar()
17: confirmarActualizar()

Diagrama de Colaboracin: Situacin Laboral


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

: Situacionlaboral

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Subsistema Control de Asistencia


Gestionar Turnos

2: abrir()

1: ingresar()

: Encargado
RRHH

4: registrarNuevoTurno()
9: eliminarTurno()

: Principal

13: salir()

8: confirmarProceso()
12: confirmarEliminar()

: Turnoss

: VTurnos

: GestionarAsistencia

3: abrir()

5: llenarDatos()
10: seleccionarTurno()

7: guardarTurno()
11: eliminarTurno(idTurno)

Diagrama de Colaboracin: Gestionar Turnos


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

6: validar()

: TurnosDao

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Asignar Turnos

2: abrir()

1: ingresar()

: Principal

: Encargado
RRHH

9: salir()

4: seleccionarPersonal()

: GestionarAsistencia

3: abrir()

5: seleccionarTurnos()

: VTurnosAsignados

: VTurnos

: VPersonal

6: asignarTurnos()
8: turnosAsignados()

7: asignar()
: Personalturnos

Diagrama de Colaboracin: Asignar Turnos


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

: PersonalTurnosDao

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Gestionar Licencias

2: abrir()

1: ingresar()

: Principal

: Encargado
RRHH

: GestionarAsistencia

4: intrudicirIDPersonal()
11: seleccionarLicencia()
6: verificar()

15: salir()

3: abrir()
5: idPersonal()
8: registrarLicencia()
12: eliminarLicencia(id lic)

7: mostrarDatosPersonales()
: VLicencias

: LicenciaDao

9: registrar()
13: eliminarLic()
10: mostrarLicencia()
14: confirmarProceso()

: Licencia

Diagrama de Colaboracin: Gestionar Licencias


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Registrar Huella

1: ingresar()

: Principal

: Encargado
RRHH

3: activarM odoInsercion()
4: capturarHuella( )
5: buscarFotografia( )
10: desactivarModoInsercion( )

2: abrir()

7: validar()

6: registrarHF()

: VControlAsistencia

: PersonalDao

8: registrar()

9: confirmarProceso()

: Persona

Diagrama de Colaboracin: Registrar Huella


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Marcar Asistencia

3: validar()

1: registrarHuella()

2: enivarDatos()

: VControlAsistencia

: Perssonal

: AsistenciaDao

5: visualizarDatosAsistencia()
4: registrarAsistencia()

: Asisstencia

Diagrama de Colaboracin: Marcar Asistencia


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Subsistema Construir Horarios


Gestionar Asignaturas

2: abrir()

1: ingresar()

: Principal

: Encargado
Horarios

4: registrarNuevaAsig
8: eliminarAsignaturas()
12: actualizarAsignatura()

: VGestionarHorarios

17: salir()
3: abrir()

: VAsignaturas
6: validar()
14: validar()
5: llenarDatos()
9: seleccionarAsignatura()
13: modificarDatos()

11: confirmarEliminar()
16: confirmarActualizar( )
7: guardarDatos()
10: eliminarAsignatura()
15: actualizarAsignaturas( )

: Asignatura

: AsignaturasDao

Diagrama de Colaboracin: Gestionar Asignaturas


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Construir Horarios
2: abrir()

1: ingresar()

: Principal

: Encargado
Horarios

: VConstruirHorarios

3: parametrosHorario()

4: parametrosAlgoritmo()

: VParametrosHorario

8: salir()

6: validar()

7: mostrarHorariosConstruidos()
5: ejecutarAlgoritmo()

: VParametrosAlgoritmo

: AlgoritmoGenetico

Diagrama de Colaboracin: Construir Horarios


Fuente: [Elaboracin propia]

REFERENCIA TCNICA

: VHorarios

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Proceso de pruebas
Pruebas de Unidad
Prueba Ingresar al Sistema

Datos de prueba

Titulo: Ingresar al Sistema


Tipo de prueba: Prueba de unidad
Tcnica de prueba: Caja Blanca
Responsable: Proyectista
la Verificar el ingreso al sistema con usuarios registrados

Objetivo
de
prueba
Nombre de usuario y contrasea
Datos de entrada
Procedimiento de prueba:
Introducir el nombre de usuario en el campo Usuario
Introducir la contrasea en el campo contrasea
Clic en el botn aceptar
Ninguno.
Problemas

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Prueba Gestionar Kardex


Titulo: Kardex de Personal
Tipo de prueba: Prueba de unidad
Datos de prueba
Tcnica de prueba: Caja Blanca
Responsable: Proyectista
Objetivo
de
la Comprobar el funcionamiento y desempeo de la gestin de
kardex de personal.
prueba
Datos personales del empleado
Datos de entrada
Procedimiento de prueba:
- Ingresar nuevo personal:
Elegir la opcin Aadir personal
Ingresar todos los datos en los campos del formulario
Elegir la opcin guardar
- Actualizar personal
El personal debe estar seleccionado
Clic en el botn Editar
Modificar los datos necesarios
Clic en el botn Guardar.
- Eliminar personal
El personal debe estar seleccionado
Clic en el botn Eliminar
El campo C.I. de personal y email no estn validados.
Problemas
Los campos de tipo Date no se guardan en la base de datos
Solucin

Implementar un mtodo de validacin para los campos CI y


email
Dar formato a todos los campos de tipo Date al formato
requerido

Prueba Control de Asistencia


Titulo: Control de Asistencia
Tipo de prueba: Prueba de unidad
Datos de prueba
Tcnica de prueba: Caja Blanca
Responsable: Proyectista
Objetivo
de
la Comprobar el funcionamiento del mdulo control de
asistencia del personal.
prueba
Huella Digital del personal
Datos de entrada
Procedimiento de prueba:
Imprimir huella digital:
Problemas

REFERENCIA TCNICA

1. Al colocar el dedo en el lector de huella digital no se


conecta con la base de datos
2. No marca la hora de registro entrada en el turno asignado

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

3. No controla el tiempo de atraso y abandonos


Solucin

Conclusiones

1. Revisar la conexin a la base de datos a travs de la


Unidad de Persistencia.
2. Implementar un mdulo que permita tratar fechas y horas
3.
El entity manager que llama a la unidad de persistencia y
realize la conexin a la base de datos es un mtodo esttico
y el mtodo que lo invoca tambin debe ser esttico

Prueba Gestionar Turnos


Titulo: Gestionar Turnos
Tipo de prueba: Prueba de unidad
Datos de prueba
Tcnica de prueba: Caja Blanca
Responsable: Proyectista
Objetivo
de
la Comprobar el funcionamiento de la gestin de turnos
prueba
Datos relacionados a los turnos
Datos de entrada
Procedimiento de prueba:
- Aadir nuevo turno:
Elegir la opcin Aadir turnos
Ingresar todos los datos en los campos del formulario
Elegir la opcin guardar
- Eliminar turno
El turno debe estar seleccionado
Clic en el botn Eliminar
Los campos que requieren formato de hora no estn
Problemas
validados y al procesar no guarda en la base de datos.
Implementar un mtodo de validacin para campos Time
Solucin

Prueba Gestionar Asignar Turnos


Titulo: Asignar Turnos
Tipo de prueba: Prueba de unidad
Datos de prueba
Tcnica de prueba: Caja Blanca
Responsable: Proyectista
Objetivo
de
la Comprobar el funcionamiento de la asignacin de turnos
prueba
Seleccionar turnos registrados
Datos de entrada
Procedimiento de prueba:
- Seleccionar Personal:
Clic en la Tabla para seleccionar personal
- Seleccionar turno a asignar

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Clic en el turno a asignar


Clic en el botn Asignar turno
- Ver turnos asignados a personal
Clic en la pestaa turnos asignados al personal
Ninguna
Problemas
Ninguna
Solucin

Prueba Gestin de Licencias


Titulo: Gestin de Licencias
Tipo de prueba: Prueba de unidad
Datos de prueba
Tcnica de prueba: Caja Blanca
Responsable: Proyectista
Objetivo
de
la Comprobar el funcionamiento de la Gestin de Licencias
prueba
Segn criterio de bsqueda (Ci o Apellido)
Datos de entrada
Procedimiento de prueba:
- Buscar personal
Clic en criterio de busca para seleccionar personal
Introducir dato de bsqueda (CI o Apellido paterno)
- Aadir permiso
Clic en el botn nuevo
Llenar datos en todos los campos del formulario
Clic en el botn guardar permiso
- Eliminar permiso
Clic en el permiso a eliminar
Clic en el botn eliminar permiso
- Aadir licencia
Clic en el botn nuevo
Llenar datos en todos los campos del formulario
Clic en el botn guardar licencia
- Eliminar licencia
Clic en la licencia a eliminar
Clic en el botn eliminar licencia
Problemas
Solucin

REFERENCIA TCNICA

No verifica que el personal seleccionado tenga licencia y


permiso la misma fecha
Revisar cdigo y restringir la asignacin de permisos y
licencias en la misma fecha

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Prueba Generar Horarios


Titulo: Generar Horarios
Tipo de prueba: Prueba de unidad
Datos de prueba
Tcnica de prueba: Caja Blanca
Responsable: Proyectista
Objetivo
de
la Comprobar el funcionamiento de la Construccin de
horarios
prueba
Datos para la construccin de horarios
Datos de entrada
Procedimiento de prueba:
- Datos Generales
Seleccionar carrera para la cual se quiere construir el horario
Seleccionar aulas que participarn en la construccin del horario
Seleccionar los turnos que requiere el horario para su construccin
- Datos parmetros Algoritmos Genticos
Introducir tamao de poblacin
Introducir nmero de generaciones
Introducir probabilidad de cruce
Introducir probabilidad de mutacin
- Construir horario
Clic en el botn Generar Horarios
- Ajustar horario construido
Seleccionar asignatura de la lista de asignaturas en conflicto
Seleccionar aula, da y periodo disponible.
Problemas

Error al construir los horarios por que le falta parmetros o


cuando no es posible construir el horario debido a la falta
de aulas o el nmero de asignaturas con carga horaria es
mayor que el nmero de periodos seleccionados

Solucin

Implementar un mtodo que permita verificar los datos para


la construccin de horarios y los parmetros del algoritmo
gentico.

Pruebas de Integracin
Pruebas encargadas de testear el funcionamiento y la estructura de los mdulos o subsistemas
en su conjunto.
Prueba Gestin de usuarios

Datos de prueba

REFERENCIA TCNICA

Titulo: Mdulo de gestin de usuarios


Tipo de prueba: Prueba de integracin
Tcnica de prueba: Caja Blanca y de caja negra

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Responsable: Proyectista
Objetivo
de
la Verificar si la creacin de usuarios, y la asignacin de tareas
a los usuarios en funcin a sus niveles de acceso es correcta,
prueba
comprobndose tal hecho iniciando sesiones con diferentes
cuentas de usuarios
Nombre de usuario y contrasea
Datos de entrada
Procedimiento de prueba:
- Ingresar Nombre de Usuario
- Ingresar Contrasea
- Verificar que el men asignado corresponda a las tareas asignados a dicho
usuario.
Problemas
Conclusin

Ningn problema identificado


Al haberse hecho las revisiones y correcciones necesarias al
cdigo durante las pruebas de unidad no se tuvieron
inconvenientes en esta etapa de pruebas.

Prueba de Integracin: Gestin Kardex de Personal


Titulo: Mdulo Gestin Kardex de Personal
Tipo de prueba: Prueba de integracin
Datos de prueba
Tcnica de prueba: Caja Blanca y de caja negra
Responsable: Proyectista
Objetivo
de
la Verificar si los datos del personal registrado son accesibles
desde otros formularios que tienen relacin con el personal
prueba
y son persistidos en la Base de datos de manera correcta.
Datos del personal
Datos de entrada
Procedimiento de prueba:
- Ingresar nuevo personal
- Registrar Experiencia Laboral
- Registrar Situacin Laboral
Problemas
Conclusin

Ningn problema identificado


Al haberse hecho las revisiones y correcciones necesarias al
cdigo durante las pruebas de unidad no se tuvieron
inconvenientes en esta etapa de pruebas.

Prueba de Integracin: Construir Horarios


Titulo: Mdulo Construir Horarios
Tipo de prueba: Prueba de integracin
Datos de prueba
Tcnica de prueba: Caja Blanca y de caja negra
Responsable: Proyectista
Objetivo
de
la Verificar que todas las asignaturas que participarn en la

REFERENCIA TCNICA

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

construccin de horarios estn presentes en el Horario


Construido
Datos para la construccin de los Horarios (Asignaturas,
Datos de entrada
periodos, aulas
Procedimiento de prueba:
- Seleccionar Carrera para construir el horario.
- Seleccionar Aulas que participarn en el horario
- Elegir los perodos disponibles para construir el horario
- Introducir los parmetros del algoritmo gentico
- Clic en Construir horarios
prueba

Problemas

Solucin

REFERENCIA TCNICA

No todas las asignaturas aparecen en el horario construido


Error cuando el nmero de aulas por el numero de periodos
es menos al nmero de asignaturas
Revisar el cdigo del Algoritmo Gentico
Implementar un mtodo para revisar los parmetros de
ejecucin del algoritmo gentico

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

DICCIONARIO DE DATOS
Diccionario de Datos
Un diccionario de datos es una descripcin detallada de todos los datos utilizados en la Base
de Datos.
Tabla Asignaturas
Atributos
id_asig
cod_asig
nombre_asig
semestre
carga_horaria
carrera
docente
nivel

Tipo de Dato
Integer NOT NULL
String
String
String
String
String
String
String

Tabla Asistencia
Atributos
id_asis
ci
fecha
id_turno
nombre_turno
entrada
salida
atraso
observaciones

Tipo de Dato
Integer NOT NULL
String
Date
Integer
String
Time
Time
Time
String

Tabla Aula
Atributos
id_aula
bloque
descripcin

REFERENCIA TCNICA

Tipo de Dato
String NOT NULL
String
String

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Tabla AulaAsignada
Atributos
idAulaAsig
nivel
carrera
Semestre

Tipo de Dato
INT NOT NULL
String
String
String

Tabla Calendario
Atributos
fecha
descripcion

Tipo de Dato
Date NOT NULL
String

Tabla Carrera
Atributos
id_carrera
nombre_carrera
Nivel

Tipo de Dato
Integer NOT NULL
String
String

Tabla ExperienciaLaboral
Atributos
idel
lugarTrabajo
institucion
cargo
fecha_ingreso
fecha_retiro
ci

Tipo de Dato
Integer NOT NULL
String
String
String
Date
Date
String

Tabla Licencia
Atributos
id_licencia
ci
desde
hasta
motivo_licencia

REFERENCIA TCNICA

Tipo de Dato
Integer NOT NULL
String
Date
Date
String

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Tabla Permisos
Atributos
id_permisos
ci
fecha
nombre_turno
Motivo

Tipo de Dato
Integer NOT NULL
String
Date
String
String

Tabla Personal
Atributos
ci
paterno
materno
nombres
sexo
fechaNacimiento
grupoSanguineo
lugarNacimiento
nivelEstudio
estadoCivil
aniosServicio
categora
rda
numeroHijos
direccion
telefono
email
fotografia
tipoMarca
huella
pin
Profesiones

Tipo de Dato
String NOT NULL
String
String
String
String
Date
String
String
String
String
Integer
String
String
Integer
String
String
String
Blob
Boolean
Blob
String
String

Tabla Profesiones
Atributos
cod_prof
nombre_profesion

REFERENCIA TCNICA

Tipo de Dato
Integer NOT NULL
String

INGENIERA DE SISTEMAS
UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Tabla situacionLaboral
Atributos
idsl
ci
cargo
desde
hasta
item
observaciones
tipoContrato
situacionLab
cargodocente

Tipo de Dato
Integer NOT NULL
String
String
Date
Date
String
String
String
String
String

Tabla Turnos
Atributos
id_turno
dia
nombre_turno
hora_entrada
hora_salida
entrada_minima
entrada_max
salida_min
Salida_max

Tipo de Dato
Integer NOT NULL
String
String
Time
Time
Time
Time
Time
Time

Tabla usuarios
Atributos
idusuario
ci_usuario
apellido_nombre
nombre_usuario
contrasena
tipo_usuario
nivel_acceso

Tipo de Dato
Integer NOT NULL
String
String
String
String
String
Integer

Tabla horario
Atributos
Id
Nombre

REFERENCIA TCNICA

Tipo de Dato
Integer NOT NULL
String

INGENIERA DE SISTEMAS
UMRPSFXCH

horarioCreado
carrera
docente
nivel

REFERENCIA TCNICA

SISTEMA DE CONTROL DE ASISTENCIA Y


APOYO A LA CONSTRUCCION DE HORARIOS
DE LA UPNMS

Blob
String
String
String

Vous aimerez peut-être aussi