Vous êtes sur la page 1sur 111

UNIVERSIDAD DE LAS AMÉRICAS

FACULTAD DE INGENIERIA Y NEGOCIOS


ESCUELA DE TECNOLOGÍA DE LA INFORMACIÓN
CARRERA INGENIERIA EJECUCION INFORMATICA

“DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA PARA LA SELECCIÓN Y


RECLUTAMIENTO DE PERSONAL BASADO EN GESTIÓN POR
COMPETENCIAS"

Trabajo de titulación presentado en conformidad a los requisitos para obtener el


título de Ingeniería de Ejecución en Informática

Profesor Guía: Sr. Jorge Mancilla

PAMELA VARGAS CALDERÓN


2017
AGRADECIMIENTOS

Quiero agradecer principalmente a Dios, fuente de toda sabiduría y fortaleza para


enfrentar cualquier desafío que se presente en la vida.

A mi esposo, amigo y compañero en el camino, por su apoyo incondicional y con el


cual nunca podría haber terminado esta tarea.

A mis hijos Silvana, Romeo y Alessandro, junto con mi nieto Sebastián, motor que
impulsa el deseo de superación.

A mi tutor Señor Jorge Mancilla, por su gran apoyo para poder finalizar este proyecto.

Y para terminar, no podía dejar sin nombrar a mis padres, quienes formaron mis valores
y principios.

GRACIAS A TODOS
RESUMEN

El proyecto consiste en desarrollar un sistema que permita seleccionar eficientemente el


capital humano requerido para cubrir las vacantes de los cargos de una organización
perteneciente a una entidad gubernamental. Actualmente esta tarea se efectúa en forma
manual, lo que generó la necesidad de crear una plataforma tecnológica que apoye y
automatice los procesos principales de la Selección por Competencia, y cuya
responsabilidad de operación es de la División de Admisión del Departamento de Recursos
Humanos de dicha Institución.

El proyecto se identifica con el nombre Sistema de Selección por Competencia (SELCOM),


el cual está orientado al área de gestión de recursos humanos.

La estrategia que se utilizó para realizar el análisis preliminar de la situación actual de la


organización fue el seguimiento del proceso de Selección del Personal, en cuyo estudio se
pudieron identificar varias etapas tales como la definición del perfil de competencia, el
reclutamiento de los postulantes, la preselección y la selección de los candidatos que
cumplen con los requisitos para cubrir el cargo vacante.

El proceso de Selección por Competencia es una tarea de gran relevancia, cuyo fin
principal es la identificación de profesionales de una alta calidad, lo que traerá como
consecuencia un aumento del desempeño y productividad. Por lo tanto, la organización
requiere de una herramienta que permita la selección del personal competente y de esa
forma cumplir los objetivos propuestos por este organismo estatal.
ABSTRACT

The project consists of developing a system to efficiently select the human capital
required to fill vacancies in the positions of the organization. Currently this task is
carried out manually, which generated the need to create a technological platform that
supports and automates the main processes of Selection by Competence, and whose
operational responsibility is the Admission Division of the Department of Human
Resources of this Institution.

The project was identified with the name of SELCOM, which is oriented to the area of
human resources.

The strategy used to carry out the preliminary analysis of the current situation of the
organization was the follow-up of the Personnel Selection process, in the study of
which it was possible to identify several stages such as the definition of the profile of
competence, the recruitment of the postulants, The pre-selection of the candidates
and the selection of candidates who meet the requirements to fill the vacant position.

The process of Selection by Competence is a task of great relevance, whose main


purpose is the identification of professionals of a high quality, which will result in an
increase of performance and productivity. Therefore, the organization requires a tool
that allows the selection of competent personnel and thus meet the objectives
proposed by this state agency.The process of Selection by Competence is a task of
great relevance, whose main objective is to obtain a high quality of the personnel and
the increase of the performance, therefore, the organization requires of a tool that
allows the selection of the competent personnel and Thus meeting the goals proposed
by this state agency.
ÍNDICE DE CONTENIDOS
1 INTRODUCCIÓN .......................................................................................................... 1
2 ANTECEDENTES GENERALES................................................................................... 3
2.1 Génesis de la idea ............................................................................................... 3
2.2 Nombre del Proyecto ............................................................................................... 3
2.3 Identificación del Cliente .......................................................................................... 3
2.4 Tipo de actividad económica .................................................................................... 3
3 ANÁLISIS ...................................................................................................................... 4
3.1 Situación Actual ................................................................................................... 4
3.2 Problemáticas encontradas ................................................................................. 6
3.3 Situación Propuesta............................................................................................. 7
3.4 Plan general del Proyecto .................................................................................... 9
3.5 Método Selección Multicriterio ........................................................................... 15
3.5.1 Definición Método Selección Multicriterio ........................................................... 15
3.5.2 Ejercicio Práctico Selección Multicriterio Ponderado ........................................ 15
3.6 Objetivos ........................................................................................................... 18
3.6.1 Objetivo General ..................................................................................................... 18
3.6.2 Objetivos Específicos ............................................................................................. 18
3.7 Identificación de Requerimientos ....................................................................... 19
3.7.1 Tipos de Usuarios................................................................................................... 19
Nombre: Jefe de Departamento ........................................................................................... 19
Nombre: Encargado de Admisión ........................................................................................ 19
Nombre: Jefe de División de Admisión ............................................................................... 19
Nombre: Jefe de Recursos Humanos ................................................................................. 19
Nombre: Candidato ................................................................................................................ 19
Nombre: Administrador .......................................................................................................... 19
3.7.2 Requerimientos Funcionales de Usuario .................................................................. 20
3.7.3 Requerimientos Funcionales de Sistema ................................................................. 21
3.7.4 Requerimientos no Funcionales ...................................................................... 24
3.7.5 Casos de Usos ................................................................................................ 26
3.7.6 Casos de Usos Narrativo ................................................................................ 31
3.7.7 Diagrama o Modelo de Dominio ..................................................................... 45
4 ANÁLISIS DE FACTIBILIDAD ..................................................................................... 46
4.1 Factibilidad Técnica ........................................................................................... 46
4.1.1 Hardware.................................................................................................................. 47
4.1.2 Software ................................................................................................................... 48
4.2 Factibilidad Económica ...................................................................................... 48
4.2.1 Cálculo de Punto de Casos de Usos Ajustados ................................................ 48
4.2.2 Valorización del Proyecto ...................................................................................... 53
5 DISEÑO ...................................................................................................................... 56
5.1 Arquitectura de Solución .................................................................................... 56
5.1.2 Diagrama de Clases ............................................................................................... 58
5.1.3 Diagrama de Estado .............................................................................................. 60
5.1.4 Diagrama de Secuencia ........................................................................................ 63
5.1.5 Diagrama de Componentes .................................................................................. 65
5.1.6 Diagrama Despliegue ............................................................................................ 66
5.1.7 Diagrama Relacional .............................................................................................. 67
5.2 Diseño de Interfaz.............................................................................................. 72
5.2.2 Estándar de Interfaz Gráfica ................................................................................. 72
5.2.3 Diseño Principales Interfaces ............................................................................... 73
5.2.4 Estructura sitio Web ............................................................................................... 80
6 Construcción ............................................................................................................... 82
6.1 Framework de Desarrollo .................................................................................. 81
6.2 Lenguaje de Programación PHP ........................................................................ 83
6.3 IDE ................................................................................................................... 83
6.4 Ajax…………………………………………………………………………………….....84
6.5 Motor de Base de Datos .................................................................................. 84
6.6 Servidor Web .................................................................................................... 85
7 Pruebas....................................................................................................................... 87
7.1 Pruebas Unitarias .............................................................................................. 87
7.2 Pruebas Integración........................................................................................... 88
7.3 Prueba de Aceptación ....................................................................................... 89
7.4 Análisis de Casos de Pruebas ........................................................................... 90
8 CONCLUSIONES ....................................................................................................... 91
9 Bibliografía .................................................................................................................. 92
ANEXO “A” ................................................................................................................... 93
Estructura de archivos .................................................................................................. 93
Crear la aplicación en app.js ........................................................................................ 94
Definir un Controlador .................................................................................................. 95
Definir una Vista ........................................................................................................... 96
Definir un Modelo y un Almacén (Store) ....................................................................... 97
Procedimiento Almacenado.......................................................................................... 97

ÍNDICE DE FIGURAS
1 Figura N°1 Plan General de las Fases del Proyecto…………………………… 10
2 Figura N°2 Plan Fase 1 del Proyecto…………………………………………….. 10
3 Figura N°3 Plan Fase 2 del Proyecto……………………………………………… 11
4 Figura N°4 Plan Fase 3 del Proyecto……………………………………………… 11
5 Figura N°5 Plan Fase 4 del Proyecto……………………………………………… 11
6 Figura N°6 Plan Fase 5 del Proyecto……………………………………………… 12
7 Figura N°7 Plan Fase 6 del Proyecto, Iteraciones 1, 2, 3……………………… 13
8 Figura N°8 Plan Fase 6 del Proyecto, Iteraciones 4, 5, 6………………………… 14
9 Figura N°9 Plan Fase 7 y 8 del Proyecto……………………………………………14
10 Figura N°10 Caso de Uso General Sistema de Selección de Competencia….. 26
11 Figura N°11 Casos de Uso Solicitar Vacante……………………..……………… 27
12 Figura N°12 Casos de Uso Apertura Concurso…………………………………… 27
13 Figura N°13 Casos de Uso Evaluar Currículum…………………………………… 28
14 Figura N°14 Casos de Uso Gestionar Entrevista………………………………… 28
15 Figura N°15 Caso de Uso Cálculos y Resultados ……………………………….. 29
16 Figura N°16 Caso de Uso Gestionar Estadísticas ………………………………. 29
17 Figura N°17 Caso de Uso Mantención Referenciales…………………………… 30
18 Figura N°18 Caso de Uso Consultar Concurso……………………..……………. 30
19 Figura N°19 Diagrama de Dominio………………………………………………… 45
20 Figura N°20 Diseño de Arquitectura................................................................... 56
21 Figura N°21 Diagrama de Clase……………………………………..…………….. 58
22 Figura N°22 Diagrama de Estado de Candidato …………………………..……. 60
23 Figura N°23 Diagrama de Estado de Concurso……………………………..…… 61
24 Figura N°24 Diagrama de Secuencia Apertura Concurso……………………..... 62
25 Figura N°25 Diagrama de Secuencia Gestionar Currículum……………………. 63
26 Figura N°26 Diagrama de Componentes………………………………………..… 64
27 Figura N°27 Diagrama de Despliegue…………………………………………….. 65
28 Figura N°28 Diagrama de Relacional…………………………………………….. 66
29 Figura N°29 Estándar Interfaz Gráfica …………………………………………… 66
30 Figura N°30 Pantalla Ingreso Sistema…………………………..………………… 72
31 Figura N°31 Pantalla Menú principal………………………………………………. 72
32 Figura N°32 Pantalla Solicitud Concurso………………………………………….. 73
33 Figura N°33 Pestaña Ingreso Concurso………………………………….……….. 73
34 Figura N°34 Pestaña Ingreso Detalle Perfil……………………………………….. 74
35 Figura N°35 Pestaña Ingreso Competencias……………………………………... 74
36 Figura N°36 Pantalla Preselección………………………………………………… 75
37 Figura N°37 Pantalla Entrevista….………………………………………………… 75
38 Figura N°38 Pestaña Ingreso de Competencias…………………………………. 76
39 Figura N°39 Pantalla Evaluación…………………………………………………… 76
40 Figura N°40 Pantalla de Postulación………………………………………………. 77
41 Figura N°41 Pantalla de Concursos Disponible………………………………….. 77
42 Figura N°42 Pantalla Ingreso Curriculum……………………………....…………. 78
43 Figura N°43 Estructura Lógica sitio Web Proceso Selección…………………… 79
44 Figura N°44 Estructura Lógica sitio Web Administración……………………..… 79
45 Figura N°45 Estructura Lógica sitio Web Suscripción Concurso……………….. 80
46 Figura N°46 Estructura Física Sitio Web …………………..…………………….. 80

INDICE DE CUADROS
1 Cuadro N°1 Exigencia de la Competencia…………………………………..….. 16
2 Cuadro N°2 Valoración de Competencias del Candidato…………………..…. 16
3 Cuadro N°3 Ponderación de Competencias del Candidato……………..……. 16
4 Cuadro N°4 Resultado en orden descendente………………………..………… 17
5 Cuadro N°5 Configuración de Hardware Usuario……………………..……….. 47
6 Cuadro N°6 Configuración de Software……………………………..………..... 47
7 Cuadro N°7 Pesos de los Casos de Uso sin Ajustar………………….……….. 48
8 Cuadro N°8 Pesos de los Casos de Uso sin Ajustar………………………….. 49
9 Cuadro N°9 Criterios Utilizados………………………………………………...... 50
10 Cuadro N°10 Factor de Peso de los Actores sin ajustar……………………….. 50
11 Cuadro N°11 Cálculo Puntos de Casos de Uso sin ajustar…………………….. 50
12 Cuadro N°12 Factor de Complejidad Técnica……………………………………. 51
13 Cuadro N°13 Resultado Factores de Peso Técnicos………………………..…. 51
14 Cuadro N°14 Factor de Ambiente…………………………………………………. 52
15 Cuadro N°15 Resultado Final Cálculo Puntos de uso…………………..……… 52
16 Cuadro N°16 Total de Horas Hombre …………………………………….………. 52
17 Cuadro N°17 Valorización Horas Hombre………………….…………………….. 53
18 Cuadro N°18 Valorización Actividades de Planificación………………………… 55
19 Cuadro N°19 Resumen Costo Total del Proyecto……………………………….. 55
20 Cuadro N°20 Inversión Tecnológica………………………………………………. 55
21 Cuadro N°21 Análisis Clases de Equivalencia Solicitar Concurso…………...... 85
1

1 INTRODUCCIÓN

La Selección por Competencia, es un proceso muy importante para la organización, la


cual considera el recurso humano como principal protagonista en la generación de ventajas
competitivas para la empresa.

El Departamento de Recursos Humanos de una Institución Pública, considera este proceso


fundamental para conformar su staff de profesionales, de los cuales dependerá la calidad
de los servicios ofrecidos y de los logros alcanzados.

Este Departamento en su proceso de selección considera las habilidades individuales de


los postulantes y los compara con los perfiles de competencia de los cargos de la
organización, para poder identificar al personal que cumple con las competencias exigidas.

El enfoque del proyecto es apoyar el proceso de selección, contribuyendo al mejoramiento


de la gestión del trabajo y el aumento de la productividad, a través de un Sistema de
Información que automatice esta tarea.

Este trabajo identifica las distintas etapas del proceso de Selección por Competencias,
detallando las tareas realizadas por los diferentes roles involucrados. Además, nos presenta
al rol principal en este proceso que es el Encargado de Admisión, el cual lleva las etapas
fundamentales tales como: el reclutamiento de los candidatos, la apertura del concurso y el
seguimiento del proceso de selección. Los otros roles como Jefe de Admisión y Jefe de
Recursos Humados ven los resultados del proceso, para elegir a los candidatos que
cubrirán las vacantes.

Los principales métodos que se emplearán para recopilar los requerimientos serán:
entrevistas a los usuarios, observación de documentos y procedimientos administrativos.
Los principales materiales que se emplearán serán: Libros relacionados con la Gestión por
Competencia y Consultas de estudios publicados en la web.
2

Descripción Organizativa del Documento

El Capítulo o Punto 2 describe los antecedentes generales de la organización y la génesis


del sistema. Se detalla en primer lugar al cliente, su actividad económica y la descripción
del negocio.

El Capítulo o Punto 3 describe el Análisis realizado en el desarrollo del proyecto. Este


análisis especifica la situación actual y la situación propuesta del problema, contempla la
identificación y descripción de requerimientos, la especificación de casos de uso y el
diagrama de dominio.
Se detalla la forma de enfrentar el proyecto identificando sus etapas a través del Plan
General del Proyecto.
Para facilitar la toma de decisiones se explica el método de selección multicriterio
“Ponderación Aditiva Simple (SAW)”, utilizada para seleccionar a los candidatos.

El Capítulo o Punto 4 describe el Estudio de Factibilidad del proyecto, el cual determinará


la infraestructura tecnológica y la capacidad técnica que implica la implantación del sistema.
Además, se detallan los costos y beneficios que la propuesta generará en la Institución.

El Capítulo o Punto 5 describe el Diseño de la arquitectura de solución y la interfaz gráfica


del producto de software que generará el proyecto. Se define la solución del problema
desde el punto de vista de la Ingeniería del Software utilizando los diagramas de UML tales
como diagrama de clases, diagrama de actividad, diagrama de estado, diagrama de
componentes y diagrama de despliegue.

El Capítulo o Punto 6 detalla las tecnologías utilizadas para la construcción del software
del proyecto, que incluye lenguaje programación, framework, motor de base de datos,
servidor web, etc. para la implementación de la solución.

El Capítulo o Punto 7 incluye el diseño de los casos de pruebas utilizando la estrategia de


caja negra para comprobar en etapas posteriores que el sistema funciona correctamente y
que cumple con los requisitos que se le exigen.
3

2 ANTECEDENTES GENERALES

2.1 Génesis de la idea

Admisión es una división del Departamento de Recursos Humanos de la Dirección de


Personal, encargada de realizar todo el proceso de selección del personal que ingresa a
una rama de las Fuerzas Armadas. Para el personal de línea existe un sistema informático
explotado desde hace 5 años, el cual posee reglas y normas definidas por la institución. En
cambio, para el personal profesional que cubre todas aquellas áreas que la institución no
tiene especialistas, el proceso es realizado en forma manual.

La idea del proyecto nace de la necesidad de automatizar este proceso y de organizar la


información referente a los procesos de selección de personal. Más en concreto resulta muy
importante formalizar el proceso de generación de los concursos y agilizar la gestión de la
información referente a los candidatos.

2.2 Nombre del Proyecto

Nombre Proyecto: Sistema de Selección por Competencia.

Nombre Abreviado: SELCOM

2.3 Identificación del Cliente

Departamento de Recursos Humanos de la Dirección del Personal de una institución


pública.

2.4 Tipo de actividad económica

El Tipo de actividad económica que mejor se ajusta al cliente, es la del sector terciario, ya
que las entidades públicas no incluyen actividades que implican la producción de bienes
materiales, sino que están dedicadas a la satisfacción de diferentes necesidades de las
personas tales como gobierno, hospitales, educación, banca, seguros. El código de la
actividad 752200 Actividades de Defensa.
4

3 ANÁLISIS

3.1 Situación Actual

La Dirección del Personal tiene como misión satisfacer las necesidades de profesionales
competentes y del mantenimiento del personal que requiere la institución para lograr los
objetivos estratégicos planificados.

El factor esencial en el logro de dicho empeño son las personas que integran la institución,
ya que en ellos se apoya la evolución y el desarrollo de la organización y la calidad
intrínseca de todos y cada uno de los servicios ofrecidos.

Para conseguirlo, la clave es la Selección por Competencias del personal, proceso que
trata no solamente de aceptar o rechazar candidatos, si no conocer sus aptitudes y
cualidades con el objeto de ubicarlos en el cargo más a fin a sus características.

La institución periódicamente realiza llamados a postulación para profesionales de distintas


áreas, tales como médicos, arquitectos, abogados, profesores, ingenieros, periodistas,
educadoras de párvulos, etc. Lo anterior se debe a que se requiere de los servicios de
profesionales de aquellas áreas en las que la institución no forma personal.

Las etapas del proceso de selección que actualmente utiliza la división de Admisión del
Departamento de Recursos Humanos, de la Dirección del Personal es el siguiente:

Definición del perfil de competencia: Esta etapa corresponde a la definición del


perfil de competencia del cargo y la ponderación de cumplimiento que se requieren
para desempeñar correctamente una tarea. El perfil del cargo debe ser definido
por el jefe o responsable del departamento que requiere de un profesional que
cumpla con ciertas habilidades. Una vez definido el perfil, éste es solicitado a
través de un memorándum que es enviado a la división de Admisión. En Admisión
el encargado guarda el documento en una carpeta física, para ser utilizado
posteriormente en la etapa de preselección.
5

Reclutamiento: Constituye la identificación y obtención de los candidatos. El


reclutamiento es un conjunto de procedimientos para atraer candidatos
potencialmente calificados y capaces de ocupar cargos dentro de la organización.

Las fuentes de reclutamiento que se utilizan para realizar este proceso son
externas e internas, según las necesidades de la Institución. Las fuentes externas
son las personas que postulan desde fuera de la organización. Las fuentes internas
son las personas que postulan desde dentro de la organización.

Cuando se producen vacantes, se llama a postular mediante la publicación de


avisos en diarios de circulación nacional, en la sección "ADMISIÓN VIGENTE" del
sitio en internet y a través de avisos internos como mensajes, correos y la Intranet.

Preselección: Etapa que realiza la preselección de los candidatos. En esta etapa


se evalúa la potencialidad física y mental de los solicitantes, así como su aptitud
para el trabajo, basado en el perfil del cargo que se necesita satisfacer. El primer
filtro que aplica el encargado de Admisión es el análisis del currículum enviado por
los candidatos. Luego junto con un equipo de profesionales (sicólogos, médicos,
expertos en alguna materia, jefatura), utilizan una serie de técnicas como las
entrevistas, pruebas psicológicas y exámenes médicos, para capturar las
habilidades de los candidatos.

Con la información recopilada, el encargado de Admisión crea una matriz en Excel,


con todos los factores evaluados para cada postulante y lo contrasta con el perfil
del cargo. Después de un minucioso análisis, elige la terna de los candidatos que
mejor se ajustan al perfil profesional requerido. Este resultado es revisado y
autorizado por el Jefe de División de Admisión.

Selección: Ésta es la última etapa del proceso, que consiste en enviar los
resultados de la preselección al Jefe de Recursos Humanos, quien elige la persona
que será contratada a partir de los candidatos que cumplen el perfil.
6

3.2 Problemáticas encontradas

 El proceso es realizado en su totalidad en forma manual, lo que genera demoras en las


entregas de informes y en las etapas de la selección del personal.
 Cada concurso de selección es un proceso independiente, y al no tener un registro de
los postulantes de otros concursos, los candidatos vuelven a postular, en circunstancias
que en concursos anteriores no calificaron por carecer de la experiencia y conocimientos
requeridos para el cargo.
 La información no está disponible en cualquier momento para los involucrados del
proceso, ya que se encuentra registrada en planillas Excel, en el computador del
encargado de admisión.
 Al no estar centralizada la información en una Base de Datos, no es posible obtener
información estadística de los concursos para todos los roles involucrados.
 Errores de digitación en el ingreso de las planillas Excel, que puede afectar en la elección
de la persona idónea para el cargo.
 Gasto innecesario de tiempo para coordinar la creación de un nuevo requerimiento de
personal.
 No existe comunicación entre las diferentes etapas del proceso y entre los responsables
de cada etapa.
 La coordinación de entrevistas debe hacerse vía telefónica, donde el encargado de
admisión debe llamar uno por uno a los candidatos.
 La preselección y selección de los candidatos está realizada en forma manual, lo que
está sujeto a errores ya que es realizada por el encargado de admisión.
7

3.3 Situación Propuesta

Para resolver los problemas detectados en el proceso de selección del personal, se propone
como solución la implementación de un Sistema de Información en ambiente web que
permita la automatización del reclutamiento y selección del personal basado en la
evaluación del desempeño por competencias. Esta herramienta Web, será implementada
en la Intranet institucional para la división de Admisión y considerará un módulo para
encargado de admisión, los jefes de departamentos, jefe de admisión, jefe de recursos
humanos y un módulo de postulaciones de los candidatos en internet.

El sistema se basará en la necesidad planteada por el Jefe de algún Departamento el cual


solicita cubrir una vacante para un cargo de su departamento. Sobre esta necesidad se
abrirán los concursos y sobre los concursos se crearán ofertas de empleo. A las ofertas de
empleo se suscribirán candidatos quienes entrarán a formar parte de un proceso de
selección y podrán ser convocados a entrevistas. Todos los datos acerca de los concursos,
procesos de selección, suscripciones a los concursos, serán almacenados en una Base de
Datos, los cuales serán utilizados para que el sistema realice el proceso de pareo entre las
características de los postulantes y las características del cargo a cubrir.

El sistema permitirá asignar a cada competencia del perfil del cargo una ponderación según
la importancia que el jefe de departamento le asigne. Luego según al valor ingresado a
cada atributo de los candidatos se realizará el proceso de cálculo, que entregará a cada
postulante un porcentaje de cumplimiento (Método Ponderación Aditiva Simple, SAW).
Con este porcentaje de cumplimiento de los candidatos, el sistema podrá generar un
ranking de los participantes que se ajustan al perfil deseado, y con este resultado el Jefe
de Recursos Humanos podrá seleccionar a la persona indicada.

Por aspectos de seguridad y disponibilidad, el módulo del proceso de selección interno


estará disponible 24 horas al día, será de uso exclusivo de los roles participantes y podrá
generar solicitudes de entrevistas por correo electrónico y generar informes y estadísticas
de postulantes y concursos.
8

El módulo de Administración será habilitado para el Administrador de las cuentas del


Software de Selección de Competencias.

El módulo de postulación de candidatos estará disponible 24 horas al día y será alojado en


un servidor web dentro de una DMZ. La DMZ es una zona segura que no está dentro de
nuestra red local, pero que tampoco es externa a nuestra empresa. Por lo tanto, se plantea
como un paso intermedio entre nuestra red y el acceso a Internet, que será protegida por
un Firewall debidamente configurada.
9

3.4 Plan general del Proyecto

El proyecto se llevará a cabo siguiendo la metodología incremental considerando las


siguientes fases:

 Fase 1 Análisis del Problemas.


 Fase 2 Análisis de Requerimientos
 Fase 3 Diseño del Sistema
 Fase 4 Planificación de Pruebas
 Fase 5 Construcción Código Preliminar
 Fase 6 Construcción Código Sistema
 Fase 7 Pruebas
 Fase 8 Marcha Blanca

El desarrollo iterativo y creciente es un proceso de desarrollo de software, creado en


respuesta a las debilidades del modelo tradicional de cascada, es decir, este modelo aplica
secuencias lineales como el modelo en cascada, pero de una manera iterativa o escalada
según como avance el proceso de desarrollo y con cada una de estas secuencias lineales
se producen incrementos (mejoras) del software.

Este proyecto aplicará el modelo tradicional en cascada en las fases de análisis y diseño,
pero en las fases de construcción se aplicará modelo iterativo. En cada iteración se
presentará un prototipo, el cual será ajustado en la iteración activa e incrementado en la
iteración siguiente.

La metodología está centrada en casos de uso es por ello que, aunque en la planificación
existen diversas tareas, en las iteraciones de construcción la mayor parte de las tareas
tienen que ver con el diseño I implementación de un caso de uso.

En general la ordenación de este tipo de tareas se ha hecho de acuerdo con la criticidad de


dichos casos de uso para asegurar que en caso de no cumplimiento total de la planificación
como mínimo se habrán cubierto aquellos objetivos más importantes.
10

Figura N°1 “Plan General de las Fases del Proyecto”

Fase 1 Análisis del Problema


En esta fase se identificará el contexto de la situación inicial del negocio, definirán los límites
del sistema a desarrollar y se planificarán las fases de elaboración, además se especificará
el esquema de los recursos necesarios y el presupuesto para la realización del proyecto.

Figura N°2 “Plan Fase 1 del Proyecto”

Fase 2 Análisis del Requerimientos


En esta fase de análisis, se entrevistará al cliente el cual planteará sus necesidades y
explicará lo que deberá hacer el software para satisfacer dicha necesidad. Con este análisis
se identificarán las funciones que deberá realizar el software y se indicará cuál es la interfaz
más adecuada para el mismo. El modelado del sistema se realizará con los casos de usos,
los cuales permitirán identificar las principales funcionalidades del sistema, a los actores y
a los conceptos del dominio del problema. El resultado final de este análisis será el modelo
dominio representado en el diagrama de dominio.
11

Figura N°3 “Plan Fase 2 del Proyecto”

Fase 3 Diseño del Sistema


En esta fase se diseñarán los componentes del sistema que dan respuesta a las
funcionalidades descritas en los casos de uso, transformando los conceptos de dominio
definidos en el análisis, en clases de diseño, obteniendo un modelo cercano a la
programación orientada a objetos.

Figura N°4 “Plan Fase 3 del Proyecto”

Fase 4 Planificación de Pruebas


En esta fase se seleccionarán los módulos del sistema a probar, se establecerá el entorno
de pruebas y se dispondrá de los procedimientos y los criterios a aplicar en las pruebas.
Para lograr esto se planifican pruebas unitarias, de integración y de aceptación.

Figura N°5 “Plan Fase 4 del Proyecto”


12

Fase 5 Construcción de Código del Sistemas


En esta fase de construcción se crearán y configurarán aquellos elementos básicos del
sistema, elementos como: artefactos iniciales, clase de conexión, esquema de base de
datos, scripts de carga de datos y mapeos con la base de datos.

Figura N°6 “Plan Fase 5 del Proyecto”

Fase 6 Construcción de Código del Sistemas.


En esta fase se codificarán las funcionalidades del sistema. Esta etapa será dividida en 6
iteraciones, las cuales se explican a continuación:

Iteración 1
Esta iteración corresponde a la codificación de los casos de uso relacionados a la
mantención de los concursos, del perfil y las competencias del cargo.

Iteración 2
Esta iteración corresponde a la programación de los casos de usos relacionados con la
suscripción de los candidatos e ingreso de Currículum.

Iteración 3
Esta iteración corresponde a la programación de los casos de usos relacionados con la
primera preselección en base a los Currículum ingresados y el perfil de formación del cargo.
13

Figura N°7 “Plan Fase 6 del Proyecto, Iteraciones 1, 2, 3”

Iteración 4
Esta iteración corresponde a la programación de los casos de usos relacionados con el
registro de las entrevistas y el segundo proceso de selección donde se contrastan los
resultados de las entrevistas personales y el perfil del cargo.

Iteración 5
Esta iteración corresponde a la programación de los casos de usos relacionados con el
registro de los resultados de los exámenes médicos y la etapa final de la selección de la
persona idónea para el cargo.

Iteración 6
Esta iteración corresponde a la programación de los casos de usos relacionados con la
generación de estadísticas, mantención de los referenciales y la mantención del módulo de
administración de los usuarios.
14

Figura N°8 “Plan Fase 6 del Proyecto, Iteraciones 4, 5, 6”

Fase 7 de Pruebas

En esta fase se probará el software para que realice correctamente las tareas indicadas en
la especificación del problema.
El objetivo de las pruebas no es asegurar la ausencia de defectos en un software, el objetivo
es pues, diseñar pruebas que sistemáticamente saquen a la luz diferentes clases de
errores, haciéndolo con la menor cantidad de tiempo y esfuerzo.

Fase 8 Marcha Blanca

Esta fase se refiere al período de prueba de un proyecto antes de que este sea lanzado al
público en general. Se planifican 7 días de marcha blanca objeto verificar el buen
funcionamiento del sistema.

Figura N°9 “Plan Fase 7 y 8 del Proyecto”


15

3.5 Método Selección Multicriterio

3.5.1 Definición Método Selección Multicriterio

Los métodos de selección multicriterio son herramientas matemáticas para la evaluación y


comparación de alternativas que ayudan a los decisores en la resolución de problemas de
elección compleja. Tienen como propósito ayudar al decisor a determinar cuál es la mejor
alternativa. (Edwards & Newman, 1982).

Como método para la toma de decisiones con múltiples criterios, se ha escogido la


Ponderación Aditiva Simple, SAW. Este es uno de los métodos de decisión multicriterio más
utilizados, debido a su simplicidad. El método SAW se basa en un promedio ponderado. Su
ejecución consiste en la asignación de ponderaciones a cada competencia de acuerdo con
el nivel de importancia y la evaluación de cada alternativa en cada atributo mediante la
asignación de un valor de acuerdo con el nivel de cumplimiento de la alternativa en el
criterio.

La alternativa i

La ponderación asignada al
criterio j

Valor asignado a la alternativa


en i en el criterio j

Donde representa la función de utilidad de la alternativa i e j = 1,2,3,….n


16

3.5.2 Ejercicio Práctico Selección Multicriterio Ponderación SAW

Valor Descripción
1 Elemental
2 Aceptable
3 Superior

Cuadro N°1 “Exigencia de la Competencia"

Primer paso es valorizar según la exigencia de la competencia a cada candidato.


Capacidad
Candidato / de
Competencia Iniciativa Dinamismo aprendizaje Productividad Adaptabilidad Liderazgo
Peso 0,2 0,2 0,3 0,1 0,1 0,1
Candidato 1 1 2 1 3 2 1
Candidato 2 3 2 1 2 2 3
Candidato 3 1 3 3 3 1 2

Cuadro N°2 “Valoración de Competencias del Candidato"

Segundo paso es aplicar la ponderación del peso por cada competencia a cada candidato.
Después de esto sumar la fila con todos los resultados obtenidos por el candidato y obtener
un total Ponderado.
Además, para obtener el Total Ponderado General, sumar todos los Totales Ponderados
de cada candidato.

Capacidad
Candidato / de Total,
Competencia Iniciativa Dinamismo aprendizaje Productividad Adaptabilidad Liderazgo Ponderación
Candidato 1 0,2 0,4 0,3 0,3 0,2 0,1 1,5
Candidato 2 0,6 0,4 0,3 0,2 0,2 0,3 2
Candidato 3 0,2 0,6 0,9 0,3 0,1 0,2 2,3
Sumatoria Total Ponderado General 100% 5,8

Cuadro N°3 “Ponderación de Competencias del Candidato"

Tercer paso es ordenar en forma descendente a los candidatos según el total ponderado
obtenido y además calcular el porcentaje. El porcentaje se calcula considerando como
100% la sumatoria Total Ponderado General.
17

Ponderado General …………………… 100%


Ponderado Candidato………………… X

Candidato / Total,
Competencia Ponderación Indicador Porcentaje
Candidato 3 2,3 0,396551724 40%

Candidato 2 2 0,344827586 34%

Candidato 1 1,5 0,25862069 26%

Total 100%

Cuadro N°4 “Resultado en orden descendente"


18

3.6 Objetivos

3.6.1 Objetivo General

Diseñar e implementar una herramienta administrativa y tecnológica de selección y


reclutamiento de personal, basada en las Competencias de los candidatos, para agilizar el
proceso de selección del talento humano de una Institución Pública.

3.6.2 Objetivos Específicos

 Eliminar o reducir drásticamente la necesidad de llevar a cabo reuniones para la


creación de un concurso.
 Construir una herramienta que permita obtener información estadística sobre los
concursos de selección de personal.
 Agilizar y automatizar el proceso de comunicación sobre los eventos producidos
durante el proceso de selección.
 Facilitar el registro de candidatos en los procesos de selección.
 Facilitar la programación de entrevistas.
 Facilitar el registro de evaluaciones de entrevistas.
 Reducir la posibilidad de registrar información errónea o duplicada sobre candidatos.
 Permitir el uso concurrente de la información de los candidatos.
 Poder consultar información de todos los procesos de selección en los que ha
participado un candidato.
 Construir una herramienta que permita obtener datos estadísticos sobre la
información de los candidatos.
19

3.7 Identificación de Requerimientos

En esta sección se muestran los requerimientos capturados a partir del resultado de la


investigación de los procesos manuales y de las entrevistas realizadas al personal de
Admisión. Estos requerimientos muestran una visión global de las funcionalidades del
sistema y la identificación de los tipos de usuarios que se relacionan en el mismo.

3.7.1 Tipos de Usuarios

Nombre: Jefe de Departamento


El jefe del departamento es el que define la vacante, para lo cual debe especificar el perfil
del cargo e identificar las ponderaciones asociadas a cada competencia.

Nombre: Encargado de Admisión


El encargado de Admisión es el responsable de llevar las etapas fundamentales del proceso
tales como: el reclutamiento de los candidatos, la apertura del concurso, la preselección de
los postulantes. Todo este proceso realizado con el apoyo de personal experto para
recopilar las habilidades de los candidatos.

Nombre: Jefe de División de Admisión


Su función principal es aprobar la selección entregada por el encargado de Admisión, para
ser presentada al Jefe de Recursos Humanos.

Nombre: Jefe de Recursos Humanos


El Jefe de Recursos Humanos, tiene como función decidir qué persona será contratada, en
base al resultado entregado en el proceso de selección.

Nombre: Candidato
Corresponde a los postulantes del concurso, los cuales ingresan su Currículum por internet.

Nombre: Administrador
Tiene como función administrar las cuentas de los usuarios que acceden al sistema.
20

3.7.2 Requerimientos Funcionales de Usuario

El jefe del Departamento requiere:

 Solicitar una vacante para un cargo de su departamento.


 Ingresar el perfil del cargo con sus competencias y ponderaciones.
 Ingresar las características deseables de formación para el cargo tales como: Título
Profesional, Centros de estudios, Experiencia Laboral, Postgrados, Notas de carrera y
de examen de título, etc.

El Encargado del Departamento de Admisión requiere:

 Abrir un concurso para dar comienzo al proceso.


 Consultar el perfil del cargo de un concurso con sus características y competencias.
 Evaluar los Currículum recopilados con los datos de formación de los candidatos, a
través de un proceso automático para obtener la primera preselección.
 Notificar en forma automática a los preseleccionados para que se presenten a la
entrevista.
 Notificar en forma automática a los candidatos rechazados para informar que no fueron
seleccionados.
 Crear un formulario por cada candidato, con el detalle de las competencias a evaluar
para capturar las habilidades personales y funcionales de éstos.
 Ingresar datos referenciales de universidades, títulos universitarios, áreas de trabajo,
posgrados, etapas del concurso, cargos y departamento.
 Ingresar resumen de las entrevistas personales, las cuales fueron realizadas en forma
presencial por los candidatos con el personal especializado como los sicólogos y
jefatura. Esta información será la base de ingreso de las competencias de los
candidatos.
 Procesar toda la información ingresada de los candidatos (habilidades funcionales y
habilidades personales) para identificar a los candidatos que cumplen el perfil del
concurso.
 Ingresar resultados de exámenes médicos del grupo de candidatos que cumplieron las
exigencias del perfil.
21

 Consultar al grupo de los candidatos que cumplen el perfil.


 Cerrar el proceso de Selección por Competencia del Personal.

El Jefe de Admisión requiere:

 Consultar los resultados finales del Proceso de Selección por Competencias para
aprobar el grupo de candidatos que cumplen el perfil y para que pasen al proceso
siguiente de aprobación realizado por el Jefe de Recursos Humanos.

El Jefe de Recursos Humanos requiere:

 Consultar los resultados finales del Proceso de Selección por Competencias para elegir
a la persona que cubrirá el cargo.

El Candidato requiere:

 Consultar los concursos publicados.


 Suscribirse al concurso.
 Ingresar el currículum para postular a la vacante, a través de la Internet.
 Abandonar el proceso selección.

El Administrador requiere:

 Administrar las cuentas del usuario y mantener el acceso al módulo del sistema.

3.7.3 Requerimientos Funcionales de Sistema

 El sistema deberá registrar una solicitud de concurso para un cargo de un departamento,


especificando fecha de la solicitud y la cantidad de vacantes.
 El sistema además de registrar la solicitud deberá permitir ingresar el perfil del cargo
especificando las competencias de formación (el título profesional, rango de nota final
de la carrera, rango nota final de examen de grado, puntaje PSU y las áreas en las cuales
el candidato deberá tener experiencia) y competencias personales (Orientación al
cliente, capacidad de aprendizaje, productividad, adaptabilidad, liderazgo. etc.).
22

Además, por cada competencia el sistema permitirá ingresar el nivel de exigencia que
se desea. Estos niveles pueden ser: elemental, aceptable o superior.
 El sistema permitirá abrir un concurso a partir de la solicitud de concurso enviada por el
jefe del departamento, cambiando estado de solicitud de concurso de “Pendiente” a
“Vigente”, para dar comienzo al proceso.
 El sistema permitirá consultar detalle de los perfiles de competencia de cualquier cargo
mostrando datos de formación y de las competencias del candidato.
 El sistema permitirá visualizar los Currículum que ingresaron los candidatos de un
concurso específico, dando la posibilidad de ver el detalle de los datos de cada
postulante tales como la foto, nombre, fecha de nacimiento, etc.
 El sistema permitirá preseleccionar de forma automática a los candidatos por los datos
registrados de los Currículum, que contiene la información de la formación de los
postulantes. En este proceso el sistema registrará el estado del candidato que puede ser
preseleccionado o rechazado.
 Una vez que se realice el primer proceso de selección, el sistema automáticamente
seleccionará al grupo de postulante para enviarles un mensaje de notificación
informando si fueron seleccionados para realizar una entrevista personal o para
agradecerles su participación. Después de realizar la notificación, el sistema deberá
mostrar el estado de envío de la notificación (enviado o no enviado). Lo anterior, con el
objeto de que el encargado tenga el control de los correos enviados.
 El sistema deberá imprimir un formulario de entrevista, que generará por cada
candidato, detallando el nombre del entrevistado y el detalle de las competencias a
evaluar, más los casilleros vacíos de las exigencias de la competencia, para que sea
llenado en forma manual por los especialistas que evaluarán a los candidatos.
 El sistema permitirá ingresar resultado de las entrevistas personales con los resúmenes
plasmados en el formulario que imprimió el sistema.
 El sistema permitirá ingresar, modificar y eliminar la información referencial de las
universidades, permitiendo imprimir un listado y generar un archivo en Excel.
 El sistema permitirá ingresar, modificar y eliminar la información referencial de los títulos
profesionales, permitiendo imprimir un listado y generar un archivo en Excel.
 El sistema permitirá ingresar, modificar y eliminar la información referencial de las áreas
de trabajo, permitiendo imprimir un listado y generar un archivo en Excel.
23

 El sistema permitirá ingresar, modificar y eliminar la información de los posgrados,


permitiendo imprimir un listado y generar un archivo en Excel.
 Una vez registrada toda la información de los candidatos, el sistema a través de un
proceso de cálculo generará un ranking de los candidatos seleccionados, detallando el
porcentaje de cumplimiento total y porcentaje por competencias por orden descendente.
 El sistema permitirá consultar en forma paramétrica los candidatos que tienen el mejor
porcentaje de cumplimiento para el perfil que se está buscando.
 Al consultar los resultados finales del Proceso de Selección por Competencias, el
sistema permitirá aprobar esta instancia por el jefe de división de admisión
 El sistema permitirá registrar resultados de exámenes médicos del grupo de candidatos
que cumplieron las exigencias del perfil, especificando si su salud es compatible con el
cargo. En el caso que no esté apto, el sistema permitirá registrar observaciones para
describir con detalles la causa.
 Al consultar los resultados finales del Proceso de Selección por Competencias, el
sistema permitirá identificar al candidato o candidatos elegidos, acción realizada por el
jefe de recursos humanos. Para lograrlo el sistema deberá registrar el estado del
candidato ha seleccionado.
 El sistema permitirá cerrar el proceso de Selección por Competencia del Personal,
ingresando una fecha de término del proceso y cambiando el estado del concurso de
Vigente a Cerrado.
 El sistema permitirá modificar las etapas del concurso.
 El sistema permitirá rechazar un concurso.
 El sistema mostrará los concursos que están disponibles para que los candidatos puedan
postular a uno de ellos. El sistema permitirá registrar al postulante con el correo
electrónico como cuenta y una clave ingresada por el candidato.
 El sistema permitirá que los candidatos ingresen su currículum con sus datos personales
(foto carnet, nombres y apellidos, Rut, fecha de nacimiento, etc.) y sus datos de
formación académica y experiencia laboral. El sistema permitirá ingresar, modificar los
datos y cancelar la postulación.
 El sistema permitirá ingresar, modificar y eliminar las cuentas de los usuarios que
tendrán acceso al sistema.
24

3.7.4 Requerimientos no Funcionales

Eficiencia

 Toda funcionalidad del sistema y transacción de negocio debe responder al usuario en


menos de 5 segundos.
 El sistema debe ser capaz de operar adecuadamente con hasta 100 usuarios con
sesiones concurrentes.
 Los datos modificados en la base de datos deben ser actualizados para todos los
usuarios que acceden en menos de 2 segundos.

Seguridad

 Los permisos de acceso al sistema podrán ser cambiados solamente por el


administrador del sistema.
 Todos los sistemas deben respaldarse cada 24 horas.
 Todas las comunicaciones externas entre servidores de datos, aplicación y cliente del
sistema deben estar encriptadas.

Usabilidad

 El tiempo de aprendizaje del sistema por un usuario deberá ser menor a 4 horas.
 La tasa de errores cometidos por el usuario deberá ser menor del 1% de las
transacciones totales ejecutadas en el sistema.
 El sistema debe contar con manuales de usuario estructurados adecuadamente.
 El sistema debe proporcionar mensajes de error que sean informativos y orientados a
usuario final.
 El sistema debe contar con un módulo de ayuda en línea.
 El sistema debe poseer interfaces gráficas bien formadas.
25

Disponibilidad

 El sistema debe tener una disponibilidad del 99,99% de las veces en que un usuario
intente accederlo.
 El tiempo para iniciar o reiniciar el sistema no podrá ser mayor a 5 minutos.
 El promedio de duración de fallas no podrá ser mayor a 15 minutos.

Además

 Las aplicaciones deberán consumir menos de 500 Mb de memoria RAM.


 La interfaz de usuario será implementada para navegadores web únicamente con
HTML5, Extend Js y CSS.
 Las páginas no albergarán elementos dinámicos como contenidos en Flash, archivos de
imágenes GIF animados entre otros dado el alto consumo de recursos demandados en
la aplicación. Para escenarios con múltiples conexiones y transacciones la incorporación
de estos componentes afectaría a la performance y tiempos de respuesta del servidor.
 Ofrecer opciones para minimizar la escritura a partir de controles como dropdownlists,
radiobuttons, checkboxes, entre otros. Así como el establecimiento de valores
predeterminados en los campos de las pantallas.
26

3.7.5 Casos de Usos

Para el análisis y diseño del modelo de negocios del sistema, se utilizarán los diagramas
de casos de uso. Estos registran las diferentes actividades que el usuario realiza en cada
uno de los procesos y que se muestran a continuación:

Figura N°10 “Caso de Uso General del Sistema de Selección de Competencia”


27

Figura N°11 “Caso de Uso Solicitar Vacante”

Figura N°12 “Caso de Uso Apertura Concurso”


28

Figura N°13 “Caso de Uso Evaluar Currículum”

Figura N°14 “Caso de Uso Gestionar Entrevista”


29

Figura N°15 “Caso de Uso Cálculos y Resultados”

Figura N°16 “Caso de Uso Gestionar Estadísticas”


30

Figura N°17 “Caso de Uso Mantención Referenciales”

Figura N°17 “Caso de Uso Consultar Concurso"


31

3.7.6 Casos de Usos Narrativo

Los diagramas del punto 3.7.5 dan una visión del modelo, pero las descripciones reales de
los casos de uso suelen ser textuales, usando el lenguaje y terminología del cliente/usuario.
A continuación, se detallan en forma descriptivas los casos de uso.

CU-101 Solicitar Vacante

Identificador CU-101
Nombre Caso de Uso Solicitar Vacante
Actores Jefe Departamento
Registrar una solicitud de concurso, la cual deberá
incluir información acerca de la vacante a cubrir y
Descripción
sus competencias.

Tipo Primario esencial


FLUJO NORMAL
Actores Sistema
1. El sistema presenta una lista de los concursos
Vigente. Include Revisar Concurso
2.-El jefe del departamento inicia la creación del
concurso
3.-Sistema solicita los datos necesarios para
ingresar los datos del concurso.
4.-Jefe Departamento debe:
-Seleccionar departamento que solicita vacante.
-Seleccionar Cargo a cubrir
-Ingresar el número de Vacantes.
-Ingresar Fecha Inicio Concurso.
-Ingresar Fecha de Término del Concurso.

5.- El sistema registra el nuevo concurso en


estado pendiente.
Jefe ingresa el perfil del puesto:
6.- Include Gestionar Perfil del Cargo.

Termina Proceso.
32

CU-102 Gestionar Perfil del Cargo

Identificador CU-102
Nombre Caso de Uso Gestionar Perfil del Cargo
Actores Jefe Departamento
Definir los requisitos y las tareas que realizará el
cargo, más las especificaciones de las
Descripción
competencias.

Tipo Primario esencial


FLUJO NORMAL
Actores Sistema
1.-Sistema solicita los datos necesarios para
ingresar el perfil del cargo.
2.-Jefe Departamento debe:

- Ingresar rango de notas que se exige como


promedio para la carrera estudiada (nota mínima
y máxima).
- Ingresar rango de notas que se exige como
promedio para examen de grado (nota mínima y
máxima).
- Ingresar rango de puntaje que se exige para
Examen PSU (puntaje mínima y máxima).
- Ingresar mínima y máxima experiencia que se
exige para el cargo.
- Ingresar el o los centros de formación deseables
del postulante.
- Ingresar título deseable para el cargo.
- Ingresar Posgrados deseables para el cargo.
- Ingresar las áreas de experiencia deseables.

3.- Sistema registra el perfil del cargo.


Jefe ingresa competencias del cargo:
4.- Include Gestionar Competencia del Perfil del
Cargo.
Extend Gestionar Títulos
Extend Gestionar Postgrados
Extend Gestionar Centros
Extend Gestionar Experiencia
5.-El sistema registra Titulos, Centros, Experiencia
y Postgrado del perfil.

Termina Proceso.
33

CU-103 Gestionar Competencia

Identificador CU-103
Nombre Caso de Uso Gestionar Competencias
Actores Jefe Departamento
Definir las competencias deseables para el perfil
Descripción
del cargo.
Tipo Primario esencial
FLUJO NORMAL

Actores Sistema

1.- El sistema muestra las competencias


disponibles para seleccionar.
2.-Jefe Departamento debe:

-Seleccionar la competencia que desea agregar.


-Ingresar la ponderación dada a la competencia.
3. El sistema registra la nueva competencia.

4.-Si el Jefe Departamento desea agregar una


nueva competencia volver al paso 2.
5.- Jefe Departamento sale procesos.
6. El sistema verifica que la suma de ponderación
de las competencias ingresadas sume 100% y
graba la competencia.

Termina Proceso.
34

CU-201 Apertura Concurso

Identificador CU-201
Nombre Caso de Uso Apertura Concurso
El concurso debe haber sido solicitado por el Jefe
Precondición
de un Departamento.
Actores Encargado de Admisión
El Encargado de Admisión abre el proceso de
Descripción selección para una petición de un nuevo de
concurso.
Tipo Primario esencial
FLUJO NORMAL

Actores Sistema

1. El sistema presenta una lista de concursos


identificando los que registran estado pendiente.
Include Revisar Concurso.
2.-El encargado de admisión selecciona un
concurso en estado pendiente y selecciona la
opción Abrir Concurso.Extend Abrir Concurso
3. Sistema cambia estado concurso de “pendiente”
a vigente.
4.- El encargado de admisión selecciona la opción
Etapa Concurso.
5.-El sistema muestra las etapas del concurso.
“Recepción de Currículum”, “Preselección”
“Entrevistas”, “Evaluación”, “Aprobación Jefe
Admisión”, “Aprobación Jefe RR:HH”.
6.- El encargado de admisión selecciona la opción
“Recepción de Currículum” y lo graba.
Extend Etapa Concurso
7.-Sistema cambia la etapa del concurso a
“Recepción de Currículum”.
8.- Encargado selecciona opción Publicar concurso.
Extend Publicar Concurso
9.- El sistema cambia estado de publicación del
concurso a “publicado”.
10.- Opcionalmente encargado podrá consultar el
perfil del cargo. Extend Consultar Perfil del Cargo.

11.- Sistema retorna datos solicitados


12.- Opcionalmente encargado podrá rechazar un
concurso. Extend Rechazar Concurso.
13.- Sistema Cambia estado del concurso de
“pendiente” a Anulado.

Termina Proceso.
35

CU-301 Evaluar Currículum

Identificador CU-301
Nombre Caso de Uso Evaluar Currículum
Debe estar ingresado el concurso, el perfil, las
Precondición competencias y los datos de formación y experiencia
del candidato.
Actores Encargado de Admisión
El Encargado de Admisión inicia el proceso de
Descripción preselección de candidatos según los datos de
formación profesional.
Tipo Primario esencial
FLUJO NORMAL
Actores Sistema
1. El sistema presenta una lista de concursos en
estado vigente.
Include Revisar Concurso
2.-El encargado de admisión selecciona un
concurso para ver a los candidatos.
3.-El sistema muestra todos los candidatos
suscritos al concurso.
4.- El encargado de admisión selecciona la opción
Etapa Concurso y selecciona “Preselección”.
Extend Etapa Concurso.
5.- El sistema registra la etapa del concurso de
“Recepción Currículum” a “Preselección”.
6.-Encargado de admisión selecciona opción que
realiza proceso automático de preselección.
7.- El sistema con los datos de los Currículum de
los postulantes y los requisitos del perfil del cargo
procede a realizar la preselección de los
candidatos, y cambia estado del candidato de “en
espera” a “preseleccionado” o “en espera” a
“rechazado”.
8.- Opcionalmente el encargado de admisión podrá
notificar a los candidatos.
Extend Notificar Entrevista.

Termina Proceso.
36

CU-302 Notificar Entrevista

Identificador CU-302
Nombre Caso de Uso Notificar Entrevista
Se debe haber ejecutado proceso de preselección
Precondición
de los candidatos.
Actores Encargado de Admisión
Convocar a un candidato a una entrevista
Descripción
presencial o notificar que no fue preseleccionado.
Tipo Primario esencial
FLUJO NORMAL

Actores Sistema

1. El sistema presenta una lista de los candidatos


identificando quienes cumplieron la selección y
quienes fueron rechazados.
2.-El encargado de admisión debe ejecutar proceso
masivo de envío de correo para notificar a los
candidatos preseleccionados.
3. El sistema recuperará a aquellos candidatos que
registran el estado preseleccionado y les enviará
un mensaje de invitación para realizar las
entrevistas personales.
Sistema marca como “enviado” a los candidatos
que se les envió el correo.
4.-El encargado de admisión debe ejecutar proceso
masivo de envío de correo para notificar a los
candidatos rechazados.
5. El sistema recuperará a aquellos candidatos que
registran el estado rechazado y les enviará un
mensaje de agradeciendo su participación.
Sistema marca como “enviado” a los candidatos
que se les envió el correo.

Termina Proceso.
37

CU-401 Gestionar Entrevista

Identificador CU-401
Nombre Caso de Uso Gestionar Entrevista
Los candidatos deben estar identificados como
Precondición
preseleccionados.
Actores Encargado de Admisión
El Encargado de Admisión ingresará el resumen de
Descripción
las entrevistas realizadas a los candidatos.
Tipo Primario esencial
FLUJO NORMAL
Actores Sistema
1.- Sistema presenta listado de concurso vigentes
Include Revisar Concurso.
2.- Encargado admisión selecciona concurso.
3. El sistema presenta listado de los candidatos
preseleccionados del proceso anterior.
4.- El encargado de admisión selecciona la opción
Etapa Concurso y selecciona “Entrevistas”.
5.- El sistema registra la etapa del concurso de
“Preselección” a “Entrevistas”
6.- El encargado genera un informe por cada
preseleccionado con el detalle de las competencias
que se van a evaluar. Además, el informe crea
casillas para llenar el nivel de exigencia por casa
competencia.
Extend Informe Resumen Entrevistas
7.- El sistema imprime uno, varios o todos los
informes.
8.- Una vez realizadas las entrevistas en forma
personal por los especialistas, estos le harán llegar
al encargado de admisión el resumen de las
entrevistas realizadas a los preseleccionados,
basadas en el formulario entregado.
El encargado ingresa la competencia con su
respectiva valoración (elemental, aceptable,
superior).
Extend Ingresar Resumen de entrevista

9.- Sistemas graba la competencia con su


valoración para un candidato.
8.- Encargado puede ingresar otra competencia al
candidato, repitiendo el punto 6.

Termina Proceso.
38

CU-501 Cálculos y Resultados

Identificador CU-501
Nombre Caso de Uso Cálculos y Resultados
Los preseleccionados deben registrar la valoración
Precondición
de las competencias.
Actores Encargado de Admisión
El Encargado de Admisión inicia proceso de cálculo
Descripción y de evaluación de los candidatos
preseleccionados.
Tipo Primario esencial
FLUJO NORMAL
Actores Sistema
1. El sistema presenta una lista de concursos en
estado vigente.
Include Revisar Concurso
2.- Encargado admisión selecciona concurso.
3. El sistema presenta listado de los candidatos
preseleccionados.
4.- El encargado de admisión selecciona la opción
Etapa Concurso y selecciona “Evaluación”.
5.- El sistema registra la etapa del concurso de
“Entrevistas” a “Evaluación”.
6.-El encargado de admisión ejecuta proceso de
evaluación de competencias.
Extend Generar Resultados
7. El sistema realiza cálculo y refresca listado de
candidatos con el porcentaje de cumplimiento del
perfil del cargo. Extend Mostrar Ranking

8.-Encargado de admisión selecciona opción para


ver cumplimiento del perfil por cada
preseleccionado.

9.- El sistema muestra listado con detalle


competencias del preseleccionado.

Termina Proceso.
39

CU-601 Visar Resultados

Identificador CU-601
Nombre Caso de Uso Visar Resultados
Proceso de cálculo y evaluación ejecutado, ya que
Precondición con eso el sistema calcula porcentaje de
cumplimiento.
Actores Jefe de Admisión
El Jefe de Admisión da la aprobación de los
Descripción
resultados de selección del personal.
Tipo Primario esencial
FLUJO NORMAL
Actores Sistema
1. El sistema presenta una lista de concursos en
estado vigente.
Include Revisar Concurso
2.-El jefe departamento de admisión, revisa y
aprueba el ranking de seleccionados.
3. El sistema cambia etapa del concurso
“Evaluación” a “Aprobación Jefe Admisión”.

Termina Proceso.
40

CU-701 Ingresar Resultados Médicos

Identificador CU-701
Nombre Caso de Uso Ingresar Resultados Médicos
En esta etapa el concurso debe haber sido aprobado
Precondición por el Jefe del Departamento de Admisión.
Actores Encargado de Admisión
Encargado de admisión realiza ingreso de
Descripción resultados de los exámenes médicos de los
candidatos seleccionados
Tipo Primario esencial
FLUJO NORMAL
Actores Sistema
1. El sistema presenta una lista de concursos en
estado vigente.
Include Revisar Concurso
2.- Encargado de admisión selecciona el concurso.
3. El sistema muestra los candidatos en orden
descendente (Ranking).
4.- Encargado de admisión ingresa el examen
médico y una observación.
5.- Sistema graba información examen médico.

Termina Proceso.
41

CU-801 Seleccionar Candidato

Identificador CU-801
Nombre Caso de Uso Seleccionar Candidato
Precondición Candidato debe tener registrado el examen médico
Actores Jefe de Recursos Humanos
El jefe de RR.HH. selecciona al candidatos con
Descripción
mejor ranking.

Tipo Primario esencial

FLUJO NORMAL
Actores Sistema
1. El sistema presenta una lista de concursos en
estado vigente.
Include Revisar Concurso
2.-El jefe departamento de RR.HH, revisa y
selecciona a las personas que serán contratadas.
3.- Sistema cambia estado de candidato de
preseleccionado a seleccionado.
4.- Sistema cambia etapa de concurso de
“Aprobación Jefe” a “Aprobación Jefe RR.HH”.

Termina Proceso.
42

CU-901 Consultar Concursos

Identificador CU-901
Nombre Caso de Uso Consultar Concursos
Precondición
Actores Candidato
El candidato consulta los concursos vigentes e
ingresa su Currículum, con sus datos personales,
Descripción su experiencia laboral.

Tipo Primario esencial


FLUJO NORMAL
Actores Sistema
1. El sistema presenta una lista de concursos en
estado vigente en etapa “recepción Currículum”
Include Revisar Concurso
2.-El candidato se subcribe al concurso.
Include Subcribir a Concurso
3.- Sistema solicita los datos del candidato.
4.- El candidato ingresa los datos de su
Currículum:
- Ingresar datos personales del postulante
- Ingresar estudios realizados
- Ingresar áreas de experiencia
- Ingresar años de experiencia
- Ingresar pretensiones de sueldo
- Ingresar Posgrados
- Ingresar Título profesional
- Ingresar promedio nota estudios superiores
- Ingresar puntaje PSU
- Ingresar nota examen de grado

Sistema graba los datos y registra el estado del


candidato “En espera”

Termina Proceso.
43

CU-902 Suscribirse a Concurso

Identificador CU-902
Nombre Caso de Uso Suscribirse a Concurso
Precondición Elegir el concurso al cual desea postular el candidato.
Actores Candidato
Descripción El candidato se une a un proceso de selección.
Tipo Primario esencial
FLUJO NORMAL
Actores Sistema
1. El candidato accede al sistema a través de la
referencia indicada en la oferta de empleo.
2. El candidato ingresa su dirección de correo
electrónico.
3. Si la dirección de correo no estaba registrada
en el sistema solicitar nueva contraseña.
Si la dirección de correo estaba registrada en el
sistema solicitar contraseña.
4. Si la dirección de correo no estaba registrada
introducir nueva contraseña.
Si la dirección estaba registrada introducir
contraseña registrada.
5. El sistema valida la contraseña.
6. Si la contraseña es válida y el currículum del
candidato ya había sido ingresado previamente el
sistema muestra los datos personales del
candidato y de la oferta.

7. El candidato valida los datos y confirma su


suscripción a la oferta.
8. El sistema registra la candidatura y los datos
del candidato.

Termina Proceso.
44

CU-1000 Revisar Concurso

Identificador CU-1000
Nombre Caso de Uso Revisar Concursos
Precondición
Encargado de Admisión, Jefe Departamento, Jefe
Actores
de Admisión, Jefe Recursos Humados.
Los diferentes actores necesitaran ver los
Descripción concursos para entrar a las diferentes
funcionalidades.
Tipo Primario esencial
FLUJO NORMAL
Actores Sistema
1.-El Encargado de Admisión, Jefe Departamento,
Jefe de Admisión, Jefe Recursos Humados ingresan
a la funcionalidad que necesitan.
2.- Sistema según el usuario que se logueo, mostrará
la lista de concursos.
Si es Encargado de Admisión, Jefe de Admisión,
Jefe Recursos Humados verán todos los concursos.
Si es Jefe Departamento solo verá los concursos
que creó.

Termina Proceso.
45

3.7.7 Diagrama o Modelo de Dominio

El modelo de dominio se crea con el fin de representar el vocabulario y los conceptos claves
del dominio del problema. Además, identifica las relaciones entre todas las entidades y
puede ser complementado con otros puntos de vista dinámicos, como el modelo de casos
de uso.
El modelo de dominio del sistema Selección por Competencias contiene estos conceptos
representados en la figura 15.
46

1
1
1 1

1 1
*
1

Figura N°19 “Diagrama de Dominio"

4 ANÁLISIS DE FACTIBILIDAD

La factibilidad del proyecto determinará la infraestructura tecnológica y la capacidad técnica


que implica la implantación del Sistema Web “Selección por Competencias”; como también
los costos y beneficios que la propuesta generará en la Institución.

4.1 Factibilidad Técnica


47

La factibilidad Técnica evalúa dos enfoques que son muy importantes dentro de la
informática, los cuales son el Hardware y el Software.

4.1.1 Hardware

Dentro de las especificaciones de hardware se deben considerar los servidores y


computadoras donde se instalará el nuevo Sistema. Pero no se debe de dejar de considerar
otros tipos de equipamientos que son necesarios para el desarrollo de la aplicación.

Para permitir un buen funcionamiento del sistema, teniendo en cuenta la carga que suponen
los servicios y aplicaciones utilizadas, se requerirá de un Servidor Web y un Servidor de
Base de Datos.

Debido a que la institución dispone de toda una infraestructura que soporta actualmente las
aplicaciones en explotación, se aprovechará estos recursos para este desarrollo. Las
adquisiciones nuevas que se realizarán serán 5 equipos de escritorio para los usuarios más
importantes y un servidor web para soportar las peticiones solicitadas por los candidatos
que consultarán los concursos y que ingresarán sus datos personales, académicos y de
experiencia laboran.

Configuración mínima hardware para las máquinas de los 5 usuarios del sistema

Procesador Intel Core3 CPU 3.33 Ghz


Memoria RAM 2.00 GB
Disco 500
Interfaz de red Ethernet 100 Mbps
Configuración hardware mínima para Servidores Web
Procesador Intel® Xeon® E5-2609 v3 1,9 GHz, caché de 15 M
Memoria RAM 32 GB
Disco 2 discos de 1 TB cada uno
48

Cuadro N°5 “Configuración de Hardware usuario"

En relación con los servidores de base de datos y de respaldo, la institución ya


realizó una inversión para adquirir este equipamiento.

4.1.2 Software

Esta es una parte muy importante ya que con este software trabajaremos el sistema.
Se debe considerar tanto las configuraciones de los equipos de los usuarios, que trabajarán
con la aplicación, como la de las estaciones de los desarrolladores. Es necesario definir
todos los servicios y aplicaciones de los servidores que soportarán el sistema.

Configuración de las Máquinas de los usuarios del sistema


Sistema Operativo Windows 7.0 Profesional o superior
Cliente Base de Datos ORACLE
Navegador de Internet Firefox
Configuración de las Máquinas de los Desarrolladores
Sistema Operativo Windows 7.0 Profesional o superior
Cliente de Bases de Datos ORACLE
Herramienta de modelado software Start UML
IDE (entorno integrado de desarrollo) NetBeans 8.0.2
Configuración de Servidor Web
Sistema Operativo Linux Centos 7.0
Servidor de Correos OX
Servidor de directorio LPAD
Servidor de B.D. ORACLE
Servidor Web APACHE

Cuadro N°6 “Configuración de Software "

4.2 Factibilidad Económica

4.2.1 Cálculo de Punto de Casos de Usos Ajustados

Se trata de un método de estimación del tiempo de desarrollo de un proyecto mediante la


asignación de “pesos” a un cierto número de factores que lo afectan, para finalmente,
contabilizar el tiempo total estimado para el proyecto a partir de esos factores.

El primer paso para la estimación consiste en el cálculo de los Puntos de Casos de Uso sin
ajustar (UUCP). Este valor, se calcula a partir de la siguiente ecuación:
49

UUCP = UAW + UUCW

UAW: Factor de Peso de los Actores sin ajustar

UUCW: Factor de Peso de los Casos de Uso sin ajustar

Se deben considerar criterios los cuales tienen un peso o factor:

UUCW Pesos de los Casos de Uso sin Ajustar


Tipo de Caso de uso Descripción Peso (Factor)
Transacciones = 3 o menos
Simple Clases Menos de 5 5
Transacciones de 4 a 7
Medio Clases Menos de 5 a 10 10
Transacciones más de 7
Completo Clases Mas de 10 15

Cuadro N°7 “Pesos de Casos de Uso sin Ajustar "

Factor de Peso de los Casos de Uso sin ajustar (UUCW)

Este valor se calcula mediante un análisis de la cantidad de Casos de Usos presentes en


el sistema y la complejidad de cada uno de ellos. La complejidad de los Casos de Uso se
establece teniendo en cuenta la cantidad de transacciones efectuadas en el mismo, donde
una transacción se entiende como una secuencia de actividades atómica, es decir, se
efectúa la secuencia de actividades completa, o no se efectúa ninguna de las actividades
de la secuencia.

Factor de Peso de los Casos de Uso sin ajustar (UUCW)


CU Nombre Caso de Uso Peso
1 Solicitar Vacante 5
2 Gestionar Perfil del Cargo 15
3 Apertura Concurso 5
4 Consultar Perfil del Cargo 5
5 Evaluar Currículum 5
6 Notificar Entrevista 5
7 Gestionar Entrevista 5
50

8 Cálculos y Resultados 5
9 Consultar Ranking 5
10 Ingresar Resultados Médicos 5
11 Visar Resultados 5
12 Seleccionar Candidato 5
13 Generar Estadísticas 5
14 Consultar Concurso 5
15 Suscribirse a Concurso 5
16 Gestionar Currículum 10
17 Gestionar Referenciales 15
18 Gestionar Usuario 10
19 Revisar Concurso 5
Factores Basados en
Transacciones 125

Cuadro N°8 “Pesos de los Casos de Uso sin Ajustar "

Factor de Peso de los Actores sin ajustar (UAW)

Este valor se calcula mediante un análisis de la cantidad de Actores presentes en el sistema


y la complejidad de cada uno de ellos. La complejidad de los Actores se establece teniendo
en cuenta en primer lugar si se trata de una persona o de otro sistema, y, en segundo lugar,
la forma en la que el actor interactúa con el sistema. Los criterios que utilizados son:

Tipo de Peso
Actor Descripción (Factor)
Simple Un sistema con API definida 1
Un sistema de interacción a través de
Medio un Protocolo 2
Un usuario interactuando a través de
Complejo interfaz gráfica de usuario 3

Cuadro N°9 “Criterios Utilizados"

Factor de Peso de los Actores sin ajustar (UAW)


CU Rol
51

1 Candidato 3
2 Encargado de Admisión 3
3 Jefe de Departamento 3
4 Jefe de Admisión 3
5 Jefe de Recursos Humanos 3
6 Administrador 3
Total 18

Cuadro N°10 “Factor de Peso de los Actores sin ajustar"

Una vez que obtengamos Factor de Peso de los Actores sin ajustar (UAW) y Factor de Peso
de los Casos de Uso sin ajustar (UUCW), calcularemos Puntos de Casos de Uso sin ajustar
(UUCP).

UUCP UUCW + UAW


125 + 18
Total 143

Cuadro N°11 “Cálculo Puntos de Casos de Uso sin ajustar "

Con el total de Puntos de Casos de Uso sin ajustar (143) se debe ajustar este valor
mediante la siguiente ecuación:

UCP = UUCP x TCF x EF

UCP: Puntos de Casos de Uso ajustados UUCP: Puntos de Casos de Uso sin ajustar

TCF: Factor de complejidad técnica EF : Factor de ambiente

Factor de Complejidad Técnica (TCF)


52

Cuadro N°12 “Factor de Complejidad Técnica "

Factores Impacto Factor


Factores
Node Peso Técnicos
presente o sin influencia 0 Peso percibido calculado
T1 Sistema DistribuidoInfluencia incidental 1 2 0 0
T2 Influencia moderada 2
Objetivos de Desempeño o Tiempo
Influencia media de Respuesta 3 1 3 3
T3
Influencia significativa
Eficiencia Usuario Final 4
1 5 5
T4 Fuerte influencia 5
Procesamiento Interno Complejo 1 5 5
T5
Código Debe Ser Reusable 1 5 5
T6
Facilidad de Instalación 0,5 0 0
T7
Facilidad de Uso 0,5 5 2.5
T8
Portabilidad 2 3 6
T9
Facilidad de Cambio 1 3 3
T10
Concurrencia 1 3 3
T11
Incluye Características Especiales de Seguridad 1 5 5
T12
Provee Acceso Directo a Terceros 1 3 3
T13 Se Requieren Ayudas Especiales de
Entrenamiento de Usuarios 1 3 3
Factores Técnicos 41

Factor de Complejidad Técnica (TCF) 0,06 + (0,01*41) 0,47

Cuadro N°13 “Resultado Factores de Peso Técnicos "

Factor de Ambiente (EF)

Valor Experiencia/
Factores de Peso Ambientales del Equipo Número ponderado Estabilidad
F1 Familiaridad con un Proceso Definido (UML) 1,5 2 3

F2 Personal tiempo parcial -1 0 0

F3 Capacidad de Liderazgo de Analistas 0,5 5 2,5

F4 Experiencia en la aplicación 0,5 5 2,5


1 5 5
53

F5 Experiencia en orientación a objeto

F6 Motivación 1 5 5

F7 Dificultad del Lenguaje de Programación -1 0 0

F8 Requerimientos Estables 2 3 6
Factores Ambientales 24
EFactor 1,4 + (-0,03*24) 0,68

Cuadro N°14 “Factor de Ambiente"

UCP
UUCP * TCF * ECF 143 * 0,47* 0,68
Total UCP 47,7

Cuadro N°15 “Resultado Final Cálculo Puntos de uso"

Totales Horas Hombre


Total Horas UCP*PF = 47,7 * 20 914
Total Semanas (UCP*PF/40) 22,85
Total Meses (UCP*PF/40)/4 5,7
Aproximadamente 6 meses

Cuadro N°16 “Total de Horas Hombre"

4.2.2. Valorización del Proyecto

En esta sección valorizaremos todas las actividades involucradas en el desarrollo del proyecto y
que serán representadas en recuadro según valor hora hombre.

Valor Horas Hombre

Analista $ 25.000 p/hrs.


Programador $15.000 p/hrs.
Cuadro N°17 “Valorización Horas Hombre”
54

Duración Valor en Pesos Valor en Pesos


Nombre de tarea Horas
en días Analista Programador
Fase 1 Análisis del Problemas
Análisis de la necesidad 1 8 200.000
Identificación de Objetivos y
3 24 600.000
Requerimientos
Selección Metodología 1 8 200.000
Diseño Flujo Información 1 8 200.000
Planificación 1 8 200.000
Fase 2 Análisis de Requerimientos
Análisis de Factibilidad de Requerimientos 1 8 200.000
Especificación de Requerimientos 1 8 200.000
Análisis de Requerimientos 2 16 400.000
Descripción de los actores 1 8 200.000
Casos de Uso 5 40 1.000.000
Modelo de Domino 3 24 600.000
Priorización de Requerimientos 1 8 200.000
Fase 3 Diseño del Sistema
Diagrama de Clases 2 16 400.000
Diagramas de secuencia 2 16 400.000
Diagrama Estado 1 8 200.000
Diagrama Despliegue 1 8 200.000
Mapa de Navegación 2 16 400.000
Modelo Relacional 2 16 400.000
Fase 4 Planificación de Pruebas
Pruebas Unitarias 3 24 600.000
Pruebas de Integración 3 24 600.000
Prueba de Aceptación 3 24 600.000
Fase 5 Construcción Código Preliminar
Crear artefactos iniciales 2 16 400.000
Creación estilos web y maquetación 3 24 600.000
Creación de esquema de Base de Datos 2 16 400.000
Creación de script de Base de Datos 3 24 600.000
Fase 6 Construcción Código Sistema
Iteracion1
Solicitar Vacante 5 40 600.000
55

Gestionar Perfil del Cargo 11 88 1.320.000


Consultar Perfil del Cargo 3 24 360.000
Apertura Concurso 4 32 480.000
Revisar Concurso 2 16 240.000
Prototipo 1 1 8 120.000
Ajustes 2 16 240.000
Iteración 2
Consultar Concurso 3 24 360.000
Gestionar Currículum 8 64 960.000
Registrarse 6 48 720.000
Prototipo 2 1 8 120.000
Ajustes 2 16 240.000
Iteración 3
Evaluar Currículum 10 80 1.200.000
Notificar Entrevista 4 32 480.000
Prototipo 2 1 8 120.000
Ajustes 2 16 240.000
Iteración 4
Gestionar Entrevista 7 56 840.000
Cálculos y Resultados 7 56 840.000
Consulta Ranking 3 24 360.000
Prototipo 2 1 8 120.000
Ajustes 2 16 240.000
Iteración 5
Ingresar resultados Médicos 4 32 480.000
Visar Resultados 3 24 360.000
Seleccionar Candidato 3 24 360.000
Prototipo 2 1 8 120.000
Ajustes 2 16 240.000
Iteración 6
Generar Estadísticas 6 48 720.000
Mantención Referenciales 15 120 1.800.000
Gestionar Usuarios 10 80 1.200.000
Prototipo 2 1 8 120.000
Ajustes 2 16 240.000
Fase 7 Pruebas 6
Ingresar Datos de Prueba 3 24 360.000
56

Probar funcionamiento en desarrollo 3 24 360.000


Fase 8 Marcha Blanca 10
Implementación del Sistema Producción 3 24 360.000
Manuales 7 56 840.000
213 1584 $ 10.000.000,00 $ 17.760.000,00

Meses 9,9 $ 27.760.000,00

Cuadro N°18 “Valorización Actividades de Planificación”

Inversión en Tecnología
Equipamiento y Software Cantidad Valor Total ($)
Unitario
Servidor Web de Producción 1 3.129.355 3.129.355
Pc de escritorio para usuarios de la aplicación. 3 500.000 1.500.000
 Intel® Xeon® E5-2609 v3 1,9 GHz, caché de 15 M, 6,40 GT/s
Pc de escritorio para Desarrolladores 2 500.000 1.000.000
QPI, No Turbo, No HT, 6 C/6 T (85 W) mem. máx. 1600 MHz
Soporte y Mantenimiento de Ext. JS - Sencha 1 1.570.100 1.570.100
Soporte y Mantenimiento de Oracle 1 27.170.000 27.170.000
Licencia de Windows 10 5 139.990 700.000
Total 31.940.100

Cuadro N°19 “Resumen Costo Total del Proyecto”

Costo Total Proyecto


Horas Hombre $ 27.760.000
Equipamiento y Software 475 $ 31.940.100
25.000 475 Total $69. 700.100
15.000
Cuadro N°20 “Inversión Tecnológica”

5 DISEÑO

5.1 Arquitectura de Solución

En esta sección se explica el diseño a alto nivel y los paradigmas arquitectónicos usados
para presentar la arquitectura final.
57

5.1.1 Diseño de Arquitectura

En nuestro caso, vamos a desarrollar un sistema con una arquitectura cliente/servidor y una
interfaz Web de comunicación con los usuarios. El funcionamiento de las arquitecturas de
este tipo es sencillo: la aplicación se encuentra en un servidor central al que los usuarios
acceden a través de un software cliente, en nuestro caso, un navegador Web. Una vez que
ha accedido a la aplicación, el usuario realiza peticiones que el servidor tiene que atender
para generar una respuesta comprensible para el cliente

Para la implementación también se aplicará la arquitectura MVC.

Figura N°20 “Diseño de Arquitectura”

De manera genérica, los componentes de MVC se podrían definir como sigue:

 El Modelo: Es la representación de la información con la cual el sistema opera, por lo


tanto gestiona todos los accesos a dicha información, tanto consultas como
actualizaciones, implementando también los privilegios de acceso que se hayan
descrito en las especificaciones de la aplicación (lógica de negocio). Envía a la 'vista'
aquella parte de la información que en cada momento se le solicita para que sea
58

mostrada (típicamente a un usuario). Las peticiones de acceso o manipulación de


información llegan al 'modelo' a través del 'controlador'.

 El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca


peticiones al 'modelo' cuando se hace alguna solicitud sobre la información (por
ejemplo, editar un documento o un registro en una base de datos). También puede
enviar comandos a su 'vista' asociada si se solicita un cambio en la forma en que se
presenta el 'modelo' (por ejemplo, desplazamiento o scroll por un documento o por los
diferentes registros de una base de datos), por tanto se podría decir que el 'controlador'
hace de intermediario entre la 'vista' y el 'modelo'.

 La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato


adecuado para interactuar (usualmente la interfaz de usuario) por tanto requiere de
dicho 'modelo' la información que debe representar como salida.

5.1.2 Diagrama de Clases

Un diagrama de clases es una representación gráfica que sirve para presentar la estructura
de un sistema que será implementado utilizando un lenguaje orientado a objetos. En este
diagrama la principal entidad del sistema se representa en la figura 21:

*
59

Figura N°21 “Diagrama de Clase”

Área Todas y cada una de las diferentes áreas de negocio I especializaciones


de la empresa. (ej: Desarrollo, Bussiness Intelligence, Seguridad, etc. ).
60

Candidato Personas que se inscriben a una oferta de trabajo con la finalidad de


cubrir una vacante.
Cargo Posición y responsabilidad desempeñados por una persona dentro de
una empresa.
Competencia Habilidad o capacitación para un determinado tipo de trabajo o
herramienta.
Curriculum Resumen de la vida laboral y de las características formativas de un
candidato.
Evaluación Evaluación de los candidatos según sus competencias.

Experiencia Cada uno de los diferentes episodios de la vida laboral del curriculum
de un candidato.
Concurso Solicitud creada por un gerente en la que se da a conocer una vacante
y se enumeran los requisitos que deben reunir los candidatos que opten
a cubrirla.
Perfil Características que debe que debe satisfacer un determinado cargo.

Entrevista Características y habilidades recopiladas a través de una entrevista


personal a los candidatos.
Departamento El lugar donde se genera la solicitud de concurso por vacante.

Posgrado Estudios posteriores a la carrera.

Titulo carrera Profesión estudiada.

Centro de Lugar donde se realizó lo estudios o postgrados.


Estudio
Etapas Son las diferentes instancias por las cuales pasa el proceso de
selección.

5.1.3 Diagrama de Estado


61

Los Diagramas de estado identifican los estados o acciones por los que pasa un objeto para
realizar una acción específica o llegar a un objetivo, es decir describen el comportamiento
del objeto. En el sistema detallaremos los diagramas de estado del objeto Candidato y
Concurso.

Figura N°22 “Diagrama de estado de Candidato"

Estados

Espera Selección: Candidato se inscribe al concurso y está a la espera de notificación


para preseleccionarlo o rechazarlo.

Renuncia : El candidato decide renunciar y anula la inscripción

Descartado : El candidato es rechazado por no cumplir con requisitos básicos.

Preseleccionado : Candidato queda clasificada para las siguientes etapas.

Seleccionado : Candidato elegido para tomar el cargo.


62

Figura N°23 “Diagrama de estado de Concurso"

Pendiente: Concurso es solicitado y está en estado espera de aprobación.

Anulado : Concurso rechazado y cancelado

Vigente : Concurso aprobado y activo.

Cerrado : Concurso terminado.


63

5.1.4 Diagrama de Secuencia

Un diagrama de secuencias muestra la interacción de un conjunto de objetos de una


aplicación a través del tiempo, en el cual se indicarán los módulos o clases que formarán
parte del programa y las llamadas que se hacen cada uno de ellos para realizar una tarea
determinada, por esta razón permite observar la perspectiva cronológica de las
interacciones. Es importante recordar que el diagrama de secuencias se realiza a partir de
la descripción de un caso de uso.

Encargado
Admisión

Figura N°24 “Diagrama de Secuencia Apertura Concurso"


64

Candidato

Figura N°25 “Diagrama de Secuencia Gestionar Curriculum"


65

5.1.5 Diagrama de Componentes

El diagrama de componentes del Sistema Selcom, muestra los elementos de diseño del
sistema de software. Éste permite visualizar con más facilidad la estructura general del
sistema y el comportamiento del servicio que estos componentes proporcionan y utilizan a
través de las interfaces. Como el sistema tiene la arquitectura MVC, se dividió en 3
paquetes: Interfaz de Usuario, Lógica del Negocio y el Modelo. Interfaz de Usuario: Se
subdivide en Paquete Selección, Suscripción Concurso y Administración Usuario. Lógica
del Negocio: Se divide Paquete Controlador. Modelo: Se subdivide en Proceso Selección,
Subscripción Concurso y Administración. Este es el modelo de clases del sistema, descrito
en punto 5.1.

Figura N°26 “Diagrama de Componentes”


66

5.1.6 Diagrama Despliegue

Los diagramas de despliegue son los complementos de los diagramas de componentes


que, unidos, proveen la vista de implementación del sistema. Describen la topología del
sistema la estructura de los elementos de hardware y el software que ejecuta cada uno de
ellos. Los diagramas de despliegue representan a los nodos y sus relaciones. Los nodos
son conectados por asociaciones de comunicación tales como enlaces de red, conexiones
TCP/IP.
HTTP

TCP

Figura N°27 “Diagrama de Despliegue”


67

5.1.7 Diagrama Relacional

El modelo relacional constituye una alternativa para la organización y representación de la


información que se pretende almacenar en una base de datos. Se trata de un modelo teórico
matemático que, además de proporcionarnos los elementos básicos de modelado (las
relaciones), incluye un conjunto de operadores (definidos en forma de un álgebra relacional)
para su manipulación, sin ambigüedad posible.

Figura N°28 “Diagrama de Relacional”

El objetivo de esta fase de diseño es determinar la estructura que tienen cada uno de los
elementos de información del sistema, es decir, la estructura de los datos sobre los que se
va a trabajar.

La base de datos, además de contener la estructura para almacenar los datos, servirá de
apoyo para el cálculo a través de los procedimientos almacenados. (Ver Anexo A)

Tomando como base el Diagrama Relacional anterior, obtenemos un total de 23 tablas en


la base de datos. A continuación de detallarán las mas importantes para el proceso:
68

CANDIDATOS:

Campos Atributos Observaciones


run number(8) Identificador del candidato
dv_run varchar2(1) Dígito verificador del run
apellido_paterno varchar2(30) Apellido paterno del candidato
apellido_materno varchar2(30) Apellido Materno del candidato
primer_nombre varchar2(30) primer nombre del candidato
segundo_nombre varchar2(30) Segundo nombre del candidato
genero varchar2(1) Sexo del candidato Femenino o masculino
fono_fijo number(10) Teléfono de red fija
fono_celular number(8) Teléfono celular
email varchar2(100)Correo electrónico del candidato
fecha_nac date Fecha de nacimiento
Estado civil del candidato
estado_civil varchar2(1) C: casado S: soltero V:viudo D:divorciado U:Unión
Civil
direccion varchar2(100) Lugar donde vive el candidato
Estado del candidato
estado varchar2(1) I: inscrito P: preseleccionado R: rechazado
A: anulado S: seleccionado
Indicador que especifica si se le envió correo al
correo_enviado number(1)
candidato. 1: enviado 0:no enviado
nota_carrera number(1) Nota promedio de la carrera
nota_examen number(1) Nota del examen de grado
ptje_psu number(3) Puntaje examen PSU
cod_titulo_carrera number(5) Código de la carrera
fecha_inicio_carrera date Fecha en que inició la carrera el candidato
fecha_termino_carrera date Fecha en que terminó la carrera el candidato
anno_experiencia number(2) Cantidad de años de experiencia
Observaciones realizadas por el candidato para
referencias varchar2(300)
especificar sus referencias.

CANDIDATO_EXPERIENCIA
Campos Atributos Observaciones
cod_area number(5) Código de área de experiencia
run number(8) Identificador del candidato
fecha_inicio date Fecha en que inició el trabajo en el área
fecha_termino date Fecha en que terminó el trabajo en el área
lugar_trabajo varchar2(200) Detalle del lugar donde trabajó
69

CANDIDATO _POSGRADO
Campos Atributos Observaciones
cod_posgrado number(3) Código del postgrado
run number(8) Identificador del candidato
cod_centro_estudio number(3) Código del centro de estudios

PERFIL
Campos Atributos Observaciones
cod_perfil number(4) Codigo del perfil
cod_cargo number(4) Código cargo
descripcion Varchar2(100) Descripción del perfil
nota_min_carrera number(3,2) Nota mínima exigida de la carrera
nota_max_carrera number(3,2) Nota máxima exigida de la carrera
nota_min_examen number(3,2) Nota mínima exigida de el examen de grado
nota_max_examen number(3,2) Nota máxima exigida de el examen de grado
ptje_min_psu number(3,2) Puntaje mínimo exigido de la PSU
ptje_max_psu number(3,2) Puntaje máximo exigido de la PSU
min_experiencia number(3,2) Experiencia mínima laboral
max_experiencia number(3,2) Experiencia máxima laboral
Max_edad number(2) Edad máxima para el candidato

PERFIL_CENTRO_ESTUDIO
Campos Atributos Observaciones
cod_perfil number(4) Código del perfil
cod_centro_estudio number(3) Código del centro de estudios

PERFIL_COMPETENCIA
Campos Atributos Observaciones
cod_perfil number(4) Código del perfil

cod_competencia number(4) Código de Competencias

ponderacion number(2) Ponderación asignada a la competencia


70

PERFIL_EXPERIENCIA
Campos Atributos Observaciones
cod_perfil number(4) Código de Concurso
cod_area number(5) Código área

PERFIL_POSTGRADO
Campos Atributos Observaciones
cod_perfil number(4) Código de Concurso

cod_posgrado number(4) Código postgrado

PERFIL_TITULO
Campos Atributos Observaciones
cod_perfil number(4) Código del perfil
cod_titulo number(3) Código Titulo

CONCURSO
Campos Atributos Observaciones
cod_concurso number(4) Código del concurso
nombre varchar2(100) Nombre del concurso
fecha_inicio date Fecha en que comienza el proceso
fecha_termino date Fecha de cierre del proceso
Estado del concurso.P:pendiente V:vigente
estado varchar2(1)
A:anulado C:cerrado R:Rechazado
Etapas por las cuales pasa el proceso de
selección:
1: Recepción de Currículum
2: Preselección
cod_etapa number(2)
3: Entrevistas
4: Evaluación
5: Aprobación Jefe Admisión
6: Aprobación Jefe RR:HH”
cod_departamento number(4) Código del departamento que solicitó vacante
observaciones varchar2(500) Observaciones respecto al concurso
funciones varchar2(200) Funciones que debe realizar el cargo
vacantes number(3) Cantidad de vacantes
Indicador que especifica si concurso está
publicacion number(1)
publicado
cod_perfil Number(4) Código del perfil.
71

ENTREVISTA
Campos Atributos Observaciones
cod_concurso number(5) Código de Concurso
cod_competencia number(5) Código de Competencias
run number(8) Identificador del candidato
Código de valoración:
cod_valoracion number(2)
1:elemental, 2:aceptable, 3:superior

EVALUACION
Campos Atributos Observaciones
cod_concurso number(5) Código de Concurso

run number(8) Identificador del candidato


Sumatoria de la ponderación de valoración del
ponderacion decimal (3,3)
candidato
indicador decimal (3,3) Ponderación multiplicada con sumatorio general

porcentaje decimal (3,3) Indicador multiplicado por 100%


72

5.2 Diseño de Interfaz

La interfaz gráfica del usuario es la parte de la aplicación web ya terminada que permite al
usuario interaccionar con él. Las interfaces gráficas de usuario ofrecen al usuario ventanas,
cuadros de diálogo, barras de herramientas, botones, listas desplegables y muchos otros
elementos.
En esta sección se exponen los mockup para el diseño de la interfaz gráfica para la
implementación de la Capa de Presentación.

5.2.2 Estándar de Interfaz Gráfica

Todas las páginas del sistema seguirán el patrón gráfico mostrado a continuación:

Nombre Sistema Usuario Conectado


ENCABEZADO
Versión

MENU DEL SISTEMA

AREA PRINCIPAL DEL SISTEMA

PIE PÁGINA

Figura N°29 “Estándar Interfaz Gráfica”

Nombre de Sistema: Nombre completo del sistema.


Nombre de usuario: Durante la sesión activa se mostrará el usuario conectado en la parte
superior derecha.
Menú del Sistema: Contendrá la barra de menú desplegable.
Área Principal: Es la parte donde se desplegarán las funcionalidades del sistema.
73

5.2.3 Diseño Principales Interfaces

Módulo Proceso de Selección: Ingreso al sistema como Encargado de Admisión.

Figura 30 “Pantalla Ingreso Sistema”

Módulo Proceso de Selección: Menú del sistema como Encargado de Admisión.

Figura 31 “Pantalla Menú principal”


74

Pantalla de Solicitud de Concurso usada por jefe de algún departamento para abrir un
concurso.

Figura 32 “Pantalla Solicitud Concurso”

Pestaña de pantalla de Solicitud Concurso para ingresar un nuevo concurso.

Figura 33 “Pestaña Ingreso Concurso”


75

Pestaña de pantalla Solicitud Concurso para ingresar Detalle del Perfil.

Figura 34 “Pestaña Ingreso Detalle Perfil ”

Pestaña de Solicitud Concurso para ingresar Competencias del Perfil.

Figura 35 “Pestaña Ingreso Competencias”


76

Pantalla para realizar proceso de preselección automática de los candidatos según su


formación.

Figura 36 “Pantalla Preselección”

Pantalla para realizar el proceso de ingreso de los resultado de las entrevistas

Figura 37 “Pantalla Entrevistas”


77

Pestaña para ingresar resumen de las entrevistas según las competencias de los
candidatos.

Figura 38 “Pestaña Ingreso de Competencias”

Pantalla que realiza proceso de selección de los candidatos que cumplen el perfil del cargo.

Figura 39 “Pantalla Evaluación”


78

Pantalla que permite que los candidatos se suscriban al concurso, Módulo Suscripción
Concurso.

Figura 40 “Pantalla de Postulación”

Pantalla con lista de concursos disponible para postular.

Figura 41 “Pantalla de Concursos Disponible”


79

Pantalla de ingreso del curriculum del candidato.

Figura 42 “Pantalla Ingreso Curriculum”


80

5.2.4 Estructura sitio Web

Hay dos tipos de estructuras en cualquier sitio Web: Lógica y Física.

Lógica: Es la forma como se relacionan entre sí las páginas y define los vínculos entre
documentos. La estructura lógica de un sitio Web es más importante para el usuario que su
estructura física.

Figura 43 “Estructura Lógica sitio Web Proceso Selección”

Figura 44 “Estructura Lógica sitio Web Administración”


81

Figura 45 “Estructura Lógica sitio Web Suscripción Concurso”

Física: describe dónde se encuentra realmente los archivos, mostrando, por ejemplo, el
camino al directorio del documento en un servidor Web o su situación en una base de datos
(por ejemplo, \localhost\index.php).

Figura 46 “Estructura Física sitio Web”


82

6 Construcción

En esta sección se hace un resumen de las características de las principales tecnologías,


motores y frameworks empleados en la implementación como el lenguaje de programación,
librerías, motor de base de datos entre otros.

6.1 Framework de desarrollo Ext JS

Ext JS 4 es una biblioteca de JavaScript para el desarrollo de aplicaciones web interactivas


usando tecnologías como AJAX, DHTML y DOM. Fue desarrollada por Sencha.
Ext JS es un muy buen Framework que ofrece estándares reutilizables en el que todas las
funciones están plenamente organizadas y ha sido diseñado estratégicamente para ayudar
a la empresa a construir aplicaciones de manera más eficiente.
Ext JS 4 utiliza una arquitectura MVC que no sólo organiza el código, sino que también
reduce la cantidad de código que se debe escribir. A continuación, mostramos cómo se
define:
 Un modelo es una colección de campos y sus datos (por ejemplo, un modelo de
usuario con nombre de usuario y las contraseñas). Los Modelos persisten a través
del paquete de datos, y puede estar vinculado a otros modelos a través de
asociaciones. Los Modelos se utilizan normalmente con Stores para presentar los
datos en las grillas y otros componentes.
 Vista es cualquier tipo de componente – grids, trees and panels son todos ellos
vistas.
 Controladores son lugares especiales para poner todo el código que hace que la
aplicación funcione – ya sea el refrescar las vistas, creación de instancias de
Modelos, o cualquier otra lógica de aplicación.

Cargador
Al realizar una aplicación en ExtJS 4, ésta creará muchos nuevos archivos con las clases
personalizadas escritas en ellos. Para utilizar las clases se debe incluir los archivos
JavaScript en su index.html.
83

Sistema de clases
ExtJS 4 utiliza programación orientada a objetos introduciendo su propia forma de crear
instancias de clases.
Datos
ExtJS cuenta con un fuerte soporte para el trabajo con datos. Un potente paquete “Data”
con gran cantidad de clases.
Los datos pueden provenir de muchos lugares diferentes. Pueden ser codificados, proceder
de servidores, de un almacenamiento local (HTML5), de la sesión, etc
Los datos pueden estar en diferentes formatos: JSON, XML.
Tematización
Incorpora sus propias CSS, eso significa que vienen incluidos esquemas de tematización
definas lo que producirá resultados mucho más impresionantes.

Funcionalidades
Dispone de un conjunto de componentes (widgets) para incluir dentro de una aplicación
web, como:
 Cuadros y áreas de texto.
 Campos para fechas.
 Campos numéricos.
 Combos.
 Radiobuttons y checkboxes.
 Editor HTML.
 Elementos de datos (con modos de sólo lectura, datos ordenables, columnas que
se pueden bloquear y arrastrar, etc.).
 Árbol de datos.
 Pestañas.
 Barra de herramientas.
 Menús al estilo de Windows.
 Paneles divisibles en secciones.
 Sliders.
 Gráficos.
84

6.2 Lenguaje de programación PHP

PHP es un lenguaje de programación de uso general de script del lado del servidor
diseñado para el desarrollo web de contenido dinámico.
Fue uno de los primeros lenguajes de programación del lado del servidor que se podían
incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que
procese los datos. El código es interpretado por un servidor web con un módulo de
procesador de PHP que genera la página Web resultante.
PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos
que puede ser usada en aplicaciones gráficas independientes. PHP puede ser usado en la
mayoría de los servidores web al igual que en casi todos los sistemas operativos y
plataformas sin ningún costo.
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente
PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf;
sin embargo, la implementación principal de PHP es producida ahora por The PHP Group
y sirve como el estándar. Publicado bajo la PHP License, la Free Software Foundation
considera esta licencia como software libre.

6.3 IDE
El editor utilizado es NetBeans, el cual es un entorno de desarrollo integrado (IDE) que
permite editar diversos programas como java o php, compilarlos, ejecutarlos, depurarlos
para construir una aplicación.
EL IDE de Netbeans es gratuito y de código abierto para desarrolladores de software.
Tiene al alcance todas las herramientas necesarias para crear aplicaciones profesionales
para entornos de escritorio, empresa, web y móviles, ya sea en C/C++, Java, php e incluso
Rubí. El IDE ha sido desarrollado para distintas plataformas como Linux, MacOS X, Solaris
y también Windows.
La plataforma ofrece servicios comunes a las aplicaciones de escritorio, permitiéndole al
desarrollador enfocarse en la lógica específica de su aplicación.
85

6.4 Ajax
Ajax es una técnica de desarrollo web para crear aplicaciones interactivas, estas
aplicaciones se ejecutan del lado del cliente, es decir, en el navegador de los usuarios,
mientras se mantiene la conexión asíncrona con el servidor en segundo plano. De esta
forma el usuario puede contar con usabilidad, interactividad y velocidad, ya que el usuario
puede trabajar en la interfaz sin necesidad de actualizarla o recargarla.
Ajax es una tecnología asíncrona, teniendo en cuenta que la solitud para el servidor se hace
en segundo plano sin necesidad que la operación interfiera con la interfaz que el usuario
manipula. JavaScript es el lenguaje interpretado (scripting language) en el que normalmente
se efectúan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza
mediante XMLHttpRequest , objeto disponible en los navegadores actuales.
Para este caso no es necesario que el contenido asíncrono este con formato XML.

6.5 Base de Datos


La base de datos utilizada es Oracle. Oracle es una colección de datos manejada como
una unidad. El propósito general es almacenar y recuperar información relacionada.
Oracle es un sistema gestor de base de datos con característica objeto-relacionales, que
pertenece al modelo evolutivo de SGBD.
Sus características principales son las siguientes:

 Entorno cliente / servidor


 Gestión de grandes bases de datos.
 Usuarios concurrentes.
 Alto rendimiento en transacciones.
 Sistema de alta disponibilidad.
 Gestión de la seguridad.
 Compatibilidad.
 Contestabilidad

La base de datos es de gran importancia en el sistema, ya que se usarán los recursos


provistos por este motor para realizar los cálculos y proceso de selección de los candidatos,
a través de procedimientos almacenados y leguaje PL-SQL.
86

6.6 Servidor Web


El servidor web utilizado es Apache. Este servidor es desarrollado y mantenido por una
comunidad de usuarios bajo la supervisión de la Apache Software Foundation dentro del
proyecto HTTP Server (httpd).
El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas
Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el
protocolo HTTP/1.1 y la noción de sitio virtual.
Apache presenta entre otras características altamente configurables, bases de datos de
autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica
que ayude en su configuración.
87

7 Pruebas

En esta sección se detalla el procedimiento de pruebas durante la verificación y validación


del software, desde los tipos de pruebas seleccionados, así como la estrategia desarrollada.
El objetivo global de la estrategia de pruebas es demostrar el funcionamiento completo del
software a nivel de eficiencia de código y funcionalidad. En otras palabras, verificar la
interacción e integración de los componentes y validar la implementación de todos los
requerimientos de producto.

7.1 Pruebas Unitarias

Estas pruebas de software se dirigen a componentes menores como los módulos de un


sistema, probando los caminos de control importantes con el fin de descubrir errores dentro
de esta instancia. Es así como el equipo logrará identificar los defectos en fases tempranas
de codificación sin esperar la realización de pruebas integrales. Las técnicas consideradas
son:

Pruebas de Caja Negra: Estas pruebas se realizan sobre las interfaces gráficas buscando
comprobar la funcionalidad, comportamiento en la entrada y salida de datos así como la
integridad de la información enviada y recibida.

Pruebas de Caja Negra

Estas pruebas permiten obtener un conjunto de condiciones de entrada que ejerciten


completamente todos los requisitos funcionales de un programa. En ellas se ignora la
estructura de control, concentrándose en los requisitos funcionales del sistema y
ejercitándolos. Muchos autores consideran que estas pruebas permiten encontrar:

1. Funciones incorrectas o ausentes.


2. Errores de interfaz.
3. Errores en estructuras de datos o en accesos a las Bases de Datos externas.
4. Errores de rendimiento.
5. Errores de inicialización y terminación.

Para desarrollar la prueba de caja negra existen varias técnicas, entre ellas están:
88

1. Técnica de la Partición de Equivalencia: esta técnica divide el campo de entrada


en clases de datos que tienden a ejercitar determinadas funciones del software.
2. Técnica del Análisis de Valores Límites: esta Técnica prueba la habilidad del
programa para manejar datos que se encuentran en los límites aceptables.
3. Técnica de Causa-Efecto: es una técnica que permite al encargado de la prueba
validar complejos conjuntos de acciones y condiciones.

7.2 Pruebas Integración

Las Pruebas de integración son aquellas que se realizan en el ámbito del desarrollo de
software una vez que se han aprobado las pruebas unitarias y lo que prueban es que todos
los elementos unitarios que componen el software funcionan juntos correctamente
probándolos en grupo.

Se distinguen las siguientes estrategias de integración:

Integración Incremental. Este consiste en agregar uno por uno los modulo y probar su
funcionalidad, hasta estar integrado todo proyecto.
Integración descendente (top – Down). Es una estrategia de integración incremental a la
construcción de la estructura de programas, integrando los módulos en dirección hacia
abajo por la jerarquía de control comenzando con el módulo principal
Integración no incremental. Este consiste en probar cada módulo por separado y luego
al final unirlo con la prueba pertinente.
Integración ascendente (Bottom-Up). Se comienza por los módulos hoja (pruebas
unitarias), luego se combinan los módulos según la jerarquía y por último se repite en
niveles superiores.
89

7.3 Prueba de Aceptación

El test de aceptación es la última de las pruebas que debe atravesar una aplicación.
Una vez que ya se ha probado que cada módulo funciona bien por separado, que
la aplicación puede utilizarse bajo condiciones de operación extremas, que todos
los módulos se integran correctamente y que el software ofrezca las funciones
esperadas, llega el momento de escuchar la opinión del impulsor del proyecto: el
usuario final.

En el test de aceptación, el cliente prueba el software y verifica que cumpla con sus
expectativas. Como no tiene acceso a la implementación interna de la aplicación (a
menos que lo solicite expresamente), se dice que esta prueba es del tipo black box:
sólo se evalúan las entradas que se realizan sobre el software y las salidas que
produce, sin preocuparse por su comportamiento interno.
90

7.4 Análisis de Casos de Pruebas

Este ejemplo corresponde a la pantalla de ingreso de un concurso por algún jefe de


departamento. Se analizan los datos ingresados por el usuario y las clases validas e
inválidas. Luego con las clases definidas de consideran escenarios de posibles ingresos.

Análisis Clases de Equivalencia Solicitar Concurso


Ingresar Concurso
Clase Válida Clase Inválida
Nombre Curso<>nulo (1) Nombre Curso=nulo (16)
Nombre Curso<>blanco (2) Nombre Curso=blanco (17)
FecInicioCso. >= Fecha del Sistema (3) FecIniCso< Fecha del Sistema (18)

FecTerCso > Fecha del Sistema (4) FecTerCso<= Fecha del Sistema (19)
FecTerCso > FecIniCso (5) FecTerCso <FecIniCso (20)
Ingresar Perfil
0 < Nota Min. Carrera <= 7 (6) 7 < Nota Min. Carrera < 0 (21)
0 < Nota Max. Carrera <= 7 (7) 7 < Nota Max. Carrera < 0 (22)
0 < Nota Min. Examen <= 7 (8) 7 < Nota Min. Examen < 0 (23)
0 < Nota Max. Examen <= 7 (9) 7 < Nota Max. Examen < 0 (24)
150 <= Ptje. Min. PSU <= 850 (10) 900 < Ptje. Min. PSU <= 0 (25)
0 < Ptje. Max.PSU <= 900 (12) 900 < Ptje. Max. PSU <= 0 (26)
0 <= Año Min. Experiencia <= 15 (13) 15 < Año Min. Experiencia < 0 (27)
0 < Año Min. Experiencia <= 15 (14) 15< Año Max. Experiencia < 0 (28)
Ingresar Competencias
0 <= PorcComp<= 100 (15) PorcComp <0 (29)
PorcComp >100
Casos de Pruebas de Equivalencia Ingresar Concurso
Nro Valor entrada Resultado esperado Clases

1 Nombre Curso =’Concurso Ingeniero Sistema acepta valor (1)(2)


Comercial’
3 FecIniCso =01/09/2017 Sistema rechaza valor (19)
FecTerCso=01/08/2017
4 FecIniCso =01/08/2017 Sistema acepta valor (3)(4)(5)
FecTerCso=01/09/2017
5 Nota Min. Carrera= -2 Sistema rechaza valor (21)
6 Nota Max. Examen=10 Sistema rechaza valor (24)
7 Ptje. Min. PSU=600 Sistema acepta valor (10)
5 PorcComp=-1 Sistema rechaza valor (29)

Cuadro N°21” Análisis Clases de Equivalencia Solicitar Concurso”


91

8 CONCLUSIONES

El análisis del negocio deja como evidencia la importancia que existe en la actualidad
de la administración eficiente del recurso humano, el cual es relevante en la
consecución de los objetivos de la organización, donde la Selección por Competencia
está posicionándose como un modelo de gestión esencial para optimizar el valor del
capital humano.

Las dificultades encontradas y percibidas fue la resistencia al cambio y el miedo a las


nuevas tecnologías de los usuarios directos del sistema. Al contrario, la jefatura lo
percibe como un buen cambio para mejorar los procesos de la organización.

Respecto al análisis del sistema, el Lenguaje de Modelamiento Unificado ha sido


indispensable para la toma de requerimientos y la elaboración de un modelo de negocio
apropiado para el proyecto. Las técnicas de “Cálculo de Casos de Uso”, fue una
herramienta esencial para determinar el tiempo empleado para construir el software.
Esta técnica fue un aporte de conocimiento ya que como técnico se desconocía.

Se concluye que un proceso de automatización exitoso de la Selección por


Competencias del personal dependerá de:

 Una definición detallada y exacta de los perfiles de competencias por cada


cargo, llámese perfiles, a todas las habilidades funcionales y habilidades
conductuales que debe cumplir cada cargo de la organización.
 Definición de los grados de exigencia para cada perfil. (Elemental, Aceptable,
Superior).
 Una evaluación y definición exacta de las competencias individuales del
personal.
92

9 Bibliografía

1. Barrio M., Pedro (2013). Sistema de Selección de Personal Basado en Modelos de


Decisión Multicriterio. Escuela Politécnica Superior (Jaén). Disponible en:
http://sinbad2.ujaen.es/sites/default/files/publications/pfc_pedrobarrio.pdf.

2. Edwards, Ward; John Robert Newman (1982). Multiattribute evaluation. Sage.


California.

3. Fernández R Yenisleidy; Díaz G.Yanette(2012). Patrón Modelo-Vista-Controlador.


Revista Telem@tica. Vol. 11. No. 1, enero-abril, 2012, p. 47-57.

4. Largmann Craig (1992). UML y Patrones. Pearson Educación. 2da. Edicion.

5. Roger S. Pressman (2010), Ph.D. Un enfoque Práctico, Ingeniería del software.


7ma. Ed. McGraw-Hill.

6. Yoon, K. y C. Hwang (1995). Multiple Attribute Decision Making: An Introduction.


Sage, California.
93

ANEXO “A”
Ejemplos de Estructura y lenguaje utilizado.

Estructura de archivos

Las aplicaciones Ext JS 4 siguen una estructura de directorio unificado que es el mismo
para cada aplicación. En el diseño MVC, todas las clases se colocan en la carpeta app ,
que contiene a su vez sub-carpetas para generar el espacio de nombres de los modelos,
vistas, controladores y almacenes(stores).
Además para realizar las peticiones al servidor web y a la base de datos, utilizamos
las paginas php, contenidas en la carpeta appremoto y clases.

En este ejemplo, se encapsula toda la aplicación dentro de una carpeta llamada


‘PrincipalSelcom’. Los archivos Ext JS 4 SDK están incluidas en una carpeta superior del
servidor. Por lo tanto, el contenido de nuestro index.html es la siguiente:
94

<html>
<head>
<title></title>
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
</style>

<link rel="stylesheet" type="text/css" href="../extjs-4.1.0/resources/css/ext-all.css">


<link rel="stylesheet" href="resources/css/icons.css">
<script type="text/javascript" src="../extjs-4.1.0/ext-all-debug.js"></script>
<script type="text/javascript" src="../extjs-4.1.0/locale/ext-lang-es.js"></script>
<script type="text/javascript" src="app.js"></script>

</head>
<body style="background:#ffffff url('resources/images/SELCOM.jpg') top center no-repeat
fixed;">
<div id="header" style="background:#2E9AFE;color:#FFFFFF;height:50px;font-size:15px";>
<h1>{$titulo}</h1>
<h2>{$subtitulo}</h2>
</div>
</body>
</html>

Crear la aplicación en app.js

Cada aplicación Ext. JS 4 se inicia con una instancia de la clase Application . La instancia
de Application contiene la configuración global de su aplicación (por ejemplo, el nombre de
la aplicación), así como mantiene referencias a los controladores utilizados. Una aplicación
también contiene una función de lanzamiento, que se ejecuta automáticamente cuando todo
está cargado.
Ext.Loader.setConfig({enabled: true});
Ext.application({
name: AP,
controllers: [
'Controlador_selcom'
],
autoCreateViewport: true});

Hay algunas cosas que pasan aquí. En primer lugar, invoca Ext.application para crear una
nueva instancia de clase de aplicación, a la que pasamos el nombre de AP. También
95

proporciona una función de lanzamiento simple que sólo crea una Viewport que contiene
un único panel que se llenara la pantalla.

Ext.define(AP.view.Viewport', {
extend: 'Ext.Viewport',
layout: 'fit',

requires: [
AP.view.contato.Grid',
AP.view.contato.Formulario'
],

initComponent: function() {
var me = this;

Ext.apply(me, {
items: [
{
xtype: 'concursogrid'
}
]
});

me.callParent(arguments);
}
});

Definir un Controlador

Los controladores son como el pegamento que une todas las partes de la aplicación entre
si. Lo que realmente hacen es escuchar los eventos (por lo general de vistas);

Ext.define('AP.controller.Controlador_selcom', {
extend: 'Ext.app.Controller',
stores: ['Concursos'],
models: ['Concurso''],
views: ['contato.Grid'],
init: function() {
this.control({
'contatogrid button[action=add]': {
click: this.editarConcurso'}
});
},
editarContato: function(grid, record) {
var edit = Ext.create('ExtMVC.view.contato.Formulario').show();
96

if(record){
edit.down('form').loadRecord(record);
}
}});

Cuando cargamos nuestra aplicación visitando index.html dentro de un navegador, el


controlador 'Controlador_selcom' se carga automáticamente.
La función init es un buen lugar para establecer cómo el controlador interactúa con la vista,
y normalmente se utiliza en conjunto con otra función ‘control’. La función control hace que
sea fácil de escuchar a los eventos de las clases de sus vistas y realizar acciones con una
función de controlador.

Definir una Vista

Hasta ahora nuestra aplicación contiene dos archivos : app.js y Controlador_selcom.js.


Ahora agregaremos una grilla que muestre los concursos con el objeto Grid.js:

Ext.define('AP.view.seleccion.concurso.Grid' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.concursogrid',
requires: ['Ext.toolbar.Paging'],
iconCls: 'icon-grid',
title : 'Lista de Concursos',
store: 'Concursos', STORE
columns: [
{ header: "cod_concurso",flex:1,dataIndex: 'cod_concurso'},
{ header: "nombre",flex:1,dataIndex: 'nombre'},
{ header: "descripcion",flex:1,dataIndex: 'descripcion' },
{ header:'Fecha Inicio', dataIndex:'fecha_inicio', flex: 1},
{ header:'Fecha Termino', dataIndex:'fecha_termino', flex: 1},
{ header:'Etapa', dataIndex:'etapa', flex: 1}
],
initComponent: function() {

this.dockedItems = [{
xtype: 'toolbar',
items: [{text: 'Abrir Concurso',action: 'abrir'},
{text: 'Rechazar Concursos',action: 'Rechazar' },
{text: 'Cerrar Concurso',action: 'Cerrar'},
{text: 'Procesar Concurso',action: 'Procesar'}]
},
{ xtype: 'pagingtoolbar',
dock:'top',
store: 'Concursos',
97

displayInfo: true,
displayMsg: 'Mostrando Conursos {0} - {1} de {2}'
}];
this.callParent(arguments);
}});

A esta grilla debemos asociarle la estructura de la tabla Concurso de la Base de Datos y


para realizar esto crearemos otros dos objetos: un modelo y un store.

Definir un Modelo y un Almacén(Store)

El componente Grid.js referencia un store llamado “Concursos”

Ext.define('AP.view.contato.Grid' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.concursogrid',
requires: ['Ext.toolbar.Paging'],
iconCls: 'icon-grid',
title : 'Lista de Concursos',
store: 'Concursos',
...

Este es el código del Store:

Ext.define(AP.store. Concursos, {
extend: 'Ext.data.Store',
model: AP.model. Concurso, MODEL
autoLoad: true,
pageSize: 35,
autoLoad: {start: 0, limit: 35},

proxy: {
type: 'ajax',
api: {
read: 'php/listaConcursos.php',
},
extraParams:{id:'concurso'},
reader: {
type: 'json',
root: 'contatos',
successProperty: 'success'
},
writer: {
type: 'json',
writeAllFields: true,
98

encode: true,
root: 'contatos'
}
}
});
});

Mediante la inclusión de los Stores que hemos definido en nuestro controlador


Controlador_selcom estos son cargados automáticamente.
Tenemos una clase Ext.data.Model para definir la estructura que usará el store
Concursos.js.

Ext.define(AP.model. Concurso’, {
extend: 'Ext.data.Model',
fields: ['cod_concurso','nombre','descripcion','fecha_inicio','fecha_termino','etapa']
});

El controlador Controlador_selcom nos asegurá que el modelo Concurso es incluido en


la página y está disponible para nuestra aplicación;

Ext.define('AP.controller.Controlador_selcom', {
extend: 'Ext.app.Controller',
stores: ['Concursos'],
models: ['Concurso''],
views: ['contato.Grid'],
...
});

Dentro del store se realiza la llamada a una página PHP, la que hará la petición al servidor
web, para recuperar la información solicitada a la tabla concurso, realizando una conexión
a la Base de Datos. La instrucción del store : autoLoad: true, permite realizar la carga de
php appremoto.php.

Ext.define(AP.store. Concursos, {

proxy: {
type: 'ajax',
api: {
read: 'php/appremoto.php',
},
extraParams:{id:'concurso'},
99


});

Este appremoto.php , concentra todas las peticiones hechas hacia el servidor Web.

<?php
require_once '../config.php';
require_once $arPaths.'Database.php';

$dbh = Database::getInstance();
$id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null;
$codConcurso = isset($_REQUEST['codConcurso']) ?
$_REQUEST['codConcurso'] : null;

if ($id == 'concurso') {
require_once '../clases/Concurso.class.php';
$res = new Concurso();
$res->setAll=true;
$dat = $res->getConcursos();
}
echo json_encode(array(
"success" => mysql_errno() == 0,
"total" => count($dat),
"data" => $dat
));

Para seguir con el lineamiento de la creación de objetos, se crean clases en PHP, que
representan a los objetos del sistema, como Concursos, Candidatos, Entrevistas. En
nuestro caso se creó la clase Concurso.class.php', la cual es instanciada desde
appremoto.php.

require_once '../clases/Concurso.class.php';
$res = new Concurso();

Este es el código de la clase Concurso.class.php:

<?php

require_once '../config.php';
require_once $arPaths.'Database.php';

class Concurso {
public $error;
private $rowCount;
public $setAll;
private $modulo;
private $admin;
private $ip;
100

public function __construct() {


$this->setAll = false;
$this->admin = false;
$this->modulo = 'Cursos::';
}

public function __destruct() {


//echo "Default Constructor...\n";
}

public function getConcursos() {

$dbh = Database::getInstance();
$cuenta=null;

$sql = "select cod_concurso,


nombre,
d.descripcion,
fecha_inicio,
fecha_termino,
estado,
a.cod_etapa,
et.descripcion as etapa
from concurso a,departamentos d,etapas et
where a.cod_departamento=d.cod_departamento
and a.cod_etapa=et.cod_etapa ";
$parms = array($cuenta);
$sth = $dbh->prepare($sql);
$sth->execute($parms);

$res = $sth->fetchAll(PDO::FETCH_ASSOC);
return $res;

public function getError() {


return $this->error;
}

public function getCodConcurso() {


return $this->sede_id;
}
public function setCodConcurso($sede_id) {
$this->sede_id = $sede_id;
}
public function getRowCount() {
return $this->rowCount;
}
public function setRowCount($rowCount) {
$this->rowCount = $rowCount;
}

}
?>
101

Dentro de la clase Concursos.js se realizan los sql para recuperar los concursos.

El resultado de este código es el siguiente:

Procedimientos Almacenados

La aplicación utiliza procedimientos almacenados, con el objeto de aprovechar la


performance del Motor de Base de datos. Éstos son llamados desde páginas php, como
se muestra a continuación:

public function setPreseleccion($concurso) {


$dbh = Database::getInstance();
$RefCAllSp = $dbh->prepare("CALL sp_procesar_valoracion ($concurso)");
$RefCAllSp->execute();
return null; }

Este es el código del procedimientos sp_procesar_valoracion (), el cual realiza el


cálculo de ponderación de las competencias de los candidatos.

CREATE PROCEDURE `sp_procesar_valoracion`(IN `mi_variable` INT(1))


BEGIN
declare variable1 int(1);
declare pond decimal(6,3);
set variable1 = mi_variable;
102

DELETE FROM `evaluacion` WHERE cod_concurso=variable1;


UPDATE entrevista en
SET ponderacion= (SELECT pc.ponderacion
FROM perfil_competencia pc
where pc.cod_competencia=en.cod_competencia) *
(SELECT e.peso
FROM exigencia e
where e.cod_valoracion=en.cod_valoracion) )/100 )
where en.cod_concurso=variable1
and (select count(*)
from candidato c
where c.run=en.run
and c.estado ='A') = 0);
SELECT sum( ponderacion )
into pond
FROM `entrevista`
WHERE cod_concurso =variable1;

insert into `evaluacion`


SELECT cod_concurso, run, sum( ponderacion ) AS total_indicado,sum( ponderacion
)/pond,(sum( ponderacion )/pond)*100
FROM entrevista
WHERE cod_concurso =variable1
GROUP BY cod_concurso, run;
END

Vous aimerez peut-être aussi