Está en la página 1de 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 Asesora : : Morales Vargas Edwin Javier 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. 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

Todos estos recursos informticos han sido proporcionados por el

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

SE EMPLEA

TCNICAS METAHEURSTIC AS

SISTEMA CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS


SE ELIGE

TECNICAS DE BIOMETRIA

PARADIGMA O. O. METODOLOGA CICLO DE VIDA BD S. O.

HERRAMIENTAS

ENT. DE PROG

PROCESO UNIFICADO

ITERATIVO INCREMENTAL

MY SQL 5.1.31

WINDOWS XP

NETBEANS 6.0.1

LENGUAJES

MAPEO OBJETO RELACIONAL

DOC.

HERR. CASE

(Modelado) UML

(Programacin)

CON

JAVA

MICROSOFT WORD

JPA

RATIONAL ROSE

Figura 1.1. Abordaje de solucin del problema Fuente : Elaboracin propia

-6CAPITULO I: Abordaje de solucin del problema

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

1.4.

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

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

1.5.

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

Horarios
aceptables

n o 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
Ojo Iris
Fiabilidad Facilidad uso de

Muy alta Media Muy alta Media Alta Ambas -

Ojo Retina Muy alta Baja Muy alta Media Alta Ambas -

Huellas dactilares Alta Alta Alta Alta Alta Ambas ANSI/NI ST Suciedad, heridas, Asperezas

Geometra de la Mano Alta Alta Alta Alta Media Autenticacin Artritis, Reumatismo .

Escritura Firma Alta Alta Media Muy alta Media Ambas Firmas fciles o cambiantes

Voz Alta Alta Media Alta Media Autentica cin SVAPI Ruido, resfriados ..

Prevencin de ataques Aceptacin Estabilidad Identificacin y Autenticacin Estndares Interferencias

Gafas
Utilizacin

Irritaciones Instalacion es nucleares, servicios mdicos, centros penitenciari os

Instalaciones nucleares, servicios mdicos, centros penitenciario s

Polica, Industria, Control de personal

General

Industrial

Accesos remotos en bancos o bases de datos

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 Reader [29]

USB Fingerprint

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 Resolucin

: :

ptico 512 DPI

Tamao de imagen: 355 x 390 pixeles Color Conexin : : 256 Levels grayscale USB 1.0., 1.1, 2.0 Windows Vista/XP/2003/2000 y Linux

SO Soportados

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

GUIADAS

NO GUIADAS

BSQUEDA TAB

RECOCIDO SIMULADO

ALGORITMOS EVOLUTIVOS

REDES NEURONALES

PROGRAMACIN GENTICA

ESTRATEGIAS EVOLUTIVAS

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 Z

[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. j i {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 o 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 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 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 Visual Studio 2008 C/C++,C#,VB.Net, XAML, HTML/CSS, javascript, LINQ, ASP.net, XML/XSLT Windows y las diversas, versiones de Windows Autocompletado rpido, pero menos opciones a la vez 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

Plataforma

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

Autocompletar Cdigo

Editor de Cdigo Fuente

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

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

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. Compilacin en paralelo los sistemas multincleo, biblioteca de plantas estndar (STL) para C++,

desconocido

Compilador, loader, debuger

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

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS el apoyo y Phobos JMaki. paralelo.

Pruebas y Maintainance

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

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 permisos especficos de operacin a cada usuario

de manejo del sistema, mediante

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 Registrar Prof esiones

Reportes

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

Visualizar Datos personal

Registrar Huella

<<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

Registrar Carreras Encargado Horarios

Exportar 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

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

Ventana Registrar Profesiones Ventana Consultas

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 participar en las entrevistas que se requieren realizar para la captura de requerimientos Explicar al cliente la importancia de su participacin en la realizacin del proyecto y proyectar reuniones para la realizacin de las entrevistas Cambio de requerimientos Establecer bien los en la etapa de implementacin o pruebas requerimientos revisarlos y validarlos con el objeto de evitar la ocurrencia de este riesgo. El cliente no puede participar en las revisiones. Establecer fechas de manera consensual y clara con el cliente. Explicar al cliente la necesidad de su participacin en las revisiones y los efectos negativos que trae la situacin opuesta. Las herramientas determinadas para el desarrollo del proyecto no satisfacen todas las Seleccionar cuidadosamente las herramientas a utilizar en el desarrollo del proyecto considerando sus prestaciones Buscar alternativas que sin significar gastos no previstos tengan la funcionalidad requerida. Postergar la entrega hasta introducir los cambios necesarios. Buscar al cliente y concertar reuniones explicndole la urgencia de su participacin.

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 de produccin.

en relacin a las necesidades de uso en el proyecto.

Cambios de requisitos que Establecer cuidadosamente los Posponer la entrega precisan modificaciones en el diseo y en la programacin. El tamao del sistema no ha sido bien determinado. Establecer bien la funcionalidad del sistema para poder tener una idea clara del tamao del producto y su alcance. Posponer la entrega como ltimo recurso si el apresurar el proceso de programacin no abastece para mitigar los efectos de riesgo. La complejidad del producto no ha sido correctamente evaluada. Establecer la complejidad del producto desde la captura de requerimientos. Reevaluar los requerimientos e implementar los cambios necesarios apresurando el proceso de desarrollo. El cliente no tiene una idea clara de lo que precisa. Consensuar entrevistas continuas con el cliente con el fin de aclarar sus ideas. Presentar propuestas que de alguna manera ayuden al cliente a precisar sus requerimientos. No se comprende las necesidades del cliente. Interactuar con el cliente con el objeto de tener bien claras las necesidades del mismo. Los clientes no Aumentar el tiempo destinado a la captura de requerimientos. requerimientos.

Explicar a los clientes al inicio Aclarar los problemas de cambiar los requerimientos.

comprenden el impacto de del proyecto sobre los los cambios en los requerimientos. inconvenientes que puede 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 el proceso de desarrollo e implementacin est subestimado Que el producto no satisfaga las necesidades de los usuarios.

Establecer un tiempo extra dentro de la planificacin.

Posponer la fecha de entrega.

Tomar en cuenta la participacin del cliente en la captura de requerimientos y establecer revisiones constantes para ver su conformidad.

Realizar las modificaciones necesarias.

Que el producto presente incompatibilidad con el entorno.

Tener presente la compatibilidad futura del proyecto a fin de que se adapte al entorno en el cual ser puesto en marcha.

Adecuar el sistema realizando los cambios necesarios para subsanar dicha incompatibilidad. Revisar el modelo de requerimientos e informacin necesaria.

No se cuenta con los conocimientos necesarios para enfrentar la complejidad de los requisitos. No se est disponible en momentos crticos.

Adentrarse lo necesario en las necesidades del proyecto a fin de tener clara la complejidad del sistema.

Prever la disponibilidad de tiempo y el tiempo necesario para el desarrollo.

Adecuar las actividades a las necesidades del proyecto. Incrementar el tiempo de desarrollo en la medida de lo posible. Establecer un poco ms de tiempo para familiarizarse con el uso de las herramientas a usar o buscar

El tamao del proyecto es mucho mayor al tamao previsto. No se conoce el uso de las herramientas necesarias para el desarrollo del proyecto.

Determinar la funcionalidad del sistema al inicio del desarrollo. Escoger herramientas cuyo manejo sea conocido.

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

kardex de Personal

Utilidades

Entidades

Control de Asistencia

Control DAO

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 aPaterno aMaterno nombres sexo fechaNacimiento LugarNacimiento nivelEstudio aniosServicio rda numHijos direccin telfono fotografa tipoMarca huella pin Profesion Operaciones String String String String char Date String String String String String String String Blob char Blob integer Profesiones

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 idTurno desde hasta entrada salida 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. String integer Date Date time time

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 Ci fecha nombreTurno entr sali Atraso Observaciones horasTrabajadas 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 dia turno carrera integer String String String integer String Date String time time time String time

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 asignatura aula operaciones: -

String String char

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( )
10: Buscar Personal( )

12: Mostrar 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


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

1: abrir()

2: abrir()

: Encargado RRHH

20: salir()

: Principal
8: mostrar()

: Gestionar Personal

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

: Buscar

15: confirmarEliminar() 19: confirmarActualizar()

4: verificarDatos() 17: validarDatos()

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. Experiencia_Laboral
m

Profesiones
1 m

Permisos
Personal_permiso s

1 1

Situacion_Laboral

Personal
1 1

Turnos

Personal_turnos
m Personal_licencia s 1 1

Asignaturas
m m

Asistencia

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 cod_prof nombre_prof

Personal

ci

paterno

materno nombres

sexo

f echaNacimiento lugarNacimiento lugarNacimiento

niv elEstudio

anioServ icio

rda

numHijos direccion

telef ono

f otograf ia

huella

pin

codProf

Situacion laboral

idSL

cargo

desde

hasta

codEmpleado

item

observ aciones

tipoEmpleado

situacionActual

ci

Experiencia laboral

idEL

lugarTrab

institucion

cargo

f echa_Ing reso

f echa_Retiro

ci

Asignaturas

cod_asignatura nombre_asignatura semestre carga_horaria cod_carrera

ci

Turnos

idTurno

dia

nombre_Turn hora_sali hora_entrada o da

entrada_min

entrada_max

salida_min

salida_max

Personal_Turnos c i

id-Turno

desde

hasta

entrada

salida

Licencias

id_licen cia

ci

desde

hasta

motiv o

Personal_Licencias id_licencia

ci

Permisos

id_per

ci

f echa

dia

turno

Personal_Permiso id_Permiso

ci

Asistencia id_asis

ci

f echa

nombre_Turno

entro

salio

atraso

observ

horas_Trab

Carreras

cod_carrera

nombre_carre ra

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 Nombre Asignatura Carga horari a

Semestre

Carrera MATEMATICA MATEMATICA MATEMATICA MATEMATICA MATEMATICA MATEMATICA

Docente 1226945 1023114 1034579 1267202 1000409 1061014

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

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

Primero Primero Primero Primero Primero Primero

2 2 4 4 4 3

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; float puntua //variable que almacena la adaptacin de un individuo //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(); this.tamPer = lAp.size(); //tamao de la lista asignaturas //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 2 3 4 5 6 7 8 n

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; List Ap; //Lista de objetos Asignaturas //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

n+1

Adaptacin

Puntuacin

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 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 n n n n+1 n+1 n+1 1 2 3 . . . tp

n+1

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 individuo luego de una evaluacin.

que almacena

la puntuacin obtenida por cada

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)); sumTotalAdapta = ad + sumTotalAdapta; tamIndiv= indiv.length; 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); ada= adaptacion(indiv1); suma2 =suma2 + sumaTotalAdapta/ada; } DESDE k=0 HASTA poblacion.size() HACER { Gene[] individuo= poblacion.get(k); int ti= individuo.length; //obtiene el individuo k de la poblacin //obtiene el tamao del individuo //obtiene el individuo m de la poblacin //obtiene el tamao del individuo //adaptacin del individuo j

CAPITULO IV: Proceso de Anlisis y Diseo

- 79 -

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

ad = individuo[ti].getAdapt(); //puntuacion invertida para minimizar pun =sumTotalAdapta/ad/suma2; acum= acum + pun; Gene ge = new Gene(ad,pun,acum); individuo[ti]= ge; }

//obtiene la adaptacin del individuo k

//puntuacin vlida //puntuacin acumulada

//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; } } } 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; break;

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

Mdulo Kardex de Personal

Mdul o Control de Asi stencia

Mdul o Construi r Horari os

Figura 4.15. Mdulos del Sistema Fuente: Elaboracin propia

Main.java Interfaz Autenti car Control Asistencia Swing

Princip al

Administrar Asistencia

Report es

ireport.jar

kardex personal

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 acuerdo a cada mdulo en los siguientes paquetes. ControlAsistencias Horarios Kardex Seguridad interfaz del sistema, agrupados de

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 Tabla 4.5. Niveles de Acceso de Usuarios Kardex Control de Administrar Construir Seguridad Personal Asistencia Asistencia Horarios Si Si No Si Si No Si Si No Si No Si Si No No

Usuario

Administrador Encargado RRHH Encargado de horarios

Nivel de Acceso 1 2 3

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. 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]

Problemas Conclusin

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 15 dias

Mtodo biomtricos por medio de Estudio de Sistemas Biomtricos huella dactilar Mtodos y tcnicas para por medio de la huella dactilar la Estudio de tcnicas de bsqueda y mtodos de optimizacin

15 das

construccin de horarios acadmicos Instalacin, reconocimiento

y Integracin del lector de huella con el lenguaje de programacin Persistencia de huellas digitales en Base de datos

10 das

programacin del lector de huella.

10 das

Anlisis de los Algoritmos Genticos

Construccin

del

algoritmo

20 das

Genticos para el caso de estudio Codificacin del cromosoma Netbeans MySQL Netbeans MySQL JPA Estudio Interfaz Grfica Estudio Interfaz Grfica y Consola Estudio Integracin MySQL JPA Fuente: Elaboracin Propia Netbeans 20 das 20 das 10 das 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

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 Diagramas de casos de uso

1 1

1 1

CAPITULO IV: Cronograma de Ejecucin

- 101 -

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

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 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 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 Aadir contenido al Manual preliminar del usuario ITERACIN IV Construccin Elaborar el modelo detallado de requerimientos

1 1 2 2 2 21

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 Diagramas de casos de uso y descripcin detallada de los casos de uso Diagramas detallados de clases Diagramas de colaboracin 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 Diagramas de estados Subsistema codificado Subsistema probado y validado por los clientes Documento incrementado manual del usuario Subsistema Construccin de Horarios Diagramas de casos de uso y

2 1 1 11 3 1 28

2 1 1 16 3 2 46

21

CAPITULO IV: Cronograma de Ejecucin

- 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 Incrementar contenido al manual de Manual del usuario ITERACIN VII Transicin Elaborar un plan de pruebas Pruebas de mdulos y de sistema con usuarios no involucrados directamente en el proyecto

4 2 1 14 2 2 7 2

descripcin detallada de los casos de uso Diagramas detallados de clases Diagramas de colaboracin 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 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 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)

1 1 1 2 28 2

2 2 1 10 2 1 56

5 3

CAPITULO IV: Cronograma de Ejecucin

- 103 -

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

Corregir y extender la funcionalidad

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 Procesador Memoria RAM Disco Duro Tarjeta de Red Tarjeta de Video Monitor Intel GC35EC IBM procesador XEON 2GB DDR2 250 GB Ethernet 100/1000 mbps base T Nvidia G-Force 256Mb Samsung Fuente: Elaboracin propia Tabla 5.2. Especificacin tcnica de hardware (cliente) Dispositivo Caractersticas T. Madre Procesador Memoria RAM Disco Duro Tarjeta de Red Monitor ASRock WofGate Intel Dual Core 2.0 GHz. 1GB DDR2 80 GB SATA Ethernet 100/1000 mbps base T 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 iReport 6 5.1 3.5.1 2

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 y 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 en: [Consulta

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

REFERENCIA BIBLIOGRAFICA

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, 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. Barcelona: ANAYA

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 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

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

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

ANEXO A

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

Flujo de Salida / Reportes FS 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 -

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

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

Consultas Q Consultas Q No. 1 2 3 4 5 6 7 Consulta 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 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

No 1 2 3 4 5 6 7

Complejidad Media Media Media Baja Media Baja Media

ANEXO A

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

8 9 10 11 12 13 14 15 16 17 18

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 Archivos Lgicos Externos ALE Archivo No de campos Ayuda 3 Backup Base de Datos 2

No 1 2 3

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 6*6 7*3 6*0 15 * 3 10 * 0

Total 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 T = 10.41 T = 10 meses Clculo de Personas Personas = E/T = 44.4/ 10 Personas = 4 Personas mes SCED Esfuerzo= 100%
Costo

ANEXO A

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 10 10 10 15 15 15 20 20 20 30 30 30 40 40 40 50 50 50 100 100 100 200 200 10 50 100 10 50 100 10 50 100 10 50 100 10 50 100 10 50 100 10 50 100 10 50 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 80% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 25 21 23 25 18 20 25 18 22 23 19 21 23 20 17 21 14 17 21 22 19 24 18

Tiempo de Ejec. 00:00:50 00:01:26 00.04:03 00:01:07 00:03:20 00:06:03 00:02:05 00:04:15 00:07:58 00:01:35 00:06:10 00:11:55 00:02:05 00:0820 00:15:49 00:02:20 00:09:52 00:19:50 00:04:22 00:15:05 00:23:15 00:07:28 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 300 300 300 400 400 400 500 500 500

100 10 50 100 10 50 100 10 50 100

80% 80% 80% 80% 80% 80% 80% 80% 80% 80%

20% 20% 20% 20% 20% 20% 20% 20% 20% 20%

15 17 23 22 19 25 19 21 19 18

00:28:10 00:06:25 00:15:46 00:27:28 00:07:10 00:16:24 00:32:40 00:10:50 00:18:14 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 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 Gestin RRHH Kardex personal. Control 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. Es quien interacta con Registrar su huella

Personal

Control de

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

Asistencia

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 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. de manejo del sistema, mediante

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.
1 2 3 Flujo Alternativo: 3 2 5

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. Despliega un mensaje de error, si los datos estn duplicados o errneos.

Elige la opcin Cancelar Sale da la pantalla.

Flujo: Eliminar Usuario

No.
1 2 3 4 5 Flujo Alternativo: 2 4 5

Actor
Ingresa Criterio de bsqueda

Sistema
Presenta la informacin del Usuario

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 No encuentra al personal no muestra nada

Elige la opcin NO No elimina el registro

Flujo: Editar Usuario

No.
1 2 3 4 5

Actor
Ingresa Criterio de bsqueda

Sistema
Presenta la informacin del Personal

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 Almacena los datos modificados

REFERENCIA TCNICA

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 Si no encuentra el personal presenta un mensaje de usuario no encontrado. Despliega un mensaje de error, si los datos estn duplicados o errneos.

Flujo Alternativo: 2 5 4 Elige la opcin NO

No modifica los datos del personal

Subsistema Gestionar Kardex

Gestionar Situacion Laboral

Buscar Personal

<<include>> Gestionar Experiencia Laboral <<include>>

<<include>>

Consultas

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 2 3 4 5 6

Actor
Elige la opcin aadir Personal

Sistema
Despliega el formulario con los campos de informacin necesaria del personal

Llena los campos Elige la opcin guardar

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

Elige la opcin cerrar

Sale de la pantalla Despliega un mensaje de error, si los datos estn duplicados o errneos.

Flujo Alternativo: 5 4 5 4 5 Flujo: Eliminar Personal Elige la opcin cancelar No almacena al personal y Vuelve al flujo 1 Ingresa datos correctos, elige la opcin guardar Almacena los datos

No.
1 2 3 4 5 Flujo Alternativo: 2 4 5

Actor
Ingresa Criterio de bsqueda

Sistema
Presenta la informacin del Personal

Elige la opcin eliminar Elige la opcin SI

Despliega una pantalla de confirmacin del proceso de eliminacin Elimina el registro correspondiente al personal No encuentra al personal no muestra nada

Elige la opcin NO No elimina el registro

Flujo: Editar Personal

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

No.
1 2 3 4 5 6

Actor
Ingresa Criterio de bsqueda

Sistema
Presenta la informacin del Personal

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 Elige la opcin cerrar Sale de la pantalla 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

Flujo Alternativo: 2 5 4

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 2 3 4

Actor
Elige la opcin aadir

Sistema
Despliega el formulario con los campos de informacin necesaria.

Llena los campos Elige la opcin guardar

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

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

5 6 Elige la opcin cerrar Flujo Alternativo: 5 4 5 4 5 Flujo: Eliminar Datos Experiencia Laboral Elige la opcin cancelar Ingresa datos correctos, elige la opcin guardar

Almacena los datos Sale de la pantalla Despliega un mensaje de error, si los datos estn duplicados o errneos.

Almacena los datos Vuelve al flujo 1

No.
1 2 3 4 Flujo Alternativo: 3 4 Selecciona eliminado.

Actor
registro a

Sistema
ser Habilita los botones eliminar, editar, y cancelar Despliega una pantalla de confirmacin del proceso de eliminacin Elimina el registro seleccionado

Elige la opcin eliminar Elige la opcin SI

Elige la opcin NO Regresa al formulario anterior No elimina el registro

Flujo: Editar Datos Experiencia Laboral

No.
1 2 3 4 5 6

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 Elige la opcin cancelar Vuelve al flujo 1

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

Flujo Alternativo: 3 4 5 Elige la opcin NO No modifica los datos del personal Despliega un mensaje de error, si los datos estn duplicados o errneos.

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 2 3 4 5 6 7

Actor
Elige la opcin aadir

Sistema
Despliega el formulario con los campos de informacin necesaria.

Llena los campos Valida los datos ingresados y si existe un error despliega un mensaje Elige la opcin guardar Almacena los datos Elige la opcin cerrar Ingresa datos correctos, elige la opcin guardar Despliega un mensaje de error, si los datos estn duplicados o errneos. Sale de la pantalla

Flujo Alternativo: 5 6 Flujo: Eliminar Datos Situacin Laboral

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

No.
1 2 3 4 Flujo Alternativo: 3 4

Actor

Sistema

Selecciona un registro a ser Habilita los botones eliminar, editar, y eliminado. cancelar Elige la opcin eliminar Elige la opcin SI Elimina el registro seleccionado Elige la opcin NO Regresa al formulario anterior No elimina el registro Despliega una pantalla de confirmacin del proceso de eliminacin

Flujo: Editar Datos Situacin Laboral

No.
1 2 3 4 5 6 7

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 Elige la opcin SI Almacena los datos modificados Elige la opcin cancelar Vuelve al flujo 1 Despliega un mensaje de error, si los datos estn duplicados o errneos. Elige la opcin NO No modifica los datos del personal Despliega una pantalla de confirmacin del proceso de edicin

Flujo Alternativo: 3 5 6

REFERENCIA TCNICA

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.
1 2 3 4

Actor
El usuario elige la opcin aadir

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

Elige la opcin guardar Elige la opcin cerrar

Almacena los datos Sale de la pantalla

Flujo Alternativo: Flujo: Eliminar Profesin

No.
1 2 3 4 5 3 4 Selecciona tabla

Actor

Sistema

un registro de la Habilita la opcin eliminar registro Despliega una pantalla de confirmacin del proceso de eliminacin Elimina el registro seleccionado

Elige la opcin eliminar Elige la opcin SI Elige la opcin cerrar Elige la opcin NO

Sale de la pantalla

Flujo Alternativo: No elimina el registro

REFERENCIA TCNICA

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 Gestionar Licencias Buscar Personal

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 2 3 4

Actor
Elige la opcin aadir Turno

Sistema
Habilita los campos de informacin necesaria para ingresar un nuevo turno.

Llena los campos Elige la opcin guardar

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

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

5 6 Elige la opcin cerrar Flujo Alternativo: 5 Flujo: Eliminar Turno

Almacena los datos Sale de la pantalla Despliega un mensaje de error, si los datos estn duplicados o errneos.

No.
1 2 3 4 5 6 4

Actor
Selecciona un registro de la tabla turnos

Sistema

Habilita la opcin eliminar registro Elige la opcin eliminar Elige la opcin SI Elimina el registro correspondiente al personal Elige la opcin cerrar Elige la opcin NO Sale de la pantalla No elimina el registro Despliega una pantalla de confirmacin del proceso de eliminacin

Flujo Alternativo: Flujo : Editar Turnos

No.
1 2 3 4 5 6

Actor
Selecciona un registro de la tabla turnos

Sistema

Habilita la opcin editar registro Elige la opcin editar Elige la opcin guardar Almacena los datos Elige la opcin cerrar Sale de la pantalla Despliega un mensaje de error, si los datos estn duplicados o errneos. Habilita los campos con la informacin a ser editada

Flujo Alternativo: 5

REFERENCIA TCNICA

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 2 3 4 5 6 7

Actor
Elige la opcin Asignar Turno

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

Selecciona Personal. Elige la opcin Turnos para asignar. Selecciona Turno Elige la Asignados opcin Almacena turno asignado para el personal seleccionado Turnos Despliega una pantalla con la lista de turnos asignados a personal seleccionado Sale de la pantalla

Elige la opcin salir

Flujo Alternativo:

Flujo: Eliminar Turnos asignados

No.
1 2 3 Elige la Asignados

Actor
Selecciona Personal opcin

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

Selecciona el Turno Asignado

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

que desea eliminar. 4 5 6 7 5 6 Flujo : Editar Turnos Elige la opcin cerrar Elige la opcin NO No elimina el registro Elige la opcin eliminar turno Elige la opcin SI Elimina el registro correspondiente al personal Sale de la pantalla Despliega una pantalla de confirmacin del proceso de eliminacin

Flujo Alternativo:

No.
1 2 3 4 5 6

Actor
Selecciona un registro de la tabla turnos

Sistema

Habilita la opcin editar registro Elige la opcin editar Elige la opcin guardar Almacena los datos Elige la opcin cerrar Sale de la pantalla Despliega un mensaje de error, si los datos estn duplicados o errneos. Habilita los campos con la informacin a ser editada

Flujo Alternativo: 5

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

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 Elige la opcin guardar Almacena los datos Elige la opcin cerrar Sale de la pantalla Despliega un mensaje de error, si los datos estn duplicados o errneos. Valida los datos ingresados y si existe un error despliega un mensaje

2 3 4 5

Flujo Alternativo: 4 Flujo: Eliminar das no hbiles

No.
1 2 3 4 5 3 4 Selecciona eliminado.

Actor
registro a

Sistema
ser Habilita los botones eliminar y cancelar Despliega una pantalla de confirmacin del proceso de eliminacin Elimina los datos

Elige la opcin eliminar Elige la opcin SI Elige la opcin cerrar Elige la opcin NO

Sale de la pantalla

Flujo Alternativo: 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.
1 2 3 4 5 6 7 Elige la licencia.

Actor
opcin

Sistema
gestionar Despliega una pantalla con la lista de personal registrado y turnos disponibles. Habilita los campos con la informacin necesaria para el tratamiento de licencias. Valida los datos ingresados y si existe un error despliega un mensaje. Almacena los datos de licencia al personal.

Selecciona el personal Elige la opcin licencias Llena los campos Elige la opcin asignar licencia

Elige la opcin cerrar

Sale de la pantalla Despliega un mensaje de error, si los datos estn duplicados o errneos.

Flujo Alternativo: 6

Flujo: Eliminar licencia

No.
1 2 3 4 5 3 4 Selecciona eliminado.

Actor
registro a

Sistema
ser Habilita los botones eliminar y cancelar Despliega una pantalla de confirmacin del proceso de eliminacin Elimina los datos

Elige la opcin eliminar Elige la opcin SI Elige la opcin cerrar Elige la opcin NO

Sale de la pantalla

Flujo Alternativo: No elimina los datos

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

Visualizar Datos personal

Registrar Huella

<<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.
1 2

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. Deshabilita registrar la opcin modo Coloca la ventana en modo controlar asistencia.

5 6 7 8

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

7 7 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.
1

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.

3 4

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

5 Flujo Alternativo: 2

Guarda los datos relacionados a la asistencia del personal. 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.

3 4 5

Subsistema Construir Horarios

Gestionar Aulas Gestionar Periodos <<include>> <<include>>

Ejecutar Algoritmo <<include>>

<<extend>> Conf igurar Horarios parametros algoritmo

Gestionar Asignaturas

Reportes

Gestionar Carreras Encargado Horarios

Exportar 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.
1 2 3 4

Actor
El usuario elige la opcin aadir

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

Elige la opcin guardar Elige la opcin cerrar

Almacena los datos Sale de la pantalla

Flujo Alternativo: Flujo: Eliminar Carrera

No.
1 2 3 4 5 3 4 Selecciona tabla

Actor

Sistema

un registro de la Habilita la opcin eliminar registro Despliega una pantalla de confirmacin del proceso de eliminacin Elimina el registro seleccionado

Elige la opcin eliminar Elige la opcin SI Elige la opcin cerrar Elige la opcin NO

Sale de la pantalla

Flujo Alternativo: 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.
1 2 3 4

Actor
El usuario elige la opcin aadir

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

Elige la opcin guardar Elige la opcin cerrar

Almacena los datos Sale de la pantalla

Flujo Alternativo: Flujo: Eliminar Asignatura

No.
1 2 3 4 5 3 4 Selecciona tabla

Actor

Sistema

un registro de la Habilita la opcin eliminar registro Despliega una pantalla de confirmacin del proceso de eliminacin Elimina el registro seleccionado

Elige la opcin eliminar Elige la opcin SI Elige la opcin cerrar Elige la opcin NO

Sale de la pantalla

Flujo Alternativo: 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.
1 2 3 4

Actor
El usuario elige la opcin aadir

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

Elige la opcin guardar Elige la opcin cerrar

Almacena los datos Sale de la pantalla

Flujo Alternativo: Flujo: Eliminar Periodos

No.
1 2 3 4 5 3 4 Selecciona tabla

Actor

Sistema

un registro de la Habilita la opcin eliminar registro Despliega una pantalla de confirmacin del proceso de eliminacin Elimina el registro seleccionado

Elige la opcin eliminar Elige la opcin SI Elige la opcin cerrar Elige la opcin NO

Sale de la pantalla

Flujo Alternativo: 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.
1 2 3 4

Actor
El usuario elige la opcin aadir

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

Elige la opcin guardar Elige la opcin cerrar

Almacena los datos Sale de la pantalla

Flujo Alternativo: Flujo: Eliminar Aulas

No.
1 2 3 4 5 3 4 Selecciona tabla

Actor

Sistema

un registro de la Habilita la opcin eliminar registro Despliega una pantalla de confirmacin del proceso de eliminacin Elimina el registro seleccionado

Elige la opcin eliminar Elige la opcin SI Elige la opcin cerrar Elige la opcin NO

Sale de la pantalla

Flujo Alternativo: 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.
1

Actor
El usuario elige la opcin datos Carrera

Sistema

2 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

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

3 4 5 6

Despliega una lista con todas las asignaturas correspondientes a la carrera seleccionada. Elige la opcin paralelos Despliega una lista con todas las asignaturas para poder elegir cuales de ellas tienen paralelos

7 Selecciona la asignatura que tiene paralelo Selecciona el docente para esa asignatura Elige la opcin adicionar Elige la opcin Aulas Selecciona las aulas que participaran en la generacin de aulas

8 9 10 11

Adiciona a la lista que contiene las asignaturas para generar horarios Despliega una lista con todas las aulas disponibles.

12

13

Elige la opcin Parmetros del Despliega una ventana con los campos y Algoritmo la informacin necesaria para ejecutar el algoritmo generador de horarios Introduce los parmetros para el algoritmo Elige la opcin generar horarios Ejecuta el algoritmo gentico para la generacin de horarios

14 15

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

16 17 18 19 20

Elige la generados

opcin

horarios Visualiza una ventana con las opciones para mostrar los horarios generados Visualiza una ventana con los horarios generados por semestre Despliega una lista de docentes Visualiza una ventana con los horarios del docente Sale de la ventana

Elige la opcin por semestre Elige la opcin por docente Selecciona docente Elige la opcin cerrar

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

: Administrador

: Principal 1: ingresar() 2. abrir()

: VUsuarios

: UsuariosDao

: Usuario

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( )
10: Buscar Personal( )

12: Mostrar 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

: Buscar

: PersonalDao

: VExperienciaLab

: ExperienciaLaboralDao

: ExperienciaLabora

1: abrir()

2: buscar()

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

: PersonalDao

: VSituacionLab

: SituacionLaboralDao

: Situacionlaboral

2: buscar()

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

: VTurnos

: TurnosDao

: Turnoss

1: ingresar()

2: abrir() 4: registrarNuevoTurno()

3: abrir()

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()

7: asignar()

9: salir()

8:turnosAsignados()

Diagrama de Secuencia: Asignar 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

Gestionar Licencias

: Encargado RRHH

: Principal

: AdministrarAsistencia

: VLicencias

: LicenciaDao

: Licencia

1. ingresar()

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

: Encargado RRHH

: Principal 1: ingresar() 2: abrir()

: VControlAsistenci a

: PersonalDao

: Persona

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

: VConstruirHorarios

: VParametrosHorario

: VParametrosAlgoritmo

: AlgoritmoGenetico

: VHorarios

1. ingresar()

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() 12: salir()

: Principal

2: abrir()

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

4: introducirDatos() 9: seleccionarDatos()

6: guardarUsuario() 10: eliminar()

: UsuariosDao

: Usuario

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


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

1: abrir()

2: abrir()

: Encargado RRHH

20: salir()

: Principal
8: mostrar()

: Gestionar Personal

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

: Buscar

15: confirmarEliminar() 19: confirmarActualizar()

4: verificarDatos() 17: validarDatos()

6: ok()
11: retornarPersonal()

: Persona

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

: PersonalDao

Diagrama de Colaboracin: 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

1: abrir()

2: buscar()

3: buscarPersonal()

: Encargado RRHH

: Kardex

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

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

18: salir()

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

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

: VExperienciaLab

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

: ExperienciaLabora

Diagrama de Colaboracin: 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

1: abrir()

2: buscar()

3: buscarPersonal()

: Encargado RRHH

: Kardex

: Buscar
4: retornarPersonal()

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

7: validar()

18: salir()

: PersonalDao

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

: SituacionLaboralDao

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

: VSituacionLab

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

: Situacionlaboral

Diagrama de Colaboracin: 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 de Asistencia Gestionar Turnos

1: ingresar()

2: abrir()

: Encargado RRHH

4: registrarNuevoTurno() 9: eliminarTurno()

: Principal

: GestionarAsistencia

13: salir()

3: abrir()

8: confirmarProceso() 12: confirmarEliminar()

: VTurnos

5: llenarDatos() 10: seleccionarTurno()

6: validar()

: Turnoss

7: guardarTurno() 11: eliminarTurno(idTurno)

: TurnosDao

Diagrama de Colaboracin: 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

1: ingresar()

2: abrir()

: Encargado RRHH

: Principal

: GestionarAsistencia

9: salir()

4: seleccionarPersonal()

3: abrir()

5: seleccionarTurnos()

: VTurnosAsignados : VPersonal

: VTurnos

6: asignarTurnos() 8: turnosAsignados()

7: asignar() : Personalturnos : PersonalTurnosDao

Diagrama de Colaboracin: Asignar 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

Gestionar Licencias

1: ingresar()

2: abrir()

: Encargado RRHH

: Principal

: GestionarAsistencia

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

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()

: Encargado RRHH

: Principal

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

2: abrir()

7: validar()

6: registrarHF()

: VControlAsistencia

: PersonalDao

9: confirmarProceso()

8: registrar()

: 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()

: Perssonal

: VControlAsistencia

: 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

1: ingresar()

2: abrir()

: Encargado Horarios

: Principal

: VGestionarHorarios

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

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( )

: AsignaturasDao

: Asignatura

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
1: ingresar()

2: abrir()

: Encargado Horarios

: Principal

: VConstruirHorarios

3: parametrosHorario()

4: parametrosAlgoritmo()

: VParametrosHorario

8: salir()

6: validar()

7: mostrarHorariosConstruidos() 5: ejecutarAlgoritmo()

: VParametrosAlgoritmo

: AlgoritmoGenetico

: VHorarios

Diagrama de Colaboracin: 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

Proceso de pruebas Pruebas de Unidad Prueba Ingresar al Sistema 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

Datos de prueba

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 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

REFERENCIA TCNICA

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 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

Conclusiones

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 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

REFERENCIA TCNICA

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 Implementar un mtodo que permita verificar los datos para la construccin de horarios y los parmetros del algoritmo gentico.

Solucin

Pruebas de Integracin Pruebas encargadas de testear el funcionamiento y la estructura de los mdulos o subsistemas en su conjunto. Prueba Gestin de usuarios Titulo: Mdulo de gestin de usuarios Tipo de prueba: Prueba de integracin Tcnica de prueba: Caja Blanca y de caja negra

Datos de prueba

REFERENCIA TCNICA

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 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

Solucin

REFERENCIA TCNICA

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 Tipo de Dato String NOT NULL String String

REFERENCIA TCNICA

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 Tipo de Dato Integer NOT NULL String Date Date String

REFERENCIA TCNICA

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 Tipo de Dato Integer NOT NULL String

REFERENCIA TCNICA

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 Tipo de Dato Integer NOT NULL String

REFERENCIA TCNICA

INGENIERA DE SISTEMAS UMRPSFXCH

SISTEMA DE CONTROL DE ASISTENCIA Y APOYO A LA CONSTRUCCION DE HORARIOS DE LA UPNMS

horarioCreado carrera docente nivel

Blob String String String

REFERENCIA TCNICA

También podría gustarte