inteligente) 4.1 Visin general del proyecto De manera general, el desarrollo del proyecto consisti en implementar un software para la seleccin de personal que le sirva como filtro al reclutador del rea de recursos humanos dentro de una empresa. El sistema recolecta la informacin a travs de un parmetro evaluador que en este caso es un cuestionario que registrarn los candidatos.
Para el anlisis inicial y diseo del sistema, se apoy de la metodologa Prometheus por su facilidad de uso y rapidez para generar los diversos diagramas.
4.2 Especificaciones del sistema 4.2.1 Diagrama de escenarios En la figura 4.1 se muestran todos los posibles escenarios que contiene el sistema. A fin de aclarar algunas de las relaciones del diagrama cabe hacer notar que para poder borrar un cuestionario o modificarlo se debi previamente pasar por el escenario de crear un cuestionario.
En las tablas 4.1, 4.2 y 4.3 se muestran los detalles de la descripcin de los escenarios.
Figura 4.1 Diagrama de escenarios
Tabla 4.1 Descripcin de escenarios
Nombre Descripcin Prioridad Pasos previos Acceder al sistema Este escenario describe el acceso al sistema tanto de los candidatos como del propio administrador del sistema Esencial - Reporte candidatos El administrador del sistema generar el reporte de los distintos candidatos que ya registraron su examen para el perfil de trabajo solicitado, esta solicitud es hecha al Agente Controlador, en este reporte se da al candidato ideal. Esencial Escenario Evaluar Candidato Consultar candidato Una consulta al cuestionario aplicado al candidato. Opcional Escenario Evaluar Candidato Crear perfil de trabajo El perfil de trabajo es la descripcin como elementos especficos que describen la actividad para la cual estamos buscando un candidato. Esencial - 4
Tabla 4.2 Descripcin de escenarios Nombre Descripcin Prioridad Pasos previos Registrar encuestas candidato Este escenario tiene que ver con el registro de las encuestas va web por parte de los candidatos a un puesto de trabajo. Opcional Escenario acceder al sistema Evaluar candidato La evaluacin del candidato se lleva a cabo aplicando el parmetro de evaluacin por parte del Agente Evaluador. Opcional - Crear cuestionario Este escenario tiene que ver con el crear el cuestionario que es el parmetro para evaluar a los distintos candidatos para un puesto de trabajo en especfico. Opcional - Modificar cuestionario La modificacin del cuestionario solo podr ser efectuada por el administrador del sistema. Esencial Escenario crear cuestionario
Tabla 4.3 Descripcin de escenarios Nombre Descripcin Prioridad Pasos previos Borrar cuestionario El borrado del cuestionario no se permitir si alguien ya evalu ese cuestionario. Esencial Escenario Crear cuestionario Modificar perfil trabajo Permite modificar un perfil de trabajo. Esencial Escenario Crear perfil trabajo Asignar parmetro de evaluacin(cuestionario) En este caso asignamos el cuestionario (parmetro de evaluacin) a un puesto de trabajo en especfico. - Escenario crear perfil trabajo
4.2.2 Diagrama de objetivos El diagrama de objetivos es un grafo a cclico de todos los objetivos que existen dentro del sistema; es muy til para relacionar los objetivos y ver su dependencia. La figura 4.2 muestra el diagrama de objetivos del SSPi.
4.2.3 Diagrama de roles La figura 4.3 muestra los distintos roles que se identifiquen en el sistema con sus respectivos objetivos, percepciones y acciones. Como complemento en las tabla 4.4 se tiene una descripcin de los roles del sistema.
4.2.4 Diagrama de agrupamiento agente-rol En la figura 4.4 se muestra la asignacin de roles a su correspondiente agente. Cabe mencionar que un agente puede tener varios roles. Estos diagramas son muy importantes ya que nos dan la visin de las responsabilidades de cada uno de los agentes.
Tabla 4.4 Descripcin de roles
Rol Descripcin Objetivos Administrador de tareas El rol de administrador de tareas de encargara de recibir todas las peticiones por parte de los usuarios y otras actividades las delegara a otras entidades. Cargar perfil de trabajo, comprobar existencia cuestionario, verificar acceso, obtener informacin de evaluaciones. Administrador de sistema El rol de administrador del sistema, se encarga de las principales funciones del sistema y en general de toda la administracin. Crear perfil de trabajo escenario, modificar perfil trabajo, asignar cuestionario a perfil trabajo, consulta perfil de trabajo, acceso de usuario, modificar cuestionario para perfil, borrar cuestionario, crear cuestionario. Candidato a puesto de trabajo El candidato representa a la persona que desea ser evaluada para cierto puesto de trabajo. Acceso de usuario, registrar encuesta candidato. Evaluador El rol evaluador es el encargado de recibir las peticiones de evaluacin y llevarlas a cabo. Evaluacin de candidato Monitor de actividades El monitoreo de las fallas del sistema. Evaluacin de candidato
Figura 4.2 Diagrama de objetivos
9
Figura 4.3 Diagrama de roles
Figura 4.4 Diagrama de agrupamiento agente-rol
4.3 Diseo del cuestionario El cuestionario ser el parmetro de evaluacin para la seleccin de un candidato para un puesto de trabajo; el cuestionario evaluar 5 categoras bsicas las cuales son matemticas, comunicacin, tecnolgicas, trabajo bajo presin y presentacin.
La estructura del cuestionario se muestra en la tabla 4.5.
11
Tabla 4.5 Estructura cuestionario Cuestionario Pregunta Categora de evaluacin o habilidad a evaluar Cuerpo pregunta Peso de pregunta Respuesta [1..N] Peso de respuesta dentro de la pregunta Cuerpo respuesta Tipo
Categora de evaluacin: Un cuestionario de evaluacin es recomendable que evale varios criterios o categoras. Estas, por ejemplo, puede ser habilidades fsicas, computacionales, matemticas, tipo de personalidad, liderazgo etc.
Cuerpo pregunta: Esto es el contenido de la pregunta.
Peso de pregunta: Es el valor o peso que tiene la pregunta dentro de la categora.
Respuesta: Corresponde a la seleccin de una posibilidad de la lista de respuestas.
Cuerpo respuesta: El contenido que aparecer en pantalla para ser seleccionada por el candidato.
Peso de respuesta: Es el peso de esa respuesta dentro de la totalidad de posibilidades, para la pregunta.
Tipo: Los tipos de respuestas que se manejan son enteras, reales de 1 carcter o una cadena de caracteres.
12
4.3.1 Evaluacin del cuestionario El cuestionario ser calificado en base a proporciones, este criterio de evaluacin ser del conocimiento del agente evaluador el cual se detalla en una seccin en las prximas pginas. La frmula que se aplica para calificar cada una de las preguntas contestadas por el candidato es la siguiente:
Calificacin pregunta =(peso de respuesta * peso pregunta) / 100
La suma total de las calificaciones de las preguntas que pertenecen a un requerimiento o habilidad de evaluacin, me genera solo la calificacin de ese requerimiento.
Para obtener la evaluacin final de todo el cuestionario se debe aplicar el siguiente algoritmo, hay que mencionar que N es el nmero de requerimientos para un puesto de trabajo en especfico: CP=Calificacin preguntas del requerimiento FR=Factor del requerimiento Tanto CP como FR son vectores que contiene N cantidad de elementos
Suma=0 Desde i=0 hasta N Suma=Suma +CP ( i ) * FR ( i ) i=i+1 13
4.4 Diagramas de clase 4.4.1 Puesto de trabajo Tiene el objetivo de llevar la administracin de un puesto de trabajo; ste representa el perfil de una plaza de trabajo en una empresa para ser asignado a algn posible candidato. El diagrama de clase se puede ver en la figura 4.5.
Figura 4.5 Puesto de trabajo
14
4.4.2 Requerimientos del puesto de trabajo Un puesto de trabajo como tal tiene requerimientos. stos estn definidos por las categoras de evaluacin que hemos definido anteriormente. Cada una de las categoras o habilidades tiene asignado un peso que va desde 0 a 1, por ejemplo un posible peso sera 0.25. El peso que le asigne a un requerimiento de trabajo me definir la importancia que se le est dando a esa habilidad o requerimiento para un puesto de trabajo. En la figura 4.6 se puede consulta el diagrama de clase de requerimientos del puesto de trabajo.
Figura 4.6 Diagrama de clase requerimientos del puesto de trabajo
15
4.4.3 Usuario del sistema Esta clase representa al usuario del sistema, el cual es bsicamente el reclutador del personal que se encargar de administrar el sistema SSPi, su diagrama de clase puede ser consultado en la figura 4.7.
Figura 4.7 Diagrama de clase usuario del sistema
16
4.4.4 Candidato al puesto de trabajo El candidato al puesto de trabajo es la persona que solicita llenar una solicitud de trabajo para cierto puesto y es evaluado a partir de un cuestionario. El candidato puede tener varias solicitudes de trabajo siempre y cuando sean de distintos puestos de trabajo, en la figura 4.8 podemos consulta su diagrama de clase.
Figura 4.8 Diagrama de clase candidato al puesto de trabajo 17
4.4.5 Catlogo de los puestos de trabajo Este es un catlogo de todos los puestos de trabajo que existen dentro del sistema, todo el tiempo se tiene que tener actualizado, ya que muchas otras entidades ocupan su informacin. En la figura 4.9 se aprecia su diagrama de clase.
Figura 4.9 Diagrama de clase catlogo de puestos de trabajo
4.4.6 Respuesta del cuestionario Esta entidad representa una respuesta exclusivamente para una pregunta ya que estn ligadas, tienen asociado un peso este peso representa la importancia de este esta respuesta de un conjunto de respuestas para 1 pregunta. La suma total de los pesos de las respuestas de una pregunta en especfico debe de dar 100 y solo puede tomar valores reales positivos. En la figura 4.10 se puede consulta su diagrama de clase.
18
Figura 4.10 Diagrama de clase respuesta
4.4.7 Pregunta del cuestionario La entidad pregunta es el primer nivel de la estructura del cuestionario. sta tiene asociado un peso que puede tomar valores reales positivos y la suma total de los pesos de las preguntas que pertenecen a una categora en especfico debe de dar 100.
Una pregunta tiene referenciado 1 o ms respuestas y puede pertenecer a 1 o ms cuestionarios de evaluacin. El diagrama de clase de pregunta puede ser consultado en la figura 4.11 que se muestra a continuacin.
19
Figura 4.11 Diagrama de clase pregunta
4.4.8 Cuestionario El cuestionario es el parmetro de evaluacin para seleccionar un candidato para un puesto de trabajo, el cuestionario tiene asignadas de 1 a n cantidad de preguntas.
El diagrama de clase del cuestionario puede ser consultado en la figura 4.12.
20
Figura 4.12 Diagrama de clase cuestionario
4.4.9 Solicitud de trabajo La solicitud de trabajo es el medio por el cual el candidato a un puesto de trabajo registra su peticin para poder hacer un cuestionario y ser evaluado. La solicitud de trabajo tambin me indica cuando un candidato ya registro la evaluacin de un cuestionario o cuando no lo ha hecho.
Un candidato puede tener varias solicitudes de trabajo, en la figura 4.13 se muestra el diagrama de clase de esta entidad.
21
Figura 4.13 Diagrama de clase solicitud de trabajo
4.4.10 Conexin hacia la base de datos MySQL Esta entidad permite hacer la comunicacin con la base de datos permite el hacer cualquier consulta o comando a travs de diversos mtodos. Est diseada para comunicarse con una base de datos tipo MySql. En la figura 4.14 se puede ver su diagrama de clase. 22
Figura 4.14 Diagrama de clase conexin MySql
4.4.11 Estados del agente Los agentes del sistema SSPi debe tener distintos estados internos los cuales definen su comportamiento, esta clase les proporciona los posibles estados que pueden llegar a manejar. En la figura 4.15 se puede consultar su diagrama.
4.4.12 Agente evaluador En la figura 4.16 se puede consultar el diagrama de clase del agente evaluador este tiene como funciones el evaluar a los candidatos que registran solicitudes de trabajo en el sistema SSPi, y puede modificar los pesos de las preguntas en base a indicaciones.
23
Figura 4.15 Diagrama de clase estados de agente
Figura 4.16 Diagrama de clase agente evaluador
24
4.4.13 Agente monitor Este tiene como funcin bsica el monitorear los servicios de la base de datos, esto con el fin de ver si est disponible para realizar transacciones. En la figura 4.17 se puede ver su diagrama de clase.
Figura 4.17 Diagrama de clase agente monitor 4.4.14 Mapeado de las preguntas a estructura agente El agente evaluador para poder marcar que preguntas ha procesado en caso de cambiar pesos, necesita llevar un control esto lo hace en base a esta clase, su diagrama de clase se puede consultar en la figura 4.18.
4.4.15 Proceso de aprendizaje El agente evaluador tiene un sencillo algoritmo de aprendizaje para poder manipular los pesos por categora en base a las recomendaciones del reclutador de personal. En la figura 4.19 se puede consultar su diagrama. 25
Figura 4.18 Diagrama de clase mapeado de preguntas
Figura 4.19 Diagrama de clase proceso de aprendizaje
26
4.4.16 Evaluacin Para efectuar las evaluaciones el agente evaluador se ayuda de esta clase para saber que estructura tiene la evaluacin en la figura 4.20 se puede consultar su diagrama.
Figura 4.20 Diagrama de clase evaluacin
4.5 Base de datos Para el diseo de la base de datos se utiliz la herramienta Toad Data Modeler Freeware la cual fue muy til. En la figura 4.21 se puede consultar el diagrama de la base de datos del sistema SSPi en relacin con la administracin del sistema, tal como qued implementado.
4.6 Agentes SSPi Dentro del SSPi existirn 2 agentes, uno tiene como responsabilidad de monitorear servicios, el segundo agente es un agente tipo BDI y este ser el encargado de realizar las evaluaciones directamente.
27
Figura 4.21 Diagrama de base de datos 4.6.2 Agente evaluador El agente evaluador es un agente tipo BDI (creencias, deseos e intenciones), las creencias del agente son aquellas reglas de evaluacin que se le han proporcionado para evaluar un cuestionario, esto como tal es su conocimiento principal, el saber como hacer su principal funcin.
28
Los deseos del agente evaluador son su objetivo como agente, que en este caso sera procesar las evaluaciones que le soliciten o el mismo revisar y dar una calificacin en base a su criterio; otro de sus deseos tambin de gran importancia es realizar el comparativo de las evaluaciones y dar el candidato ptimo para ocupar un puesto de trabajo en especfico.
Las intenciones del agente evaluador son como llevar acabo su plan de trabajo, en este caso lo pasos que debe seguir para conseguir sus deseos mencionados anteriormente.
El agente evaluador implementado tiene los siguientes atributos:
Autonoma: Tiene autonoma debido a que no necesariamente el usuario debe darle instrucciones, l por su cuenta puede decidir en que momento evaluar trabajo pendiente. Este atributo se implementa dndole estados al agente evaluador.
Inteligencia: El agente como tal reconoce los eventos que suceden a su alrededor algunos de estos eventos lo llevan a tomar acciones, tambin tiene un algoritmo de aprendizaje del tipo premio y castigo para saber en que momento actualizar los pesos de las preguntas y poder evaluar mejor alguna categora en especfico.
Reactividad: El agente reacciona a su entorno dependiendo de los eventos que perciba. El agente evaluador en caso de percibir nuevas solicitudes registradas reacciona evalundolas.
Proactividad: Posee iniciativa para llevar acabo acciones en base a sus deseos e intenciones. Esto se implementa manejando distintos hilos de ejecucin.
4.6.2 Agente Monitor Las responsabilidades bsicas de este agente son monitorear los servicios y delegar las funciones importantes de evaluacin al agente evaluador. El servicio importante a monitorear por parte de este agente es la base de datos del sistema SSPi.
4.7 Algoritmo de aprendizaje El algoritmo de aprendizaje el cual se le dio como atributo al agente evaluador, tiene como objetivo el ir mejorando el diseo de los pesos de las preguntas de un requerimiento o habilidad. En conjunto al ir mejorando el diseo de todos los requerimientos estaramos optimizando el cuestionario completo.
Una vez que hemos diseado un cuestionario el reclutador de personal puede indicar al agente evaluador que requerimiento de cierto cuestionario de evaluacin podra mejorarse, este acto indica al agente evaluador que se deben cambiar los pesos de las preguntas pertenecientes a cierto requerimiento en base al siguiente procedimiento:
30
1. Se define N como el nmero mximo de preguntas del requerimiento. 2. Se define oP como peso original de la pregunta. 3. Se selecciona el mayor oP de las preguntas correspondientes al requerimiento. 4. np=oP/2 (nuevo peso) 5. La pregunta que tenia el mayor oP ahora su peso es nP. 6. Se divide nP / (N-1) y esto es ahora dP (distribucin peso). 7. Aquellas preguntas que no tienen nP asignado ahora les sumamos a sus pesos dP. 8. Se marca la pregunta que quedo con el peso nP, Si se requiere volver a hacer el procedimiento para el requerimiento en especfico no se puede volver a castigar esta pregunta, cuando todas nuestras preguntas ya fueron castigadas se reinician las marcas.
Con este algoritmo lo que se busca es especialmente que el agente pueda ir generando un cuestionario lo ms cercano a lo que quiere el reclutador de personal.
El agente evaluador tambin cuenta con un mapeo del cuestionario a una tabla en base de la cual contiene unos y ceros, esta tabla es la que utiliza para marcar las preguntas y saber cuales ya han sido procesadas.
En el algoritmo de aprendizaje se puede ver que el castigo es aplicado a las preguntas que tienen mayor peso en un requerimiento especfico, la razn por la cual se decidi hacer esto, fue que a raz de que el agente evaluador debe refinar una categora porque 31
no esta siendo evaluada correctamente, se deben bajar los pesos de las preguntas que se les esta dando mayor importancia y distribuirlos sobre aquellas de menor importancia.
El valor de reforzamiento que en este caso es la distribucin de Op/2 fue seleccionado sobre 2, ya que se quera castigar por completo la pregunta con mayor peso, sin embargo el refinamiento del valor del reforzamiento puede irse depurando experimentando con otros valores 0.75 0.35 por mencionar algunos. El algoritmo de aprendizaje esta basado en una de las formas de reforzamiento llamado comnmente premio y castigo.
4.8 Resumen El desarrollo del proyecto consisti en implementar un software para la seleccin de personal que le sirva como filtro al reclutador, este desarrollo se llevo a cabo apoyndose de la metodologa Prometheus, en la cual se generaron diagramas de escenarios, roles, objetivos y agrupamiento agente-rol. En la seccin 4.3 se desglosa la estructura del cuestionario. El algoritmo de evaluacin, diagramas de clase y diseo de la base de datos tambin se abarcan en este captulo. El sistema SPPi contar con 2 agentes un agente evaluador y agente monitor, pero solo uno contar con algoritmo de aprendizaje basado en una de las formas de aprendizaje por reforzamiento llamado comnmente premio y castigo.