el director del proyecto - iit.comillas.edu · humanos y gestiÓn de proyectos autor: ... siguiente...
TRANSCRIPT
Autorizada la entrega del proyecto del alumno:
D. Víctor Saiz Romero
EL DIRECTOR DEL PROYECTO
D. Adolfo Rosa Fernández
Fdo.: Fecha: …../…../…….
Vº Bº del Coordinador de Proyectos
D. Miguel Ángel Sanz Bobi
Fdo.: Fecha: …../…../…….
PROYECTO FIN DE CARRERA
SOLUCIÓN INTEGRAL PARA LA ADMINISTRACIÓN DE RECURSOS
HUMANOS Y GESTIÓN DE PROYECTOS
AUTOR: VÍCTOR SAIZ ROMERO MADRID, junio de 2007
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN INFORMÁTICA
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ I
Agradecimientos:
Quisiera aprovechar la oportunidad que se me brinda para agradecer a
todas esas personas que me han apoyado tanto durante este tiempo. En primer
lugar, y como no podía ser de otra forma, agradecer a mis padres por todo su
apoyo, tanto en los momentos buenos como en los más difíciles, donde nunca me
han fallado, además de darme la oportunidad de estudiar en un lugar de tanto
prestigio como I.C.A.I.
En segundo lugar, quisiera agradecer a Adolfo, mi director de proyecto, por
ofrecerme este proyecto que me permite culminar la carrera e iniciar la transición al
mundo laboral, siguiente etapa de mi vida en la que podré afrontar nuevos retos.
Además, como olvidarse en un momento así, de aquellos compañeros de trabajo
como Álvaro, Dani y Berta, que me han ayudado a resolver las dificultades técnicas
de un proyecto de esta magnitud.
Por último, pero no por ello menos importante, a todos aquellos amigos que
siempre han confiado en mí, por su apoyo y amistad que siempre te fortalecen en
los momentos más difíciles, así como a todos los profesores, mi coordinador del
proyecto y tutores que me han encaminado hacia este momento durante toda mi
vida.
Gracias a todos.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ II
A mis padres, por todo.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ III
Resumen:
En el mundo laboral, y en especial consideración en el sector de
Consultoría, la gestión de Recursos Humanos es una de las tareas más importantes
para las empresas. Por ello, una buena gestión de los Recursos Humanos de los
que dispone una empresa es esencial para obtener los beneficios deseados.
En especial, en el sector de la Consultoría Informática, que es el marco
donde he desarrollado este proyecto, tiene una relevancia absoluta puesto que los
equipos de trabajo que cada consultora ofrece, deben estar siempre activos para
que se obtengan beneficios. Es un mercado en continuo movimiento y con rápidos
cambios en las tecnologías solicitadas por los clientes, por lo que se torna
imprescindible una eficiente tarea de captación de Recursos Humanos que
permitan satisfacer las necesidades detectadas en cada momento.
Adicionalmente, en la sociedad de la Tecnología de la Información en la que
nos encontramos, la información es la que tiene el poder, por lo que hay que
gestionarla de manera muy eficaz para poder así disponer de un elemento
diferenciador respecto de la competencia.
De este punto de vista, nació el proyecto que he desarrollado durante el
último año, que consiste en un sistema de gestión para los Departamentos de
Recursos Humanos y Comercial de VASS Consultoría de Sistemas, empresa en la
que entré a trabajar en julio del año pasado. Se ha pretendido desarrollar una
aplicación web, que permita gestionar la información del proceso de selección de
candidatos, así como de la asignación de dichos candidatos a los proyectos que
llegan de los clientes de la Consultora.
El crecimiento que ha experimentado la empresa en los últimos años
(naciendo en 1999 con unos 25 empleados y llegando a superar los 450 empleados
actualmente), ha hecho necesaria la centralización de la creciente cantidad de
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ IV
información que se recoge en el proceso de selección de un candidato, así como de
facilitar y aumentar la eficacia de recoger y acceder a la información. Conseguir
esto supone que, ante una petición de un cliente se podría ofrecer, con un menor
tiempo de respuesta, un equipo de trabajo que satisfaga las necesidades del
cliente.
Actualmente, existen en el mercado herramientas de gestión de Recursos
Humanos como SAP, PeopleSoft o Meta4. Dichas herramientas, son muy amplias y
abarcan de una manera generalista, la administración de los Recursos Humanos de
cualquier empresa, para todas las tareas relacionadas con los empleados de una
empresa como gestión de nóminas, selección de personal, etc.
En cambio, para las necesidades que se detectaron, lo ideal era un
desarrollo a medida de una aplicación que gestionase únicamente el proceso de
selección de personal, así como de su asignación a los proyectos que se
desarrollan en la empresa. Por ello, se pensó en una aplicación Web basada en
J2EE que permitiese acceder de forma centralizada a la información requerida para
los departamentos de Recursos Humanos y Comercial.
La aplicación que se ha desarrollado a medida de las necesidades
detectadas consta de dos módulos integrados en la misma aplicación. En el primero
de ellos, destinado al Departamento de Recursos Humanos, permite dar de alta un
candidato captado por dicho departamento y gestionar su progreso dentro de las
distintas fases y entrevistas de las que se compone el proceso de selección de
personal. Esta información se guarda en base de datos y permite además adjuntar
el Currículo enviado por el candidato, así como de la propuesta presentada al
candidato si ha pasado satisfactoriamente las etapas del proceso. Al ser una
herramienta centralizada y con la información gestionada en base de datos, permite
un acceso mucho más eficaz a los candidatos según las necesidades de cada
momento, para reactivar procesos de selección de algún perfil que en un
determinado momento no eran necesarios, pero que en otro momento se convierten
en urgentes.
El segundo módulo de la aplicación, permite al departamento Comercial
gestionar las peticiones que los clientes realizan a la empresa. Con este módulo,
pueden dar de alta dichas peticiones y asignarle los candidatos que crean más
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ V
convenientes a cada petición, según su importancia, número de recursos de un
perfil determinado y fechas de incorporación y duración del proyecto.
Otros objetivos secundarios, aunque importantes, que se han alcanzado en
el proyecto ha sido la generación de informes sobre el proceso de selección de
candidatos, así como de la generación de currículos en varios formatos de los
clientes de la Consultora, que permite automatizar el proceso necesario de
formalizar un currículo en el formato del cliente al que ha sido asignado el
candidato, para que el cliente lo acepte en el equipo de trabajo que desea formar
para el desarrollo de su proyecto.
Esta aplicación Web se ha implantado en la intranet de la empresa, lo que
permite un acceso centralizado a la información. Para su desarrollo, se ha confiado
en una tecnología madura como Java con acceso a Base de Datos mediante JDBC
siguiendo el patrón DAO y una serie de servlets que sirven las páginas JSP,
respetando el modelo vista controlador MVC, en un servidor de aplicaciones
Tomcat. Otras tecnologías utilizadas en el proyecto son: HTML, Javascript, PDF,
VBIS (Vignette Business Integration Studio), LDAP, iText y JChart.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ VI
Abstract:
In the working world, and specially considering the Consulting market, the
Human Resources management is one of the most important task to be deployed by
any company. Therefore, a good management of the Human Resources available in
a company is essential in order to obtain the expected profits.
In the IT Consulting sector, which is the frame where this project has been
deployed, the importance of what has been stated above has an absolute relevance
since the working equipments offered by a consulting must be running always to
obtain profits. According to the technologies requested by the customers, it is an
always moving and fast changing market so it becomes essential an efficient task of
Human Resources to satisfy the needs detected everytime.
In addition, in the IT society where we live is the information who owns the
power. Therefore, it is necessary to manage in a very effective way in order to
obtain a differentiated element from the competition.
Due to this point of view, the project I have been developing during the last
year was started, which is basically a management system for the Human
Resources and Comercial departments of 'VASS Consultoría de Sistemas',
company where I joined in July last year. This projects claims to be a web
application that allows to manage the information generated in the screening
process and the assignment of the applicant to the projects from the customer.
The growth that the company has experienced in the last years (starting in
1999 with about 25 employees and exceeding 450 in the meantime) has made
necessary the centralization of the increasing amount of information gathered in the
screening process of a candidate, apart from facilitate and arise the effectiveness of
the collection and access of the information. Achieving this means that, faced with a
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ VII
petition from the customer a better time response and the appropriate working team
could be offered.
In the meantime, there are Human Resources management tools like SAP,
PeopleSoft or Meta4. The mentioned tools are very wide and they cover in a general
way the administration of Human Resources of any company, including the tasks
related to the employees of the company like the payslip management, screening
process, etc.
On the other hand, according to the necessities that were detected, the best
option was the development of a custom-made application to manage not only the
screening process, but also the assignment to the projects in which the company is
involved. Therefore, the idea of a J2EE-based Web application was the most
appropriate. It would allow the centralized access to the required information of the
Human Resources and Commercial departments.
The application that has been custom-made developed according to the
needs detected has two integrated modules in the same application. First of all,
assigned to the Human Resource Department, allowing to insert an applicant
information selected by this Department and managing his progress across the
different phases and interviews of the recruitment personal process. This
information is saved in a database, moreover allow to attach the Curriculum Vitae
send by the applicant, as well as the offer presented to the applicant if he has
passed successfully all the steps of the process. As a centralized tool with the
information managed by a database, it allows a more effective access to the
applicants according to the needs of every moment and to reactivate the recruitment
process of a particular profile that in a moment is not necessary but in other moment
it changes to an urgent one.
The second module of the application allows Commercial Department to
manage the requests that the clients demand to the enterprise. With this module,
users are able to insert these requests and assign the more convenient applicants to
each request of a client, according to their importance, number of resources of a
particular profile, starting dates and length of the project.
Another secondary objectives, although important too, that have already
been reached has been the generation of reports of the applicant recruitment
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ VIII
process and the generation of the Curriculum Vitae in many formats, according to
the Consultant’s clients, that allow automatize the necessary process to formalize a
CV in the format demanded by the client in which the applicant has been assigned
to. So the client can accept him in the desired work team in order to complete the
project development.
This Web application had been implanted in the intranet of my enterprise, so
allows a centralized access to the information. For its development, I had trusted in
a mature technology mainly based on Java with database access through JDBC,
according to the DAO pattern, and a series of servlets that serve the JSP,
respecting the view controller model MVC and running in a Tomcat application
server. Other used technologies in this project are: HTML, Javascript, PDF, VBIS
(Vignette Business Integration Studio), LDAP and JChart.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ IX
Índice
1. Introducción............................................................. 13
1.1. Motivación....................................................................... 13
1.2. Planteamiento de la Casuística ........................................ 2
1.3. Estado del arte.................................................................. 8
1.3.1. Introducción a la gestión de Recursos Humanos .......................................... 9
1.3.2. Estado actual del arte de la tecnología........................................................ 12
1.3.3. Justificación.................................................................................................. 13
2. Propósito, Alcance y Objetivos.............................. 14
2.1. Propósito......................................................................... 14
2.2. Alcance ........................................................................... 14
2.3. Objetivos......................................................................... 18
2.3.1. Objetivos Principales.................................................................................... 18
2.3.2. Objetivos Secundarios ................................................................................. 19
3. Metodología ............................................................. 21
3.1. Programación Orientada a Objetos ................................ 21
3.2. J2EE ............................................................................... 24
3.3. MVC................................................................................ 25
3.4. Metodología seguida en el desarrollo ............................. 27
4. Análisis de Requisitos ............................................ 29
4.1. Identificación de Requisitos ............................................ 29
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ X
4.1.1. Módulo de RR.HH................................................................... 29
4.1.2. Módulo Comercial................................................................... 41
4.1.3. Propios del sistema ................................................................ 44
4.2. Modelo de Casos de Uso ............................................... 44
4.2.2. Módulo de Recursos Humanos............................................... 45
4.2.3. Módulo Comercial................................................................... 47
5. Estudio de Arquitectura.......................................... 61
5.1. Introducción .................................................................... 61
5.2. Arquitectura técnica elegida ........................................... 62
5.3. Herramientas software necesarias ................................. 64
6. Diseño....................................................................... 67
6.1. Diagrama de Paquetes ................................................... 67
6.1.1. Paquete iu .............................................................................. 67
6.1.2. Paquete servicios ................................................................... 68
6.1.3. Paquete dao ........................................................................... 68
6.1.4. Paquete dominio..................................................................... 68
6.2. Diagrama de Clases ....................................................... 69
6.2.1. Paquete iu .............................................................................. 69
6.2.1.1. Paquete es.vass.rrhh.iu.cv ...................................................................... 69
6.2.1.2. Paquete es.vass.rrhh.iu.servlets.............................................................. 70
6.2.1.3. Paquete es.vass.rrhh.iu.servlets.areas.................................................... 70
6.2.1.4. Paquete es.vass.rrhh.iu.servlets.candidatos ........................................... 70
6.2.1.5. Paquete es.vass.rrhh.iu.servlets.cv......................................................... 71
6.2.1.6. Paquete es.vass.rrhh.iu.servlets.informes............................................... 72
6.2.1.7. Paquete es.vass.rrhh.iu.servlets.log........................................................ 73
6.2.1.8. Paquete es.vass.rrhh.iu.servlets.login..................................................... 73
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ XI
6.2.1.9. Paquete es.vass.rrhh.iu.servlets.peticiones ............................................ 74
6.2.1.10. Paquete es.vass.rrhh.iu.servlets.subareas.............................................. 74
6.2.2. Paquete servicios ................................................................... 75
6.2.2.1. Paquete es.vass.rrhh.iu.servicios ............................................................ 75
6.2.3. Paquete dao ........................................................................... 77
6.2.3.1. Paquete es.vass.rrhh.dao........................................................................ 78
6.2.4. Paquete dominio..................................................................... 80
6.2.4.1. Paquete es.vass.rrhh.dominio.areas ....................................................... 80
6.2.4.2. Paquete es.vass.rrhh.dominio.candidato ................................................ 81
6.2.4.3. Paquete es.vass.rrhh.dominio.generics .................................................. 81
6.2.4.4. Paquete es.vass.rrhh.dominio.idiomas.................................................... 88
6.2.4.5. Paquete es.vass.rrhh.dominio.peticiones................................................ 88
6.2.4.6. Paquete es.vass.rrhh.dominio.usuarios .................................................. 90
6.3. Interfaz............................................................................ 90
6.4. Diagrama de Secuencia ............................................... 105
6.4.1. Alta Candidato ...................................................................... 105
6.4.2. Baja Candidato ..................................................................... 107
6.5. Base de Datos .............................................................. 110
6.6. Matriz de Trazabilidad de Requisitos............................ 116
7. Implantación y pruebas ........................................ 117
8. Planificación .......................................................... 124
9. Presupuesto........................................................... 127
10. Conclusiones................................................... 128
BIBLIOGRAFÍA ........................................................... 129
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ XII
REFERENCIAS ........................................................... 131
ANEXO I: Manual de Usuario .................................... 134
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ XIII
1. Introducción Este apartado describe la motivación, el planteamiento de las necesidades
detectadas que dieron origen a este proyecto así como los objetivos que se
pretenden alcanzar con la realización de este proyecto, tanto objetivos principales
como secundarios. Además, se incluirá un estudio del arte sobre otros productos
existentes en el mercado que abordan problemáticas similares.
1.1. Motivación En primer lugar, me gustaría explicar las razones que me llevaron a elegir un
proyecto ofertado por una empresa, en vez de uno de los múltiples ofertados por los
directores de proyecto internos de la Universidad.
Me gustaría destacar que me atrae mucho la realización de un proyecto real,
que va a ser utilizado por muchas personas dentro de un entorno laboral, hecho
que me ha motivado mucho desde el principio. Solo con escuchar a las integrantes
del Departamento de Recursos Humanos que mi aplicación les facilita
enormemente el trabajo que realizan a diario es muy gratificante.
En segundo lugar, con la realización de este proyecto buscaba, a parte de
finalizar la carrera de Ingeniero en Informática, un puente entre el mundo
universitario y el mundo laboral. Siempre he creído que el Proyecto Fin de Carrera
supone la culminación a todo el esfuerzo realizado en los cinco cursos que
componen la carrera, por lo que creo debe ser un trabajo con un plus de dificultad,
que ponga el broche a esta etapa tan importante en mi vida.
Además, durante estos años de carrera, he ido perfilando mis gustos dentro
de las especialidades ofertadas, inclinándome por Bases de Datos Multimedia e
Internet, por lo que cuando surgió la oportunidad de incorporarme a VASS
Consultoría de Sistemas en el área de e-Business quise aprovechar para poder
elegir un proyecto que se adaptase a mis preferencias dentro de las múltiples
ramas que ofrece la informática y, por supuesto, también a mis motivaciones
personales.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 2
Otro de los estímulos más importantes a la hora de elegir este proyecto es
que me permitía aplicar a un proyecto real, con una entidad muy superior a las
prácticas realizadas a lo largo de la carrera, los conocimientos adquiridos durante la
carrera en distintas asignaturas como Ingeniería del Software, Bases de Datos
Multimedia, Programación en Java, Redes o Encaminamiento en Internet.
Por todo ello, cuando mi director de proyecto me ofreció el desarrollo de este
proyecto, no dudé en aceptarlo como un reto personal que colmaba las
motivaciones descritas.
1.2. Planteamiento de la Casuística En este apartado se reflejan las necesidades observadas en VASS
Consultoría de Sistemas, en cuanto al proceso de selección de candidatos, así
como de asignación de los candidatos aptos tras este proceso a las peticiones de
los clientes de la empresa para la realización de proyectos de Ingeniería.
1.2.1. Recursos Humanos
VASS Consultoría de Sistemas es una empresa joven (nacida en septiembre
de 1.999) que ha ido creciendo año tras año hasta sobrepasar actualmente los 450
empleados como se puede ver en la siguiente imagen:
Figura 1.2.1.1: Evolución Plantilla VASS Consultoría de Sistemas
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 3
Podemos observar el crecimiento exponencial del número de empleados en
la empresa desde su creación, con el consiguiente aumento en las necesidades de
gestión. Como es lógico pensar, no es lo mismo cubrir el proceso de selección de
una empresa pequeña que una empresa de casi 500 empleados y con visos de
seguir aumentando de manera sólida en el futuro.
Anteriormente al desarrollo e implantación de este proyecto, la información
del proceso de selección de candidatos era gestionada a través de una simple hoja
de cálculo por cada componente del departamento de Recursos Humanos. En
dicha hoja de cálculo se almacenaba toda la información correspondiente a cada
candidato.
El volumen de datos que se manejan de un candidato es grande, desde
información personal (nombre, apellidos, dirección, teléfono, email, etc.),
información sobre estudios (titulación, master, certificaciones, etc.), información
sobre experiencia laboral (empresas, proyectos, etc.), información sobre el propio
proceso de selección (entrevistas realizadas, estado del candidato dentro del
proceso, comentarios de cada entrevista) e información adicional (idiomas,
herramientas y tecnologías conocidas, etc.).
Todos estos datos se podían gestionar con una hoja de cálculo cuando el
número de candidatos era más o menos razonable, pero al dispararse el tamaño de
la empresa, el número de recursos necesarios para cubrir el aumento de proyectos
que desarrolla la empresa se ha elevado en la misma proporción. Por ello, se ha
detectado que era necesaria la incorporación de una herramienta que permita una
gestión eficiente del proceso y que manejase esta creciente cantidad de
información.
Uno de los problemas detectados era por la forma en la que se estaba
gestionando la información, al contar cada persona del departamento de Recursos
Humanos con una hoja de cálculo propia donde almacenaban los candidatos que
tenían recogidos para pasar el proceso de selección. Al no tener la información
centralizada, se podían producir “colisiones” de candidatos si dos empleados del
departamento intentaban captar al mismo candidato.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 4
Se intentaba evitar el problema dividiendo la captación de candidatos entre
las áreas tecnológicas de las que consta la empresa, que actualmente son las
siguientes: CRM, BI, e-Business, ERP, Microsoft e Innovación (Nuevas
Tecnologías). Podemos verlo en más detalle en la siguiente imagen:
Figura 1.2.1.2: Áreas Tecnológicas de VASS
No obstante, muchas veces se incorporaban candidatos al proceso de
selección con un perfil que no era tan específico como para adaptarse a una única
área. Sobre todo, esto podía ocurrir en aquellos candidatos con mucha experiencia,
que han tratado muchas áreas y ramas de la informática, o bien, aquellos
candidatos que no disponían de ninguna experiencia y que podían comenzar su
carrera profesional en varias áreas. Debido a esto, en ocasiones se captaba “por
duplicado” a un candidato, al no tener una base de datos centralizada que evitase
este problema.
Incluso la gestión de una única área es difícil, a partir de un número elevado
de candidatos, al tener que manejar tanta información en una hoja de cálculo. Es
ahí donde se ve realmente necesario una herramienta de gestión más eficaz puesto
que para realizar consultas sobre un perfil determinado, es muy costoso el
realizarlos con una hoja de cálculo. En cambio, si disponemos de una interfaz Web
amigable con un formulario de consulta donde filtrar los candidatos, ganaríamos
mucho tiempo a la hora de realizar esta operación cotidiana del departamento de
Recursos Humanos.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 5
La hoja de cálculo con la que trabajaban era una hoja Microsoft Excel con
varias columnas por cada candidato. Se guardaban los datos más importantes del
proceso de selección y un enlace al Currículo enviado por el propio candidato que
se guardaba en un servidor de la intranet de la empresa en una estructura de
directorios dividida por años, y dentro de cada año por áreas tecnológicas, las
cuales contenían los currículos de los candidatos cuyo perfil se ajustaba a dicha
área tecnológica.
En la hoja de cálculo se almacenaban los siguientes campos:
- AREA: Área tecnológica a la que iba destinado.
- FICHERO: Enlace al C.V. adjuntado por el candidato.
- APELLIDO1: Primer apellido del candidato.
- APELLIDO2: Segundo apellido del candidato.
- NOMBRE: Nombre del candidato.
- DNI: DNI o número de pasaporte del candidato.
- TELEFONO: Teléfono de contacto del candidato.
- MAIL: Correo electrónico de contacto del candidato.
- ESTUDIOS: Estudios realizados por el candidato (carrera o módulo de
F.P. cursado)
- FECHA RECEPCION CV: Fecha en la que se recibió el Currículo del
candidato.
- CANAL RECEPCION: Canal por el que se captó al candidato para
incorporarse al proceso de selección (página Web de VASS, páginas de
empleo como Infojobs, Foros de empleo en universidad, recomendación
de otro empleado, etc.).
- EMPRESA: Empresa de procedencia del candidato.
- SALARIO: Salario solicitado por el candidato para su incorporación.
- FECHA ENTREVISTA: Fecha en la que se realizan las entrevistas
personales con Recursos Humanos y con un consultor.
- ESTADO: Estado en el que se encuentra un candidato (Apto, no válido,
rechazado en entrevista personal, rechazado en entrevista técnica, etc.).
- OFERTA: Perfil de la propuesta realizada al candidato dentro del plan de
carrera establecido en la empresa.
- INCORPORACIÓN: Disponibilidad de incorporación del candidato.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 6
- COMENTARIOS: Comentarios adicionales sobre algún apartado anterior
o sobre alguna información adicional aportada o recogida durante el
proceso de selección sobre el candidato y que no se ajusta a ningún
apartado anterior.
En la siguiente imagen se puede apreciar la estructura de la que se disponía
hasta el desarrollo de este proyecto:
Figura 1.2.1.3: Estructura manejo información de candidatos en RR.HH.
Es mucha la información que se genera sobre cada candidato durante el
proceso de selección como para poder acceder fácilmente a un determinado perfil
de candidatos en una hoja de MS Excel. Imaginemos que queremos saber de entre
los candidatos que tenemos, aquellos en estado Apto con un perfil para e-Business,
disponibilidad de incorporación inmediata y un salario inferior a 25.000 € porque nos
ha surgido un proyecto de J2EE que necesita de un equipo con un perfil de
programador. Esto no sería fácil de realizar en un fichero de MS Excel con 2.000
registros. En cambio, con un sencillo formulario Web, podríamos tener un listado
con la información deseada en cuestión de segundos según las necesidades de
cada momento.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 7
Por otra parte, con una aplicación a medida se podría guardar más
información sobre cada candidato, ya que ahora no sería un inconveniente las
búsquedas y el mantenimiento de la información al estar almacenados en una base
de datos y poder accederse vía Web de una forma cómoda a la información
requerida en cada momento.
1.2.2. Área Comercial
En cuanto a los problemas observados en el área Comercial serían
parecidos a los vistos para el Departamento de Recursos Humanos. La forma de
trabajar era la misma: una hoja de cálculo donde se guardan los datos de cada
petición de un cliente. En este caso también se trabaja también por áreas en las
que se encuadran los clientes con los que trabaja la empresa: Banca,
Telecomunicaciones, AAPP, Industria y Tecnología.
Sobre cada petición realizada por un cliente, se necesita almacenar la
siguiente información:
- COMPAÑÍA: Empresa peticionaria.
- PETICIONARIO: Persona dentro de la compañía que realiza la petición.
- CONTACTO: Persona de contacto o puesto del peticionario.
- RECURSOS: Número de recursos solicitados.
- DURACIÓN: Duración estimada del proyecto.
- LUGAR: Lugar donde se desarrollará el proyecto.
- ÁREA: Área tecnológica en la que se enmarcará el proyecto.
- TARIFA: Perfil de los recursos solicitados.
- REQUISITOS: Requisitos técnicos específicos para el desarrollo del
proyecto.
- IMPORTANCIA: Nivel de importancia de la petición (Cliente estratégico,
Proyecto Vital, Operativo, etc.)
- INCORPORACIÓN: Fecha de incorporación de los recursos solicitados.
- COMENTARIOS: Comentarios sobre la petición o sobre alguno de los
apartados anteriores.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 8
Como podemos observar, también es elevada la cantidad de información
que hay que mantener para cada petición, por lo que los problemas son los mismos
que en el departamento de Recursos Humanos.
Una vez registrada una petición, no se podía asignar directamente a un
candidato a ella, ya que sólo se disponía de una aplicación Web de gestión de
empleados. En ella se gestiona la información de cada empleado de la empresa,
como las nóminas, vacaciones y proyectos a los que está asignado dicho
empleado. Por tanto, no se podía asignar a un candidato, hasta que no estaba
registrado en dicha aplicación aunque se supiese que el candidato estaba aceptado
y tenía fecha de incorporación prevista.
Esta aplicación de gestión de empleados también es una aplicación Web
que fue desarrollada a medida hace un par de años, y en la que cada empleado
puede hacer el time reporting de cada mes con las horas que ha dedicado a cada
proyecto al que está asignado, además de otras opciones como calendario de
vacaciones, etc.
Tiene además una parte de gestión, donde cada gerente de área
tecnológica puede consultar los empleados que están en cada proyecto y ver
disponibilidades y necesidades para los nuevos proyectos que van surgiendo.
Por tanto, no hay una aplicación que centralizase las necesidades de los
clientes de la empresa y los candidatos que están en proceso de selección, lo que
podría ahorrar tiempo tras la implantación de este proyecto, ya que es uno de sus
objetivos principales como se muestra en el apartado correspondiente de esta
memoria.
1.3. Estado del arte En este apartado se realiza una introducción a la gestión de Recursos
Humanos en las empresas y se describen otros productos existentes en el mercado
que abordan problemáticas similares, así como la justificación de por qué no
adoptar una de dichas soluciones existentes y por qué se optó por el desarrollo de
este proyecto.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 9
1.3.1. Introducción a la gestión de Recursos Humanos
La gestión de recursos humanos es una actividad que desarrollan todas las
empresas, pues normalmente el activo de mayor valor en una empresa es su
personal. Esto tiene, si cabe, mucha más importancia en una Consultora de
Informática, que se dedica a desarrollar proyectos para sus clientes,
proporcionándoles el mejor equipo de trabajo posible para su realización. Por tanto,
para una empresa como VASS Consultoría de Sistemas, su plantilla es su principal
activo y una buena gestión de estos recursos humanos puede convertirse en un
elemento de diferenciación frente a la competencia.
En concreto, para el proceso de selección de personal, se ha visto la
necesidad de disponer de una herramienta eficiente para su gestión debido a que
una hoja de cálculo es válida en una empresa pequeña, pero en cuanto la empresa
comienza a crecer se torna en una herramienta de gestión insuficiente.
En un interesante artículo escrito por Juan Enrique Melchor para
www.rrhhhmagazine.com [MELC07] se describe el proceso de selección de
candidatos en el mundo laboral y se plantea el mismo problema que nos ocupa y
que ha dado lugar al desarrollo de este proyecto.
“En las grandes y no tan grandes organizaciones, en la
mayoría de las ocasiones existe un proceso de reclutamiento y de
selección externa bien estructurado. Del establecimiento de
objetivos a medio y a largo plazo en la gestión de Recursos
Humanos, se puede inferir cuáles van a ser las necesidades de la
organización y, en consecuencia, qué colaboradores son necesarios
de manera cuantitativa y cualitativa. A través de este análisis se
procederá a elaborar el perfil de los candidatos para los
diferentes puestos de trabajo, y con esta información se diseñará
el plan de ejecución que determinarán los requisitos de la oferta
de trabajo, por un lado, y los medios donde se va a insertar dicha
oferta, por otro.
Hasta ahí, y de forma esquemática, el proceso puede ser
exitoso para determinar la contratación de los candidatos idóneos
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 10
tras la inserción en diferentes medios de comunicación: prensa,
empleo público, Internet, archivo de currículos recibidos, etc.
En este momento se inicia el proceso de selección en cinco
fases:
- Recepción de solicitudes por parte de las personas
interesadas en estos puestos de trabajo. Aquí comienza el verdadero
proceso de selección, de hecho, lleva a los responsables a
desarrollar un protocolo de filtros que determinarán qué candidatos
son admitidos.
- Aceptados los primeros candidatos mediante datos objetivos
que aportan cada uno de ellos, empieza la segunda fase, que
consiste en recabar alguna información que acerque a éste al perfil
del puesto de trabajo que se requiere, algunas organizaciones piden
un trabajo teórico a desarrollar sobre un supuesto ficticio del
puesto.
- Analizados estos trabajos comienza la tercera fase, la
entrevista, que pasa por determinar aspectos más concisos sobre las
personas que han superado la fase anterior, de los candidatos
finalistas, es decir, dar respuesta a: ¿cómo es el candidato?, ¿qué
aspecto tiene?, ¿cómo se comunica?, ¿qué capacidad cree tener para
el puesto?, ¿qué puede aportar?, etc., y así un sinfín de
cuestiones que pueden dar luz inicial para conocer al futuro
colaborador que se necesita.
- La cuarta fase analizará toda la información con todos los
responsables implicados en el proceso de selección, gerencia,
Recursos Humanos, directores del departamento de los puestos de
trabajo requeridos, etc., y la toma de decisión del candidato
admitido.
- La quinta fase, que en realidad no se desarrollaría en
último lugar sino durante todo el proceso, consistiría en la
comunicación a los candidatos rechazados de su exclusión. A los que
no han sido admitidos en la primera fase, a los que en la segunda
fase no han encajado en el nivel de conocimientos presentados, a
las personas que no han superado la entrevista.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 11
Pero, ¿este proceso se realiza, o se gestiona de una forma
coherente y responsable hacia las personas que han sido candidatos
durante el proceso de selección?
La mala noticia para todos es que algunas organizaciones
creen que el proceso de selección sólo consiste en contestar de
manera afirmativa al candidato seleccionado. Pero, ¿qué ocurre con
las otras personas que han participado?, quienes, aunque de manera
efímera, en el plan de selección han mostrado cuáles son sus
competencias, su desarrollo de vida laboral, ofreciendo datos
personales de todo tipo, realizando trabajos solicitados,
realizando desplazamientos con sus medios. Personas que no sólo, y
es mucho, han aportado datos e información personal, sino que
también se han implicado emocionalmente en una organización que
podría resolver, en muchos casos, su situación de vida laboral, y
que se han ilusionado con el proyecto.
Tristemente estos candidatos tiene que conformarse con que si
no se les contesta en un plazo aleatorio de tiempo entienden que no
están seleccionados. Una buena ejecución del plan de selección
incluye otro plan de comunicación de resultados hacia los
candidatos en todas las fases del proceso.
Una respuesta de agradecimiento por carta, por e-mail, por
teléfono o por cualquier otro medio, no sólo aliviaría el
conocimiento de la exclusión del proceso al candidato, sino que
mantendría las puertas abiertas para futuros procesos con estas
mismas personas.
En definitiva GANAR-GANAR cuesta muy pocos recursos para que
la organización encumbre de forma brillante la finalización del
proceso de selección.”
Esto es uno de los objetivos que se pretenden con la herramienta que se ha
desarrollado. Se pretende gestionar de manera eficaz todo el proceso y saber en
qué fase del proceso se encuentra cada candidato, indicando en todo momento por
qué ha sido aceptado o rechazado en cada punto, los motivos, si es válido en un
futuro o no, etc. De esta forma se podría garantizar una base de datos muy amplia
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 12
que permita a la empresa disponer de un extenso dossier de candidatos disponibles
para el constante cambio de necesidades en el mundo de la informática.
De esta forma, un candidato que no es válido en un momento determinado,
puede ser perfectamente válido en un futuro si el perfil de dicho candidato no se
corresponde con ninguna petición solicitada por algún cliente en ese momento pero
en un futuro llega una petición que se adapte a la perfección a dicho candidato.
Pasemos a ver alguno de los productos líderes en el sector de gestión de
recursos humanos, ver si se ajustan a nuestras necesidades y por último justificar el
por qué hemos decidido el desarrollo de una aplicación nueva, en vez de elegir uno
de dichos productos.
1.3.2. Estado actual del arte de la tecnología
En la actualidad, los productos para la gestión de recursos implantados en
las empresas son los paquetes de software llamados E.R.P. (Enterprise Resource
Planning). Estos paquetes sirven para la planificación de recursos de la empresa
desde módulos para la gestión de la producción, módulos financieros, de relación
con los clientes, de inteligencia de negocio o de Recursos Humanos.
Los principales E.R.P. existentes son los siguientes:
- R/3: de la compañía alemana SAP es uno de los máximos exponentes
del ERP mundial. El de mayor expansión e implantación. Cuenta con
multitud de módulos para casi todas las tareas de gestión de una
empresa. El módulo de gestión de Recursos Humanos es HR, que
cuenta con un sub-módulo de gestión del proceso de selección: RC
(Recruitment).
- PeopleSoft: desde 2005 pertenece a Oracle que adquirió la compañía
PeopleSoft. Permite integrar como gestor de base de datos Oracle. Su
módulo de recursos humanos es HCM (Human Capital Management).
- Microsoft Dyamics Nav 5.0: de Microsoft. Software propietario antes
conocido como Navision. Es uno de los varios ERP comprados por
Microsoft. No tan complejo y completo como los anteriores, pero con una
gran campaña de marketing detrás. No tiene un módulo específico de
gestión de recursos Humanos.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 13
- META4: ERP desarrollado en España. Dispone de los productos
PeopleNet, K-system, eMind y t-innova. En estos momentos se
comercializa en España, Portugal, Francia, Gran Bretaña, Italia, Estados
Unidos, Argentina, Chile y Brasil. El producto t-innova sería el que se
adaptaría a una empresa del tamaño de VASS Consultoría de Sistemas
y dispone de un apartado de Gestión del Capital Humano que cuenta
con un módulo de selección con base de datos de candidatos y gestión
del proceso de selección.
1.3.3. Justificación
En los productos estudiados, que son las principales opciones existentes en
el mercado, no se adaptan a nuestras necesidades concretas del proceso de
selección de candidatos y de gestión de peticiones de clientes. Como son
necesidades muy específicas, habría que adaptar en gran medida los módulos que
vienen por defecto en dichas herramientas, lo que supondría aumentar el elevado
coste que ya tienen de por sí estos productos (desde 30.000€).
Por tanto, se ha considerado que el desarrollo a medida, de una aplicación
Web que gestione las necesidades específicas detectadas es la mejor solución que
se puede adoptar para cubrir dichas necesidades.
Otro punto que ha hecho optar por un desarrollo a medida para cubrir estas
nuevas necesidades descubiertas es que la herramienta de gestión de empleados
existente en la empresa también fue desarrollada a medida. Si en su momento, se
hubiese optado por la implantación de algún módulo de los E.R.P. vistos
anteriormente, posiblemente se hubiesen adquirido los módulos necesarios para
estas nuevas necesidades en la gestión de recursos y de necesidades de clientes.
Con la solución adoptada, se da uniformidad y continuidad a una plataforma
que integrará desde la gestión de nóminas y vacaciones de los empleados hasta la
gestión del proceso de selección o de necesidades de los clientes de la empresa.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 14
2. Propósito, Alcance y Objetivos
2.1. Propósito El propósito de este proyecto consiste en el análisis, desarrollo e
implantación de una aplicación Web J2EE que constará de dos módulos: uno para
la gestión del proceso de selección de candidatos en VASS Consultoría de
Sistemas y otro para la gestión de las necesidades de los clientes de la misma
empresa.
2.2. Alcance El alcance del sistema, en cuanto a su ámbito de explotación, consiste en
una aplicación Web que permita al Departamento de Recursos Humanos y al Área
Comercial de VASS Consultoría de Sistemas, disponer de una herramienta que
centralice y gestione el proceso de selección de candidatos y las necesidades o
peticiones que los clientes realizan a la consultora.
2.2.1. Descripción
El sistema dispondrá de una página inicial con un formulario en la que el
usuario deberá introducir su nombre de usuario y su contraseña para iniciar sesión
en el sistema. La validación de los usuarios deberá ir contra el LDAP organizativo
de la empresa, con el que está funcionando la aplicación existente de gestión de
empleados.
Todas las acciones que realice el usuario en cada sesión quedarán
almacenadas en la base de datos del sistema y en los ficheros de histórico de la
aplicación.
Una vez iniciada la sesión, el usuario dispondrá de una serie de opciones
agrupadas por su naturaleza: candidatos, áreas tecnológicas, sub-áreas
tecnológicas, informes y peticiones. Las cuatro primeras corresponden a las
opciones destinadas al uso del Departamento de Recursos Humanos y la última
para el Área Comercial.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 15
Si el usuario elige el menú de candidatos, dispondrá de tres acciones
principales asociadas: alta de un nuevo candidato para el proceso de selección,
baja de un candidato existente en la aplicación y consultas sobre candidatos.
El proceso de alta será un formulario Web dividido en tres secciones
mediante pestañas: Datos personales, Estado de selección y Skills. En la primera
sección se recogen los datos personales típicos: nombre, dos apellidos, teléfono,
email, DNI., nacionalidad, área y sub-áreas tecnológicas a las que se adapta su
perfil, salario, etc. La segunda sección, se recogen los datos propios de la gestión
del proceso de selección: estado en el que se encuentra actualmente el candidato
dentro del flujo del proceso de selección, entrevistas realizadas con niveles de éxito
(apto, no apto o sin iniciar) y comentarios asociados, fichero con el C.V. adjunto, así
como la propuesta realizada al candidato si ha sido realizada, empresa de
procedencia, etc. En la última sección, estarán datos complementarios sobre la
formación del candidato: titulación, certificados adicionales, idiomas, experiencia
profesional, etc.
El proceso de consultas es de gran complejidad, ya que a través de él se
puede acceder a la información de los candidatos existentes en la base de datos,
así como a modificar sus datos o a generar su Currículo con un formato deseado
para el envío a un cliente de la empresa. Este proceso consta inicialmente de un
formulario Web en el que se puede filtrar por casi todos los atributos de un
candidato, además de por la fecha de alta o de última modificación del candidato en
el sistema y del área y sub-áreas tecnológicas a las que pertenece el candidato. Se
podrá además elegir, por qué atributo se quiere ordenar la consulta.
Una vez realizada la consulta, el sistema le mostrará al usuario un listado
con los candidatos que cumplan con los parámetros de la consulta realizada. En
este listado de resultados se muestra el nombre y apellidos del candidato, el área
tecnológica a la que pertenece, la fecha de alta en el sistema y su estado dentro del
proceso de selección además de un botón en el que pueden ver toda la información
del candidato existente en la base de datos en un formulario idéntico al de alta. En
él se podrán modificar todos los atributos del candidato y guardar dichos cambios
en la base de datos. Otra opción que puede realizar el usuario sobre un candidato
seleccionado tras una consulta, es generar en PDF su Currículo en el formato
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 16
elegido de entre las plantillas disponibles en el sistema. Esta opción está definida
como un objetivo secundario del proyecto como se verá en el siguiente apartado de
esta memoria descriptiva.
El último punto en la gestión de candidatos es su proceso de baja. Consiste
en realizar primero una consulta sencilla sobre el candidato existente en la base de
datos que se desea eliminar, por ejemplo, debido a un error al darlo de alta. En esta
consulta sencilla se puede filtrar a los candidatos por nombre, primer apellido,
segundo apellido y DNI. Una vez realizada la consulta, el sistema le mostrará al
usuario un listado con los candidatos que cumplan con los parámetros de la
consulta realizada. En este listado de resultados se muestra el nombre y apellidos
del candidato, el área tecnológica a la que pertenece, la fecha de alta en el sistema
y su estado dentro del proceso de selección además de un botón en el que pueden
ver toda la información del candidato existente en la base de datos en un formulario
idéntico al de alta pero con la opción de confirmar baja en vez de la de dar de alta
en el sistema.
En cuanto a las opciones disponibles para la gestión de áreas y sub-áreas
tecnológicas son las mismas: alta en el sistema y consultas. Estas secciones tienen
opción propia, debido a que la empresa está en continuo crecimiento, por lo que se
ha estimado que debido a que el proceso de selección de candidatos está muy
vinculado a las áreas tecnológicas de la empresa a las que iría destinado el
candidato, era conveniente incorporar una gestión de áreas y sub-áreas que
permitiese modificarlas e incrementarlas según el crecimiento de la empresa.
Por ello, se permite dar de alta en el sistema nuevas áreas con un sencillo
formulario Web en el que se da un identificador y una descripción. Al dar de alta,
automáticamente pasará a incorporarse en el proceso de selección de candidatos,
dando la posibilidad de asociar candidatos a esta nueva área. Para las sub-áreas
tecnológicas es idéntico, añadiendo la asignación del área a la que pertenece.
Además se pueden hacer consultas con un formulario sencillo, tanto de
áreas como de sub-áreas tecnológicas. Una vez realizada la consulta con los
parámetros elegidos por el usuario, el sistema le presentará un listado de aquellas
áreas o sub-áreas que cumplan con los filtros elegidos y se dará la opción de
modificar los datos o de eliminarlos del sistema, según desee el usuario.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 17
Para la sección de informes sobre el proceso de selección, el usuario podrá
elegir entre unos informes predefinidos (candidatos totales por área y candidatos en
el último mes por área) o generar su propio informe. Si selecciona uno de los
informes predefinidos, el sistema presentará el informe deseado consultando la
base de datos, obteniendo un gráfico que representa la información deseada, así
como sus datos numéricos, todo ello en una misma página Web.
En la opción de informes personalizados, el usuario podrá definir un informe
sobre el número de candidatos que cumplan una serie de requisitos definidos con
un formulario y filtrarlos por algún atributo (área tecnológica, estado en el proceso
de selección, perfil, nivel de la propuesta realizada, etc.) en unas fechas
determinadas (último mes, últimos 3 meses, últimos 6 meses, últimos 12 meses y
totales). El resultado se presentará igual que en los informes predefinidos.
La última opción que le queda al usuario es la propia de los usuarios del
Área Comercial, la gestión de peticiones de clientes. En ella se realizan también 2
acciones principales: Alta de peticiones y consultas.
El alta es un sencillo formulario Web donde el usuario introduce los datos de
la petición que ha llegado a la consultora. Estos serán empresa que realiza la
petición, área tecnológica que recoge la petición, peticionario, número de recursos y
perfil solicitado, fecha de incorporación, duración, etc. Una vez rellenado el
formulario, el usuario podrá guardarlo y el sistema lo almacenará en base de datos,
de forma que pueda realizar una consulta sobre dicha petición.
Las consultas consisten en un sencillo formulario Web similar al de alta, y
que presentará una lista de resultados al usuario con las peticiones que
correspondan con los parámetros seleccionados en la consulta. En esta lista se
mostrará para cada petición la empresa que realiza la petición, área tecnológica
que recoge la petición, peticionario, número de recursos y perfil solicitado, fecha de
incorporación y la duración. Sobre cada petición de la lista de resultados, se podrá
consultar más información en un formulario idéntico al de alta, pero que cuenta con
2 opciones adicionales en 2 pestañas nuevas: asignar candidatos y ver candidatos
asignados.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 18
La opción de asignar candidatos es una consulta como la disponible en la
opción de consultas dentro de la sección de candidatos vista anteriormente, con la
peculiaridad, que la lista de resultados permitirá seleccionar aquellos que el usuario
desee asignar a la petición.
Sobre la opción de ver candidatos asignados, permite, como su propio
nombre indica, ver los candidatos que están asignados a dicha petición. Si hay
candidatos asignados, se mostrará un listado con dichos candidatos y se permitirá
al usuario rechazar alguno de los candidatos asignados, de forma se eliminaría su
asignación de dicha petición.
2.3. Objetivos En este apartado se describen los objetivos que pretende cubrir la
realización de este proyecto. Se hará una distinción entre aquellos que se han
considerado principales y los que se han considerado secundarios para la
finalización del proyecto.
2.3.1. Objetivos Principales
El proyecto Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos tiene como objetivo el desarrollo e implantación
de una aplicación Web J2EE que permita una gestión de los datos del proceso de
selección de candidatos y de las peticiones de los clientes a VASS Consultoría de
Sistemas. Esta aplicación debe ser implantada en la Intranet de la empresa para
que sea accesible por los empleados del Departamento de Recursos Humanos y el
Departamento Comercial de la empresa.
Por tanto, los objetivos principales que se pretenden conseguir serán los
siguientes:
- Desarrollo de una aplicación Web que gestione el proceso de selección
de candidatos.
- Desarrollo de una aplicación Web que gestione las peticiones realizadas
a la consultora por parte de sus clientes.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 19
- Implantación en la intranet de la empresa de forma que puedan acceder
tanto los empleados del Departamento de Recursos Humanos como los
del Área Comercial.
- Mejora en la consulta de la información recogida en el proceso de
selección.
- Carga en la nueva plataforma de los datos recogidos hasta ahora en las
distintas hojas de cálculo de Recursos Humanos, de forma que puedan
trabajar únicamente con la nueva aplicación y no tener que mantener las
hojas de cálculo utilizadas antes del desarrollo de este proyecto. Esta
parte se realizará con VBIS (Vignette Business Integration Studio) que
es una herramienta que permite la migración de datos desde una fuente
origen a otra destino (pasarán datos de hoja de cálculo MS Excel a base
de datos MYSQL).
- Integración con la plataforma de gestión de empleados existente, de
forma que se puedan usar los mismos usuarios que en ella.
Todos los objetivos principales han quedado cubiertos por lo que se han
cubierto las necesidades identificadas en el estudio de la problemática que dio
origen a este proyecto.
2.3.2. Objetivos Secundarios
Los objetivos secundarios, son los que se definieron como mejoras a
incorporar en la aplicación en el momento de definir el proyecto. Además de los
problemas vistos en el apartado de Planteamiento del Problema, que se han
recogido como objetivos principales, se observaron otras necesidades no tan
prioritarias como las principales, pero que podían ayudar a mejorar la gestión en el
Departamento de Recursos Humanos.
Una vez terminado el proceso de selección de forma positiva, el candidato
era asignado a algún proyecto, por lo que debía cumplimentarse su Currículo en el
formato del cliente al que iba destinado. Una tarea que hasta ahora debía realizar el
propio candidato actualizando una plantilla proporcionada por el Departamento de
Recursos Humanos con el formato solicitado por el cliente. Esto demoraba un
proceso que se podría automatizar, generando automáticamente el C.V. del
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 20
candidato en el formato deseado a partir de la información recogida en la
aplicación.
Otra necesidad que se sugirió como ampliación del proyecto era la
posibilidad de una generación de informes sobre el proceso de selección de
candidatos, donde de una manera sencilla se pudiesen consultar datos interesantes
para el departamento de Recursos Humanos como el número de candidatos
entrevistados en los últimos 3 con un perfil de analista o el número de candidatos
captados por cada área tecnológica.
Con esta información podrían ver puntos fuertes y débiles del proceso de
selección, estudiando los informes generados. Es un plus que podría proporcionar
este proyecto puesto que es una información muy útil para realizar mejoras en el
proceso de selección de candidatos ya que actualmente no disponen de ninguna
herramienta con la que obtener ese tipo de información.
En resumen, podríamos destacar esos dos objetivos como los objetivos
secundarios de este proyecto:
- Generación automática de Currículo en el formato del cliente peticionario
del proyecto al que el candidato ha sido asignado.
- Generación de informes sobre el proceso de selección de candidatos, a
partir de la información recogida en la aplicación.
Los objetivos secundarios también han sido cubiertos con la realización de
este proyecto, integrando en el módulo diseñado para el departamento de Recursos
Humanos las opciones de generación de informes (tanto unos informes pre-
definidos como un formulario donde pueden personalizar qué tipo de informe se
desea).
Asimismo se ha incluido una utilidad que permite seleccionar para cada
candidato qué tipo de plantilla de su Currículo desea y se genera automáticamente
a partir de la información recogida al dar de alta el candidato. Sobre esta utilidad
cabe decir que se han desarrollado 3 plantillas que generan un C.V en formato PDF
(Portable Document File) según la plantilla elegida: la propia de VASS (para clientes
que no solicitan un formato de C.V. propio), otra de IECISA y otra de ISBAN (que
son los principales clientes para los que trabaja la empresa).
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 21
3. Metodología En este apartado se describe la metodología seguida para la realización del
proyecto. En primer lugar, se hará una introducción a la Programación Orientada a
Objetos (POO) en la que se ha basado el desarrollo del proyecto. En segundo
lugar, se realizará una introducción a la aplicación de este tipo de programación en
el desarrollo de aplicaciones Web en el lenguaje Java: J2EE. Por último, se
describirá el patrón de diseño elegido para la implementación de la aplicación Web:
el Modelo Vista Controlador (MVC).
3.1. Programación Orientada a Objetos
3.1.1. Introducción
Tradicionalmente la programación era estructurada. Esto quiere decir que se
tenía el concepto de programa como una entidad capaz de coger unos datos de
partida, procesarlos aplicándoles ciertos algoritmos y obtener unos resultados.
Esta visión estaba orientada a procedimientos o funciones, donde los datos
siguen un flujo de entrada al programa, paso por los distintos procedimientos que lo
componen hasta obtener unos resultados esperados que son la salida del
programa. En este tipo de programación están basados lenguajes de programación
como C o Pascal y la representación de dichos programas se realiza mediante
diagramas de flujo o flow charts.
Esta estructura de los programas permitían un desarrollo de los programas
que facilitaban su comprensión posterior ya que era una estructura secuencial sin
saltos incondicionales y que estaba basado en únicamente tres sentencias de
control: secuencia, instrucción condicional e iteración (bucle de instrucciones).
El gran inconveniente que presentaba este tipo de programación era su
concepción de un programa como un único bloque, que cuando era de un tamaño
considerable se tornaba en inmanejable. Para resolver este problema apareció la
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 22
programación modular, donde se dividía el bloque del programa en módulos
independientes que interactúan entre ellos con unos interfaces bien conocidos.
La Programación Orientada a Objetos es un paradigma de este tipo de
programación, que se basa en una entidad denominada objeto que combina estado
(es decir, datos), identidad (es decir, atributos que lo definen) y comportamiento
(métodos o procedimientos). Con esta visión, un programa se representa como una
serie de estos objetos relacionándose entre sí para conseguir un objetivo común.
Los objetos son instancias de una clase que es una abstracción de la
realidad recogiendo los atributos y funcionalidad común a un grupo de objetos. De
esta forma, cuando se le da valor a los atributos, tenemos una instancia de una
clase, es decir, un objeto de dicha clase.
Este paradigma de programación permite definir los programas en módulos
más fáciles de desarrollar, mantener y reutilizar y trata los datos y funcionalidad en
una entidad de manera indivisible, al contrario que en la programación estructurada.
3.1.2. Conceptos básicos
- Objeto: Entidad provista de un conjunto de propiedades o atributos
(datos) y de comportamiento o funcionalidad (métodos). Corresponden a
los objetos reales del mundo que nos rodea, o a objetos internos del
sistema (del programa).
- Clase: Definiciones de las propiedades y comportamiento de un tipo de
objeto concreto.
- Instancia: Es la manifestación concreta de una clase (proceso
normalmente nombrado como instanciación). Esto es, un objeto con
valores concretos. También puede nombrarse como ocurrencia.
- Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un "mensaje". Desde el
punto de vista del comportamiento, es lo que el objeto puede hacer. Un
método puede producir un cambio en las propiedades del objeto, o la
generación de un "evento" con un nuevo mensaje para otro objeto del
sistema.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 23
- Evento: Es un suceso en el sistema (por ejemplo una interacción del
usuario con la máquina o un mensaje enviado por un objeto). El sistema
maneja el evento enviando el mensaje adecuado al objeto pertinente.
También se puede definir como evento, a la reacción que puede
desencadenar un objeto, es decir la acción que genera.
- Mensaje: Es una comunicación dirigida a un objeto, que le ordena que
ejecute uno de sus métodos con ciertos parámetros asociados al evento
que lo generó.
- Propiedad o atributo: Es un contenedor de un tipo de datos asociados a
un objeto (o a una clase de objetos), que hace los datos visibles desde
fuera del objeto, y cuyo valor puede ser alterado por la ejecución de
algún método.
- Estado interno: Es una propiedad invisible de los objetos, que puede ser
únicamente accedida y alterada por un método del objeto, y que se
utiliza para indicar distintas situaciones posibles para el objeto (o clase
de objetos).
- Componentes de un objeto: atributos, identidad, relaciones y métodos.
- Representación de un objeto: Un objeto se representa por medio de una
tabla o entidad que esté compuesta por sus atributos y funciones
correspondientes.
3.1.3. Paradigmas
- Abstracción: Consiste en extraer la información esencial de un problema
omitiendo los detalles menos significativos. Un objeto es una abstracción
de la realidad. La clave de la programación orientada a objetos está en
abstraer los métodos y datos comunes a un conjunto de objetos y
representarlos en una clase.
- Encapsulamiento: Es un agrupamiento bajo un mismo nombre de la
información y las operaciones que acceden a ella. Permite reunir a todos
los elementos que puedan considerarse pertenecientes a una misma
entidad, al mismo nivel de abstracción. Esto permite aumentar la
cohesión de los componentes del sistema.
- Ocultación de la información: Cada objeto está aislado del exterior, es un
módulo natural, y cada tipo de objeto expone una interfaz a otros objetos
que especifica cómo pueden interactuar con los objetos de la clase. El
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 24
aislamiento protege a las propiedades de un objeto contra su
modificación por quien no tenga derecho a acceder a ellas, solamente
los propios métodos internos del objeto pueden acceder a su estado.
Esto asegura que otros objetos no pueden cambiar el estado interno de
un objeto de maneras inesperadas. Así se eliminan efectos secundarios
e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo
un acceso directo a los datos internos del objeto de una manera
controlada y limitando el grado de abstracción.
- Polimorfismo: Comportamientos diferentes, asociados a objetos
distintos, pueden compartir el mismo nombre. Al llamarlos por ese
nombre se utilizará el comportamiento correspondiente al objeto que se
esté usando.
- Herencia: Las clases no están aisladas, sino que se relacionan entre sí
formando una jerarquía de clasificación. Los objetos heredan las
propiedades y el comportamiento de todas las clases a las que
pertenecen. La herencia organiza y facilita el polimorfismo y el
encapsulamiento, permitiendo a los objetos ser definidos y creados
como tipos especializados de objetos preexistentes. Estos pueden
compartir y extender su comportamiento sin tener que volver a
implementarlo.
3.2. J2EE Java 2 Platform, Enterprise Edition es una plataforma de programación
perteneciente al lenguaje para desarrollar y ejecutar software de aplicaciones en
lenguaje de programación Java en una arquitectura distribuida, basándose
ampliamente en componentes modulares ejecutándose sobre un servidor de
aplicaciones.
El lenguaje Java es independiente de la máquina, lo que lo hace perfecto
para aplicaciones distribuidas que deban integrar diferentes arquitecturas. Esto es
posible, gracias a que no es un lenguaje compilado para una arquitectura concreta,
sino que se compila para una máquina virtual, que es la que interpreta para cada
arquitectura el desarrollo realizado.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 25
En concreto, la plataforma J2EE proporciona una serie de funcionalidades
específicas para el desarrollo de aplicaciones empresariales:
- JDBC: Acceso a Base de Datos.
- RMI: Acceso a métodos remotos.
- E-Mail: Funciones de correo electrónico.
- JMS: Servicios de mensajería.
- WS: Servicios Web.
- XML: Estándar para el intercambio de información estructurada entre
diferentes plataformas.
- Servlets: Objetos que corren dentro del contexto de un servidor de
aplicaciones.
- JSP: Tecnología que permite generar páginas Web con contenido
dinámico a partir de scripts.
- Beans: Componente software reutilizable.
Para el desarrollo del proyecto se han usado las tecnologías JDBC, JSP,
Servlets y Beans.
3.3. MVC El Modelo Vista Controlador (MVC) es un patrón de arquitectura software
que separa los datos de una aplicación, la interfaz de usuario y la lógica de control
en tres componentes distintos:
- Modelo: Esta es la representación específica de la información con la
cual el sistema opera. La lógica de datos asegura la integridad de estos
y normalmente comprende el acceso a esos datos por parte de la
aplicación Web, representando y encapsulando así la lógica de negocio.
Se puede implementar con JavaBeans, Plain Old Java Objects (POJO) o
Enterprise Java Beans (EJB).
- Vista: Este componente presenta el modelo en un formato adecuado
para interactuar, usualmente la interfaz de usuario que en el caso que
nos ocupa serán páginas Web (normalmente una JSP).
- Controlador: Este responde a eventos, usualmente acciones del usuario
e invoca cambios en el modelo y probablemente en la vista. Se
implementará como Servlets.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 26
En la siguiente imagen se muestra el proceso que rige este patrón de
diseño:
Figura 3.3.1: Modelo Vista Controlador
Para las aplicaciones Web, se ha desarrollad un Modelo 2 o MVC2 que evita
que el modelo sea que el notifique a la Vista de los cambios de estado que se han
producido. De este modo, la Vista sólo se relaciona con el modelo a través del
controlador. Lo podemos ver en la siguiente imagen:
Figura 3.3.2: MVC2
La principal ventaja que proporciona este patrón de diseño es una clara
separación en capas de los distintos componentes de la aplicación Web, lo que nos
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 27
permite una reutilización mayor de los módulos, así como una mayor facilidad en el
mantenimiento y una mayor versatilidad al facilitar la escalabilidad.
3.4. Metodología seguida en el desarrollo Una vez visto una introducción general a los paradigmas usados para el
desarrollo del proyecto, se reflejará en este apartado la aplicación de dichos
paradigmas al desarrollo de este proyecto.
Para obtener la aplicación final se ha seguido la siguiente metodología, con
unos pasos bien diferenciados y que han permitido desarrollar este proyecto de una
forma estructurada para conseguir cumplir todos los objetivos. Esta metodología se
basa en el siguiente diagrama:
Figura 3.4.1: Diagrama Flujo de Desarrollo
El diagrama es bastante explicativo de la metodología seguida. Una vez
identificado un requisito, se desarrolla su caso de uso, que da lugar a un diagrama
de secuencia. Una vez obtenido este diagrama, se desarrolla el código que permite
ejecutar su flujo de operaciones de una forma correcta y se realizan las pruebas
unitarias correspondientes para comprobar que se ha cumplido el requisito
planteado inicialmente
Tras desarrollar varios requisitos que completen un módulo de la aplicación
se procede a la implantación, que seguirá la siguiente metodología:
Figura 3.4.2: Flujo implantación
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 28
En ella podemos apreciar que se hace una implantación por cada versión de
la aplicación, no por cada requisito desarrollado, sino cuando se completen varios
que permitan al menos disponer de un módulo operativo. No tiene sentido implantar
una versión de la aplicación que no complete una operación, por ejemplo
desarrollar la interfaz de un módulo pero no darle la funcionalidad esperada.
Esto podría llevar al usuario a pensar que hay un error y que la aplicación no
funciona, cuando la realidad sería que todavía no se ha desarrollado la
funcionalidad de dicha parte.
Por ello, tras la implantación de una versión se procederá a realizar un caso
de pruebas del sistema generar que darán lugar en caso de que resulten positivas a
una validación de la versión de la aplicación que se acaba de implantar.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 29
4. Análisis de Requisitos Este apartado tiene por objetivo identificar y analizar toda la casuística y
necesidades para cubrir todos los objetivos, tanto principales como secundarios, de
este proyecto.
4.1. Identificación de Requisitos A continuación se detallan todos los requisitos identificados como
necesarios para cubrir la funcionalidad deseada del sistema.
4.1.1. Módulo de RR.HH.
RQ-RRHH-AC: Dar de alta un candidato en el sistema v0.1
Requisito: Dar de alta un candidato en el sistema Código: RQ-RRHH-AC Fecha: 21/07/2006 Versión: 0.1 Descripción: Esta funcionalidad permite dar de alta un candidato en el sistema.
Se deberá recoger y almacenar la siguiente información: - Nombre * - Primer Apellido * - Segundo Apellido - DNI * - E-Mail * - Teléfono 1 * - Teléfono 2 - CV Adjunto (en formato MS Word o PDF) * - Estado en el proceso de selección * - Entrevista Personal
Sin iniciar Apto No Apto
- Entrevista Técnica Sin iniciar Apto No apto
No debe dejar introducir un candidato existente en el sistema. Para ello, se comprobará antes de dar de alta el DNI del nuevo candidato. * Los atributos marcados con asterisco serán obligatorios.
Categoría: Requisito Funcional Requisitos relacionados:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 30
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-AC: Dar de alta un candidato en el sistema v0.2
Requisito: Dar de alta un candidato en el sistema Código: RQ-RRHH-AC Fecha: 21/08/2006 Versión: 0.2 Descripción: Misma funcionalidad que en versión 0.1 Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
Incluir los siguientes nuevos atributos al dar de alta un candidato en el sistema:
- Área tecnológica * - Fecha recepción CV * - Canal recepción Candidato - Entrevista Telefónica
Sin iniciar Apto No Apto
- Comentarios entrevistas - Disponibilidad incorporación - Empresa procedencia - Oficina destino - Lugar residencia - Idiomas, con niveles:
Alto Medio Bajo
- Disponibilidad viajar - Salario actual - Perfil VASS - Propuesta realizada - Fecha propuesta - Fecha entrevista
* Los atributos marcados con asterisco son obligatorios. Observaciones:
RQ-RRHH-AC: Dar de alta un candidato en el sistema v0.3
Requisito: Dar de alta un candidato en el sistema Código: RQ-RRHH-AC Fecha: 14/09/2006 Versión: 0.3 Descripción: Misma funcionalidad que en versión 0.1 Categoría: Requisito Funcional Requisitos relacionados:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 31
Cambios respecto a la Versión anterior:
Incluir los siguientes nuevos atributos al dar de alta un candidato en el sistema:
- Fecha de nacimiento - Nacionalidad - Permiso de trabajo - Tipo de visado - Salario deseado - Fecha de alta - Fecha de última modificación - Motivos rechazo oferta - Motivos no válido - Empleado que lo recomienda - Titulación, divida en tres tipos:
Universitaria F.P. Otros
- Categoría profesional, con los siguientes valores: PAPI Programador PS Analista Consultor Técnico Consultor Funcional Administrador Jefe de Proyecto Otro
- Años de experiencia - Certificaciones - Sub-Áreas tecnológicas
Cambiar el atributo Años de Experiencia por Experiencia Desde, ya que se desea conocer el año en el que empezó a trabajar, no los años de experiencia en el momento de introducir el candidato. Distribuir los atributos en tres secciones: Datos personales, Estado de Selección y Skills.
Observaciones:
RQ-RRHH-AC: Dar de alta un candidato en el sistema v1.0
Requisito: Dar de alta un candidato en el sistema Código: RQ-RRHH-AC Fecha: 30/03/2007 Versión: 1.0 Descripción: Requisitos definitivos al dar de alta: Esta funcionalidad permite dar de alta
un candidato en el sistema. Se deberá recoger y almacenar la siguiente información: DATOS PERSONALES:
- Nombre * - Primer Apellido * - Segundo Apellido - DNI *
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 32
- E-Mail * - Teléfono 1 * - Teléfono 2 - Fecha de Nacimiento - Oficina - Lugar de residencia - Nacionalidad - Permiso de trabajo - Tipo de visado - Disponibilidad para viajar - Áreas tecnológicas - Sub-Áreas tecnológicas - Salario actual - Salario solicitado - Beneficios sociales - Otras retribuciones
ESTADO SELECCIÓN: - Estado en el proceso de selección * - Motivos rechazo oferta - Motivos no válido - Entrevista Telefónica
Sin iniciar Apto No Apto
- Comentario Entrevista Telefónica - Entrevista Personal
Sin iniciar Apto No Apto
- Comentarios Entrevista Personal - Entrevista Técnica
Sin iniciar Apto No apto
- Comentarios Entrevista Técnica - Fecha entrevista - Disponibilidad Incorporación - CV Adjunto (en formato MS Word o PDF) - Fecha Realización Propuesta - Propuesta Adjunta (en formato MS Word o PDF) - Nivel de la Propuesta Realizada - Canal de Recepción Candidato - Empleado que lo recomienda - Empresa de Procedencia
SKILLS: - Titulación
Universitaria FP Otros
- Perfil - Experiencia Desde - Certificaciones - Otra formación - Experiencia Profesional
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 33
- Idiomas, con niveles: Alto Medio Bajo
* Los atributos marcados con asterisco serán obligatorios.
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
DNI, E-Mail y CV adjunto dejan de ser obligatorios. Incluir los siguientes nuevos atributos al dar de alta un candidato en el sistema:
- Usuario que dio de alta el candidato - Usuario que realizó la última modificación del candidato - Adjuntar fichero con la propuesta realizada - Beneficios sociales - Otras retribuciones - Otra formación - Experiencia profesional
Incluir validación al dar de alta por nombre y apellidos además de por DNI que estaba definido en la versión 0.1 de este requisito. Debido a que el DNI ha dejado de ser un atributo obligatorio se podrían producir duplicidad de candidatos al dar de alta si no se comprueba si el nombre y apellidos ya existen.
Observaciones:
RQ-RRHH-CC: Consultar candidatos en el sistema v0.1
Requisito: Consultar candidatos en el sistema Código: RQ-RRHH-CC Fecha: 21/07/2006 Versión: 0.1 Descripción: Esta funcionalidad permite consultar los candidatos dados de alta en el
sistema. Se podrá realizar búsquedas por cualquier atributo de un candidato, además de por el área tecnológica a la que pertenece.
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-CC: Consultar candidatos en el sistema v0.2
Requisito: Consultar candidatos en el sistema Código: RQ-RRHH-CC Fecha: 30/03/2007 Versión: 0.2 Descripción: Misma funcionalidad que en v0.1
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 34
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
Incluir filtro por sub-áreas, a parte de por áreas tecnológicas. Incluir filtro por fechas de alta, última modificación y de entrevista anteriores y posteriores a unas fechas introducidas. Incluir filtro adicional por el atributo de candidato: Otra formación Incluir opción que permita ordenar la búsqueda por el atributo deseado.
Observaciones:
RQ-RRHH-BC: Dar de baja un candidato en el sistema v0.1
Requisito: Dar de baja un candidato en el sistema Código: RQ-RRHH-BC Fecha: 21/07/2006 Versión: 0.1 Descripción: Esta funcionalidad permite dar de baja un candidato dado de alta en el
sistema. Para eliminar un candidato, se hará buscándolo por DNI ya que es el único atributo único para un candidato.
Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CC
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-BC: Dar de baja un candidato en el sistema v1.0
Requisito: Dar de baja un candidato en el sistema Código: RQ-RRHH-BC Fecha: 30/03/2007 Versión: 1.0 Descripción: Misma funcionalidad que en v0.1. Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CC
Cambios respecto a la Versión anterior:
Incluir filtros adicionales de búsqueda para dar de baja un candidato del sistema por nombre, primer apellido, segundo apellido y área tecnológica a parte de por DNI ya que este no es un campo obligatorio y puede no encontrarse el candidato a dar de baja en el sistema.
Observaciones: Se ha observado que al eliminar la restricción de obligatoriedad del DNI como atributo al dar de alta un candidato, el sistema puede evitar que se den de alta dos candidatos que coincidan en nombre y apellidos si no se dispone de su DNI.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 35
RQ-RRHH-MC: Modificar un candidato en el sistema v1.0
Requisito: Modificar un candidato en el sistema Código: RQ-RRHH-MC Fecha: 21/07/2006 Versión: 1.0 Descripción: Esta funcionalidad permite modificar un candidato existente en el sistema.
Para ello, se realizará una consulta sobre los candidatos existentes en el sistema y una vez obtenido una lista de resultados, se podrá seleccionar el deseado para modificar los valores de sus atributos que estén guardados en el sistema (los definidos al dar de alta el candidato en RQ-RRHH-AC).
Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CC, RQ-RRHH-AC
Cambios respecto a la Versión anterior:
N/A
Observaciones: La funcionalidad de modificar un candidato en el sistema, se tiene que adaptar según los requisitos que se definan para el alta del sistema, de forma que al modificar se puedan actualizar los mismos atributos de un candidato que al darlo de alta en el sistema.
RQ-RRHH-CV: Generar el CV de un Candidato en PDF v1.0
Requisito: Generar el CV de un Candidato en PDF Código: RQ-RRHH-CV Fecha: 30/03/2007 Versión: 1.0 Descripción: Esta funcionalidad permite generar el Currículo de un Candidato en
formato PDF a partir de la información recogida en el sistema. El CV se generará según varias plantillas de los clientes más importantes de la empresa para automatizar el proceso de envío de currículos a los clientes de la empresa. Se permitirá por tanto, elegir entre varias plantillas el formato del CV deseado.
Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CC
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-AA: Dar de alta de un área tecnológica v1.0
Requisito: Dar de alta un área tecnológica Código: RQ-RRHH-AA Fecha: 21/08/2006 Versión: 1.0 Descripción: Esta funcionalidad permite dar de alta áreas tecnológicas en el sistema para
gestionar un posible crecimiento en el futuro de las áreas en las que trabaja
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 36
la empresa. Se permitirá almacenar en el sistema la siguiente información:
- Nombre * - Descripción
* Los atributos marcados con asterisco son obligatorios. Se comprobará que no existe un área tecnológica con dicho nombre.
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-BA: Dar de baja de un área tecnológica v1.0
Requisito: Dar de baja un área tecnológica Código: RQ-RRHH-BA Fecha: 21/08/2006 Versión: 1.0 Descripción: Esta funcionalidad permite dar de baja áreas tecnológicas existentes en el
sistema. Para ello, se realiza una consulta por el nombre del área que se desea eliminar ya que es el campo clave de las áreas tecnológicas.
Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CA
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-CA: Consultar áreas tecnológicas v1.0
Requisito: Consultar áreas tecnológicas Código: RQ-RRHH-CA Fecha: 21/08/2006 Versión: 1.0 Descripción: Esta funcionalidad permite realizar búsquedas por el nombre del área
tecnológica entre todas las existentes en el sistema. Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CA
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-MA: Modificar un área tecnológica v1.0
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 37
Requisito: Modificar un área tecnológica Código: RQ-RRHH-MA Fecha: 21/08/2006 Versión: 1.0 Descripción: Esta funcionalidad permite modificar un área tecnológica existente en el
sistema. Para ello, se realiza una consulta por el nombre del área. De entre los resultados obtenidos, se modificará aquella que desee el usuario, permitiendo modificar tanto nombre como descripción.
Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CA
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-AS: Dar de alta de una sub-área tecnológica v1.0
Requisito: Dar de alta un sub-área tecnológica Código: RQ-RRHH-AS Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permite dar de alta sub-áreas tecnológicas en el sistema
para gestionar un posible crecimiento en el futuro de las sub-áreas en las que trabaja la empresa. Se permitirá almacenar en el sistema la siguiente información:
- Área tecnológica a la que pertenece * - Nombre del sub-área tecnológica *
* Los atributos marcados con asterisco son obligatorios. Se comprobará que no existe una sub-área tecnológica con dicho nombre en el área donde se desea dar de alta.
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-BS: Dar de baja de una sub-área tecnológica v1.0
Requisito: Dar de baja una sub-área tecnológica Código: RQ-RRHH-BS Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permite dar de baja sub-áreas tecnológicas existentes en
el sistema. Para ello, se realiza una consulta por el nombre del sub-área que
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 38
se desea eliminar y por el nombre del área tecnológica a la que pertenece. Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CS
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-CS: Consultar sub-áreas tecnológicas v1.0
Requisito: Consultar sub-áreas tecnológicas Código: RQ-RRHH-CS Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permite realizar búsquedas por el nombre del área
tecnológica a la que pertenece y por el nombre del sub-área que se desesa encontrar entre todas las existentes en el sistema. El nombre del área tecnológica a la que pertenece será obligatorio en la búsqueda para que no se puedan confundir sub-áreas con el mismo nombre pertenecientes a dos áreas tecnológicas distintas.
Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CS
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-MS: Modificar una sub-área tecnológica v1.0
Requisito: Modificar una sub-área tecnológica Código: RQ-RRHH-MS Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permite modificar un área tecnológica existente en el
sistema. Para ello, se realiza una consulta por el nombre del área. De entre los resultados obtenidos, se modificará aquella que desee el usuario, permitiendo modificar sólo su nombre, no el área a la que pertenece.
Categoría: Requisito Funcional Requisitos relacionados:
RQ-RRHH-CS
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-IP: Generar informes predefinidos v1.0
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 39
Requisito: Generar informes predefinidos Código: RQ-RRHH-IP Fecha: 30/03/2007 Versión: 1.0 Descripción: Esta funcionalidad permitirá generar informes dinámicos predefinidos en el
sistema de una forma sencilla. Para ello, se permitirá al usuario elegir entre los dos informes siguientes:
- Número de candidatos existentes por áreas tecnológicas - Número de candidatos dados de alta en el último mes por áreas
tecnológicas. Se mostrará un gráfico (sectorial en el primer caso y de barras en el segundo), así como los datos obtenidos.
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-IA: Generar informes personalizados v1.0
Requisito: Generar informes personalizados Código: RQ-RRHH-IA Fecha: 30/03/2007 Versión: 1.0 Descripción: Esta funcionalidad permitirá generar informes dinámicos personalizados
por el usuario: “ad-hoc reporting”. Para ello, se permitirá al usuario de forma sencilla parametrizar los informes por los siguientes atributos:
- Estado - Entrevista Telefónica - Entrevista Personal - Entrevista Técnica - Comentarios Entrevista Telefónica - Comentarios Entrevista Personal - Comentarios Entrevista Técnica - Motivos Rechazo - Motivos No Válido - Empleado que lo recomienda - Empresa Procedencia - Experiencia Desde - Oficina Destino - Disponibilidad viajar
Una vez definidos todos los atributos que deben cumplir los candidatos sobre el número de candidatos de los que se desea obtener el informe, se le permitirá al usuario elegir por qué atributos agrupar a los candidatos en el informe de entre los siguientes:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 40
- Área - Estado - Perfil - Nivel de la propuesta - Canal de recepción - Experiencia
Además se permitirá al usuario, elegir un rango de fechas en la que los candidatos sobre los que desea obtener el informe fueron dados de alta en el sistema. Estos rangos serán los siguientes:
- Último mes - Últimos 3 meses - Últimos 6 meses - Último año - Totales (sobre todos los existentes en el sistema, sin importar
fecha de alta). Se mostrará un gráfico de barras, así como los datos obtenidos.
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-RRHH-CD: Carga de datos antiguos en el sistema v1.0
Requisito: Carga de datos antiguos en el sistema Código: RQ-RRHH-CD Fecha: 14/09/2006 Versión: 1.0 Descripción: Se necesita un volcado de los datos de las hojas de cálculo MS Excel con
los que trabajaban en el Departamento de Recursos Humanos en el sistema, de forma que el nuevo sistema permita disponer de los datos sobre candidatos recogidos antes de la puesta en explotación del mismo.
Categoría: Requisito No Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones: Esta carga de datos, no la realizará el usuario de recursos humanos manualmente, sino que se automatizará el volcado de datos al nuevo sistema.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 41
4.1.2. Módulo Comercial
RQ-COM-AP: Realizar Alta de una Petición en el sistema v1.0
Requisito: Realizar Alta de una Petición en el sistema Código: RQ-COM-AP Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permitirá dar de alta una petición en el sistema.
Se deberá recoger y almacenar la siguiente información:
- Compañía que origina la petición * - Peticionario * - Puesto del peticionario - Área tecnológica en la que se enmarca la petición * - Número de recursos solicitados * - Fecha de incorporación - Duración estimada (puede ser días, semanas, meses o años). - Perfil solicitado * - Lugar de trabajo - Requisitos técnicos - Importancia petición - Comentarios
* Los campos marcados con asterisco son obligatorios
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-COM-CP: Consultar una Petición en el sistema v1.0
Requisito: Consultar una Petición en el sistema Código: RQ-COM-CP Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permitirá realizar consultas sobre las peticiones
existentes en el sistema, dejando libertad al usuario de filtrar por los siguientes atributos:
- Compañía - Peticionario - Área Tecnológica - Fecha de incorporación - Lugar de trabajo - Perfil solicitado
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 42
- Requisitos técnicos - Importancia de petición
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-COM-MP: Modificar una Petición existente en el sistema v1.0
Requisito: Modificar una Petición existente en el sistema Código: RQ-COM-MP Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permitirá realizar modificaciones de los datos
guardados de una petición existente en el sistema. Para ello, y tras realizar una consulta entre las peticiones existentes (RQ-COM-CP) se permitirá elegir una de ellas para modificar los datos según los valores almacenados al dar de alta (RQ-COM-AP).
Categoría: Requisito Funcional Requisitos relacionados:
RQ-COM-CP, RQ-COM-AP
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-COM-AC: Asignar Candidatos a una Petición existente en el sistema
v1.0
Requisito: Asignar Candidatos a una Petición existente en el sistema Código: RQ-COM-AC Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permitirá asignar candidatos a una petición existente en
el sistema. Para ello, y tras realizar una consulta entre las peticiones existentes (RQ-COM-CP) se permitirá elegir una de ellas para asignarle candidatos mediante una consulta entre los candidatos existentes en el sistema (RQ-RRHH-CC). La consulta de estos candidatos se podrá filtrar por los siguientes atributos:
- Área tecnológica - Perfil del candidato - Oficina - Requisitos técnicos
Categoría: Requisito Funcional Requisitos RQ-COM-CP, RQ-RRHH-CC
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 43
relacionados: Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-COM-VC: Ver Candidatos asignados a una Petición existente en el
sistema v1.0
Requisito: Ver Candidatos asignados a una Petición existente en el sistema Código: RQ-COM-VC Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permitirá consultar de una manera sencilla los
candidatos que están asignados a una petición existente en el sistema. Para ello, y tras realizar una consulta entre las peticiones existentes (RQ-COM-CP) se permitirá elegir una de ellas donde se podrá ver de manera clara los candidatos que se encuentran asignados a la petición.
Categoría: Requisito Funcional Requisitos relacionados:
RQ-COM-CP
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-COM-MC: Modificar Candidatos asignados a una Petición existente en
el sistema v1.0
Requisito: Modificar Candidatos asignados a una Petición existente en el sistema Código: RQ-COM-MC Fecha: 14/09/2006 Versión: 1.0 Descripción: Esta funcionalidad permitirá modificar de una manera sencilla los
candidatos que están asignados a una petición existente en el sistema. Para ello, y tras realizar una consulta entre las peticiones existentes (RQ-COM-CP) se permitirá elegir una de ellas donde se podrá ver de manera clara los candidatos que se encuentran asignados a la petición (RQ-COM-VC). De los candidatos asignados se podrán eliminar aquellos candidatos que el usuario estime ya no deben estar asignados a la petición. Para asignar nuevos candidatos, se permitirá realizarlo según el requisito RQ-COM-AC
Categoría: Requisito Funcional Requisitos relacionados:
RQ-COM-CP, RQ-COM-VC, RQ-COM-AC
Cambios respecto a la Versión anterior:
N/A
Observaciones:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 44
4.1.3. Propios del sistema
RQ-SIS-LG: Realizar Login de usuarios contra LDAP v1.0
Requisito: Realizar Login de usuarios contra el LDAP corporativo Código: RQ-SIS-LG Fecha: 21/07/2006 Versión: 1.0 Descripción: Esta funcionalidad permitirá a los usuarios, tanto del Departamento de
Recursos Humanos como del Área Comercial, poder iniciar sesión en el sistema con su usuario del LDAP corporativo que usan el resto de aplicaciones de la empresa.
Categoría: Requisito Funcional Requisitos relacionados:
Cambios respecto a la Versión anterior:
N/A
Observaciones:
RQ-SIS-RO: Registrar todas las operaciones realizadas por los usuarios
v1.0
Requisito: Registrar todas las operaciones realizadas por los usuarios Código: RQ-SIS-RO Fecha: 30/03/2007 Versión: 1.0 Descripción: Esta funcionalidad permitirá registrar todas las operaciones que los
usuarios realizan en el sistema, tanto del módulo de gestión de recursos humanos como del módulo de gestión del área comercial. Se registrará en un log cualquier operación realizada, además de en base de datos.
Categoría: Requisito Funcional Requisitos relacionados:
RQ-SIS-LG
Cambios respecto a la Versión anterior:
N/A
Observaciones:
4.2. Modelo de Casos de Uso En este apartado, se describirán los Casos de Uso que identifican los
requisitos funcionales del sistema, es decir, las acciones que un actor (ente externo
al sistema desarrollado que interactúa con él) puede realizar en el sistema.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 45
4.2.1. Diagrama de Casos de Uso
En este apartado veremos de forma gráfica los casos de uso que puede
realizar el usuario en el sistema.
4.2.2. Módulo de Recursos Humanos
En primer lugar, los casos de uso identificados para el módulo de Recursos
Humanos:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 46
Dar de Alta Candidato
Consultar Candidatos
Dar de Baja Candidato
Modificar Candidato
Generar CV en PDF
Dar de Alta Área
Dar de Baja Área Consultar Áreas
Modificar Área
Gestionar Candidatos
Gestionar Áreas
Dar de Alta Sub-Área
Dar de Baja Sub-Área Consultar Sub-Áreas
Modificar Sub-Áreas
Gestionar Sub-Áreas
Usuario RR.HH.
Generar Informes Predefinidos
Generar Informes
Generar Informes Personalizados
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
Figura 6: Diagrama Casos Uso Módulo RRHH
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 47
4.2.3. Módulo Comercial
Ahora veremos el diagrama de casos de uso definidos para el módulo del
área Comercial:
Consultar Peticiones
Dar de Alta Petición
Modificar Peticiones
Asignar Candidatos a Petición
<<include>>
Consultar Candidatos
<<include>>
Modificar Candidatos Asignados a Petición
Usuario Comercial
Ver Candidatos Asignados a Petición
<<include>>
<<include>>
<<include>>
<<include>>
Figura 7: Diagrama Casos Uso Módulo Comercial
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 48
4.2.4. Listado de Casos de Uso
Código Caso de Uso CU-RRHH-AC Dar de Alta Candidato CU-RRHH-CC Consultar Candidatos CU-RRHH-BC Dar de Baja Candidato CU-RRHH-MC Modificar Candidato CU-RRHH-CV Generar CV en PDF CU-RRHH-AA Dar de Alta Área CU-RRHH-BA Dar de Baja Área CU-RRHH-MA Modificar Área CU-RRHH-CA Consultar Áreas CU-RRHH-AS Dar de Alta Sub-Área CU-RRHH-BS Dar de Baja Sub-Área CU-RRHH-MS Modificar Sub-Área CU-RRHH-CS Consultar Sub-Áreas CU-RRHH-IA Generar Informes Personalizados CU-RRHH-IP Generar Informes Predefinidos CU-RRHH-CD Cargar datos antiguos en el sistema CU-COM-AP Dar de Alta Petición CU-COM-MP Modificar Petición CU-COM-CP Consultar Peticiones CU-COM-AC Asignar Candidatos a Petición CU-COM-MC Modificar Candidatos Asignados a Petición CU-COM-VC Ver Candidatos Asignados a Petición CU-SIS-LG Realizar Login de usuarios contra LDAP corporativo CU-SIS-RO Registrar todas las Operaciones que realicen los usuarios en el sistema
4.2.5. Descripción de Casos de Uso
CU-RRHH-AC: Dar de Alta un Candidato en el sistema
Caso de Uso: Dar de Alta un Candidato en el sistema Código: CU-RRHH-AC Versión: 1.0 Actores: Usuario del departamento de Recursos Humanos Descripción: Esta funcionalidad permite dar de alta un candidato en el sistema según los
atributos especificados para un candidato. Cambios respecto a la Versión anterior:
N/A
Precondiciones: El usuario debe tener iniciada sesión en el sistema Postcondiciones:
FLUJO PRINCIPAL
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 49
1. El usuario de Recursos Humanos se sitúa en el menú de Candidatos.
2. El usuario selecciona la opción de Alta.
3. El usuario introduce la información del candidato que desea introducir, para cada una de las tres secciones del alta de un candidato: Datos personales, Estado de selección y Skills.
4. Una vez introducidos los datos, el usuario elegirá la opción: DAR DE ALTA
5. El sistema comprueba que el usuario ha introducido, al menos, los campos obligatorios.
6. El sistema valida los datos introducidos.
7. El sistema almacena la información introducida por el usuario y le muestra el siguiente mensaje al usuario: “[INFO] - CANDIDATO DADO DE ALTA CORRECTAMENTE EN LA BASE DE DATOS”.
8. El sistema almacenará el usuario que ha realizado alta de un candidato en el sistema.
FLUJOS ALTERNATIVOS
Alternativo 1: El sistema detecta que faltan campos obligatorios por cumplimentar
5.a.1 El sistema muestra un mensaje de alerta al usuario informándole de los campos obligatorios que faltan por introducir y en qué sección se encuentra dicho campo, por ejemplo: “Faltan Datos Personales. Campo Nombre”.
5.a.2 Se vuelve a 3.
Alternativo 2: El sistema detecta que uno de los campos tiene un valor incorrecto
6.a.1El sistema muestra un mensaje de alerta al usuario informándole de que uno de los campos introducidos tiene un valor incorrecto, por ejemplo: “Formato de Email incorrecto”.
6.a.2 Se vuelve a 3.
Alternativo 3: Error al dar de alta el candidato en el sistema
7.a.1 El sistema detecta un error al guardar la información en el sistema y muestra un mensaje de error al usuario: “[ERROR] - Se ha producido un error al dar de alta el candidato”.
7.a.2 El sistema guardará la traza de error en el log y realizará un rollback de las operaciones realizadas en Base de Datos.
Alternativo 4: El usuario se ha equivocado al introducir los datos
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 50
3.a.1 El usuario podrá elegir la opción de BORRAR CAMPOS para eliminar los datos introducidos en el formulario de alta.
3.a.2 El sistema eliminará los datos introducidos den el formulario de alta y vuelve a 3.
NOTAS
1. Los atributos de un candidato se dividen en las tres secciones mencionadas según se definió en el requisito RQ-RRHH-AC v1.0.
2. Los atributos obligatorios son los definidos como tal en el requisito REQ-RRHH-AC v1.0.
3. Los mensajes al usuario se mostrarán en una página dedicada a mensajes, tanto de error como de información al usuario.
4. El sistema dispondrá de un fichero de log en el que anotará todas las operaciones que realiza un usuario durante su sesión.
CU-RRHH-CC: Consultar Candidatos
Caso de Uso: Consultar Candidatos Código: CU-RRHH-CC Versión: 1.0 Actores: Usuario del departamento de Recursos Humanos o del área Comercial Descripción: Esta funcionalidad permite consultar candidatos de entre los existentes en
el sistema. Cambios respecto a la Versión anterior:
N/A
Precondiciones: El usuario debe tener iniciada sesión en el sistema Postcondiciones:
FLUJO PRINCIPAL
1. El usuario se sitúa en el menú de Candidatos.
2. El usuario selecciona la opción de Consulta.
3. El usuario introduce los filtros que quiere aplicar a la consulta de candidatos.
4. El sistema muestra los candidatos que cumplen los filtros por los que ha restringido el usuario su consulta de entre todos los existentes en el sistema.
5. El usuario selecciona un candidato entre los resultados de la consulta del que desea ver su información completa.
6. El sistema mostrará la información completa del candidato que ha seleccionado el usuario en un formulario idéntico al de alta, con la información del candidato dividida en tres secciones: Datos personales, Estado de selección y Skills.
FLUJOS ALTERNATIVOS
Alternativo 1: El sistema detecta que faltan campos obligatorios por cumplimentar
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 51
4.a.1 El sistema no encuentra en el sistema ningún candidato que cumpla con los filtros especificados por el usuario.
4.a.2 El sistema muestra al usuario el siguiente mensaje: “NO HAY CANDIDATOS QUE CUMPLAN CON LOS CRITERIOS SELECCIONADOS”.
Alternativo 2: El usuario se ha equivocado al introducir los datos
3.a.1 El usuario podrá elegir la opción de BORRAR CAMPOS para eliminar los datos introducidos en el formulario de consultas.
3.a.2 El sistema eliminará los datos introducidos den el formulario de consultas y vuelve a 3.
NOTAS
1. Los atributos de un candidato se dividen en las tres secciones mencionadas según se definió en el requisito: RQ-RRHH-AC v1.0.
2. Los atributos por los que se puede filtrar la consulta de candidatos se definieron en el requisito: RQ-RRHH-CC v1.0.
3. En el listado de resultados se mostrará un registro por cada candidato encontrado donde se podrá visualizar el nombre y dos apellidos, el área tecnológica a la que pertenece el candidato, el estado en el que se encuentra dentro del proceso de selección y la fecha de alta en el sistema.
4. Los mensajes al usuario se mostrarán en una página dedicada a mensajes, tanto de error como de información al usuario.
5. El sistema dispondrá de un fichero de log en el que anotará todas las operaciones que realiza un usuario durante su sesión.
CU-RRHH-MC: Modificar Candidato
Caso de Uso: Modificar Candidato Código: CU-RRHH-MC Versión: 1.0 Actores: Usuario del departamento de Recursos Humanos Descripción: Esta funcionalidad permite actualizar la información almacenada de un
candidato en el sistema. Cambios respecto a la Versión anterior:
N/A
Precondiciones: El usuario debe tener iniciada sesión en el sistema El candidato que se pretende actualizar debe existir en el sistema
Postcondiciones:
FLUJO PRINCIPAL
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 52
1. El usuario se sitúa en el menú de Candidatos.
2. El usuario selecciona la opción de Consulta.
3. El usuario introduce los filtros que quiere aplicar a la consulta de candidatos.
4. El sistema muestra los candidatos que cumplen los filtros por los que ha restringido el usuario su consulta de entre todos los existentes en el sistema.
5. El usuario selecciona un candidato entre los resultados de la consulta del que desea actualizar su información.
6. El sistema mostrará la información completa del candidato que ha seleccionado el usuario en un formulario idéntico al de alta, con la información del candidato dividida en tres secciones: Datos personales, Estado de selección y Skills.
7. El usuario modificará los atributos que desee actualizar y elegirá la opción de GUARDAR CAMBIOS.
8. El sistema comprobará que el usuario ha introducido, al menos, los atributos especificados como obligatorios.
9. El sistema valida la información.
10. El sistema actualiza la información del candidato y le muestra el siguiente mensaje al usuario: “[INFO] - CANDIDATO MODIFICADO CORRECTAMENTE EN LA BASE DE DATOS”.
11. El sistema almacenará el usuario que ha realizado una modificación de un candidato en el sistema.
FLUJOS ALTERNATIVOS
Alternativo 1: El sistema detecta que faltan campos obligatorios por cumplimentar
4.a.1 El sistema no encuentra en el sistema ningún candidato que cumpla con los filtros especificados por el usuario.
4.a.2 El sistema muestra al usuario el siguiente mensaje: “NO HAY CANDIDATOS QUE CUMPLAN CON LOS CRITERIOS SELECCIONADOS”.
Alternativo 2: El usuario se ha equivocado al elegir los filtros en la consulta
3.a.1 El usuario podrá elegir la opción de BORRAR CAMPOS para eliminar los datos introducidos en el formulario de consultas.
3.a.2 El sistema eliminará los datos introducidos den el formulario de consultas y vuelve a 3.
Alternativo 3: El sistema detecta que faltan campos obligatorios por cumplimentar
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 53
8.a.1 El sistema muestra un mensaje de alerta al usuario informándole de los campos obligatorios que faltan por introducir y en qué sección se encuentra dicho campo, por ejemplo: “Faltan Datos Personales. Campo Nombre”.
8.a.2 Se vuelve a 6.
Alternativo 4: El sistema detecta que uno de los campos tiene un valor incorrecto
9.a.1El sistema muestra un mensaje de alerta al usuario informándole de que uno de los campos introducidos tiene un valor incorrecto, por ejemplo: “Formato de Email incorrecto”.
9.a.2 Se vuelve a 6.
Alternativo 5: Error al modificar el candidato en el sistema
10.a.1 El sistema detecta un error al modificar la información en el sistema y muestra un mensaje de error al usuario: “[ERROR] - Se ha producido un error al modificar el candidato”.
10.a.2 El sistema guardará la traza de error en el log y realizará un rollback de las operaciones realizadas en Base de Datos.
NOTAS
1. Los atributos de un candidato se dividen en las tres secciones mencionadas según se definió en el requisito: RQ-RRHH-AC v1.0.
2. Los atributos por los que se puede filtrar la consulta de candidatos se definieron en el requisito: RQ-RRHH-CC v1.0.
3. En el listado de resultados se mostrará un registro por cada candidato encontrado donde se podrá visualizar el nombre y dos apellidos, el área tecnológica a la que pertenece el candidato, el estado en el que se encuentra dentro del proceso de selección y la fecha de alta en el sistema.
4. Los mensajes al usuario se mostrarán en una página dedicada a mensajes, tanto de error como de información al usuario.
5. El sistema dispondrá de un fichero de log en el que anotará todas las operaciones que realiza un usuario durante su sesión.
CU-RRHH-BC: Dar de Baja Candidato
Caso de Uso: Dar de Baja Candidato Código: CU-RRHH-BC Versión: 1.0 Actores: Usuario del departamento de Recursos Humanos Descripción: Esta funcionalidad permite dar de baja un candidato existente en el sistema.Cambios respecto a la
N/A
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 54
Versión anterior:
Precondiciones: El usuario debe tener iniciada sesión en el sistema El candidato que se pretende eliminar debe existir en el sistema
Postcondiciones:
FLUJO PRINCIPAL
1. El usuario se sitúa en el menú de Candidatos.
2. El usuario selecciona la opción de Baja.
3. El usuario introduce los filtros que quiere aplicar a la consulta para bajas de candidatos.
4. El sistema muestra los candidatos que cumplen los filtros por los que ha restringido el usuario su consulta de entre todos los existentes en el sistema.
5. El usuario selecciona el candidato entre los resultados de la consulta que desea dar de baja.
6. El sistema mostrará la información completa del candidato que ha seleccionado el usuario en un formulario idéntico al de alta, con la información del candidato dividida en tres secciones: Datos personales, Estado de selección y Skills.
7. El usuario confirmará que ese es el candidato que desea dar de baja con la opción CONFIRMAR BAJA.
8. El sistema preguntará una última confirmación al usuario, ya que todos los datos que existan del candidato seleccionado serán eliminados y no podrá volver atrás. Para ello mostrará el siguiente mensaje: ¿Desea eliminar el candidato de BB.DD?
9. El sistema eliminará el candidato de base de datos y sus ficheros adjuntos (CV y propuesta) del servidor si los hubiese. Tras esto, el sistema mostrará el siguiente mensaje al usuario: “[INFO] - CANDIDATO DADO DE BAJA CORRECTAMENTE DE LA BASE DE DATOS”.
10. El sistema almacenará el usuario que ha realizado la baja de un candidato en el sistema.
FLUJOS ALTERNATIVOS
Alternativo 1: El sistema detecta que faltan campos obligatorios por cumplimentar
4.a.1 El sistema no encuentra en el sistema ningún candidato que cumpla con los filtros especificados por el usuario.
4.a.2 El sistema muestra al usuario el siguiente mensaje: “NO HAY CANDIDATOS QUE CUMPLAN CON LOS CRITERIOS SELECCIONADOS”.
Alternativo 2: El usuario se ha equivocado al elegir los filtros en la consulta
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 55
3.a.1 El usuario podrá elegir la opción de BORRAR CAMPOS para eliminar los datos introducidos en el formulario de consultas.
3.a.2 El sistema eliminará los datos introducidos den el formulario de consultas y vuelve a 3.
Alternativo 3: Error al eliminar el candidato del sistema
9.a.1 El sistema detecta un error al eliminar la información del candidato del sistema y muestra un mensaje de error al usuario: “[ERROR] - Se ha producido un error al eliminar el candidato”.
9.a.2 El sistema guardará la traza de error en el log y realizará un rollback de las operaciones realizadas en Base de Datos.
NOTAS
1. Los atributos de un candidato se dividen en las tres secciones mencionadas según se definió en el requisito: RQ-RRHH-AC v1.0.
2. Los atributos por los que se puede filtrar la consulta para bajas de candidatos se definieron en el requisito: RQ-RRHH-BC v1.0.
3. En el listado de resultados se mostrará un registro por cada candidato encontrado donde se podrá visualizar el nombre y dos apellidos, el área tecnológica a la que pertenece el candidato, el estado en el que se encuentra dentro del proceso de selección y la fecha de alta en el sistema.
4. Los mensajes al usuario se mostrarán en una página dedicada a mensajes, tanto de error como de información al usuario.
5. El sistema dispondrá de un fichero de log en el que anotará todas las operaciones que realiza un usuario durante su sesión.
El resto de casos de uso definidos como alta, baja, modificación o
consulta siguen todos el mismo esquema que los realizados anteriormente para un
candidato por lo que no se han desarrollado. A continuación se desarrollarán los
casos de uso que sean distintos o tengan alguna peculiaridad relevante.
CU-RRHH-CV: Generar CV en PDF
Caso de Uso: Generar CV en PDF Código: CU-RRHH-CV Versión: 1.0 Actores: Usuario del departamento de Recursos Humanos Descripción: Esta funcionalidad permite generar el Currículo de un Candidato en
formato PDF a partir de la información recogida en el sistema. El CV se generará según varias plantillas de los clientes más importantes de la empresa para automatizar el proceso de envío de currículos a los clientes de la empresa.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 56
Se permitirá por tanto, elegir entre varias plantillas el formato del CV deseado.
Cambios respecto a la Versión anterior:
N/A
Precondiciones: El usuario debe tener iniciada sesión en el sistema El candidato del que se pretende generar su currículo en formato PDF debe existir en el sistema
Postcondiciones:
FLUJO PRINCIPAL
1. El usuario se sitúa en el menú de Candidatos.
2. El usuario selecciona la opción de Consulta.
3. El usuario introduce los filtros que quiere aplicar a la consulta de candidatos parra encontrar el candidato deseado.
4. El sistema muestra los candidatos que cumplen los filtros por los que ha restringido el usuario su consulta de entre todos los existentes en el sistema.
5. El usuario selecciona el candidato sobre el que quería generar su CV en PDF de entre los resultados de la consulta.
6. El sistema mostrará la información completa del candidato que ha seleccionado el usuario en un formulario idéntico al de alta, con la información del candidato dividida en tres secciones: Datos personales, Estado de selección y Skills.
7. El usuario podrá seleccionar la plantilla que desee en la opción Tipo CV.
8. Una vez elegida la plantilla con la que desea generar el CV en PDF elegirá la opción GENERAR C.V.
9. El sistema generará un currículo en formato PDF con la plantilla elegida por el usuario y con la información que existía del candidato en la Base de Datos
10. El sistema mostrará al usuario el PDF en pantalla, que el usuario podrá guardar en su equipo para enviar posteriormente al cliente.
11. El sistema almacenará el usuario que ha realizado la generación de un CV en PDF en el sistema.
FLUJOS ALTERNATIVOS
Alternativo 1: El sistema detecta que faltan campos obligatorios por cumplimentar
4.a.1 El sistema no encuentra en el sistema ningún candidato que cumpla con los filtros especificados por el usuario.
4.a.2 El sistema muestra al usuario el siguiente mensaje: “NO HAY CANDIDATOS QUE CUMPLAN CON LOS CRITERIOS SELECCIONADOS”.
Alternativo 2: El usuario se ha equivocado al elegir los filtros en la consulta
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 57
3.a.1 El usuario podrá elegir la opción de BORRAR CAMPOS para eliminar los datos introducidos en el formulario de consultas.
3.a.2 El sistema eliminará los datos introducidos den el formulario de consultas y vuelve a 3.
Alternativo 3: Error al generar el CV en PDF en el sistema
9.a.1 El sistema detecta un error al generar el CV en formato PDF con la información disponible del candidato en el sistema y muestra un mensaje de error al usuario: “[ERROR] - Se ha producido un error al generar el CV”.
9.a.2 El sistema guardará la traza de error en el log.
NOTAS
1. Los atributos de un candidato se dividen en las tres secciones mencionadas según se definió en el requisito: RQ-RRHH-AC v1.0.
2. Los atributos por los que se puede filtrar la consulta de candidatos se definieron en el requisito: RQ-RRHH-CC v1.0.
3. En el listado de resultados se mostrará un registro por cada candidato encontrado donde se podrá visualizar el nombre y dos apellidos, el área tecnológica a la que pertenece el candidato, el estado en el que se encuentra dentro del proceso de selección y la fecha de alta en el sistema.
4. Los mensajes al usuario se mostrarán en una página dedicada a mensajes, tanto de error como de información al usuario.
5. El sistema dispondrá de un fichero de log en el que anotará todas las operaciones que realiza un usuario durante su sesión.
CU-RRHH-IP: Generar Informes Predefinidos
Caso de Uso: Generar Informes Predefinidos Código: CU-RRHH-IP Versión: 1.0 Actores: Usuario del departamento de Recursos Humanos Descripción: Esta funcionalidad permitirá generar informes dinámicos predefinidos en el
sistema de una forma sencilla. Para ello, se permitirá al usuario elegir entre los dos informes siguientes:
- Número de candidatos existentes por áreas tecnológicas - Número de candidatos dados de alta en el último mes por áreas
tecnológicas. Se mostrará un gráfico (sectorial en el primer caso y de barras en el segundo), así como los datos obtenidos.
Cambios respecto a la Versión anterior:
N/A
Precondiciones: El usuario debe tener iniciada sesión en el sistema
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 58
Postcondiciones:
FLUJO PRINCIPAL
1. El usuario se sitúa en el menú de Candidatos.
2. El usuario selecciona la opción de Informes.
3. El sistema muestra los informes predefinidos disponibles y la opción de Informe personalizado.
4. El usuario selecciona el informe predefinido que desee de entre los disponibles.
5. El sistema mostrará al usuario en pantalla un informe con un gráfico (de barras o de sectores según el informe escogido) y los datos numéricos obtenidos al generar el informe.
6. El sistema almacenará el usuario que ha realizado la generación de un informe en el sistema.
FLUJOS ALTERNATIVOS
Alternativo 1: Error al generar el Informe Predefinido en el sistema
5.a.1 El sistema detecta un error al generar el informe con la información disponible sobre candidatos en el sistema y muestra un mensaje de error al usuario: “[ERROR] - Se ha producido un error al generar el Informe”.
5.a.2 El sistema guardará la traza de error en el log.
NOTAS
1. Los mensajes al usuario se mostrarán en una página dedicada a mensajes, tanto de error como de información al usuario.
2. El sistema dispondrá de un fichero de log en el que anotará todas las operaciones que realiza un usuario durante su sesión.
CU-RRHH-IA: Generar Informes Personalizados
Caso de Uso: Generar Informes Personalizados Código: CU-RRHH-IA Versión: 1.0 Actores: Usuario del departamento de Recursos Humanos Descripción: Esta funcionalidad permitirá generar informes dinámicos personalizados
por el usuario: “ad-hoc reporting”. Para ello, se permitirá al usuario de forma sencilla parametrizar los informes por los siguientes atributos:
- Estado - Entrevista Telefónica - Entrevista Personal - Entrevista Técnica - Comentarios Entrevista Telefónica
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 59
- Comentarios Entrevista Personal - Comentarios Entrevista Técnica - Motivos Rechazo - Motivos No Válido - Empleado que lo recomienda - Empresa Procedencia - Experiencia Desde - Oficina Destino - Disponibilidad viajar
Una vez definidos todos los atributos que deben cumplir los candidatos sobre el número de candidatos de los que se desea obtener el informe, se le permitirá al usuario elegir por qué atributos agrupar a los candidatos en el informe de entre los siguientes:
- Área - Estado - Perfil - Nivel de la propuesta - Canal de recepción - Experiencia
Además se permitirá al usuario, elegir un rango de fechas en la que los candidatos sobre los que desea obtener el informe fueron dados de alta en el sistema. Estos rangos serán los siguientes:
- Último mes - Últimos 3 meses - Últimos 6 meses - Último año - Totales (sobre todos los existentes en el sistema, sin importar
fecha de alta). Se mostrará un gráfico de barras, así como los datos obtenidos.
Cambios respecto a la Versión anterior:
N/A
Precondiciones: El usuario debe tener iniciada sesión en el sistema Postcondiciones:
FLUJO PRINCIPAL
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 60
1. El usuario se sitúa en el menú de Candidatos.
2. El usuario selecciona la opción de Informes.
3. El sistema muestra los informes predefinidos disponibles y la opción de Informe personalizado
4. El usuario selecciona la opción de Informe personalizado.
5. El sistema mostrará al usuario un formulario con el que podrá elegir el tipo de informe deseado parametrizando los atributos que desee, agrupando los datos por el grupo del atributo que desee y filtrando los resultados en un rango de fechas deseado.
6. El usuario introducirá todos los datos con los que desea obtener un informe y elegirá la opción de Consultar.
7. El sistema mostrará al usuario en pantalla un informe con un gráfico de barras y los datos numéricos obtenidos al generar el informe según los datos introducidos.
8. El sistema almacenará el usuario que ha realizado la generación de un informe en el sistema.
FLUJOS ALTERNATIVOS
Alternativo 1: Error al generar el Informe Predefinido en el sistema
7.a.1 El sistema detecta un error al generar el informe con la información disponible sobre candidatos en el sistema y muestra un mensaje de error al usuario: “[ERROR] - Se ha producido un error al generar el Informe”.
7.a.2 El sistema guardará la traza de error en el log.
NOTAS
1. Los mensajes al usuario se mostrarán en una página dedicada a mensajes, tanto de error como de información al usuario.
2. El sistema dispondrá de un fichero de log en el que anotará todas las operaciones que realiza un usuario durante su sesión.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 61
5. Estudio de Arquitectura
5.1. Introducción El diseño de la arquitectura es una de las bases fundamentales del
desarrollo de cualquier proyecto. Elegir la arquitectura adecuada es imprescindible
para que todo funcione de manera correcta [COUL01].
El objetivo de esta fase es definir la solución de arquitectura técnica que
satisfaga tanto los requisitos como las restricciones de diseño. La arquitectura debe
indicar qué componentes básicos software, hardware y de comunicaciones deben
adquirirse o desarrollarse.
Componentes básicos software son los sistemas operativos a utilizar, el
gestor de base de datos más apropiado al problema a resolver, y los productos de
mercado o licencias necesarias como hojas de cálculo, generadores de informes,
generadores de SQL, navegadores de Internet, etc. Además las aplicaciones
pueden ser desarrolladas totalmente, desarrolladas solamente en parte, o adquirir
el software de mercado que cumpla con los requisitos exigidos.
Componentes básicos hardware son los modelos de servidores y estaciones
de trabajo terminales necesarios para explotar el sistema, debiéndose indicar las
características básicas de éstos, como necesidad de memoria RAM, espacio de
disco duro, número y velocidad de procesadores, elementos multimedia necesarios,
etc.
Componentes básicos de comunicación son los elementos necesarios para
realizar la conectividad entre los componentes hardware y software del sistema.
Así, si desde las estaciones de trabajo de los usuarios finales se va a acceder a las
bases de datos soportadas bajo un servidor, se debe incorporar el software
necesario en dichas estaciones para conectarlas con el servidor de datos a través
de las diferentes redes de comunicaciones existentes en la tecnología actual
[BARR01].
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 62
Para la implantación de este proyecto, se han tenido en cuenta los
siguientes puntos:
- Rendimiento: La arquitectura elegida debe soportar un correcto
funcionamiento del servidor de aplicaciones elegido.
- Disponibilidad: Como el alcance de este proyecto se limita a la intranet
corporativa de la empresa en sus oficinas de Alcobendas (Madrid), sin
posibilidad de acceso desde el exterior, se usará en horario de oficina,
por lo que debe tener una completa operatividad dentro de dicho horario.
- Seguridad: Los datos que maneja esta aplicación son de carácter muy
confidencial por lo que las políticas de seguridad deben ser muy
estrictas, permitiendo el acceso sólo a los empleados destinados al uso
de esta aplicación. Es decir, del Departamento de Recursos Humanos y
del Área Comercial.
- Concurrencia: El sistema será accesible por varios empleados por lo que
debe soportar una posible carga elevada de peticiones simultáneas
sobre los recursos solicitados.
- Recursos: Al ser un sistema diseñado para una empresa real, se han
tenido en cuenta los medios de los que dispone la empresa para la
implantación del sistema.
5.2. Arquitectura técnica elegida
Para cubrir la funcionalidad requerida, se ha decidido implantar dos
servidores dedicados a esta aplicación donde se instalarán el sistema desarrollado
bajo un servidor de aplicaciones y una base de datos que almacenará la
información de los datos introducidos en el sistema. De los dos servidores uno
estará destinado a desarrollo y pruebas de las distintas versiones y revisiones de la
aplicación sin contener datos reales. El otro servidor será el de explotación que
utilizarán los usuarios del sistema.
Los servidores correrán en la red interna de las oficinas centrales de la
empresa que se sitúan en Alcobendas (Madrid) y permitirán el acceso mediante
navegador Web a la aplicación desarrollada.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 63
Las características de los servidores, tanto hardware como software, son las
siguientes:
- Procesador: Intel Xeon
- Disco duro: 40 GB
- Memoria RAM: 1 GB
- Sistema Operativo: MS Windows 2003 Server *
- Servidor de aplicaciones: Tomcat 5.0.28
- Servidor web: Apache 2
- Sistema Gestor de Base de Datos: MySQL 5.0
- Máquina virtual java: 1.4.2_12
* El sistema operativo pensado inicialmente era Ubuntu Server, pero al no
disponer de entorno gráfico no funcionaba correctamente la parte de generación de
informes (realizados con JChart) al no encontrar librerías gráficas instaladas en el
sistema. No fue posible su instalación, decidiendo como solución el volcado de
base de datos y despliegue de la aplicación a un servidor con idéntica configuración
pero con Sistema Operativo MS Windows 2003 Server.
El servidor Web Apache tendrá configurada una directiva que solo permita el
acceso a la aplicación por protocolo seguro https mediante un certificado con
contraseña que solo tendrán los usuarios con permiso para acceder a la aplicación.
Figura 5.2.1: Flujo Información en el sistema.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 64
Como se puede apreciar en la imagen, la arquitectura es bastante sencilla, y
en un único servidor se integra la base de datos y el servidor de aplicaciones. Este
cuando recibe una petición con el contexto rrhh elegido para la implantación de la
aplicación, pasará el control de dicha petición del usuario a la aplicación.
Esta implementa en el descriptor web de la aplicación (fichero web.xml
incluido en la carpeta WEB-INF) dispone de un mapeo de todos los servlets
controladores de las acciones solicitadas por el usuario tales como alta, consultas,
modificaciones, bajas, generación de informes, etc. Por tanto, para cada acción se
ejecutará un servlet que actuará de controlador, invocando los servicios necesarios
para llevar a cabo la petición hecha por el usuario. Estos a su vez generarán o
realizarán las acciones solicitadas y, si es necesario, invocarán a la capa DAO que
accede a los datos almacenados en base de datos.
Una vez obtenida la información o ejecutada la acción pedida por el usuario,
se generará una respuesta y el servlet redirigirá la respuesta según corresponda a
la petición solicitada para que el usuario vea los resultados a la petición solicitada.
5.3. Herramientas software necesarias En este apartado se describen las herramientas que han sido necesarias
para el desarrollo e implantación de este proyecto:
- JDK: 1.4.2_12
- IDE: Eclipse 3.2 como entorno de desarrollo.
- JChart: 0.7.5 para la generación de informes.
- Commons File Upload: 1.1.1 para subir archivos al servidor.
- iText: 1.4.7 para generar currículos en PDF.
- Log4j: 1.2.14 para el histórico de acciones de los usuarios y excepciones
del sistema.
- JSTL: Para eliminar los scriptlets de las páginas JSP, de modo que no
hay código Java dentro de la capa de Vista del Modelo Vista Controlador
aplicado.
- Ldap.jar proporcionado por VASS Consultoría de Sistemas para poder
realizar el login en el LDAP corporativo de una forma transparente a mi
aplicación.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 65
- VBIS: 7.4.3 Build 817 para la carga de datos de los candidatos antiguos
desde hojas de cálculo MS Excel a Base de Datos MySQL.
Todos los elementos software utilizados tanto para el desarrollo, como para
la implantación del sistema son Software Libre salvo el Sistema Operativo y la
herramienta VBIS (Vignette Business Integration Studio), cuya licencia tiene un
coste muy elevado, pero que fue elegida para el paso de información ya que VASS
Consultoría de Sistemas dispone de licencia para el suite de productos Vignette ya
que partner de dicha empresa. Se eligió esta herramienta debido a que su uso es
extremadamente sencillo, permitiendo mediante adaptadores de distintos orígenes
de datos, seleccionar los datos que se desean migrar a otra fuente de datos, justo
lo necesario para el requisito definido en este proyecto como RQ-RRHH-CD.
Se puede ver un esquema del funcionamiento de la herramienta en la
siguiente figura, donde a partir de un adaptador de MS Excel se pueden cargar los
datos por columnas a una tabla de base de datos MySQL mediante un adaptador
de JDBC:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 66
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 67
Figura 8: Funcionamiento VBIS
6. Diseño En este apartado se refleja el diseño de la aplicación según los requisitos
analizados anteriormente.
6.1. Diagrama de Paquetes El diseño de la aplicación se ha dividido en 4 paquetes que permiten seguir
el patrón de diseño MVC2 de una forma sencilla. Todos los paquetes desarrollados
se encuentran dentro de la estructura: es.vass.rrhh.<nombre_paquete>
El diagrama de paquetes sería el siguiente:
Figura 6.1.1: Diagrama de Paquetes
6.1.1. Paquete iu
En el paquete iu se encuentran las clases que implementan las interfaces de
usuario del sistema. Este paquete utiliza las clases de los paquetes dominio y
servicios sin usar las clases del paquete dao que serán las encargadas de acceder
a los datos, respetando así el patrón elegido para el diseño MVC2.
Este paquete está estructurado a su vez en dos subpaquetes:
- cv: Clases que contienen las plantillas de los currículos más interesantes
para VASS y que permiten generar en PDF dichos currículos con la
información de un candidato existente en el sistema.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 68
- servlets: Clases que contienen los servlets que generan el contenido
dinámico de las páginas JSP. A su vez, hay ocho subpaquetes dentro de
servlets, para facilitar la localización de cada servlet ya que hay en total
hay 38 servlets. Por ello se han subdividido por funcionalidades en los
siguientes paquetes: areas, candidatos, cv, informes, log, login,
peticiones y subareas, agrupando en cada subpaquete los servlets que
afectan a una misma funcionalidad.
.
6.1.2. Paquete servicios
En este paquete se encuentran las clases que contienen la lógica del
negocio. Recogen una petición del usuario y realizan las operaciones que
consideran necesarias para llevarla a cabo. Utilizan las clases del dominio y del
paquete dao.
6.1.3. Paquete dao
En este paquete se encuentran las clases que permiten acceder a los datos.
Se utiliza el patrón de diseño DAO para acceder a los datos, siendo las clases que
contiene este paquete las únicas que acceden a los datos almacenados.
6.1.4. Paquete dominio
En este paquete se encuentran las clases que representan las entidades
que se han identificado en el sistema y que permitirán tener una estructura para
luego almacenar esa información en base de datos por las clases del paquete dao.
Se ha dividido también en subpaquetes para simplificar la estructura. Estos
subpaquetes son: areas, candidato, idiomas, peticiones, usuarios y generics, este
último contiene una clase con constantes y otra con utilidades generales utilizadas
por las clases del resto de paquetes.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 69
6.2. Diagrama de Clases
6.2.1. Paquete iu
Como se ha comentado, dentro del paquete iu, hay dos subpaquetes: cv y
servlets. Este último a su vez contiene ocho subpaquetes: areas, candidatos, cv,
informes, log, login, peticiones y subareas.
6.2.1.1. Paquete es.vass.rrhh.iu.cv
Este paquete contiene las clases que permiten generar CV en formato PDF
de acuerdo a unas plantillas. Se han desarrollado tres plantillas: una con el formato
del currículo interno de VASS, otra con el formato de IECISA y otra con el formato
de ISBAN (principales clientes de la empresa). Las tres clases generan un CV a
partir de un objeto Candidato que tendrá la información necesaria para generar el
currículo y le darán el formato deseado.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 70
6.2.1.2. Paquete es.vass.rrhh.iu.servlets
Este paquete contiene los servlets que controlan las acciones del usuario y
realizan las llamadas a las clases y métodos pertinentes para ofrecer la respuesta
deseada al usuario. Como se ha comentado se divide en varios subpaquetes:
6.2.1.3. Paquete es.vass.rrhh.iu.servlets.areas
Paquete con los servlets que permiten realizar las acciones de dar de alta un
área tecnológica, dar de baja una existente, modificar la información de una
existente o consultar entre todas las áreas existentes en el sistema.
6.2.1.4. Paquete es.vass.rrhh.iu.servlets.candidatos
En este paquete se incluyen aquellos servlets que permiten dar de alta, baja,
modificar o consultar un candidato (aquellos cuyo nombre empieza por Realizar),
así como otros servlets que sirven para preparar información dinámica a las
páginas que se necesitan para realizar dichas acciones.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 71
6.2.1.5. Paquete es.vass.rrhh.iu.servlets.cv
En este paquete solo hay una clase, la necesaria para generar un currículo
de un candidato seleccionado por el usuario en el formato que ha solicitado.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 72
6.2.1.6. Paquete es.vass.rrhh.iu.servlets.informes
En este paquete se encuentran los servlets necesarios para la generación
de informes según la elección del usuario, tanto para generar los informes
predefinidos en el sistema como los informes personalizados según los filtros
elegidos por el usuario.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 73
6.2.1.7. Paquete es.vass.rrhh.iu.servlets.log
En este paquete contiene el servlet que no controlará ninguna acción del
usuario sino que está configurado en el descriptor web de la aplicación (fichero
web.xml en la carpeta WEB-INF de la aplicación) para que se ejecute al arrancar el
servidor de aplicaciones. Su misión es inicializar el fichero de históricos que utiliza
la aplicación mediante un fichero de properties de log4j.
6.2.1.8. Paquete es.vass.rrhh.iu.servlets.login
Este paquete contiene los servlets que recogen la acción del usuario al
iniciar sesión en la aplicación mediante un nombre de usuario y contraseña y
comprueban en el LDAP corporativo si es válido es login. Si es así incluyen un
objeto Usuario en la sesión y permiten el acceso a la aplicación al usuario. Si no
muestran un mensaje de error al usuario impidiendo el acceso a la aplicación.
También se incluye la clase que realiza la desconexión del usuario si lo solicita,
eliminando de la sesión el objeto Usuario incluido.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 74
6.2.1.9. Paquete es.vass.rrhh.iu.servlets.peticiones
En este paquete se encuentran los servlets que recogen las acciones de los
usuarios del área comercial para la gestión de peticiones (altas, modificaciones,
consultas, ver candidatos asignados, asignación de nuevos candidatos y
modificación de candidatos asignados).
6.2.1.10. Paquete es.vass.rrhh.iu.servlets.subareas
Este paquete contiene los servlets necesarios para la gestión de las sub-
áreas tecnológicas del sistema y permitirá al usuario dar de alta nuevas, dar de baja
y modificar existentes y consultar entre las existentes.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 75
6.2.2. Paquete servicios
Este paquete contiene las clases necesarias para realizar las operaciones
solicitadas por el usuario al sistema.
6.2.2.1. Paquete es.vass.rrhh.iu.servicios
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 76
Clase que permite realizar la comprobación del usuario y clave introducido
por el usuario en el formulario de login inicial que le permitirá el acceso a la
aplicación. Se usará el método autenticacion(in login: String, in clave: String) que
devuelve un boolean que es true si el usuario y clave existen en el LDAP
corporativo y false si es incorrecto.
Clase que permite realizar algunas operaciones con eventos al crear
un fichero PDF. Por ejemplo, con el método onEndPage se puede añadir un pie de
página al fichero.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 77
Clases que contienen distintos métodos necesarios para la gestión de
candidatos como por ejemplo en RealizarAltaCandidatoServicio el método
existeCandidatoEnBBDD(in c: Candidato) que recibe un objeto Candidato y
devuelve un boolean con valor true si ya existe y false en caso contrario. Esto es útil
cuando un usuario desea introducir un nuevo candidato en el sistema, para
comprobar si ya existe uno. Además se incluirá ahí la lógica de negocio según se
quiera filtrar las condiciones de alta: en un primer momento sólo se comprobaba el
DNI al dar de alta un candidato, véase requisito RQ-RRHH-AC v0.1 y finalmente se
comprueba también por nombre y apellidos.
En estas clases se encuentran métodos necesarios para la gestión de áreas
y sub-áreas tecnológicas y para la gestión de peticiones.
6.2.3. Paquete dao
En este paquete se encuentran las clases que acceden al Sistema Gestor
de Base de Datos y que por tanto realmente acceden a la información del sistema.
De esta forma se encapsula el acceso a datos en un único paquete lo que permite
seguir el patrón de diseño DAO (Data Access Object).
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 78
6.2.3.1. Paquete es.vass.rrhh.dao
En este paquete todas las clases heredan de GenericDAO que contiene un
método que conecta al pool de conexiones definido en el servidor de aplicaciones
tomcat que conecta con base de datos mediante un pool más efectivo que si se
abre una conexión normal por JDBC en cada clase que lo necesite. De esta forma,
el servidor de aplicaciones gestionará las conexiones con el SGBD (MySQL en
nuestro sistema) mediante un pool.
Ahora veamos las clases en más detalle:
Clase genérica que devuelve un objeto Connection del DataSource
configurado en el fichero context.xml de la carpeta META-INF y que gestiona el pool
de conexiones a la base de datos.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 79
Clase que tiene los métodos de acceso a base de datos para asociar
y eliminar un área tecnológica asignada a un candidato. También tiene métodos
para obtener los datos necesarios para la generación de informes, tanto
personalizados, como los predefinidos.
Clase que permite dar de alta, modificar, eliminar y realizar distintas
consultas sobre candidatos en el sistema. También tiene métodos que permiten
obtener el número de candidatos de acuerdo a los filtros elegidos por el usuario en
la generación de informes personalizados.
Clases que permiten asignar y eliminar tanto sub-áreas tecnológicas
como idiomas a un candidato en las tablas correspondientes de base de datos.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 80
Clases que permiten la gestión (altas, bajas, modificaciones y
consultas), tanto de áreas tecnológicas como de sub-áreas tecnológicas.
Clases que permiten tanto la asignación y eliminación de candidatos a una
Petición existente en el sistema, como la propia gestión (altas, consultas y
modificaciones) de las peticiones.
6.2.4. Paquete dominio
Este paquete se divide en seis subpaquetes que permiten agrupar según las
entidades más significativas del sistema en forma de Java Beans.
6.2.4.1. Paquete es.vass.rrhh.dominio.areas
Paquete con clases que representan las áreas y sub-áreas tecnológicas del
sistema.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 81
Vemos tanto las clases que representan las áreas y sub-áreas
propiamente dichas como las necesarias para las tablas intermedias que permitan
saber mediante un identificador del candidato a qué áreas/sub-áreas está asignado.
6.2.4.2. Paquete es.vass.rrhh.dominio.candidato
Paquete con la clase que representa un candidato en el sistema es un
JavaBean con todos los setters y getters de los atributos definidos para un
candidato en el requisito: RQ-RRHH-AC v1.0. Al ser tantos atributos y métodos, no
se ha creído conveniente incluir aquí por ser trivial y ocupar demasiada extensión.
6.2.4.3. Paquete es.vass.rrhh.dominio.generics
Contiene una clase de utilidades generales para el sistema y otra de
constantes.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 82
Esta clase contiene métodos usados por múltiples clases y que
permiten por ejemplo obtener valores de un fichero de properties como el path
donde se guardan los currículos en el servidor o redirigir a la página de mensajes
(tanto de error como de información al usuario).
La clase de constantes está compuesta de subclases para identificar
mejor las constantes en el sistema:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 83
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 84
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 85
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 86
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 87
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 88
6.2.4.4. Paquete es.vass.rrhh.dominio.idiomas
Este paquete contiene una sola clase, IdiomasCandidato, que permite tener
una Bean con los atributos necesarios para almacenar la información
correspondiente a la asociación de un idioma hablado por el candidato con los
niveles definidos en el requisito: RQ-RRHH-AC v1.0 (alto/medio/bajo).
6.2.4.5. Paquete es.vass.rrhh.dominio.peticiones
Paquete con la Bean necesaria para la gestión de peticiones:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 89
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 90
6.2.4.6. Paquete es.vass.rrhh.dominio.usuarios
Este paquete contiene la Bean del objeto Usuario que representa el usuario
que está accediendo al sistema.
6.3. Interfaz El diseño de la interfaz se ha escrito en código HTML, sin ayuda de ningún
editor visual. El contenido dinámico de las páginas se ha hecho en JSP v2.0 que
elimina el código Java de las páginas y se ha usado el taglib estándar de EL
(Expression Language) incluido en la versión 2.0 de JSP. Para el diseño se ha
utilizado hojas de estilo (CSS) y javascript para algún formulario dinámico.
Para acceder a la aplicación desplegada en el entorno de explotación se
accede mediante navegador (IE6 o superior) en la ruta:
https://aplicacionesvass.proyectos.vass.es/rrhh. En la que puede apreciarse que es
sobre protocolo seguro https. Para las capturas se ha usado una versión montada
en local sin dicho protocolo por lo que la ruta de acceso será:
http://localhost:8080/rrhh.
Los elementos utilizados en los formularios Web son los siguientes:
- Cajas de texto: Para introducir texto libre
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 91
- Desplegables: Para elegir una única opción entre muchas posibles:
- Desplegables múltiples: Para elegir varias opciones entre varias
posibles:
- Check-list: Para elegir varias opciones entre varias posibles:
- Radio-Button: para elegir una única opción entre varias posibles:
- Botón: Para realizar una acción:
- Pestañas: Para cambiar entre secciones de un mismo formulario y
agrupar contenidos:
- Áreas de texto: Para introducir texto de longitud considerable:
- Botón Examinar: Para elegir un fichero del disco duro local del usuario y
adjuntarlo en el formulario para almacenarlo en el servidor:
- Calendario Pop-up: Para introducir las fechas. Se crean sobre Cajas de
texto, pero al pulsar sobre ellas aparece el selector de fechas encima
como un calendario:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 92
Toda la aplicación Web está dividida en tres secciones: cabecera, menú
lateral izquierdo y sección central. Las dos primeras secciones no varían, mientras
que la central es donde se cargarán los contenidos según el posicionamiento del
menú y las acciones del usuario.
Figura 6.3.1: Interfaz aplicación Web
Una vez iniciado sesión con un usuario correcto, se actualizará la
zona de contenidos presentando la pantalla del menú de Candidatos, el cual es el
menú de inicio de la aplicación una vez hecho el login. Se mostrará al usuario en
qué menú está, recordando siempre qué usuario ha iniciado sesión, y mostrando
las acciones que puede realizar.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 93
Figura 6.3.2: Menú inicial de Candidatos
Si el usuario elige la opción de alta, se presentará un formulario de alta de
candidatos, donde se han distribuido en tres pestañas los campos para recoger la
información de un candidato que entra en el proceso de selección. Esta división en
pestañas se debe a lo solicitado en el requisito RQ-RRHH-AC donde desglosaban
en tres secciones la información que se debía almacenar en el sistema sobre un
candidato. Veamos el formulario en el que se pueden apreciar la división de las
secciones por pestañas, de forma muy sencilla para el usuario pasar de una
sección a otra. Toda la información se introduce mediante controles sencillos e
intuitivos para el usuario como cajas de texto, check-list, desplegables, etc:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 94
Figura 6.3.3: División secciones alta candidato en pestañas
En la imagen se ve la información correspondiente a los Datos Personales
de un candidato. Veamos la correspondiente al Estado de Selección y a las Skills
de los candidatos:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 95
Figura 6.3.4: Candidato Estado Selección
Como vemos en la imagen, he destacado los elementos “especiales” del
formulario. En él se permiten adjuntar dos archivos al usuario: currículo y propuesta,
que se enviarán al servidor para almacenar en disco y así disponer de acceso
centralizado a estos ficheros por todos los usuarios del sistema. Además se ha
resaltado el desplegable con los estados existentes en el proceso que se puede
observar con más detalle en la Figura 6.3.5 y la Fecha de Entrevista, que aunque
parezca un cuadro de texto, el usuario no puede escribir en él, sino que cuando se
selecciona dicho campo aparece un calendario que permite seleccionar una fecha y
evitar así una entrada incorrecta de datos, lo que se puede ver en más detalle en la
Figura 6.3.6 y que ha sido aplicado a la introducción de todas las fechas en la
aplicación.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 96
Figura 6.3.5: Desplegable Estados Figura 6.3.6: Calendario Pop-Up
La última sección en que se divide la información sobre un candidato es
Skills, es decir, habilidades tales como idiomas, certificados, experiencia laboral,
titulación, perfil, etc. Veamos esta sección:
Figura 6.3.7: Sección Skills en Alta Candidato
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 97
Este formulario mantiene su aspecto a la hora de modificar un candidato, en
el que aparecerán con información aquellos campos de los que se disponga
información en el sistema y el usuario podrá modificarlos como si de un alta se
tratase y guardar los cambios.
Ahora veremos otro tipo de formulario, el de Consultas de Candidato al que
se llega desde el menú Candidatos en la acción Consulta como se indicaba en la
figura 6.3.2. En este formulario, el usuario puede filtrar la búsqueda por los atributos
más significativos mediante un campo de texto y un desplegable donde elegirá el
atributo que debe contener la cadena de texto introducida. Además podrá elegir un
rango de fechas entre las que filtrar la búsqueda, el área y sub-áreas tecnológicas a
las que pertenece el candidato, el campo otra formación y con otro desplegable
podrá elegir el atributo por el que quiere ordenar los resultados de la consulta.
Figura 6.3.8: Consulta Candidatos
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 98
Como vemos es un formulario bastante sencillo pero que permite realizar
consultas muy específicas sobre los candidatos existentes en la base de datos, lo
que facilita enormemente el trabajo al Departamento de Recursos Humanos.
Tras realizar la consulta obtendremos una lista de resultados con los
candidatos encontrados, de los que se muestra nombre y primer apellido, estado,
fecha de alta y área tecnológica a la que pertenece. Además sobre cada candidato
aparece un botón como este: que permite ver el resto de información del
candidato, modificar la información almacenada sobre el candidato, o generar su
CV con el formato deseado por el usuario.
Figura 6.3.9: Resultados Consulta Candidato
Como vemos en la Figura 6.3.9 el usuario puede realizar tres acciones:
volver al formulario de consultas, ir a la página de inicio o consultar más información
del candidato, donde además podrá modificarlo o generar su CV en PDF.
Estas opciones reemplazarán los botones de DAR DE ALTA y BORRAR
CAMPOS disponibles en el formulario de alta:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 99
Figura 6.3.10: Opciones en +INFO candidato
Si el usuario desea generar el C.V. en PDF del candidato seleccionado,
elegirá el tipo de plantilla que desea del desplegable y pinchará en el botón
GENERAR C.V. que mostrará el CV dentro de la sección de contenidos de la
aplicación como podemos ver en la siguiente imagen:
Figura 6.3.11: CV en PDF Formato VASS
En cuanto al resto de la interfaz de la aplicación sigue el mismo estilo, con
una serie de acciones disponibles para cada menú idénticas a las del menú
candidatos (figura 6.3.2) salvo para el menú de Informes. Como el resto de
formularios tienen una interfaz idéntica a la de candidatos, que es el más complejo
y con más tipos de controles (campos de texto, áreas de texto, chek-list,
desplegables, calendarios pop-up, etc.) se considera suficiente con las capturas
ofrecidas. Solo hay que destacar, que en el menú de peticiones en el alta solo hay
una pestaña donde se introduce la información requerida según el requisito: RQ-
COM-AP y que tras realizar una consulta y pulsar en el botón de +INFO idéntico al
de las consultas de candidatos, se mostrará ese mismo formulario pero con dos
pestañas adicionales: ver candidatos asignados, que mostrará un listado de los
candidatos que hay asignados a la petición y asignar candidatos, donde se podrá
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 100
realizar una consulta sobre candidatos existentes y asignar mediante un chek-list
aquellos que el usuario considere apropiados para dicha petición.
En cuanto a las opciones del menú Informes, como hemos comentado son
distintas a las del resto de menús. En este caso se permitirá al usuario elegir si
quiere generar un informe personalizado o elegir entre los dos informes
predefinidos en el sistema: de candidatos totales o de candidatos dados de alta en
el último mes, ambos agrupados por área tecnológica:
Figura 6.3.12: Opciones Menú Informes
Si selecciona la opción de candidatos totales por área se mostrará una
página con el informe generado dentro de la sección de contenidos con un gráfico
por sectores y debajo los datos específicos:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 101
Figura 6.3.13: Informe Candidatos Totales por Área
Cabe destacar que el gráfico es una imagen donde el usuario puede hacer
clic en cada área y ver sus datos en un pop-up:
Figura 6.3.14: Informes Pop-Up
Sobre la opción de informes personalizados, el usuario podrá generar un
informe con aquellos datos que le interesen para analizar el proceso de selección
de candidatos. Para ello, se ha diseñado un formulario similar a los de consulta de
candidatos con la peculiaridad de que dispone de un wizard donde ir añadiendo los
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 102
atributos por los que filtrar el informe. Es una forma muy sencilla de realizar esta
funcionalidad, donde el usuario elige un atributo, le da un valor y lo añade a la
consulta con el botón y así cuantos atributos quiera incluir. Una vez hecho esto,
elige por qué atributo los quiere agrupar y también en qué rango de fechas quiere el
informe. En la imagen se puede apreciar que es bastante sencillo:
Figura 6.3.15: Informes personalizados
El resultado se mostrará con un gráfico de barras, además de los datos
obtenidos:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 103
Figura 6.3.16: Resultado Informe Personalizado
Otra peculiaridad de la interfaz del sistema reside en la forma de realizar las
modificaciones y bajas de áreas y sub-áreas, donde se realizan en el propio listado
de resultados tras una consulta, ya que al ser sólo dos campos, se puede proceder
de esta manera y no necesitan una página propia para este propósito:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 104
Figura 2.3.17: Modificaciones y Bajas Áreas
En la imagen podemos ver como cada área, se puede modificar o eliminar
de forma sencilla.
Por último, mostraremos la página de mensajes al usuario, donde se
muestran tanto mensajes de información como de error. Veremos en la imagen un
mensaje de información al usuario:
Figura 2.3.18: Página de mensajes al usuario. Mensaje Información
En cuanto a un mensaje de error, se vería en la misma página pero
indicando al usuario que se ha producido un error. No se mostrará ninguna traza, ya
que para ello se dispone de un log en la aplicación, por lo que si el usuario reporta
alguna incidencia se puede ver ahí, pero sin que le aparezca al usuario un mensaje
que no entienda o que le parezca grave.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 105
Figura 2.3.19. Página de mensajes al usuario. Mensaje de Error
6.4. Diagrama de Secuencia Una vez realizado el diseño de los casos de uso, se realiza el diagrama de
secuencia, donde se ve el flujo y funcionamiento de la aplicación para cada acción
que quiere realizar un usuario.
6.4.1. Alta Candidato
En primer lugar el candidato se posiciona en el menú de Candidatos dentro
del menú lateral izquierdo. Luego selecciona la opción de Alta, que provoca una
acción recogida por el servlet AltaCandidatoServlet:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 106
Figura 6.4.1.1: Alta Candidato
Esa acción desencadena el siguiente diagrama de secuencia:
Figura 6.4.1.2: Diagrama de Secuencia AltaCandidatoServlet
Una vez devuelto el control, el flujo de la aplicación devuelve el control al
usuario en la página altaCandidato.jsp donde se ha creado el formulario de alta de
Candidatos. En él tras, cumplimentar correctamente el formulario, si el usuario hace
clic en el botón: desencadenará el siguiente diagrama:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 107
Figura 6.4.1.3: Diagrama de Secuencia RealizarAltaCandidatoServlet
Como podemos observar, tras realizar un alta, el usuario recuperará el
control en una página de mensajes, donde verá un mensaje de información si el
proceso de alta ha concluido correctamente o de error si no ha sido así.
6.4.2. Baja Candidato
Para dar de baja un candidato, el usuario debe comenzar también en el
menú de Candidatos como es lógico. Una vez ahí, deberá seleccionar la opción
Baja:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 108
Figura 6.4.2.1: Baja Candidato
Esto desencadena el siguiente diagrama de secuencia:
Figura 6.4.2.2: Diagrama de Secuencia BajaCandidatoServlet
Una vez seleccionada esta opción, el usuario dispondrá de un formulario de
búsqueda muy sencillo en el que podrá buscar el candidato que desea dar de baja:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 109
Figura 6.4.2.3: Buscar Candidato para Dar de Baja
Esto provocará una consulta en Base de Datos que mostrará los resultados
que concuerden con los parámetros introducidos en el formulario. Se puede ver en
el siguiente diagrama:
Figura 6.4.2.4: Diagrama Secuencia RealizarConsultaBaja
Una vez seleccionado uno de los candidatos de la lista de resultados
obtenidos en la consulta, el usuario deberá elegir la opción
para realizar la baja del candidato, que
desencadenaría otro diagrama de secuencia con la misma estructura: ACCIÓN
USUARIO SERVLET SERVICIO DAO con retorno de resultados al servlet
que elegirá la página a la que devuelve el control del usuario (página de resultados,
de mensajes, etc.).
Por ello, no se van a incluir aquí el resto de diagramas de secuencia, pues
haría demasiado extensa esta memoria descriptiva.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 110
6.5. Base de Datos La base de datos diseñada para albergar la información del sistema se
compone de nueve tablas:
Tabla acciones_usuarios
Esta tabla sirve para almacenar las acciones que realizan los usuarios en el
sistema. Tiene una PK auto incremental para cada registro que se inserta. Por cada
acción se almacena el usuario, la fecha, el tipo de operación (INSERT, DELETE,
SELECT o UPDATE), una cadena de texto sobre qué se realiza la acción
(CANDIDATO, AREA, SUBAREA, PETICION, INFORME) y el identificador del
objeto sobre el que se realiza la petición. Por tanto, los campos que componen la
tabla son los siguientes: CAMPO TIPO DESCRIPCIÓN CLAVE
pk Entero Identificador auto-incremental PK
accion_sobre Alfanumérico Se guarda sobre qué objeto se realiza la
acción: candidato, área, petición,…
id Entero Identificador del objeto sobre el que se
realiza la operación
tipo_operacion Alfanumérico Tipo de operación que se realiza sobre el
objeto: insert, update, delete,…
Usuario Alfanumérico Usuario que realiza la operación
Fecha Date Fecha en la que se realiza la operación
Tabla areas_tecnologicas: areas_tecnologicas
iddescripcion
varchar(10)varchar(100)
<pk>
Esta tabla sirve para almacenar la información sobre las áreas tecnológicas.
Como vemos, consta de tan sólo dos campos, ya que no se necesitan más para su
gestión: un id que es el identificador del área y a la vez PK de la tabla y su
descripción. CAMPO TIPO DESCRIPCIÓN CLAVE
id Alfanumérico Identificador del área tecnológica PK
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 111
descripcion Alfanumérico Descripción del área tecnológica
Tabla candidato_areas: candidato_areas
id_candidatoarea
int(10)varchar(10)
<pk><pk>
Esta tabla sirve para almacenar la relación existente de un candidato con las
áreas tecnológicas a la que pertenecen. Como vemos, consta de tan sólo dos
campos, ya que no se necesitan más para su gestión: un id_candidato que es el
identificador del candidato y otro campo area que es el identificador del área
tecnológica. La dupla de ambos valores compone la PK de la tabla. CAMPO TIPO DESCRIPCIÓN CLAVE
id_candidato Entero Identificador del candidato PK
area Alfanumérico Identificador del área tecnológica PK
Tabla candidato_idiomas: candidato_idiomas
idiomaid_candidatonivel_idioma
varchar(30)int(10)varchar(30)
<pk><pk>
Esta tabla sirve para almacenar la relación existente de un candidato con los
idiomas que habla. Como vemos, consta de tan sólo tres campos, ya que no se
necesitan más para su gestión: idioma que es el idioma hablado, un id_candidato
que es el identificador del candidato y otro campo nivel_idioma que es el nivel del
idioma hablado por el candidato (alto/medio/bajo). La dupla de los dos primeros
campos compone la PK de la tabla. CAMPO TIPO DESCRIPCIÓN CLAVE
idioma Alfanumérico Idioma hablado por el candidato PK
id_candidato Entero Identificador del candidato PK
nivel_idioma Alfanumérico Nivel del idioma hablado por el candidato:
alto, medio o bajo
Tabla candidato_sub_areas: candidato_sub_areas
id_candidatoareasub_area
int(10)varchar(10)varchar(40)
<pk><pk><pk>
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 112
Esta tabla sirve para almacenar la relación existente de un candidato con las
sub-áreas tecnológicas a las que pertenece. Consta de tres campos: un
id_candidato que es el identificador del candidato, otro campo area que es el
identificador del área tecnológica y un campo sub_area que es el sub-área
tecnológica a la que pertenece el candidato. La PK de la tabla se compone de los
tres campos de la tabla. CAMPO TIPO DESCRIPCIÓN CLAVE
area Alfanumérico Identificador del área tecnológica PK
id_candidato Entero Identificador del candidato PK
sub_area Alfanumérico Sub-área tecnológica PK
Tabla candidatos: candidatos
idnombreapellido1apellido2dnimailtelefono1telefono2estadoentrevista_telefonicaentrevista_personalentrevista_tecnicafecha_entrevistacoments_telfcoments_persocoments_tecnmotivos_rechazomotivos_novalidodispon_incorporacionficheronacionalidadpermiso_trabajotipo_visadosalario_actualsalario_solicitadocanal_recep_CVempleado_recomiendaempresa_procedenciaoficina_destinolugar_residenciafecha_altafecha_last_modfecha_propuestanivel_propuestatitulacionperfi lexperiencia_desdecertificacionesdispon_viajarfecha_nacimientobeneficios_socialesotra_retribucionpropuestaotra_formacionexperiencia_profesional
int(10)varchar(25)varchar(20)varchar(20)varchar(10)varchar(50)varchar(15)varchar(15)varchar(40)varchar(30)varchar(30)varchar(30)datevarchar(2000)varchar(2000)varchar(2000)varchar(1000)varchar(1000)varchar(50)varchar(100)varchar(30)varchar(10)varchar(30)int(10)int(10)varchar(30)varchar(40)varchar(30)varchar(30)varchar(30)datedatedatevarchar(30)varchar(50)varchar(30)int(10)varchar(1000)varchar(10)datevarchar(50)varchar(50)varchar(100)varchar(2000)varchar(8000)
<pk>
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 113
Esta tabla contiene los campos necesarios para almacenar la información
requerida para cada candidato según el requisito RQ-RRHH-AC. La PK es el campo
id que es auto-incremental. Cabe recordar que no podría ser el DNI al no ser
obligatorio según ese mismo requisito en su versión definitiva 1.0.
De esta forma cuenta con los siguientes campos: CAMPO TIPO DESCRIPCIÓN CLAVE
id Entero Identificador del candidato PK
nombre Alfanumérico Nombre del candidato
apellido1 Alfanumérico Primer Apellido del candidato
apellido2 Alfanumérico Segundo Apellido del candidato
dni Alfanumérico DNI del candidato
mail Alfanumérico Correo electrónico de contacto del
candidato
telefono1 Alfanumérico Teléfono de contacto del candidato
telefono2 Alfanumérico Segundo teléfono de contacto del
candidato
estado Alfanumérico Estado dentro del proceso de selección
del candidato
entrevista_telefonica Alfanumérico Estado de la entrevista telefónica
realizada por el candidato (Sin iniciar,
apto, no apto)
entrevista_personal Alfanumérico Estado de la entrevista personal
realizada por el candidato (sin iniciar,
apto, no apto)
entrevista_tecnica Alfanumérico Estado de la entrevista técnica
realizada por el candidato (sin iniciar,
apto, no apto)
fecha_entrevista Date Fecha en la que se realizan las
entrevistas personal y técnica
coments_telf Alfanumérico Comentarios sobre la entrevista
telefónica realizada por el candidato
coments_perso Alfanumérico Comentarios sobre la entrevista
personal realizada por el candidato
coments_tecn Alfanumérico Comentarios sobre la entrevista
técnica realizada por el candidato
motivos_rechazo Alfanumérico Motivos por los que el candidato ha
rechazado la propuesta realizada
motivos_novalido Alfanumérico Motivos por los que el candidato ha
resultado no válido tras pasar por el
proceso de selección
dispon_incorporacion Alfanumérico Disponibilidad de incorporación a la
empresa del candidato
fichero Alfanumérico Nombre del fichero del currículo
adjunto del candidato
nacionalidad Alfanumérico Nacionalidad del candidato
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 114
permiso_trabajo Alfanumérico El candidato dispone de permiso de
trabajo: SI o NO
tipo_visado Alfanumérico El tipo de visado que tiene el
candidato: estudiante, trabajo, …
salario_actual Entero Salario actual del candidato
salario_solicitado Entero Salario solicitado por el candidato
canal_recep_CV Alfanumérico Canal de recepción del candidato: web
empleo, universidad, …
empleado_recomienda Alfanumérico Empleado que ha recomendado al
candidato
empresa_procedencia Alfanumérico Empresa de la que procede el
candidato
oficina_destino Alfanumérico Oficina a la que va destinado el
candidato
lugar_residencia Alfanumérico Lugar de residencia del candidato
fecha_alta Date Fecha de alta del candidato en el
sistema
fecha_last_mod Date Fecha de última modificación del
candidato en el sistema
fecha_propuesta Date Fecha en la que se realizó la propuesta
al candidato
nivel_propuesta Alfanumérico Nivel de la propuesta realizada al
candidato
perfil Alfanumérico Perfil del candidato
titulacion Alfanumérico Titulación del candidato
experiencia_desde Entero Año desde el que trabaja el candidato
en el sector
certificaciones Alfanumérico Certificaciones que posee el candidato
dispon_viajar Alfanumérico Disponibilidad a viajar del candidato: SI
o NO
fecha_nacimiento Date Fecha de nacimiento del candidato
beneficios_sociales Alfanumérico Beneficios sociales adicionales al
salario del candidato
otra_retribucion Alfanumérico Otro tipo de retribución adicional al
salario del candidato
propuesta Alfanumérico Nombre del fichero de la propuesta
adjuntada al candidato
otra_formacion Alfanumérico Otro tipo de formación del candidato:
Curso de struts, de gestores de
contenido,…
experiencia_profesional Alfanumérico Experiencia profesional del candidato.
Campo de texto libre para introducir
sus datos más relevantes.
Tabla peticion_candidatos: peticion_candidatos
id_peticionid_candidato
int(11)int(11)
<pk><pk>
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 115
Esta tabla sirve para almacenar la relación de los candidatos
asignados a una petición. Se compone de sólo dos campos: el identificador del
candidato y de la petición. La dupla de valores compone la PK de la tabla: CAMPO TIPO DESCRIPCIÓN CLAVE
id_candidato Entero Identificador del candidato PK
id_peticion Entero Identificador de la petición PK
Tabla peticiones: peticiones
idcompaniapeticionariopuestonum_recursosduracionunidad_duracionlugarareaperfil_solicitadofecha_incorporacionrequisitos_tecnicosnivel_importancia_peticioncomentarios
int(10)varchar(25)varchar(100)varchar(50)int(10)int(10)varchar(20)varchar(100)varchar(30)varchar(30)datevarchar(2000)varchar(100)varchar(2000)
<pk>
Esta tabla permite almacenar la información requerida para una
petición según el requisito: RQ-COM-AP. La clave primaria de esta tabla es el
campo id, que es auto incremental. CAMPO TIPO DESCRIPCIÓN CLAVE
id Entero Identificador de la petición PK
compania Alfanumérico Compañía o empresa peticionaria
peticionario Alfanumérico Persona peticionaria
puesto Alfanumérico Puesto o cargo de la persona
peticionaria
num_recursos Entero Número de recursos solicitados
duracion Entero Duración del proyecto
unidad_duracion Alfanumérico Unidad de duración del proyecto: días,
semanas, meses o años
lugar Alfanumérico Lugar donde se desarrollará el proyecto
area Alfanumérico Identificador del área tecnológica
encargada del proyecto
perfil_solicitado Alfanumérico Perfil de los recursos solicitados para la
petición
fecha_incorporacion Date Fecha de incorporación de los recursos
al proyecto
requisitos_tecnicos Alfanumérico Requisitos técnicos especiales
solicitados para la petición
nivel_importancia_peticion Alfanumérico Nivel de importancia de la petición:
cliente estratégico, operativo, vital,…
comentarios Alfanumérico Comentarios sobre la petición
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 116
6.6. Matriz de Trazabilidad de Requisitos En este apartado se puede apreciar la metodología seguida para la
realización de este proyecto, donde a partir de una necesidad, se identifica un
requisito, sobre el que se elabora un caso de uso que da lugar a un diagrama de
secuencia. Una vez diseñados los diagramas de secuencia se desarrolla el código
necesario para cubrir el requisito solicitado por el cliente. Para tener un control de
este proceso, se ha elaborado una matriz de trazabilidad que lo resume:
REQUISITO CASO DE USO DIAGRAMA SECUENCIA RQ-RRHH-AC CU-RRHH-AC DS-RRHH-AC RQ-RRHH-CC CU-RRHH-CC DS-RRHH-CC RQ-RRHH-MC CU-RRHH-MC DS-RRHH-MC RQ-RRHH-BC CU-RRHH-BC DS-RRHH-BC RQ-RRHH-CV CU-RRHH-CV DS-RRHH-CV RQ-RRHH-AA CU-RRHH-AA DS-RRHH-AA RQ-RRHH-BA CU-RRHH-BA DS-RRHH-BA RQ-RRHH-CA CU-RRHH-CA DS-RRHH-CA RQ-RRHH-MA CU-RRHH-MA DS-RRHH-MA RQ-RRHH-AS CU-RRHH-AS DS-RRHH-AS RQ-RRHH-BS CU-RRHH-BS DS-RRHH-BS RQ-RRHH-CS CU-RRHH-CS DS-RRHH-CS RQ-RRHH-MS CU-RRHH-MS DS-RRHH-MS RQ-RRHH-IA CU-RRHH-IA DS-RRHH-IA RQ-RRHH-IP CU-RRHH-IP DS-RRHH-IP RQ-RRHH-CD CU-RRHH-CD DS-RRHH-CD RQ-COM-AP CU-COM-AP DS-COM-AP RQ-COM-CP CU-COM-CP DS-COM-CP RQ-COM-MP CU-COM-MP DS-COM-MP RQ-COM-AC CU-COM-AC DS-COM-AC RQ-COM-VC CU-COM-VC DS-COM-VC RQ-COM-MC CU-COM-MC DS-COM-MC RQ-SIS-LG CU-SIS-LG DS-SIS-LG RQ-SIS-RO CU-SIS-RO DS-SIS-RO
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 117
7. Implantación y pruebas En este capítulo se explica la metodología seguida a la hora de la
implantación y pruebas seguidas en el desarrollo del proyecto.
Como se ha explicado anteriormente, el proyecto se ha desarrollado en un
entorno local y la implantación se ha llevado a cabo en dos fases: una primera
implantación en el servidor de desarrollo y tras las pruebas y validación, una
segunda implantación en el servidor de explotación.
En el entorno local se ha desarrollado en el entorno de desarrollo IDE
Eclipse 3.2.2 un proyecto con el nombre rrhh, que será el contexto utilizado en el
servidor de aplicaciones para nuestra aplicación, que cuenta con una estructura
como la siguiente:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 118
Figura 7.1: Estructura Proyecto
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 119
Vemos en la estructura como se han respetado los paquetes que se habían
diseñado en el diagrama de paquetes, las librerías que se han utilizado par el
proyecto y la estructura Web de la aplicación. Esta estructura Web contiene
carpetas que organizan los elementos de la siguiente forma:
- curricula: Carpeta destino de los currículos adjuntados en el servidor.
- html: Carpeta que contiene las páginas con contenido estático
(index.html y cabecera.html).
- img: Carpeta que contiene las imágenes de la aplicación Web.
- jscripts: Carpeta que contiene los ficheros con las funciones javascript
utilizadas en el sistema.
- jsp: Carpeta que contiene las páginas JSP con contenido dinámico. A su
vez contiene subcarpetas para organizar mejor las páginas que
pertenecen a los distintos módulos del sistema (candidatos, áreas,
peticiones, etc.).
- properties: Carpeta que contiene los ficheros properties que almacenan
valores como los perfiles de candidatos, las titulaciones, etc.
- propuestas: Carpeta destino de las propuestas adjuntadas en el servidor.
- style: Carpeta que contiene las hojas de estilo CSS que se han utilizado
para el diseño de la aplicación Web.
Al ser una aplicación Web, lo que hay que generar no es un fichero
ejecutable como en las aplicaciones típicas de un sistema operativo o un fichero .jar
con las clases como otras aplicaciones Java, sino que se necesita un fichero .war
que será el que se desplegará en el servidor de aplicaciones Tomcat. Para generar
este fichero de una manera fácil y ahorrar tiempo de exportar la estructura Web,
con las librerías necesarias y las clases compiladas de nuestro sistema, se ha
creado una tarea ANT en el Eclipse que automatiza ese proceso. Esto se hace con
un fichero XML donde se define qué tareas se quieren automatizar y qué hace cada
una. Se ha definido la siguiente tarea:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 120
Figura 7.2: Tarea ANT para el despliegue de la aplicación
Como se ve en la imagen tiene varias tareas:
- clean: Tarea que elimina el fichero .war y la carpeta generada en el
servidor de aplicaciones.
- comp: Tarea que compila las clases y genera un .jar con ellas.
- dist: Tarea que genera el fichero de despliegue de aplicación y lo copia
al directorio de despliegue del servidor de aplicaciones, que
automáticamente lo desplegará cuando lo detecte.
- prepare: Tarea que crea los directorios donde se compilan las clases del
sistema y donde se insertan las librerías necesarias para la aplicación.
Por tanto, una vez hecho todos los cambios que cierran una versión de los
requisitos se empaqueta en el fichero .war con esta aplicación y se realizarán las
pruebas finales de la versión de la aplicación. Cuando su resultado es satisfactorio
se inicia la implantación en el servidor de desarrollo del .war que sigue el siguiente
esquema:
Figura 7.3: Flujo implantación y pruebas
Para ello, se realiza antes una copia de seguridad de la base de datos con el
comando mysqldump: mysqldump rrhh > backup-yyyy-mm-dd.sql
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 121
Una vez hecha la copia de seguridad de la base de datos se hace un backup
de la aplicación copiando tanto el .war que estaba desplegado como la carpeta que
genera el servidor de aplicaciones con el mismo sistema de identificación que la
base de datos: backup-rrhh-yyyy-mm-dd.war y backup-rrhh-yyyy-mm-dd para el
directorio.
Tanto los backups de la aplicación como de la base de datos se guardan en
el propio servidor de desarrollo en la carpeta /home/rrhh/backups/ cuando estaba
en el entorno Linux. Actualmente en C:\rrhh\backups\
Tras las copias de seguridad se procede al despliegue de la aplicación en el
servidor de aplicaciones mediante la consola de administración del tomcat:
http://aplicacionesvass.proyectos.vass.es:8080/manager/html
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 122
Figura 7.4: Consola administración Tomcat
En esta consola de administración se pueden ver las aplicaciones que están
corriendo en ese momento. Como vemos, la aplicación rrhh está arrancada, por lo
que el primer paso es parar la aplicación. El siguiente paso será replegar la
aplicación, lo que elimina del contexto del servidor la aplicación. Hecho esto, se
podrá desplegar el nuevo fichero .war que contiene la aplicación con el botón de
examinar, que permite seleccionar su ubicación dentro de nuestro disco duro local y
subirlo al servidor con el botón desplegar.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 123
Hecho esto debería aparecer en la lista de aplicaciones como desplegado,
por lo que se procedería a probar la funcionalidad del sistema con los nuevos
cambios introducidos. Tras comprobar el correcto funcionamiento, se procedería a
la implantación en el entorno de explotación.
Este entorno al ser el que se usa por los usuarios del sistema, es el más
restrictivo en cuanto a políticas de seguridad. Antes de cualquier paso a este
entorno de una versión o revisión de la aplicación se hace una copia de seguridad
del servidor en cinta. Una vez hecho esto, el protocolo es el mismo: copia de base
de datos, del .war y de la carpeta de la aplicación.
Si lo que se desea es hacer un cambio en la base de datos, se procederá
con el mismo sistema de backup de base de datos (mysqldump) en el caso del
entorno de desarrollo y acompañado de un backup del servidor en el caso del
entorno de producción. Para modificar la base de datos, se generarán sentencias
sql de tipo ALTER si el objeto ya existe, nunca se eliminará una tabla existente y se
procederá a crearla de nuevo (DROP + CREATE). Por tanto, se procederá a
generar un fichero con el siguiente identificador: alter-<nombre_tabla>-yyyy-mm-
dd.sql por cada tabla que se desea modificar. En el caso de que sea para crear una
tabla inexistente, el fichero comenzará por create en vez de alter. En ambos casos,
se guardarán dichos ficheros en los mismos directorios de backup mencionados
para la aplicación Web.
Una vez hecho esto, se comprobará el correcto funcionamiento de la
aplicación y de la base de datos, probando en especial los cambios que se han
introducido.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 124
8. Planificación La planificación de este proyecto, se ha dividido en tareas que se
corresponden con los módulos que se han desarrollado. También se ha incluido la
documentación dentro de la planificación, abarcando todo el desarrollo del proyecto
en la redacción de este documento.
Se puede ver en la siguiente imagen, donde se puede apreciar que la
duración del proyecto va del 18 de julio de 2006 a 26 de julio de 2007, estimando
unas 189 jornadas de trabajo.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 125
Figura 8.1: Planificación de tareas
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 126
Una vez vista la planificación, se puede ver un diagrama de Gantt que la
resuma:
Figura 8.2: Diagrama de Gantt
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 127
9. Presupuesto El presupuesto se ha elaborado de acuerdo a la planificación seguida,
donde se han reflejado las jornadas trabajadas.
El proyecto realizado ha sido desarrollado por mí, cubriendo diferentes
perfiles tales como analista, programador o técnico de sistemas, por lo que para la
realización de este presupuesto se ha optado por una única tarifa de 30 € / hora y
una jornada de 5 horas por día.
En cuanto a la dirección de proyecto ha sido realizada por Adolfo Rosa,
estimando unas 20 jornadas de la misma duración con una tarifa de 50 € / hora.
Por tanto, el presupuesto en cuanto a Recursos Humanos utilizados es el
siguiente:
JORNADAS TRABAJADAS HORAS/JORNADA TARIFA TOTAL 189 jornadas desarrollo 5 horas 30 € / hora 28.350,00 €
20 jornadas dirección 5 horas 50 € / hora 5.000,00 €TOTAL 33.350,00 €
En cuanto a los Recursos Materiales utilizados son los siguientes:
RECURSO MATERIAL PRECIO CANTIDAD TOTAL Portátil IBM R60e para desarrollo 1.200,00 € 1 1.200,00 €Servidor IBM Desarrollo 2.000,00 € 1 2.000,00 €Servidor IBM Producción 2.000,00 € 1 2.000,00 €MS Windows Server 2003 1.209,00 € 2 2.418,00 €TOTAL 7.618,00 €
El resto de productos y herramientas utilizados es software libre por lo que
no supone coste, desde el SGBD (MySQL), hasta los servidores de aplicaciones y
web utilizados (Tomcat y Apache) o el entorno de desarrollo (Eclipse).
Por tanto el presupuesto asciende a un total de 40.968,00 €
RECURSOS HUMANOS 33.350,00 € RECURSOS MATERIALES 7.618,00 € TOTAL PRESUPUESTO 40.968,00 €
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 128
10. Conclusiones El desarrollo de este proyecto me ha servido para afianzar todos los
conocimientos adquiridos durante la carrera y trasladarlos a un entorno real dentro
del mundo laboral. También me ha servido para investigar sobre tecnologías no
conocidas por mi parte y para ampliar el conocimiento que tenía de otras muchas.
Además ha permitido mejorar la gestión en VASS Consultoría de Sistemas,
en dos departamentos importantes como son el de Recursos Humanos y el
Comercial, cumpliendo todos los objetivos marcados.
Ha supuesto un gran esfuerzo por mi parte al tener que compaginar durante
este año el trabajo, los estudios y el desarrollo de este proyecto pero se agradece
que te feliciten por todo este trabajo, por lo que esa gratitud como recompensa
supera las dificultades encontradas para su desarrollo.
Por otra parte, me permite finalizar la carrera de una manera bastante digna
en mi opinión, al haber desarrollado una aplicación que va a ser usada por una
empresa en continuo crecimiento.
Por último, me ha aportado una profundización en el lenguaje Java, sobre
todo en el desarrollo de aplicaciones Web, que me servirán en el futuro laboral de
manera que el tiempo empleado en el desarrollo de este proyecto se considera
como inversión de futuro.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 129
BIBLIOGRAFÍA
[BARR01]
Barranco de Areba, Jesús, “Metodología del
análisis estructurado de sistemas”, Publicaciones de la
Universidad Pontificia Comillas, Madrid 2001.
[ESQU06]
Esquivel, Juan Carlos, “Apuntes de Ingeniería del
Software II”, Universidad Pontificia Comillas, Madrid
2006.
[ORDA02]
Ordax, José María, “Apuntes Lenguaje de
programación Java”, Universidad Pontificia Comillas,
Madrid 2002.
[RIVE02] Rivero Cornelio, Enrique; Martínez Fuentes, Luis;
Reina Juliá, Luis; Benavides Abajo, Juan y Olaizola
Bartolomé, Juan Mª, “Introducción al SQL para Usuarios
y Programadores” Paraninfo Segunda Edición, 2002.
[COUL01] Coulouris, George; Dollimore, Jean y Kindverg,
Tim, “Sistemas Distribuidos: Conceptos y Diseño”,
Addison-Wesley, Tercera Edición, 2001.
[ECKE02] Eckel, Bruce, “Piensa en Java”, Prentice Hall
Segunda Edición, 2002.
[SING02] Singh, Inderjeet; Stearns, Beth; Johnson, Mark,
“Designing Enterprise Applications with the J2EEtm
Platform”, Addison-Wesley Second Edition, 2002.
[ODON02] O’Donahue, John, “Java Database Programming
Bible”, John Wiley & Sons, 2002.
[PEKO03] Pekowsky, Larne, “Java Server Pages", Addison
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 130
Wesley, 2003.
[GEAR01] Geary, David M., "Advanced Java Server Pages",
Prentice Hall, 2001.
[MELC07] Melchor, Juan Enrique, “¿Existe una verdadera
gestión en el proceso de selección con los candidatos
rechazados?”, www.rrhhmagazine.com 2007
Páginas Web consultadas:
- http://java.sun.com/j2se/1.4.2/docs/api/ (API de Java)
- http://es.wikipedia.org/wiki/Portada (Wikipedia)
- http://www.wikilearning.com/ (Tutorial de EL)
- http://www.javaworld.com/javaworld/jw-05-2003/jw-0523-
calltag.html?page=2 (Llamadas a métodos de JavaBean desde JSP2.0)
- http://www.javaworld.com/javaworld/jw-04-2006/jw-0410-html.html
(HTML to PDF)
- http://www.lowagie.com/iText/ (Generación de PDF)
- http://jakarta.apache.org/commons/fileupload/ (Subida de archivos a un
servidor)
- http://java.sun.com/docs/books/tutorial/jdbc/overview/index.html (Tutorial
de JDBC)
- http://www.rrhhmagazine.com/inicio.asp?url=/secciones/seleccion.asp
(Selección de personal)
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 131
REFERENCIAS
- VASS: Valor Añadido en Soluciones y Servicios. Empresa de
Consultoría de Sistemas.
- RRHH: Recursos Humanos.
- CV: Curriculum Vitae ó currículo.
- J2EE: Java Platform Enterprise Edition. Versión del lenguaje de
programación Java que incluye características como JSP, WebServices,
RMI, JavaMail, XML y JavaBeans entre otras, ideal para el desarrollo de
aplicaciones Web.
- JSP: Java Server Pages. Tecnología para crear aplicaciones Web con
contenidos dinámicos en sus páginas mediante la inserción de scripts
con código Java para dicho propósito. En su especificación 2.0 se ha
intentado eliminar la inserción de código Java para no interferir en el
modelo MVC que intenta separar la lógica de negocio de la capa de
presentación. Para ello se han creado el Expresion Language (EL) que
mediante taglibs intenta evitarlo.
- EL: Expresion Language. Tecnología desarrollada que permite
operaciones dinámicas con un lenguaje parecido al HTML tradicional,
que facilita el mantenimiento de las aplicaciones Web y que evita la
inclusión de código Java en las páginas de presentación. Se utiliza
definiendo un prefijo al comienzo de la página JSP: <%@ taglib
prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> para que se puedan
usar etiquetas con dicho prefijo y el servidor las interprete como EL. Un
ejemplo de uso sería el siguiente: <c:forEach var="candidato"
items="${candidatos}"> … operaciones con la variable candidato …
</c:forEach>
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 132
- VBIS: Vignette V7 Business Integration Studio. Herramienta de
integración de contenidos de distintas fuentes de datos que permite
mediante adaptadores realizar traspasos de información entre ellas. Se
distribuye con el suite de productos de Vignette que incluye gestor de
contenidos (VCM) y de presentación (VAP).
- VCM: Vignette Content Management. Gestor de contenidos de Vignette.
- VAP: Vignette Application Portal. Gestor de presentación de portales
Web.
- ERP: Enterprise Resource Planning. Sistema de Planificación de
Recursos Empresariales. Son sistemas integrales de gestión de una
empresa compuestos por módulos integrados en una aplicación.
- CRM: Customer Relationship Management. Sistemas Informáticos de
apoyo a la gestión de las relaciones con clientes, a las ventas y al
marketing.
- JDBC: Java DataBase Connectivity. Es un framework que permite
mediante código Java realizar operaciones sobre bases de datos
independientemente de cual sea el Gestor de Base de Datos.
- SGBD: Sistema Gestor de Base de Datos.
- DAO: Data Access Object. Patrón de diseño que encapsula en una capa
el acceso a base de datos de una aplicación.
- MVC: Modelo Vista Controlador. Patrón de diseño que separa los datos,
la interfaz de usuario y la lógica de control en capas diferentes.
- PDF: Portable Document Format. Formato de almacenamiento de
documentos desarrollado por la empresa Adobe® bastante extendido
como formato de visualización y de impresión de documentos.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 133
- LDAP: Lightweight Directory Access Protocol. Protocolo a nivel de
aplicación que permite acceso a un servicio de directorio ordenado y
distribuido para buscar diversa información en un entorno de red.
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 134
ANEXO I: Manual de Usuario En este Manual de Usuario pretende facilitar el uso de la aplicación Web
desarrollada para la gestión de Recursos Humanos y Proyectos de VASS
Consultoría de Sistemas.
1.- Acceso a la aplicación: Para acceder a la aplicación se abre un navegador de Internet (Explorer 6 o
superior) y se introduce la dirección: https://aplicacionesvass.proyectos.vass.es/rrhh
Tras introducir la clave de acceso al servidor, aparece una pantalla como la
siguiente:
Figura A.1.1: Pantalla inicial
En ella se puede apreciar una parte a la izquierda de la pantalla con el menú
de opciones de la aplicación y en la parte central un formulario para iniciar sesión
en la aplicación.
2.- Iniciar sesión: Para iniciar sesión, introducimos nuestro usuario de la aplicación de gestión
de empleados y la clave de acceso (1) y pulsamos el botón (2) como
podemos ver en la siguiente imagen:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 135
Figura A.1.2: Inicio sesión
Tras iniciar sesión, nos encontraremos en la página inicial de la aplicación:
el menú de candidatos, que tiene varias opciones: Alta, Baja y Consultas, como se
aprecia en la siguiente imagen.
Figura A.1.3: Menú Inicial
Además disponemos de más información como el usuario con el que hemos
iniciado la sesión y el menú en el que nos encontramos.
3.- Alta Candidato: Para dar de alta un candidato en el sistema debemos pulsar en el menú de
Candidatos: del menú de la lateral izquierda. Una vez
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 136
hecho esto, pulsaremos en la opción Alta: Esta acción cargará un
formulario que permitirá dar de alta al candidato en el sistema. Dicho formulario
agrupa la información que se recoge de un candidato en tres pestañas distintas:
Datos Personales, Estado Selección y Skills como se puede apreciar en las
siguientes imagenes:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 137
Figura A.1.4: Alta Candidato – Datos Personales
Veamos ahora la pestaña de Estado de Selección:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 138
Figura A.1.5: Alta Candidato – Estado Selección
Por último la pestaña de skills:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 139
Figura A.1.6: Alta Candidato – Skills
Para dar de alta el candidato deberán cumplimentarse correctamente, al
menos los campos obligatorios (están marcados con un asterisco). En caso
contrario se mostrará un mensaje como este:
Figura A.1.7: Alta Candidato – Faltan Campos
Si se han cumplimentado todos los obligatorios, pero algún campo no ha
sido cumplimentado con un valor correcto, el sistema avisará con un mensaje como
este:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 140
Figura A.1.8: Alta Candidato – Formato incorrecto
Para dar de alta el candidato, se debe pulsar el botón:
. Si se desea borrar todos los campos del formulario, se
pulsará el botón:
Después de pulsar el botón de DAR DE ALTA, el sistema informará al
usuario si se han guardado correctamente los datos o no. Un mensaje satisfactorio
sería como el siguiente:
Figura A.1.9: Alta candidato – Alta correcta
Si por el contrario, el usuario ya existe en la base de datos, se mostrará el
siguiente mensaje:
Figura A.1.10: Alta candidato – Candidato existente
Si se produce otro tipo de error en el proceso de alta de candidatos, el
sistema informará al usuario con un mensaje como este:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 141
Figura A.1.11: Alta Candidato – Error
4.- Baja Candidato: Para dar de baja un candidato en el sistema debemos pulsar en el menú de
Candidatos: del menú de la lateral izquierda. Una vez
hecho esto, pulsaremos en la opción Baja: Esta acción cargará un
formulario que permitirá buscar el candidato que deseamos dar de baja entre los
existentes en el sistema. El formulario permite hacer una búsqueda por nombre,
primer apellido, segundo apellido, DNI y Área Tecnológica:
Figura A.1.12: Baja Candidato – Formulario Consulta
Una vez rellenado este formulario con los datos del candidato que
deseamos eliminar, se pulsa el botón . Si nos hemos
equivocado y deseamos vaciar los campos del formulario pulsamos el botón:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 142
Una vez presionado el botón , el sistema buscará los
candidatos que coincidan con la información introducida en el formulario y
presentará un listado como el siguiente con los resultados de dicha búsqueda:
Figura A.1.13: Baja Candidato – Resultados Consulta
Si no hemos encontrado el candidato que buscamos podemos pulsar el
botón para retornar al formulario de consultas y refinar nuestra
búsqueda, o pulsar el botón inicio que nos llevará al menú de Candidatos.
Si lo que queremos es eliminar un candidato de los que hay en la lista de
resultados pulsaremos el botón: de dicho candidato, lo que nos lleva a una
página como la del formulario de alta, pero con los datos del candidato, aunque con
la opción de confirmar la baja:
Figura A.1.14: Baja Candidato – Confirmación de Baja
Al pulsar en , se preguntará una vez más al
usuario si realmente desea dar de baja el candidato ya que toda la información se
eliminará y no se podrá recuperar si no es dándolo de alta otra vez. El mensaje será
como este:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 143
Figura A.1.15: Baja Candidato – Mensaje Confirmación
Si se ha eliminado correctamente se mostrará un mensaje como el
siguiente:
Figura A.1.16: Baja Candidato – Mensaje Baja Correcta
Si se produce algún error al dar de baja un candidato, se mostrará un
mensaje de error como el siguiente:
Figura A.1.17: Baja Candidato – Mensaje Error
5.- Consultas Candidato: Para realizar consultas sobre los candidatos existentes en el sistema debemos
pulsar en el menú de Candidatos: del menú de la lateral
izquierda. Una vez hecho esto, pulsaremos en la opción Consultas:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 144
Esta acción cargará un formulario que permitirá buscar el candidato que deseamos
de entre los existentes.
Figura A.1.18: Consultas Candidato – Formulario
En este formulario se permite buscar candidatos por algún atributo que se
elige mediante un desplegable como el siguiente:
Figura A.1.19: Consultas Candidato – Desplegable Atributos
Además se podrá filtrar por un rango de fechas, sobre el tipo de fecha
elegida en un desplegable como este:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 145
Figura A.1.20: Consultas Candidato – Desplegable fechas
Además puede filtrar por áreas (se puede marcar sólo una) y sub-áreas (se
pueden marcar varias). Para marcar varias sub-áreas, se pulsará la tecla ctrl. y
manteniéndola pulsada, se hará clic en todas las sub-áreas que se quieran marcar.
También se puede ordenar los resultados de la búsqueda con un
desplegable que es parecido al de elegir atributos, pero añadiéndole el de las
fechas. Una vez completado el formulario, se pulsará el botón
Se mostrará un listado con los resultados como el siguiente:
Figura A.1.21: Consultas Candidato – Resultados Consulta
Para ver la información de un candidato en más detalle se pulsará sobre el
botón , que presentará un formulario como el de alta o confirmación de baja,
pero que tendrá las opciones de modificar los datos del candidato o generar su
currículo en PDF.
6.- Modificar Candidato: Como se acaba de comentar en el apartado de Consultas, para modificar un
candidato se sigue el procedimiento de consulta hasta encontrar el candidato que
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 146
deseamos modificar. Una vez en él podremos modificar los campos como si de un
alta se tratase.
Las opciones que tendremos serán:
Figura A.1.22: Modificar Candidato – Opciones
El botón que permitirá guardar las modificaciones es el botón
. Si se pulsa sobre él, aparecerá un mensaje
preguntando al usuario si realmente desea guardar los cambios:
Figura A.1.23: Modificar Candidato – Mensaje confirmación
Si se confirma y no se produce ningún error el sistema informará al usuario
con un mensaje como este:
Figura A.1.24: Modificar Candidato – Mensaje Modificación
Si se produce algún error, el sistema informaría al usuario con un mensaje
como este:
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 147
Figura A.1.25: Modificar Candidato – Mensaje Error
7.- Generar CV de Candidato en PDF: En el apartado de Consultas se comentó que tras realizar una consulta y
seleccionar un usuario, se habilitaba la opción de generar su currículo en formato
PDF de acuerdo a una plantilla. La plantilla la elegirá mediante un desplegable con
las plantillas disponibles:
Para generarlo pulsará sobre el botón: que
generará el currículo del candidato de acuerdo a la plantilla elegida con la
información que hay almacenada sobre el candidato en la base de datos.
Este currículo se mostrará dentro de la aplicación, permitiendo guardarlo,
imprimirlo o enviar por correo electrónico de esta forma:
Figura A.1.26: Generar CV en PDF
Solución Integral para la Administración de Recursos Humanos y Gestión de Proyectos Víctor Saiz Romero
__________________________________________________________________________________ 148
8.- Resto de apartados: El resto de apartados contienen secciones similares a las descritas para la
gestión de candidatos y con un interfaz idéntico por lo que no se profundizará en
más detalle para poder hacer uso del resto de las secciones.