• No results found

CHAPTER 3: METHODOLOGY

3.3 Research Procedures

3.3.4 Data Collection

Antes de describir el proceso de diseño cabe mencionar la conformación del equipo de desarrollo. El equipo de desarrollo está conformado por 7 grupos, uno por cada socio del proyecto: Universidad de Parma, Universidad de Bath, Universidad Politécnica de Cataluña, Universidad de Costa Rica, Universidad Tecnológica Metropolitana, Instituto Superior Politécnico José Antonio Echeverría, y el Instituto Tecnológico y de Estudios Superiores de Monterrey.

Cada uno de los grupos estuvo conformado por al menos 3 personas, con lo cual en promedio 20 personas conformaron el equipo de desarrollo.

Ya que los diversos grupos pertenecen a diversos países, el equipo de desarrollo y el mismo proceso de desarrollo se volvieron distribuidos, esto quiere decir que cada grupo trabaja de manera independiente y la responsabilidad de coordinación de los grupos recae en el líder del equipo, en este caso, el líder del grupo de la Universidad de Costa Rica fungió como líder del equipo de desarrollo.

A lo largo del ciclo de vida del proyecto se llegó a diversos diseños, cada uno tomando como base el anterior y agregando o modificando características del mismo. Esto podría ser visto como un proceso de desarrollo evolutivo, sin embargo fue la implementación de cada diseño lo que motivó los cambios y reestructuración del mismo. El proceso podría ser visto como un desarrollo basado en prototipos, no obstante, para ninguno de los diseños propuestos se llegó a obtener un prototipo funcional que pudiera ser evaluado y a partir del cual proponer un nuevo diseño. El modelo de desarrollo más similar al utilizado en el proyecto fue el de prueba y error.

En la medida en la que se desarrollaba cada prototipo, el diseño y su evolución no fueron debidamente documentados, por lo que solo se cuenta con algunos diagramas y documentos técnicos.

La figura 6.1 presenta un diagrama en el cual se aprecia la arquitectura originalmente propuesta para el sistema.

Los principales componentes del sistema, presentados en la figura 1, son descritos a continuación:

Personal Agent (PA). Este agente tiene la tarea de dar al usuario acceso a las

funcionalidades de la aplicación. A través de este agente se generará el perfil del usuario.

Global Travel Assistant (GTA). Este agente tiene la tarea de coordinar las

búsquedas específicas para proponer al usuario escenarios de turismo y en caso necesario el pago o compra de paquetes, productos y/o servicios.

International Flight Finder (IF). Como su nombre lo indica, este agente tiene la

tarea de buscar vuelos internacionales en nombre del usuario.

Weather Finder (WHF). Este agente tiene la tarea de realizar búsquedas tomando

como principal parámetro condiciones de clima.

Recreation Site Comp (RSC). Este agente tiene la tarea de buscar sitios recreativos

en algún destino turístico especificado.

Archeological Site Comp (ASC). Este agente tiene la tarea de buscar sitios

arqueológicos en algún destino turístico especificado.

Accommodation Comp (ACC). Este agente tiene la tarea de buscar alojamientos en

algún destino turístico especificado.

Food/Beverage Comp (BFC). Este agente tiene la tarea de buscar opciones de

restaurantes en algún destino turístico especificado.

en algún destino turístico especificado.

Transportation Finder (TRF). Este agente tiene la tarea de buscar medios de

transporte locales en algún destino turístico especificado.

Forum. Este agente tiene la tarea de coordinar la compra de productos o servicios en

nombre del agente.

Ranker (RKR). Este agente tiene la tarea de categorizar y calificar las opciones

encontradas por los demás agentes de acuerdo a los criterios establecidos en el perfil del usuario.

Local Itinerary Planner (LIP). Este agente tiene la tarea planear un itinerario para el

usuario tomando en cuenta las ofertas obtenidas y las características del usuario.

Tourism Offer Finder (TOF). Este agente tiene la tarea de buscar ofertas turísticas

de interés para el usuario en algún destino turístico especificado.

Personal Agent

Business

Bank Bank

Bank connect broker

Travel Agency LAA LIP IF GTA

TOF = tourism offer finder

GTA = global travel assistant

LIS = local itinerary supervisor

LIP = local itinerary planner

RKR = ranker LIS TOF RKR FRM = forum TRF = transportation finders FRM TRF ACC BFC BFC ACC = food/beverage comp = accommodation comp WHF WHF = weather finder ASC

ASC = archaeological site comp

RSC

RSC = recreation site comp

IF = Int’l flights finder

TO TO TO

RKR

LAA = Launcher assistant

TOFTOF Business Logic App LAA Business App Travel Agency App VC = venue comp

Figura 6.1. Primera propuesta arquitectural del sistema.

El funcionamiento del sistema de acuerdo a esta primera propuesta arquitectural es bastante simple. El usuario interactúa con el sistema a través del PA, al cual le indica sus preferencias y le solicita la planeación de itinerarios de viaje, así como la compra o reservación de servicios turísticos.

Por su parte, el PA interactúa con el GTA solicitándole itinerarios y ofertas turísticas, con el RKR para clasificar y calificar las ofertas obtenidas de acuerdo a las preferencias del usuario y con el IF para obtener información sobre vuelos internacionales.

El GTA consulta con el LIP para obtener un itinerario, los cuales son conformados por el LIP a partir de las ofertas que los agentes RSC, ASC, BFC, VC, TRF y ACC le proporcionan.

Los agentes RSC, ASC, BFC, VC, TRF y ACC se encargan cada uno de buscar ofertas de servicios específicos como alimentación, hospedaje, transporte, etc.

Como ya se mencionó, este diseño fue evolucionando incorporando nuevos elementos, eliminado elementos innecesarios y simplificando el funcionamiento. Finalmente el diseño final al que se llegó y del cual existe un prototipo implementado es el que se muestra en la figura 6.2.

PA GPA LPA SBA Finder Provider BD XIA

Figura 6.2. Arquitectura final del sistema.

Como se aprecia en la figura 6.2, la arquitectura final es mucho más simplificada que la original, y está basada en el precepto de la descomposición del problema de planeación. Los componentes de esta arquitectura se explican a continuación.

Personal Agent (PA). Agente de interacción con el usuario, le permite solicitar al

sistema la planeación de un itinerario de acuerdo a sus preferencias.

Global Planner Agent (GPA). Este agente se encarga de generar la estructura de los

itinerarios y de realizar la planeación global dividiendo el itinerario global en itinerarios locales.

Local Planner Agent (LPA). Este tipo de agente se encarga de planear itinerarios

para un país en específico.

Broker Agent (SBA). Este agente sirve como intermediario entre el LPA y los Finder y Provider.

Finder. Este agente está encargado de buscar ofertas turísticas en un lugar

específico, por ejemplo una ciudad. Hay tres categorías de este tipo de agente:

Accommodation Finder (buscador de alojamientos), Transport Finder (buscador de

transportes) y Activity Finder (buscador de actividades turísticas).

Provider. Este tipo de agente se encarga de representar al proveedor de un servicio

igual que con el agente Finder, hay tres categorías de agentes Provider: AccommodationProvider, Activity Provider y Tranport Provider.

Interface Agent (XIA). Este agente tiene la función de permitir al usuario la

búsqueda, selección y reservación de ofertas turísticas.

Esta arquitectura permite dos modos de operación: la búsqueda, selección y reservación de ofertas turísticas una a una y en paquetes o itinerarios creados dinámicamente de acuerdo a las preferencias del usuario.

El primer modo de operación es muy simple, el usuario o cualquier otra entidad solicita al Finder, a través del XIA, una lista de ofertas que cumplan con ciertos criterios, si los hay, el XIA muestra al usuario los resultados de la búsqueda. El usuario puede seleccionar uno de los resultados y solicitar, a través del XIA, al Provider la reservación del

mismo.

El segundo modo de operación (figura 6.3) es un poco más complicado, inicia cuando el usuario indica sus preferencias al PA, el cual almacena dicha información en el perfil del usuario. El PA solicita al GPA la creación de un itinerario de acuerdo a las preferencias que el usuario indicó. Al recibir el itinerario del GPA, el PA lo presenta al usuario.

El GPA identifica los países que incluirá el itinerario y genera sub-itinerarios para cada uno de ellos y solicita al LPA adecuado el llenado de cada sub-itinerario. Al recibir los sub-itinerarios llenos, el GPA los integra en un itinerario completo y se lo comunica al PA

Cada LPA recibe un sub-itinerario a llenar y con base en las preferencias indicadas establece la estructura del sub-itinerario distribuyendo tiempo y presupuesto entre transportes, alojamientos y actividades. El LPA solicita al SBA ofertas turísticas que satisfagan la estructura establecida y con ellas llena el sub-itinerario, el cual es comunicado al GPA que lo solicitó.

El SBA, al recibir una petición del LPA busca al Finder adecuado y le solicita

ofertas turísticas que cumplan con las preferencias indicadas en la petición del LPA. De los resultados obtenidos del Finder, el SBA elige uno y se lo comunica al LPA.

El agente Finder al recibir una petición del SBA busca en su base de datos de

ofertas, aquellas que cumplan con los criterios solicitados y las comunica al SBA.

Para reservar un itinerario (figura 6.4), el usuario debe solicitar la reservación al PA, el cual la comunica al GPA quien a su vez la comunica a cada LPA necesario. Cada LPA solicita al SBA la reservación de cada oferta del itinerario. El SBA solicita al Provider

PA GPA LPA SBA Finder

1. Indica preferencias y solicita inerario

2. Genera sub-itinerario Y solicita itinerario local

3. Establece estructura, Solicita ofertas. 4. Solicita ofertas. 5. Comunica ofertas. 6. Comunica ofertas. 7. Comunica itinerario local. 5. Comunica itinerartio

Figura 6.3. Modelo de interacciones para el segundo modo de operación del diseño original

PA GPA LPA SBA Provider

1. Solicita reservación de inerario 2. Solicita reservación de itinerario local 3. Solicita reserva de ofertas. 4. Solicita reservación de ofertas. 5. Confirma reserva. 6. Confirma reserva. 7. Confirma reserva. 5. Confirma reserva

Figura 6.4. Modelo de interacciones para reservaciones de itinerarios en el diseño original.

Tanto en funcionamiento como en componentes, el diseño final es una simplificación del diseño original. Esta simplificación es el resultado del proceso de desarrollo a prueba y error. Una vez que se generó el diseño original se comenzó a implementar, sin embargo los errores cometidos durante el proceso llevaron a la interrupción de la implementación y a modificar el diseño. Este proceso de interrupción en la implementación, adecuación del diseño y vuelta a implementar se repitió varias veces durante un periodo de dos años, hasta que finalmente se llegó a un diseño lo suficientemente simplificado como para poder terminar una implementación de referencia sin modificar el diseño.

Cabe mencionar que la simplificación del sistema no es del todo mala, pues en términos generales no se eliminaron funcionalidades del sistema y de hecho se eliminaron del diseño y de su respectiva implementación algunos elementos redundantes.