PROTOTIPO WEB DE BOLSA DE EMPLEOS PARA LA...
Transcript of PROTOTIPO WEB DE BOLSA DE EMPLEOS PARA LA...
PROTOTIPO WEB DE BOLSA DE EMPLEOS PARA LA UNIVERSIDAD
DISTRITAL EN DISPOSITIVOS MÓVILES.
PROYECTO DE GRADO PARA OPTAR AL TITULO DE INGENIERA EN
TELEMATICA
TUTOR
MIGUEL ANGEL LEGUIZAMON PAEZ
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
FACULTAD TECNOLOGICA
INGENIERIA EN TELEMATICA
BOGOTA D.C.
2016
PROTOTIPO WEB DE BOLSA DE EMPLEOS PARA LA UNIVERSIDAD
DISTRITAL EN DISPOSITIVOS MÓVILES
PROYECTO DE GRADO PARA OPTAR AL TITULO DE INGENIERA EN
TELEMATICA
LOURDES JANETH TORO ORTIZ
CODIGO 20121378383
TUTOR
MIGUEL ANGEL LEGUIZAMON PAEZ
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
FACULTAD TECNOLOGICA
INGENIERIA EN TELEMATICA
BOGOTA D.C.
2016
Nota de aceptación
_______________________
_______________________
_______________________
_______________________
_______________________
Tutor
_______________________
Jurado
_______________________
Jurado
Bogotá D.C. enero de 2017
Dedico con orgullo este proyecto:
A mi familia que siempre ha estado a mi lado
con su apoyo incansable e incondicional
Dándome animo en todo momento.
A mi maravillosa madre Dolly, que desde el cielo me mira con amor.
A mis hermosos hijos Arturo, Estefanía, Sebastián y Jessica
y a Pedro que no permitió que me diera por vencida
en los peores momentos
Lourdes
AGRADECIMIENTOS
Agradezco a todas las personas que hicieron posible la realización de este proyecto, en especial
al Ingeniero Miguel Ángel Leguizamón, que me guio para el desarrollo y culminación de este
proceso.
6
TABLA DE CONTENIDO
Pág.
INTRODUCCION ............................................................................................................... 14
RESUMEN ........................................................................................................................... 16
ABSTRACT ......................................................................................................................... 17
1. FASE DE PLANEACION, DEFINICION Y ORGANIZACIÓN ........................... 18
1.1. TITULO .............................................................................................................................................. 18 1.2. TEMA ................................................................................................................................................. 18 1.3. OBJETIVOS ....................................................................................................................................... 18 1.3.1. Objetivo General ................................................................................................................................. 18 1.3.2. Objetivos Específicos .......................................................................................................................... 18 1.4. PLANTEAMIENTO DEL PROBLEMA ............................................................................................ 20 1.4.1. Descripción ......................................................................................................................................... 20 1.4.2. Formulación del problema .................................................................................................................. 21 1.5. JUSTIFICACION ............................................................................................................................... 22 1.6. ALCANCES........................................................................................................................................ 25 1.6.1. A Nivel Técnico ................................................................................................................................... 25 1.6.2. A Nivel Funcional ............................................................................................................................... 27 1.7. DELIMITACIONES ........................................................................................................................... 28 1.7.1. Técnica ................................................................................................................................................ 28 1.7.2. Temporal ............................................................................................................................................. 28 1.7.3. Geográfica .......................................................................................................................................... 29 1.8. MARCO DE REFERENCIA ............................................................................................................... 30 1.8.1. Marco Histórico .................................................................................................................................. 30 1.8.2. Marco Legal ........................................................................................................................................ 34 1.8.3. Marco Teórico ..................................................................................................................................... 36 1.8.3.1. Bolsas de Empleo ................................................................................................................................ 37 1.8.3.2. Computación en la Nube o Cloud Computing ..................................................................................... 38 1.8.3.3. Bases de Datos MySQL ....................................................................................................................... 39 1.8.3.4. PHP ..................................................................................................................................................... 40 1.8.3.5. Apache Tomcat .................................................................................................................................... 42 1.8.3.6. Suite Spring Tools ............................................................................................................................... 43 1.9. MARCO METODOLÓGICO ............................................................................................................. 47 1.9.1. PHVA Planificar- Hacer-Verificar-Actuar ......................................................................................... 47 1.9.1.1. Significado del Método ....................................................................................................................... 49 1.9.1.2. El Ciclo PHVA (Método Gerencial) .................................................................................................... 49 1.9.1.3. El Ciclo PHVA en el Mantenimiento y Mejoras .................................................................................. 50 1.9.1.4. El ciclo PHVA utilizado para Mantener Resultados ........................................................................... 54 1.9.1.5. El Ciclo PHVA Utilizado para Mejorar Resultados ........................................................................... 56 1.9.2. Metodología XP o eXtreme Programming .......................................................................................... 57 1.9.2.1. Fases de la Metodología Extreme Programing ó XP .......................................................................... 60 1.9.2.1.1. Fase I: Planificación del Proyecto. ........................................................................................... 61 1.9.2.1.1.1. Historias de Usuario: ................................................................................................................ 61 1.9.2.1.1.2. Plan de publicaciones (Release Planning): ............................................................................... 62 1.9.2.1.1.3. Iteraciones ................................................................................................................................. 62 1.9.2.1.1.4. Velocidad del Proyecto ............................................................................................................. 62
7
1.9.2.1.1.5. Programación en Parejas: ........................................................................................................ 63 1.9.2.1.1.6. Reuniones Diarias. .................................................................................................................... 63 1.9.2.1.2. Fase II: Diseño. ......................................................................................................................... 64 1.9.2.1.2.1. Diseños Simples: ....................................................................................................................... 64 1.9.2.1.2.2. Glosarios de Términos: ............................................................................................................. 64 1.9.2.1.2.3. Riesgos .................................................................................................................................... 64 1.9.2.1.2.4. Funcionabilidad Extra: ............................................................................................................. 65 1.9.2.1.2.5. Refactorizar: .............................................................................................................................. 65 1.9.2.1.3. Fase III: Codificación. .............................................................................................................. 65 1.9.2.1.4. Fase IV: Pruebas. ...................................................................................................................... 66 1.10. FACTIBILIDAD ................................................................................................................................. 68 1.10.1. Factibilidad Técnica. .......................................................................................................................... 68 1.10.2. Factibilidad Operativa ........................................................................................................................ 69 1.10.3. Factibilidad Económica ...................................................................................................................... 70 1.10.3.1. Recursos Físicos ................................................................................................................................. 70 1.10.3.2. Recursos de software........................................................................................................................... 70 1.10.3.3. Recursos de Humanos ......................................................................................................................... 71 1.10.3.4. Presupuesto ......................................................................................................................................... 71 1.10.4. Factibilidad Legal ............................................................................................................................... 72 1.11. Cronograma de Actividades ................................................................................................................ 73
2. FASE DE MODELAMIENTO DEL NEGOCIO .................................................... 74
2.1. SISTEMA JOBUD EN MYSQL WORKBENCH .................................................................................. 76 2.2. SISTEMA JOBUD EN MYSQL ........................................................................................................... 77 2.3. MODELO DE DOMINIO DEL SISTEMA JOBUD ............................................................................. 78 2.4. CICLO DE VIDA DEL SISTEMA ....................................................................................................... 78
2.4.1. Clases Proporcionadas para la Automatización en la Fase de Pruebas………………………………. 79
2.4.2. DESARROLLO DE LA METODOLOGÍA PHVA (PLANEAR, HACER, VERIFICAR Y ACTUAR) .................... 80
3. FASE DE ANALISIS, DISEÑO E IMPLEMENTACION ..................................... 88
3.1. GLOSARIO DE TÉRMINOS ............................................................................................................. 89 3.2. BASE Y MODELO DE DATOS ......................................................................................................... 91 3.3. MODELO ENTIDAD – RELACIÓN DEL SISTEMA JOBUD .......................................................... 92 3.4. PROCEDIMIENTOS ALMACENADOS ........................................................................................... 93 3.5. BACK-END ........................................................................................................................................ 94 3.6. FRONT-END ...................................................................................................................................... 98 3.7. ENCRIPTACIÓN DE LA CONTRASEÑA ...................................................................................... 100
4. PRUEBAS FUNCIONALES ................................................................................. 102
4.1. ANÁLISIS DE REQUISITOS (PLANIFICACIÓN)......................................................................... 102 4.2. DISEÑO DEL PLAN DE PRUEBAS (PREPARACIÓN)................................................................. 102 4.3. EJECUCIÓN ..................................................................................................................................... 103 4.4. GESTIÓN DE INCIDENCIAS (DEFECTOS) .................................................................................. 103 4.5. MANUALES .................................................................................................................................... 104 4.6. AUTOMÁTICAS .............................................................................................................................. 104
SUGERENCIAS Y RECOMENDACIONES ................................................................... 111
CONCLUSIONES ............................................................................................................. 112
ANEXOS ........................................................................................................................... 115
8
ANEXO 1 ........................................................................................................................... 116
ENCUESTAS ..................................................................................................................... 116
ENCUESTAS DE USUARIOS ......................................................................................... 119
1. RESULTADOS DE LA PRIMERA ENCUESTA REALIZADA....................................................................... 119 2. RESULTADOS DE LA SEGUNDA ENCUESTA ......................................................................................... 121 3. FORMULARIOS DE CADA UNA DE LAS ENCUESTAS ............................................................................. 129
ANEXO 2 ........................................................................................................................... 130
MANUAL DEL USUARIO APLICACIÓN MÓVIL: BOLSA DE EMPLEO DE LA UNIVERSIDAD
DISTRITAL FRANCISCO JOSÉ DE CALDAS JOBUD ............................................................................... 130
MANUAL DEL USUARIO ............................................................................................... 133
ANEXO 3 ........................................................................................................................... 144
MANUAL DEL DESARROLLADOR APLICACIÓN MÓVIL: BOLSA DE EMPLEO DE LA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS JOBUD ................................................... 144
MANUAL DEL DESARROLLADOR.............................................................................. 147
1. ARQUITECTURA DE LA APLICACIÓN ....................................................................................... 147 2. PROCEDIMIENTOS DEL PROYECTO .......................................................................................... 148 3. BACK-END ...................................................................................................................................... 149 4. FRONT END (APLICACIÓN MÓVIL) ........................................................................................... 150 5. REQUISITOS PARA LA INSTALACIÓN DEL BACK END ......................................................... 151 6. INSTALACIÓN (WINDOWS) ......................................................................................................... 151 6.1. Instalación de Java ........................................................................................................................... 151 6.2. Instalación de Tomcat ....................................................................................................................... 154 6.3. Instalación de .NET Framework 4 (En el caso que el equipo no lo tenga instalado) ...................... 159 6.4. Instalación de Visual C++ 2013 redistributable .............................................................................. 161 6.5. Instalación de MySQL Server y sus herramientas ............................................................................ 162 6.6. Instalación de BolsaEmpleoUDBackEnd.war .................................................................................. 171 7. CLASES DEL FRAME ..................................................................................................................... 174 8. CLASES DEL NOFRAME ............................................................................................................... 175 9. CÓMO SE ORGANIZA ESTE DOCUMENTO DE API .................................................................. 176 9.1. Overview ........................................................................................................................................... 176 9.2. Package ............................................................................................................................................. 176 9.3. Class/Interface .................................................................................................................................. 177 9.4. Annotation Type ................................................................................................................................ 177 9.5. Enum 178 9.6. Use 178 9.7. Tree (Class Hierarchy) ..................................................................................................................... 178 9.8. Deprecated Api ................................................................................................................................. 179 9.9. Index 179 9.10. Prev/Next ........................................................................................................................................... 179 9.11. Frames/No Frames............................................................................................................................ 179 9.12. All Classes ......................................................................................................................................... 180 9.13. Serialized Form ................................................................................................................................. 180 9.14. Constant Field Values ....................................................................................................................... 180 9.15. Los Packages..................................................................................................................................... 180 9.16. Overview-Summary ........................................................................................................................... 181
9
9.17. Los Overview-Tree ............................................................................................................................ 181 9.18. Class Hierarchy ................................................................................................................................ 181 9.19. Interface Hierarchy ........................................................................................................................... 183 10. ESTRUCTURA DEL BACK END ................................................................................................... 183 10.1. BackEndApplication ........................................................................................................................... 184 10.2. BackEndApplication Test ................................................................................................................... 185 10.3. EmptyJsonResponse .......................................................................................................................... 186 10.4. Hibernate Configure .......................................................................................................................... 186 10.5. JsonDate Serializer ............................................................................................................................ 188 10.6. Package-frame .................................................................................................................................. 189 10.7. Package-summary ............................................................................................................................. 190 10.8. Package-tree ..................................................................................................................................... 190 10.9. ServletInitializer ................................................................................................................................. 191 10.10. SimpleCORSFilter ............................................................................................................................. 192
10
LISTA DE TABLAS
Pág.
TABLA 1. PRINCIPALES BOLSAS DE TRABAJO EN COLOMBIA ............................................................................ 31 TABLA 2. EMPRESAS LÍDERES EN TRABAJO EN COLOMBIA ............................................................................... 33 TABLA 3. PERSONAL INVOLUCRADO EN EL PROYECTO ..................................................................................... 69 TABLA 4. RECURSOS FÍSICOS ............................................................................................................................. 70 TABLA 5. RECURSOS DE SOFTWARE REQUERIDOS PARA EL PROYECTO .......................................................... 70 TABLA 6. RECURSOS DE HUMANOS REQUERIDOS PARA EL PROYECTO ............................................................ 71 TABLA 7. PRESUPUESTO REQUERIDO PARA EL PROYECTO ............................................................................... 71 TABLA 8. EQUIPO DE TRABAJO .......................................................................................................................... 80 TABLA 9. FORMULACIÓN DEL PROBLEMA ........................................................................................................ 80 TABLA 10. EQUIPO DE TRABAJO ........................................................................................................................ 81 TABLA 11. PASO 1: PLANEAR ¿POR QUÉ? ......................................................................................................... 82 TABLA 12. PASO 1: PLANEAR: / PASO 2: HACER (PLAN DE ACCIONES) (¿CÓMO?) ........................................... 83 TABLA 13. PASO 3: VERIFICAR (PLAN DE ACCIONES) (¿CUANTO?) ................................................................... 84 TABLA 14. PASO 3: VERIFICAR TRACKING CHART (VALIDACIÓN) ...................................................................... 85 TABLA 15. PASO 3: VERIFICAR DATOS (VALIDACIÓN) ....................................................................................... 86 ANEXO 1 ......................................................................................................................................................... 114 TABLA 1. DATOS DE LA PRIMERA ENCUESTA REALIZADA EN ENERO DE 2016 ................................................ 118
11
LISTA DE GRÁFICAS
Pág.
FIGURA 1. MATRICULA TOTAL INSTITUCIONES SEGÚN NIVEL DE FORMACIÓN................................................ 36 FIGURA 2. TÍTULOS OTORGADOS DE EDUCACIÓN SUPERIOR POR NIVEL DE FORMACIÓN 2010-2014 ............ 37 FIGURA 3 DIAGRAMA DE LA COMPUTACIÓN EN LA NUBE ............................................................................... 39 FIGURA 4. ESTRUCTURA PHP ............................................................................................................................ 41 FIGURA 5. APLICACIÓN SPRING ......................................................................................................................... 44 FIGURA 6 IMPLEMENTACIÓN DEL CICLO PHVA ................................................................................................. 48 FIGURA 7 EL CICLO PHVA APLICADO A LOS PROCESOS ..................................................................................... 48 FIGURA 8. CICLO PHVA DE CONTROL DE PROCESOS ......................................................................................... 50 FIGURA 9. UTILIZACIÓN DEL CICLO PHVA PARA MANTENIMIENTO Y MEJORA DE LA DIRECTRIZ DEL CONTROL
DEL PROCESO ........................................................................................................................................... 51 FIGURA 10. DISTRIBUCIÓN DE LOS TRABAJOS DE MANTENIMIENTO, MEJORAMIENTO Y DESARROLLO EN LA
ESTRUCTURA JERÁRQUICA DE LA TOYOTA, SEGÚN ITOH ........................................................................ 52 FIGURA 11. CONCEPTO DE MEJORAMIENTO CONTINUO, BASADO EN LA CONJUGACIÓN DE LOS CICLOS PHVA
DE MANTENIMIENTO Y MEJORAS ........................................................................................................... 53 FIGURA 12. DETALLE DEL CICLO PHVA EN LOS CICLOS DE MANTENIMIENTO Y MEJORAS ............................... 56 FIGURA 13. CICLO PHVA PARA MEJORAS .......................................................................................................... 57 FIGURA 14. FASES DE LA METODOLOGÍA XP ..................................................................................................... 60 FIGURA 15. FASES DE LA METODOLOGÍA XP ..................................................................................................... 67 FIGURA 16. CRONOGRAMA DE ACTIVIDADES ................................................................................................... 73 FIGURA 17. SISTEMA JOBUD EN MYSQL WORKBENCH ..................................................................................... 76 FIGURA 18. SISTEMA JOBUD EN MYSQL ........................................................................................................... 77 FIGURA 19. MODELO DE DOMINIO JOBUD ....................................................................................................... 78 FIGURA 20. CICLO DE VIDA DE UN SISTEMA COMO JOBUD .............................................................................. 79 FIGURA 21. CLASES PROPORCIONADAS PARA LA AUTOMATIZACIÓN EN LA FASE DE PRUEBAS ...................... 79 FIGURA 22. DESARROLLO DE LA BASE DE DATOS DE JOBUD EN LA HERRAMIENTA WORKBENCH .................. 91 FIGURA 23. MODELO ENTIDAD – RELACIÓN EN WORKBENCH ........................................................................ 92 FIGURA 24. CLASES DEL PAQUETE MODEL ........................................................................................................ 96 FIGURA 25. RUTAS DE CONEXIÓN A LA BASE DE DATOS JOBUD....................................................................... 97 FIGURA 26. ARCHIVOS EN LA APLICACIÓN APACHE CORDOVA ........................................................................ 99 FIGURA 27. PROPIEDADES DE LA APLICACIÓN ................................................................................................ 106 FIGURA 28. PRUEBAS EN DIFERENTES DISPOSITIVOS ..................................................................................... 107 FIGURA 29. USO DE RECURSOS EN LOS DISPOSITIVOS ................................................................................... 108 FIGURA 30. USO DE LA BATERÍA EN LA APLICACIÓN ....................................................................................... 109 FIGURA 31. ERRORES DETALLADOS EN EL DISPOSITIVO ................................................................................. 110 FIGURA 32. PREGUNTA ¿HA USADO UNA BOLSA DE EMPLEOS? EN LA ENCUESTA 1. .................................... 121 FIGURA 33. PREGUNTA ¿HA USADO UNA BOLSA DE EMPLEOS? EN LA ENCUESTA 2. .................................... 122 FIGURA 34. PREGUNTA ¿SABE CÓMO FUNCIONAN? EN LA ENCUESTA 1. ...................................................... 122 FIGURA 35. PREGUNTA ¿SABE CÓMO FUNCIONAN? EN LA ENCUESTA 2. ...................................................... 122 FIGURA 36. PREGUNTA ¿LE GUSTA SU FUNCIONAMIENTO? EN LA ENCUESTA 1. .......................................... 123 FIGURA 37. PREGUNTA ¿LE GUSTA SU FUNCIONAMIENTO? EN LA ENCUESTA 2. .......................................... 123 FIGURA 38. PREGUNTA ¿CÓMO CREE QUÉ SE PUEDE MEJORAR? EN LA ENCUESTA 1................................... 124 FIGURA 39. PREGUNTA ¿CÓMO CREE QUÉ SE PUEDE MEJORAR? EN LA ENCUESTA 2................................... 125 FIGURA 40. PREGUNTA ¿LE GUSTARÍA RECIBIR NOTIFICACIONES, SI LA EMPRESA DESEA CONTRATARLO? EN
LA ENCUESTA 1. ..................................................................................................................................... 125
12
FIGURA 41. PREGUNTA ¿LE GUSTARÍA RECIBIR NOTIFICACIONES, SI LA EMPRESA DESEA CONTRATARLO? EN LA ENCUESTA 2. ..................................................................................................................................... 126
FIGURA 42. PREGUNTA ¿LE GUSTARÍA QUÉ ESAS NOTIFICACIONES LE LLEGARÁN A SU CELULAR O AL CORREO ELECTRÓNICO? EN LA ENCUESTA 1. ...................................................................................................... 126
FIGURA 43. PREGUNTA ¿LE GUSTARÍA QUÉ ESAS NOTIFICACIONES LE LLEGARÁN A SU CELULAR O AL CORREO ELECTRÓNICO? EN LA ENCUESTA 2. ...................................................................................................... 127
FIGURA 44. PREGUNTA ¿QUÉ REQUIERE UNA BOLSA DE EMPLEOS, PARA OPTIMIZAR SUS PROCESOS? EN LA ENCUESTA 1. .......................................................................................................................................... 127
FIGURA 45. PREGUNTA ¿QUÉ REQUIERE UNA BOLSA DE EMPLEOS, PARA OPTIMIZAR SUS PROCESOS? EN LA ENCUESTA 2. .......................................................................................................................................... 128
FIGURA 46. REQUISITOS DEL FRAMEWORK .................................................................................................... 135 FIGURA 47. PANTALLA INICIAL DEL APLICATIVO JOBUD ................................................................................. 136 FIGURA 48. FORMULARIO DE INGRESO DE DATOS BÁSICOS .......................................................................... 137 FIGURA 49. HOJA DE VIDA ............................................................................................................................... 138 FIGURA 50. LOGROS ACADÉMICOS ................................................................................................................ 139 FIGURA 51: ARCHIVO HOJA DE VIDA ............................................................................................................... 140 FIGURA 52. EXPERIENCIA LABORAL................................................................................................................. 141 FIGURA 53. OFERTAS DE EMPLEO ................................................................................................................... 142 FIGURA 54. EMPLEO OFERTADO ..................................................................................................................... 143 FIGURA 55. ARQUITECTURA DE LA APLICACIÓN ............................................................................................. 147 FIGURA 56. PANTALLA DE BIENVENIDA A LA INSTALACIÓN DE JAVA ............................................................. 152 FIGURA 57. UBICACIÓN PARA LA INSTALACIÓN JAVA ..................................................................................... 152 FIGURA 58.INSTALACIÓN EN LA CARPETA SELECCIONADA ............................................................................. 153 FIGURA 59. CONFIRMACIÓN DE LA INSTALACIÓN .......................................................................................... 153 FIGURA 60. INSTALACIÓN DE TOMCAT ........................................................................................................... 154 FIGURA 61. ACEPTACIÓN DE LA LICENCIA DE APACHE TOMCAT .................................................................... 155 FIGURA 62. SELECCIÓN DE INSTALACIÓN FULL DE APACHE TOMCAT ............................................................ 155 FIGURA 63. ASIGNACIÓN DE USUARIO Y CONTRASEÑA ................................................................................. 156 FIGURA 64. SELECCIÓN DE RUTA DE INSTALACIÓN DE APACHE TOMCAT ...................................................... 157 FIGURA 65. RUTA POR DEFECTO PARA INSTALACIÓN DE APACHE TOMCAT .................................................. 157 FIGURA 66. CONFIRMACIÓN DE INSTALACIÓN DE APACHE TOMCAT............................................................. 158 FIGURA 67. CUADRO DE CONFIGURACIÓN DE APACHE TOMCAT ................................................................... 158 FIGURA 68. CONTINUACIÓN DE CONFIGURACIÓN DE APACHE TOMCAT ....................................................... 159 FIGURA 69. INSTALACIÓN DE MICROSOFT .NET FRAMEWORK 4 .................................................................... 160 FIGURA 70. CONTINUACIÓN DE LA INSTALACIÓN DE MICROSOFT .NET FRAMEWORK .................................. 160 FIGURA 71. INSTALACIÓN DE MICROSOFT VISUAL C++ .................................................................................. 161 FIGURA 72. CONTINUACIÓN DE LA INSTALACIÓN DE MICROSOFT VISUAL C++ ............................................. 162 FIGURA 73. INSTALACIÓN DE MYSQL SERVER ................................................................................................. 162 FIGURA 74. CONTINUACIÓN DE LA INSTALACIÓN DE MYSQL SERVER ............................................................ 163 FIGURA 75. CONTINUACIÓN DE LA INSTALACIÓN DE MYSQL SERVER ............................................................ 163 FIGURA 76. INSTALACIÓN DE PAQUETES DE MYSQL SERVER ......................................................................... 164 FIGURA 77. POSIBLE FALLO EN PAQUETE DE INSTALACIÓN DE: MYSQL SERVER ........................................... 164 FIGURA 78. CONFIGURACIÓN DE LA INSTALACIÓN DE MYSQL SERVER .......................................................... 165 FIGURA 79. CONTINUACIÓN DE LA CONFIGURACIÓN DE MYSQL SERVER ...................................................... 166 FIGURA 80. COMPLEMENTOS DE LA CONFIGURACIÓN DE MYSQL SERVER .................................................... 166 FIGURA 81. CONFIGURACIÓN EN LA CONEXIÓN A INTERNET DE MYSQL SERVER .......................................... 167 FIGURA 82. INICIAR CON MYSQL WORKBENCH .............................................................................................. 168 FIGURA 83. CONFIGURACIÓN DE LA CONEXIÓN A MYSQL SERVER ................................................................ 168 FIGURA 84. MYSQL WORKBENCH ................................................................................................................... 169 FIGURA 85. CONFIGURACIÓN DE MYSQL WORKBENCH ................................................................................. 170
13
FIGURA 86. COMPLEMENTOS DE LA CONFIGURACIÓN DE MYSQL WORKBENCH .......................................... 170 FIGURA 87. CONFIGURACIÓN DEL PROYECTO CON APACHE TOMCAT ........................................................... 171 FIGURA 88. SELECCIÓN DE LOS ARCHIVOS DEL PROYECTO ............................................................................ 172 FIGURA 89. CONFIGURACIÓN DEL PROYECTO CON LA BASE DE DATOS ......................................................... 173 FIGURA 90. DISEÑO DEL PROYECTO JOBUD .................................................................................................... 173 FIGURA 91. ESTRUCTURA DEL BACK END ........................................................................................................ 183
14
INTRODUCCION
La Universidad Distrital como ente de educación pública, propende por entregarle al
país profesionales idóneos en las diferentes áreas del conocimiento que imparte, y que mejor
manera de evaluar sus procesos, que las empresas soliciten los servicios de sus estudiantes y
egresados, como que ellos sean contratados por las organizaciones más importantes del país.
Por ello es necesario tomar la información de los perfiles profesionales que son
requeridos por las organizaciones empresariales, confrontándola con las de los egresados de
la Universidad y con la de estudiantes con espacios para laborar, para ofertar o cubrir sus
requerimientos según sea el caso.
Ya que, al realizar este procedimiento totalmente sistematizado, la Universidad acorde
a las políticas sobre TIC’s, del Distrito Capital “Bogotá Digital” para construir espacios de
inclusión digital, está brindando a sus estudiantes y egresados, las herramientas tecnológicas,
que necesitan para empezar o mejorar su proyección laboral.
Además, este prototipo permitirá al usuario y a las empresas contratantes, tener una
oferta permanente de oportunidades laborales y así beneficiar a los ex alumnos y estudiantes
actuales, así como, también a las empresas del medio que busquen preferentemente a nuestros
egresados.
15
Entre los beneficios de esta plataforma virtual es la creación y manejo de una base de
datos siempre actualizada y conectada con sus estudiantes y ex alumnos, facilitando la
comunicación entre la institución y los mismos. Se espera generar una comunicación rápida
y eficiente en línea con las empresas que solicitan sus servicios a la Institución.
El espectro de alternativas será bastante amplio, ya que no sólo se difundirán las ofertas
que cualquier empresa o institución busque, sino las que específicamente busquen
profesionales de la Universidad Distrital, permitiéndoles publicar sus ofertas directamente a
través del sitio. Se publicarán desde ofertas de medio tiempo, programas de aprendizaje,
ofertas laborales y trabajos eventuales.
La utilización del sistema será muy sencilla, a través del aplicativo Bolsa de Empleos
de la Universidad Distrital, se podrá acceder a los empleos ofertados, además se publicarán
las ofertas laborales y los usuarios podrán cargar en forma gratuita su hoja de vida. Las
compañías también podrán acceder al sitio y publicar sus ofertas de trabajo, realizando una
búsqueda más efectiva, entregándole de esta forma a los usuarios más y mejores
oportunidades laborales.
16
RESUMEN
La aplicación de Bolsa de Empleos de la Universidad Distrital Francisco José de Caldas
JOBUD brindara a estudiantes, egresados y empresas la oportunidad de ofertar y aplicar a
empleos especializados, según las carreras que ofrece la Universidad.
En el documento se explica la fase de planeación, definición y organización del
proyecto, también se realiza la fase del modelado del negocio, se diseña la aplicación
JOBUD (Bolsa de Empleos de la Universidad Distrital) y se realizan las pruebas funcionales
del sistema que nos permiten corroborar, que la aplicación, cumple con los requerimientos y
necesidades de los usuarios. Se instala en un servidor provisional de Amazon. De esta manera
el acceso a la aplicación, será rápido, confiable y efectivo. Permitiendo a los usuarios, una
interacción directa con la aplicación y con sus funcionalidades.
La información almacenada en la base de datos se puede consultar en tiempo real,
JOBUD además permite recibir y enviar notificaciones, al aplicar a una oferta o al publicar
por parte de la empresa, una nueva opción de trabajo. Este proceso es innovador y brinda al
usuario una excelente interacción con la aplicación, optimizando su tiempo y recursos.
La aplicación JOBUD está diseñado e implementado en el framework Spring Tools
que utiliza tecnologías estándar en aplicaciones JavaEE. Permite la inyección de
dependencias o el uso de objetos convencionales (POJOs) como objetos de negocio, logrando
un desarrollo más sencillo, rápido y unas aplicaciones más ligeras.1 Spring utiliza el
paradigma de Desarrollo Web MVC (Modelo, Vista, Controlador) que garantiza calidad en
el desarrollo del Sistema, haciéndolo robusto, flexible y amigable para el usuario final,
garantiza altos niveles de seguridad y facilidad en la administración de los recursos,
optimizando el desarrollo de aplicaciones online.
Esta desarrollado en PHP, compatible con MySQL, que es la base de datos utilizada
en la aplicación. Se utiliza la Metodología ciclo de mejora continua PHVA “Planificar-
Hacer-Verificar-Actuar” Y para el desarrollo del software, la metodología a utilizar es
eXtreme Programming, por ser la metodología acorde a nuestras necesidades, permitiendo
alcanzar en los tiempos requeridos, las metas propuestas.
1 Gutiérrez Faraoni F.J. Grado en Ingeniería del Software. Desarrollo de una Aplicación Web con Spring. Framework para un Gestor de
un Recetario. Pdf. 2015.
17
ABSTRACT
The employment exchange application of the Universidad Distrital Francisco José de
Caldas JOBUD will provide students, graduates and companies the opportunity to bid for
and apply to skilled jobs, according to the careers offered by the University. The aplication
is hosted on a server in Amazon, where it can be downloaded, to install it directly on
smartphones or tablets. In this way, the Access to the aplication, it will be fast, reliable
and effective.
The document explains the planning phase, definition and organization of the project,
is also the phase of the modeling of the business, you design your application JOBUD (Bag
of jobs of the District University) and functional testing of the system that allow corroborate,
that the aplication, complies with the requirements and needs of the users. Allowing users, a
direct interaction with the application and its features.
The information stored in the database can be viewed in real time, JOBUD also allows
you to receive and send notifications to apply to an offer or publish on the part of the company
a new option. This process is innovative and provides the user with an excellent interaction
with the application, optimizing your time and resources. The application JOBUD is designed
and implemented in the Spring framework that uses industry standard technologies JavaEE
applications. Allows the injection of dependencies or the use of conventional Objects
(POJOs) as business objects, achieving a development easier, faster and lighter applications.
Spring uses the paradigm of development Web MVC (Model, View, Controller) that
ensures quality in the development of the system, making it robust, flexible and user-friendly
for the end-user, which guarantees high levels of security and ease in the administration of
the resources, optimizing the development of online applications. It is developed in PHP,
MySQL, which is the database used in the aplication.
Using the methodology the cycle of continuous improvement PHVA "Schedule - Do -
Check -Act" and for the development of the software, the methodology to be used is eXtreme
Programaming, for being the methodology according to our needs, allowing to reach in the
time required, the proposed goals.
18
1. FASE DE PLANEACION, DEFINICION Y ORGANIZACIÓN
1.1. TITULO
Prototipo Web de Bolsa de Empleos para la Universidad Distrital en Dispositivos Móviles.
1.2. TEMA
Uso de las telecomunicaciones como parte fundamental de la Telemática, como apoyo en
los procesos relacionados con las Bolsas de Empleos.
1.3. OBJETIVOS
1.3.1. Objetivo General
Desarrollar un prototipo de Bolsa de Empleos en ambiente Web para la Universidad
Distrital en Dispositivos Móviles, para ofertar empleos.
1.3.2. Objetivos Específicos
Realizar el levantamiento de información, para obtener los requerimientos del
sistema.
Desarrollar una herramienta que permita hacer consulta y actualizaciones vía web,
implementando motores de búsqueda.
19
Verificar que la información de los diferentes perfiles se pueda cotejar y suministrar
a los usuarios que la requieran.
Diseñar una aplicación que permita realizar consultas por medio de dispositivos
móviles.
Realizar pruebas funcionales del sistema, para comprobar que cumple con los
requerimientos y necesidades de los usuarios.
20
1.4. PLANTEAMIENTO DEL PROBLEMA
1.4.1. Descripción
El mundo laboral en Colombia ofrece constantes retos que le exigen tanto a estudiantes
como a egresados, de las Universidades ya sean públicas o privadas su inserción al trabajo,
no solo por el carácter académico de lo aprendido, sino por el valor agregado de la práctica.
En instituciones educativas ya sean de índole técnico, tecnológico o universitario; se viene
gestando diversos procesos sobre todo lo relacionado con sus egresados, para que al final de
su ciclo educativo sean ubicados según su experticia, en empleos calificados y de esta
manera, se muestre ya la solidez de la educación recibida.
Por ello instituciones como el SENA (Servicio Nacional de Aprendizaje), realizan
aplicativos robustos donde entidades distritales o nacionales además de empresas públicas o
privadas pueden crear sus perfiles y solicitar al aplicativo el personal que requieren. También
permiten a los interesados en conseguir empleos, crear sus propios perfiles y acceder a la
información de los cargos u oficios ofertados.
Grandes empresas del sector privado, crean aplicativos de bolsas de empleos, para brindar,
no solo en Colombia, sino en el resto del mundo, un servicio altamente solicitado y necesario
a todo nivel, ya que ofrecen una puerta al empleo rápida y eficiente.
21
La Universidad Distrital Francisco José de Caldas viene llevando similares procesos por
medio de Bienestar Universitario con su Portal de Empleo, donde se ofrecen diversos cargos
y pueden acceder a ellos cualquier persona sea o no de la Universidad Distrital; además desde
las coordinaciones de carrera también se ofertan los empleos que empresas o entidades
solicitan a la Universidad. Pero estos procesos son aislados y no tienen la solidez operativa
que requieren los egresados y los estudiantes de la Universidad, y a su vez el Distrito Capital.
1.4.2. Formulación del problema
¿De qué manera se puede aportar en el proceso de informar y administrar la información
de los miembros de la comunidad de la Universidad Distrital, sobre ofertas laborales, de
manera rápida y eficiente?
22
1.5. JUSTIFICACION
La Universidad Distrital, aunque con más de 60 años de historia, no se publicita, como
otras Universidades Colombianas (Universidades de los Andes, Externado, Católica,
Javeriana, etc.) al igual que el portal de Bienestar Universitario, por esto sus estudiantes y
principalmente egresados, deben conseguir sus propios empleos. La Universidad viene
trabajando en proyectos interesantes de investigación, automatización y similares, como los
siguientes:
“Diseño e implementación de un ratón USB, destinado a personas que tienen algún
tipo de discapacidad en alguno de sus cuatro miembros, con especial utilidad para
aquellos que sufren de tetraplejia”.2
“El comportamiento dinámico de planeación e implementación de tecnología genera
un efecto en la transformación, calidad, asignación de recursos, inventarios y
trazabilidad de una cadena de suministros frutícola”.3
“Modelo de test-bed de simulación y evaluación de criptografía de curva elíptica en
redes de IPV6 de próxima generación”.4
“Análisis de procesamiento de los datos de entrada para un localizador de fallas en
sistema de distribución”.5
2 Giovanny Rodrigo, Bermúdez Bohórquez. Informe de Gestión Centro de Investigaciones y Desarrollo
Científico CIDC. Informe 2011. Universidad Distrital Francisco José de Caldas 3 Ibit. 4 Ibit. 5 Ibit.
23
“Inspección de calidad para un sistema de producción industrial basado en el
procesamiento de imágenes”.6
Aún con todo esto, que es una pequeña muestra de los proyectos realizados en la
Universidad y que la última feria interinstitucional de movilidad académica, mostro que
contamos con más de 150 convenios con universidades internacionales, en Colombia no se
ha logrado el suficiente reconocimiento de la labor de la Universidad Distrital.
Por ello el Prototipo de una Bolsa de Empleos para la Universidad Distrital, sería un canal
permanente de visibilidad de los egresados y estudiantes, no solo en el ámbito nacional, sino
en el ámbito internacional. Y esta articulación con el sector productivo, hace necesario que
las entidades, de los diversos sectores económicos, trabajen junto a los entes educativos de
nivel superior, para aprovechar los conocimientos y el aporte de los jóvenes al desarrollo del
país.
Tener personal altamente calificado, beneficia a las industrias y al sector productivo del
país, pues se tiene a la mano, gente deseosa de innovar y con el conocimiento para manejar
nuevas tecnologías, disminuyendo costos para las empresas, que pueden tomar decisiones
importantes, basados en criterios más amplios.
6 Giovanny Rodrigo, Bermúdez Bohórquez. Informe de Gestión Centro de Investigaciones y Desarrollo
Científico CIDC. Informe 2011. Universidad Distrital Francisco José de Caldas
24
Cuando se realizan los procesos para llenar vacantes en las empresas, no siempre se
consigue el personal con el perfil idóneo, con una Bolsa de Empleos directamente ofertando
los perfiles de estudiantes y egresados de la Universidad Distrital, se accederá a los
requerimientos que determinadas empresas solicitan.
Junto con la oficina de egresados, se apoyaría mejor a los egresados, por ser un motor
fundamental que mueva la Universidad desde la academia a la extensión, articulándose con
los sectores productivos, trayendo bienestar social a los participantes de estos procesos. Los
27.000 estudiantes y casi un millar de egresados de la Universidad, se beneficiarán de este
proyecto, asimismo del reconocimiento para la Universidad en el ámbito profesional y
académico.
Por ello se requiere estandarizar y sistematizar las hojas de vida de estudiantes y
egresados, generando un prototipo que haga cruce con esta información y la de las empresas,
para satisfacer sus requerimientos. Creando procesos que cubran estas necesidades y brinden
a sus usuarios de forma ágil, eficiente y efectiva, la información solicitada.
Con el uso extensivo de los dispositivos móviles (Celulares y Tablets), la tecnología para
transmitir información, viene cambiando, transformándose para adaptarse a los nuevos
requerimientos. El Prototipo Web de Bolsa de Empleos, debe permitir la intercomunicación
de la información, de forma transparente para los usuarios.
25
1.6. ALCANCES
1.6.1. A Nivel Técnico
El prototipo de software se desarrollará para ser visualizados en sistemas operativos Linux
o Windows y el análisis, diseño e implementación de la base de datos se hará en MySQL,
por ser un sistema de bases de datos relacional, libre o sea con licenciamiento de código
abierto específicamente es necesario licenciamiento GPL y es además la base de datos que
utiliza la Universidad, por ello no presentará problemas de incompatibilidad.
Se utilizará el framework llamado Spring Tools Suite, Spring es un framework alternativo
al stack de tecnologías estándar en aplicaciones JavaEE. Utiliza la inyección de dependencias
o el uso de objetos convencionales (POJOs) como objetos de negocio, permitiendo un
desarrollo más sencillo y rápido y unas aplicaciones más ligeras. Maneja los campos de Big
Data/NoSQL, HTML5/móviles y aplicaciones sociales. Spring utiliza un conjunto de
librerías portables entre servidores.7
La suite Spring Tools soporta la orientación de aplicaciones a servidores locales, virtuales
y basados en la nube. Está libremente disponible para el desarrollo y las operaciones de
negocio internas sin límites de tiempo, totalmente open-source y licenciado bajo términos de
la licencia pública de Eclipse.8
7 Wholesite Spring Tools. Pdf. Departamento de Ciencia de la computación e IA. 2012-2013. Pag 4 y 5. 8 Ibit. pag 4 y 5.
26
El desarrollo se realizará bajo el lenguaje PHP, es un lenguaje de programación de uso
general de script, del lado del servidor, originalmente diseñado para el desarrollo
Web de contenido dinámico. 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 y
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.9
Para el servidor Web, se utilizará la plataforma Xtreem Host que posee entre sus
características, a sus 5500 Mbps de espacio en disco, 200 Gbps de transferencia mensual, 4
Mbps de tamaño límite por archivo, 50 bases de datos MySQL, phpMyAdmin 3.2.5, 50
subdominios. Es uno de los hosting más completos que hay en el mercado.
Para darle mayores utilidades al aplicativo este debe poderse utilizar con la tecnología
móvil, en ella se viene utilizando GSM (Global System for Mobile Communication) o
Sistema global para las comunicaciones móviles, que es un sistema de telefonía móvil digital.
GSM junto con otras tecnologías son parte de la evolución de las telecomunicaciones móviles
inalámbricas que incluye HSCSD (High-Speed Circuit-Switched Data), General Packet
Radio System (GPRS), Enhanced Data GSM Environment (EDGE), y Universal Mobile
Telecommunications Service (UMTS).10 Estas tecnologías permiten mantener a los usuarios
interconectados de forma rápida y eficiente.
9 AJPD Soft. Generador Formularios PHP. Tomado del sitio Web http://www.ajpdsoft.com/modules.php?
name=Encyclopedia&op=content&tid=767. Fecha: Diciembre 15 de 2016. Hora: 4:44 am 10 Telefonía Móvil y Redes de Datos. Fernández López Antonio, González López Daniel, Rubio Lara Alberto.
2002. Tomado de la página Web: http://www.uhu.es/fernando.gomez/transydat_archivos/Movil.PDF. Fecha:
Diciembre 12 de 2016. Hora: 4:40 am.
27
1.6.2. A Nivel Funcional
El alcance del proyecto de “Prototipo Web de Bolsa de Empleos para la Universidad
Distrital en Dispositivos Móviles”, serán los estudiantes de la Universidad y sus egresados,
además de los usuarios empresas, en primera instancia las que tengan convenios con la
Universidad, después se ampliara a todo tipo de empresas, instituciones u organismos
nacionales o internacionales, interesados en contratar personal que accederán al sistema, una
vez creen su respectivo perfil.
En este prototipo se desarrollarán los siguientes módulos:
Un módulo que permita hacer consulta y actualizaciones vía web, implementando
motores de búsqueda. Los usuarios podrán subir su hoja de vida y modificarla.
Un módulo que permita gestionar modelos de actualización, para que la información
de los diferentes perfiles sea cotejada y suministrada a los usuarios que la requieran.
De esta manera, los datos registrados serán enviados a las empresas o a los usuarios
estudiantes o egresados, según la información por ellos ingresada.
28
1.7. DELIMITACIONES
1.7.1. Técnica
El Prototipo de Bolsa de Empleos al estar soportado en el hosting Xtreem Host permite
un margen de utilización amplio para almacenar la base de datos. La aplicación se alojará en
la tienda de Android, donde podrá descargarse gratuitamente.
Al realizar la base de datos en MySQL, se aprovecha una base de datos compatible con la
utilizada por la Universidad, y debe estar completamente integrada con la suite Spring Tools
que soporta la orientación de aplicaciones a servidores locales, virtuales y basados en la
nube. Que permite utilizar todas sus potencialidades.
Al transferir información entre dispositivos móviles se debe utilizar los últimos protocolos
de seguridad, que mejoran muchas características tanto de manejo y protección de la
información como de seguridad de la misma, para evitar cualquier fuga de información, ya
que no todas las redes inalámbricas, tienen contraseña de seguridad.
1.7.2. Temporal
El tiempo estimado para la realización de este proyecto, es de 22 meses, tomándolo a partir
del 30 de abril de 2015, hasta el 28 de febrero de 2017.
29
1.7.3. Geográfica
Como la Universidad Distrital tiene sus sedes en Bogotá, departamento de Cundinamarca,
Colombia; el proyecto de Prototipo Web de Bolsa de Empleos para la Universidad Distrital
en Dispositivos Móviles; estará delimitado en esta ciudad, pero con acceso por medio de la
Internet y telefonía celular, a cualquier lugar de Colombia o del mundo, permitiendo el acceso
ilimitado a los usuarios estudiantes, usuarios egresados y usuarios empresas.
30
1.8. MARCO DE REFERENCIA
1.8.1. Marco Histórico
La Universidad Distrital por su carácter público, dirigido a educar a las clases más
desfavorecidas del Distrito Capital y de la región central de Colombia. Ha encaminado sus
esfuerzos a educar personas altamente capacitadas en el ámbito académico, que se proyecten
al país de forma productiva, y que ejerzan un liderazgo social, que impulse al país en sectores
técnicos, tecnológicos, científicos e investigativos, en diferentes áreas del saber.
Su misión se concreta en la cualificación de personas con capacidad de actuar como
protagonistas del cambio social y de sí mismo, en la formación del espíritu científico aplicado
a la indagación, interpretación y modificación de la realidad y en la contribución a forjar
ciudadanos idóneos para promover el progreso de la sociedad.11
Las Bolsas de Empleos en Colombia, nacen de la necesidad que tienen las personas en
conseguir empleos y a su vez de las empresas en llenar las vacantes necesarias, para lograr
sus objetivos. En esa medida muchas empresas optaron por publicar ofertas de empleos
directamente, en sus páginas Web, como una forma de solucionar directamente sus
necesidades de personal.
11 Tomado de la página Web de la Universidad Distrital. 2016. https://www.udistrital.edu.co/novedades/
particularNews.php?idNovedad=6363&Type=N Fecha: Noviembre 25 de 2016. Hora: 8:24 pm.
31
Nacieron diversas Bolsas de Empleos, imitando a empresas internacionales fuertes en el
ámbito laboral, que tienen ya un manejo adecuado a los perfiles de aspirantes y empresas. De
esta forma nace la necesidad de organizar el marco jurídico en Colombia, que reglamento el
no cobro de sus servicios (publicar su curriculum, acceder a ofertas de empleo, etc.), y de
cómo cobrar o no a las empresas, que requieran sus servicios.
Muchas universidades en el mundo ofertan a sus egresados mediante Bolsas de Empleos,
por ejemplo, la Universidad Autónoma de Sinaloa con su Escuela de Ingeniería Mochis, tiene
conformada una Bolsa de Empleos, pero no con los recursos tecnológicos de este prototipo,
ya que todos los procesos los realizan de forma semi automática. En Colombia Universia
apoyándose en www.trabajando.com, que es una entidad internacional de Bolsa de Empleos,
además de otras universidades, que ofrecen servicios de Bolsas de Empleos para sus
egresados.
Tabla 1. Principales Bolsas de Trabajo en Colombia
Bolsas de Trabajo Generales y Especializadas
CompuTrabajo
CARACTERISTICAS: Bolsa de trabajo en general
POSTULANTES: Ingrese gratis su CV
El Empleo
CARACTERISTICAS: Bolsas de trabajo general
POSTULANTES: Ingrese gratis su CV.
Paquete VIP desde 40 USD (por año)
Puesto
DETALLES: Ofertas de trabajo para las
distintas ciudades del país, agrupadas en
diversas subcategorías que facilitan la búsqueda.
POSTULANTE: Postúlese, contacte a los
anunciantes y añada su currículum gratis.
32
EMPLEADORES AVISOS:
Gratis: Publicar avisos es gratis
Pagos: Avisos destacados y acceso
ilimitado a a base de datos desde 100 USD
(por 3 meses)
Trabajar
CARACTERISTICAS: Publica listados de ofertas y pedidos recientes, al estilo de
clasificados
POSTULANTES: Ingrese gratis su CV
EMPLEADORES AVISOS:
Gratis: Publicar avisos es gratis
EMPLEADORES AVISOS:
Gratis: En los Clasificados
Pagos: Desde $170 (por 30 días)
Trabajando
DETALLES: Sección de bolsa de trabajo para estudiantes
POSTULANTE: Ingrese gratis su
Currículum
EMPLEADOR AVISOS:
Gratis: Publicar avisos es gratis
EMPLEADOR AVISOS: Añadir un aviso
clasificado de empleo es gratis y no
requiere registro.
Empleos
DETALLES: Bolsa de trabajo en general
POSTULANTE: Ingrese gratis su
Currículum
EMPLEADOR AVISOS:
Gratis: Publicar avisos es gratis
Empleate
CARACTERISTICAS: Ofertas para trabajos en el exterior
POSTULANTES: Ingrese gratis su CV
EMPLEADORES AVISOS:
Gratis: Publicar avisos es gratis (por un
mes)
Empleos
CARACTERISTICAS: Ofertas para trabajos en el exterior
POSTULANTES: Ingrese gratis su CV
EMPLEADORES AVISOS:
Pagos: U$50 (por 30 días)
Miembros: Desde U$25 (mensual)
El acceso a la base de CV es pago
Manpower
CARACTERISTICAS: Ofertas para
trabajos en el exterior
POSTULANTES: Ingrese gratis su CV
EMPLEADORES AVISOS:
33
Opción Empleo
DETALLES: Bolsa de empleo en general
POSTULANTE: Ingrese gratis su
Currículum
EMPLEADOR AVISOS: El precio por
listar sus empleos en Opción empleo es $
50 neto por click
Empleox
DETALLES: Bolsa de empleo en general
POSTULANTE: Ingrese gratis su
Currículum
EMPLEADOR AVISOS: Publicar avisos
es gratis
Fuente http://www.altillo.com/trabajo/trabajo_col.asp
A continuación, se muestra un listado de las mejores empresas para trabajar en Colombia
según “The grate place to work”
Tabla 2. Empresas Líderes en Trabajo en Colombia
1 Hocol S.A.
194 Puestos de Trabajo Rubro: Manufactura y Producción
14 Construcciones El Cóndor S.A.
828 Puestos de Trabajo Rubro: Construcción y Bienes Raíces
2 Colombiana Kimberly Colpapel S.A.
3386 Puestos de Trabajo
Rubro: Industrial - Pulpa de madera, papel y productos de papel
15 Promigas S.A.
403 Puestos de Trabajo
3 Industria Colombiana del Café S.A.S. - Colcafé
603 Puestos de Trabajo
Rubro: Industrial - Productos alimenticios
16 Productos Roche S.A.
452 Puestos de Trabajo
Rubro: Biotecnología y Farmacia - Farmacéutica
4 Telefónica Móviles Colombia S.A.
2063 Puestos de Trabajo
Rubro: Telecomunicaciones
17 Henkel Colombiana S.A.
1027 Puestos de Trabajo
Rubro: Servicios Industriales
5 Edatel S.A. E.S.P.
987 Puestos de Trabajo Rubro: Telecomunicaciones
18 Belcorp
3072 Puestos de Trabajo Rubro: Industrial - Productos personales y para el hogar
6 Branch of Microsoft Colombia Inc. 195 Puestos de Trabajo
Rubro: Ciencias de la Información - Software
19 Grupo Éxito S.A. 36719 Puestos de Trabajo
Rubro: Retail
7 Janssen Cilag S.A.
109 Puestos de Trabajo
Rubro: Biotecnología y Farmacia - Farmacia
20 Productos Alimenticios Doria S.A.S.
808 Puestos de Trabajo
Rubro: Industrial - Productos alimenticios
34
8 Aseguradora Solidaria de Colombia S.A.
670 Puestos de Trabajo
Rubro: Servicios Financieros y Seguros
21 EPS y Medicina Prepagada Suramericana – EPS
Sura 924 Puestos de Trabajo
Rubro: Salud - Servicios
9 Novartis de Colombia S.A.
650 Puestos de Trabajo Rubro: Biotecnología y Farmacia
22 Andiasistencia S.A.
392 Puestos de Trabajo Rubro: Servicios profesionales
10 Telefónica Telecom S.A. 3299 Puestos de Trabajo
Rubro: Telecomunicaciones
23 Directv Colombia Ltda. 966 Puestos de Trabajo
Rubro: Medios - Televisión/Cine/Video
11 Arcos Dorados Colombia S.A. - McDonald´s Colombia
2472 Puestos de Trabajo
Rubro: Hospitalidad - Servicios alimenticios
24 Astra Zenenca Colombia S.A.
217 Puestos de Trabajo
Rubro: Biotecnología y Farmacia - Farmacéutica
12 Yanbal de Colombia S.A.
1280 Puestos de Trabajo
Rubro: Industrial - Productos personales y para el hogar
25 Nestlé Purina Petcare de Colombia S.A.
138 Puestos de Trabajo
Rubro: Industrial - Productos alimenticios
13 Seguros de Riesgos Profesionales Suramericana S.A.
601 Puestos de Trabajo
Rubro: Servicios de Finanzas y Seguros
Fuente: www.thegrateplacetowork.com
1.8.2. Marco Legal
El marco legal que permite el funcionamiento de las Bolsas de Empleo en Colombia son
la Ley 1233 de 2008, el Decreto 4588 de 2006 y el Decreto 3115 del 30 de diciembre del 97.
Debido a las leyes y decretos que rigen las Bolsas de Empleo, donde no se les permite cobrar,
por conseguirles empleo a sus usuarios y con el fin de que su trabajo sea lucrativo, las bolsas
de empleo podrán cobrar a los usuarios empresa, una comisión hasta del 20 por ciento sobre
el salario básico que el empleado devengará. Sin embargo, el Ministerio de Trabajo aclara,
que este porcentaje nunca se deberá descontar al trabajador de sueldo.
El decreto 0722 de 2013 del Ministerio de Trabajo, por el cual se reglamenta la prestación
del Servicio Público de Empleo, se conforma la red de operadores del Servicio Público de
Empleo y se reglamenta la actividad de intermediación laboral, mediante las Bolsas de
35
Empleos. Junto al decreto 2852 de 2013, por el cual se reglamenta el Servicio Público de
Empleo y el régimen de prestaciones del Mecanismo de Protección al Cesante, creado por la
Ley 1636 de 2013, específicamente en los componentes relacionados al Empleo, la
capacitación para la inserción laboral prestaciones económicas de seguridad social
relacionados con el Empleo, la capacitación para la inserción laboral prestaciones
económicas de seguridad social.12
Según un estudio realizado por el Sistema de Información del Observatorio Laboral, en
1997, existían 68 bolsas de empleo en el país, de estas sólo 23 estaban en regla, 29 no existían
en las direcciones autorizadas y 14 estaban por sancionar. Así mismo fueron detectadas 16
de estas empresas de carácter pirata.13
Actualmente existen 445 empresas de empleo temporal, el ministerio de Trabajo ha
realizado visitas a 278 de ellas, de las cuales 223 cumplen con todos los requisitos de
funcionamiento. Respecto a las empresas que ofrecen servicios temporales, se expidió el
decreto 0024 del 6 de enero del 98, mediante el cual las mismas deben reconocer los servicios
de seguridad social a los trabajadores en misión, están obligadas a actualizar la cuantía de la
póliza de garantía y deben solicitar permiso a Ministerio de Trabajo para abrir sucursales.14
12 Decreto 2852 de 2013. Artículo legal. Diciembre 6 de 2013. 13 Bolsas de Empleo, no todo está permitido. Artículo de Periódico El Tiempo. Nullvalue. Mayo 4 de 1997. 14 Casa Editorial El Tiempo. Artículo de Periódico. Octubre 31 de 2013
36
1.8.3. Marco Teórico
En Colombia las universidades ofrecen diferentes alternativas para que los futuros
egresados, conozcan la realidad laboral del país, se preparen para enfrentarla y estén al tanto
de las posibilidades que tienen para conseguir su primer empleo. 637 municipios del territorio
nacional poseían al menos un matriculado en programas de educación superior, lo que
representa cerca del 57% del total de municipios, distribuidos en todos los departamentos de
Colombia. En Bogotá por ejemplo, están matriculados el 32% de los estudiantes en educación
superior, en Antioquia el 13.8%, en el Valle del Cauca 7.5%, en Atlántico el 5.8% y en
Santander el 5.4%.15
En la siguiente figura se discrimina la matricula total en instituciones según el nivel de
formación.
Figura 1. Matricula Total Instituciones Según Nivel de Formación
Fuente: MEN – SNIES Corte a mayo 16 de 2016
15 Boletín educación superior en cifras. Ministerio de Educación Nacional. Diciembre de 2016
0
5.000.000
2007 2008 2009 2010 2011* 2012* 2013* 2014 2015
MATRICULA TOTAL INSTITUCIONES SEGÚN NIVEL DE
FORMACIÓN
Técnica Profesional Tecnológica Universitaria
Especialización Maestría Doctorado
Total
37
En la siguiente grafica se debe observar como se ha incrementado el número de personas
graduadas de 2010 a 2016.
Figura 2. Títulos otorgados de educación superior por Nivel de formación 2010-2014
Fuente: MEN – SNIES Corte a mayo 16 de 2016
1.8.3.1. Bolsas de Empleo
Una bolsa de empleo es un servicio del cual disponen ciertos organismos, entidades y
empresas públicas o privadas donde se recepcionan datos sobre personas o demandantes de
trabajo y ocupaciones diversas. Con la llegada de Internet, esta recopilación de datos e
información ha simplificado la tarea de todos aquellos que buscan oficio y los que ofrecen
trabajo. La bolsa de empleo en Internet es uno de los más importantes avances que nos brinda
la modernidad y la tan renombrada globalización o revolución tecnológica.16
Uno de los mayores beneficios que se tiene y que siempre está incluido en una bolsa de
empleo es que un gran número de empresas y organismos tendrán su currículo. De esta
16 Tomada de la página web http://www.bolsadeempleo.ws/. Fecha: 18 de octubre de 2012. Hora 11:25 pm
0 200.000 400.000 600.000
TECNICA PROFESIONAL
TECNOLOGICA
UNIVERSITARIA
ESPECIALIZACION
MAESTRIA
DOCTORADO
Total
38
manera, ser parte de una bolsa de empleo lo hace pertenecer a un círculo económico y laboral
que el mercado exige. En una bolsa de empleo, tanto los trabajadores que buscan un oficio,
así como los empleadores que requieren personal, se encuentran en este espacio combinado,
que relaciona la oferta y la demanda de trabajo de una manera perfecta. La bolsa de empleo
es un fenómeno a nivel mundial. Todos los países del planeta utilizan el servicio de bolsa de
empleo, tanto los organismos públicos como las empresas privadas que encuentran en la
bolsa de empleo una importante base de datos para las urgencias que se vayan sucediendo en
el transcurso del año.17
1.8.3.2. Computación en la Nube o Cloud Computing
La computación en nube es un sistema informático basado en Internet y centros de datos
remotos para gestionar servicios de información y aplicaciones. La computación en nube
permite que los consumidores y las empresas gestionen archivos y utilicen aplicaciones sin
necesidad de instalarlas en cualquier computadora con acceso a Internet. Esta tecnología
ofrece un uso mucho más eficiente de recursos, como almacenamiento, memoria,
procesamiento y ancho de banda, al proveer solamente los recursos necesarios en cada
momento. El término “nube” se utiliza como una metáfora de Internet y se origina en la nube
utilizada para representar Internet en los diagramas de red como una abstracción de la
infraestructura que representa.18
17 Ibit. 18 Tomada de la página web http://www.computacionennube.org/computacion-en-nube/. Fecha: 18 de octubre
de 2012. Hora: 5:35 pm
39
Figura 3 Diagrama de la Computación en la Nube
Fuente: Computación en la Nube Org
1.8.3.3. Bases de Datos MySQL
MySQL es un sistema gestor de bases de datos (SGBD, DBMS por sus siglas en inglés)
muy conocido y ampliamente usado por su simplicidad y notable rendimiento. Aunque carece
de algunas características avanzadas disponibles en otros SGBD del mercado, es una opción
atractiva tanto para aplicaciones comerciales, como de entretenimiento precisamente por su
facilidad de uso y tiempo reducido de puesta en marcha. Esto y su libre distribución en
Internet bajo licencia GPL le otorgan beneficios adicionales como contar con un alto grado
de estabilidad y un rápido desarrollo. MySQL está disponible para múltiples plataformas, la
seleccionada para los ejemplos de este libro es GNU/Linux. Sin embargo, las diferencias con
cualquier otra plataforma son prácticamente nulas, ya que la herramienta utilizada en este
caso es el cliente mysql-client, que permite interactuar con un servidor MySQL en modo
40
texto. De este modo es posible realizar todos los ejercicios sobre un servidor instalado
localmente o a través de Internet, sobre un servidor remoto.19
1.8.3.4. PHP
PHP es un lenguaje interpretado de propósito general ampliamente usado y que está
diseñado especialmente para desarrollo web y puede ser incrustado dentro de código HTML.
Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y
creando páginas Web como salida. Puede ser desplegado en la mayoría de los servidores web
y en casi todos los sistemas operativos y plataformas sin costo alguno.
Fue creado originalmente por Rasmus Lerdof en 1994; sin embargo, la implementación
es realizada ahora por The PHP Group y sirve como el estándar al no haber una especificación
formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia
como software libre. PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje libre
interpretado de alto nivel utilizado en páginas HTML y ejecutado en el servidor.20
El gran parecido que posee PHP con los lenguajes más comunes de programación
estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones
complejas con poco aprendizaje. También les permite involucrarse con aplicaciones de
19 Tomado de la página web http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-de-datos/bases-
de-datos/P06_M2109_02151.pdf. Fecha 18 de octubre de 2012. Hora 10:45 pm 20 Joomla Chile. Tilatam S.A. Tomado de la página Web: http://joomla-chile.cl/diplomado-u-de-chile-joomla-
chile/unidad-i/135-joomla-y-sus-lenguajes-de-programacion-php-html-xhtml-sql-xml-javascript-ajax-css.html
Fecha: Junio 18 de 2016. Hora: 7:55 pm.
41
contenido dinámico sin tener que aprender todo un nuevo grupo de funciones. En la siguiente
figura se muestra la estructura de PHP.
Figura 4. Estructura PHP
Fuente: Manual de PHP tomado de la página Web: www.librosweb.es/xhtml
Cuando el cliente hace una petición al servidor para que le envíe una página web, el
servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el
contenido de manera dinámica. El resultado es enviado por el intérprete al servidor, quien a
su vez se lo envía al cliente. Mediante extensiones es también posible la generación de
archivos PDF, Flash, así como imágenes en diferentes formatos.21
Características.
Permite la conexión a diferentes tipos de servidores de bases de datos como MySQL,
PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.
Capacidad de conexión con la mayoría de los manejadores de base de datos que se
utilizan en la actualidad, destaca su conectividad con MySQL, capacidad de expandir
21 Op.Cit.
42
su potencial utilizando la enorme cantidad de módulos, es libre, por lo que se presenta
como una alternativa de fácil acceso para todos y además permite las técnicas de
Programación Orientada a Objetos.22
1.8.3.5. Apache Tomcat
Apache Tomcat (también llamado Jakarta Tomcat o simplemente Tomcat) funciona
como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software
Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer
Pages (JSP) de Oracle Corporation (aunque creado por Sun Microsystems). HTTPd 1.3, pero
más tarde fue reescrito por completo. El servidor Apache se desarrolla dentro del proyecto
HTTP Server (httpd) de la Apache Software Foundation.23
Tomcat es desarrollado y actualizado por miembros de la Apache Software Foundation
y voluntarios independientes. Los usuarios disponen de libre acceso a su código fuente y a
su forma binaria en los términos establecidos en la Apache Software License. Las primeras
distribuciones de Tomcat fueron las versiones 3.0.x. Las versiones más recientes son las 8.x,
que implementan las especificaciones de Servlet 3.0 y de JSP 2.2. A partir de la versión 4.0,
22 Joomla Chile. Tilatam S.A. Tomado de la página Web: http://joomla-chile.cl/diplomado-u-de-chile-joomla-
chile/unidad-i/135-joomla-y-sus-lenguajes-de-programacion-php-html-xhtml-sql-xml-javascript-ajax-css.html
Fecha: Junio 18 de 2016. Hora: 7:55 pm. 23 Tomcat Apache Foundation. Tomado de la página Web: http://tomcat.apache.org/. Fecha: Junio 23 de 2016.
Hora: 5:23 pm.
43
Jakarta Tomcat utiliza el contenedor de servlets Catalina. Dado que Tomcat fue escrito
en Java, funciona en cualquier sistema operativo que disponga de la máquina virtual Java.24
Tomcat es un contenedor Web con soporte de servlets y JSPs. Tomcat no es
un servidor de aplicaciones, como JBoss o JOnAS. Incluye el compilador Jasper, que
compila JSPs convirtiéndolas en servlets. El motor de servlets de Tomcat a menudo se
presenta en combinación con el servidor Web Apache. Puede funcionar como servidor
Web por sí mismo. En sus inicios existió la percepción de que el uso de Tomcat de forma
autónoma era sólo recomendable para entornos de desarrollo y entornos con requisitos
mínimos de velocidad y gestión de transacciones. Hoy en día ya no existe esa percepción y
Tomcat es usado como servidor Web autónomo en entornos con alto nivel de tráfico y alta
disponibilidad.25
1.8.3.6. Suite Spring Tools
Spring Tools Suite es un entorno de desarrollo basado en Eclipse que se personaliza
para desarrollar aplicaciones Spring. Proporciona un entorno ready-to-use para implementar,
depurar, ejecutar y desplegar las aplicaciones Spring, incluyendo integraciones para Pivotal
tc Server, Pivotal Cloud Foundry, Git, Maven, AspectJ, viene con las últimas versiones de
Eclipse. Incluye la edición para desarrolladores de Pivotal tc Server, una versión de Apache
Tomcat optimizado para Spring. Con su consola Spring Insight, tc Server Developer Edition
24 Ibit. 25 Ibit.
44
ofrece una visión en tiempo real gráfica de los parámetros de rendimiento de aplicaciones
que permite a los desarrolladores identificar y diagnosticar los problemas desde sus
escritorios.26
Figura 5. Aplicación Spring
Fuente: Elaboración propia
Spring Tools Suite soporta el despliegue de aplicaciones tanto en servidores locales,
virtuales y en la nube. Es de libre acceso para el desarrollo y uso en operaciones internas sin
límite de tiempo, completamente de código abierto y licenciada bajo los términos de la
Licencia Pública Eclipse. Spring entiende los proyectos al analizar los archivos de
configuración y muestra información detallada sobre los beans que están siendo definidos,
sus dependencias entre sí, espacios de nombres utilizados, y extrae una visión general para
26 Tomado de la página Web https://springla.io/spring/spring-tool-suite/. Panamsource, Inc. Todos los
derechos reservados | Spring es una división de Pivotal Software, Inc. 2015
45
ciertos estereotipos como controladores a petición, aspectos y los servicios, ofreciendo un
amplio conjunto de validaciones que se aplican de forma automática. Esas validaciones
indican errores en las configuraciones directamente en el IDE, mucho antes de que sea
ejecutada la aplicación. Encontrar problemas y errores de configuración es mucho más
fácil.27
Refactoring es una de las partes más importantes de la ingeniería de software, por tanto,
la suite de herramientas de Spring proporciona soporte avanzado para las aplicaciones
Spring. No sólo las Java refactoring conocidas se reflejan en los archivos de configuración
de Spring, el IDE agrega nuevas refactorizaciones para los elementos de Spring. No importa
si se está escribiendo archivos de configuración Spring XML o implementando aplicaciones
JavaConfig Spring, o el core Spring Framework solo o junto con todos los diferentes
proyectos adicionales de Spring, la Spring Tools Suite le proporciona contenido de ayuda
significativo en todos lados, junto con soluciones rápidas para los errores y problemas
comunes.28
La Suite Spring Tools se integra con las herramientas de lenguaje AspectJ para Eclipse
y proporciona el soporte más completo para AOP disponible. Los aspectos están siendo
reconocidos, tejidos de forma incremental en el sistema, y se visualizan directamente en el
IDE. Y ve dónde los puntos de corte coinciden inmediatamente después de guardar un
archivo. Despliega las aplicaciones directamente en Cloud Foundry o en una instancia tc
27 Op. Cit. 28 Op. Cit.
46
Server (incluyendo el soporte para la depuración, creación de la instancia, Spring Insight,
servicios y más).29
29 Op. Cit.
47
1.9. MARCO METODOLÓGICO
En el proyecto “Prototipo Web de Bolsa de Empleos para la Universidad Distrital en
Dispositivos Móviles” se utiliza el ciclo de mejora continua “Planificar- Hacer-Verificar-
Actuar” PHVA que fue desarrollado inicialmente en la década de 1920 por Walter Shewhart,
y fue popularizado por W, Edwars Deming. Por esta razón es frecuentemente conocido como
el “Ciclo de Deming”.30 Y para el desarrollo del software, la metodología a utilizar es
eXtreme Programaming.
1.9.1. PHVA Planificar- Hacer-Verificar-Actuar
El concepto de PHVA es algo presente en todas las áreas de nuestra vida profesional
y personal, y se utiliza continuamente, tanto formalmente como de manera informal, en este
ciclo permanente. Dentro del contexto de un Sistema de Gestión de la Calidad, el PHVA es
un ciclo dinámico que puede desarrollarse dentro de cada proceso de la organización y en el
sistema de procesos como un todo. Está íntimamente asociado con la planificación,
implementación, control y mejora continua, tanto en la realización del producto como en
otros procesos del SGC.31
El mantenimiento y la mejora continua de la capacidad del proceso puede lograrse
aplicando el concepto de PHVA en todos los niveles dentro de la organización, esto aplica
30 Tomado del sitio Web http://johnnavas.galeon.com/productos1002127.html. John Navas. Galeon.com.
Fecha 1 de noviembre de 2016. Hora: 12:45 am. 31 Ibit.
48
por igual a los procesos estratégicos de alto nivel y a las actividades operacionales simples
llevadas a cabo como una parte de los procesos de realización del producto. El enfoque
basado en procesos indica que todos los procesos pueden ser gestionados utilizando como
base el ciclo de mejora continua PHVA.32
Figura 6 Implementación del ciclo PHVA
Fuente: Sitio Web Galeon. John Navas.
Figura 7 El ciclo PHVA aplicado a los procesos
Fuente: Sitio Web Galeon. John Navas.
32 Ibit.
49
1.9.1.1. Significado del Método
Método es una palabra de origen griego, derivada de los vocablos META (que
significa “más allá de”) y HODOS (que significa “camino”). El método significa: “Camino
para llegar a un punto más allá del camino”. El PHVA es un método para la “práctica del
control”33
1.9.1.2. El Ciclo PHVA (Método Gerencial)
El “control de proceso”, se establece a través del ciclo PHVA (Planear, hacer,
verificar, actuar) compuesto por las cuatro fases básicas del control: planificar, ejecutar,
verificar y actuar correctivamente.
Los términos usados en el ciclo PHVA, tienen el siguiente significado:
Planear (P): Consiste en: Establecer metas para los indicadores de resultado y
establecer la manera para alcanzar las metas propuestas.
Hacer (H): Ejecución de las tareas exactamente de la forma prevista en el plan y en
la recolección de datos para la verificación del proceso. En esta etapa es esencial el
entrenamiento en el trabajo resultante de la fase de planeamiento.
Verificar (V): Tomando como base los datos recolectados durante la ejecución, se
compara el resultado obtenido con la meta planificada.
Actuar (A): Esta es la etapa en la cual el usuario detectó desvíos y actuará de modo
que el problema no se repita nunca más.34
33 Tomado del sitio Web http://johnnavas.galeon.com/productos1002127.html. John Navas. Galeon.com.
Fecha 1 de noviembre de 2016. Hora: 12:50 am.
34 Ibit.
50
Figura 8. Ciclo PHVA de control de procesos
Fuente: Sitio Web Galeon. John Navas.
1.9.1.3. El Ciclo PHVA en el Mantenimiento y Mejoras
El ciclo PHVA de control puede utilizarse para mantener y mejorar las “directrices de
control” de un proceso. El ciclo PHVA es utilizado para el mantenimiento del nivel de
control, cuando el proceso es repetitivo y el plan (P) consta de una meta, que es una faja
aceptable de valores y de un método que comprende los “procedimientos Operacionales de
Estándar POE”. Los indicadores de resultado, son fajas de valores-estándar como, por
ejemplo: calidad-estándar, costo-estándar, plazo estándar, cantidad-estándar, etc. El ciclo
PHVA también se utiliza para el mejoramiento del nivel de control (o mejoramiento de la
“directriz de control”. En este caso, el proceso no es repetitivo y el plan consta de una meta
que es un valor definido (por ejemplo: reducir en un 50% el índice de piezas defectuosas) y
51
de un método que comprende aquellos procedimientos propios, necesarios para alcanzar la
meta. Esta meta es el nuevo “nivel de control”.35
Todos los integrantes de la empresa (directores, gerentes, técnicos y auxiliares)
utilizan el ciclo PHVA de las dos maneras indicadas, pero los auxiliares utilizan más
intensamente el ciclo PHVA en el Mantenimiento, pues su trabajo consiste, esencialmente,
en el cumplimiento de los estándares. Los auxiliares utilizan el ciclo PHVA en las Mejoras
cuando participan de los Círculos de Control de la Calidad (CCC). A medida que se asciende
en la jerarquía, el ciclo PHVA se utiliza cada vez más en las mejoras. Esto significa que la
gran función de las instancias de decisión es establecer nuevos niveles de control que
garanticen la supervivencia de la empresa.36
Figura 9. Utilización del ciclo PHVA para mantenimiento y mejora de la directriz del
control del proceso
Fuente: Sitio Web Galeon.com. John Navas.
35 Tomado del sitio Web http://johnnavas.galeon.com/productos1002127.html. John Navas. Galeon.com.
Fecha 1 de noviembre de 2016. Hora: 12:50 am. 36 Ibit.
52
Figura 10. Distribución de los trabajos de mantenimiento, mejoramiento y desarrollo en la
estructura jerárquica de la Toyota, según ITOH
Fuente: Sitio Web Galeon.com. John Navas.
A. Mantenimiento: Cumplimiento de las Operaciones Estandarizadas y Eliminación de la
Causa Fundamental de Problemas (Desvíos). Mantenimiento del “Nivel De Control”
B. Mejoramiento: Eliminación de las Causas Fundamentales que Ocasionan Resultados
Indeseables. Establecimiento de Nuevos “Niveles De Control”. Nuevas Ideas.
C. Desarrollo: Desarrollo de Nuevos Productos, Procesos. Mercados, Etc.37
El camino adecuado para obtener mejoras continuas en los procesos es el que conjuga
los dos tipos de gerenciamiento: mantenimiento y mejoras. Mejorar continuamente un
proceso significa mejorar continuamente sus estándares. Cada mejora corresponde al
establecimiento de un nuevo “nivel de control” (nuevo valor -meta para un indicador de
resultado). En la siguiente figura que es una forma de mostrar el “control” que se ejerce sobre
el proceso utilizando el ciclo PHVA,38 se pueden hacer los siguientes comentarios:
37 Tomado del sitio Web http://johnnavas.galeon.com/productos1002127.html. John Navas. Galeon.com.
Fecha 1 de noviembre de 2016. Hora: 2:50 am.
38 Ibit.
53
a. Inicialmente su proceso se encuentra en una etapa cuyas operaciones estandarizadas
(causas de proceso) producen, como uno de sus efectos, un valor del indicador de resultado
(resultado de proceso - nivel de control) que no satisface (resultado indeseable = problema).
La “directriz de control” actual no es satisfactoria.
b. Entonces, usted decide “resolver este problema” (o ejercer el “control”) lo cual consiste,
en analizar el proceso para determinar la causa del mal resultado, actuar en la causa,
estandarizando y estableciendo indicadores de resultado que garanticen que el resultado
anterior no se repetirá.
c. Como consecuencia del “control”, el proceso se ubica en una nueva meseta de desempeño,
equivalente a los nuevos procedimientos-estándar adoptados, que acaba desembocando en
un mejor resultado para el indicador de resultado (nuevo nivel de control). Esto equivale a
establecer una nueva “directriz de control”.39
Figura 11. Concepto de mejoramiento continuo, basado en la conjugación de los ciclos
PHVA de Mantenimiento y Mejoras
Fuente: Sitio Web Galeon.com. John Navas.
39 Op.Cit.
54
1.9.1.4. El ciclo PHVA utilizado para Mantener Resultados
Las “directrices de control” se mantienen mediante el cumplimiento de los
procedimientos Operacionales Estándar POE. Esto se denomina ciclo de mantenimiento.
Para un buen mantenimiento del nivel de control, son necesarias las siguientes condiciones:
Planear: a. Definición de los indicadores de resultado que se observarán y de su faja estándar
aceptable (nivel de control)
b. Definición de los procedimientos Operacionales Estándar POE necesarios para el
mantenimiento de los resultados del proceso. Esta fase equivale al establecimiento de la
“directriz de control”, y es aquí donde se encuentra el punto débil de las empresas. La mayor
parte de los procesos no posee “directriz de control”, o sea, no posee indicadores de resultado
y procedimientos Operacionales Estándar POE.
Hacer: c. “Entrenamiento en el trabajo” para los ejecutores, de forma tal que sean los
“mejores del mundo” en lo que hacen. Este procedimiento se basa en los “procedimientos
Operacionales Estándar POE.
d. Entrenamiento en la recolección de datos.
e. Ejecución de las tareas de acuerdo con los procedimientos (esto debe evaluarse
periódicamente). Como la existencia de la “directriz de control “es rara, el entrenamiento en
el trabajo en las empresas es de pésima calidad.
Verificar: f. Los indicadores de resultado deben verificarse y esta verificación puede ser
realizada de las más variadas formas. En este punto, los principiantes que no poseen una
55
preparación adecuada, insisten en utilizar las “cartas de control” cuando la mayor parte de
las personas tiene dificultades hasta para definir sus propios indicadores de resultado.40
Es necesario entender el “concepto de control”, y aprender el “método de control”, para
establecer el control de procesos. En la mayor parte de los procesos, un simple “gráfico de
control” (secuencial) es suficiente para orientar la estabilización del proceso. Las “cartas de
control” son un instrumento que permite monitorear procesos estables y bajo control.
Actuar: g. Si todo está normal, es mantener los procedimientos actuales para que los
resultados estén en una faja-estándar. En el caso de que aparezca alguna anomalía, se debe
avisar, a los jefes para ejecutar las acciones correctivas, salvo que estas acciones ya estén
estandarizadas. Toda anomalía debe ser registrada para un futuro análisis. Todas las personas
de la empresa, utilizan el PHVA en el “ciclo de mantenimiento”. El principio básico del
“concepto de control” es que, para mejorar, es necesario antes que nada saber mantener la
“directriz de control”. Esto se muestra en la siguiente figura:
40 Tomado del sitio Web http://johnnavas.galeon.com/productos1002127.html. John Navas. Galeon.com.
Fecha 1 de noviembre de 2016. Hora: 1:50 am.
56
Figura 12. Detalle del ciclo PHVA en los ciclos de mantenimiento y mejoras
Fuente: Sitio Web Galeon.com. John Navas.
1.9.1.5. El Ciclo PHVA Utilizado para Mejorar Resultados
La utilización del ciclo PHVA para mejorar las “directrices de control” es la
responsabilidad de todos los niveles jerárquicos. Los auxiliares utilizan el PHVA para
mejorar las actividades de los Círculos de Control de la Calidad (CCC). La siguiente figura
muestra la utilización del PHVA para la mejora, que se traduce en el “Método de Análisis y
Solución de Problemas” (MASP). Este método, es el más importante dentro del TQC y
debería ser dominado por todas las personas de la empresa, puesto que es el arma más
importante para la dirección de la empresa y la base para la realización de las directrices
57
introducidas por el planeamiento estratégico. Para ser competitivos es necesario que todos
sean importantes solucionadores de problemas.41
Figura 13. Ciclo PHVA para mejoras
Fuente: Sitio Web Galeon.com. John Navas.
1.9.2. Metodología XP o eXtreme Programming
En este proyecto se realiza el modelamiento con la metodología XP o programación
extrema o eXtreme Programming, que es una metodología de desarrollo de la ingeniería de
software formulada por Kent Beck, autor del primer libro sobre la materia, Extreme
Programming Explained: Embrace Change (1999).42
41 Tomado del sitio Web http://johnnavas.galeon.com/productos1002127.html. John Navas. Galeon.com.
Fecha 1 de noviembre de 2016. Hora: 1:35 am.
42 Programación Extrema XP. Ingeniería de Software. Tomado de la página Web: http://ingenieriadesoftware.
mex.tl/52753_XP---Extreme-Programing.html Fecha: Febrero 18 de 2016. Hora: 5:24 pm.
58
Es el más destacado de los procesos ágiles de desarrollo de software. La programación
extrema se diferencia de las metodologías tradicionales principalmente, en que pone más
énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los
cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable
del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en
cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar
definir todos los requisitos al comienzo del proyecto tratando de controlar los cambios en los
requisitos. Se puede considerar la programación extrema como la adopción de las mejores
metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y
aplicarlo de manera dinámica durante el ciclo de vida del software.43
Los valores originales de la programación extrema son: simplicidad, comunicación,
retroalimentación (feedback) y coraje. Un quinto valor, respeto, fue añadido en la segunda
edición de Extreme Programming Explained. Los cinco valores se detallan a continuación:
Simplicidad: La simplicidad es la base de la programación extrema. Se simplifica el
diseño para agilizar el desarrollo, facilitar el mantenimiento y para mantener la
simplicidad es necesario la refactorización del código, ésta es la manera de mantener el
código simple a medida que crece. También se aplica la simplicidad en la documentación,
y el código de estar documentado. Para ello se deben elegir adecuadamente los nombres
de las variables, métodos y clases. Aplicando la simplicidad junto con la autoría colectiva
43 Ibit.
59
del código y la programación por parejas se asegura que cuanto más grande se haga el
proyecto, todo el equipo conocerá más y mejor el sistema completo.44
Comunicación: La comunicación se realiza de diferentes formas. Para los
programadores el código comunica mejor cuanto más simple sea. Si el código es
complejo hay que esforzarse para hacerlo inteligible. Las pruebas unitarias son otra forma
de comunicación ya que describen el diseño de las clases y los métodos al mostrar
ejemplos concretos de cómo utilizar su funcionalidad. Los programadores se comunican
constantemente gracias a la programación por parejas. La comunicación con el cliente es
fluida ya que el cliente forma parte del equipo de desarrollo. El cliente decide qué
características tienen prioridad y siempre debe estar disponible para solucionar dudas.45
Retroalimentación (feedback): Al estar el cliente integrado en el proyecto, su opinión
sobre el estado del proyecto se conoce en tiempo real. Al realizarse ciclos muy cortos
tras los cuales se muestran resultados, se minimiza el tener que rehacer partes que no
cumplen con los requisitos y ayuda a los programadores a centrarse en lo que es más
importante. Por ejemplo, las pruebas unitarias informan sobre el estado. Ejecutar las
pruebas unitarias frecuentemente permite descubrir fallos debidos a cambios recientes en
el código.
Coraje o valentía: Muchas de las prácticas implican valentía. Una de ellas es siempre
diseñar y programar para hoy y no para mañana. Esto es un esfuerzo para evitar retrasos
44 Programación Extrema XP. Ingeniería de Software. Tomado de la página Web: http://ingenieriadesoftware.
mex.tl/52753_XP---Extreme-Programing.html Fecha: Febrero 18 de 2016. Hora: 5:24 pm. 45 Ibit.
60
en el diseño y requerir demasiado tiempo y trabajo para implementar todo lo demás del
proyecto. La valentía les permite a los desarrolladores que se sientan cómodos con
reconstruir su código cuando sea necesario. Esto significa revisar el sistema existente y
modificarlo si con ello los cambios futuros se implementaran más fácilmente.46
Respeto: El respeto se manifiesta de varias formas. Los miembros del equipo se respetan
los unos a otros, porque los programadores no pueden realizar cambios que hacen que
las pruebas existentes fallen o que demore el trabajo de sus compañeros. Los miembros
respetan su trabajo porque siempre están luchando por la alta calidad en el producto y
buscando el diseño óptimo o más eficiente para la solución a través de la refactorización
del código y elevando el ritmo de producción en el equipo.47
1.9.2.1. Fases de la Metodología Extreme Programing ó XP
Figura 14. Fases de la Metodología XP
Fuente: Koiosoft
46 Programación Extrema XP. Ingeniería de Software. Tomado de la página Web: http://ingenieriadesoftware.
mex.tl/52753_XP---Extreme-Programing.html Fecha: Febrero 18 de 2016. Hora: 5:34 pm. 47 Ibit.
61
1.9.2.1.1. Fase I: Planificación del Proyecto.
1.9.2.1.1.1. Historias de Usuario:
Definir las historias de usuario con el cliente, ellas tienen la misma finalidad que los
casos de uso, pero con algunas diferencias: Constan de 3 ó 4 líneas escritas por el cliente en
un lenguaje no técnico sin hacer hincapié en los detalles; no se debe hablar ni de posibles
algoritmos para su implementación ni de diseños de base de datos adecuados, etc. Son usadas
para estimar tiempos de desarrollo de la parte de la aplicación que describen. También se
utilizan en la fase de pruebas, para verificar si el programa cumple con lo que especifica la
historia de usuario. Cuando llega la hora de implementar una historia de usuario, el cliente y
los desarrolladores se reúnen para concretar y detallar lo que tiene que hacer dicha historia.
El tiempo de desarrollo ideal para una historia de usuario es entre 1 y 3 semanas.48
48 Programación Extrema XP. Ingeniería de Software. Tomado de la página Web: http://ingenieriadesoftware.
mex.tl/52753_XP---Extreme-Programing.html Fecha: Febrero 18 de 2016. Hora: 5:44 pm.
62
1.9.2.1.1.2. Plan de publicaciones (Release Planning):
Donde se indiquen las historias de usuario que se crearán para cada versión del
programa y las fechas en las que se publicarán estas versiones. Estableciendo los tiempos de
implementación ideales de las historias de usuario, la prioridad con la que serán
implementadas y las historias que serán implementadas, en cada versión del programa, el
número de personas que trabajarán en el desarrollo y cómo se evaluará la calidad del trabajo
realizado.49
1.9.2.1.1.3. Iteraciones:
Todo proyecto que siga la metodología X.P. se ha de dividir en iteraciones de
aproximadamente 3 semanas de duración. Al comienzo de cada iteración los clientes deben
seleccionar las historias de usuario definidas en el "Release planning" que serán
implementadas. También se seleccionan las historias de usuario que no pasaron el test de
aceptación que se realizó al terminar la iteración anterior. Estas historias de usuario son
divididas en tareas de entre 1 y 3 días de duración que se asignarán a los programadores.50
1.9.2.1.1.4. Velocidad del Proyecto
Es una medida que representa la rapidez con la que se desarrolla el proyecto; contando
el número de historias de usuario que se pueden implementar en una iteración; de esta forma,
49 Ibit. 50 Ibit.
63
se sabrá el cupo de historias que se pueden desarrollar en las distintas iteraciones. Usando la
velocidad del proyecto controlaremos que todas las tareas se puedan desarrollar en el tiempo
del que dispone la iteración. Es conveniente reevaluar esta medida cada 3 ó 4 iteraciones y si
se aprecia que no es adecuada hay que negociar con el cliente un nuevo "Release Plan".51
1.9.2.1.1.5. Programación en Parejas:
La metodología X.P. aconseja la programación en parejas pues incrementa la
productividad y la calidad del software desarrollado. El trabajo en pareja involucra a dos
programadores trabajando en el mismo equipo; mientras uno codifica haciendo hincapié en
la calidad de la función o método que está implementando, el otro analiza si ese método o
función es adecuado y está bien diseñado. De esta forma se consigue un código y diseño con
gran calidad.52
1.9.2.1.1.6. Reuniones Diarias.
Es necesario que los desarrolladores se reúnan diariamente y expongan sus problemas,
soluciones e ideas de forma conjunta. Las reuniones tienen que ser fluidas y todo el mundo
tiene que tener voz y voto.53
51 Programación Extrema XP. Ingeniería de Software. Tomado de la página Web: http://ingenieriadesoftware.
mex.tl/52753_XP---Extreme-Programing.html Fecha: Febrero 18 de 2016. Hora: 5:24 pm. 52 Ibit. 53 Programación Extrema XP. Ingeniería de Software. Tomado de la página Web: http://ingenieriadesoftware.
mex.tl/52753_XP---Extreme-Programing.html Fecha: Febrero 18 de 2016. Hora: 5:24 pm.
64
1.9.2.1.2. Fase II: Diseño.
1.9.2.1.2.4. Diseños Simples:
La metodología XP sugiere que hay que conseguir diseños simples y sencillos. Hay que
procurar hacerlo todo lo menos complicado posible para conseguir un diseño fácilmente
entendible e impleméntable que a la larga costará menos tiempo y esfuerzo desarrollar.54
1.9.2.1.2.5. Glosarios de Términos:
Usar glosarios de términos y una correcta especificación de los nombres de métodos y
clases ayudará a comprender el diseño y facilitará sus posteriores ampliaciones y la
reutilización del código.55
1.9.2.1.2.6. Riesgos:
Si surgen problemas potenciales durante el diseño, XP sugiere utilizar una pareja de
desarrolladores para que investiguen y reduzcan al máximo el riesgo que supone ese
problema.56
54 Ibit 55 Ibit 56 Ibit.
65
1.9.2.1.2.4. Funcionabilidad Extra:
Nunca se debe añadir funcionalidad extra al programa, aunque se piense que en un futuro
será utilizada. Sólo el 10% de la misma es utilizada, lo que implica que el desarrollo de
funcionalidad extra es un desperdicio de tiempo y recursos.57
1.9.2.1.2.5. Refactorizar:
Es mejorar y modificar la estructura y codificación de códigos ya creados sin alterar su
funcionalidad. Refactorizar supone revisar de nuevo estos códigos para procurar optimizar
su funcionamiento. Es muy común rehusar códigos ya creados que contienen funcionalidades
que no serán usadas y diseños obsoletos.58
1.9.2.1.3. Fase III: Codificación.
Como ya se dijo, el cliente es una parte más del equipo de desarrollo; su presencia es
indispensable en las distintas fases de XP. A la hora de codificar una historia de usuario, su
presencia es aún más necesaria. No olvidemos que los clientes son los que crean las historias
de usuario y negocian los tiempos en los que serán implementadas. Antes del desarrollo de
cada historia de usuario el cliente debe especificar detalladamente lo que ésta hará y también
tendrá que estar presente, cuando es implementada para ver que cumple la funcionalidad
especificada. La codificación debe hacerse atendiendo a estándares de codificación ya
57 Programación Extrema XP. Ingeniería de Software. Tomado de la página Web: http://ingenieriadesoftware.
mex.tl/52753_XP---Extreme-Programing.html Fecha: Febrero 18 de 2016. Hora: 5:58 pm. 58 Ibit.
66
creados. Programar bajo estándares mantiene el código consistente y facilita su comprensión
y escalabilidad.
1.9.2.1.4. Fase IV: Pruebas.
Uno de los pilares de la metodología XP es el uso de test para comprobar el
funcionamiento de los códigos que vayamos implementando. El uso de los test en XP es el
siguiente:
Se deben crear las aplicaciones que realizarán los test con un entorno de desarrollo
específico para test.
Hay que someter a test las distintas clases del sistema omitiendo los métodos más
triviales.
Se deben crear los test que pasarán los códigos antes de implementarlos.
Un punto importante es crear test que no tengan ninguna dependencia del código que en
un futuro evaluará.
Los distintos test se deben subir al repositorio de código, acompañados del código que
verifican.
Test de aceptación. Los test mencionados anteriormente sirven para evaluar las distintas
tareas en las que ha sido dividida una historia de usuario.
Al ser las distintas funcionalidades no muy extensas, no se harán test que analicen partes
de las mismas, sino que las pruebas se realizarán para las funcionalidades generales, en
la descripción de requisitos.
67
Figura 15. Fases de la Metodología XP
Fuente: Grupo de Monogas Universidad de Oriente
68
1.10. FACTIBILIDAD
Realizar el análisis de la factibilidad, es uno de los procesos más importantes cuando se
desea desarrollar un proyecto, ya que ella nos permite determinar la viabilidad y el alcance
del proyecto. Si son los adecuados o si es necesario reestructurar o no realizar el proyecto.
Se efectúa al principio de un proyecto para evitar riesgos perjudiciales para el mismo, y así:
Reducir de errores
Reducir de costos
Revisión del alcance del proyecto
Revisión de los tiempos del proyecto
Viabilidad del proyecto
Existen varios tipos de factibilidad, pero para este proyecto tomaremos en cuenta.
La factibilidad técnica
La factibilidad operativa
La factibilidad económica
La factibilidad financiera
La factibilidad legal
1.10.1. Factibilidad Técnica.
Las características de los dispositivos con los cuales se debe acceder a la aplicación,
deben contar con las tecnologías, que se utilizan para el desarrollo de las mismas. Estas
características se basan en el acceso a los datos de los diferentes usuarios de forma
instantánea, esto se puede lograr con la creación de una plataforma robusta y su
intercomunicación rápida y eficiente entre los diferentes usuarios y empresas. La telefonía
69
actual lo maneja con sus diferentes modelos de comunicaciones y es un proceso que aún no
se está implementando en Colombia. Pues, aunque las Bolsas de Empleos, ofrecen excelentes
servicios a sus usuarios, no envían correos electrónicos o mensajes de texto, avisándoles de
nuevos perfiles para contratación en el caso de las empresas y de nuevos empleos ofrecidos
de acuerdo al perfil que ha ingresado el usuario.
Esto permitirá un avance interesante en los procesos que manejen las Bolsas de Empleo y
permitirá un manejo más rápido, efectivo y eficiente de la información aquí almacenada.
1.10.2. Factibilidad Operativa
El prototipo de Bolsas de Empleos de la Universidad Distrital, necesitará el siguiente
personal para la realización de sus objetivos:
Tabla 3. Personal Involucrado en el Proyecto
NOMBRE FUNCIONES
Director de Proyecto de Grado Responsable de supervisar y asesorar la elaboración del Proyecto de
Grado.
Asesores de la Oficina de Egresados Son los clientes que tendrán diversas perspectivas del problema y
diferentes necesidades que se deben tratar de solucionar.
Analista y Desarrollador Realizara la captura, especificación y validación de requisitos,
interactuando con los asesores de la oficina de egresados, para elaborar
el modelo de análisis, diseño y desarrollo del software.
Fuente: Elaboración Propia
70
1.10.3. Factibilidad Económica
1.10.3.1. Recursos Físicos
En la siguiente tabla se muestran los recursos físicos necesarios para la realización del
proyecto.
Tabla 4. Recursos físicos
Item Descripción Cant Duración Dedicación V \ Mes Factor Total
1 Computador Portátil 1 22 1.0 200.000 1 4.400.000
2 Impresora Scanner 1 22 1.0 100.000 1 2.200.000
3 Servicios de Agua y Luz 22 1.0 100.000 1 2.200.000
4 Impresiones y Papelería 1 22 1.0 100.000 1 2.200.000
5 Encuadernación de Tesis 2 1.0 60.000 1 120.000
6 Instalaciones 1 22 1.0 200.000 1 4.400.000
7 Visitas sedes 22 1.0 100.000 1 2.200.000
8 Otros (20%) 22 1.0 1.760.000 1 1.760.000
TOTAL $19.480.000
Fuente: Elaboración propia
1.10.3.2. Recursos de software
En la siguiente tabla se muestran las herramientas de desarrollo necesarias para la
realización este aplicativo.
Tabla 5. Recursos de Software Requeridos para el Proyecto
Item Recurso Cantidad Valor/Unit Valor
1 Linux Ubuntu 10.04 1 0 0
2 Licencia Open Office 1 0 0
3 Licencia MySQL 1 0 0
4 Licencia MySQL Workbench 5.2. OSS 1 0 0
5 Licencia StarUML 5.0 1 0 0
6 Licencia Visual Studio 2015 Community 1 0 0
7 Licencia PHP 5.4.8 1 0 0
71
8 Licencia Spring Tools 1 0 0
9 Licencia HTML 1 0 0
10 Licencia Apache Tomcat 1 0 0
TOTAL $0.0
Fuente: Elaboración Propia
1.10.3.3. Recursos de Humanos
En la siguiente tabla se muestra la desarrolladora del aplicativo y el nombre del director
del proyecto
Tabla 6. Recursos de Humanos Requeridos para el Proyecto
Personal Cantidad Función Duración Dedicación V/Mes Factor Total
Miguel Ángel
Leguizamón
Páez
1 Director de
Tesis
22 0.3 $ 5.000.000 1 $33.000.000
Lourdes
Janeth Toro
Ortíz
1 Analista
Desarrollado
r
22 1.0 $ 1.500.000 1 $33.000.000
Asesores
Bienestar
Universitario
2 Asesores 22 0.1 $1.400.000 0.2 $1.232.000
Total $67.232.000
Fuente: Elaboración Propia
1.10.3.4. Presupuesto
En la siguiente tabla se muestra el presupuesto requerido para el proyecto.
Tabla 7. Presupuesto Requerido para el Proyecto
Recursos Valor
Recursos Físicos $19.480.000
Recursos Humanos $67.232.000
Recursos de Software $0.0
Imprevistos $8.671.000
TOTAL $95.383.000
Fuente: Elaboración Propia
72
1.10.4. Factibilidad Legal
Este proyecto es factible legalmente ya que basará en software libre o de código abierto,
se implementará en lenguaje de programación PHP, la base de datos se realizará en MySQL
y utilizaremos la suite Spring Tools que son de licencia GPL, GNU y LGPL para la
distribución de software.
El prototipo de Bolsa de Empleos de la Universidad Distrital, se puede colocar en distintos
hostings, pero para mayor confianza, seguridad, almacenamiento y precio se subirá al
servidor de la Universidad.
73
1.11. Cronograma de Actividades
Figura 16. Cronograma de actividades
Fuente: Elaboración propia
74
2. FASE DE MODELAMIENTO DEL NEGOCIO
En la literatura existen diversos procedimientos para la solución de problemas entre
ellos el ciclo P.H.V.A, este es una herramienta de mejora continua que brinda una solución,
la cual busca mantener la competitividad de los productos y servicios. Es común usar esta
herramienta en la implementación de un sistema de gestión de la calidad, de tal manera que,
al aplicarla en la política y objetivos de calidad, así como en la red de procesos, la
probabilidad de éxito es mayor. La aplicación del ciclo Deming de la calidad P.H.V.A. en la
solución de problemas, busca crear una cultura organizacional en la aplicación de una
metodología para resolver problemas recurrentes y crónicos, cabe anotar que el ciclo
P.H.V.A. dinamiza la relación entre el hombre y los procesos y busca su control con base a
su establecimiento, mantenimiento y mejora de estándares.59
Aplicando PHVA (Planear, Hacer, Verificar y Actuar) en la implementación de un
sistema de gestión de la calidad del desarrollo y diseño del software necesario para la
implementación de una aplicación, tenemos: La definición de los procesos, la política de
calidad y los objetivos.
59 Ciclo PHVA. Bravo Daniela. Tomado de la página Web http://adpphva.blogspot.com.co/. Fecha:
noviembre 20 de 2013. Hora
75
En el Hacer, se hace la implementación de lo definido en la planeación, alineando los
procesos de acuerdo a las definiciones, se conforma el trabajo para documentar los
procesos con el enfoque de PHVA y con una metodología definida.
En el Verificar, se aplica el subproceso de Revisiones y Auditorías de Calidad.
En el Actuar, se aplica el subproceso de Acciones correctivas, preventivas y planes
de mejoramiento como consecuencia de los informes de auditorías, adicionalmente
se aplica la metodología para análisis y solución de problemas a aquellos subprocesos
que necesitan un mejoramiento continuo para luego incorporarlos en los subprocesos
y convertirlos nuevamente como parte del día a día.
Podría decirse que la metodología PHVA no da lugar a fisuras en cuanto su propósito: se
define una meta y dejándose llevar por la sabiduría contenida en cada etapa, se llega a
cumplirla quitando del camino los obstáculos que se interpongan, ya sean humanos,
materiales o financieros. Si el objetivo es realista y considera las variables del entorno,
entonces siguiendo la estrategia del Ciclo de la Calidad, la probabilidad de éxito es mayor.
No debe olvidarse que en cada paso habrá que realizar acciones tácticas y operativas para
seguir adelante con dominio.60
60 El Ciclo PHVA (Planear, Hacer, Verificar y Actuar). Tomado de la página Web http://www.blog-
top.com/el-ciclo-phva-planear-hacer-verificar-actuar/. Fecha: Julio 14 de 2007. Hora: 12:38 pm.
76
2.1. SISTEMA JOBUD EN MYSQL WORKBENCH
En la siguiente figura se observa el Sistema JOBUD en MySQL Workbench
Figura 17. Sistema JOBUD en MySQL Workbench
Fuente: Elaboración propia
77
2.2. SISTEMA JOBUD EN MYSQL
En la siguiente figura se observa el Sistema de Bolsa de Empleos de la Universidad
Distrital JOBUD en MySQL.
Figura 18. Sistema JOBUD en MySQL
Fuente: Elaboración propia
78
2.3. MODELO DE DOMINIO DEL SISTEMA JOBUD
En la siguiente figura se muestra el Modelo de Dominio y como se desarrollan las
diferentes interacciones, bajo el desarrollo de eXtreme Programming.
Figura 19. Modelo de Dominio JOBUD
Fuente: Metodologías ágiles para el desarrollo de software: eXtreme Programming (XP)61
2.4. CICLO DE VIDA DEL SISTEMA
En la siguiente figura se muestran las diferentes etapas del Ciclo de Vida de un Sistema
como JOBUD, desde las Historias de Usuarios hasta la fase de Aceptación por parte de los
clientes.
61 Métodologías ágiles para el desarrollo de software: eXtreme Programming (XP). Letelier Patricio, Penadés
Mª Carmen. Tomado de la página Web http://www.cyta.com.ar/ta0502/v5n2a1.htm. Fecha: junio de 2006.
Hora: 1:16 am
79
Figura 20. Ciclo de Vida de un Sistema como JOBUD
Fuente: A propósito de programación extrema XP (eXtreme Programming)62
2.4.1. Clases Proporcionadas para la Automatización en la Fase de Pruebas
En la siguiente figura se muestra se muestran las clases proporcionadas por eXtreme
Programming, para realizar la automatización de la fase de pruebas
Figura 21. Clases Proporcionadas para la Automatización en la Fase de Pruebas
Fuente: A propósito de programación extrema XP (eXtreme Programming)
62 A propósito de programación extrema XP (eXtreme Programming). Anaya Villegas Adrian. Tomado de la
página Web: http://www.monografias.com/trabajos51/programacion-extrema/programacion-extrema2.shtml#
ixzz4ZCljFrME. Fecha:
80
2.4.2. Desarrollo de la Metodología PHVA (Planear, Hacer, Verificar y Actuar)
Las siguientes tablas, permiten recolectar la información requerida, para diseñar y
proyectar la aplicación Bolsa de Empleos de la Universidad Distrital JOBUD. En la siguiente
tabla se muestra las personas involucradas en el proyecto
Tabla 8. Equipo de Trabajo
PROBLEMA: Análisis Diseño y Desarrollo de una Aplicación Bolsa de Empleo de la Universidad Distrital
PRODUCTO: Análisis y Diseño de aplicación PDCA No.: 001
No. DE
PARTE
01 FECHA APERTURA Enero
2014
CLIENTE: Universidad Distrital F.J. de Caldas FECHA CIERRE Enero
2016
Equipo de Resolución de Problema
Nombre Puesto Departamento
LOURDES JANETH TORO ORTIZ Analista y
Desarrolladora
Análisis y
Desarrollo
MIGUEL ANGEL LEGUIZAMON
PAEZ
Tutor Universidad Distrital
Fuente: Elaboración propia
En la siguiente tabla se muestra el primer artefacto para realizar la planeación, la
formulación del problema o el ¿QUÉ?
Tabla 9. Formulación del Problema
PHVA PASO 1: PLANEAR
( FORMULACIÓN DEL PROBLEMA)
81
PHVA No. 002
FE
CH
A
Abri
l
201
4
¿Qué es lo que se ha encontrado (esquema eventual)?
Según las encuestas realizadas, aunque muchas personas, utilizan Bolsas de
Empleo, pero la mayoría no se siente a gusto, en el diseño, la forma en que
esta implementada y en como manejan la información.
¿Quién lo ha detectado?
Al realizar el análisis de las encuestas, se ha detectado estos problemas.
¿Dónde se ha encontrado?
En las diferentes Bolsas de Empleo analizadas
¿Cuándo se presentó (referencia, turno)?
En el transcurso de la investigación para la realización de este proyecto,
durante el año 2014.
¿Cómo se ha detectado?
Mediante la realización de encuestas y la investigación en Internet.
¿Cuántas veces se ha encontrado (por día, por semana, por mes?
Se hicieron 63 encuestas, en ellas se recopilo la información.
¿Por qué se ha constatado (Pb ya se había encontrado?
Para estar seguro de que las historias y necesidades de los usuarios sean las
adecuadas.
¿Cuál es el objetivo que se quiere alcanzar y cuándo (plazo)?
Con la aplicación se desea diseñar, un sistema sencillo, ágil, fácil de utilizar y
con las características que los usuarios desean y necesitan.
Fuente: Elaboración propia
En la siguiente tabla se muestra el Paso 1: Planear, que nos permite observar las causas
potenciales o el ¿POR QUÉ?
Tabla 10. Equipo de Trabajo
PDCA PASO 1: PLANEAR
(CAUSAS POTENCIALES)
(¿POR QUÉ?)
Producto: Problemas
Fecha: julio de 2014
PDCA No.:003
Problema:
82
Fuente: Elaboración propia
En la siguiente tabla se muestra el Paso 1: Planear, que nos permite observar las causas
potenciales, en este caso el ¿POR QUÉ?
Tabla 11. Paso 1: Planear ¿POR QUÉ?
ISHIKAWA
PHVA PASO 1: PLANEAR
(CAUSAS POTENCIALES) (¿POR QUÉ?)
Producto: 004
Fecha: Agosto 2014
PHVA No.: 004
Material
Medio ambiente Método
1st WHY?
2nd WHY?
3rd WHY?
4th WHY?
5th WHY?
Que no se
enfoquen en
una sola área,
sino que haya
variedad
Contratar un
ingeniero
industrial, para
diseñar la Bolsa
de Empleo
Mejorar los
procesos para
hacerla más
eficiente
La bolsa de
empleo debe
pensar en
dirigirse a todos
los renglones
de la economía.
Se basa
principalmente
en los servicios
asistenciales no
calificados
Mejorar sus
bases de datos
en relación
con los
perfiles de los
requerimientos
de quienes
buscan empleo
Servirse en
mayor medida
de las
tecnologías de
la información a
fin de reducir
sus trámites
presenciales
Estar
actualizado en
cuanto a los
requerimientos
del mundo
laboral y
conocer sobre
las
competencias
que debe tener
quien aspira a
un cargo.
sistematizar las
funciones,
agilizar los
procesos
mediante
medios
tecnológicos
Una
reingeniería en
el
planteamiento
de la prestación
del servicio vs
la necesidad de
sus clientes.
Prestar un
buen servicio.
Ofertar buenos
empleos.
Qué se realicen
notificaciones
Informar
oportunamente
a empleadores
y usuarios
Empleos
cualificados
83
Elementos
económicos
Mejorar las
condiciones laborales
Tecnologías
sencillas
Falta de
planeación
Diseñar para los
Usuarios
Envío de
notificaciones
Diseños
recargados
Trabajos acordes a los
perfiles
No enfatizar, en
la experiencia
del Usuario
Mejores servicios
Diseño para Hacer, no para
Servir
No uso de
tecnologías de
punta
Software necesario
para elaborarlo
adecuadamente
Computadores
con los programas
requeridos
Problema
(Causa)
Este proyecto, lo
realizará un analista
desarrollar
Maquinaria /
Equipo
Fuente: Elaboración propia
En la siguiente tabla se muestra el Paso 1: Planear: / Paso 2: Hacer (Plan de Acciones) (¿Cómo?)
Tabla 12. Paso 1: Planear: / Paso 2: Hacer (PLAN DE ACCIONES) (¿CÓMO?)
PHVA PASO 1: PLANEAR / PASO 2: HACER (PLAN DE ACCIONES)
(¿CÓMO?)
Hoja 4 de 8
Problema Diseño del Plan de Acción Líder PHVA Lourdes Toro
Producto Diseño del Plan de Acción PHVA No. 005
No. de Parte Planear - Hacer Fecha Apertura Septiembre 2014
Cliente Universidad Distrital Fecha Cierre Diciembre 2014
PLAN DE ACCIONES
Proble
ma
A c c i o n e s ¿Qu
ién?
¿Cuando? Efectivid
ad
Comentarios
Inic
io
Fin
Enfoq
ue en
diversa
s áreas
1 Diversificar las
áreas de
conocimiento
LT En
ero
201
5
Enero
2016
80% Se puede hacer al
implementar la
aplicación
84
Varie
dad de
ofertas
2 Ampliar el
tipo de
empresas, que
oferten
LT Feb
rero
201
5
Febrer
o 2016
70% Se puede hacer al
implementar la
aplicación
Mejor
es
diseño
s
3 Diseñar de
acuerdo al
Usuario y sus
necesidades
LT Ma
rzo
201
5
Marzo
2016
100% Se cumplió el
objetivo
Mejor
es
proces
os
4 Hacer los
procesos más
eficientes
LT Ab
ril
201
5
Abril
2016
100% Se cumplió el
objetivo
Eficie
nte
5 Apoyar los
mejores
procesos, con
tecnología de
punta
LT Ma
yo
201
5
Mayo
2016
100% Se cumplió el
objetivo
Emple
os
calific
ados
6 Contactar
empresas
idóneas
LT Jun
io
201
5
Junio
2016
100% Se cumplió el
objetivo
Fuente: Elaboración propia
En la siguiente tabla se muestra el Paso 3: Verificar (PLAN DE ACCIONES) (¿CUANTO?)
Tabla 13. Paso 3: Verificar (PLAN DE ACCIONES) (¿CUANTO?)
PHVA PASO 3: VERIFICAR
(PLAN DE ACCIONES) (¿CUANTO?)
PHVA No.: 006 FECHA: Julio 2016
1a
Rev
isió
n
Proceso Mejora de Procesos total Observaciones Responsable
de la
inspección:
Fecha:
1o Mejores Diseños 0 Enero 2015
2o Uso de mejor tecnología 0 Enero 2015
3o Mejora de Procesos 0 Enero 2015
Todas las acciones propuestas han sido terminadas SI X
NO
Si es no explicar:
85
2d
a R
evis
ión
Proceso Mejora de Procesos total Observaciones Responsable
de la
inspección:
Fecha:
1o Mejores Diseños 10 Enero 2015
2o Uso de mejor tecnología 10 Enero 2015
3o Mejora de Procesos 10 Enero 2015
Todas las acciones propuestas han sido terminadas SI X
NO
Si es no explicar:
3a
Rev
isió
n
Proceso Mejora de Procesos total Observaciones Responsable
de la
inspección:
Fecha:
1o Mejores Diseños 0 Enero 2015
2o Uso de mejor tecnología 0 Enero 2015
3o Mejora de Procesos 0 Enero 2015
Todas las acciones propuestas han sido terminadas SI X
NO
Si es no explicar:
Las medidas propuestas han sido comprobadas exitosamente Si
No X
Si es no
explicar
Área / Puesto Nombre Firma Fecha
Analista Desarrollador Lourdes Toro Enero 2015
Tutor Proyecto Miguel Leguizamón Enero 2015
Asesor Asesor Egresados 1 Enero 2015
Asesor Asesor Egresados 1 Enero 2015
Fuente: Elaboración Propia
En la siguiente tabla se muestra el Paso 3: Verificar Tracking Chart (Validación)
Tabla 14. Paso 3: Verificar Tracking Chart (Validación)
86
PHVA PASO 3: VERIFICAR TRACKING CHART (VALIDACIÓN)
Indicador: S o l u c i o n a r p r o b l e m a s
Fecha: N o v i e m b r e 2 0 1 6
Producto: H i s t o r i a s d e U s u a r i o s
Problema: D i s e ñ a r l o s r e q u e r i m i e n t o s
ACTIONS
1 Realizar Encuestas
X
X
X
X
2 Verificar Resultados X
X
X
X
X
3 Analizar Resultados X
X
4 Diseñar Historias de
Usuarios X
X X X
X
X
X
5 Plan de Publicaciones
X
X
6 Iteraciones X X
X
X
7 Programación en
Parejas X X
X X
X
X X
8 Reuniones Diarias X X X X
X
X X
X
X X
9 Refactorización X X X
X
X
10 Diseños Simples X X
X
X
11 Nuevas
Funcionalidades
X
12 Codificación X X X
X X
13 Pruebas X X
14 Test de Aceptación
X
X
Fuente: Elaboración Propia
En la siguiente tabla se muestra el Paso 3: Verificar Datos (Validación)
Tabla 15. Paso 3: Verificar Datos (Validación)
MESES
87
PDCA PASO 4: ACTUAR ESTANDARIZACIÓN
(MODIFICAR DOCUMENTOS DEL SISTEMA)
PROBLEMA Levantamiento de Requerimientos LIDER PHVA Lourdes Toro
PRODUCTO REQUERIMIENTOS PHVA No. 6
No. DE PARTE 6 FECHA APERTURA Septiembre 2015
CLIENTE Universidad Distrital FECHA DE CIERRE Noviembre 2015
ESTANDARIZACIÓN
Hacer una lista de los documentos
afectados
Cuáles son las intervenciones que se deben hacer para
impedir la recurrencia del problema
Encuesta 1
Encuesta 2
Resultados de las Encuestas
Levantamiento de Requerimientos
Reuniones Diarias con Usuarios
Refactorización
Codificación
Realizar un análisis completo de toda la documentación,
que se requiere, para diseñar e implementar una
aplicación, que puede ser descargada en teléfonos y
Tablets.
Modificar algunos de los procesos, para hacerlos más
rápidos, agiles y eficientes.
Revisar la codificación para asegurarnos de cumplir los
requerimientos de los posibles usuarios.
PERSPECTIVAS
Nuevos Proyectos Impacto de Acciones
Cuáles son los puntos a tener en
cuenta en los nuevos proyectos
Verificar el traslado de acciones a productos ó procesos
similares
Lecciones aprendidas
Implementar un proceso robusto que nos permita mejorar
la aplicación JOBUD, para hacerla eficiente y totalmente
implementable en el servidor de la Universidad Distrital
Fuente: Elaboración Propia
88
3. FASE DE ANALISIS, DISEÑO E IMPLEMENTACION
La Aplicación Móvil JOBUD que es la Bolsa de Empleos de la Universidad Distrital,
para usarla en dispositivos móviles, se diseñará e implementará para Android, que es una
plataforma de software y un sistema operativo para dispositivos móviles basada en un kernel
Linux, desarrollada por Google y más tarde por la Open Handset Alliance. La mayor parte
de la plataforma de Android está disponible bajo licencia de software libre de Apache y otras
licencias de código abierto.63
La estructura del sistema operativo, compuesto por más de 12 millones de líneas de
código escritas en C, C++, Java y XML, está formada por un conjunto de aplicaciones que
se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre una máquina
virtual conocida como Dalvik Virtual Machine y que se compilan en tiempo de ejecución.64
Con los wireframes y storyboard se estructura el Back-end. Se configura el servidor, la base
de datos, APIs y soluciones de almacenamiento. Además de realizar los Skins son las
pantallas necesarias para la aplicación. También se hacen las primeras pruebas, para empezar
a testear la aplicación en su diseño previo a la publicación en la Tienda de Android.65
63 Chouge, D. F. (Enero de 2017). Monografìas.com. Obtenido de http://www.monografias.com/trabajos101/
sistema-operativo-android/sistema-operativo-android.shtml.
64 Diseño e Implementación de una Aplicación Distribuida de Gestión de Inventario para Dispositivos
Móviles. Pacheco Martín Víctor. Leganés, España, octubre de 2011. 65 Ibit.
89
3.1. GLOSARIO DE TÉRMINOS
Ajax: Acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es
una técnica de desarrollo web para crear aplicaciones interactivas
API: Interfaz de Programación de Aplicaciones
AspectJ: Es un lenguaje de programación orientado por aspectos construido como una
extensión del lenguaje Java creado en Xerox PARC
Back-end: Capa de presentación, que se encarga de la representación de la información, de
manera que aunque distintos equipos puedan tener diferentes representaciones, los datos
lleguen de manera reconocible.
Beans: Ingeniería de software basada en componentes
Big Data: Macrodatos, datos masivos o datos a gran escala es un concepto que hace
referencia a conjuntos de datos
CSS: Hojas de estilo en cascada (o CSS, siglas en inglés de Cascading Stylesheets) es un
lenguaje de diseño gráfico para definir y crear la presentación de un documento estructurado
escrito en un lenguaje de marcado
Eclipse: Es una plataforma de software compuesto por un conjunto de herramientas de
programación de código abierto multiplataforma para desarrollar Aplicaciones de Cliente
Enriquecido
Framework: O infraestructura digital, es una estructura conceptual y tecnológica de soporte
definido, normalmente, con artefactos o módulos concretos de software
Front-end: Capa de acceso a datos
Git: Es un software de control de versiones, pensando en la eficiencia y la confiabilidad del
mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos
de código fuente.
GNU: es un sistema operativo de tipo Unix desarrollado por y para el Proyecto GNU, y
auspiciado por la Free Software Foundation
GPL: Licencia Pública General de código abierto o libre
HTML: HyperText Markup Language, es el lenguaje básico de la World Wide Web
90
IDE: Integrated Development Environment, entorno o ambiente de desarrollo integrado.
JavaEE: Java Platform, Enterprise Edition o Java Empresarial
Javascript: Es un lenguaje de programación interpretado, dialecto del estándar ECMAScript
JQuery: es una biblioteca multiplataforma de JavaScript.
JSP: Java Server Pages es una tecnología que ayuda a los desarrolladores de software a crear
páginas Web dinámicas basadas en HTML y XML
LGPL: La Licencia Pública General Reducida de GNU, o más conocida por su nombre en
inglés GNU Lesser General Public License
Maven: Es una herramienta de software para la gestión y construcción de proyectos Java
NoSQL: no sólo SQL, es una amplia clase de sistemas de gestión de bases de datos que
difieren del modelo clásico de SGBDR o Sistema de Gestión de Bases de Datos Relacionales
PhpMyAdmin: Es una herramienta escrita en PHP con la intención de manejar la
administración de MySQL a través de páginas web, utilizando Internet
Pivotal Cloud Foundry: Es una plataforma como servicio (PaaS) código abierto
originalmente desarrollado por VMware y ahora poseído por Pivotal Software
Servlets: Es una clase en el lenguaje de programación Java
SGC: Sistema de Gestión de Calidad
Stack: Es una lista ordenada o estructura de datos que permite almacenar y recuperar datos
Storyboard: Guion gráfico, es un conjunto de ilustraciones mostradas en secuencia dentro
de un aplicativo
Test-bed: El servidor de terminales de DECSA, es una prueba-de-concepto para usar el
protocolo local propietario del transporte
TIC: Tecnologías de la Información y el Conocimiento
Wireframes: Es un algoritmo de renderización del que resulta una imagen semitransparente,
de la cual solo se dibujan las aristas de la malla que constituye
XML: Lenguaje de Marcado o de Marcas Extensible, es un meta-lenguaje que permite definir
lenguajes de marcas desarrollado por el World Wide Web Consortium (W3C)
91
3.2. BASE Y MODELO DE DATOS
Para la generación del modelo de la base de datos y su implementación, se utiliza la
tecnología de MySQL. El diagrama fue realizado con la herramienta MySQL Workbench, la
cual al estar directamente relacionada con el servidor de MySQL 5.7, permite generar la base
de datos desde el modelo automáticamente, además de facilitar el uso de varias herramientas
de MySQL, como la carga de scripts de bases de datos existentes y así mismo su exportación.
En la siguiente figura muestra cómo se desarrolla una base de datos como MySQL, utilizando
la herramienta Workbench.
Figura 22. Desarrollo de la Base de Datos de JOBUD en la Herramienta Workbench
Fuente: Elaboración propia
92
3.3. MODELO ENTIDAD – RELACIÓN DEL SISTEMA JOBUD
El modelo Entidad Relación es una representación simplificada de un proceso del
software, en la siguiente figura se muestra el modelo de procesos de la Bolsa de Empleos de
la Universidad Distrital.
Figura 23. Modelo Entidad – Relación en Workbench
Fuente: Elaboración propia
93
3.4. PROCEDIMIENTOS ALMACENADOS
Para realizar algunas consultas se crearon algunos procedimientos almacenados en la
base de datos:
estudio_obtenerPorUsuario
CREATE DEFINER=`root`@`localhost` PROCEDURE `estudio_obtenerPorUsuario`(in
usuarioId int(11))
BEGIN
select * from estudio where usuario_id = usuarioId;
END
El anterior procedimiento almacenado consulta los estudios de un usuario, por tal
motivo debe recibir el id respectivo de la tabla usuario, y retorna un listado con los estudios
de dicho usuario.
experiencia_obtenerPorUsuario
CREATE DEFINER=`root`@`localhost` PROCEDURE
`experiencia_obtenerPorUsuario`(in usuarioId int(11))
BEGIN
select * from experiencia where usuario_id = usuarioId;
END
Este procedimiento consulta las experiencias laborales registradas por un usuario, y
retorna un listado de ellas.
oferta_obtenerPorSector
CREATE DEFINER=`root`@`localhost` PROCEDURE `oferta_obtenerPorSector`(in
sectorId int(11))
BEGIN
if sectorId = 0 then
select * from oferta;
else
select * from oferta where sector_id = sectorId;
end if;
END
94
El anterior procedimiento consulta todas las ofertas si el id de sector es 0, en caso
contrario consulta solo las ofertas asociadas al id del sector.
sector_obtenerTodos
CREATE DEFINER=`root`@`localhost` PROCEDURE `sector_obtenerTodos`()
BEGIN
select * from sector;
END
Este procedimiento retorna la lista con todos los sectores registrados en el sistema.
usuario_obtenerPorEmailPass
CREATE DEFINER=`root`@`localhost` PROCEDURE `usuario_obtenerPorEmailPass`(in
email varchar(200), in pass varchar(200))
BEGIN
select * from usuario where usuario_email = email and usuario_pass = pass;
END
Con este procedimiento se valida el ingreso de un usuario al sistema, con su email y
contraseña, si existe retorna al usuario, si no retornara una lista vacía.
3.5. BACK-END
El Back-end de la aplicación, fue desarrollado en la herramienta Spring Tool Suite,
usando el lenguaje de programación Java, más exactamente la versión 8. Con Java y las
herramientas de Spring que facilitan varios procesos en Java, se codifica un API de Servicios
REST, que permite realizar operaciones CRUD (Create, Read, Update, Delete) sobre la base
de datos, con llamadas GET y POST asíncronas, realizadas desde el Front-end.
Dicho Back-end está organizado en tres capas:
95
DAO (Data Acces object): Que es la encargada de procesar directamente las
solicitudes en la base de datos.
Service: Encargada de modificar, organizar y formatear los datos como sea necesario
para que lleguen correctamente al Front-end, o sean correctamente aplicados en la
base de datos, desde el Front-end.
Controller: Capa encargada de generar los datos en formato estándar JSON, para que
sean entendidos y procesados correctamente por el Front-end, y también sean
recibidos de forma correcta por el Back-end.
En la siguiente figura se muestran las clases del paquete Model.
96
Figura 24. Clases del Paquete Model
Fuente: Elaboración propia
Las clases del paquete Model, son las representaciones de las tablas de las bases de
datos, pero en forma de objetos en Java, estas contienen los mismos campos de las bases de
datos y los enlaces a los procedimientos almacenados en la base de datos. Se incluyen
97
también unas cuantas clases útiles para el manejo del envío de correos electrónicos, y los
archivos de hoja de vida, subidos por los usuarios.
El archivo que contiene la configuración de la conexión a la base de datos y de las rutas
a las hojas de vida en el servidor se encuentra en la carpeta resources, con el nombre de:
application.yml. En la siguiente figura se exponen las rutas de la conexión a la base de datos
Figura 25. Rutas de Conexión a la Base de Datos JOBUD
Fuente: Elaboración propia
El Back-end es montado sobre el servidor de aplicaciones Tomcat 8. Generalmente en
el puerto 8080 del servidor es el acceso al Back-end, junto con la ruta de este que es
/BolsaEmpleoUDBackEnd.
98
3.6. FRONT-END
El Front-end fue desarrollado en Apache Cordova (usando Visual Studio 2015), que es
una herramienta que permite programar aplicaciones móviles a partir de HTML, CSS y
Javascript (JQuery, Ajax), como cualquier página o aplicación Web, además de esto permite
su portabilidad a varias plataformas móviles diferentes utilizadas actualmente, de manera
más cómoda para el programador.
La estructura del Front-end es más simple. Se tienes básicamente tres partes
importantes, la parte visual realizada con HTML, CSS, Javascript y Bootstrap que es una
herramienta que facilita la visualización de los componentes de una página, en varios
tamaños de pantalla, sin destruir la armonía inicial, definida por el diseñador y programador.
La segunda parte es la de scripts (Javascript, JQuery, Ajax), que son los encargados de
realizar todas las solicitudes al Back-end de forma asíncrona usando Ajax, además de algunas
utilidades como el manejo de campos, restricciones de seguridad y demás aspectos de la
aplicación.
Los plugins que permite instalar Apache Cordova para realizar diferentes operaciones
nativas en el dispositivo móvil. Manejo del sistema de archivos, Selector de archivos,
seguridad y manejo de internet, imágenes de inicio de la aplicación, o manejo de operaciones
con el explorador del sistema.
En la siguiente figura se muestran las diferentes clases y archivos que se crean dentro
de la aplicación en la herramienta Apache Cordova.
99
Figura 26. Archivos en la Aplicación Apache Cordova
Fuente: Elaboración propia
Los datos de conexión con el Back-end se pueden modificar en las primeras líneas de
los archivos consulta.js y registro.js. Además, existe un archivo llamado config.xml donde
100
podemos definir varios atributos para cada plataforma móvil, además de agregar más plugins
si es necesario.
3.7. ENCRIPTACIÓN DE LA CONTRASEÑA
La contraseña de la Aplicación Bolsa de Empleos de la Universidad Distrital, se realizó
con el estándar de cifrado (encriptación) avanzado AES, Advanced Encryption Standard
(AES), es uno de los algoritmos más seguros y utilizados hoy en día, disponible para uso
público. Está clasificado por la Agencia de Seguridad Nacional, National Security Agency
(NSA), de los Estados Unidos para la seguridad más alta de información secreta “Top
Secret”.66
Su historia de comenzó 1997, cuando el Instituto Nacional de Estándares y Tecnología,
National Institute of Standards and Technology (NIST), anunció la búsqueda de un sucesor
para el estándar de cifrado DES. Un algoritmo llamado "Rijndael", desarrollado por los
criptólogos belgas Joan Daemen y Vincent Rijmen, fue destacado en seguridad, así como en
el rendimiento y la flexibilidad. Este algoritmo fue oficialmente presentado como el nuevo
estándar de cifrado AES en el 2001 y se transformó en estándar efectivo en el 2002. El
algoritmo se basa en varias sustituciones, permutaciones y transformaciones lineales,
ejecutadas en bloques de datos de 16 bytes, por lo que se le llama blockcipher. Estas
operaciones se repiten varias veces, llamadas "rondas". En cada ronda, un único “roundkey”
se calcula de la clave de encriptación, y es incorporado en los cálculos.
66 Boxcryptor. Pfundmeier Andrea, Freudenreich Robert. Tomado de la página Web https://www.boxcryptor.
com/es/cifrado. Fecha: Febrero 20 de 2017. Hora: 2:50 am.
101
Basado en esta estructura de bloque de AES, el cambio de un solo bit, ya sea en la clave,
o en los bloques de texto simple y claro, resulta en un bloque de texto cifrado/encriptado
completamente diferente, una clara ventaja sobre cifrados de flujo tradicionales. La
diferencia entre AES-128, AES-192 y AES-256, es la longitud de la clave: 128, 192 o 256
bits, todos drásticamente mejorados en comparación con la clave DES de 56 bits. A modo de
ejemplo: Descifrar una clave de 128 bits AES con una supercomputadora estándar del
momento, llevaría más tiempo que la presunta edad del universo. Hasta el día de hoy, no
existe posible ataque contra AES. Por lo tanto, sigue siendo el estándar AES de cifrado
preferido por los gobiernos, los bancos y los sistemas de alta seguridad de todo el mundo.67
67 Op. Cit.
102
4. PRUEBAS FUNCIONALES
Una prueba funcional es una prueba basada en la ejecución, revisión y retroalimentación
de las funcionalidades previamente diseñadas para el software. Las pruebas funcionales se
hacen mediante el diseño de modelos de prueba que buscan evaluar cada una de las opciones
con las que cuenta el paquete informático. Dicho de otro modo son pruebas específicas,
concretas y exhaustivas para probar y validar que el software hace lo que debe y sobre todo,
lo que se ha especificado.68
Las pruebas funcionales se dividen en las siguientes fases:
4.1. ANÁLISIS DE REQUISITOS (PLANIFICACIÓN)
En esta fase se inicia la elaboración del modelo jerárquico de requisitos de prueba
partiendo de los procesos funcionales que soporta el producto o activo de software a evaluar.
Se debe obtener toda la información de la aplicación sobre la cual se realizan las pruebas.69
4.2. DISEÑO DEL PLAN DE PRUEBAS (PREPARACIÓN)
En esta fase se identifica, acuerda y especifican los atributos y características de calidad
que se van a probar. El objetivo es diseñar las pruebas para que tengan la mayor probabilidad
68 Pruebas Funcionales. Wikipedia la Enciclopedia Libre. Tomado de la página Web https://es.wikipedia.org/
wiki/Pruebas_funcionales. Fecha: 19 dic 2016. Hora: 1:43 pm. 69 Ibit.
103
de encontrar defectos con la mínima cantidad de esfuerzo y tiempo. Serán pruebas que se
llevarán a cabo a través de la interfaz gráfica del software (GUI). Es decir, demostrar que las
funciones del software son operativas, que la entrada se acepta de forma adecuada y que se
produce una salida correcta, así como que la integridad de la información externa se
mantiene. Se crearán casos de prueba divididos en pasos (steps) para cada acción a realizar
con un resultado esperado asociado, que podrá ser verificado. Durante la fase de diseño
también se especifican los datos de entrada necesarios para que los casos de pruebas definidos
puedan ser ejecutados (ya sea buscando el éxito de la prueba, o bien el fallo).70
4.3. EJECUCIÓN
En esta fase se ejecutarán los casos de prueba que se requieran, aprovechando las
herramientas existentes en Internet de manera gratuita. Los casos de prueba fallados se
reportarán a los desarrolladores para su corrección hasta que su resultado sea correcto.
4.4. GESTIÓN DE INCIDENCIAS (DEFECTOS)
La gestión de incidencias es una parte implícita de la fase de ejecución, pero que al tener
gran importancia en las pruebas funcionales, se diferencia como una etapa independiente.
Cuando al realizar la acción de un step el resultado obtenido no es el esperado, habrá que
abrir o reportar una incidencia para que el equipo de desarrollo tenga constancia del error.
Las incidencias han de ser claras y con todo detalle, tienen que describir el error para que el
70 Op. Cit.
104
desarrollador pueda comprenderlo, reproducirlo, localizarlo y poder solucionarlo. Es
necesario conocer el estado de los defectos y poder realizar las pruebas necesarias para su
cierre.71 Según ejecución las pruebas funcionales pueden ser:
4.5. MANUALES
Las pruebas funcionales manuales son las que ejecuta un tester como si fuese un usuario
pero, siguiendo una serie de pasos establecidos o test plan, diseñado en el análisis de los
requisitos para garantizar que hace lo que debe (casos positivos), que no falla (casos
negativos) y que es lo que se ha solicitado. El tester realizará las acciones indicadas en cada
step del caso de prueba comprobando que se cumple el resultado esperado. Si el resultado es
distinto al esperado, se reportará un defecto con todo detalle: descripción, datos utilizados,
capturas de pantalla, etc. para facilitar la solución del defecto por parte del desarrollador.72
4.6. AUTOMÁTICAS
Las pruebas funcionales automáticas son pruebas funcionales que se automatizan para
"ahorrar tiempo de pruebas". Esos casos suelen ser los más importantes (happy flow) de los
módulos o procesos de negocio "vitales" de la aplicación, es decir, los procesos que siempre
71 Pruebas Funcionales. Wikipedia la Enciclopedia Libre. Tomado de la página Web https://es.wikipedia.org/
wiki/Pruebas_funcionales. Fecha: 19 dic 2016. Hora: 1:43 pm. 72 Ibit.
105
tienen que funcionar y evitar fallos. El objetivo de las pruebas funcionales automáticas es
comprobar que nada de lo probado con anterioridad ha dejado de funcionar como debería.73
La Aplicación Bolsa de Empleos de la Universidad Distrital JOBUD será analizada para
revisar posibles fallos, de manera automática, aprovechando la herramienta online Monkop,
pues realiza un análisis de rendimiento real utilizando dispositivos reales, lo que evita malas
calificaciones en el mercado y le ahorra tiempo y dinero al desarrollador, permitiéndole
concentrarse en corregir los errores. Ejecuta un análisis de rendimiento profundo incluyendo
tiempo de respuesta y consumo de recursos (CPU, memoria, transferencia de datos,
procesamiento, base de datos, etc). Monkop tiene su propio laboratorio en la nube utilizado
para ejecutar pruebas en diferentes dispositivos reales, incluyendo todos los tamaños de
pantalla relevantes y versiones de Android, proporcionándole información sobre la
fragmentación de Android.74
En la siguiente gráfica se muestran las características de la aplicación, propiedades,
permisos, tecnología usada para el desarrollo entre otros.
73 Ibit. 74 Ibit.
106
Figura 27. Propiedades de la Aplicación
Fuente: Monkop, herramienta online para pruebas funcionales
En la siguiente gráfica se muestra en que dispositivos se probó la aplicación, que
versiones de Android y que resoluciones de pantalla. Aparece un cuadro rojo de un bug que
apareció en el dispositivo especificado, de todos los dispositivos en los que se prueba.
107
Figura 28. Pruebas en Diferentes Dispositivos
Fuente: Monkop, herramienta online para pruebas funcionales
En la siguiente figura se muestra el uso de recursos en los dispositivos. Hay un alto
consumo de energía CPU en algunos de ellos, esto depende mucho de la capacidad de la CPU
para procesar la tecnología de Apache Cordova que facilita el desarrollo, pero es más pesada
que de forma nativa, de resto los valores se encuentran en niveles normales como se muestra
en el informe.
108
Figura 29. Uso de Recursos en los Dispositivos
Fuente: Monkop, herramienta online para pruebas funcionales
109
El gasto energético de la aplicación no es nada considerable así que no hay consumo
excesivo de la batería.
Figura 30. Uso de la Batería en la Aplicación
Fuente: Monkop, herramienta online para pruebas funcionales
Finalmente se detalla el bug que aparece en uno de los dispositivos, ya que al parecer la
aplicación se queda congelada y no responde, podría ser por posible falta de compatibilidad
con las tecnologías usadas en la aplicación y los dispositivos empleados en la prueba.
110
Figura 31. Errores Detallados en el Dispositivo
Fuente: Monkop, herramienta online para pruebas funcionales
111
SUGERENCIAS Y RECOMENDACIONES
Subir la aplicación Bolsa de Empleos de la Universidad Distrital JOBUD, a la tienda de
Android, le permitirá a cualquier usuario en cualquier lugar del mundo, utilizar el aplicativo y
aprovechar sus servicios.
Diseñar el aplicativo con las mejores y más actuales tecnologías, les permite a los usuarios,
tener una excelente experiencia, en tiempo y notificaciones, que se reciben en el celular, en la cuenta
de correo.
Recomendamos a la Universidad Distrital adoptar la aplicación, para ser pionera, en las Bolsas
de Empleo de las propias universidades, de Colombia.
112
CONCLUSIONES
Al realizar el levantamiento de información, se obtuvieron los requerimientos del
sistema. Lo que permitió desarrollar la aplicación Bolsa de Empleos de la Universidad
Distrital JOBUD, que permite hacer consulta y actualizaciones vía web, implementando
motores de búsqueda.
La aplicación JOBUD permite verificar que la información de los diferentes perfiles se
pueda cotejar y suministrar a los usuarios que la requieran, ya sean aspirantes o empresas,
por medio de dispositivos móviles. Efectuando las pruebas funcionales del sistema, se
comprobó que cumple con los requerimientos y necesidades de los usuarios.
Este proyecto es de gran beneficio para la Universidad Distrital, pues al ser
implementado, permite a los usuarios del sistema acceder a todos los servicios que presta la
aplicación, brindando la oportunidad de tener un empleo cualificado mientras se está
estudiando o cuando ya es egresado.
A las empresas les permite obtener personal calificado, egresados de una de las mejores
universidades del país. Además de ofrecer apoyo y agilidad cuando se está desempleado ya
que la interfaz es amigable con los usuarios. Para Bienestar Institucional permite monitorear
online los diversos empleos ofrecidos por las empresas con las que se tienen convenios y
optimizar los recursos de esta dependencia.
113
BIBLIOGRAFÍA
Agencia Nacional de Aprendizaje SENA. Agencia Pública de Empleo SENA. [En línea] 10
de Octubre de 2014. [Citado el: 15 de Octubre de 2014.] http://spe.sena.edu.co/index.html.
Bolsas de Empleo en Colombia. Altillo.com El Portal de los Estudiosos. [En línea] [Citado
el: 8 de Noviembre de 2014.] http://www.altillo.com/trabajo/trabajo_col.asp.
Boxcryptor. [En línea] 18 de Febrero de 2017. [Citado el: 18 de Febrero de 2017.]
https://www.boxcryptor.com/es/cifrado.
Conocimientos e Investigación de Alto Impacto para el Desarrollo Humano y Social
Universidad Distrital Francisco José de Caldas. p. 12.
Consejo Superior Universitario. Plan Estratégico de Desarrollo 2007-2016: Saberes,
Conocimientos e Investigación de Alto Impacto para el Desarrollo Humano y Social. Bogotá:
Universidad Distrital Francisco José de Caldas, 2007.
Giovanny Rodrigo, Bermudez Bohorquez. Informe de Gestión Centro de Investigaciones y
Desarrollo Cientifico CIDC. Bogota : Universidad Distrital Francisco Jose de Caldas,
2011.
Distrital, Universidad. [En línea] 15 de Octubre de 2014.
http://www.udistrital.edu.co/#/universidad.php.
Galeon.com. [En línea] 1 de Noviembre de 2014.
http://johnnavas.galeon.com/productos1002127.html.
Graduados colombia. [En línea] 17 de Octubre de 2014.
http://www.graduadoscolombia.edu.co/html/1732/article-145559.html.
Guía para Sitios Web del Distrito Capital. <http://www.bogota.gov.co/>. [Citado en 9 abril
de 2009, 15:45]
Instituto Colombiano de Normas Técnicas. Normas Colombianas para la presentación de
tesis, trabajos de grado y otros trabajos de investigación. Sexta actualización. Bogotá D.C.:
ICONTEC, 2008. 4p. NTC 1486.
Pressman, Roger. Ingeniería de software. Un enfoque práctico. Editorial Mc Graw Hill.
Quinta edición 2002.
Stallings William. Redes e Internet de Alta Velocidad Rendimiento y Calidad de Servicio.
Ed. Prentice Hall. 2ª Edición. pp. 150 151
114
SMWORLD, Portal de consulta para aplicaciones móviles (online). (Consultado en enero 15
de 2017). http://www.gsmworld.com/roaming/gsminfo/index.shtm
Tiempo, Casa Editorial El. El Tiempo. [En línea] 31 de Octubre de 2013.
http://www.eltiempo.com.
Universidad Distrital Francisco José de Caldas. Historia de la Universidad. Disponible desde
Internet en: http://www.udistrital.edu.co/informacion/historia.asp [Citado en 10 julio de
2015, 11:30].
115
ANEXOS
116
ANEXO 1
ENCUESTAS
117
TABLA DE CONTENIDO
ANEXO 1 ........................................................................................................................... 116
ENCUESTAS ..................................................................................................................... 116
ENCUESTAS DE USUARIOS ......................................................................................... 119
1. RESULTADOS DE LA PRIMERA ENCUESTA REALIZADA ......................................................................... 119 2. RESULTADOS DE LA SEGUNDA ENCUESTA .......................................................................................... 121 3. FORMULARIOS DE CADA UNA DE LAS ENCUESTAS .............................................................................. 129
118
LISTA DE GRÁFICAS
FIGURA 1. PREGUNTA ¿HA USADO UNA BOLSA DE EMPLEOS? EN LA ENCUESTA 1. ...................................... 121 FIGURA 2. PREGUNTA ¿HA USADO UNA BOLSA DE EMPLEOS? EN LA ENCUESTA 2. ...................................... 122 FIGURA 3. PREGUNTA ¿SABE CÓMO FUNCIONAN? EN LA ENCUESTA 1. ........................................................ 122 FIGURA 4. PREGUNTA ¿SABE CÓMO FUNCIONAN? EN LA ENCUESTA 2. ........................................................ 122 FIGURA 5. PREGUNTA ¿LE GUSTA SU FUNCIONAMIENTO? EN LA ENCUESTA 1. ............................................ 123 FIGURA 6. PREGUNTA ¿LE GUSTA SU FUNCIONAMIENTO? EN LA ENCUESTA 2. ............................................ 123 FIGURA 7. PREGUNTA ¿CÓMO CREE QUÉ SE PUEDE MEJORAR? EN LA ENCUESTA 1. .................................... 124 FIGURA 8. PREGUNTA ¿CÓMO CREE QUÉ SE PUEDE MEJORAR? EN LA ENCUESTA 2. .................................... 125 FIGURA 9. PREGUNTA ¿LE GUSTARÍA RECIBIR NOTIFICACIONES, SI LA EMPRESA DESEA CONTRATARLO? EN
LA ENCUESTA 1. ..................................................................................................................................... 125 FIGURA 10. PREGUNTA ¿LE GUSTARÍA RECIBIR NOTIFICACIONES, SI LA EMPRESA DESEA CONTRATARLO? EN
LA ENCUESTA 2. ..................................................................................................................................... 126 FIGURA 11. PREGUNTA ¿LE GUSTARÍA QUÉ ESAS NOTIFICACIONES LE LLEGARÁN A SU CELULAR O AL CORREO
ELECTRÓNICO? EN LA ENCUESTA 1. ...................................................................................................... 126 FIGURA 12. PREGUNTA ¿LE GUSTARÍA QUÉ ESAS NOTIFICACIONES LE LLEGARÁN A SU CELULAR O AL CORREO
ELECTRÓNICO? EN LA ENCUESTA 2. ...................................................................................................... 127 FIGURA 13. PREGUNTA ¿QUÉ REQUIERE UNA BOLSA DE EMPLEOS, PARA OPTIMIZAR SUS PROCESOS? EN LA
ENCUESTA 1. .......................................................................................................................................... 127 FIGURA 14. PREGUNTA ¿QUÉ REQUIERE UNA BOLSA DE EMPLEOS, PARA OPTIMIZAR SUS PROCESOS? EN LA
ENCUESTA 2. .......................................................................................................................................... 128
LISTA DE TABLAS
Tabla 1. Datos de la primera encuesta realizada en enero de 2016………………… 119
119
ENCUESTAS DE USUARIOS
Se observan las encuestas realizadas a los posibles usuarios de la aplicación Bolsa de
Empleos de la Universidad Distrital JOBUD. Estas encuestas se realizaron entre estudiantes,
egresados y comunidad de la Universidad.
Se realizaron dos encuestas en periodos diferentes, una en junio de 2016 y otra en
diciembre de 2016. Se hicieron así, para tomar grupos objetivos diferentes, con diversas
opiniones. Se explicará la última encuesta y luego se mostrarán los datos de la primera
encuesta.
1. Resultados de la Primera Encuesta Realizada
Tabla 16. Datos de la primera encuesta realizada en enero de 2016
Ha usado una Bolsa de Empleos
¿Sabe cómo funcionan?
Le gusta su funcionamiento
¿Cómo cree que se puede mejorar?
¿Le gustaría recibir notificaciones, cuando una empresa desee contratarlo?
Le gustaría que esas notificaciones le llegarán a su celular o al correo electrónico
¿Qué requiere una Bolsa de Empleos para optimizar sus procesos?
SI SI NO En la mayoría de los
casos, no se tienen
definidas las
competencias y
destrezas de las
personas para un
desempeño óptimo en
un cargo específico, se
desperdician
oportunidades de
crecimiento y
adaptabilidad, por la
generalización de las
SI Al correo
electrónico
Una reingeniería
en el
planteamiento
de la prestación
del servicio vs la
necesidad de sus
clientes. ¡O en
su defecto
contratar un
ingeniero
Industrial!
120
necesidades sin pensar
en lo específico de las
actividades.
SI SI SI SI Al correo
electrónico
NO NO NO La bolsa de empleo
debe enfocarse hacia la
relación entre la oferta
laboral y el empleado.
SI Al celular,
como mensaje
de texto
La bolsa de
empleo debe
pensar en
dirigirse a todos
los renglones de
la economía ya
que se basa
principalmente
en los servicios
asistenciales no
calificados.
SI SI SI Haciendo que lleguen
notificaciones al correo
y al celular
SI Al celular,
como mensaje
de texto, Al
correo
electrónico
Mejorar los
procesos para
hacerla mas
eficiente
NO NO SI más publicidad NO buenos empleos
NO NO NO SI Al correo
electrónico
NO SI NO SI Al correo
electrónico
SI SI SI, NO SI Al correo
electrónico
Servirse en
mayor medida
de las
tecnologías de la
información a
fin de reducir
sus trámites
presenciales
SI SI SI SI Al correo
electrónico
NO NO NO No lo conozco SI Al correo
electrónico
no conozco su
proceso
SI SI SI SI Al correo
electrónico
NO NO NO Si haciendo más tele
mercadeo en la
universidad
SI Al celular,
como mensaje
de texto
Que no se
enfoquen en
programación
sino que haya
variedad
SI SI SI Siendo muy específicos
en la oferta laboral
SI Al correo
electrónico
Estar
actualizado en
cuanto a los
requerimientos
del mundo
laboral y
conocer sobre
las
competencias
que debe tener
quien aspira a
un cargo. De
esta manera se
121
logra prestar un
buen servicio.
SI SI SI debiera haber un
control de su
funcionamiento por el
Estado o ministerio
encargado
SI Al celular,
como mensaje
de texto, Al
correo
electrónico
mejorar sus
bases de datos
en relación con
los perfiles de
los
requerimientos
de quienes
buscan empleo
SI, NO NO NO Mejorar las técnicas de
reclutamiento de
personal
Proceso rápido,
garantizado, cobertura
nacional
Aplicación e
interpretación de
Pruebas Psicológicas.
SI Al correo
electrónico
sistematizar las
funciones,
agilizar los
procesos
mediante
medios
tecnologicos
NO SI NO SI Al correo
electrónico
SI NO NO SI Al celular,
como mensaje
de texto, Al
correo
electrónico
Fuente: Elaboración propia
2. Resultados de la Segunda Encuesta
En la siguiente figura se muestra los resultados de la encuesta a la pregunta ¿Ha usado
una Bolsa de Empleos? En la encuesta 1 y en la encuesta 2.
Figura 32. Pregunta ¿Ha usado una Bolsa de Empleos? En la encuesta 1.
Fuente: Elaboración propia
122
Figura 33. Pregunta ¿Ha usado una Bolsa de Empleos? En la encuesta 2.
Fuente: Elaboración propia
En la siguiente figura se muestra los resultados de la encuesta a la pregunta ¿Sabe
cómo funcionan?
Figura 34. Pregunta ¿Sabe cómo funcionan? En la encuesta 1.
Fuente: Elaboración propia
Figura 35. Pregunta ¿Sabe cómo funcionan? En la encuesta 2.
Fuente: Elaboración propia
123
En la siguiente figura se muestra los resultados de la encuesta a la pregunta ¿Le gusta
su funcionamiento?
Figura 36. Pregunta ¿Le gusta su funcionamiento? En la encuesta 1.
Fuente: Elaboración propia
Figura 37. Pregunta ¿Le gusta su funcionamiento? En la encuesta 2.
Fuente: Elaboración propia
En la siguiente figura se muestra los resultados de la encuesta a la pregunta ¿Cómo
cree qué se puede mejorar?
124
Figura 38. Pregunta ¿Cómo cree qué se puede mejorar? En la encuesta 1.
Fuente: Elaboración propia
125
Figura 39. Pregunta ¿Cómo cree qué se puede mejorar? En la encuesta 2.
Fuente: Elaboración propia
En la siguiente figura se muestra los resultados de la encuesta a la pregunta ¿Le
gustaría recibir notificaciones, si la empresa desea contratarlo?
Figura 40. Pregunta ¿Le gustaría recibir notificaciones, si la empresa desea contratarlo? En
la encuesta 1.
Fuente: Elaboración propia
126
Figura 41. Pregunta ¿Le gustaría recibir notificaciones, si la empresa desea contratarlo? En
la encuesta 2.
En la siguiente figura se muestra los resultados de la encuesta a la pregunta ¿Le
gustaría qué esas notificaciones le llegarán a su celular o al correo electrónico?
Figura 42. Pregunta ¿Le gustaría qué esas notificaciones le llegarán a su celular o al correo
electrónico? En la encuesta 1.
Fuente. Elaboración propia
127
Figura 43. Pregunta ¿Le gustaría qué esas notificaciones le llegarán a su celular o al correo
electrónico? En la encuesta 2.
Fuente: Elaboración propia
En la siguiente figura se muestra los resultados de la encuesta a la pregunta ¿Qué
requiere una Bolsa de Empleos, para optimizar sus procesos?
Figura 44. Pregunta ¿Qué requiere una Bolsa de Empleos, para optimizar sus procesos? En
la encuesta 1.
Fuente: Elaboración propia
128
Figura 45. Pregunta ¿Qué requiere una Bolsa de Empleos, para optimizar sus procesos? En
la encuesta 2.
Fuente: Elaboración propia
La información recogida en las dos encuestas, permite desarrollar un análisis de los
requerimientos, necesarios para realizar la aplicación, estos datos permiten tenerlos en cuenta
para las Historias de Usuarios, que son utilizados para preparar los artefactos que se levantan,
en la Metodología PHVA y eXtreme Programming.
Es claro que los posibles Usuarios, saben sobre las Bolsas de Empleo, conocen como
operan y las han utilizado. Se muestra también que su funcionamiento, no es el que los
129
Usuarios desearían, pues según lo que responden a las encuestas realizadas, se requiere que
la información entre el Usuario Empresa y el Usuario Aspirante, sea más fluida o ágil, que
los procesos sean eficientes. Lo que plantea la necesidad de una Bolsa de Empleos que
notifique a sus usuarios, cuando son requeridos para un empleo o saber quiénes han aplicado
a determinada oferta laboral.
La Aplicación que se debe diseñar con esta información, recogerá todos los datos
suministrados, colocándolos en la Aplicación como requerimientos del sistema. Por eso se
ha realizado dos encuestas en diferentes tiempos y a personas distintas, evitando así
duplicidad en las historias de los usuarios, y complementando los posibles requerimientos de
los usuarios.
3. Formularios de cada una de las Encuestas
Toda la información de las encuestas, las respuestas a cada una de las preguntas
realizadas, con los dos grupos objetivo, se observan en un anexo individual dentro de la
carpeta nombrada como Encuestas.
130
ANEXO 2
MANUAL DEL USUARIO APLICACIÓN MÓVIL: BOLSA DE EMPLEO DE LA
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS JOBUD
131
TABLA DE CONTENIDO
ANEXO 2 ........................................................................................................................... 130
MANUAL DEL USUARIO APLICACIÓN MÓVIL: BOLSA DE EMPLEO DE LA UNIVERSIDAD
DISTRITAL FRANCISCO JOSÉ DE CALDAS JOBUD ............................................................................... 130 MANUAL DE USUARIO ............................................................................................................................... 133
132
LISTA DE GRÁFICAS
FIGURA 1. REQUISITOS DEL FRAMEWORK ...................................................................................................... 135 FIGURA 2. PANTALLA INICIAL DEL APLICATIVO JOBUD ................................................................................... 136 FIGURA 3. FORMULARIO DE INGRESO DE DATOS BÁSICOS ............................................................................ 137 FIGURA 4. HOJA DE VIDA ................................................................................................................................. 138 FIGURA 5. LOGROS ACADÉMICOS .................................................................................................................. 139 FIGURA 6: ARCHIVO HOJA DE VIDA ................................................................................................................. 140 FIGURA 7. EXPERIENCIA LABORAL ................................................................................................................... 141 FIGURA 8. OFERTAS DE EMPLEO ..................................................................................................................... 142 FIGURA 9. EMPLEO OFERTADO ....................................................................................................................... 143
133
MANUAL DEL USUARIO
El Manual del Usuario le permite a cualquier persona que utilice la Aplicación JOBUD
ó Bolsa de Empleos de la Universidad Distrital, realizar un uso eficiente de la aplicación y
observar todas sus funcionalidades.
La Aplicación JOBUD, es una aplicación liviana, pesa menos de 2Kb, es sencilla y está
diseñada para una interacción limpia y agradable para el usuario. No tiene redundancia en
gráficos que puedan distraer o entorpecer su uso y permite, gracias a la utilización de
tecnologías de punta en aplicaciones, el envío y recepción de notificaciones, que son
directamente recibidas en los dispositivos móviles como Smartphone y tabletas.
Para asegurarse de que la aplicación se instalará y se ejecutará correctamente, primero
debe asegurarse de que todos los componentes de los que depende su aplicación ya estén
instalados en el equipo de destino. Por ejemplo, la mayoría de las aplicaciones creadas con
Visual Studio tienen una dependencia de .NET Framework; antes de instalar la aplicación, el
equipo de destino debe tener la versión correcta de Common Language Runtime.
Se puede seleccionar estos requisitos previos en el cuadro de diálogo Requisitos
previos e instalar .NET Framework y otros redistribuibles como parte de su instalación. Este
procedimiento se conoce como arranque. Después, Visual Studio genera un programa
134
ejecutable de Windows llamado Setup.exe, también conocido como programa previo. El
programa previo es responsable de la instalación de estos requisitos previos antes de que se
ejecute la aplicación.
Cada requisito previo es un paquete de programa previo. Un paquete de programa
previo es un grupo de directorios y archivos que contienen archivos de manifiesto que
describen cómo se debe instalar el requisito previo.
De forma predeterminada, el arranque está habilitado para la implementación de
ClickOnce. El programa previo generado por la implementación ClickOnce está firmado.
Puede deshabilitar el arranque para un componente, pero hágalo solo si está seguro de que la
versión correcta del componente ya está instalada en todos los equipos de destino.
Antes de instalar una aplicación en un equipo cliente, ClickOnce examinará el cliente
para asegurarse de que cumple determinados requisitos especificados en el manifiesto de la
aplicación. Entre ellas se incluyen las siguientes:
La versión mínima necesaria de Common Language Runtime, que se especifica como
una dependencia de ensamblado en el manifiesto de la aplicación. Al igual que el sistema
operativo Windows requerida por la aplicación, tal y se puede verificar mediante el elemento
VersionInfo. Además todos y cada uno de los elementos ensamblados que deben estar
preinstalados en la caché global de ensamblados (GAC), ClickOnce puede detectar los que
faltan, y se pueden instalar con un programa previo.
135
Figura 46. Requisitos del Framework
Fuente: Elaboración propia
El programa previo de Visual Studio no se admite en Windows Server 2008 Server
Core ni Windows Server 2008 R2 Server Core, que proporcionan un entorno de servidor de
bajo mantenimiento con una funcionalidad limitada. Por ejemplo, la opción de instalación
Server Core solo admite el perfil .NET Framework 3.5 Server Core, por lo que las
características de Visual Studio que dependen de la versión completa de .NET Framework
no se pueden ejecutar.
El sistema operativo de los celulares o Tablets Android debe ser de mínimo 4.2.2. Una
memoria interna de por lo menos 1Gb, pero sin tener varías aplicaciones instaladas, ya que
aplicaciciones como Wassap generan mucho uso de memoria. El procesador del teléfono es
recomendado de 4 núcleos, aunque en algunas versiones, puede funcionar con solo dos
núcleos. Claro está, esto depende también del firmware. Si hablamos de móviles Sony,
Samsung, LG o HTC quizás será mejor que el procesador sea, al menos, de gama media
La siguiente figura muestra la pantalla inicial que permite ingresar o registrarse en el
sistema.
136
Figura 47. Pantalla Inicial del aplicativo JOBUD
Fuente: Elaboración propia
Al ingresar al sistema para logearse, se solicitan unos datos básicos que muestra el
siguiente formulario
137
Figura 48. Formulario de Ingreso de Datos Básicos
Fuente: Elaboración propia
La aplicación JOBUD o Bolsa de Empleos de la Universidad Distrital, permite no solo
el ingreso de datos básicos de una empresa o de un aspirante, sino la inscripción de diferentes
logros académicos, llamados así para evitar la variedad de posibles sinónimos, como: estudio,
grado académico, nivel de capacitación u otros posibles nombres.
138
También permite agregar la experiencia laboral y una hoja de vida, como un archivo
digital ya sea en Word o PDF. Estos procesos son sencillos sin largos formularios, para que
el uso del aplicativo sea agradable al usuario.
En la siguiente figura se muestra el pantallazo de la Hoja de Vida, con 3 botones
Experiencia, Académico y Archivo.
Experiencia permite agregar la información correspondiente a la experiencia laboral
del aspirante, también permite eliminarla o agregar otros posibles empleos.
En el botón marcado como Académico. Ingresada a otro formulario que permite
agregar los conocimientos adquiridos como empleos o formación académica, ya sea
formal o informal.
En el botón Archivo permite subir la Hoja de Vida ya sea en formato .doc o PDF.
Figura 49. Hoja de Vida
Fuente: Elaboración propia
139
En la siguiente figura se muestra después de hacer click sobre el botón Académico,
ingresa al formulario ingresar nuevo logro Académico, y también un resumen como cuadro
de texto, de cada logro o formación académica, del usuario. En ella se permite eliminar o
agregar un nuevo logro académico.
Figura 50. Logros Académicos
Fuente: Elaboración propia
140
En la siguiente figura muestra la pantalla despues de haber hecho click al botón
Archivo, esta pantalla muestra un cuadro de texto, que avisa si hay o no un archivo que se
haya subido y dependiendo de la respuesta del usuario, permite agregar un nuevo archivo ya
sea en formato .doc o PDF. E indica al usuario que solo permite agregar de a un archivo a la
vez y que si se sube uno nuevo, eliminará el anterior archivo.
Figura 51: Archivo Hoja de Vida
Fuente: Elaboración propia
141
La siguiente figura permite observar la pantalla que muestra el formulario de
Experiencia Laboral, muestra un cuadro de texto con un resumen de cada Experiencia
Laboral, ademas permite agregar o eliminar cada Experiencia.
Figura 52. Experiencia Laboral
Fuente: Elaboración propia
142
En la siguiente figura se muestra la pantalla que se despliega, despues de hacer click al
botón Ofertas. Aquí se despliegan las posibles ofertas laborales, hay un cuadro desplegable
que muestra los empleos ofertados, según los estandares ofrecidos por las empresas.
Cada posible empleo muestra un cuadro de dialogo con un resumen del mismo. Al
hacer click sobre un cuadro, este se despliega y muestra el empleo ofertado, además de un
botón que permite aplicar a ese empleo, si el usuario lo desea.
Figura 53. Ofertas de Empleo
Fuente: Elaboración propia
143
En la siguiente figura se muestra el pantallazo que la aplicación genera al hacer click
sobre el cuadro del resumen del empleo ofertado.
Figura 54. Empleo Ofertado
Fuente: Elaboración propia
La aplicación Bolsa de Empleos de la Universidad Distrital JOBUD esta implementada
de manera sencilla, en un formato limpio que no distrae al Usuario, realiza las funciones
diseñadas, de manera sencilla e intuitiva para los Usuarios y lo hace eficientemente.
144
ANEXO 3
MANUAL DEL DESARROLLADOR APLICACIÓN MÓVIL: BOLSA DE EMPLEO DE
LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS JOBUD
145
TABLA DE CONTENIDO
MANUAL DEL DESARROLLADOR.............................................................................. 147
1. ARQUITECTURA DE LA APLICACIÓN ....................................................................................... 147 2. PROCEDIMIENTOS DEL PROYECTO .......................................................................................... 148 3. BACK-END ...................................................................................................................................... 149 4. FRONT END (APLICACIÓN MÓVIL) ........................................................................................... 150 5. REQUISITOS PARA LA INSTALACIÓN DEL BACK END ......................................................... 151 6. INSTALACIÓN (WINDOWS) ......................................................................................................... 151 6.1. Instalación de Java ........................................................................................................................... 151 6.2. Instalación de Tomcat ....................................................................................................................... 154 6.3. Instalación de .NET Framework 4 (En el caso que el equipo no lo tenga instalado) ...................... 159 6.4. Instalación de Visual C++ 2013 redistributable .............................................................................. 161 6.5. Instalación de MySQL Server y sus herramientas ............................................................................ 162 6.6. Instalación de BolsaEmpleoUDBackEnd.war .................................................................................. 171 7. CLASES DEL FRAME ..................................................................................................................... 174 8. CLASES DEL NOFRAME ............................................................................................................... 175 9. CÓMO SE ORGANIZA ESTE DOCUMENTO DE API .................................................................. 176 9.1. Overview ........................................................................................................................................... 176 9.2. Package ............................................................................................................................................. 176 9.3. Class/Interface .................................................................................................................................. 177 9.4. Annotation Type ................................................................................................................................ 177 9.5. Enum..…………………………………………………………………………………………………………..178 9.6. Use..……………………………………………………………………………………………………………..178 9.7. Tree (Class Hierarchy) ..................................................................................................................... 178 9.8. Deprecated Api ................................................................................................................................. 179 9.9. Index...…………………………………………………………………………………………………………..179 9.10. Prev/Next ........................................................................................................................................... 179 9.11. Frames/No Frames............................................................................................................................ 179 9.12. All Classes ......................................................................................................................................... 180 9.13. Serialized Form ................................................................................................................................. 180 9.14. Constant Field Values ....................................................................................................................... 180 9.15. Los Packages..................................................................................................................................... 180 9.16. Overview-Summary ........................................................................................................................... 181 9.17. Los Overview-Tree ............................................................................................................................ 181 9.18. Class Hierarchy ................................................................................................................................ 181 9.19. Interface Hierarchy ........................................................................................................................... 183 10. ESTRUCTURA DEL BACK END ................................................................................................... 183 10.1. BackEndApplication .......................................................................................................................... 184 10.2. BackEndApplication Test .................................................................................................................. 185 10.3. EmptyJsonResponse .......................................................................................................................... 186 10.4. Hibernate Configure ......................................................................................................................... 186 10.5. JsonDate Serializer ........................................................................................................................... 188 10.6. Package-frame .................................................................................................................................. 189 10.7. Package-summary ............................................................................................................................. 190 10.8. Package-tree ..................................................................................................................................... 190 10.9. ServletInitializer ................................................................................................................................ 191 10.10. SimpleCORSFilter ............................................................................................................................. 192
146
LISTA DE GRÁFICAS
FIGURA 56. ARQUITECTURA DE LA APLICACIÓN ............................................................................................. 147 FIGURA 57. PANTALLA DE BIENVENIDA A LA INSTALACIÓN DE JAVA ............................................................. 152 FIGURA 58. UBICACIÓN PARA LA INSTALACIÓN JAVA ..................................................................................... 152 FIGURA 59.INSTALACIÓN EN LA CARPETA SELECCIONADA ............................................................................. 153 FIGURA 60. CONFIRMACIÓN DE LA INSTALACIÓN .......................................................................................... 153 FIGURA 61. INSTALACIÓN DE TOMCAT ........................................................................................................... 154 FIGURA 62. ACEPTACIÓN DE LA LICENCIA DE APACHE TOMCAT .................................................................... 155 FIGURA 63. SELECCIÓN DE INSTALACIÓN FULL DE APACHE TOMCAT ............................................................ 155 FIGURA 64. ASIGNACIÓN DE USUARIO Y CONTRASEÑA ................................................................................. 156 FIGURA 65. SELECCIÓN DE RUTA DE INSTALACIÓN DE APACHE TOMCAT ...................................................... 157 FIGURA 66. RUTA POR DEFECTO PARA INSTALACIÓN DE APACHE TOMCAT .................................................. 157 FIGURA 67. CONFIRMACIÓN DE INSTALACIÓN DE APACHE TOMCAT............................................................. 158 FIGURA 68. CUADRO DE CONFIGURACIÓN DE APACHE TOMCAT ................................................................... 158 FIGURA 69. CONTINUACIÓN DE CONFIGURACIÓN DE APACHE TOMCAT ....................................................... 159 FIGURA 70. INSTALACIÓN DE MICROSOFT .NET FRAMEWORK 4 .................................................................... 160 FIGURA 71. CONTINUACIÓN DE LA INSTALACIÓN DE MICROSOFT .NET FRAMEWORK .................................. 160 FIGURA 72. INSTALACIÓN DE MICROSOFT VISUAL C++ .................................................................................. 161 FIGURA 73. CONTINUACIÓN DE LA INSTALACIÓN DE MICROSOFT VISUAL C++ ............................................. 162 FIGURA 74. INSTALACIÓN DE MYSQL SERVER ................................................................................................. 162 FIGURA 75. CONTINUACIÓN DE LA INSTALACIÓN DE MYSQL SERVER ............................................................ 163 FIGURA 76. CONTINUACIÓN DE LA INSTALACIÓN DE MYSQL SERVER ............................................................ 163 FIGURA 77. INSTALACIÓN DE PAQUETES DE MYSQL SERVER ......................................................................... 164 FIGURA 78. POSIBLE FALLO EN PAQUETE DE INSTALACIÓN DE: MYSQL SERVER ........................................... 164 FIGURA 79. CONFIGURACIÓN DE LA INSTALACIÓN DE MYSQL SERVER .......................................................... 165 FIGURA 80. CONTINUACIÓN DE LA CONFIGURACIÓN DE MYSQL SERVER ...................................................... 166 FIGURA 81. COMPLEMENTOS DE LA CONFIGURACIÓN DE MYSQL SERVER .................................................... 166 FIGURA 82. CONFIGURACIÓN EN LA CONEXIÓN A INTERNET DE MYSQL SERVER .......................................... 167 FIGURA 83. INICIAR CON MYSQL WORKBENCH .............................................................................................. 168 FIGURA 84. CONFIGURACIÓN DE LA CONEXIÓN A MYSQL SERVER ................................................................ 168 FIGURA 85. MYSQL WORKBENCH ................................................................................................................... 169 FIGURA 86. CONFIGURACIÓN DE MYSQL WORKBENCH ................................................................................. 170 FIGURA 87. COMPLEMENTOS DE LA CONFIGURACIÓN DE MYSQL WORKBENCH .......................................... 170 FIGURA 88. CONFIGURACIÓN DEL PROYECTO CON APACHE TOMCAT ........................................................... 171 FIGURA 89. SELECCIÓN DE LOS ARCHIVOS DEL PROYECTO ............................................................................ 172 FIGURA 90. CONFIGURACIÓN DEL PROYECTO CON LA BASE DE DATOS ......................................................... 173 FIGURA 91. DISEÑO DEL PROYECTO JOBUD .................................................................................................... 173 FIGURA 92. ESTRUCTURA DEL BACK END ........................................................................................................ 183
147
MANUAL DEL DESARROLLADOR
El siguiente Manual, le permite al Desarrollador o Programador, comprender claramente
la aplicación Bolsa de Empleos de la Universidad Distrital JOBUD. Permitiéndole no sólo
desarrollarlo, sino también modificarlo a su gusto
1. ARQUITECTURA DE LA APLICACIÓN
En la siguiente figura se muestra la Arquitectura de la Aplicación
Figura 55. Arquitectura de la Aplicación
Fuente: Elaboración propia
148
2. PROCEDIMIENTOS DEL PROYECTO
Para realizar algunas consultas se crearon algunos procedimientos almacenados en la base de
datos:
estudio_obtenerPorUsuario
CREATE DEFINER=`root`@`localhost` PROCEDURE `estudio_obtenerPorUsuario`(in
usuarioId int(11))
BEGIN
select * from estudio where usuario_id = usuarioId;
END
El anterior procedimiento almacenado consulta los estudios de un usuario, por tal
motivo debe recibir el id respectivo de la tabla usuario, y retorna un listado con los estudios
de dicho usuario.
experiencia_obtenerPorUsuario
CREATE DEFINER=`root`@`localhost` PROCEDURE
`experiencia_obtenerPorUsuario`(in usuarioId int(11))
BEGIN
select * from experiencia where usuario_id = usuarioId;
END
Este procedimiento consulta las experiencias laborales registradas por un usuario, y
retorna un listado de ellas.
oferta_obtenerPorSector
CREATE DEFINER=`root`@`localhost` PROCEDURE `oferta_obtenerPorSector`(in
sectorId int(11))
BEGIN
if sectorId = 0 then
select * from oferta;
else
select * from oferta where sector_id = sectorId;
end if;
END
149
El anterior procedimiento consulta todas las ofertas si el id de sector es 0, en caso
contrario consulta solo las ofertas asociadas al id del sector.
sector_obtenerTodos
CREATE DEFINER=`root`@`localhost` PROCEDURE `sector_obtenerTodos`()
BEGIN
select * from sector;
END
Este procedimiento retorna la lista con todos los sectores registrados en el sistema.
usuario_obtenerPorEmailPass
CREATE DEFINER=`root`@`localhost` PROCEDURE `usuario_obtenerPorEmailPass`(in
email varchar(200), in pass varchar(200))
BEGIN
select * from usuario where usuario_email = email and usuario_pass = pass;
END
Con este procedimiento se valida el ingreso de un usuario al sistema, con su email y
contraseña, si existe retorna al usuario, si no retornara una lista vacía.
3. BACK-END
El back-end de la aplicación, fue desarrollado en la herramienta Spring Tool Suite,
usando el lenguaje de programación Java, más exactamente la versión 8. Con Java y las
herramientas de Spring que facilitan varios procesos en Java, se codifica un API de Servicios
REST, que permite realizar operaciones CRUD (Create, Read, Update, Delete) sobre la base
de datos, con llamadas GET y POST asíncronas, realizadas desde el FrontEnd.
EL BackEnd está organizado en tres capas:
150
DAO (Data Acces object): Que es la encargada de procesar directamente las
solicitudes en la base de datos.
Service: Encargada de modificar, organizar y formatear los datos como sea necesario
para que llegen correctamente al front-end, o sean correctamente aplicados en la base
de datos, desde el front-end.
Controller: Capa encargada de generar los datos en formato estándar JSON, para que
sean entendidos y procesados correctamente por el front-end, y también sean
recibidos de forma correcta por el back-end.
4. FRONT END (APLICACIÓN MÓVIL)
La estructura del Fron-end es más simple. Se tiene básicamente tres partes importantes,
la parte visual realizada con HTML, CSS, Javascript y Bootstrap que es una herramienta que
facilita la visualización de los componentes de una página, en varios tamaños de pantalla, sin
destruir la armonía inicial, definida por el diseñador - programador.
La segunda parte es la de scripts (Javascript, JQuery, Ajax), que son los encargados de
realizar todas las solicitudes al BackEnd de forma asíncrona usando Ajax, además de algunas
utilidades como el manejo de campos, restricciones de seguridad y demás aspectos de la
aplicación.
Y finalmente los plugins que permite instalar Apache Cordova para realizar diferentes
operaciones nativas en el dispositivo móvil. Manejo del sistema de archivos, Selector de
151
archivos, seguridad y manejo de internet, imágenes de inicio de la aplicación, o manejo de
operaciones con el explorador del sistema.
Importante: Los datos de conexión con el back en se pueden modificar en las primeras líneas
de los archivos consulta.js y registro.js.
5. REQUISITOS PARA LA INSTALACIÓN DEL BACK END
Los requisitos de hardware varían dependiendo de la cantidad de usuarios que usen el
sistema. Estos requisitos deben ser estimados por el experto encargado en la compañía. Los
requerimientos mínimos recomendados son:
Windows Server 2008 o superior (32 o 64 bits) o Linux (Ubuntu Versión 14.04 o
superior) (32 o 64 bits)
Procesador Intel Core2 Duo E6300 o superior, AMD Athlon 64 X2 4400 o superior
2 GB de Memoria Ram
500 GB de Disco duro
JDK 8 (Java Development Kit 8)
Servidor de aplicaciones Apache Tomcat 8
MySQL 5.7
6. INSTALACIÓN (WINDOWS)
6.1. Instalación de Java
Descargar y ejecutar el archivo de instalación de java correspondiente al tipo de
sistema operativo: (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-
downloads-2133151.html)
● jdk-8u121-windows-i586.exe, para sistema operativo x86 (32 bits)
● jdk-8u121-windows-x64.exe, para sistema operativo x64 (64 bits)
152
Aparecerá la siguiente ventana
Figura 56. Pantalla de Bienvenida a la Instalación de Java
Fuente: Página Web de Oracle
Dar click en Next y aparece la siguiente ventana permite seleccionar la ubicación de
instalación de java, se recomienda dejar la dirección que aparece por defecto.
Figura 57. Ubicación para la Instalación Java
Fuente: Página Web de Oracle
153
De nuevo se da click en Next y aparece una nueva ventana,
Figura 58.Instalación en la Carpeta Seleccionada
Fuente: Página Web de Oracle
Dejar la ruta que aparece y dar click en Next y esperar hasta que la instalación finalice.
Aparecerá la siguiente ventana, dar click en Close.
Figura 59. Confirmación de la Instalación
Fuente: Página Web de Oracle
154
Lo que confirma que Java ha quedado instalado correctamente en el equipo.
6.2. Instalación de Tomcat
Descargar (https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.32/bin/) y Ejecutar el
archivo: apache-tomcat-8.0.32.exe, al hacerlo aparecerá la siguiente ventana:
Figura 60. Instalación de Tomcat
Fuente: Página Web de Apache Tomcat
Se da click en Next y aparece la siguiente ventana debe aceptar la licencia de Tomcat,
dando click en I Agree.
155
Figura 61. Aceptación de la Licencia de Apache Tomcat
Fuente: Tomado de la página Web Apache Tomcat
Ahora de la lista seleccione la opción Full, para instalar todas las características de Tomcat.
Figura 62. Selección de Instalación Full de Apache Tomcat
Fuente: Tomado de la página Web Apache Tomcat
156
Y luego de dar click en Next. En esta ventana debe ingresar Usuario y contraseña (User
Name y Password), ya que serán las credenciales para luego administrar Tomcat, ingrese
datos que no olvide ya que en ese caso debe re instalar Tomcat. Se recomienda dejar los
valores de los demás campos por defecto.
Figura 63. Asignación de Usuario y Contraseña
Fuente: Tomado de la página Web Apache Tomcat
Luego de esto dar click en Next, Aparecerá una ventana donde debe seleccionar la ruta
de instalación del jre (Java Runtime Environment), Debería aparecer automáticamente, sin
embargo si no es el caso debe escribirla o buscarla con el sistema de archivos de Windows.
157
Figura 64. Selección de Ruta de Instalación de Apache Tomcat
Fuente: Tomado de la página Web Apache Tomcat
Si dejo la ruta de instalación de Java por defecto, la ruta debe ser la que aparece en la
imagen. Luego de esto Dar click en Next.
Figura 65. Ruta por Defecto para Instalación de Apache Tomcat
Fuente: Tomado de la página Web Apache Tomcat
158
En esta ventana puede seleccionar la ruta de instalación, nuevamente se recomienda dejar
la ruta que aparece. Finalmente dar click en Install. Esperar hasta que la instalación finalice.
Figura 66. Confirmación de Instalación de Apache Tomcat
Fuente: Página Web de Apache Tomcat
Desmarcar la segunda opción y dar click en Finish. Ahora el servicio de Tomcat se
iniciará, aparecerá un icono de notificación de tomcat, en este icono dar click derecho y
luego en Configure.
Figura 67. Cuadro de Configuración de Apache Tomcat
Fuente: Apache Tomcat
159
Aparecerá la siguiente ventana donde debe verificar que la opción Startup type, está en
Automatic, esto para que al iniciar el equipo también inicie Tomcat.
Figura 68. Continuación de Configuración de Apache Tomcat
Fuente: Apache Tomcat
6.3. Instalación de .NET Framework 4 (En el caso que el equipo no lo tenga instalado)
Reiniciar el equipo. Descargar y ejecutar el archivo: https://www.microsoft.com/es-
cl/download/details.aspx?id=30653
160
Figura 69. Instalación de Microsoft .NET Framework 4
Fuente: Microsoft .NET Framework
Activar la opción leer y aceptar los términos de la licencia, luego dar clickk en Install.
Esperar a que la instalación finalice y dar clickk en Finish.
Figura 70. Continuación de la Instalación de Microsoft .NET Framework
Fuente: Microsoft .NET Framework
161
Finalmente Reiniciar el equipo.
6.4. Instalación de Visual C++ 2013 redistributable
Descargar y Ejecutar el archivo https://www.microsoft.com/es-co/download/details.aspx?id
=40784
● vcredist_x64 (Para sistema de 64 bits)
● vcredist_x86 (Para sistema de 32 bits)
Figura 71. Instalación de Microsoft Visual C++
Fuente: Microsoft Visual C++
Aceptar la licencia y dar click en Instalar.
162
Figura 72. Continuación de la Instalación de Microsoft Visual C++
Fuente: Microsoft Visual C++
6.5. Instalación de MySQL Server y sus herramientas
Descargar y Ejecutar el archivo: https://dev.mysql.com/downloads/installer/(mysql-
installer-community-5.7.17.0). Aceptar cuando aparezca la ventana de permiso de Windows.
Luego se mostrará la siguiente ventana.
Figura 73. Instalación de MySQL Server
Fuente: MySQL Server
163
Aceptar la licencia y dar click en Next.
Figura 74. Continuación de la Instalación de MySQL Server
Fuente: MySQL Server
Seleccionar la opción Full, y dar click en Next. En la siguiente ventana simplemente dar
click en Next. Aparecerá una ventana de advertencia, dar click en Yes.
Figura 75. Continuación de la Instalación de MySQL Server
Fuente: MySQL Server
164
Luego se mostrarán los paquetes a instalar. Dar click en Execute y esperar la instalación.
Figura 76. Instalación de Paquetes de MySQL Server
Fuente: MySQL Server
Cuando finalice la instalación posiblemente falle el paquete Connector/ODBC 5.3.4,
pero esto no es inconveniente, dar click en Next.
Figura 77. Posible Fallo en Paquete de Instalación de: MySQL Server
Fuente: MySQL Server
165
Dar click en Next hasta que aparezca la siguiente ventana
Figura 78. Configuración de la Instalación de MySQL Server
Fuente: MySQL Server
En esta ventana se debe seleccionar el tipo de máquina en la que se va a ejecutar
MySQL, Se recomienda Server Machine, si es un servidor donde se ejecutan otras
aplicaciones, o en el caso de que sea una máquina únicamente dedicada a la base de datos de
MySQL, es recomendable seleccionar Dedicated Machine.
En el puerto TCP/IP va el número de puerto por el que MORE y otras aplicaciones se
comunican con MySQL, el puerto por defecto es 3306, pero es posible que salga un signo de
alerta si el puerto está ocupado, en este caso es mejor cambiarlo, se recomienda el siguiente
3307.
166
Finalmente dejar las demás opciones como se muestra en la imagen y dar click en Next.
Se mostrará la siguiente ventana.
Figura 79. Continuación de la Configuración de MySQL Server
Fuente: MySQL Server
Ingresar la contraseña para el ‘root’ (Administrador) de MySQL (en ambos campos),
esta contraseña es muy importante y se recomienda tomar medidas para no olvidarla. Luego
se da click en Next hasta que aparezca la siguiente ventana.
Figura 80. Complementos de la Configuración de MySQL Server
Fuente: MySQL Server
167
Aquí se da click en Execute y esperar a que el instalador termine las operaciones
necesarias. Luego dar Click en Finish. Aparecerá una nueva ventana.
Figura 81. Configuración en la Conexión a Internet de MySQL Server
Fuente: MySQL Server
Dar click en Check, debe aparecer un mensaje que muestre una conexión exitosa,
luego dar click en Next, y en la siguiente ventana en Execute. Una vez finalizada la
configuración dar click en Finish. Una nueva ventana de configuración aparecerá dar click
en Next.
168
Figura 82. Iniciar con MySQL Workbench
Fuente: MySQL Server
Dejar la opción Start MySQL Workbench… marcada y dar click en finish. Ya en este
punto MySQL está instalado en el sistema, ahora se abrirá MySQL Workbench, esta
aplicación facilita la creación y administración de las bases de datos.
Dar click en Local instance MySQL57, se abrirá la siguiente ventana, ingrese la
contraseña del root de MySQL que ingresó al realizar la instalación, y de click en OK.
Figura 83. Configuración de la Conexión a MySQL Server
Fuente: MySQL Server
169
Esto cargará una pestaña como la siguiente.
Figura 84. MySQL Workbench
Fuente: MySQL Workbench
Para una mejor visualización busque los siguientes botones en la parte derecha superior
de la aplicación y dando click solo active el primer botón como en la siguiente imagen.
En el menú superior busque la opción Server, y luego de click en data import, se
mostrará la siguiente pestaña.
170
Figura 85. Configuración de MySQL Workbench
Fuente: MySQL Workbench
Seleccionar la opción Import from Self-Contained File, y buscar el archivo adjunto
llamado BackEnd\bolsaempleoudbackend\Documentos\ScriptBEUD.sql y crear un nuevo
esquema por defecto con el nombre: bolsa_empleo_ud en el siguiente campo.
Luego en la parte inferior asegúrese de que la opción Dump Structure and Data está
seleccionada y de click en Start Import. Esto creara la base de datos.
Figura 86. Complementos de la Configuración de MySQL Workbench
Fuente: MySQL Workbench
Espere hasta que la operación termine. Ahora puede cerrar la aplicación.
171
6.6. Instalación de BolsaEmpleoUDBackEnd.war
En un explorador Web (Se recomienda Google Chrome o Firefox), ingrese la siguiente
dirección http://localhost:8080/, debe cargar una página como la siguiente:
Figura 87. Configuración del Proyecto con Apache Tomcat
Fuente: Apache Tomcat
De click en el Botón Manager App de la derecha. Aparecerá una pequeña ventana donde
debe ingresar los datos de usuario y contraseña que ingresó al momento de instalar Tomcat.
Debe cargar la consola de administración de aplicaciones de Tomcat. Diríjase a la parte
inferior de la página y en la sección Archivo WAR a desplegar, de click en Seleccionar
archivo, y busque el archivo adjunto BolsaEmpleoUDBackEnd.war. Luego dar click en
desplegar.
172
Figura 88. Selección de los Archivos del Proyecto
Fuente: Apache Tomcat
Luego de que sea desplegada la aplicación, esta aparecerá en la lista, en la parte superior
de la página.
Ahora es necesario configurar el archivo de propiedades de la aplicación, en la carpeta
del war desplegado: /BolsaEmpleoUDBackEnd/src/main/resources/application.yml.
Se encuentra la configuración con la base de datos, las carpetas que deben crearse en el
sistema de archivos del servidor para guardar las hojas de vida, la configuración de hibernate
y la configuración del servicio de correos que envía las notificaciones automáticas.
173
Figura 89. Configuración del Proyecto con la Base de Datos
Fuente: Visual Studio C++
La arquitectura de la Bolsa de Empleos de la Universidad Distrital JOBUD, está diseñada
de la siguiente manera.
Figura 90. Diseño del Proyecto JOBUD
Fuente: Elaboración propia
174
7. CLASES DEL FRAME
AbstractDao
Aplicacion
AplicacionController
AplicacionDao
AplicacionDaoImpl
AplicacionService
AplicacionServiceImpl
BolsaEmpleoUdBackEndApplication
BolsaEmpleoUdBackEndApplicationTests
EmptyJsonResponse
EnvioMail
Estudio
EstudioController
EstudioDao
EstudioDaoImpl
EstudioService
EstudioServiceImpl
Experiencia
ExperienciaController
ExperienciaDao
ExperienciaDaoImpl
ExperienciaService
ExperienciaServiceImpl
HibernateConfiguration
HojaVidaFile
JsonDateSerializer
JsonNumber
Oferta
OfertaController
OfertaDao
OfertaDaoImpl
OfertaService
OfertaServiceImpl
Sector
SectorController
SectorDao
SectorDaoImpl
SectorService
SectorServiceImpl
ServletInitializer
SimpleCORSFilter
Usuario
175
UsuarioController
UsuarioDao
UsuarioDaoImpl
UsuarioService
UsuarioServiceImpl
UsuarioUtil
8. CLASES DEL NOFRAME
AbstractDao
Aplicacion
AplicacionController
AplicacionDao
AplicacionDaoImpl
AplicacionService
AplicacionServiceImpl
BolsaEmpleoUdBackEndApplication
BolsaEmpleoUdBackEndApplicationTests
EmptyJsonResponse
EnvioMail
Estudio
EstudioController
EstudioDao
EstudioDaoImpl
EstudioService
EstudioServiceImpl
Experiencia
ExperienciaController
ExperienciaDao
ExperienciaDaoImpl
ExperienciaService
ExperienciaServiceImpl
HibernateConfiguration
HojaVidaFile
JsonDateSerializer
JsonNumber
Oferta
OfertaController
OfertaDao
OfertaDaoImpl
OfertaService
OfertaServiceImpl
Sector
176
SectorController
SectorDao
SectorDaoImpl
SectorService
SectorServiceImpl
ServletInitializer
SimpleCORSFilter
Usuario
UsuarioController
UsuarioDao
UsuarioDaoImpl
UsuarioService
UsuarioServiceImpl
UsuarioUtil
9. CÓMO SE ORGANIZA ESTE DOCUMENTO DE API
Este documento API (Application Programming Interface) tiene páginas que
corresponden a los elementos de la barra de navegación, descritos a continuación.
9.1. Overview
La página Descripción general es la primera página de este documento de API y
proporciona una lista de todos los paquetes con un resumen para cada uno. Esta página
también puede contener una descripción general del conjunto de paquetes.
9.2. Package
Cada paquete tiene una página que contiene una lista de sus clases e interfaces, con un
resumen para cada uno. Esta página puede contener seis categorías:
Interfaces (italic)
Classes
Enums
Exceptions
177
Errors
Annotation Types
9.3. Class/Interface
Cada clase, interfaz, clase anidada e interfaz anidada tiene su propia página separada.
Cada una de estas páginas tiene tres secciones que consisten en una descripción de clase /
interfaz, tablas de resumen y descripciones detalladas de miembros:
Class inheritance diagram
Direct Subclasses
All Known Subinterfaces
All Known Implementing Classes
Class/interface declaration
Class/interface description
Nested Class Summary
Field Summary
Constructor Summary
Method Summary
Field Detail
Constructor Detail
Method Detail
Cada entrada de resumen contiene la primera oración de la descripción detallada de ese
elemento. Las entradas de resumen son alfabéticas, mientras que las descripciones detalladas
están en el orden en que aparecen en el código fuente. Esto preserva las agrupaciones lógicas
establecidas por el programador.
9.4. Annotation Type
Cada tipo de anotación tiene su propia página separada con las siguientes secciones:
178
Annotation Type declaration
Annotation Type description
Required Element Summary
Optional Element Summary
Element Detail
9.5. Enum
Cada enum tiene su propia página separada con las siguientes secciones:
Enum declaration
Enum description
Enum Constant Summary
Enum Constant Detail
9.6. Use
Cada paquete documentado, clase e interfaz tiene su propia página de uso. Esta página
describe qué paquetes, clases, métodos, constructores y campos usan cualquier parte de la
clase o paquete dado. Dada una clase o interfaz A, su página de uso incluye subclases de A,
campos declarados como A, métodos que devuelven A, y métodos y constructores con
parámetros de tipo A. Puede acceder a esta página consultando primero el paquete, la clase
o la interfaz , Luego haga clic en el enlace "Usar" en la barra de navegación.
9.7. Tree (Class Hierarchy)
Hay una página de jerarquía de clases para todos los paquetes, además de una jerarquía
para cada paquete. Cada página de jerarquía contiene una lista de clases y una lista de
interfaces. Las clases se organizan por estructura de herencia empezando por
java.lang.Object. Las interfaces no heredan de java.lang.Object.
179
Cuando vea la página Resumen, al hacer clic en "Árbol" se muestra la jerarquía de
todos los paquetes. Al ver un paquete, una clase o una página de interfaz en particular, al
hacer clic en "Árbol" se muestra la jerarquía de ese paquete.
9.8. Deprecated Api
La página de la API Descatalogada muestra todas las API que han quedado obsoletas.
No se recomienda el uso de una API obsoleta, generalmente debido a mejoras, y normalmente
se da una API de reemplazo. Las API obsoletas pueden eliminarse en futuras
implementaciones.
9.9. Index
El índice contiene una lista alfabética de todas las clases, interfaces, constructores,
métodos y campos.
9.10. Prev/Next
Estos enlaces te llevan a la siguiente o anterior clase, interfaz, paquete o página
relacionada.
9.11. Frames/No Frames
Estos enlaces muestran y ocultan los marcos HTML. Todas las páginas estan
disponibles con o sin marcos.
180
9.12. All Classes
El enlace Todas las Clases muestra todas las clases e interfaces excepto los tipos
anidados no estáticos.
9.13. Serialized Form
Cada clase serializable o externalizable tiene una descripción de sus campos de
serialización y métodos. Esta información es de interés para los reimplantadores, no para los
desarrolladores que utilizan la API. Si bien no hay ningún enlace en la barra de navegación,
puede obtener esta información accediendo a cualquier clase serializada y haciendo clic en
"Formulario Serializado" en la sección "Ver también" de la descripción de la clase.
9.14. Constant Field Values
La página Valores de campos constantes lista los campos finales estáticos y sus valores.
Este archivo de ayuda se aplica a la documentación de la API generada mediante el doclet
estándar.
9.15. Los Packages
All Classes
Packages
ud.bolsaempleo
ud.bolsaempleo.controller
ud.bolsaempleo.dao
ud.bolsaempleo.dao.impl
ud.bolsaempleo.model
ud.bolsaempleo.service
ud.bolsaempleo.service.impl
ud.bolsaempleo.util
181
9.16. Overview-Summary
Packages
Package Description
ud.bolsaempleo
ud.bolsaempleo.controller
ud.bolsaempleo.dao
ud.bolsaempleo.dao.impl
ud.bolsaempleo.model
ud.bolsaempleo.service
ud.bolsaempleo.service.impl
ud.bolsaempleo.util
9.17. Los Overview-Tree
Hierarchy For All Packages
Package Hierarchies:
ud.bolsaempleo,
ud.bolsaempleo.controller,
ud.bolsaempleo.dao,
ud.bolsaempleo.dao.impl,
ud.bolsaempleo.model,
ud.bolsaempleo.service,
ud.bolsaempleo.service.impl,
ud.bolsaempleo.util
9.18. Class Hierarchy
o java.lang.Object
o ud.bolsaempleo.dao.impl.AbstractDao<PK,T>
o ud.bolsaempleo.dao.impl.AplicacionDaoImpl (implements
ud.bolsaempleo.dao.AplicacionDao)
o ud.bolsaempleo.dao.impl.EstudioDaoImpl (implements
ud.bolsaempleo.dao.EstudioDao)
o ud.bolsaempleo.dao.impl.ExperienciaDaoImpl (implements
ud.bolsaempleo.dao.ExperienciaDao)
182
o ud.bolsaempleo.dao.impl.OfertaDaoImpl (implements
ud.bolsaempleo.dao.OfertaDao)
o ud.bolsaempleo.dao.impl.SectorDaoImpl (implements
ud.bolsaempleo.dao.SectorDao)
o ud.bolsaempleo.dao.impl.UsuarioDaoImpl (implements
ud.bolsaempleo.dao.UsuarioDao)
o ud.bolsaempleo.model.Aplicacion
o ud.bolsaempleo.controller.AplicacionController
o ud.bolsaempleo.service.impl.AplicacionServiceImpl (implements
ud.bolsaempleo.service.AplicacionService)
o ud.bolsaempleo.BolsaEmpleoUdBackEndApplication
o ud.bolsaempleo.BolsaEmpleoUdBackEndApplicationTests
o ud.bolsaempleo.EmptyJsonResponse
o ud.bolsaempleo.util.EnvioMail
o ud.bolsaempleo.model.Estudio
o ud.bolsaempleo.controller.EstudioController
o ud.bolsaempleo.service.impl.EstudioServiceImpl (implements
ud.bolsaempleo.service.EstudioService)
o ud.bolsaempleo.model.Experiencia
o ud.bolsaempleo.controller.ExperienciaController
o ud.bolsaempleo.service.impl.ExperienciaServiceImpl (implements
ud.bolsaempleo.service.ExperienciaService)
o ud.bolsaempleo.HibernateConfiguration
o ud.bolsaempleo.util.HojaVidaFile
o ud.bolsaempleo.util.JsonNumber
o com.fasterxml.jackson.databind.JsonSerializer<T> (implements
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable)
o ud.bolsaempleo.JsonDateSerializer
o ud.bolsaempleo.model.Oferta
o ud.bolsaempleo.controller.OfertaController
o ud.bolsaempleo.service.impl.OfertaServiceImpl (implements
ud.bolsaempleo.service.OfertaService)
o ud.bolsaempleo.model.Sector
o ud.bolsaempleo.controller.SectorController
o ud.bolsaempleo.service.impl.SectorServiceImpl (implements
ud.bolsaempleo.service.SectorService)
o ud.bolsaempleo.SimpleCORSFilter (implements javax.servlet.Filter)
o org.springframework.boot.web.support.SpringBootServletInitializer
(implements org.springframework.web.WebApplicationInitializer)
o ud.bolsaempleo.ServletInitializer
o ud.bolsaempleo.model.Usuario
o ud.bolsaempleo.controller.UsuarioController
o ud.bolsaempleo.service.impl.UsuarioServiceImpl (implements
ud.bolsaempleo.service.UsuarioService)
o ud.bolsaempleo.util.UsuarioUtil
183
9.19. Interface Hierarchy
o ud.bolsaempleo.dao.AplicacionDao
o ud.bolsaempleo.service.AplicacionService
o ud.bolsaempleo.dao.EstudioDao
o ud.bolsaempleo.service.EstudioService
o ud.bolsaempleo.dao.ExperienciaDao
o ud.bolsaempleo.service.ExperienciaService
o ud.bolsaempleo.dao.OfertaDao
o ud.bolsaempleo.service.OfertaService
o ud.bolsaempleo.dao.SectorDao
o ud.bolsaempleo.service.SectorService
o ud.bolsaempleo.dao.UsuarioDao
o ud.bolsaempleo.service.UsuarioService
10. ESTRUCTURA DEL BACK END
En la siguiente figura se muestra la estructura del Back End
Figura 91. Estructura del Back End
Fuente: Elaboración propia
184
10.1. BackEndApplication
Aquí se muestra el BackEndApplication
ud.bolsaempleo
Class BolsaEmpleoUdBackEndApplication
java.lang.Object
o ud.bolsaempleo.BolsaEmpleoUdBackEndApplication
@SpringBootApplication
public class BolsaEmpleoUdBackEndApplication
extends Object
o Constructor Summary
Constructors
Constructor and Description
BolsaEmpleoUdBackEndApplication()
o Method Summary
All Methods Static Methods Concrete Methods
Modifier and Type Method and Description
static void main(String[] args)
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait
o Constructor Detail
BolsaEmpleoUdBackEndApplication
public BolsaEmpleoUdBackEndApplication()
o Method Detail
main
public static void main(String[] args)
185
10.2. BackEndApplication Test
Aquí se muestra el BackEndApplication Test
ud.bolsaempleo
Class BolsaEmpleoUdBackEndApplicationTests
java.lang.Object
o ud.bolsaempleo.BolsaEmpleoUdBackEndApplicationTests
@SpringBootTest
public class BolsaEmpleoUdBackEndApplicationTests
extends Object
o Constructor Summary
Constructors
Constructor and Description
BolsaEmpleoUdBackEndApplicationTests()
o Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type Method and Description
void contextLoads()
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait
o Constructor Detail
BolsaEmpleoUdBackEndApplicationTests
public BolsaEmpleoUdBackEndApplicationTests()
o Method Detail
contextLoads
public void contextLoads()
186
10.3. EmptyJsonResponse
Aquí se muestra el EmptyJsonResponse
ud.bolsaempleo
Class EmptyJsonResponse
java.lang.Object
o ud.bolsaempleo.EmptyJsonResponse
public class EmptyJsonResponse
extends Object
o Constructor Summary
Constructors
Constructor and Description
EmptyJsonResponse()
o Method Summary
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait
o Constructor Detail
EmptyJsonResponse
public EmptyJsonResponse()
10.4. Hibernate Configure
Aquí se muestra Hibernate Configure
ud.bolsaempleo
Class HibernateConfiguration
java.lang.Object
187
o ud.bolsaempleo.HibernateConfiguration
@Configuration
@EnableTransactionManagement
@ComponentScan(value="ud.bolsaempleo")
@PropertySource(value="classpath:application.yml")
public class HibernateConfiguration
extends Object
o Constructor Summary
Constructors
Constructor and Description
HibernateConfiguration()
o Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type Method and Description
DataSource dataSource()
org.springframework.orm.hibernate
5.LocalSessionFactoryBean sessionFactory()
org.springframework.orm.hibernate
5.HibernateTransactionManager transactionManager(org.hib
ernate.SessionFactory s)
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait
o Constructor Detail
HibernateConfiguration
public HibernateConfiguration()
o Method Detail
sessionFactory @Bean
public org.springframework.orm.hibernate5.LocalSessionF
actoryBean sessionFactory()
dataSource @Bean
public DataSource dataSource()
transactionManager @Bean
@Autowired
188
public org.springframework.orm.hibernate5.HibernateTran
sactionManager transactionManager(org.hibernate.Session
Factory s)
10.5. JsonDate Serializer
Aquí se muestra JsonDate Serializer
ud.bolsaempleo
Class JsonDateSerializer
java.lang.Object
o com.fasterxml.jackson.databind.JsonSerializer<Date>
o
ud.bolsaempleo.JsonDateSerializer
All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable @Component
public class JsonDateSerializer
extends com.fasterxml.jackson.databind.JsonSerializer<Date>
o Nested Class Summary
Nested classes/interfaces inherited from
class com.fasterxml.jackson.databind.JsonSerializer
com.fasterxml.jackson.databind.JsonSerializer.None
o Constructor Summary
Constructors
Constructor and Description
JsonDateSerializer()
o Method Summary
All Methods Instance Methods Concrete Methods
Modifie
r and
Type
Method and Description
void serialize(Date date,
com.fasterxml.jackson.core.JsonGenerator gen,
189
com.fasterxml.jackson.databind.SerializerProvider pro
vider)
Methods inherited from
class com.fasterxml.jackson.databind.JsonSerializer
acceptJsonFormatVisitor, getDelegatee, handledType,
isEmpty, isEmpty, isUnwrappingSerializer, properties,
replaceDelegatee, serializeWithType,
unwrappingSerializer, usesObjectId, withFilterId
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait
o Constructor Detail
JsonDateSerializer
public JsonDateSerializer()
o Method Detail
serialize public void serialize(Date date,
com.fasterxml.jackson.core.JsonGenerator gen,
com.fasterxml.jackson.databind.SerializerProvider provi
der)
throws IOException,
com.fasterxml.jackson.core.JsonProcessingException
Specified by:
serialize in class com.fasterxml.jackson.databind.JsonSerializer<Date>
Throws: IOException com.fasterxml.jackson.core.JsonProcessingException
10.6. Package-frame
Aquí se muestra el Package-frame
ud.bolsaempleo
Classes
BolsaEmpleoUdBackEndApplication
BolsaEmpleoUdBackEndApplicationTests
190
EmptyJsonResponse
HibernateConfiguration
JsonDateSerializer
ServletInitializer
SimpleCORSFilter
10.7. Package-summary
Aquí se muestra el Package-summary
Package ud.bolsaempleo
Class Summary
Class Description
BolsaEmpleoUdBackEndApplication
BolsaEmpleoUdBackEndApplicationTests
EmptyJsonResponse
HibernateConfiguration
JsonDateSerializer
ServletInitializer
SimpleCORSFilter
10.8. Package-tree
Aquí se muestra el Package-tree
Hierarchy For Package ud.bolsaempleo
Package Hierarchies:
All Packages
Class Hierarchy
o java.lang.Object
o ud.bolsaempleo.BolsaEmpleoUdBackEndApplication
o ud.bolsaempleo.BolsaEmpleoUdBackEndApplicationTests
o ud.bolsaempleo.EmptyJsonResponse
191
o ud.bolsaempleo.HibernateConfiguration
o com.fasterxml.jackson.databind.JsonSerializer<T> (implements
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable)
o ud.bolsaempleo.JsonDateSerializer
o ud.bolsaempleo.SimpleCORSFilter (implements javax.servlet.Filter)
o org.springframework.boot.web.support.SpringBootServletInitializer
(implements org.springframework.web.WebApplicationInitializer)
o ud.bolsaempleo.ServletInitializer
10.9. ServletInitializer
Aquí se muestra el ServletInitializer
ud.bolsaempleo
Class ServletInitializer
java.lang.Object
o org.springframework.boot.web.support.SpringBootServletInitializer
o
ud.bolsaempleo.ServletInitializer
All Implemented Interfaces:
org.springframework.web.WebApplicationInitializer
public class ServletInitializer
extends
org.springframework.boot.web.support.SpringBootServletInitializer
o Constructor Summary
Constructors
Constructor and Description
ServletInitializer()
o Method Summary
Methods inherited from
class org.springframework.boot.web.support.SpringBootServletInitia
lizer
onStartup
192
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait
o Constructor Detail
ServletInitializer
public ServletInitializer()
10.10. SimpleCORSFilter
Aquí se muestra el SimpleCORSFilter
ud.bolsaempleo
Class SimpleCORSFilter
java.lang.Object
o ud.bolsaempleo.SimpleCORSFilter
All Implemented Interfaces:
javax.servlet.Filter
@Component
public class SimpleCORSFilter
extends Object
implements javax.servlet.Filter
o Constructor Summary
Constructors
Constructor and Description
SimpleCORSFilter()
o Method Summary
All Methods Instance Methods Concrete Methods
Modifier
and Type Method and Description
Void destroy()
193
Void doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain)
Void init(javax.servlet.FilterConfig filterConfig)
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait
o Constructor Detail
SimpleCORSFilter
public SimpleCORSFilter()
o Method Detail
doFilter public void doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain)
throws IOException,
javax.servlet.ServletException
Specified by:
doFilter in interface javax.servlet.Filter
Throws: IOException javax.servlet.ServletException
init
public void init(javax.servlet.FilterConfig filterConfi
g)
Specified by:
init in interface javax.servlet.Filter
destroy
public void destroy()
Specified by:
destroy in interface javax.servlet.Filter