Académique Documents
Professionnel Documents
Culture Documents
DE
SAN FRANCISCO XAVIER DE CHUQUISACA
FACULTAD DE TECNOLOGA
INGENIERA DE SISTEMAS
Proyecto de Grado
SISTEMA DE
Asesora
DEDICATORIA
Dedico este trabajo a mis amados padres;
Vicente y Venancia, quienes me
han brindado su
ha
por su paciencia y
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
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
CAPITULO I
INTRODUCCIN Y OBJETIVOS
1.1.
INGENIERA DE SISTEMAS
UMRPSFXCH
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
INGENIERA DE SISTEMAS
UMRPSFXCH
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
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
1.3.
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
INGENIERA DE SISTEMAS
UMRPSFXCH
ABORDAJE DE SOLUCIN
DEL PROBLEMA
AL ELABORAR
SE EMPLEA
TCNICAS
METAHEURSTIC
AS
SE EMPLEA
TECNICAS DE
BIOMETRIA
SE ELIGE
PARADIGMA O. O.
METODOLOGA
PROCESO
UNIFICADO
HERRAMIENTAS
CICLO DE VIDA
BD
ITERATIVO
INCREMENTAL
MY SQL
5.1.31
MAPEO OBJETO
RELACIONAL
LENGUAJES
(Modelado)
UML
S. O.
(Programacin)
JAVA
CON
WINDOWS
XP
DOC.
MICROSOFT
WORD
JPA
ENT. DE PROG
NETBEANS
6.0.1
HERR. CASE
RATIONAL
ROSE
INGENIERA DE SISTEMAS
UMRPSFXCH
1.4.
INGENIERA DE SISTEMAS
UMRPSFXCH
1.4.3. Delimitaciones
La delimitacin del proyecto identifica que las siguientes actividades quedan fuera del alcance
del proyecto:
INGENIERA DE SISTEMAS
UMRPSFXCH
1.5.
CAPITULO II
MARCO CONTEXTUAL
INGENIERA DE SISTEMAS
UMRPSFXCH
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:
INGENIERA DE SISTEMAS
UMRPSFXCH
El Coordinador de cada Nivel (Primaria, Secundaria) elabora los posibles horarios con los
directores de cada carrera, una vez que los horarios han sido reunidos estos pasan a Direccin
Acadmica para su revisin y aprobacin en caso de existir alguna observacin vuelve a ser
revisado por el coordinador y directores de carrera este proceso se repite hasta que sea
aprobado por direccin acadmica. Este proceso de asignacin y distribucin de aulas se
muestra en la siguiente figura:
Inicio
Criterios de Evaluacin de
horarios
- Un Docente no puede impartir
dos o ms asignaturas en el
mismo horario.
- Un Aula no puede ser utilizada
por dos o ms asignaturas al
mismo tiempo.
- Una asignatura debe cumplir
con la cantidad de horas
semanales requeridas.
- No deben coincidir los horarios
de
las
asignaturas
que
corresponden a un mismo
semestre en la malla curricular.
-
Construccin de horarios
por Directores de Carrera y
Coordinador de Nivel
n
o
Horarios
aceptables
si
Revisin y aprobacin de
los horarios por Direccin
Acadmica
Horarios
Aprobados
n
o
si
Imprimir
Horarios
Fin
Figura 2.1. Proceso de construccin de horarios en la UPNMS
Fuente: Elaboracin propia fundamentada en los procedimientos de la Universidad
Pedaggica
- 11 CAPITULO II: Anlisis de la Situacin Actual
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
INGENIERA DE SISTEMAS
UMRPSFXCH
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:
-
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
CAPITULO III
MARCO TERICO
CONCEPTUAL
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
matemtico general para su resolucin, este modelo puede ser adaptado a los
requerimientos de nuestro proyecto.[22]
-
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
Ojo
Retina
Muy alta
Huellas
dactilares
Alta
Geometra de
la Mano
Alta
Escritura
Firma
Alta
Alta
Media
Baja
Alta
Alta
Alta
Alta
Muy alta
Muy alta
Alta
Alta
Media
Media
Aceptacin
Media
Media
Alta
Alta
Muy alta
Alta
Estabilidad
Alta
Alta
Alta
Media
Media
Media
Ambas
Ambas
Ambas
Autenticacin
Ambas
Autentica
cin
ANSI/NI
ST
SVAPI
Gafas
Irritaciones
Suciedad,
heridas,
Asperezas
Artritis,
Reumatismo
.
Firmas
fciles o
cambiantes
Ruido,
resfriados
..
Instalaciones
nucleares,
servicios
mdicos,
centros
penitenciario
s
Instalacion
es
nucleares,
servicios
mdicos,
centros
penitenciari
os
Polica,
Industria,
Control
de
personal
Industrial
Accesos
remotos
en bancos
o bases de
datos
Ojo Iris
Fiabilidad
Facilidad
uso
de
Prevencin de
ataques
Identificacin
y
Autenticacin
Estndares
Interferencias
Utilizacin
General
Voz
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
Cumple plenamente con las especificaciones USB 2.0, backward compatible con USB
1.1
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)
Especificaciones
FRR menor a 1%
INGENIERA DE SISTEMAS
UMRPSFXCH
Temperatura 0 - 40
Aplicaciones habituales
Comercio electrnico.
USB Fingerprint
Reader [29]
INGENIERA DE SISTEMAS
UMRPSFXCH
El lector U.are. U4000B es un lector de huella digital diseado por la empresa DigitalPersona,
tiene la habilidad incomparable de reconocer incluso las huellas digitales ms difciles.
Tipo
ptico
Resolucin
512 DPI
Conexin
SO Soportados
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
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).
INGENIERA DE SISTEMAS
UMRPSFXCH
ALEATORIAS
NO GUIADAS
GUIADAS
BSQUEDA
TAB
RECOCIDO
SIMULADO
PROGRAMACIN
GENTICA
ALGORITMOS
EVOLUTIVOS
ESTRATEGIAS
EVOLUTIVAS
REDES
NEURONALES
PROGRAMACIN
EVOLUTIVA
ALGORITMOS
GENTICOS
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
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:
-
Mejor
Peor
4. Se cruzan aleatoriamente dos individuos para crear una descendencia, que ser
evaluado asignndole puntaje.
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
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
INGENIERA DE SISTEMAS
UMRPSFXCH
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
{1,,m}
{1,,n}
INGENIERA DE SISTEMAS
UMRPSFXCH
Funcin Objetivo
Funcin Objetivo Global (fog)
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.
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
INGENIERA DE SISTEMAS
UMRPSFXCH
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 )".
INGENIERA DE SISTEMAS
UMRPSFXCH
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).
Plataforma
Autocompletar Cdigo
Autocompletado rpido,
pero menos opciones a la
vez
Editor de Cdigo
Fuente
La edicin es simple y
fcil.
Cambio
entre
diseador y el cdigo de
pantalla es doble clic en
el control
GUI y herramientas
RAD
Compilador, loader,
debuger
Compilacin en paralelo
los sistemas multincleo,
biblioteca de plantas
estndar (STL) para C++,
Netbeans 6.0
C/C++, java, Ruby, PHP,
Javascript,
HTML/CSS,ISP, JavaFX,
XSL, WSDL, UML.
Windows, Linux, Unix,
Solaris (sparc, X86/X64)
Mac OX(Intel Power)
Autocompletado
de
cdigo pero muestra
todos los mtodos y
variables
al
mismo
tiempo.
Edicin de cdigo es
simple
y
fcil,
proporciona
diferentes
eventos
para
cada
componente, y puede ser
editable para cada evento
especfico.
Netbeans
Matisse,
componentes FSF, base
de datos de aplicacin,
Beans binding, excelente
herramienta de diseo
UML, mobile Designer,
BPEL algunas de las
herramientas que no se
encuentran en VS2008
Ms reciente lexer hace la
compilacin en tiempo de
ejecucin ms rpido,
Javascript depurador con
JBuilder 2008
Java
Edicin de cdigo es
simple
y
fcil,
proporciona
diferentes
eventos
para
cada
componente.
desconocido
Revisa la sintaxis en
tiempo real, sugiriendo
casting de datos, la
compilacin
es
en
- 40 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Pruebas y Maintainance
paralelo.
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
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
INGENIERA DE SISTEMAS
UMRPSFXCH
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]
INGENIERA DE SISTEMAS
UMRPSFXCH
CAPITULO IV
DESARROLLO DEL
PROYECTO
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
Experiencia laboral
Situacin Laboral
-
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
El software debe ser robusto, es decir que no se vea afectado por manipulaciones
inadecuadas del usuario.
INGENIERA DE SISTEMAS
UMRPSFXCH
Gestionar
Kardex Personal
Encargado RRHH
Gestionar Asistencia
Registrar Huella
Administrador
personal
Control Asistencia
Construir Horarios
Encargado
Horarios
Gestin de Usuarios
INGENIERA DE SISTEMAS
UMRPSFXCH
<<include>>
<<include>>
Consultas
Registrar Personal
Reportes
Administrador
Encargado RRHH
<<include>>
Administrar Huellas Pin
Asignar Turnos
Buscar Personal
Permisos
Registrar Turnos
Consultas
Calendario Academico
Reportes
Encargado RRHH
INGENIERA DE SISTEMAS
UMRPSFXCH
Registrar Huella
<<extend>>
<<include>>
Marcar Asistencia
<<include>>
Personal
Encargado RRHH
Asignar Docentes a
Asignaturas
Introducir Parametros
para Horarios
Generar Horarios
Reportes
Registrar Asignaturas
Consultas
Exportar Horarios
Registrar Carreras
Encargado
Horarios
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
Interfaces de Salida
-
INGENIERA DE SISTEMAS
UMRPSFXCH
Ventana Consultas
Ventana Consultas
Ventana Consultas
INGENIERA DE SISTEMAS
UMRPSFXCH
Explicar al cliente la
Buscar al cliente y
participar en las
importancia de su
concertar reuniones
entrevistas que se
participacin en la realizacin
explicndole la urgencia
de su participacin.
captura de requerimientos
Postergar la entrega
en la etapa de
requerimientos revisarlos y
implementacin o pruebas
cambios necesarios.
Explicar al cliente la
participar en las
necesidad de su
revisiones.
cliente.
participacin en las
revisiones y los efectos
negativos que trae la
situacin opuesta.
Las herramientas
Seleccionar cuidadosamente
determinadas para el
previstos tengan la
funcionalidad requerida.
- 55 -
INGENIERA DE SISTEMAS
UMRPSFXCH
de produccin.
de uso en el proyecto.
requerimientos.
en el diseo y en la
programacin.
El tamao del sistema no
Establecer bien la
Posponer la entrega
el apresurar el proceso
de programacin no
alcance.
La complejidad del
Reevaluar los
producto no ha sido
requerimientos e
correctamente evaluada.
requerimientos.
implementar los
cambios necesarios
apresurando el proceso
de desarrollo.
Consensuar entrevistas
Presentar propuestas
precisa.
ayuden al cliente a
precisar sus
requerimientos.
No se comprende las
Aumentar el tiempo
destinado a la captura
de requerimientos.
Los clientes no
de cambiar los
requerimientos.
requerimientos.
- 56 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Posponer la fecha de
el proceso de desarrollo e
dentro de la planificacin.
entrega.
Que el producto no
Tomar en cuenta la
Realizar las
modificaciones
de los usuarios.
captura de requerimientos y
necesarias.
implementacin est
subestimado
establecer revisiones
constantes para ver su
conformidad.
Que el producto presente
Tener presente la
Adecuar el sistema
incompatibilidad con el
entorno.
necesarios para
subsanar dicha
incompatibilidad.
Revisar el modelo de
conocimientos necesarios
requerimientos e
para enfrentar la
informacin necesaria.
complejidad de los
del sistema.
requisitos.
No se est disponible en
Prever la disponibilidad de
momentos crticos.
para el desarrollo.
proyecto.
Determinar la funcionalidad
Incrementar el tiempo
de desarrollo en la
previsto.
desarrollo.
medida de lo posible.
Establecer un poco ms
herramientas necesarias
de tiempo para
proyecto.
de las herramientas a
usar o buscar
- 57 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
Utilidades
Entidades
Control DAO
kardex de
Personal
Control de
Asistencia
Generar
Horarios
- 58 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 59 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Diagrama de Clases.
- 60 -
INGENIERA DE SISTEMAS
UMRPSFXCH
String
aPaterno
String
aMaterno
String
nombres
String
sexo
char
fechaNacimiento
Date
LugarNacimiento
String
nivelEstudio
String
aniosServicio
String
rda
String
numHijos
String
direccin
String
telfono
String
fotografa
Blob
tipoMarca
char
huella
Blob
pin
integer
Profesion
Profesiones
Operaciones
- 61 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
String
idTurno
integer
desde
Date
hasta
Date
entrada
time
salida
time
Operaciones:
-
Eliminar(): esta operacin elimina un turno que no hayan sido correctamente asignado
o cuando su horario sea modificado.
- 62 -
INGENIERA DE SISTEMAS
UMRPSFXCH
integer
Ci
String
fecha
Date
nombreTurno
String
entr
time
sali
time
Atraso
time
Observaciones
String
horasTrabajadas
time
Operaciones:
-
integer
dia
String
turno
String
carrera
String
- 63 -
INGENIERA DE SISTEMAS
UMRPSFXCH
semester
String
asignatura
String
aula
char
operaciones:
-
Exportar(): permite exportar los horarios generados a una hoja de clculo (Excel).
- 64 -
INGENIERA DE SISTEMAS
UMRPSFXCH
: 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( )
16: actualizar()
17: validarDatos()
18: actualizarPersonal
19: confirmarActual izar()
20: salir()
- 65 -
INGENIERA DE SISTEMAS
UMRPSFXCH
1: abrir()
3: aadirPersonal()
13: eliminar()
16: actualizar()
2: abrir()
: Encargado RRHH
20: salir()
: Principal
: Gestionar Personal
8: mostrar()
7: confirmarProceso()
12: mostrarPersonal()
9: parametros()
: Buscar
4: verificarDatos()
17: validarDatos()
15: confirmarEliminar()
19: confirmarActualizar()
6: ok()
11: retornarPersonal()
: Persona
5: aaadirPersona
10: buscarPersonal()
14: eliminarPersona()
18: actualizarPersonal()
: PersonalDao
- 66 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Experiencia_Laboral
Permisos
m
Personal_permiso
s
1
Situacion_Laboral
1
1
Personal
1
Turnos
1
Personal_turnos
1
Personal_licencia
s
Asignaturas
m
Asistencia
m
Licencias
1
Carreras
- 67 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Personal
ci
paterno
cod_prof
materno nombres
Situacion
laboral
idSL
nombre_prof
sexo
cargo
desde
hasta
niv elEstudio
codEmpleado
anioServ icio
item
rda
numHijos direccion
observ aciones
idEL
Asignaturas
Turnos
idTurno
id-Turno
id_licen
cia
desde
ci
Personal_Licencias id_licencia
Permisos
id_per
ci
Carreras
ci
hasta
entrada_max
entrada
desde
hasta
motiv o
f echa
dia
turno
pin
situacionActual
codProf
ci
ci
ci
salida_min
salida_max
salida
ci
f echa
cod_carrera
entrada_min
f echa_Retiro
huella
ci
Personal_Permiso id_Permiso
Asistencia id_asis
cargo
nombre_Turn
hora_sali
hora_entrada
o
da
dia
Personal_Turnos c i
Licencias
institucion
f otograf ia
tipoEmpleado
Experiencia
laboral
lugarTrab
f echa_Ing
reso
telef ono
nombre_Turno
nombre_carre
ra
entro
salio
atraso
observ
horas_Trab
niv el
- 68 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Las asignaturas del mismo semestre no deben tener el mismo perodo de clases
Se debe evitar las horas libres entre asignaturas del mismo semestre.
- 69 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Datos de entrada
Lista de Asignaturas a las que hay que asignar horarios; estos datos son recuperados de
la base de datos del sistema.
Tabla 4.2. Asignaturas
Cdigo
Asignatura
ESO-701
LDI-731
MAT-701
MAT-713
MAT-714
PDI-701
Nombre Asignatura
LA EDUCACION EN EL
DESARROLLO
HISTORICO
TALLER DE
LENGUAJE
ALGEBRA I
GEOMETRIA
GEOMETRIA
ANALITICA
PRACTICA
PROFESIONAL I
Carga
horari
a
Carrera
Docente
Primero
MATEMATICA
1226945
Primero
MATEMATICA
1023114
Primero
Primero
4
4
MATEMATICA
MATEMATICA
1034579
1267202
Primero
MATEMATICA
1000409
Primero
MATEMATICA
1061014
Semestre
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
- 70 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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
asignatura
docente
posAsig
Semestre
estado
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.
- 71 -
INGENIERA DE SISTEMAS
UMRPSFXCH
float puntua
}
class Gen {
int tamAsig, tamPer;
List listaAsignaturas;
List listaAulaPeriodos;
// Constructor de la Clase Gen
- 72 -
INGENIERA DE SISTEMAS
UMRPSFXCH
this.tamPer = lAp.size();
- 73 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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
//Se marca
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.
- 74 -
INGENIERA DE SISTEMAS
UMRPSFXCH
asignatura
docente
posAsignat
semestre
estado
List Ap;
- 75 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Adaptacin
Puntuacin
n+1
Puntuacin Acumulada
n+1
n+1
n+1
n+1
.
.
.
tp
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.
- 76 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 77 -
INGENIERA DE SISTEMAS
UMRPSFXCH
que almacena
Puntuacin Acumulada: Es una variable real que almacena la suma acumulada de las
puntuaciones de cada individuo:
- 78 -
INGENIERA DE SISTEMAS
UMRPSFXCH
sumTotalAdapta = ad + sumTotalAdapta;
tamIndiv= indiv.length;
poblacion.add(indiv);
}
//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);
- 79 -
INGENIERA DE SISTEMAS
UMRPSFXCH
ad = individuo[ti].getAdapt();
//puntuacin vlida
//puntuacin acumulada
}
// 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.
- 80 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 81 -
INGENIERA DE SISTEMAS
UMRPSFXCH
pos=(pos+1)%longitudIndividuo;
}
genes[i]=padre1[pos];
}
return genes;
}
public boolean existe(Gene[]genes,Gene ge){
boolean exis =false;
int elemAs =ge.getPos();
for(int i=0;i<genes.length-1;i++){
if(genes[i]!=null){
if(genes[i].getPos()== elemAs){
exis=true;
break;
}
}
} return exis;
}
Pseudocdigo operador de mutacin
// Operador de mutacion por intercambio
public Gene[] mutacion(Gene[]in3){
int nAlea1 =0;
int nAlea2 =0;
int li=in3.length;
Gene aux=null;
do{
nAlea1 = (int)((li-1)*Math.random());
nAlea2 = (int)((li-1)*Math.random());
}while (nAlea1!=nAlea2);
aux= in3[nAlea1];
in3[nAlea1]=in3[nAlea2];
in3[nAlea2]=aux;
return in3;
- 82 -
INGENIERA DE SISTEMAS
UMRPSFXCH
}
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());
- 83 -
INGENIERA DE SISTEMAS
UMRPSFXCH
poblacionInicial.add(individuo);
}
Esquema propuesto para la ejecucin de un algoritmo gentico con los parmetros obtenidos
desde una interfaz grfica.
AGenetico AG = new AGenetico
poblacionInicial = AG.inicializar();
//inicializa la poblacin
- 84 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
- 85 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Preparacin de la plataforma
Preparacin de soporte
Infraestructura de soporte
Sistema Operativo.
- 86 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
- 87 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Mdul o Control
de Asi stencia
Mdulo
Kardex de Personal
Mdul o Construi r
Horari os
Main.java
Swing
Interfaz
Autenti
car
Control
Asistencia
Administrar
Asistencia
Princip
al
Report
es
kardex
personal
ireport.jar
jarperReport
Construir
Horarios
ControlDao
toplinkEssenti
als
Entidades
- 88 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Cliente
SISTEMA
SISCAACH
Servidor
BASE DE DATOS
Acceso
JPA TOPLINK
ControlDao: Paquete que contiene a las siguientes clases control encargadas del acceso a
la Base de Datos
ControlAsistencias
Horarios
Kardex
Seguridad
- 89 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
Lib: Esta carpeta contiene todas las libreras utilizadas por el sistema.
- 90 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 91 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 92 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 93 -
INGENIERA DE SISTEMAS
UMRPSFXCH
}
@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.
- 94 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Figura 4.19. Implementacin de la base de datos (Interfaz SQL Maestro for MySQL)
Fuente: Elaboracin Propia
- 95 -
INGENIERA DE SISTEMAS
UMRPSFXCH
En la tabla 4.5 se muestra los niveles de acceso para los diferentes usuarios
Usuario
Administrador
Encargado
RRHH
Encargado de
horarios
Nivel
de
Acceso
1
2
Si
Si
Si
Si
Si
Si
Si
No
Si
No
No
No
No
Si
No
Identificar y asegurar que los defectos encontrados se han corregido antes de entregar
el software al cliente.
- 96 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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 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:
-
- 97 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Errores de interfaz.
Errores de rendimiento.
- 98 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 99 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Ingresar Contrasea
Verificar que el men asignado corresponda a las tareas asignados a dicho
usuario.
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.
- 100 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Actividades
Duracin
para
15 dias
reconocimiento
mtodos de optimizacin
15 das
10 das
el lenguaje de programacin
Persistencia de huellas digitales en
10 das
Base de datos
Anlisis de los Algoritmos Genticos
Construccin
del
algoritmo
20 das
20 das
Netbeans
20 das
MySQL
10 das
Estudio
Integracin
MySQL JPA
Fuente: Elaboracin Propia
Netbeans
20 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
1
1
- 101 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Diagrama de paquetes
Diagrama de clases
Documentacin
de
la
estimacin de tiempo y costo
Prototipo no funcional del
sistema
Subsistema Kardex del
Personal Docente
2
21
Construccin
Elaborar el modelo detallado de requerimientos
del subsistema para adecuarse a la arquitectura
planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Codificar los casos de uso
Probar los casos de uso a travs de prototipos
Elaborar Manual preliminar del usuario
ITERACIN III
28
Construccin
Elaborar el modelo detallado de requerimientos
del subsistema para adecuarse a la arquitectura
planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Codificar los casos de uso
Probar los casos de uso
Diagramas de colaboracin
1
11
3
Diagramas de estados
Subsistema codificado
Subsistema probado y validado
por los clientes
Documento
incrementado
manual del usuario
Subsistema
Control de
Asistencia
Diagramas de colaboracin
1
16
3
Diagramas de estados
Subsistema codificado
Subsistema probado y validado
por los clientes
Documento
incrementado
manual del usuario
Subsistema Construccin de
Horarios
46
Construccin
Elaborar el modelo detallado de requerimientos
21
- 102 -
INGENIERA DE SISTEMAS
UMRPSFXCH
ITERACIN V
Construccin
Elaborar el modelo detallado de requerimientos
del subsistema para adecuarse a la arquitectura
planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Probar los casos de uso
ITERACIN VI
Construccin
Elaborar el modelo detallado de requerimientos
del subsistema para adecuarse a la arquitectura
planteada
Elaborar el modelo detallado de clases del
subsistema
Elaborar los diagramas de interaccin del
subsistema
Elaborar el modelo de estados del subsistema
Codificar los casos de uso
Probar los casos de uso
28
1
56
Transicin
Elaborar un plan de pruebas
Diagramas de colaboracin
1
14
2
Diagramas de estados
Subsistema codificado
Subsistema probado y validado
por los clientes
Documento
incrementado
manual del usuario
Subsistema de Reportes y
mdulo de Seguridad
Diagramas de casos de uso y
descripcin detallada de los
casos de uso
Diagramas detallados de clases
Diagramas de colaboracin
1
2
Diagramas de estados
Subsistema probado y validado
por los clientes
Subsistema de Ayuda en lnea
Diagramas de colaboracin
1
10
2
Diagramas de estados
Subsistema codificado
Subsistema probado y validado
por los clientes
Documento
incrementado
manual del usuario
Sistema
implementado
y
probado
- 103 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 104 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 105 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 106 -
INGENIERA DE SISTEMAS
UMRPSFXCH
- 107 -
CAPITULO V
DISCUSIN DE
RESULTADOS
INGENIERA DE SISTEMAS
UMRPSFXCH
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
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
INGENIERA DE SISTEMAS
UMRPSFXCH
Hardware
Tabla 5.1. Especificacin tcnica de hardware (servidor)
Dispositivo
Caractersticas
T. Madre
Intel GC35EC
Procesador
Memoria RAM
2GB DDR2
Disco Duro
250 GB
Tarjeta de Red
Tarjeta de Video
Monitor
Samsung
Fuente: Elaboracin propia
ASRock WofGate
Procesador
Memoria RAM
1GB DDR2
Disco Duro
80 GB SATA
Tarjeta de Red
Monitor
LG 15
Fuente: Elaboracin propia
- 114 -
INGENIERA DE SISTEMAS
UMRPSFXCH
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
MySQL
5.1
iReport
3.5.1
ToplinkEssentials
(PC cliente)
Fuente: [Elaboracin Propia]
Gestionar Kardex de Personal, aadir, eliminar, modificar los datos del personal de la
institucin.
Gestionar Asignaturas, aadir, eliminar, modificar los datos de las asignaturas de cada
una de las carreras de la Institucin.
- 115 -
INGENIERA DE SISTEMAS
UMRPSFXCH
Construir horarios.
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.
INGENIERA DE SISTEMAS
UMRPSFXCH
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
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
INGENIERA DE SISTEMAS
UMRPSFXCH
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:
ASC,
Time
Tables
[en
lnea]
versin
2008,
Disponible
en:
SOFTAULA,
[en
lnea]
Versin
demo
2006.
Disponible
en:
REFERENCIA BIBLIOGRAFICA
INGENIERA DE SISTEMAS
UMRPSFXCH
[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:
REFERENCIA BIBLIOGRAFICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Revista
Empresarial
disponible
en:
http://www.revista-
Identificacin
Biomtrica
con
huellas
digitales,
[en
lnea],
disponible
en:
TECNOLOGIA
FINGERPRINT
Disponible
en:
http://www.betasoft-
REFERENCIA BIBLIOGRAFICA
INGENIERA DE SISTEMAS
UMRPSFXCH
OpenJPA
disponible
en:
http://terrazadearavaca.blogspot.com/2008/12/comparativa-de-implementaciones-de-jpa.html
[consulta 20 de octubre de 2009].
[37]
Mundo
Byte,
[en
Lnea]
disponible
http://mundobyte.wordpress.com/2008/01/05/creacion-de-reportes-en-java-parte-i
20 de Marzo de 2010].
REFERENCIA BIBLIOGRAFICA
en:
[Consulta
INGENIERA DE SISTEMAS
UMRPSFXCH
BIBLIOGRAFA
1. PRESSMAN, Roger S.; Ingeniera del Software un Enfoque Prctico, 5ta. Edicin.
Madrid: McGRAW-HILL/INTERAMERICANA DE ESPAA, S.A.U., 2003. 600p.
ISBN : 84-481-3214-9.
2. KENDALL, Kenneth E; KENDALL, Julie E., Anlisis y Diseo de Sistemas, 6ta.
Edicin. Mxico: PEARSON EDUCACION, 2005. 752 p. ISBN: 970-26-0577-6.
3. GILFILLAN, Ian, La Biblia de MySQL, 3ra Edicin,
Barcelona: ANAYA
BIBLIOGRAFIA
INGENIERA DE SISTEMAS
UMRPSFXCH
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
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
ANEXO A
GESTIN DEL PROYECTO
A.1. Estimacin de costo/esfuerzo del proyecto
Para la estimacin del costo del sistema se utiliz el modelo constructivo de costos Cocomo II
y dentro del mismo el modelo Post-Arquitectura. La estimacin de costo, esfuerzo y tiempo se
realiz aplicando la herramienta USC COCOMO II, para ello se parti de los casos de uso del
sistema. Los resultados de la estimacin se detalla a continuacin.
A.1.1. Clculo de Puntos Funcin
Identificacin de los flujos de entrada y salida, consultas Q, archivos lgicos internos y
externos.
Flujo de Entrada / pantalla FE
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ANEXO A
Complejidad
Alta
Media
Media
Baja
Media
Baja
Media
Media
Media
Baja
Alta
Baja
Media
Baja
Media
Media
Alta
Alta
Alta
Alta
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
Consulta
1
2
3
4
5
6
7
Autenticar Usuario
Bsqueda de personal
Bsqueda detalle asistencia diaria
Bsqueda detalle asistencia mensual
Bsqueda Licencias/Permisos
Registro de Asistencia
Bsqueda Horario Construido
No. De
criterios
2
3
2
3
2
2
1
Complejidad
Media
Media
Media
Media
Media
Media
Media
No
1
2
3
4
5
6
7
ANEXO A
Complejidad
Media
Media
Media
Baja
Media
Baja
Media
INGENIERA DE SISTEMAS
UMRPSFXCH
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
No
1
2
3
Complejidad
Baja
Baja
Flujo o
Baja
Archivo
3*5
4*9
FE
4*0
5*8
FS
3*0
4*7
Q
7*4
10 * 11
ALI
5*2
7*0
ALE
Total de puntos funcin no ajustados
Alta
Total
6*6
7*3
6*0
15 * 3
10 * 0
87
61
28
183
10
369
Clculo de KSLOC
Convirtiendo los puntos Funcin para un lenguaje de Tercera Generacin:
369 * 32 = 11808 SLOC
ANEXO A
INGENIERA DE SISTEMAS
UMRPSFXCH
SCED = 100%
Esfuerzo
Costo
T = 10.41
T = 10 meses
Clculo de Personas
Personas = E/T = 44.4/ 10
ANEXO A
Personas =
4 Personas mes
INGENIERA DE SISTEMAS
UMRPSFXCH
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
Tiempo de
Ejec.
10
10
80%
20%
25
00:00:50
10
50
80%
20%
21
00:01:26
10
100
80%
20%
23
00.04:03
15
10
80%
20%
25
00:01:07
15
50
80%
20%
18
00:03:20
15
100
80%
20%
20
00:06:03
20
10
80%
20%
25
00:02:05
20
50
80%
20%
18
00:04:15
20
100
80%
20%
22
00:07:58
30
10
80%
20%
23
00:01:35
30
50
80%
20%
19
00:06:10
30
100
80%
20%
21
00:11:55
40
10
80%
20%
23
00:02:05
40
50
80%
20%
20
00:0820
40
100
80%
20%
17
00:15:49
50
10
80%
20%
21
00:02:20
50
50
80%
20%
14
00:09:52
50
100
80%
20%
17
00:19:50
100
10
80%
20%
21
00:04:22
100
50
80%
20%
22
00:15:05
100
100
80%
20%
19
00:23:15
200
10
80%
20%
24
00:07:28
200
50
80%
20%
18
00:15:05
ANEXO B
INGENIERA DE SISTEMAS
UMRPSFXCH
200
100
80%
20%
15
00:28:10
300
10
80%
20%
17
00:06:25
300
50
80%
20%
23
00:15:46
300
100
80%
20%
22
00:27:28
400
10
80%
20%
19
00:07:10
400
50
80%
20%
25
00:16:24
400
100
80%
20%
19
00:32:40
500
10
80%
20%
21
00:10:50
500
50
80%
20%
19
00:18:14
500
100
80%
20%
18
00:37:30
ANEXO B
INGENIERA DE SISTEMAS
UMRPSFXCH
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:
Perifricos
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.
ANEXO C
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
ANEXO C
INGENIERA DE SISTEMAS
UMRPSFXCH
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.
ANEXO C
INGENIERA DE SISTEMAS
UMRPSFXCH
ANEXO C
INGENIERA DE SISTEMAS
UMRPSFXCH
ANEXO C
INGENIERA DE SISTEMAS
UMRPSFXCH
ANEXO C
INGENIERA DE SISTEMAS
UMRPSFXCH
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:
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 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.
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Especificacin de software
Identificacin de Actores
Encargado de RRHH
Encargado de Horarios
Personal
Descripcin de Actores
Actores
Subsistema
Encargado de Gestin
RRHH
Kardex
personal.
Control
asistencia.
Descripcin
de Es el que interacta con
de el subsistema kardex de
personal y Control de
de Asistencia.
Responsabilidad
Registrar toda la
informacin
correspondiente
al
personal,
asignar
turnos,
emitir
informes
relacionados
al
kardex de personal y
control de asistencia
Encargado de
horarios
Generar
Horarios
Personal
Control de
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Asistencia
Captura de requerimientos
Requerimientos funcionales
-
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Requerimientos no funcionales
-
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.
El software debe ser robusto, es decir que no se vea afectado por manipulaciones
inadecuadas del usuario.
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Gestionar
Kardex Personal
Encargado RRHH
Gestionar Asistencia
Registrar Huella
Administrador
personal
Control Asistencia
Construir Horarios
Encargado
Horarios
Gestin de Usuarios
<<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
No.
Actor
Sistema
Valida los datos ingresados y si existe un
error despliega un mensaje.
Almacena los datos.
3
Flujo Alternativo:
3
2
5
Flujo: Eliminar Usuario
No.
1
Actor
Sistema
2
3
Elige la opcin SI
5
Flujo Alternativo:
2
4
Elige la opcin NO
No elimina el registro
5
Flujo: Editar Usuario
No.
1
Actor
Sistema
2
3
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Sale de la pantalla
Flujo Alternativo:
2
Elige la opcin NO
<<include>>
Gestionar Experiencia Laboral
Buscar Personal
<<include>>
Consultas
<<include>>
Reportes
Gestionar Prof esiones
Gestionar Personal
Encargado RRHH
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
No.
1
Actor
Elige la opcin aadir Personal
2
3
4
5
6
Sistema
Sale de la pantalla
Flujo Alternativo:
Despliega un mensaje de error, si los datos
estn duplicados o errneos.
5
4
5
4
5
Flujo: Eliminar Personal
Actor
No.
1
2
3
4
Sistema
Elige la opcin SI
Elimina el registro correspondiente al
personal
5
Flujo Alternativo:
2
4
Elige la opcin NO
5
Flujo: Editar Personal
REFERENCIA TCNICA
No elimina el registro
INGENIERA DE SISTEMAS
UMRPSFXCH
Actor
No.
1
Sistema
2
3
5
6
Sale de la pantalla
Flujo Alternativo:
2
Elige la opcin NO
No.
1
Actor
Elige la opcin aadir
2
3
4
Sistema
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
5
6
Sale de la pantalla
Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.
5
4
5
4
5
Flujo: Eliminar Datos Experiencia Laboral
No.
1
2
3
Actor
Selecciona
eliminado.
registro
Sistema
a
Elige la opcin SI
Elimina el registro seleccionado
4
Flujo Alternativo:
3
Elige la opcin NO
Regresa al formulario anterior
No elimina el registro
No.
1
2
Actor
Sistema
5
6
REFERENCIA TCNICA
Vuelve al flujo 1
INGENIERA DE SISTEMAS
UMRPSFXCH
Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.
3
4
Elige la opcin NO
No modifica los datos del personal
No.
1
Actor
Elige la opcin aadir
2
3
4
5
6
7
Sistema
Sale de la pantalla
Flujo Alternativo:
5
6
Flujo: Eliminar Datos Situacin Laboral
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
No.
1
2
3
Actor
Sistema
Elige la opcin SI
Elimina el registro seleccionado
4
Flujo Alternativo:
3
Elige la opcin NO
Regresa al formulario anterior
No elimina el registro
No.
1
2
3
4
5
Actor
Elige la opcin SI
Almacena los datos modificados
6
7
Sistema
Vuelve al flujo 1
Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.
3
5
Elige la opcin NO
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Gestionar Profesiones
Descripcin General: Permite crear y eliminar profesiones
Actor: encargado de RRHH
Precondiciones:
El personal debe estar registrado previamente
Postcondiciones: Los datos de profesiones son almacenados en la Base de Datos y
pueden utilizarse en el registro de personal.
Flujo: Aadir Profesin
No.
Actor
Sistema
Habilita los campos para insertar nueva
profesin en la pantalla profesiones.
2
3
Sale de la pantalla
Flujo Alternativo:
Flujo: Eliminar Profesin
No.
1
2
3
Actor
Selecciona
tabla
Elige la opcin SI
Elimina el registro seleccionado
4
5
Sistema
Sale de la pantalla
Flujo Alternativo:
3
Elige la opcin NO
REFERENCIA TCNICA
No elimina el registro
INGENIERA DE SISTEMAS
UMRPSFXCH
<<include>>
Administrar Huellas Pin
Asignar Turnos
Buscar Personal
Gestionar Licencias
Gestionar Turnos
Consultas
Reportes
Encargado RRHH
Gestionar Turno
Descripcin General: Permite crear, eliminar y modificar turnos de trabajo para el
personal de la Institucin.
Actor: Encargado de RRHH
Precondiciones:
El usuario debe haberse logeado en el Sistema.
El usuario debe tener privilegios para gestionar Turno.
Postcondiciones: Los Turnos de trabajo son guardados en la Base de Datos y podrn
usarse en la asignacin de turnos al personal.
Flujo: Aadir Turno
No.
1
Actor
Elige la opcin aadir Turno
2
3
4
Sistema
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
5
6
Sale de la pantalla
Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.
5
Flujo: Eliminar Turno
No.
Actor
2
3
4
Elige la opcin SI
Elimina el registro correspondiente al
personal
5
6
Sistema
Sale de la pantalla
Flujo Alternativo:
4
Elige la opcin NO
No elimina el registro
No.
Actor
2
3
4
5
6
Sistema
Sale de la pantalla
Flujo Alternativo:
5
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Asignar Turno
Descripcin General: Permite asignar turnos de trabajo al personal de la Institucin.
Actor: Encargado de RRHH
Precondiciones:
El usuario debe haberse logeado en el Sistema.
Debe existir personal registrado.
Deben existir turnos de trabajo registrados para ser asignados.
El usuario debe tener privilegios para asignar turnos.
Postcondiciones: Los Turnos asignados al personal son guardados en la Base de
Datos y podrn usarse en el control de asistencia.
Flujo: Asignar Turno
No.
1
Actor
Sistema
2
3
Selecciona Personal.
Selecciona Turno
Elige
la
Asignados
opcin
Flujo Alternativo:
No.
Actor
Sistema
Selecciona Personal
Elige
la
Asignados
REFERENCIA TCNICA
opcin
INGENIERA DE SISTEMAS
UMRPSFXCH
6
7
Sale de la pantalla
Flujo Alternativo:
5
Elige la opcin NO
No elimina el registro
6
Flujo : Editar Turnos
No.
Actor
2
3
4
5
6
Sistema
Sale de la pantalla
Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
No.
1
2
3
Actor
Sistema
4
5
Sale de la pantalla
Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.
4
Flujo: Eliminar das no hbiles
No.
1
2
3
Actor
Selecciona
eliminado.
Sistema
registro
Elige la opcin SI
Elimina los datos
4
5
Sale de la pantalla
Flujo Alternativo:
3
Elige la opcin NO
No elimina los datos
Gestionar Licencias
Descripcin General: Permite al encargado asignar licencias al personal de la
institucin.
Actor: Encargado RRHH
Precondiciones:
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
No.
Actor
Elige la
licencia.
Selecciona el personal
3
4
5
opcin
Sistema
gestionar Despliega una pantalla con la lista de
personal registrado y turnos disponibles.
6
7
Sale de la pantalla
Flujo Alternativo:
Despliega un mensaje de error, si los
datos estn duplicados o errneos.
No.
1
2
3
Actor
Selecciona
eliminado.
registro
Elige la opcin SI
Elimina los datos
4
5
Sistema
Sale de la pantalla
Flujo Alternativo:
3
Elige la opcin NO
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Registrar Huella
<<extend>>
<<include>>
Marcar Asistencia
<<include>>
Personal
Encargado RRHH
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
No.
Actor
Sistema
Si no encuentra el CI despliega un
mensaje de Personal no encontrado
verifique sus datos
7
8
Deshabilita
registrar
la
opcin
Flujo Alternativo:
6
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
No.
1
Actor
Sistema
Flujo Alternativo:
Marcar Asistencia
Descripcin General: Permite al personal registrar su hora de entrada y salida
Actor: Personal
Precondiciones:
El personal debe estar registrado previamente
El personal debe tener turnos asignados
El personal debe tener su registro de huella digital almacenado
Postcondiciones: Los datos de asistencia del personal son almacenados en la Base de
Datos.
Flujo: Marcar Asistencia
No.
Actor
Sistema
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
5
Flujo Alternativo:
2
Gestionar Aulas
Gestionar Periodos
Ejecutar Algoritmo
<<include>>
<<include>>
<<include>>
<<extend>>
Conf igurar Horarios
parametros algoritmo
Reportes
Gestionar Asignaturas
Exportar Horarios
Gestionar Carreras
Encargado
Horarios
Gestionar Carreras
Descripcin General: Permite crear y eliminar Carreras
Actor: Encargado de Horarios
Precondiciones:
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
No.
Actor
Sistema
2
3
Sale de la pantalla
Flujo Alternativo:
Flujo: Eliminar Carrera
No.
1
2
3
Actor
Selecciona
tabla
Sistema
4
5
Sale de la pantalla
Flujo Alternativo:
3
Elige la opcin NO
No elimina el registro
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
No.
Actor
Sistema
2
3
Sale de la pantalla
Flujo Alternativo:
Flujo: Eliminar Asignatura
No.
1
2
3
Actor
Selecciona
tabla
Sistema
4
5
Sale de la pantalla
Flujo Alternativo:
3
Elige la opcin NO
No elimina el registro
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
No.
Actor
Sistema
2
3
Sale de la pantalla
Flujo Alternativo:
Flujo: Eliminar Periodos
No.
1
2
3
Actor
Selecciona
tabla
Elige la opcin SI
Elimina el registro seleccionado
4
5
Sistema
Sale de la pantalla
Flujo Alternativo:
3
Elige la opcin NO
No elimina el registro
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
No.
Actor
Sistema
2
3
Sale de la pantalla
Flujo Alternativo:
Flujo: Eliminar Aulas
No.
1
2
3
Actor
Selecciona
tabla
Sistema
4
5
Sale de la pantalla
Flujo Alternativo:
3
Elige la opcin NO
No elimina el registro
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
No.
Actor
11
10
Sistema
12
Selecciona
las
aulas
que
participaran en la generacin de
aulas
13
Elige la opcin Parmetros del Despliega una ventana con los campos y
Algoritmo
la informacin necesaria para ejecutar el
algoritmo generador de horarios
14
15
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
16
17
18
19
20
Elige
la
generados
opcin
Selecciona docente
Sale de la ventana
Flujo Alternativo:
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Diagramas de secuencia
Gestionar Usuario
: Principal
: Administrador
: VUsuarios
: UsuariosDao
: Usuario
1: ingresar()
2. abrir()
3: registrarNuevo Usuario()
4: introducirDatos()
5: validar()
6: guardarUsuario()
7: retornarProceso()
8: eliminarUsuario()
9: seleccionarUsuario()
10: eliminar()
11: confirmarProceso()
12: salir()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
: 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( )
16: actualizar()
17: validarDatos()
18: actualizarPersonal
19: confirmarActual izar()
20: salir()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Experiencia Laboral
: Encargado
RRHH
: Kardex
1: abrir()
: Buscar
2: buscar()
: PersonalDao
: VExperienciaLab
: ExperienciaLaboralDao
: ExperienciaLabora
3: buscarPersonal()
4: retornaPersonal()
5: insertarExpLab()
6: insertarDatos()
7: validar()
8: guardarDatos()
9: confirmarProceso()
10: eliminarExpLab()
11: seleccionar()
12: eliminar()
13: confirmarEliminar
14: actualizarExpLab
15: seleccionarExpLab
16: actualizar()
17: confirmarActualizar()
18: salir()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Situacin Laboral
: Encargado
RRHH
: Kardex
1. abrir()
: Buscar
2: buscar()
: PersonalDao
: VSituacionLab
: SituacionLaboralDao
: Situacionlaboral
3:buscarPersonal
4: retornaPersonal()
5: insertarSitLab()
6: insertarDatos()
7: validar()
8: guardarDatos()
9: confirmarProceso
10: eliminarSitLab()
11: seleccionar()
12: eliminar()
13: confirmarEliminar()
14: actualizarSitLab()
15: seleccionarSitLab()
16: actualizar()
17: confirmarActualizar()
18: salir()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
: Encargado
RRHH
: Principal
: AdministrarAsistencia
1: ingresar()
2: abrir()
: VTurnos
: Turnoss
: TurnosDao
3: abrir()
4: registrarNuevoTurno()
5: llenarDatos()
6: validar()
7: guardarTurno()
8: confirmarProceso
9: eliminarTurno()
10: seleccionarTurno()
11: eliminarTurno(id Turno)
12: confirmarProceso()
13: salir()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Asignar turnos
: Encargado
RRHH
: Principal
: AdministrarAsi stencia
: VPersonal
: VTurnos
: VTurnosAsi gnados
: PersonalTurnosDao : Personalturnos
1: ingresar()
2: abrir()
3: abrir()
4: seleccionarPersonal()
5. selecci onarTurnos()
6: asignarTurnos()
9: salir()
REFERENCIA TCNICA
7: asignar()
8:turnosAsignados()
INGENIERA DE SISTEMAS
UMRPSFXCH
Gestionar Licencias
: Encargado
RRHH
: Principal
1. ingresar()
: AdministrarAsistencia
: VLicencias
: LicenciaDao
: Licencia
2:abrir()
3: abrir()
4: introducirIDPersonal()
5: idPersonal()
6: verificar()
7: mostrarDatosPersonales()
8: registrarLicencia()
9: registrar()
10: mostrarLicencia()
11: seleccionarLicencia()
12: eliminarLicencia(id lic)
13: eliminar()
14: confirmarProceso()
15: salir()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Registrar Huella
: Principal
: Encargado
RRHH
: VControlAsistenci a
: Persona
: PersonalDao
1: ingresar()
2: abrir()
3: activarModoInsercion()
4: capturarHuella()
5: buscarFotografia()
6: registrarHF()
7. vali dar()
8: registrar()
9: confirmarProceso()
10: desactivarModoInsercion()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Marcar Asistencia
: Perssonal
: VControlAsistencia
: AsistenciaDao
: Asisstencia
1: registrarHuella()
2. enviarDatos()
3: validar()
4: registrarAsistencia()
5: visualizarDatosAsistencia
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
: 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()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Construir horarios
: Encargado
Horarios
: Principal
1. ingresar()
: VConstruirHorarios
: VParametrosHorario
: VParametrosAlgoritmo
: AlgoritmoGenetico
: VHorarios
2: abrir()
3: parametrosHorario()
4: parametrosAlgoritmo()
5: ejecutarAlgoritmo()
6: validar()
7: mostrarHorariosConstruir()
8: salir()
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Diagramas de Colaboracin
Gestionar Usuario
1: ingresar()
: Administrador
3: registrarNuevoUsuario()
8: eliminarUsuario()
: Principal
12: salir()
2: abrir()
: VUsuarios
7: retornarProceso()
11: confirmarProceso()
5: validar()
4: introducirDatos()
9: seleccionarDatos()
6: guardarUsuario()
10: eliminar()
: Usuario
: UsuariosDao
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
1: abrir()
3: aadirPersonal()
13: eliminar()
16: actualizar()
2: abrir()
: Encargado RRHH
20: salir()
: Principal
: Gestionar Personal
8: mostrar()
7: confirmarProceso()
12: mostrarPersonal()
9: parametros()
: Buscar
4: verificarDatos()
17: validarDatos()
15: confirmarEliminar()
19: confirmarActualizar()
6: ok()
11: retornarPersonal()
: Persona
5: aaadirPersona
10: buscarPersonal()
14: eliminarPersona()
18: actualizarPersonal()
REFERENCIA TCNICA
: PersonalDao
INGENIERA DE SISTEMAS
UMRPSFXCH
Experiencia Laboral
1: abrir()
3: buscarPersonal()
2: buscar()
: Kardex
: Encargado
RRHH
: Buscar
7: validar()
4: retornarPersoanl()
5: insertarExpLab()
10: eliminarExpLab()
14: actualizarExpLab()
18: salir()
6: insertarDatos()
11: seleccionar()
15: seleccionarExpLab( )
: PersonalDao
8: guardarDatos()
: ExperienciaLaboralDao12: eliminar()
16: actualizar()
9: confirmarProceso()
13: confirmarEliminar()
17: confirmarActualizar()
: VExperienciaLab
REFERENCIA TCNICA
: ExperienciaLabora
INGENIERA DE SISTEMAS
UMRPSFXCH
Situacin Laboral
1: abrir()
3: buscarPersonal()
2: buscar()
: Kardex
: Encargado
RRHH
: Buscar
4: retornarPersonal()
5: insertarSitLab()
10: eliminarSitLab()
14: actualizarSitLab()
7: validar()
18: salir()
6: insertarDatos()
11: seleccionar()
15: seleccionarSitLab()
: VSituacionLab
: PersonalDao
: SituacionLaboralDao
8: guardarDatos()
12: eliminar()
16: actualizar()
9: confirmarProceso()
13: confirmarEliminar()
17: confirmarActualizar()
REFERENCIA TCNICA
: Situacionlaboral
INGENIERA DE SISTEMAS
UMRPSFXCH
2: abrir()
1: ingresar()
: Encargado
RRHH
4: registrarNuevoTurno()
9: eliminarTurno()
: Principal
13: salir()
8: confirmarProceso()
12: confirmarEliminar()
: Turnoss
: VTurnos
: GestionarAsistencia
3: abrir()
5: llenarDatos()
10: seleccionarTurno()
7: guardarTurno()
11: eliminarTurno(idTurno)
REFERENCIA TCNICA
6: validar()
: TurnosDao
INGENIERA DE SISTEMAS
UMRPSFXCH
Asignar Turnos
2: abrir()
1: ingresar()
: Principal
: Encargado
RRHH
9: salir()
4: seleccionarPersonal()
: GestionarAsistencia
3: abrir()
5: seleccionarTurnos()
: VTurnosAsignados
: VTurnos
: VPersonal
6: asignarTurnos()
8: turnosAsignados()
7: asignar()
: Personalturnos
REFERENCIA TCNICA
: PersonalTurnosDao
INGENIERA DE SISTEMAS
UMRPSFXCH
Gestionar Licencias
2: abrir()
1: ingresar()
: Principal
: Encargado
RRHH
: GestionarAsistencia
4: intrudicirIDPersonal()
11: seleccionarLicencia()
6: verificar()
15: salir()
3: abrir()
5: idPersonal()
8: registrarLicencia()
12: eliminarLicencia(id lic)
7: mostrarDatosPersonales()
: VLicencias
: LicenciaDao
9: registrar()
13: eliminarLic()
10: mostrarLicencia()
14: confirmarProceso()
: Licencia
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Registrar Huella
1: ingresar()
: Principal
: Encargado
RRHH
3: activarM odoInsercion()
4: capturarHuella( )
5: buscarFotografia( )
10: desactivarModoInsercion( )
2: abrir()
7: validar()
6: registrarHF()
: VControlAsistencia
: PersonalDao
8: registrar()
9: confirmarProceso()
: Persona
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Marcar Asistencia
3: validar()
1: registrarHuella()
2: enivarDatos()
: VControlAsistencia
: Perssonal
: AsistenciaDao
5: visualizarDatosAsistencia()
4: registrarAsistencia()
: Asisstencia
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
2: abrir()
1: ingresar()
: Principal
: Encargado
Horarios
4: registrarNuevaAsig
8: eliminarAsignaturas()
12: actualizarAsignatura()
: VGestionarHorarios
17: salir()
3: abrir()
: VAsignaturas
6: validar()
14: validar()
5: llenarDatos()
9: seleccionarAsignatura()
13: modificarDatos()
11: confirmarEliminar()
16: confirmarActualizar( )
7: guardarDatos()
10: eliminarAsignatura()
15: actualizarAsignaturas( )
: Asignatura
: AsignaturasDao
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Construir Horarios
2: abrir()
1: ingresar()
: Principal
: Encargado
Horarios
: VConstruirHorarios
3: parametrosHorario()
4: parametrosAlgoritmo()
: VParametrosHorario
8: salir()
6: validar()
7: mostrarHorariosConstruidos()
5: ejecutarAlgoritmo()
: VParametrosAlgoritmo
: AlgoritmoGenetico
REFERENCIA TCNICA
: VHorarios
INGENIERA DE SISTEMAS
UMRPSFXCH
Proceso de pruebas
Pruebas de Unidad
Prueba Ingresar al Sistema
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
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Conclusiones
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
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
Datos de prueba
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
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
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
Problemas
Solucin
REFERENCIA TCNICA
INGENIERA DE SISTEMAS
UMRPSFXCH
DICCIONARIO DE DATOS
Diccionario de Datos
Un diccionario de datos es una descripcin detallada de todos los datos utilizados en la Base
de Datos.
Tabla Asignaturas
Atributos
id_asig
cod_asig
nombre_asig
semestre
carga_horaria
carrera
docente
nivel
Tipo de Dato
Integer NOT NULL
String
String
String
String
String
String
String
Tabla Asistencia
Atributos
id_asis
ci
fecha
id_turno
nombre_turno
entrada
salida
atraso
observaciones
Tipo de Dato
Integer NOT NULL
String
Date
Integer
String
Time
Time
Time
String
Tabla Aula
Atributos
id_aula
bloque
descripcin
REFERENCIA TCNICA
Tipo de Dato
String NOT NULL
String
String
INGENIERA DE SISTEMAS
UMRPSFXCH
Tabla AulaAsignada
Atributos
idAulaAsig
nivel
carrera
Semestre
Tipo de Dato
INT NOT NULL
String
String
String
Tabla Calendario
Atributos
fecha
descripcion
Tipo de Dato
Date NOT NULL
String
Tabla Carrera
Atributos
id_carrera
nombre_carrera
Nivel
Tipo de Dato
Integer NOT NULL
String
String
Tabla ExperienciaLaboral
Atributos
idel
lugarTrabajo
institucion
cargo
fecha_ingreso
fecha_retiro
ci
Tipo de Dato
Integer NOT NULL
String
String
String
Date
Date
String
Tabla Licencia
Atributos
id_licencia
ci
desde
hasta
motivo_licencia
REFERENCIA TCNICA
Tipo de Dato
Integer NOT NULL
String
Date
Date
String
INGENIERA DE SISTEMAS
UMRPSFXCH
Tabla Permisos
Atributos
id_permisos
ci
fecha
nombre_turno
Motivo
Tipo de Dato
Integer NOT NULL
String
Date
String
String
Tabla Personal
Atributos
ci
paterno
materno
nombres
sexo
fechaNacimiento
grupoSanguineo
lugarNacimiento
nivelEstudio
estadoCivil
aniosServicio
categora
rda
numeroHijos
direccion
telefono
email
fotografia
tipoMarca
huella
pin
Profesiones
Tipo de Dato
String NOT NULL
String
String
String
String
Date
String
String
String
String
Integer
String
String
Integer
String
String
String
Blob
Boolean
Blob
String
String
Tabla Profesiones
Atributos
cod_prof
nombre_profesion
REFERENCIA TCNICA
Tipo de Dato
Integer NOT NULL
String
INGENIERA DE SISTEMAS
UMRPSFXCH
Tabla situacionLaboral
Atributos
idsl
ci
cargo
desde
hasta
item
observaciones
tipoContrato
situacionLab
cargodocente
Tipo de Dato
Integer NOT NULL
String
String
Date
Date
String
String
String
String
String
Tabla Turnos
Atributos
id_turno
dia
nombre_turno
hora_entrada
hora_salida
entrada_minima
entrada_max
salida_min
Salida_max
Tipo de Dato
Integer NOT NULL
String
String
Time
Time
Time
Time
Time
Time
Tabla usuarios
Atributos
idusuario
ci_usuario
apellido_nombre
nombre_usuario
contrasena
tipo_usuario
nivel_acceso
Tipo de Dato
Integer NOT NULL
String
String
String
String
String
Integer
Tabla horario
Atributos
Id
Nombre
REFERENCIA TCNICA
Tipo de Dato
Integer NOT NULL
String
INGENIERA DE SISTEMAS
UMRPSFXCH
horarioCreado
carrera
docente
nivel
REFERENCIA TCNICA
Blob
String
String
String