Full text
(1/2) Memoria Desarrollo de los servicios y funcionalidades complementarias a la bolsa de empleo Web que automatiza el proceso de reclutamiento y selección de candidatos Ingeniería informática – Junio 2010 Autor:BEGOÑA CUELLO BARÓN Director:FERNANDO CORTÉS FRANCO R Re es sp po on ns sa ab bl le ed de el lD De ep pa ar rt ta am me en nt to od de eD De es sa ar rr ro ol ll lo od de eS Si is st te em ma as s E En nd da al li ia a Ponente:SANTIAGO VELILLA MARCO D De ep pa ar rt ta am me en nt to od de eI In nf fo or rm má át ti ic ca ae eI In ng ge en ni ie er rí ía ad de eS Si is st te em ma as s U Un ni iv ve er rs si id da ad dd de eZ Za ar ra ag go oz za a C CE EN NT TR RO OP PO OL LI IT TÉ ÉC CN NI IC CO OS SU UP PE ER RI IO OR R U UN NI IV VE ER RS SI ID DA AD DD DE EZ ZA AR RA AG GO OZ ZA A
A AG GR RA AD DE EC CI IM MI IE EN NT TO OS S Agradezco y dedico este proyecto principalmente a mi familia, y a mi pareja, por el apoyo recibido todos estos años de carrera, sobre todo te agradezco Alberto que pese a todas las adversidades que mis estudios han puesto en nuestra relación, siempre has estado conmigo en la distancia, ahora es el momento de estar juntos. A Endalia, principalmente a Fernando Cortés por darme la oportunidad de formar parte de la empresa durante un año y formarme para mi futuro profesional. A Cristina Peciña, Alfonso Hinojar, Alfonso Romay y Pablo Giménez, mi equipo de trabajo durante todo el año, me habéis ayudado muchísimo en la realización de mi proyecto y esto sí que tengo que agradecerlo; al resto de Endalia por darme tan buenos momentos en el trabajo, y fuera, ¡sois geniales! A mis amigos, que aunque todo este tiempo he estado ausente proyectando, me han dado su apoyo al otro lado del teléfono, principalmente a ti Sara, te mereces este agradecimiento y tantas otras cosas que la vida tiene que darte. ¡Siempre estaremos juntas! Agradezco a Santiago Velilla su disponibilidad para ser mi director de este proyecto fin de carrera.
E EN ND DA AL LI IA A Memoria DESARROLLO DE LOS SERVICIOS Y FUNCIONALIDADES COMPLEMENTARIAS A LA BOLSA DE EMPLEO WEB QUE AUTOMATIZA EL PROCESO DE RECLUTAMIENTO Y SELECCIÓN DE CANDIDATOS BEGOÑA CUELLO BARÓN 25/05/2010
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 1de 34 REVISIONES Fecha Versión Descripción Autor 25/05/2010 1.0 Creación del documento Begoña Cuello Barón 01/06/2010 1.1 Revisión del documento Pablo Giménez 05/06/2010 2.0 Modificación del documento Begoña Cuello 10/06/2010 2.1 Revisión final Fernando Cortes Copyright © 2010, ENDALIA, S.L. Todos los derechos reservados. Este documento contiene información propietaria de ENDALIA, S.L. Se emite con el único propósito de informar proyectos Integra, por lo que no se ofrece ninguna garantía explícita o implícita. Ninguna parte de esta publicación puede ser utilizada para cualquier otro propósito, y no debe ser reproducida, copiada, adaptada, divulgada, distribuida, transmitida, almacenada en un sistema de recuperación o traducida a cualquier lenguaje del ser humano o de programación, en cualquier forma, por cualesquiera medios, por entero o en parte, sin el consentimiento previo por escrito de FP. Algunos productos o compañías que se mencionan son marcas de sus respectivos propietarios. ENDALIA, S.L. • Carreta del Aeropuerto, 4. Edificio San Lamberto 50011, Zaragoza • España
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 2de 34 DESARROLLO DE LOS SERVICIOS Y FUNCIONALIDADES COMPLEMENTARIAS A LA BOLSA DE EMPLEO WEB QUE AUTOMATIZA EL PROCESO DE RECLUTAMIENTO Y SELECCIÓN DE CANDIDATOS RESUMEN El proyecto consiste en el análisis, diseño, desarrollo, implementación e implantación de servicios y funcionalidades complementarias a una bolsa de empleo web que automatiza el proceso de reclutamiento y selección de candidatos para las empresas. El objetivo fundamental del sistema es mejorar la plataforma online de la que se parte. A través de los servicios y funcionalidades añadidos se pretende facilitar, mejorar y rediseñar la plataforma de empleo online, aportando potentes filtros de búsqueda de ofertas y/o candidatos, permitiendo la compra de servicios a través de la pasarela de pago PayPal en los que el usuario adquiere nuevas funcionalidades tales como, pruebas de idiomas para candidatos, o el servicio de adquisición de CV para las empresas. El nuevo sistema cuenta con las siguientes funcionalidades añadidas: compra de servicios a través de PayPal, realización de pruebas de idiomas, servicios sobre las ofertas publicadas, como podrían ser destacarlas, marcarlas como urgentes, hacerlas ciegas, archivarlas, adquirir CV de los candidatos, controlar la privacidad del CV de los candidatos, mejorar las búsquedas, configurar las alertas de correo, también se han desarrollado herramientas adicionales, como el blog de empleo y la herramienta de envió masivo de correos. El sistema está diseñado para dar soporte múltiples idiomas, estando actualmente operativo en español. Durante el desarrollo del sistema, se ha comprobado la compatibilidad en los navegadores más comunes (Internet Explorer 6, 7 y 8, Firefox, Chrome y Opera), ya que es muy importante permitir a los usuarios utilizar el navegador que usen habitualmente. El proyecto ha sido desarrollado bajo la metodología RUP (Rational Unified Process), y la plataforma tecnológica .NET Framework 3.5, con C# como lenguaje de desarrollo, SQL Server como sistema gestor de Bases de datos, TSQL como leguaje para los procedimientos almacenados y NHibernate como herramienta de mapeo objeto relacional, que facilita no solo la generación de la capa de acceso a datos de la aplicación, sino que simplifica el uso al programador, y favorece la genericidad, adaptabilidad y escalabilidad del proyecto final. Durante la realización del proyecto se ha documentado todo el proceso seguido en el desarrollo de un sistema. En la Memoria del proyecto se exponen brevemente y se hace referencia a todos los documentos que contiene el Anexo.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 3de 34 Tabla de contenido de la Memoria 1. INTRODUCCIÓN 6 1.1 Propósito 6 1.2 Objetivos y alcance 6 1.3 Trabajo previo 7 1.4 Acrónimos 7 1.5 Referencias 8 1.6 Resumen 9 2. DOCUMENTACIÓN ENTREGADA 10 3. INFORMACIÓN GENERAL DEL PROYECTO 11 3.1 Metodología 11 3.2 Tecnología y herramientas utilizadas 11 3.3 Métricas del proyecto 12 3.3.1 Planificación 12 3.3.2 Esfuerzo 12 3.3.3 Otras métricas 14 4. FASES DEL PROYECTO 15 4.1 Fase de inicio 16 4.2 Fase de planificación 16 4.3 Fase de análisis 16 4.3.1 Casos de Uso 16 4.4 Fase de diseño 17 4.4.1 Arquitectura del sistema 18 4.4.2 Base de Datos 19 4.5 Fase de implementación 20 4.6 Fase de pruebas 21 4.7 Fase de finalización 21 5. RESULTADOS OBTENIDOS 22 5.1 Página de inicio 22 5.2 Panel principal de candidatos 23
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 10 de 34 2. Documentación entregada La documentación entregada como resultado de la realización del proyecto fin de carrera de Ingeniería informática, con título “Desarrollo de los servicios y funcionalidades complementarias a la bolsa de empleo web que automatiza el proceso de reclutamiento y selección de candidatos”, está formada por dos tomos, memoria y anexos, y un CD-ROM, que contiene la versión electrónica de los tomos. El código fuente no ha sido incluido en el proyecto por razones de confidencialidad de la empresa. En el primer volumen es este documento, la memoria del proyecto, se resume globalmente el proyecto, para poder tener de forma rápida una visión completa del trabajo realizado durante la realización de este proyecto. En los anexos pueden encontrarse los siguientes documentos: Estudio de mercado: Documento que muestra un estudio de otras bolsas de empleo Web disponibles actualmente. Especificación de requisitos: Documento que contiene las especificaciones de requisitos funcionales y técnicos que debe cumplir el sistema. Análisis del sistema: Documento que describe la fase de análisis del sistema donde se realiza un estudio de la arquitectura, casos de uso y entidades del sistema. Diseño del sistema: Documento que describe la fase de diseño del sistema donde se define la arquitectura y tecnología a emplear, así como la estructura de la aplicación. Implementación: Documento que describe la fase de implementación del sistema a partir de los documentos de análisis y diseño del sistema. Plan de pruebas: Documento que describe la fase de pruebas del sistema en la que se verifica el resultado de la fase de implementación, comprobando el correcto funcionamiento de los elementos desarrollados y su calidad. Gestión de configuraciones: Documento que describe las actividades a realizar, durante el desarrollo del proyecto, para asegurar un control de versiones y cambios del software. Manual de usuario: Documento que describe la funcionalidad de la bolsa de empleo, y su correcta utilización. Estándar de documentación: Documento que define los formatos, diseños, tipología de fuentes y plantillas a utilizar en la documentación asociada al proyecto. Estándar de codificación: Documento que define las normas de formato de codificación seguidas durante el proyecto.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 11 de 34 3. Información general del proyecto 3.1 Metodología Para la realización de este proyecto se ha utilizado la metodología RUP (Rational Unified Process) o proceso unificado. Este proceso de trabajo es un marco de trabajo genérico que especifica el conjunto de actividades necesarias para transformar los requisitos del usuario en un sistema software utilizando UML (Unified Modeling Language). Esta metodología se caracteriza por ser iterativa e incremental, estar centrada en la arquitectura y guiada por los casos de uso. El desarrollo de la metodología usada viene desglosado en las diferentes secciones dentro del apartado Fases del proyecto de este mismo documento. 3.2 Tecnología y herramientas utilizadas La tecnología utilizada en el proyecto “Servicios y funcionalidades complementarias a la bolsa de empleo Web” es ASP .NET sobre framework 3.5 con C# como lenguaje de programación del código subyacente, tras un Servidor IIS con SQL Server como sistema gestor de la base de datos. A continuación se detallan todas las herramientas utilizadas: Microsoft .NET Framework 3.5 como plataforma y soporte tecnológico. C#, HTML, JavaScript, XML como lenguajes de programación. Infragistics NetAdvantage 8.3, librería para .NET que contiene controles para diversos entornos de desarrollo dentro de dicha plataforma, como ASP.NET, Winforms o WPF. Microsoft Internet Information Services 6.0 como servidor de aplicaciones. SQL Server 2005 como sistema gestor de base de datos. SQL Server Manager para la gestión del sistema gestor de base de datos SQL Server 2005. Microsoft Visual Studio 2008 como entorno de programación y depuración de código de la plataforma. Microsoft Team Foundation Server como herramienta para la gestión de control de cambios y la gestión del ciclo de vida del proyecto software. Microsoft Internet Explorer 6.0, 7.0, 8.0, Firefox, Chrome y Opera han sido los navegadores con los que se ha probado el correcto funcionamiento del sistema y su compatibilidad. Microsoft Windows XP y Vista como sistemas operativos utilizados en la fase de
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 12 de 34 implementación, prueba y despliegue. Microsoft Office 2007 para la generación de documentación que acompaña al proyecto software. Adobe Acrobat 7.0 Professional para la generación de documentación en PDF. Poseidon for UML PE 5.0 para la generación de diagramas de clases y UML. Labels Management como herramienta interna para la gestión de etiquetas del sistema, que nos permite la internacionalización de los sistemas. 3.3 Métricas del proyecto 3.3.1 Planificación En la Figura 2 se muestra la planificación del proyecto a través de un Diagrama Gantt, organizada en las fases de desarrollo RUP, que como ya se ha explicado, ha sido la metodología seguida. 3.3.2 Esfuerzo El proyecto se ha realizado de Julio 2009 hasta finales de Junio del 2010. Bajo una estimación aproximada de 1000 horas, a razón de 5 horas de dedicación diaria. La proporción de tiempo destinada a cada una de las fases de desarrollo es la mostrada en la siguiente figura. Figura 1. Distribución de esfuerzo
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 13 de 34 Figura 2. Planificación del proyecto
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 14 de 34 3.3.3 Otras métricas A continuación se muestran otras mediciones interesantes del proyecto obtenidas con herramientas de análisis en base de datos y “Code Metrics” en Visual Studio. 25 clases de interfaz. 38 clases de acceso a datos. 5 Procedimientos almacenados y otras tantas funciones de acceso a datos en nHibernate. oS_OrgSerCandidatePurchasedServices_GetByCandidateByService oS_OrgSerCompanyPurchasedServices_GetByCompanyByService_CV oS_OrgSerCompanyPurchasedServices_GetByCompanyByService_OFFER oS_OrgEntCompany_GetCountCandidatesSubscribedToOffersByOrganization oS_OrgEntCompany_ListCompaniesByStringByMaxResults Aproximadamente 23.000 líneas de código C#.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 15 de 34 4. Fases del proyecto El proceso de desarrollo del proyecto viene determinado por la metodología RPU. En la figura 3 se muestra un esquema de las fases en las que se ha dividido y de los documentos generados en cada una de ellas, documentos los cuales pueden consultarse en los anexos de este proyecto. Figura 3. Fases del proyecto En este apartado se resume las diferentes fases en que se divide el proceso de desarrollo del proyecto software, mostrando características y resultados más relevantes de cada una de las fases, de manera que se proporciona una visión global de la realización del proyecto en todas
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 16 de 34 sus fases, sin entrar en el detalle. Para más información consultar en los anexos correspondientes a los que se hará referencia. 4.1 Fase de inicio En esta fase se han realizado los procesos de adaptación al entorno de trabajo y al contexto empresarial en el que se va a realizar el proyecto. El objetivo es la integración en las actividades habituales de la empresa y en la dinámica seguida por la misma. Dentro del proceso de adaptación, se analizaron distintos proyectos realizados en la empresa para conocer y entender el modo de funcionamiento diario. El proyecto fin de carrera no se inició en un primer momento, sino que se realizaron distintas tareas de ayuda y desarrollo en otros proyectos, lo que permitió un rápido proceso de aprendizaje de la tecnología y metodología utilizada en Endalia. 4.2 Fase de planificación En la fase de planificación se define la metodología de trabajo a llevar a cabo en las futuras fases del proyecto. En esta fase se genera el documento que recoge la gestión de configuraciones, cuyo contenido indica cómo gestionar y modificar los elementos del proyecto, con objetivo de mantener una política adecuada de control cambios y de gestión del proyecto. Se trabajó con la herramienta de Microsoft, Team Foundation Server (TFS) para hacer uso de las opciones de: control de código fuente, seguimiento de elementos de trabajo, un sitio Web del portal del proyecto de equipo, creación de informes y administración de proyectos, almacén de datos con el seguimiento de elementos de trabajo, etc. Puede consultarse el documento de plan de gestión de configuraciones que se encuentra en los anexos para obtener más información. 4.3 Fase de análisis En esta fase se realiza inicialmente la definición de los casos de uso y la captura de requisitos, los cuales son recopilados entre el director, cliente, equipo y proyectando. Se realiza también un análisis detallado de la arquitectura del sistema, de las clases y de los paquetes con el objetivo de estructurar el sistema entero para la fase de diseño. Se debe de identificar de manera diferenciada las funcionalidades que deberá implementar el sistema, así como sus restricciones. 4.3.1 Casos de Uso Los casos de uso se utilizan para describir el funcionamiento del sistema en su interacción con los usuarios que lo utilizan. Se realizan los diagramas de casos de uso y los diagramas de
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 17 de 34 secuencia para describirlos, pero para ello previamente se identifican los roles que interactúan con el sistema: Usuario Candidato, usuario registrado que interacciona con la bolsa de empleo. Usuario Empresa, usuario registrado que interacciona con la bolsa de empleo. Usuario Editor del blog de empleo, usuario registrado el cual tiene la posibilidad de incluir entradas en el blog. Usuario Visitante del blog de empleo, el cual puede comentar las entradas publicadas. Una vez definido el funcionamiento deseable del sistema, se identifican las entidades que forman la estructura estática, y se separan en paquetes de análisis, para facilitar su organización. Por último, se analizan los requisitos especiales que pudiera haber, para identificar restricciones y peculiaridades que pudiera tener el proyecto en otras fases. Puede consultarse el documento de análisis, con toda la información de esta fase en los anexos. A modo de ejemplo se presenta en la siguiente Figura 4 el caso de uso del usuario candidato interaccionando con las distintas funcionalidades de la bolsa de empleo. Figura 4. Casos de uso de un usuario candidato 4.4 Fase de diseño En la fase de diseño, se describe la arquitectura del sistema que más adelante se implementará, teniendo en cuenta los resultados de la fase de planificación y análisis.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 18 de 34 A partir de los resultados obtenidos en la fase de análisis, se especifica arquitectura, subsistemas y entidades, las tablas necesarias en la base de datos y las clases de interfaz y de acceso a datos necesarias. Con los casos de uso, se identifican las necesidades de interacción del usuario con el sistema, y se define la estructura del interfaz de usuario a través de prototipos. Cabe destacar en esta fase la arquitectura del sistema y el diseño de la base de datos. 4.4.1 Arquitectura del sistema Arquitectura Física La aplicación residirá en un servidor web (Microsoft Windows 2003 server como sistema operativo y Microsoft IIS 6.0 como servidor de aplicaciones) al que se pueden conectar múltiples usuarios a través de Internet mediante protocolo HTTP. La aplicación utiliza la tecnología ASP.NET que forma parte de la plataforma de desarrollo .NET Framework y se comunica con una base de datos SQL Server donde reside toda la información. La base de datos será administrada mediante el sistema gestor de base de datos SQL Server 2005. Figura 5. Arquitectura física del sistema Arquitectura Lógica El proyecto se desarrolla utilizando un diseño multicapa, cuya descomposición facilita el mantenimiento y escalabilidad de la aplicación. La ventaja principal de este diseño es que el desarrollo se puede llevar a cabo en varios niveles y en caso de realizar algún cambio sólo se modifica el nivel requerido.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 19 de 34 Figura 6. Arquitectura lógica del sistema Capa de Presentación El objetivo principal de esta capa es el de proporcionar una interfaz que permita interactuar con el usuario. Para el desarrollo de esta capa, se utilizan los WebForm de ASP.NET en el desarrollo de las funcionalidades de la bolsa de empleo y en el blog de empleo. Un WebForm consta de dos componentes: la interfaz de usuario (IU) y la lógica de la aplicación. La interfaz de usuario es el componente visual que se compone de código HTML y controles específicos de la aplicación Web. Se especifica en un archivo con la extensión ‘.aspx’. La lógica de programación de una aplicación Web de ASP.NET está en un archivo separado que contiene el código que controla las interacciones del usuario con el formulario. Este archivo recibe el nombre de archivo de código subyacente (code behind) y tiene la extensión ‘.cs. Capa de Lógica de negocio O también denotada capa lógica de acceso a datos que contiene los objetos que representan los datos almacenados en la Base de datos, así como la lógica necesaria para procesarlos. Capa de Integración Contiene objetos que automatizan el acceso a datos. Esto se corresponde con los procedimientos almacenados en la base de datos y con NHibernate. Nhibernate es la capa de persistencia objeto / relacional que permite abstraer al programador .Net C# de las particularidades de una determinada base de dato, proveyéndole de clases que envolverán los datos recuperados de los registros de las tablas. Para la configuración de mapeo en NHibernate se utiliza ficheros XML que permiten mapear a clases las tablas existentes en la base de batos así como configurar las claves ajenas existentes. Capa de Datos Contiene los sistemas de información de la aplicación, en nuestro el sistema se corresponde con la base de datos y con los archivos de recursos. 4.4.2 Base de Datos Se realiza el diseño de base de datos basándose en las entidades identificadas en las fases anteriores y adecuándolas a una base de datos relacional gestionada por el sistema gestor de base de datos SQL Server 2005. Se describen las tablas con sus atributos, las relaciones entre
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 26 de 34 Figura 11. Proceso de compra de servicios. En este proceso de Pago Express a través de PayPal, toda la información de pago del comprador, como por ejemplo el número de cuenta desde el cual se realiza la transacción económica para realizar la compra, es almacenada por PayPal en sus bases de datos. La bolsa de empleo tan solo almacena datos sobre la fecha de la compra, el servicio adquirido, la cantidad y el ID de la transacción realizada con PayPal para tener constancia del pago realizado por el usuario a través de la pasarela de pagos.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 27 de 34 5.5 Panel principal de una empresa El usuario accede como empresa a la bolsa de empleo, una vez dentro se muestra el panel principal desde donde tiene accesibles las principales funcionalidades del sistema: Modificación del perfil de empresa, gestión de las ofertas publicadas y de los candidatos suscritos, búsqueda de candidatos y compra de servicios. Figura 12. Captura del panel principal de la empresa y las funcionalidades de búsqueda de candidatos, adquirir un CV y ver el perfil de empresa. Nota: Mis perfiles de competencias, los cuales no han sido comentados a lo largo del proyecto, forman parte de otros servicios de Endalia, accesibles desde la bolsa de empleo. En este proyecto solo se ha integrado y adaptado sus estilos a los de la bolsa de empleo.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 28 de 34 5.6 Blog de empleo El blog de empleo es una herramienta web que complementa a la bolsa de empleo para divulgación pública de comentarios en materia de empleo, donde los usuarios editores pueden publicar post y los visitantes al blog comentarlos. El blog de empleo es la adaptación del open source de BlogEngine.NET, una plataforma de blogging muy completa que nos permite la adaptación a los colores corporativos de la bolsa de empleo a la que se refiere, además de widgets que le dan una funcionalidad adicional al blog. Figura 13. Captura de pantalla de la página de inicio del Blog de empleo, y las funcionalidades de leer, crear y comentar un post.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 29 de 34 5.7 Herramienta de envío masivo de correos La herramienta de envió masivo de correos, es una herramienta adicional creada para la realización de mailings masivo a empresas y candidatos de la bolsa de empleo, con finalidad de realizar labores de marketing vía mailing. La opción de edición del código HTML y vista diseño del correo electrónico, se realiza a través de una herramienta open source llamada “CKeditor”, la cual ha sido integrada en la herramienta de envió masivo de correos. Esta herramienta nos permite la modificación del correo electrónico a través de la vista diseño, generando la propia herramienta el código HTML. Figura 14. Captura de pantalla de la herramienta de envió masivo de correo Un Winforms o también conocido como formulario de Windows, proporcionan una interfaz de programación de aplicaciones gráficas (API) incluida como parte de Microsoft. NET Framework, las cuales proporciona acceso a los elementos nativos interfaz de Microsoft Windows envolviendo la API de Windows existentes en el código administrado.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 30 de 34 Figura 15. Captura de pantalla de los Winforms usados en el desarrollo La estructura de almacenamientos en Base de Datos de esta herramienta se muestra en la figura. En la tabla Cameras se almacena la información de los servidores de correo a través de los cuales realizar los envíos masivo; asociados a estos se tienen por un lado empresas y candidatos con sus direcciones de correo para realizar los envíos, bit de notificación y fecha en que se realizo el envío, excepción si el envió falla. Se muestra una sencilla estructura de almacenamiento, más que suficiente para poder realizar la labor de envió de correos. Figura 16. Estructura en Base de Datos de la herramienta de envió masivo de correo
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 31 de 34 6. Conclusiones En esta sección se analizan conclusiones del proyecto, líneas futuras y la valoración personal del proyectando sobre el proyecto. 6.1 Cumplimiento de objetivos A la hora de valorar el proyecto realizado y analizar las conclusiones debemos realizar una reflexión sobre el cumplimiento de los objetivos planteados. Objetivos a nivel de gestión: se analizaron distintas metodologías de software, pero se optó por realizar una versión simplificada de la metodología RUP que se venía llevando a cabo en la empresa. Muchas veces, por motivos de planificación y presentación de entregables, las fases de diseño e implementación se vieron solapadas y la metodología cambiaba a un modelo en espiral en el que se reutilizaban prototipos anteriores y se aprovechaban desarrollos previamente implementados y diseñados. Objetivos a nivel tecnológico: el principal objetivo era conocer y utilizar la tecnología .NET, SQL Server, Nhibernate para el desarrollo de aplicaciones software. El resultado ha sido muy satisfactorio ya que se ha conseguido un buen conocimiento del entorno y la tecnología utilizada. Inicialmente, el proceso fue lento, y los errores aparecidos en las fases de implementación y pruebas eran desconocidos incluso para compañeros que llevaban utilizando la tecnología algún tiempo. Uno de los indicadores más importantes de la consecución de este objetivo fue, en la fase de pruebas, el poder identificar claramente el porqué de un error y el código o diseño de base de datos que lo provocaba. Objetivos a nivel funcional: este objetivo consistía en que el proyecto cumpliese las especificaciones, requisitos y funcionalidad acordada, así como la fiabilidad y escalabilidad. Se ha cumplido satisfactoriamente ya que este proyecto se ha implantado con éxito en el cliente, al cual es accesible en www.quieroempleo.com. Objetivos a nivel de la empresa: Se han cumplido los indicadores más relevantes que son el cumplimiento de las fechas de entregas a cliente. Objetivos a nivel personal: este es quizás uno de los objetivos más relevantes. Se valora excelentemente la consecución de este objetivo ya que me ha permitido conocer a fondo el ámbito empresarial y a la par poder realizar el proyecto fin de carrera. 6.2 Líneas futuras Este proyecto contiene servicios y funcionalidades complementarias a la bolsa de empleo Web, que ha mejorado la plataforma inicial habiendo todavía desarrollos para mejorarla, pues actualmente seguimos trabajando en el proyecto y en futuras mejoras, tales como:
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 32 de 34 La adición de publicidad en diversas secciones de la bolsa de empleo, dando la posibilidad a los usuarios de adquirir un servicio de pago que les permita ocultar la publicidad de la web para obtener una mejor visualización del contenido. Toda la publicidad insertada en la bolsa de empleo cumple los estándares publicitarios interactivos IAB. Envío de mensajes de texto a móvil, aprovechando las nuevas tecnologías, podrían desarrollarse servicios este tipo de servicios para aquellos usuarios que quieran informarse en el momento en que una suscripción a una oferta cambie de estado, aparezcan nuevas ofertas etc. Plataforma para móvil, adecuar el sistema para las nuevas generaciones de móviles Iphone, Android, ... Para la plataforma de envió de masivo de correos, queda pendiente la creación de nuevos servidores de correo desde la aplicación y la inserción de las direcciones de correo a partir de un Excel. El sistema pretende adatarse a las necesidades que vayan surgiendo, para ser lo más competitivo posible, y esto es un realidad a día de hoy, pues el equipo de Endalia seguimos trabajando en las mejoras de la plataforma. 6.3 Valoración personal A continuación voy a realizar una valoración personal de este proyecto, donde voy a permitirme hablar en primera persona, abandonando el estilo formal utilizado en el resto del proyecto. A nivel académico, el desarrollo de este proyecto, me ha permitido conocer múltiples herramientas de trabajo (tecnología .Net, nHibernate…), también he mejorado mis conocimientos en bases de datos, y he adquirido otros nuevos en cuanto al diseño Web. He podido cumplimentar la formación adquirida durante estos años en el Centro Politécnico Superior, con experiencia obtenida en un entorno de trabajo empresarial, algo imprescindible para entrar en el mundo laboral más fácilmente. A nivel personal, tengo que agradecer la realización de este proyecto a Endalia, a Fernando Cortes por darme la oportunidad de trabajar en la empresa y a mis compañeros por el apoyo recibido. El trabajo en Endalia ha sido una experiencia muy gratificante. He podido aprender muchísimo de mis compañeros, sentirme como una más, y he visto lo que es un buen trabajo en equipo, estando en constante comunicación con todos los participantes de las tareas comunes y de otros sistemas afines En definitiva, valoro muy positivamente el tiempo empleado realizando este proyecto. Me siento orgullosa del resultado obtenido, y de mi progreso durante su realización. He obtenido una experiencia muy valiosa para mi futuro profesional.
Servicios y funcionalidades complementarias a la bolsa de empleo Web. Versión: 1.0 Memoria Fecha: 05/10 Begoña Cuello Barón Página 33 de 34 7. Bibliografía 7.1 Referencias [R1] - I. Jacobson, G. Booch, J. Rumbaugh. 2000. El Proceso Unificado de Desarrollo de Software. Pearson Education [R2] - I. Jacobson, G. Booch, J. Rumbaugh. 2000. El Lenguaje Unificado de Modelado. Ed. Addison Wesley. [R3] - Martin Fowler. 1999. UML Destilled. Addison-Wesley 1999 (2nd ed.) [R4] Hoang Lam, Thuan L. Thai. .NET Framework Essentials, 3rd Edition. O’Reilly 2003 [R5] Art Gittleman. Computing With C# and the .Net Framework. Jones and Bartlett Publishers 2003 [R6] Ray Rankins, Paul Bertucci, Paul Jensen. Microsoft SQL Server 2000 Unleashed. Sams Publishing 2002. [R7] Juval Lowy 2003. C# Coding Standard. Idesign Inc 2004. 7.2 Referencias Web [W1] – UML: http://www.uml.org [W2] – Code Metrics http://www.vitalygorn.com/blog/post/2007/11/Code-Metrics-in-Visual-Studio-2008.aspx [W3] - .NET Framework: http://en.wikipedia.org/wiki/.NET_Framework [W4] – Microsoft: http://www.microsoft.com/ [W5] – C#: http://msdn.microsoft.com/en-us/vcsharp/aa336809.aspx [W6] – SQL Server: http://en.wikipedia.org/wiki/Microsoft_SQL_Server [W7] – Servidor IIS: http://en.wikipedia.org/wiki/Internet_Information_Services [W8] – JavaScript: http://en.wikipedia.org/wiki/Javascript [W9] – JavaScript: http://www.javascript.com/ Nota: Todas las referencias Web han sido accedidas y comprobadas a 26/05/2010.