Académique Documents
Professionnel Documents
Culture Documents
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 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.
Í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
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
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.
2 ANTECEDENTES GENERALES
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
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.
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:
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.
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
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 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.
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.
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
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
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.
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.
La alternativa i
La ponderación asignada al
criterio j
Valor Descripción
1 Elemental
2 Aceptable
3 Superior
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
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
Candidato / Total,
Competencia Ponderación Indicador Porcentaje
Candidato 3 2,3 0,396551724 40%
Total 100%
3.6 Objetivos
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
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.
Consultar los resultados finales del Proceso de Selección por Competencias para elegir
a la persona que cubrirá el cargo.
El Candidato requiere:
El Administrador requiere:
Administrar las cuentas del usuario y mantener el acceso al módulo del sistema.
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
Eficiencia
Seguridad
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
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:
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.
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.
Termina Proceso.
32
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.
Termina Proceso.
33
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
Termina Proceso.
34
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
Termina Proceso.
35
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
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
Termina Proceso.
37
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
Termina Proceso.
38
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
Termina Proceso.
39
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
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
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.
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
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.
Termina Proceso.
43
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.
Termina Proceso.
44
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
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
4 ANÁLISIS DE FACTIBILIDAD
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
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
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.
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
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
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
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
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).
Con el total de Puntos de Casos de Uso sin ajustar (143) se debe ajustar este valor
mediante la siguiente ecuación:
UCP: Puntos de Casos de Uso ajustados UUCP: Puntos de Casos de Uso sin ajustar
Valor Experiencia/
Factores de Peso Ambientales del Equipo Número ponderado Estabilidad
F1 Familiaridad con un Proceso Definido (UML) 1,5 2 3
F6 Motivación 1 5 5
F8 Requerimientos Estables 2 3 6
Factores Ambientales 24
EFactor 1,4 + (-0,03*24) 0,68
UCP
UUCP * TCF * ECF 143 * 0,47* 0,68
Total UCP 47,7
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.
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
5 DISEÑO
En esta sección se explica el diseño a alto nivel y los paradigmas arquitectónicos usados
para presentar la arquitectura final.
57
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
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
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.
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.
Estados
Encargado
Admisión
Candidato
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.
TCP
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)
CANDIDATOS:
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
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
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
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.
Todas las páginas del sistema seguirán el patrón gráfico mostrado a continuación:
PIE PÁGINA
Pantalla de Solicitud de Concurso usada por jefe de algún departamento para abrir un
concurso.
Pestaña para ingresar resumen de las entrevistas según las competencias de los
candidatos.
Pantalla que realiza proceso de selección de los candidatos que cumplen el perfil del cargo.
Pantalla que permite que los candidatos se suscriban al concurso, Módulo Suscripción
Concurso.
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.
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).
6 Construcció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
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.
7 Pruebas
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.
Para desarrollar la prueba de caja negra existen varias técnicas, entre ellas están:
88
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.
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
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
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
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.
9 Bibliografía
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.
<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>
</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>
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);
}
}});
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);
}});
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',
...
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'
}
}
});
});
Ext.define(AP.model. Concurso’, {
extend: 'Ext.data.Model',
fields: ['cod_concurso','nombre','descripcion','fecha_inicio','fecha_termino','etapa']
});
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();
<?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
$dbh = Database::getInstance();
$cuenta=null;
$res = $sth->fetchAll(PDO::FETCH_ASSOC);
return $res;
}
?>
101
Dentro de la clase Concursos.js se realizan los sql para recuperar los concursos.
Procedimientos Almacenados