VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS Álvaro
Transcription
VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS Álvaro
VILNIAUS GEDIMINO TECHNIKOS UNIVERSITETAS FUNDAMENTINIŲ MOKSLŲ FAKULTETAS Álvaro Santisteban Diéguez MODELING AND SIMULATION OF AN EMPLOYMENT AGENCY USING BUSINESS MODELER Final bachelor project Supervisor: Mindaugas Rybokas Vilnius, 2009 1 Table of contents 0. RESUMEN DEL PROYECTO EN CASTELLANO ...........................................................................6 0.1 INTRODUCCIÓN ....................................................................................................................................6 0.1.1 Caracteristicas de WebSphere Business Modeler ........................................... 6 0.1.2 Introducción al proyecto y al modelo .............................................................. 7 0.2 REPOSITORIOS, DATOS Y ROLES ...........................................................................................................8 0.3 EL MODELO ........................................................................................................................................11 0.3.1 Give ticket number (Dar número de ticket)................................................... 12 0.3.2 Give information (Dar información) ............................................................. 12 0.3.3 Check Documentation (Comprobar documentación) .................................... 12 0.3.4 Interview with the applicant (Entrevistar al solicitante)................................ 12 0.3.5 Find suitable job (Buscar un trabajo adecuado) ............................................ 13 0.3.6 Select a job (Escoger un trabajo)................................................................... 13 0.3.7 Offer a job (Ofrecer un empleo) .................................................................... 14 0.4 SIMULACIÓN ......................................................................................................................................14 0.5 COMENTARIOS ADICIONALES .............................................................................................................15 1. INTRODUCTION .................................................................................................................................16 1.1 AN INTRODUCTION TO THE DOCUMENT ..............................................................................................16 1.2 AN INTRODUCTION TO THE SYSTEM ...................................................................................................16 1.3 IBM’S WEBSPHERE BUSINESS MODELER ..........................................................................................16 1.3.1 Diagram layouts............................................................................................. 17 1.3.2 Human task modeling.................................................................................... 17 1.3.3 Business rules definition................................................................................ 17 1.3.4 Business item definition ................................................................................ 17 1.3.5 Resource modeling ........................................................................................ 18 1.3.6 Organization modeling .................................................................................. 18 1.3.7 Structure modeling ........................................................................................ 18 1.3.8 Simulation of business processes .................................................................. 18 2. REPOSITORIES, BUSINESS ITEMS AND ROLES ........................................................................20 2.1 REPOSITORIES ....................................................................................................................................20 2.2 BUSINESS ITEMS .................................................................................................................................20 2.2.1 Address .......................................................................................................... 21 2.2.2 Personal data.................................................................................................. 21 2.2.3 Studies ........................................................................................................... 21 2.2.4 Job.................................................................................................................. 22 2.2.5 Job requirement ............................................................................................. 22 2.2.6 Advise of a new client ................................................................................... 22 2.2.7 Ticket ............................................................................................................. 22 2.2.8 Unemployment benefit .................................................................................. 22 2.2.9 Burocracy papers ........................................................................................... 23 2.2.10 Form ............................................................................................................ 23 2.2.11 First-Time form ........................................................................................... 23 2.2.12 Past-Jobs form ............................................................................................. 23 2.2.13 Internal agency form.................................................................................... 23 2.2.14 Job-Offers form ........................................................................................... 24 2.3 ROLES ................................................................................................................................................24 2.3.1 Advisor .......................................................................................................... 24 2.3.2 Information agent .......................................................................................... 25 2 2.3.3 Job seeker ...................................................................................................... 25 3. THE MODEL ........................................................................................................................................26 3.1 GIVE TICKET NUMBER ........................................................................................................................28 3.1.1 Give ticket ..................................................................................................... 30 3.1.2 Push information agent.................................................................................. 30 3.1.3 Pop information agent ................................................................................... 30 3.1.4 Assign an information agent.......................................................................... 30 3.1.5 Push advisor................................................................................................... 30 3.1.6 Pop advisor .................................................................................................... 30 3.1.7 Assign an advisor .......................................................................................... 30 3.2 GIVE INFORMATION ...........................................................................................................................30 3.2.1 Check ticket ................................................................................................... 32 3.2.2 Ask if first time here...................................................................................... 32 3.2.3 Ask if first job................................................................................................ 32 3.2.4 Give explanation about documents ............................................................... 32 3.2.5 Give explanation about agency ..................................................................... 32 3.2.6 Respond to questions ..................................................................................... 32 3.3 CHECK DOCUMENTATION ...................................................................................................................32 3.3.1 Check ticket ................................................................................................... 34 3.3.2 Check First-Time form .................................................................................. 34 3.3.3 Check Internal form....................................................................................... 34 3.3.4 Check Past-Jobs form .................................................................................... 34 3.3.5 Check burocracy papers................................................................................. 34 3.4 INTERVIEW WITH APPLICANT .............................................................................................................34 3.4.1 Read First-Time form .................................................................................... 36 3.4.2 Creation of Internal form............................................................................... 36 3.4.3 Read Internal form......................................................................................... 36 3.4.4 Listen to explanations.................................................................................... 36 3.4.5 Open a trouble-rejection ticket ...................................................................... 36 3.4.6 Ask what happened to get fired ..................................................................... 36 3.4.7 Open a trouble-fired ticket............................................................................. 36 3.4.8 Update Internal form 2 .................................................................................. 36 3.4.9 Explain simple search.................................................................................... 36 3.4.10 Determinate area.......................................................................................... 36 3.4.11 Determinate position ................................................................................... 36 3.4.12 Determinate salary....................................................................................... 36 3.4.13 Update Internal form ................................................................................... 37 3.4.14 Explain detailed search................................................................................ 37 3.5 FIND SUITABLE JOB ............................................................................................................................37 3.5.1 Compare Internal form with jobs-DB............................................................ 39 3.5.2 Create Job-Offers form.................................................................................. 39 3.5.3 Contact companies......................................................................................... 39 3.5.4 Update Job-Offers form................................................................................. 39 3.5.5 Find suitable job ............................................................................................ 39 3.6 SELECT A JOB .....................................................................................................................................39 3.6.1 Propose a job ................................................................................................. 41 3.6.2 Contact company ........................................................................................... 41 3.6.3 Assign unemployment benefit....................................................................... 41 3.6.4 Advise applicant of his situation ................................................................... 41 3.6.5 Update internal form...................................................................................... 41 3.6.6 Notify ticket machine .................................................................................... 41 3 3.7 OFFER A JOB .......................................................................................................................................41 3.7.1 Compare Internal form with Jobs-DB ........................................................... 43 3.7.2 Create Job-Offers form.................................................................................. 43 4. SIMULATION.......................................................................................................................................44 4.1 FIRST SIMULATION: GIVE TICKET NUMBER ........................................................................................44 4.2 SECOND SIMULATION: CHECK DOCUMENTATION ...............................................................................45 4.3 THIRD SIMULATION: INTERVIEW WITH APPLICANT .............................................................................46 5. BIBLIOGRAPHY .................................................................................................................................49 5.1 PDF DOCUMENTS ...............................................................................................................................49 5.2 INTERNET WEBPAGES ........................................................................................................................49 4 List of figures FIGURE 1: REPOSITORIES .............................................................................................................................20 FIGURE 2: BUSINESS ITEMS .........................................................................................................................21 FIGURE 3: ROLES.........................................................................................................................................24 FIGURE 4: INTERACTION WITH APPLICANT PROCESS ....................................................................................27 FIGURE 5: GIVE TICKET NUMBER PROCESS ..................................................................................................29 FIGURE 6: GIVE INFORMATION PROCESS .....................................................................................................31 FIGURE 7: CHECK DOCUMENTATION PROCESS .............................................................................................33 FIGURE 8: INTERVIEW WITH APPLICANT PROCESS I .....................................................................................35 FIGURE 9: INTERVIEW WITH APPLICANT PROCESS II ....................................................................................35 FIGURE 10: FIND SUITABLE JOB PROCESS ....................................................................................................38 FIGURE 11: SELECT A JOB PROCESS .............................................................................................................40 FIGURE 12: OFFER A JOB PROCESS ...............................................................................................................42 FIGURE 13: FIRST SIMULATION....................................................................................................................45 FIGURE 14: SECOND SIMULATION (I)...........................................................................................................46 FIGURE 15: SECOND SIMULATION (II) .........................................................................................................46 FIGURE 16: THIRD SIMULATION ..................................................................................................................48 List of tables TABLE 1: FIRST SIMULATION .......................................................................................................................44 TABLE 2: SECOND SIMULATION ...................................................................................................................45 TABLE 3: THIRD SIMULATION ......................................................................................................................47 5 0. Resumen del proyecto en castellano El presente punto tiene como objetivo resumir el contenido de la documentación del proyecto "Modeling and Simulation of an employment agency using Business Modeler" (Modelización y simulación de una agencia de empleo utilizando Business Modeler) realizado en inglés en la universidad lituana "Vilniaus Gedimino Technikos Universitetas" dentro de la facultad de Ciencias Fundamentales en la ciudad de Vilna, bajo la supervisión del profesor Mindaugas Rybokas entre los meses de Octubre y Marzo del curso 2008/09 bajo el programa Erasmus. El proyecto fue finalmente defendido el 2 de Marzo de 2009 obteniendo una calificación de Very good (9) o, su equivalente en ECTS, grado B. El comité de evaluación estuvo compuesto por: Profesor J. Galkauskaite Profesor asociado dr. R. Kulvietiene Profesor asociado dr. M. Rybokas Profesor asociado dr. S. Valentinavicius Catedrático del comité de evaluación dr. G. Kulvietis Director de la Facultad de Ciencias Fundamental dr. A. Cenys A lo largo de este resumen se referenciará a las imágenes ya utilizadas en el documento original para evitar la repetición de las mismas. Así mismo, se mantendrá el nombre original en inglés de los procesos del modelo para facilitar el seguimiento de los mismos dentro de las imágenes, aunque se añadirá su traducción en castellano para aportar una mayor información. 0.1 Introducción El proyecto nace como propuesta del tutor de utilizar el programa de IBM WebSphere's Business Modeler para la modelización y posterior simulación de algún tipo de proceso, entonces aún sin determinar. A tal efecto, se estudió la documentación aportada sobre la herramienta, se consultó su sitio web oficial y se realizaron diversas pruebas con proyectos de ejemplo. 0.1.1 Caracteristicas de WebSphere Business Modeler Las características principales de esta herramienta y que han sido utilizadas durante el desarrollo del proyecto son las siguientes: WebSphere Business Modeler permite crear una representación visual de un proceso empresarial que contiene información de soporte. Por ejemplo, puede crear modelos de elementos empresariales (datos y productos del trabajo) y recursos. Luego puede asociar estos modelos al proceso empresarial. El diagrama de proceso puede tener varias vías de acceso que se bifurcan según las decisiones tomadas durante la ejecución del proceso y puede añadir subprocesos al diagrama. Además, tiene la opción de crear un modelo de los procesos ya sea con un diseño de formato libre o con un diseño de carril y cambiar entre estos dos tipos de diseños. 6 Los modelos empresariales pueden ser creados en diferentes modalidades (básica, intermedia y avanzada), siendo la escogida para el proyecto primero la básica y luego, una vez iniciada la parte de simulación, la avanzada. WebSphere Business Modeler puede incluir tareas humanas en los modelos de proceso para identificar visualmente y documentar las tareas que un sistema asigna a una persona para su realización. Los modelos de proceso pueden incluir cualquier documento empresarial, producto del trabajo o mercancía que se utilice en una operación empresarial específica. Puede modelar como elemento empresarial cualquier elemento que se cree, se monte, se inspeccione, se pruebe, se modifique o en el que se trabaje. Los elementos empresariales también pueden experimentar cambios a medida que pasan de un paso al siguiente dentro de los modelos de proceso. WebSphere Business Modeler proporciona una función de simulación que permite simular y analizar los procesos bajo una amplia gama de condiciones. Mediante la ejecución de simulaciones se puede determinar rápidamente si el rendimiento del proceso empresarial se ve afectado por distintas condiciones reales o hipotéticas.Se puede establecer las condiciones que controlan una simulación, incluyendo por ejemplo la cadencia y la composición de las entradas del proceso y el número de personas y recursos del sistema necesarios para manejar el proceso. Durante una simulación, WebSphere Business Modeler genera un conjunto de unidades de trabajo, que son de entrada al proceso simulado. Estas unidades de trabajo pasan por una de las posibles vías de acceso (casos) del proceso, que crean una instancia de proceso. Cuando una unidad de trabajo llega a una actividad, como una tarea, se crea una instancia de la actividad y se asignan recursos a ésta según sea necesario. Se recopilan los datos sobre las horas de inicio y finalización de las actividades de la simulación y sobre los costes que suponen las actividades. También se recopilan datos sobre el tiempo utilizado en espera de que estén disponibles los recursos y se pueden utilizar estos datos para ayudar a identificar los cuellos de botella y sus causas. Al simular el proceso de ejecución, WebSphere Business Modeler proporciona una vista animada del proceso empresarial en acción. La simulación de procesos permite la vista simultánea de todos los casos en un entorno de trabajo virtual. Además, WebSphere Business Modeler incluye otra serie de caracteristicas que no ha sido necesario adoptar en el modelo como podrían ser: La incorporación de normas empresariales al flujo de proceso utilizando las tareas de normas empresariales. Este tipo de tarea especializada le permite crear modelos de decisiones complejas e identificar visualmente los lugares del modelo de proceso donde se aplican los métodos y las políticas empresariales. La creación de modelos de recursos de cada uno de los recursos de su empresa, como empleados, sistemas, vehículos o electricidad. Puede representar en los modelos de procesos cualquier persona, parte de un equipo o material utilizado para realizar una tarea o proyecto. O la creación de modelos de organizaciones, entre otras opciones. 0.1.2 Introducción al proyecto y al modelo El motivo por el que se decide desarrollar este modelo es el de ayudar a automatizar las tareas típicas de una agencia de empleo cubriendo para ello todas las posibles acciones que pueden ser realizadas desde el momento en el que el usuario 7 (conocido dentro del momento como "the applicant"; solicitante) entra en la agencia de empleo hasta el momento en que le es asignado un empleo o el subsidio de desempleo (según caso) pasando por todas las acciones relativas a la entrevista con el solicitante y su posterior búsqueda de empleo. Algunas partes del proyecto, especialmente aquellas que involucran tareas humanas no automatizables, pueden ser vistas como un manual o guía de acciones a realizar por los empleados de la agencia en el sentido de detallar las acciones y orden que se deben seguir para el correcto funcionamiento de la agencia. Como fue comentado anteriormente, el proyecto cubre tanto la parte de diseño del modelo como su simulación y aporta numerosa documentación en forma de comentarios dentro del propio modelo para una posible posterior implementación, recomendándose para ello, por las características inherentes al modelo, el uso de un lenguaje de programación orientado a objetos. Para explicar adecuadamente el comportamiento del sistema se ha considerado conveniente introducir primero aquellos elementos del modelo que no dependen de ningún otro elemento como son los datos (bussines items) que entran, se transforman y salen dentro de las tareas, los repositorios (repositories) que los contienen y los roles (roles) que desarrollan estas tareas. Una vez que estos elementos son conocidos, se describirá el modelo en si mismo a través de las tareas que componen cada uno de los procesos que engloba el modelo. 0.2 Repositorios, datos y roles Un repositorio es el lugar donde se almacenan los datos y dentro del modelo se interactúa con ellos cada vez que se necesita acceder a ellos o actualizarlos. Los repositorios creados para el desarrollo del modelo fueron los siguientes: Repositorio Forms (formularios): que contiene los formularios internos de la agencia (Internal agency forms). Repositorio Jobs (trabajos): que contiene los formularios de ofertas de trabajo (Job-Offers forms) Repositorio Tickets (tickets): que contiene los tickets. Un dato es aquella información que es recibida, trabajada o transformada y producida. Los datos creados para el desarrollo del modelo fueron los siguientes: Address (dirección): representa una dirección y contiene los atributos típicos que permiten definirla; dos líneas texto para situarla, nombre de la ciudad, de la provincia, del país y el código postal. Personal data (datos personales): representa los datos personales del solicitante y contiene los siguientes atributos; nombre, apellido, fecha de nacimiento, lugar de nacimiento, número de identificación (dni o pasaporte) y estado civil. 8 Studies (estudios): representa los estudios del solicitante y contiene los siguientes atributos; estudios elementales, estudios medios, estudios universitarios y masters. Job (trabajo): representa un pasado trabajo que el solicitante ha desempeñado y queda definido con los siguientes atributos; nombre de la compañía donde trabajó, dirección de la compañía (este atributo es, a su vez, un dato de tipo Address), area de trabajo, posición ocupada, periodo de actividad, email de persona de contacto en caso de querer corroborar los datos e información adicional. Job requirement (requisito de trabajo): representa un requisito que la empresa contratante puede querer pedir al solicitante en caso de trabajar allí. El único atributo que contiene es el propio requisito, que tiene cuatro posibles estados, dependiendo de lo que pida la compañía. Estos son: o Ninguno, el solicitante puede comenzar de inmediato. o Entrevista, el solicitante debe pasar satisfactoriamente una entrevista. o Tests, el solicitante debe pasar satisfactoriamente uno o más tests con la puntuación establecida por la compañía. o Entrevista y tests, el solicitante debe pasar satisfactoriamente una entrevista y uno o más tests con la puntuación establecida por la compañía. Advise of a new client (aviso de llegada de nuevo cliente): representa la llegada de un nuevo solicitante a la agencia. Es el detonante de todo el modelo y su único atributo es un booleano que nos permite saber si el solicitante desea hablar con un information agent (informador) o un advisor (asesor). Ticket (ticket): representa el ticket necesario para hablar con un informador o un asesor y contiene los siguientes atributos; número de ticket y un booleano que nos permite saber si el solicitante desea hablar con un informador o un asesor. Unemployment benefit (subsidio de desempleo): representa el subsidio de desempleo que se otorga a aquellos solicitantes que no han encontrado un trabajo adecuado y no han rechazado el número máximo de empleos establecido por la agencia. Contiene los siguientes atributos; fecha de inicio, fecha de fin y cantidad percibida. Burocracy papers (formularios burocráticos): representa todos aquellos formularios y trámites burocráticos que el solicitante debe entregar en la agencia. Contiene los siguientes atributos; numero de la seguridad social, certificado de registro y fotocopia del documento de identificación (dni o pasaporte). Form (formulario): representa un formulario abstracto que se concretaría en los cuatro siguiente tipos explicados más adelante; FirstTime form, Past-Jobs form, Internal agency form y Job-Offers form. First-Time form (formulario de Primera-Vez): representa el formulario que el usuario debe rellenar si es la primera vez que acude a la agencia en busca de empleo. Contiene los siguientes atributos; datos del solicitante (este atributo es, a su vez, un dato de tipo Personal Data), dirección del solicitante (este atributo es, a su vez, un dato de tipo Address) y estudios del solicitante (este atributo es, a su vez, un dato de tipo Studies). 9 Past-Jobs form (formulario de Trabajos-Anteriores): representa un formulario en el que constan los trabajos que el solicitante ha desempeñado con anterioridad. Contiene los siguientes atributos: datos del solicitante (este atributo es, a su vez, un dato de tipo Personal Data), dirección del solicitante (este atributo es, a su vez, un dato de tipo Address) y trabajos anteriores del solicitantes (este atributo es, a su vez, un dato repetitivo de tipo Job) Internal agency form (formulario interno): representa el formulario que contiene toda la información relativa a un solicitante y que ha sido obtenida a través del formulario de Primera-Vez, Trabajos-Anteriores así como entrevistas u otra información útil utilizada para buscarle un empleo. Es el formulario más importante y contiene los siguientes atributos; datos del solicitante (este atributo es, a su vez, un dato de tipo Personal Data), código del solicitante, dirección del solicitante (este atributo es, a su vez, un dato de tipo Address), estudios del solicitante (este atributo es, a su vez, un dato de tipo Studies), trabajos anteriores del solicitante (este atributo es, a su vez, un dato repetitivo de tipo Job), área de trabajo deseada, posición deseada dentro de ese área, salario mínimo deseado, número de trabajos rechazados, ticket de despido (para controlar si el solicitante ha sido despedido debido a un comportamiento inadecuado), ticket de rechazo (para controlar si el solicitante ha rechazado varios trabajos sin ofrecer explicación alguna), subsidio de desempleo del solicitante (este atributo es, a su vez, un dato de tipo Unemployment benefit). Job-Offers form (formulario de Ofertas-Trabajo): representa el formulario que contiene la descripción de una oferta de trabajo que la agencia, por medio de los asesores o job-seekers (buscadores de empleo), ha considerado acorde con el perfil del solicitante. Contiene los siguientes atributos; código del solicitante, código del trabajo, nombre de la compañía, dirección de la compañía (este atributo es, a su vez, un dato de tipo Address), área de trabajo, posición ocupada dentro de ese área, salario, descripción detallada de las labores a realizar, extras (del tipo, bono de comida, coche de empresa, etc.) y requisitos de la empresa (este atributo es, a su vez, un dato de tipo Requirement). Un rol nos permite conocer quién es la persona encargada de realizar una determinada tarea. Los roles creados para el desarrollo del modelo fueron los siguientes: Advisor (asesor): el asesor es la persona encargada de comprobar la documentación del solicitante, su entrevista y la búsqueda de empleo en caso de que éste no deseo un trabajo concreto. El coste de un asesor es de 12 euros por hora. Information agent (informador): el informador es la persona encargada de informar al solicitante sobre el funcionamiento de la agencia y los documentos que deben ser rellenados para la búsqueda de empleo. El coste de un informador es de 10 euros por hora. Job-seeker (buscador de empleo): el buscador de empleo es la persona encargada de buscar empleos específicos de forma más exhaustiva que la 10 0.3 El modelo El modelo de la agencia de empleo está formado por ocho procesos y un total de cuarenta y seis tareas, de las cuales seis son de tipo "humano". Cuenta con un punto de inicio y cuatro puntos de fin. El proceso principal, llamado Interaction with applicant (Interacción con el solicitante) se muestra en la página 27. El detonante del modelo es el aviso de llegada de un nuevo cliente, quien coge un ticket de la máquina que existe a tal efecto ya sea para consultar sus dudas con el informador (rama superior) o para hablar con el asesor y de esa forma buscar empleo (rama inferior). Esta decisión queda determinada en el proceso Give ticket number (Dar número de ticket). Si el solicitante quiere hablar con el informador, entonces el proceso Give information (Dar información) comienza para así resolver las dudas del solicitante. A continuación y dependiendo de si lo necesita o no, le son entregados los formularios y/o papeles burocráticos. Si el solicitante quiere hablar con el asesor entonces se deben recorrer varios pasos, de los cuales el primero es comprobar la documentación, lo que se hace en el proceso Check documentation (Comprobar documentación). A continuación se realiza una entrevista que se engloba en el proceso Interview with applicant (Entrevistar al solicitante) donde, entre otras cosas, el solicitante expresa su deseo de una búsqueda exhaustiva realizada por el buscador de empleo (rama superior) o de aceptar prácticamente cualquier trabajo, en cuyo caso la búsqueda es mucho más sencilla y realizada por el propio asesor en ese mismo momento (rama inferior). Si, como decíamos, el solicitante quiere un trabajo específico, el buscador de empleos realizará una búsqueda basada en el perfil del solicitante y contactará las diferentes compañías que ofrecen empleo dentro del proceso Find suitable job (Buscar un trabajo adecuado) para, una vez terminada la búsqueda, proceder a contactar de nuevo con el solicitante por medio del asesor y ofrecerle las diferentes opciones encontradas. Esto ocurre en el proceso Select a job (Escoger un trabajo). Si el solicitante quiere un empleo cualquiera, entonces es el asesor quien se encarga de realizar directamente esa búsqueda mirando en la base de datos de trabajos para encontrar algún empleo que pueda resultarle interesante. Esto ocurre en el proceso Offer a job (Ofrecer un empleo) que, como se verá más adelante, contiene a su vez el proceso Select a job (Escoger un trabajo). Se decidió tenerlo dentro en lugar de fuera, al contrario de lo que ocurre en Find suitable job (Buscar un trabajo adecuado) para recalcar el hecho de que ambos procesos ocurren de forma seguida y no existe un cierto intervalo de tiempo como si ocurre en la búsqueda exhaustiva. A continuación se explicará en detalle cada uno de estos procesos en un subapartado. 11 0.3.1 Give ticket number (Dar número de ticket) Este proceso está encargado de controlar el orden dentro de las colas que permiten a los informadores y asesores conocer si hay alguien esperando. El modelo, mostrado en la página 29, se da inicio con el aviso de llegada de un nuevo cliente. El solicitante coge un ticket para reunirse con un informador o un asesor. Ambas ramas son iguales salvo por el hecho de que tratan colas diferentes por lo que explicando una, la otra puede ser también entendida. Lo primero que se hace es comprobar si existente algún informador libre, en cuyo caso el número del ticket le es asignado. En caso contrario, el ticket es introducido dentro de la cola hasta que existe un informador libre y no hay otros tickets por delante en un clásico caso de estructura FIFO. Aunque se puede controlar de muchas maneras, de cara a las simulaciones se asume que cada tres minutos hay un informador libre y cada diez un asesor, dado que su trabajo requiere de más tiempo. 0.3.2 Give information (Dar información) Este proceso está encargado de manejar las explicaciones que el informador ofrece al solicitante sobre el funcionamiento de la agencia (documentación que debe ser rellenada, la búsqueda de empleo, la distribución del salario o el subsidio de desempleo, etc.). El modelo, mostrado en la página 31, no precisa de excesivas explicaciones debido a lo lineal que es: previa comprobación del ticket del solicitante, el informador realiza unas cuantas preguntas (si es la primera vez del solicitante en la agencia, si va a ser su primer empleo) para, a continuación, explicar qué documentos se deben cumplimentar y cómo hacerlo. Por último, el informador responde a las preguntas que el solicitante pueda tener. 0.3.3 Check Documentation (Comprobar documentación) Este proceso está encargado de comprobar la documentación aportada por el solicitante. El modelo, mostrado en la página 33, comienza cuando el asesor, tras comprobar el ticket del solicitante, estudia el formulario de Primera-Vez o el formulario interno, dependiendo de si es la primera vez que el solicitante acude a la agencia o no. Si el solicitante ha trabajado anteriormente, se comprueba además el formulario de TrabajosAnteriores. Por último, se comprueba que no existan errores en los formularios burocráticos. 0.3.4 Interview with the applicant (Entrevistar al solicitante) Este proceso está encargado de recoger el desarrollo de la entrevista entre el solicitante y el asesor para construir el perfil del solicitante que permita buscarle un empleo adecuado. El modelo, mostrado en la página 35, comienza con la separación del flujo en dos ramas, dependiendo de si es la primera vez del solicitante en la agencia de empleo, 12 en cuyo caso el formulario de Primera-Vez es leído y el formulario interno creado, o si ya ha estado anteriormente, en cuyo caso, el formulario interno es cargado y leído para comprobar si el solicitante ha rechazado trabajos que le hayan sido ofrecidos con anterioridad, en cuyo caso el asesor escuchará as explicaciones del solicitante para así decidir si son convincentes y se continua con la entrevista o por el contrario se debe crear un ticket de rechazo de trabajo en el que conste los detalles de la situación para que posteriormente lo analice un especialista. El siguiente paso consiste en determinar si el solicitante ha trabajado anteriormente y en ese caso, conocer el motivo del final del trabajo para determinar si, en caso de despido, éste se debió a motivos razonables o no, y en caso necesario crear un ticket de despido que será posteriormente analizado por un especialista. El siguiente paso consiste en determinar si el solicitante quiere cualquier clase de trabajo, en cuyo caso el asesor le explica en qué consiste la búsqueda simple de empleo que va a realizar y el proceso termina, o por el contrario, quiere un trabajo más especifico, más relacionado con sus estudios y ambiente profesional, en cuyo caso se determina el área de trabajo y la posición y salario mínimo que querría tener. Finalmente, el formulario interno de la agencia se actualiza y el asesor explica al solicitante cómo va a ser llevada a cabo la búsqueda de empleo exhaustiva. 0.3.5 Find suitable job (Buscar un trabajo adecuado) Este proceso está encargado de la búsqueda de un empleo acorde con la documentación entregada y la entrevista realizada. El modelo, mostrado en la página 38, comienza con la comparación entre la información reunida en el formulario interno de la agencia sobre el solicitante y la base de datos de trabajos. A continuación se crea el formulario de Ofertas-Trabajo y las coincidencias entre el perfil y la base de datos, obtenidas basándose en un algoritmo, son introducidas en él. No es necesario comprobar el formulario Primera-Vez porque eso ya ha sido realizado anteriormente y toda la información importante se encuentra ahora en el formulario interno de la agencia. Sucede lo mismo con la información del formulario Trabajos-Anteriores. Más adelante, el buscador de empleo contacta con las compañías seleccionadas. Esta tarea puede llevarse a cabo en una cantidad de tiempo muy variable, dependiendo del perfil del solicitante y otros factores pues además del formulario interno de la agencia también se tiene en cuenta el curriculum y la situación actual de las empresas con las que se contacta. Cuando el buscador de empleo determina que ha contactado con suficientes compañías y/o ha encontrado un número razonable de posibles trabajos, actualiza el formulario de Ofertas-Trabajo y contacta con el asesor para transmitirle la información y que éste pueda ofrecérsela al solicitante. 0.3.6 Select a job (Escoger un trabajo) Este proceso está encargado de contactar con el solicitante para ofrecerle los trabajos encontrados por el buscador de empleo. 13 El modelo, mostrado en la página 40, comienza con el asesor contactando con el solicitante para proponerle el primero de los trabajos recogidos en el formulario de Ofertas-Trabajo. Si no lo quiere, entonces se le ofrece el siguiente y así continuamente hasta llegar al número máximo de trabajos rechazados, en cuyo caso el formulario interno de la agencia es actualizado y el subsidio de desempleo otorgado, si el solicitante cumple las condiciones necesarias para recibirlo. En caso contrario, se avisa al solicitante de esta situación. Si el solicitante acepta uno de los trabajos propuestos entonces el asesor puede contactar con la compañía que ofrece el trabajo para fijar los detalles de la cita con el solicitante. Finalmente el formulario interno de la agencia es actualizado y el asesor notifica al sistema de que ha terminado con un solicitante y está preparado para comenzar a atender a otro cliente. 0.3.7 Offer a job (Ofrecer un empleo) Este proceso está encargado de ofrecer los empleos que el asesor considera interesantes para el solicitante basando su criterio en el formulario interno de la agencia El modelo, mostrado en la página 42, comienza con la comparación entra la información recogida en el formulario interno de la agencia y la base de datos de trabajos. A continuación se crea el formulario de Ofertas-Trabajo y las coincidencias son introducidas en él. Por último, el ya explicado proceso Escoger un trabajo da comienzo. 0.4 Simulación Las simulaciones realizadas, de las cuales las incluidas en el informe y en este resumen son solo un ejemplo, fueron realizadas con el objetivo de comprobar la validez del modelo. Estas simulaciones permiten observar el correcto funcionamiento del modelo y cómo los datos van transfiriéndose y modificándose según pasan por cada una de las tareas de un proceso. Por tanto, simulaciones más detalladas con valores económicos en todos los datos y situaciones y otros parámetros más complejos (calendario de actividad de los empleados, por ejemplo) debería ser realizada en posibles futuros trabajos que se realicen sobre el modelo. A continuación se explica una simulación correspondiente al proceso Interview with applicant (Entrevistar al solicitante) cuya traza se puede encontrar en la página 47 y cuya imagen correspondiente al momento en el que el solicitante decide que quiere trabajar en un área concreta en lugar de aceptar cualquier trabajo, se puede encontrar en la página 48. En esta traza podemos ver como el asesor primero lee el formulario de PrimeraVez y crea el formulario interno de la agencia, por lo cual deducimos que, en este caso, el solicitante es la primera vez que acude a la agencia. De la observación de la traza podemos colegir que el solicitante ha trabajado anteriormente pues responde a las preguntas del asesor sobre sus pasados trabajos dando respuestas convincentes sobre sus despidos o renuncias de los mismos. Tras esas comprobaciones por parte del asesor de que todo está en orden, se le pregunta por el área de trabajo en la que querría que 14 estuviera su próximo empleo, siendo estos datos recogidos. No así la posición y el salario mínimo, que parecen no importar a este solicitante concreto. Por último, y antes de dar por terminada la entrevista, el formulario interno de la agencia es actualizado y el asesor explica en qué consiste el proceso de búsqueda detallado. A la hora de decidir el camino por el cual se moverá el flujo de datos, se establecieron una serie de porcentajes para cada ramificación de tal forma que, por ejemplo, a la hora de dictaminar si el solicitante desea trabajar en un área en concreto, el 80% de las veces se inclinará a responder que si, mientras que solo en un 20% decidirá que no le importa, es decir, que está interesado en cualquier clase de trabajo. 0.5 Comentarios adicionales En la página 49 se puede encontrar la bibliografía manejada de cara a la realización del proyecto, que básicamente consistió en manuales y tutoriales de WebSphere's Business Modeler. De cara a la realización del modelo se preguntó a diversos conocidos lituanos que en algún momento han acudido a una agencia de trabajo sobre los trámites a realizar de cara a la búsqueda de empleo, aunque debido a algunas imprecisiones y la falta de documentación en inglés se tomaron algunas decisiones de diseño libremente aunque de forma consensuada con el tutor del proyecto. 15 1. Introduction In this section we will introduce the document itself, the system plus the motivation for creating it and finally some theoretical facts about IBM’s Websphere Business Modeler. 1.1 An introduction to the document In order to explain properly the behaviour of the system, the document firstly introduces those elements of the model that do not depend on other elements. Therefore, the document first pays attention on section 2 to the Business items, the Repositories where those items are stored and the Roles that develop the tasks. Once those elements are known, a description of the model itself can be given. This description of the model can be found under section 3 and it is done by describing the processes of the model and the tasks that compose each process. 1.2 An introduction to the system The motivation behind this project is to develop a model that may help an employment agency to automate their tasks by creating a flow of processes that cover all the possible actions that can be done when a user (the applicant) arrives at an employment agency. Some parts of the project, especially those that involve human tasks, can be seen as a guide line for employees of the employment agency to develop their jobs, in the sense that details which actions and should be done and in which order. The project covers both the design of the model and the simulation of it while gives useful information for a possible implementation in an object oriented language, in case someone would like to start another project based on this one. 1.3 IBM’s WebSphere Business Modeler IBM’s WebSphere Business Modeler is a business process modeling tool that enables the user to model, design, simulate, analyze, and generate reports for his business processes; integrate his new and revised process; and define his organizations, resources, and business items. WebSphere Business Modeler lets you create a visual representation of a business process that contains supporting information. For example, you can model business items (data and work products) and resources. Then you can associate these models with your business process. You can also add annotations, much like electronic sticky notes, anywhere in a process diagram, structure diagram, or structure definition diagram. Your process diagram can have multiple branching paths based on decisions made during the process execution, and you can add subprocesses to the diagram. To simplify the modeling process, you can drag elements you need into a process diagram. 16 You can select these elements either from the palette or from any reusable processes, tasks, repositories, services, and forms that you create in the Project Tree view. Other features of WebSphere Business Modeler are: 1.3.1 Diagram layouts You have the option to model your processes in either a free-form or swimlane layout and to toggle between these two types of layouts. The free-form layout gives you the maximum flexibility to arrange your process diagrams the way that you want. A swimlane layout arranges diagram elements in rows according to the value an element has for an attribute. For example, a swimlane layout for roles places diagram elements according to the role associated with each element. There are swimlane layouts for roles, classifiers, individual resource definitions, bulk resource definitions, organization units, and locations. 1.3.2 Human task modeling You can include human tasks in your process models to visually identify and document tasks that a system assigns to a person to do. If a human task requires electronic forms for its completion, you can create these forms based on the data flowing into and out of the human task. You can also associate a form that you create or import with a human task and even create a human task based on a form. For application development purposes, you can provide specifications for human tasks that you can hand off to IT along with any associated forms. 1.3.3 Business rules definition As you model your business processes, you can incorporate business rules into your process flow using business rules tasks. This specialized task type allows you to model complex decisions and to visually identify places in your process model where business policies and practices apply. For each business rules task, you can define a group of related business rules to whatever level of detail is required for your documentation or application development needs. 1.3.4 Business item definition Your process models can include any business document, work product, or commodity that is used for a particular business operation. You can model as a business item anything that is created, assembled, inspected, tested, modified, or worked upon. Business items can also undergo changes as they are passed from one step to the next in your process models. For example, a customer order could be specified as open, working, verified, and finally closed as it is passed from task to task in a particular process model. 17 1.3.5 Resource modeling You can model each of your company's resources, such as employees, computers, vehicles, or electricity. You can represent in your process models any person, piece of equipment, or material used to perform a task or a project. Depending on the level of complexity that you require in your process models, you can also specify roles, costs, and timetables for your resources. 1.3.6 Organization modeling You can model any identifiable organization within your business, such as companies, factories, divisions, departments, or teams. An organization is any entity in which people cooperate to accomplish specified objectives. You can save your organization definitions within a project in order to reuse and revise them as your organizations evolve. 1.3.7 Structure modeling You can model how business elements such as locations, resources, and business item instances relate to one another outside the context of a particular business process. To show how different types of business entities interact with one another in relationships of varying complexity, you can create structure models. For example, a Marketing department might occupy a certain position in a company's organizational chart yet receive funding from one or more different departments in the company's financial hierarchy. By modeling structures, you can define and illustrate these multiple and varied relationships within your business. 1.3.8 Simulation of business processes WebSphere Business Modeler provides a simulation function that lets you simulate and analyze your business processes under a wide variety of conditions. By running simulations, you can quickly determine how the performance of your business process is affected by various real or hypothetical conditions. You can set the conditions that control a simulation. For example, you can include the rate and composition of process inputs and the number of personnel and system resources available to handle the process. You can also vary process input volume over time by adjusting resources and current allocations. Various resources can be shared among tasks, just as in real life, so the commencement of one task might have to wait for a particular resource to complete work on another task. You can simulate scenarios in which a particular task, or a group of tasks, must be performed several times in sequence or in parallel before the process moves on to the next stage. These scenarios offer you the flexibility to simulate real-life situations, and alternatives, without the need to remodel the business process. During a simulation, WebSphere Business Modeler generates a set of tokens, which are input to the simulated process. These tokens flow through one of the possible paths (cases) of the process, creating a process instance. When a token arrives at an 18 activity, such as a task, the activity is instantiated and resources are assigned to it as needed. Data is collected about the start and end times of the activities in the simulation and about the costs that the activities incur. Data about time spent waiting for resources to become available is also collected and can be used to help identify possible bottlenecks and their causes. When you simulate runtime processing, WebSphere Business Modeler provides an animated view of the business process in action. Process simulation enables the simultaneous viewing and examination of all cases in a virtual work environment. Simulation output provides detailed information regarding resource utilization levels and also cost and cycle time calculations. Results change according to the simulation session length or the number of entries completed by the process. 19 2. Repositories, business items and roles In this section we will see the elements that are received at the tasks and processes, worked on and later produced (business items), where are they stored (repositories) and who is the responsible for that task (role). 2.1 Repositories A repository is a place to store business items. We will interact with them every time we need to access to their business items or when we need to update them. In order to store the business items used through the tasks, the following repositories were created: Figure 1: Repositories As it can be seen, there are three different repositories: Forms, Jobs and Tickets: In the repository Forms, the Internal agency forms are stored. In the repository Jobs, the Job-Offers forms are stored. In the repository Tickets, the tickets are stored. 2.2 Business items A Business item gives us the information on what is received, worked on and produced. In order to have the data that is needed through the model the following business items were created: 20 Figure 2: Business items Most of them include the attributes that they should contain, while others are supposed to be an abstraction and therefore they don’t include any. In the following sections a small description of the business items will be given. 2.2.1 Address Represents an address. Contains the following attributes: Address line1 Address line 2 City Providence Country Postal Code 2.2.2 Personal data Represents the personal data of the applicant. Contains the following attributes: Name Surname Date of birth Place of birth ID number Civil status 2.2.3 Studies Represents the studies of the applicant. 21 Contains the following attributes: Elementary studies Middle studies Higher education Master 1 Master 2 Master 3 2.2.4 Job Represents a past job where the applicant had worked. Contains the following attributes: Company name Company address (business item: Address) Area Position Period of activity Email of contact Additional information 2.2.5 Job requirement Represents the requirement that the company might ask to the applicant in order to start working. Contains the following attribute: Requirement. This attribute has four different possible states, depending on the requisite of the company. They are the following: 1. None, starts immediately 2. Interview 3. Tests 4. Interview and tests 2.2.6 Advise of a new client Represents the entrance of a new applicant at the agency and its will for talking with an information agent or an advisor. Contains the following attribute: Information agent (Boolean: true if wants to talk with an information agent, false if wants to talk with an advisor) 2.2.7 Ticket Represents the ticket number needed to talk with an information agent or an advisor. Contains the following attributes: Ticket number Information agent (Boolean: true if wants to talk with an information agent, false if wants to talk with an advisor) 2.2.8 Unemployment benefit Represents the unemployment benefit given to those applicants that do not have a job and has not rejected a maximum number of jobs. Contains the following attributes: 22 Starting period Ending period Quantity received 2.2.9 Burocracy papers Represents the burocracy papers that the applicant needs to deliver. Contains the following attributes: Social security number Register certificate Photocopy of ID 2.2.10 Form Represents an abstract form, therefore can be any of the following four forms: 1. First-Time form 2. Past-Jobs form 3. Internal agency form 4. Job-Offers form 2.2.11 First-Time form Represents the form that has to be filled in if it is the first time that the applicant enters the agency. Contains the following attributes: Applicant data (business item: Personal data) Applicant address (business item: Address) Applicant studies (business item: Studies) 2.2.12 Past-Jobs form Represents the form that includes the past jobs of the applicant. Contains the following attributes: Applicant data (business item: Personal data) Applicant address (business item: Address) Applicant jobs (repetitive business item: Job) 2.2.13 Internal agency form Represents the information gathered about the applicant through the First-Time and Past-Jobs forms, interviews, etc. in order to find him a job. Contains the following attributes: Applicant data (business item: Personal data) Applicant code Applicant address (business item: Address) Applicant studies (business item: Studies) Applicant past jobs (repetitive business item: Job) Area of work Position inside the area Minimum salary Number of rejected jobs Trouble-fired ticket (to control if that applicant has been fired because of bad behaviour) 23 Trouble-rejected ticket (to control if the applicant has rejected many jobs without explanation) Applicant unemployment benefit (business item: Unemployment benefit) 2.2.14 Job-Offers form Represents a form with the description of a job that might be interesting for the applicant. Contains the following attributes: Applicant code Job code Company name Company address (business item: Address) Area of work Position of the area Salary Detailed description Extras (such as company car) Requirement (business item: Requirement) 2.3 Roles A role gives us the information about who performs the task. In order to determinate who is going to develop each task, the following roles were created: Figure 3: Roles As it can be seen, three roles were created: Advisor, Information agent and Job seeker. In the following sub-sections a small description of each role will be given. 2.3.1 Advisor The advisor is the person in charge of checking the documentation, interview the applicant and search for a job in case the applicant does not want a specific job. The cost of an advisor is 12 euros per hour. 24 2.3.2 Information agent The information agent is the person in charge of providing the applicant all the information related to the functioning of the agency and the forms that needs to be filled in. The cost of an information agent is 10 euros per hour. 2.3.3 Job seeker The job seeker is the person that finds jobs for applicants that look for specific jobs. It requires a more exhaustive search that the one that can be develop by the advisor. The cost of a job seeker is 20 euros per hour. 25 3. The model The model of the employment agency consists of eight processes and a total of forty-six tasks (forty regular and six human tasks). It has one starting point and four ending points. The main process, which is called Interaction with applicant, is shown on the following page. The trigger of the whole model is the Advise of a new client, whom gets a ticket number for consulting his doubts with an information agent (upper branch) or to talk with an advisor to find a job (lower branch). This is determinate in the Give ticket number process. If the applicant wants to talk with an information agent then he enters the Give information process where his doubts are answered. Afterwards, depending if he needs some forms and/or burocracy papers, they are given. If the applicant wants to talk with an advisor then the first step is to check the documentation, which is done in the Check documentation process. The following step is to interview the applicant in the Interview with applicant process where he expresses his will for a specific job, which leads to an exhaustive search done by the job seeker (upper branch), or any kind of job, which leads to an easier search that can be done by the advisor (lower branch). If the applicant wants a specific job, the job seeker will look for jobs and contact companies in the Find suitable job process and then the advisor will contact again the applicant to give him the different options found in the Select a job process. If the applicant wants any kind of job, the advisor will directly look at the data base of jobs and find something that interests the applicant. This happens in the Offer a job process. This process contains, as it will be shown later on, the Select a job process to determinate the right job for the applicant. It was decided to have it inside of Offer a job instead of outside (as it happens with Find suitable job) to make clear that both processes take place one right after the other, while in the other case, some time might went through due to the exhaustive search. Now that a little description of the whole model has been given, we will see these processes in detail in the following sub-sections. 26 Figure 4: Interaction with applicant process 27 3.1 Give ticket number This process deals with controlling the order of the queues and letting the information agent and/or the advisor know if there is someone waiting. The model, which is shown on the following page, starts with the Advise of a new client. The applicant gets a ticket for meeting an information agent or an advisor. Both branches are similar except that they would work with different queues, so by explaining one of them, the other can be also understood. The first thing that is done is to check if there is any free information agent, if it is then the ticket number is assigned to him, if not, we have to push the ticket into the queue of information agent and wait until its turn arrives so it can be popped from the queue and assigned to an information agent. This can be controlled in many ways, but we will assume that every three minutes there is an information agent that gets free (ten minutes for the advisor since their work takes more time). 28 Figure 5: Give ticket number process 29 Now a small description of each task involved in this process will be given: 3.1.1 Give ticket The machine gives a ticket with two possible options: Talk with an information agent or with an advisor. 3.1.2 Push information agent Inserts applicant’s ticket number at the end of information agents' queue. 3.1.3 Pop information agent Retrieves the first ticket number of information agents' queue every three minutes. 3.1.4 Assign an information agent The ticket number got by the applicant is assign to a free information agent. All information agents are number so in case there is more than one free information agent at the same moment, the ticket number is assign to the information agent with the lowest number. 3.1.5 Push advisor Inserts applicant’s ticket number at the end of advisor's queue. 3.1.6 Pop advisor Retrieves the first ticket number of advisor's queue every ten minutes. 3.1.7 Assign an advisor The ticket number got by the applicant is assign to a free advisor. All advisors are number so in case there is more than one free advisor at the same moment, the ticket number is assign to the advisor with the lowest number. 3.2 Give information This process deals with the explanations that the information agent gives to the applicant of how the agency works (papers to fill in, search of a job, distribution of the money, etc.). The model, which is shown on the following page, doesn’t need many explanations since it is very linear: the ticket is checked, then the information agent asks a few questions, gives an explanation of the documents that have to be fill in and how the agency works and ends responding the possible questions that the applicant might have. 30 Figure 6: Give information process 31 Now a small description of each task involved in this process will be given: 3.2.1 Check ticket Information agent checks the ticket. 3.2.2 Ask if first time here Information agent asks if it is the first time that the applicant comes to the employment agency. 3.2.3 Ask if first job Information agent asks if applier is searching for a job for the first time or had previous jobs. 3.2.4 Give explanation about documents Information agent explains how to fill in the First-Time form, Past-Jobs form and burocracy papers. 3.2.5 Give explanation about agency Information agent explains how does the agency works (the search of a job and the assignment of the unemployment benefit). 3.2.6 Respond to questions Information agent responds to the questions of the applicant related to the functioning of the agency. 3.3 Check documentation This process deals with the checking of documentation filled in by the applicant. The model, which is shown on the following page, begins with the advisor checking the ticket to continue by checking, depending if it is the first time that the applicant comes to the employment agency or not, the First-Time form or the Internal agency form. If the applicant had previous works then the Past-Jobs form is also checked. The process ends by checking the burocracy papers. 32 Figure 7: Check documentation process 33 Now a small description of each task involved in this process will be given: 3.3.1 Check ticket Advisor checks the ticket and gets the forms 3.3.2 Check First-Time form Advisor gets the First-Time form from applicant and uses a machine to check if it is well filled. 3.3.3 Check Internal form Advisor gets the Internal agency form from the Forms repository and checks if all the details are correct. 3.3.4 Check Past-Jobs form Advisor gets the Past-Jobs form from applicant and uses a machine to check if it is well filled. 3.3.5 Check burocracy papers Advisor gets the burocracy papers from applicant and uses a machine to check if they are well filled. 3.4 Interview with applicant This process deals with the interview between the applicant and the advisor to construct a personal profile of the applicant that will be use to find him a job. The model, which is shown on the following page in two parts, begins with two possible branches, depending if the applicant comes to the employment agency for the first time, in which case the First-Time form is read and the Internal agency form created, or not, in which case the Internal agency form is loaded and read to see if he has rejected previously offered jobs in which case the advisor listens to the explanations. If the advisor decides that they are convincing then the process continues, if not he opens a trouble-rejection ticket which will be later on analyzed by a specific person. The next step is to determinate if the applicant had any experience on past jobs, in which case he is asked about the result of those jobs to analyze if he quit or got fired for reasonable motivations or not. If the advisor thinks the arguments of the applicant are not rational then opens a trouble-fired ticket. The next step is to determinate if the applicant wants any kind of job, in which case advisor explains to the applicant how the simple search will be performed and the process end, or wants a specific one, more related to his studies or professional background, in which case the area of work is determinate, and if the applicant wants, also the position and the salary. In the end, the Internal agency form is updated and the advisor explains to the applicant how the detailed search will be performed. 34 Figure 8: Interview with applicant process I Figure 9: Interview with applicant process II 35 Now a small description of each task involved in this process will be given: 3.4.1 Read First-Time form Advisor reads the First-Time form. 3.4.2 Creation of Internal form Advisor creates the Internal form based on the information got by the First-Time form. 3.4.3 Read Internal form Advisor reads the Internal agency form. 3.4.4 Listen to explanations Advisor listens to the explanations about the rejection of jobs to determinate if they make sense or not. 3.4.5 Open a trouble-rejection ticket Advisor opens a trouble-rejection ticket. Later on, a specialized analyzer will decide if the reasons exposed by the applicant for rejecting jobs were reasonable or not. 3.4.6 Ask what happened to get fired Advisor listens to the explanations about the quitting/getting fired of previous jobs to determinate if they make sense or not. 3.4.7 Open a trouble-fired ticket Advisor opens a trouble-fired ticket. Later on, a specialized analyzer will decide if the reasons exposed by the applicant for quitting the jobs are reasonable or not. 3.4.8 Update Internal form 2 The Internal form in updated with the information got during the interview. 3.4.9 Explain simple search Advisor explains to the applicant that the following search will be done with very generic parameters. 3.4.10 Determinate area Advisor gets the information of the area where the applicant would like to work. 3.4.11 Determinate position Advisor gets the information of the position inside a specific area where the applicant would like to work. 3.4.12 Determinate salary Advisor gets the information of the minimum salary that the applicant would like to have. 36 3.4.13 Update Internal form The Internal form in updated with the information got during the interview. 3.4.14 Explain detailed search Advisor explains how the search will be developed by the job seeker and how the applicant will receive a notification from the agency as soon as they find jobs to offer. 3.5 Find suitable job This process deals with finding a job that is suitable for the applicant according to the documentation and the interview. The model, which is shown on the following page, begins with a comparison between the information gathered in the Internal agency form and the database of jobs. Then the Job-Offers form is created and the matches are entered on it. Later on, the job seeker contacts different companies in a task that needs a variable amount of time, depending on the profile of the applicant and many other factors. When the job seeker thinks that has contacted enough companies and/or has found enough interesting possible jobs, updates the Job-Offers form and contacts an advisor to give him the information so he can offer it to the applicant. 37 Figure 10: Find suitable job process 38 Now a small description of each task involved in this process will be given: 3.5.1 Compare Internal form with jobs-DB Job seeker compares the information from the Internal agency form with the Data Base of Jobs of the agency and obtain matches based on an algorithm. Is not necessary to check if it is the first time (and use the First-Time form, in that case) because that has been previously done and all the important information is now in the Internal form. The same happens with the Past-Jobs form. 3.5.2 Create Job-Offers form Job seeker creates the Job-Offers form based on the matches obtained previously. 3.5.3 Contact companies Job seeker contacts different companies based not only on the Internal agency form but also based on the curriculum of the applicant. 3.5.4 Update Job-Offers form Job seeker updates the Job-Offers form based on contacts done with different companies. 3.5.5 Find suitable job Job seeker contacts an advisor so he can offer the applicant the found jobs. 3.6 Select a job This process deals with contacting the applicant to offer him the jobs found by the job seeker. The model, which is shown on the following page, begins with the advisor contacting the applicant and proposing him one of the jobs from the Job-Offers form. If he doesn’t want it, then the next one is offered until the applicant reaches the maximum number of possible rejected jobs, in which case the Internal agency form is updated and the unemployment benefit given, if applies. If not, the applicant is advised of his situation. If the applicant accepts one of the proposed jobs, the company that offers the job is contacted to make an appointment. In the end, the Internal agency form is updated and the advisor presses a button to notify the ticket machine that has finished with an applicant and is ready to start working with another client. 39 Figure 11: Select a job process 40 Now a small description of each task involved in this process will be given: 3.6.1 Propose a job Advisor offers one of the jobs from the Job-Offers form. 3.6.2 Contact company Advisor contacts the company to arrange the start of the work, date of the interview or whatever the details of the job offer are. 3.6.3 Assign unemployment benefit Advisor assign the unemployment benefits and updates Internal agency form. 3.6.4 Advise applicant of his situation Advisor explains the situation to the applicant and why he won't receive the unemployment benefit. 3.6.5 Update internal form The Internal agency form in updated with the information about the job selected/rejected and the unemployment benefit is marked as given (if applies). 3.6.6 Notify ticket machine Advisor notifies the ticket machine that has finished with the applicant and is ready to work with a new applicant. 3.7 Offer a job This process deals with the offering of jobs that the advisor can suggest to the applicant based on his Internal agency form. The model, which is shown on the following page, begins with a comparison between the information gathered in the Internal agency form and the database of jobs. Then the Job-Offers form is created and the matches are entered on it. Then, the already explained Select a job process begins. 41 Figure 12: Offer a job process 42 Now a small description of each task involved in this process will be given: 3.7.1 Compare Internal form with Jobs-DB Advisor compares the information from the Internal agency form with the database of jobs of the agency and obtains matches based on an algorithm. In opposition to the task of the same name from the Find a suitable job process, this comparison will be very simple and probably the advisor will be able to offer any kind of job, since the applicant did not selected any area of work. 3.7.2 Create Job-Offers form Advisor creates the Job-Offers form based on the matches obtained previously. 43 4. Simulation In this section we will explain very briefly the simulations that have been done to the model in order to prove its validity. Therefore, more detailed simulations with economic values and other complex parameters should be performed in future works. In the following sub-sections we will give an example of three different simulations performed in three different processes. They will show us one of the possible paths that the simulation can follow. 4.1 First simulation: Give ticket number In this simulation we can see how the system gives a ticket for meeting an advisor and since there are free advisors, it assigns the given ticket number to one of the free advisors. Give ticket number (Thursday the 5th of February 2009 15:01:02:1) Assign an advisor --> Give ticket number Assign an advisor --> Stop Assign an information agent --> Give ticket number Assign an information agent --> Stop Free advisors? --> Assign an advisor Free advisors? --> Push advisor Free information agent? --> Push information agent Free information agent? --> Assign an information agent Give ticket --> Need information? Give ticket number --> Give ticket Need information? --> Free information agent? Need information? --> Free advisors? Pop advisor --> Assign an advisor Pop information agent --> Assign an information agent Push advisor --> Pop advisor Push information agent --> Pop information agent Transfered work units null null null null 1 null null null 1 1 null 1 null null null null Table 1: First simulation In the following figure, which is shown in the next page, we can see the moment where the work unit is reaching the branch “Free advisors?” 44 Figure 13: First simulation 4.2 Second simulation: Check documentation In this simulation we can see how the system first checks the ticket, then the Internal form, later the Past-Jobs form and in the end the burocracy papers. Check documentation (Thursday the 5th of February 2009 15:58:56:1) Check Burocracy papers --> Check documentation Check Burocracy papers --> Stop Check First-Time form --> Merge Check Internal form --> Merge Check Past-Jobs form --> Merge:2 Check documentation --> Check ticket Check ticket --> First time? First time? --> Check First-Time form First time? --> Check Internal form Merge --> Past jobs? Merge:2 --> Check Burocracy papers Past jobs? --> Check Past-Jobs form Past jobs? --> Merge:2 Transfered work units 1 1 null 1 1 1 1 null 1 1 1 1 null Table 2: Second simulation In the following figures we can see the moment where, after accessing the Forms repository, the work unit is inside the Check Internal form process. 45 Figure 14: Second simulation (I) Figure 15: Second simulation (II) 4.3 Third simulation: Interview with applicant In this simulation we can see how after reading the First-Time form and create the Internal form, the applicant is asked about his past jobs and why he got fired or stop working there. Since his response sounds rational he is asked about the job that he wants and the area where it belongs, but not the position or salary. In the end, the Internal form is updated and the detailed search explained. 46 Interview with applicant (Thursday the 5th of February 2009 16:25:19:1) Ask what happened to get fired --> Does it sound rational? Creation of Internal form --> Merge Determinate area --> Does he want a specific position? Determinate position --> Merge:3 Determinate salary --> Merge:4 Does he want a specific position? --> Determinate position Does he want a specific position? --> Merge:3 Does he want to work in a specific area? --> Determinate area Does he want to work in a specific area? --> Update Internal form 2 Does it make sense? --> Open a trouble-rejection ticket Does it make sense? --> Merge Does it sound rational? --> Open a trouble-fired ticket Does it sound rational? --> Merge:2 Does it want a minimum salary? --> Determinate salary Does it want a minimum salary? --> Merge:4 Explain detailed search --> Stop Explain detailed search --> Interview with applicant Explain simple search --> Stop Explain simple search --> Interview with applicant First time? --> Read First-Time form First time? --> Read Internal form Merge --> Past jobs? Merge:2 --> Does he want to work in a specific area? Merge:3 --> Does it want a minimum salary? Merge:4 --> Update Internal form Interview with applicant --> First time? Listen to explanations --> Does it makes sense? Open a trouble-fired ticket --> Merge:2 Open a trouble-rejection ticket --> Merge Past jobs? --> Ask what happened to get fired Past jobs? --> Merge:2 Past rejections of jobs? --> Listen to explanations Past rejections of jobs? --> Merge Read First-Time form --> Creation of Internal form Read Internal form --> Past rejections of jobs? Update Internal form --> Explain detailed search Update Internal form 2 --> Explain simple search Transfered work units 1 1 1 null null null 1 1 null null null null 1 null 1 1 1 null null 1 null 1 1 1 1 1 null null null 1 null null null 1 null 1 null Table 3: Third simulation In the following figure we can see the moment where the system simulates that the applicant wants to work in a specific area. 47 Figure 16: Third simulation 48 5. Bibliography The following documents and WebPages have been used on the development of the project and the creation of this document. 5.1 PDF documents IBM’s WebSphere Business Modeler Advanced 6.1.1: Getting started RedBooks’ Best Practices for Using WebSphere Business Modeler and Monitor IBM’s WebSphere Business Modeler: Process simulation and analysis (Student notebook and student exercises) 5.2 Internet WebPages IBM’s WebSphere Business Modeler Advanced 6.1.1 help webpage: http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r1mx/topic/com.ibm.btools.help.mod eler611.doc/doc/welcome/dochome.html Wikipedia’s definition of WebSphere: http://en.wikipedia.org/wiki/IBM_WebSphere 49