Sistema Hotel

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 43

SAD del Subsistema de Reservas

del Sistema de Gestin Hotelera


Daniel Perovich Andrs Vignaga
{perovich, avignaga}@fing.edu.uy
Grupo COAL
Instituto de Computacin
Facultad de Ingeniera
Universidad de la Repblica
Montevideo, Uruguay


2

1 Introduccin
El Sistema de Gestin Hotelera es el caso de estudio del grupo de investigacin COAL, del
Instituto de Computacin de Facultad de Ingeniera, de la Universidad de la Repblica,
Uruguay. Fue elegido como tal por ser una aplicacin de porte empresarial de fcil
entendimiento. Este sistema est conformado por varios subsistemas; entre ellos se encuentra
el Subsistema de Reservas del cual este documento presenta la descripcin de su arquitectura.
El Subsistema de Reservas del Sistema de Gestin Hotelera fue presentado en [CD01], trabajo
que fue discutido y profundizado dentro del grupo de investigacin.
El presente documento provee una vista de alto nivel de la arquitectura del Subsistema de
Reservas del Sistema de Gestin Hotelera, los objetivos y restricciones, los casos de uso
significativos, los patrones de arquitectura aplicados y las principales decisiones de diseo.
Este documento da una vista general del resto de los artefactos generados en el proceso de
desarrollo.
1.1 Propsito
Este documento de arquitectura de software (por sus siglas en ingls, SAD) tiene como
propsito brindar una visin comprensible de la arquitectura general del Subsistema de
Reservas del Sistema de Gestin Hotelera, utilizando diferentes vistas de la arquitectura para
ilustrar diferentes aspectos del sistema. Captura las decisiones ms importantes en lo que
respecta a la arquitectura del sistema que fueron tomadas en el proyecto.
Este SAD est dirigido a distintos tipos de actores: estudiantes, docentes, investigadores y
desarrolladores.
Un estudiante de ingeniera de software puede utilizar este documento como base para la
documentacin del desarrollo de productos de software en proyectos de diferente porte.
Un docente de la misma rea puede tomar este documento como base para mostrar la
importancia de la arquitectura en el desarrollo de software as como el rol del arquitecto de
software. Asimismo puede ser utilizado en talleres de desarrollo de software dado que el caso
de estudio refiere nicamente a un subsistema del Sistema de Gestin Hotelera, y su tamao
puede adaptarse a cursos de diferente duracin. A su vez, la tecnologa a aplicar as como el
paradigma de desarrollo puede ser adaptado a otras realidades. En el marco de la Facultad de
Ingeniera se ha utilizado el caso de estudio tanto para el desarrollo orientado a objetos como
basado en componentes, sin y con manejo de persistencia. Ha sido implementado, incluso,
tanto en la plataforma .NET como en la plataforma J2EE [BFF03].
Un investigador puede basarse en lo presentado en este documento y as evitar dedicar
esfuerzo en sus trabajos en comentar el caso de estudio. Adems, muchas lneas de
investigacin en el grupo COAL estn llevndose adelante partiendo de este caso de estudio,
as como de sistemas similares, por lo que otros grupos pueden encontrar nuevas vetas en las
cuales profundizar. Es de nuestro inters intercambiar con ellos ideas y resultados.
Desde el punto de vista de un desarrollador, este documento le brindar, con certeza, una
buena razn para darle a la arquitectura de software la importancia que tiene en todo
proyecto de desarrollo.
1.2 Alcance
Este SAD profundiza principalmente en las vistas de casos de uso y lgica, incluyendo
algunos elementos significativos de las otras vistas.
3

El Subsistema de Reservas consta de seis casos de uso principales, siendo dos de ellos
procesos batch. Se atacar principalmente aquellos casos de uso que involucran interaccin
con los actores.
Finalmente, este documento es la descripcin de arquitectura del caso de estudio, no es un
instructivo de cmo elaborar un SAD; en otras palabras el lector no encontrar aqu
comentarios sobre qu tipo de informacin debe ser incluida en el documento ni cules son
los criterios a utilizar en casos generales. Puede dirigirse a [RUP03] y [YOO03] para ahondar
en dicho aspecto.
1.3 Referencias
[BFF03] Implementacin de un sistema de informacin basado en componentes con J2EE.
S. Bengochea, F. Fajardo, J. Ferr. Reporte tcnico 03-17, InCo-PEDECIBA, 2003.
[CD01] UML Components. J. Cheesman, J. Daniels. Addison Wesley, 2001.
[GHJ+95] Design Patterns. E. Gamma, et al. Addison Wesley, 1995.
[Kru95] Architectural BlueprintsThe 4+1 View Model of Software Architecture, P.
Kruchten, Rational Software Corp. IEEE Software 12 (6), November 1995.
[Lar02] Applying UML and Patterns. C. Larman. Prentice-Hall, 2002.
[RUP03] IBM Rational Unified Process. http://www.rational.com/rup, 2003.
[UML03] Unified Modeling Language. OMG. http://www.omg.org/uml, 2003.
[YOO03] Yoopeedoo (UPEDU). http://www.yoopeedoo.org, 2003,
1.4 Organizacin
El documento esta organizado en captulos, correspondiendo cada uno de ellos a los
sugeridos en la plantilla provista en [RUP03].
El captulo 2 presenta la representacin de la arquitectura para el caso de estudio, esto es, la
descripcin de las vistas necesarias y el framework arquitectnico utilizado. Los captulos 3 al
10 presentan la descripcin de las vistas indicadas en el captulo 2.
4

2 Representacin de la Arquitectura
El Subsistema de Reservas del Sistema de Gestin Hotelera es una aplicacin de porte
empresarial desarrollada como caso de estudio dentro del grupo de investigacin. Es un
sistema de informacin en el dominio Hotelera, y concierne principalmente a la gestin de
reservas de una cadena hotelera.
La caracterstica de ser un sistema de informacin hace que la vista de casos de uso y la vista
lgica sean las ms relevantes y por ello sern las ms extensas.
La arquitectura est representada por diferentes vistas utilizando notacin UML [UML03] de
forma que permitan visualizar, entender y razonar sobre los elementos significativos de la
arquitectura e identificar las reas de riesgo que requieren mayor detalle de elaboracin. Este
documento es una forma de comunicar el modelo del subsistema, presentando la informacin
y discusiones estructuradamente.
La arquitectura del subsistema se descompone en las siguientes dimensiones:
Requerimientos: Requerimientos funcionales y no-funcionales del sistema.
Elaboracin: Representacin lgica del sistema y representacin de tiempo de
ejecucin.
Implementacin: Vista de mdulos implementados, potenciales escenarios de
infraestructura y el deployment de los mdulos.
La siguiente seccin detalla las vistas de la arquitectura que sern utilizadas para cubrir las
dimensiones mencionadas. La seccin 2.2 presenta el framework arquitectnico utilizado.
2.1 Representacin
La arquitectura del Subsistema de Reservas est representada siguiendo las recomendaciones
de [RUP03]. Las vistas necesarias para especificar dicho subsistema se enumeran a
continuacin:
Vista de Casos de Uso: Describe el proceso de negocio ms significativo y el modelo
del dominio. Presenta los actores y los casos de uso para el sistema.
Vista de Restricciones: Describe restricciones tecnolgicas, normativas, uso de
estndares, entre otros, las cuales deben ser respetadas tanto por el proceso de
desarrollo como por el producto desarrollado.
Vista QoS: Incluye aspectos de calidad, y describe los requerimientos no-funcionales
del sistema.
Vista Lgica: Describe la arquitectura del sistema presentando varios niveles de
refinamiento. Indica los mdulos lgicos principales, sus responsabilidades y
dependencias.
Vista de Procesos: Describe los procesos concurrentes del sistema.
Vista de Implementacin: Describe los componentes de deployment construidos y sus
dependencias.
Vista de Datos: Presenta los modelos de datos, los servicios de persistencia y los
servicios de transaccionalidad utilizados.
Vista de Deployment: Presenta aspectos fsicos como topologa, infraestructura
informtica, e instalacin de ejecutables. Incluye adems plataformas y software de
base.
5

Las vistas presentadas forman en su conjunto una especificacin completa del sistema, la cual
se delinea en el siguiente diagrama. Las dependencias entre las vistas indican dependencias
entre las vistas tanto a nivel de arquitectura como a nivel de diseo.

2.2 Framework Arquitectnico
La arquitectura sigue el framework 4+1 presentado en [Kru95]; este framework define
cuatro vistas para la arquitectura (4) en conjunto con los escenarios (1), y es presentado en la
siguiente figura.
Logical
View
Implementation
View
Process
View
Deployment
View
Use-Case
View

El mapeo de las vistas utilizadas a las propuestas en el framework se presenta en la siguiente
tabla.
Framework 4+1 Arquitectura
Use-Case View Casos de Uso, Restricciones y QoS
Logical View Lgica
Process View Procesos
Implementation View Implementacin, Datos
Deployment View Deployment

Los siguientes captulos presentarn las vistas de la arquitectura del Subsistema de Reservas
del Sistema de Gestin Hotelera indicadas anteriormente.
6

3 Vista de Casos de Uso
Esta vista presenta la percepcin que tiene el usuario de las funcionalidades del sistema. Se
presenta el proceso de negocio ms importante y los casos de uso crticos que se derivan de
ste. Este captulo provee el contexto y determina el alcance del resto del documento.
Primeramente se describe el Negocio. Luego se presenta el modelo del dominio para el
Subsistema de Reservas. Se identifican actores y se detallan los casos de uso significativos.
Este captulo se organiza de la siguiente forma:

3.1 Descripcin del Negocio
Primeramente se describe el Sistema de Gestin Hotelera, marco del Subsistema de Reservas.
Luego se presenta una descripcin de ste identificando los procesos de negocio crticos.
Sistema de Gestin Hotelera
Una cadena hotelera desea automatizar los servicios brindados por sus hoteles. Cada hotel
posee un sistema de informacin que satisface parcialmente los requerimientos informticos
reales de la empresa. Muchas actividades son registradas en formularios de papel y la
obtencin de datos estadsticos insume gran cantidad de recursos.
La gerencia general desea mantener en forma central y unificada todas las reservas que se
hacen en sus hoteles. Como poltica de la empresa no se realiza overbooking, por lo que se
quiere que dicha poltica sea ejecutada en todos los hoteles de la cadena. Se desea adems
poder sugerir a los clientes otros hoteles de la cadena cuando un hotel no tiene disponibilidad
de la habitacin solicitada. Es prioritario este requerimiento.
Los clientes de la empresa deben poder realizar todas sus actividades por Internet. Las
estaciones de trabajo en los hoteles operarn con la misma interfaz de usuario; en cambio, en
estos casos el hecho de encontrarse en un hotel determinado debe simplificar el uso del
sistema. Debe proveerse adems mecanismos para que las agencias de viajes interoperen con
el sistema, por ejemplo mediante el uso de Web Services.
Hay fuertes restricciones de performance para los procesos de reserva, check-in y check-out.
Es importante, adems, reutilizar un sistema de facturacin existente. La empresa ha utilizado
dicho producto en otras oportunidades y desea conservarlo y aprovecharlo en este
emprendimiento.
Los empleados trabajan usualmente en el mismo hotel. Sin embargo es probable que los
mismos sean rotados a otros hoteles en la regin.
7

La gerencia general necesita informacin estadstica. sta es utilizada para la apertura o
clausura de hoteles en regiones donde la empresa est instalada. La informacin se recoge
peridicamente y es analizada por economistas expertos de la empresa.
Por ltimo, los servicios adicionales que brinda la empresa a los clientes varan segn el hotel.
Los mismos cubren una amplia gama de servicios como servicios a la habitacin, paquetes
tursticos, afiliacin a sistemas de millas, etc. Estos servicios se irn incorporando y
removiendo del sistema, incluso una vez que ste este en produccin. El sistema debe ser
capaz de incorporar nuevos mdulos (subsistemas) que den soporte a nuevos servicios. Los
servicios extras que se brinda a los clientes varan en el tiempo. De todas formas, el agregar o
quitar un nuevo servicio no es un proceso en que el sistema propiamente participar. El
sistema debe estar hecho de forma tal que simplifique la incorporacin y remocin de los
servicios extras brindados por la cadena hotelera.
Subsistema de Reservas
El Subsistema de Reserva contempla tres de las actividades fundamentales del negocio, hacer
una reserva, realizar un check-in y realizar un check-out. La empresa penalizar a aquellos
clientes que no cancelen sus reservas, por lo que se les cobrar por dicho motivo.
La cadena hotelera es una empresa de gran dinamismo, donde nuevos hoteles son
incorporados a la misma, e incluso algunos podran ser vendidos y quitados del sistema. En
cambio, no es comn el realizar reformas edilicias, por lo que los detalles de cada hotel tienen
muy baja frecuencia de cambios.
Procesos de Negocio
Los siguientes procesos de negocio son relativos al Subsistema de Reservas:
Gerenciamiento de la cadena hotelera (P1)
Este proceso involucra un conjunto de procesos simples encargados del
gerenciamiento. Permite la incorporacin de nuevos hoteles al sistema, as como la
eliminacin de los mismos. Se encarga adems de la administracin del personal de la
cadena de hoteles.
Reserva de Habitacin (P2)
Este proceso administra todas las actividades de reserva por parte de los clientes.
Involucra modificaciones y cancelaciones de reservas, as como la deteccin de
aquellos clientes que no tomaron su reserva. La actividad de check-in est incluida en
este proceso, siendo un camino al estado final del mismo.
Check-out y Facturacin (P3)
Este proceso cubre el check-out de los huspedes, as como la facturacin de los
servicios contratados por ellos. La contratacin de servicios por parte de los
huspedes no forma parte de este proceso.
Consultas Estadsticas (P4)
Este proceso ocurre cuando la gerencia general realiza un estudio de la situacin de la
cadena hotelera. Mediante este proceso se extraer la informacin del sistema que sea
til para crear un DataWarehouse sobre el cual realizar variados tipos de estudios.
Los procesos (P1) y (P4), a pesar de estar relacionados con el Subsistema de Reservas, no son
realmente parte de ste. Dichos procesos son ms generales y pueden enmarcarse en otro
subsistema del Sistema de Gestin Hotelera. Por lo tanto, el Subsistema de Reservas no
realizar estos procesos de negocio.
Los procesos (P2) y (P3) conforman el corazn del Subsistema de Reservas. Estos procesos
presentan exigencias de performance; en (P2) las reservas por Internet deben realizarse en
menos de 5 segundos, una vez que el cliente llene su formulario. De igual manera la
8

interoperabilidad con las agencias de viajes para realizar reservas tiene las mismas exigencias
de tiempo de respuesta. El tiempo de realizacin de una reserva debe ser menor a 3 minutos
cuando el cliente la realiza en la recepcin del hotel o telefnicamente; este tiempo de
respuesta incluye el llenado del formulario. Para ello, es necesario mantener toda la
informacin posible de los clientes capturadas en visitas anteriores.
Ambos procesos tienen gran impacto en la arquitectura del sistema; en cambio, las
repercusiones sobre sta es similar en ambos casos. Por ello este documento se concentrar
nicamente en el proceso Reserva de Habitacin (P2). La siguiente figura presenta las
actividades realizadas en este proceso detallando que actores las realizan.

3.2 Modelo de Dominio
El modelo del dominio incluye aquel vocabulario del dominio significativo desde el punto de
vista de la arquitectura, aqul que ayude al entendimiento de la misma.

3.3 Actores
Los siguientes actores son los que interactuarn con el Subsistema de Reservas una vez
realizado el deploy.
9


Siguiendo la notacin propuesta en [Lar02], se utiliza la representacin cannica para actores
que representan a sistemas informticos.
3.4 Casos de Uso
Los casos de uso crticos para el proceso (P2) se describen en esta seccin. Primero se indica
las relaciones entre los casos de usos detectados y luego se presenta la versin expandida de
los mismos.
Modelo de Casos de Uso


10

Hacer Reserva
Nombre Hacer Reserva (CU1)
Actores Creador de Reserva, Sistema de Mensajera
Actividades Ver Disponibilidad, Sugerir Alternativas, Hacer Reserva, Confirmar Reserva
Sinopsis Este caso de uso comienza cuando el Creador de Reserva solicita crear una
reserva. El sistema chequea la disponibilidad de una habitacin en un hotel
solicitado. Si hay disponibilidad el Sistema hace la reserva y le confirma la
misma al cliente. Si no hay disponible una habitacin, el sistema sugiere
hoteles alternativos.
Curso Tpico de Eventos
1. Incluir Identificar Cliente (CU8/CU9).
2. Creador de Reserva indica hotel (en caso de estar en la Recepcin de un
hotel esta informacin se provee automticamente), tipo de habitacin y
duracin de la estada.
3. Sistema confirma disponibilidad.
4. Sistema registra la reserva.
5. Incluir Confirmar Reserva (CU10).
Extensiones
1a. No existe el cliente:
1. Incluir Alta de Cliente.
2. Resume 2.
3a. No hay disponibilidad:
1. Sistema busca disponibilidad en otros hoteles.
1a. No hay disponibilidad en ningn hotel:
1. Sistema notifica a Creador de Reserva.
2. Resume 2.
2. Creador de Reserva indica un hotel de su conveniencia.
2a. Creador de Reserva prefiere cambiar datos de la reserva:
1. Resume 2.
3. Resume 4.

11

Modificar Reserva
Nombre Modificar Reserva (CU2)
Actores Creador de Reserva, Sistema de Mensajera
Actividades Modificar Reserva, Confirmar Reserva
Sinopsis El caso de uso comienza cuando Creador de Reserva solicita modificar los
datos de la reserva. Se solicitan los nuevos datos y se verifica disponibilidad.
En caso de xito se registra los cambios y se confirma la reserva. En caso de
fallo no se realiza ningn cambio en la reserva.
Curso Tpico de Eventos
1. Incluir Identificar Cliente (CU 8/CU9).
2. Incluir Identificar Reserva de Cliente (CU7).
3. Creador de Reserva modifica los datos de la reserva.
4. Sistema verifica disponibilidad.
5. Sistema registra la reserva.
6. Incluir Confirmar Reserva (CU10).
Extensiones
3a. Creador de Reserva decide no modificar la reserva:
1. Stop.
4a. No hay disponibilidad:
1. Sistema busca disponibilidad en otros hoteles.
1a. No hay disponibilidad en ningn hotel:
1. Sistema notifica a Creador de Reserva.
2. Resume 3.
2. Creador de Reserva indica un hotel de su conveniencia.
2a. Creador de Reserva prefiere cambiar datos de la reserva:
1. Resume 3.
3. Resume 5.

12

Cancelar Reserva
Nombre Cancelar Reserva (CU3)
Actores Creador de Reserva, Sistema de Mensajera
Actividades Cancelar Reserva, Sistema de Mensajera
Sinopsis El caso de uso comienza cuando Creador de Reserva decide cancelar una
reserva. El sistema elimina la reserva y notifica la cancelacin.
Curso Tpico de Eventos
1. Incluir Identificar Cliente (CU8/CU9).
2. Incluir Identificar Reserva de Cliente (CU7).
3. Creador de Reserva confirma cancelacin.
4. Sistema marca la reserva como cancelada.
5. Incluir Confirmar Reserva (CU10)
Extensiones
3a. Creador de Reserva no confirma la cancelacin:
1. Fallo.

13

Tomar Reserva
Nombre Tomar Reserva (CU4)
Actores Husped, Recepcionista, Sistema de Facturacin
Actividades Tomar Reserva, Notificar al Sistema de Facturacin
Sinopsis Este caso de uso comienza cuando Husped llega al hotel. Indica la reserva
que est a su nombre. El Husped indica sus datos personales para
registrarlos en la reserva. El Sistema le asigna una habitacin y notifica al
Sistema de Facturacin que debe abrirse una cuenta para el cliente asociado a
la reserva.
Curso Tpico de Eventos
1. Husped llega al hotel e indica que desea tomar una reserva.
2. Sistema muestra las reservas an no tomadas del hotel para la fecha
actual.
3. Recepcionista elige una reserva en la lista.
4. Husped indica los datos personales.
5. El Sistema le asigna una habitacin.
6. El Sistema notifica al Sistema de Facturacin que una estada ha dado
comienzo.
Extensiones
1a/2a/3a.
Husped no tiene reserva/No hay reservas an no tomadas/La reserva
buscada no aparece en la lista:
1. Incluir Hacer Reserva (CU1).
2. Resume 4.
4a. Husped desea modificar los datos de la reserva:
1. Recepcionista corrobora que el cliente asociado a la reserva permita al
Husped cambiar los datos de la misma.
1a. El Husped no tiene permitido cambiar los datos de la reserva:
1. Recepcionista informa el hecho al Husped.
2. Resume 4.
2. Incluir Modificar Reserva (CU3).
3. Resume 4.

14

Procesar No Presentados
Nombre Procesar No Presentados (CU5)
Actores Administrador de Reservas, Sistema de Mensajera, Sistema de Facturacin
Actividades Procesar No Presentados, Notificar al Sistema de Facturacin
Sinopsis El caso de uso comienza cuando el Administrador de Reservas decide
procesar las reservas no tomadas. El sistema indica la cantidad de reservas no
tomadas para el perodo indicado. El Administrador de Reservas confirma la
accin y el Sistema notifica al Sistema de Facturacin que debite el monto
correspondiente a cada cliente y al Sistema de Mensajera que notifique el
hecho al cliente.
Curso Tpico de Eventos
1. Administrador de Reservas indica el perodo a procesar.
2. Sistema muestra las reservas a procesar.
3. Administrador de Reservas confirma el proceso.
4. Sistema notifica al Sistema de Facturacin que debite a cada cliente el
monto correspondiente.
5. Sistema notifica al Sistema de Mensajera que enve a cada cliente un
aviso de reserva procesada como no tomada indicando el monto
debitado.
Extensiones
1a. El perodo no corresponde al pasado:
1. Sistema notifica el error.
2. Resume 1.
3a. Administrador de Reservas no confirma el proceso:
1. Fallo.

15

Remover Reservas Caducas
Nombre Remover Reservas Caducas (CU6)
Actores Administrador de Reservas
Actividades N/A
Sinopsis El sistema debe mantener registro de las reservas realizadas por un tiempo
determinado. Mediante este caso de uso el Administrador de Reservas le
indica al sistema que reservas caducaron, i.e. no es necesario mantener
registro, para que el sistema las elimine.
Curso Tpico de Eventos
1. Administrador de Reservas indica la fecha a partir de la cual el sistema
debe mantener registro.
2. Sistema calcula la cantidad de reservas a eliminar.
3. Sistema pide confirmacin de eliminacin.
4. Administrador de Reservas confirma eliminacin.
5. Sistema elimina todas las reservas previas (estrictamente) a la fecha
indicada.
Extensiones
2a. No hay reservas a eliminar:
1. Fallo.
4a. Administrador de Reservas no confirma eliminacin:
1. Fallo.
Casos de Uso de Solo Inclusin
Identificar Reserva de Cliente
Nombre Identificar Reserva de Cliente (CU7)
Actores Creador de Reserva
Actividades Identificar Reserva
Sinopsis Identifica una reserva activa del cliente.
Curso Tpico de Eventos
1. Sistema muestra las reservas activas (pendiente o en curso con check-in
en el futuro) del cliente.
2. Creador de Reserva elige la reserva en la lista.
3. Sistema localiza la reserva.
Extensiones
1a. El cliente no tiene reservas:
1. Fallo.
2a. La reserva buscada no aparece en la lista:
1. Fallo.
16


Identificar Cliente en Recepcin
Nombre Identificar Cliente en Recepcin (CU8) / Identificar Cliente
Actores Recepcionista
Actividades N/A
Sinopsis Localiza un cliente registrado.
Curso Tpico de Eventos
1. Recepcionista provee los datos del cliente.
2. Sistema muestra los clientes que coinciden con los datos provistos.
3. Recepcionista elige el cliente en la lista.
4. Sistema localiza al cliente.
Extensiones
2a. Sistema no encuentra clientes que coincidan con los datos provistos:
1. Sistema notifica el error.
2. Resume 1.
3a. Ningn cliente corresponde al cliente buscado:
1. Recepcionista informa el hecho al Sistema.
2. Resume 1.

17

Log-In Cliente
Nombre Log-In Cliente (CU9) / Identificar Cliente
Actores Cliente, Sistema de Mensajera
Actividades N/A
Sinopsis Identifica al actor como cliente registrado.
Curso Tpico de Eventos
1. Cliente provee el nombre de usuario y el password.
2. Sistema localiza al cliente.
3. Sistema comprueba el password.
Extensiones
1a. Cliente no conoce el nombre de usuario ni el password:
1. Fallo.
1b. Cliente no conoce el password:
1. Sistema localiza al cliente.
2. Sistema notifica al Sistema de Mensajera que enve e-mail al cliente
con el password.
3. Sistema notifica al Cliente que el password ha sido enviado por e-
mail.
4. Resume 1.
2a. Sistema no encuentra un cliente con el identificador indicado:
1. Sistema notifica el error.
2. Resume 1.
3a. El password ingresado es incorrecto:
1. Sistema notifica el error.
2. Resume 1.

18

Confirmar Reserva
Nombre Confirmar Reserva (CU10)
Actores Sistema de Mensajera
Actividades Confirmar Reserva
Sinopsis Notifica al cliente cambios en una reserva. El mecanismo de comunicacin
puede ser e-mail, beeper, mensaje al celular o fax, en funcin de los datos que
se tenga del cliente y el modo de comunicacin elegido. Si el cliente es
extranjero solo puede utilizarse e-mail.
Curso Tpico de Eventos
1. Sistema identifica el mecanismo de comunicacin con el cliente.
2. Sistema prepara informacin de la reserva.
3. Sistema solicita al Sistema de Mensajera el envo del mensaje al cliente.
Extensiones
N/A

3.5 Interfaz de Usuario
Esta seccin presenta la captura de pantalla para algunos de los casos de uso presentados en
la seccin anterior.

19




20

4 Vista de Restricciones
En esta vista se presentan las restricciones normativas, de estndares y de tecnolgicas, a las
cuales est sujeto tanto el proceso de desarrollo como el producto desarrollado, incluidas en
las categoras soporte, implementacin, interfaces y legalidad de FURPS+.
4.1 Normativas
Existen restricciones normativas, dictadas por organizaciones gubernamentales y no-
gubernamentales, que determinan algunas decisiones del producto desarrollado.
Licenciamiento
No existe regulacin de licenciamiento para aplicaciones web en el pas donde est radicada
la cadena hotelera. El licenciamiento del producto pesar totalmente sobre la aplicacin back-
end. Por esta razn el producto no debe limitar la cantidad de usuarios simultneos que
permite la aplicacin.
Formas de pago
El pas donde la cadena hotelera est instalada no permite el pago de servicios por Internet
utilizando tarjetas de crdito. De esta forma no puede debitarse de tarjetas de crdito de los
clientes los servicios brindados si no es en forma presencial. Por esta razn el mecanismo de
pago no ser controlado directamente por el Sistema de Gestin Hotelera.
Registro Impositivo
Toda transaccin comercial en el pas de residencia de la cadena hotelera debe ser registrada
y comunicada a la Direccin General Impositiva siguiendo los procedimientos y formatos
provista por sta. Existe un software que lleva adelante este trabajo y por lo tanto ser
utilizado directamente dentro del Sistema de Gestin Hotelera.
4.2 Estndares
UML
Todo artefacto utilizado para comunicacin y documentacin, tanto entre miembros del
equipo de desarrollo como con los clientes y usuarios, est basado en UML.
Interfaz Web
La interfaz de usuario debe estar orientada al web. Debe ser posible visualizar el contenido
utilizando cualquiera de los browsers ms difundidos, a saber, Netscape Navigator y
Microsoft Internet Explorer.
Web Services
La interoperabilidad con los sistemas de las agencias de viajes no debe estar basada en Web
Services.
4.3 Tecnologa
El desarrollo completo del Sistema debe estar realizado en la plataforma Microsoft .NET,
basndose fuertemente en las tecnologas involucradas en la plataforma como ser ADO.NET
y ASP.NET. El lenguaje de programacin es C#.NET.
21

4.4 Sistemas Existentes
Sistema de Facturacin
La cadena hotelera ha adquirido un mdulo de software que gestiona las cuentas de clientes,
los pagos y el registro de venta de servicios y productos. Este mdulo respeta la regulacin
impositiva presente en el pas de residencia.
4.5 Soporte
El Sistema de Gestin Hotelera tendr mantenimiento evolutivo permanente orientado
principalmente al desarrollo de nuevos mdulos para cubrir nuevos servicios brindados por
los hoteles.
El Subsistema de Reservas tendr mantenimiento adaptativo, mejorando la interaccin
usuario-mquina mediante la adaptacin de los casos de uso del subsistema.
22

5 Vista QoS
Describe los requerimientos no-funcionales del Sistema dentro de las categoras usabilidad,
confiabilidad y performance descritas en FURPS+.
5.1 Usabilidad
La interfaz de usuario orientada al web para todos los actores humanos del sistema
disminuye la necesidad de capacitacin de los usuarios. El sitio es simple, orientado a los
casos de uso.
La documentacin de usuario est anexada a la interfaz propiamente. En
cada lugar donde se encuentre el usuario tendr disponible una opcin de
ayuda (haciendo clic sobre el cono que se muestra a la derecha) que le
indicar en qu contexto se encuentra, qu informacin est viendo, qu
informacin debe proveer y cul ser la actividad que realizar el sistema
una vez provista dicha informacin. No se proveer documentacin de
usuario impresa.
El Sistema de Gestin Hotelera ser utilizado por clientes de todo el
mundo. Adicionalmente, la Organizacin Pro-Turismo exige que para
anunciar servicios en su portal, stos deben ser provistos en espaol, ingls
y portugus. Estos tres idiomas son soportados por el producto
desarrollado (el usuario puede alternar entre idiomas usando el cono a la
derecha). El sistema detectar el origen del usuario para proveerle el
idioma que mejor se adapte a l.
5.2 Confiabilidad
El Subsistema de Reserva no debe fallar en los procesos de Hacer Reserva o Tomar Reserva.
stos son crticos para el hotel.
El resto de los procesos debe tener baja frecuencia de fallas, siendo ms tolerante para los
procesos batch Procesar No Presentados (CU5) y Remover Reservas Caducas (CU6).
5.3 Performance
El Subsistema de Reservas tiene fuertes restricciones de performance al momento de realizar
una reserva (CU1) y de tomar una reserva (CU4).
En el caso de Hacer Reserva (CU1), estando el cliente registrado, el curso tpico de eventos
debe llevar a lo sumo 5 segundos una vez que el cliente indica los detalles de su reserva.
El proceso de check-in (CU4) debe llevar a lo sumo 2 minutos, en el caso que el husped tenga
una reserva. Ese tiempo debe cubrir el caso en que el husped no conozca los detalles de la
reserva.
El resto de los procesos debe poder realizarse en un tiempo razonable.

23

6 Vista Lgica
Esta vista presenta tres niveles de arquitectura para el Subsistema de Reservas del Sistema de
Gestin Hotelera. Cada nivel corresponde a un refinamiento del nivel anterior. El ltimo nivel
es el que presenta mayores detalles; en l, se presentan los mdulos participantes de la
arquitectura junto a un diagrama. El tipo de diagrama utilizado vara segn el mdulo en
cuestin, lo cual se debe principalmente a que los mdulos tienen diferentes roles, segn su
ubicacin en el nivel anterior.
Este captulo se organiza de la siguiente forma:

6.1 Arquitectura del Sistema
En el primer nivel se especifica el patrn de arquitectura para el Subsistema de Reservas. El
mismo esta organizado utilizando el patrn de arquitectura en capas; el mismo es relajado y
se conforma de cuatro capas. El siguiente diagrama presenta la Arquitectura del Sistema.

El patrn de arquitectura elegido para el Subsistema de Reservas est alineado con el patrn
del Sistema de Gestin Hotelera. Los mdulos que conformarn el Subsistema de Reservas
convivirn en estas capas con otros mdulos del Sistema de Gestin Hotelera.
Cada capa determina un rol para los mdulos que residen en ella.
La Interfaz de Usuario tiene como objetivo el manejo de la lgica del usuario. Est
conformada por el conjunto de pginas web dinmicas y por mdulos que encapsulan la
lgica de los casos de uso.
Los Servicios del Sistema representan los servicios bsicos que debe proveer el sistema; estos
servicios son directamente utilizados por los mdulos de la capa superior. Los servicios en
esta capa son particulares para cada subsistema del Sistema de Gestin Hotelera. Aqu se
24

utiliza una aplicacin del GRASP Controller, haciendo un hbrido entre use-case controller y
facade controller.
Los Servicios de Negocio son servicios de manejo de informacin del negocio; son servicios
an ms bsicos que el de la capa superior. Esto permite reutilizar estos mdulos en otros
subsistemas del Sistema de Gestin Hotelera.
La capa de Infraestructura contiene todos los mdulos necesarios para utilizar los servicios de
la plataforma. En esta capa residen principalmente adaptadores de los servicios brindados
por la plataforma.
6.2 Arquitectura Lgica
La Arquitectura Lgica presenta un refinamiento de la Arquitectura del Sistema. La
dimensin Requerimientos, principalmente la Vista de Casos de uso, va a verse realizada por
los mdulos aqu presentados. Se analizar los mdulos presentes en cada capa de la
Arquitectura del Sistema, presentando finalmente la Arquitectura Lgica.
Interfaz de Usuario
La Vista de Casos de Uso muestra el front-end del sistema. El mismo es generado
dinmicamente utilizando tecnologa de contenido web dinmico. Desde el punto de vista del
back-end se tiene un conjunto de pginas dinmicas generadas a partir de los procesos
llevados a cabo por el sistema.
Cada caso de uso indicado en dicha vista requiere, en general, ms de una interaccin con el
usuario. Esta secuencia de pginas es en general variable, dependiendo de las acciones del
usuario. La versin expandida de cada caso de uso representa la lgica de dicha interaccin.
Esta capa consiste de un mdulo por cada caso de uso identificado. Cada mdulo contiene la
lgica que lleva adelante el caso de uso y un conjunto de pginas dinmicas utilizadas por
dicha lgica.
Los mdulos identificados y sus interdependencias se presentan en el siguiente diagrama.

25

Servicios de Sistema
Cada mdulo de la capa superior utiliza servicios de esta capa. Se cuenta con una interfaz por
caso de uso; sta ofrece los servicios que el mdulo que maneja la lgica del caso de uso
requiere. Exceptuando los mdulos Alta Cliente e Identificar Cliente, el resto tiene que ver
con el Subsistema de Reservas. Los servicios requeridos por estos casos de uso son cohesivos
y por lo tanto pueden ser ofrecidos por el mismo mdulo. Por GRASP facade controller
restringido a las operaciones de un subsistema, se crea un mdulo por subsistema. Este
mdulo realizar todas las interfaces requeridas por los casos de uso asociados al subsistema.
El siguiente diagrama presenta los mdulos identificados y sus interdependencias.

Servicios de Negocio
Los mdulos localizados en esta capa son de inters para el Sistema de Gestin Hotelera y no
de exclusividad para el Subsistema de Reservas. En cambio, los servicios provistos por estos
mdulos son los necesarios para poder llevar adelante las operaciones de los mdulos de la
capa superior.
Los mdulos identificados son Manejador de Clientes, Manejador de Hoteles y Manejador de
Reservas. Cada mdulo ofrece una nica interfaz con los servicios requeridos.
El siguiente diagrama presenta los mdulos detectados y sus interdependencias.

Infraestructura
Los mdulos localizados en esta capa son de dos tipos, adaptadores a sistemas existentes, o
servicios generales tiles para cualquier aplicacin. Estos mdulos estn disponibles para
todos los mdulos en las otras capas, y por ello la arquitectura en capas del Subsistema de
Reservas es relajada.
Dentro de la primera categora se encuentra el Sistema de Facturacin. Este mdulo
encapsula todo lo relativo con la comunicacin con dicho sistema. A su vez se cuenta con un
Sistema de Mensajera. Este mdulo encapsula todo lo relativo con la comunicacin con el
sistema de envo de mensajes. Desde el punto de vista de [GHJ+95], ambos son una aplicacin
de Adapter y Proxy.
En la segunda categora se encuentra el mdulo de Acceso a Datos, el cual encapsula la
conexin al motor relacional.
El siguiente diagrama presenta los mdulos detectados.


26

6.3 Arquitectura de los Mdulos
La Arquitectura de los Mdulos presenta un refinamiento de la Arquitectura Lgica. sta
incluye, para cada mdulo, el punto de vista que mejor define su diseo. Para cada tipo de
mdulo, i.e. para los mdulos de cada capa, se utilizar un tipo de diagrama diferente.
Interfaz de Usuario
Los mdulos en esta capa encapsulan la lgica del caso de uso. Esta lgica puede
representarse mediante una mquina de estados que gua la interaccin entre el sistema y el
usuario. Por esta razn un modelo de estados es el adecuado para describir su diseo interno.
Hacer Reserva (CU1)

27

Modificar Reserva (CU2)
composite
Identificar Cliente
composite
Indentificar Reserva
del Cliente
Modificar Datos
Reserva
.
entry / obtenerCiudades
entry / obtenerHoteles
entry / obtenerTiposHab
valores originales /
seleccion Ciudad / obtenerHotelesCiudad
seleccin Hotel / obtenerTiposHabHotel
/ confirmarDisponibilidad
[else] / sugerirAlternativas
[hay disponibilidad] / modificarReserva
Seleccin de
Alternativas
de la Lista
[hay alternativas]
[else]
/ modificarReserva
cambiarDatos
composite
Confirmar Reserva
cancelarModificacion
cancelarModificacion
[xito]
[fallo] [xito]
[fallo]

Cancelar Reserva (CU3)
Confirmar
Cancelacin
confirmarCancelacion / cancelarReserva
anularCancelacion
composite
Confirmar Reserva
composite
Identificar Cliente
composite
Indentificar Reserva
del Cliente
[xito]
[fallo] [xito]
[fallo]

28

Tomar Reserva (CU4)

Identificar Reserva de Cliente (CU7)

29

Identificar Cliente en Recepcin (CU8)

Confirmar Reserva (CU10)
/ confirmarReserva

Servicios de Sistema
Los mdulos de esta capa encapsulan la lgica del sistema. Los servicios ofrecidos son
realizados utilizando Servicios de Negocio y servicios de Infraestructura; esta realizacin se
hace mediante el envo de mensajes a los mdulos ubicados en estas capas. Por esta razn un
diagrama de secuencia es el ms adecuado para describir su diseo interno.
Para cada mdulo se presenta los servicios brindados por cada una de sus interfaces y luego
los diagramas de secuencia para las operaciones ms complejas.
Subsistema de Clientes
Las interfaces provistas por este mdulo se describen a continuacin. La realizacin de las
mismas, en una clase llamada Controller, se hace mediante solicitud de los servicios
respectivos a los mdulos en la capa de servicios de negocio.

30

Subsistema de Reservas
Las interfaces provistas por este mdulo se describen a continuacin.

Estas interfaces son realizadas en la clase Controller de este mdulo. Las operaciones con la
misma firma ubicadas en diferentes interfaces, e.g. esRecepcion, son realizadas por el mismo
mtodo. La mayora de los mtodos simplemente delegan la solicitud del servicio respectivo a
los mdulos en la capa de negocios. Para aquellos mtodos que realizan actividades
adicionales se presentan a continuacin los diagramas de secuencia que muestran su diseo.
confirmarDisponibilidad(in dr : DatosReserva) : Boolean

sugerirAlternativas(in dr : DatosReserva) : SetDatosHotel

31

obtenerReservasAunNoTomadas(in hotel : String) : Set

tomarReserva(in id : Integer, in sdh : SetDatosHuesped)

Servicios de Negocio
Estos servicios manejan la informacin del sistema; encapsulan la forma en que los datos
estn almacenados, la distribucin de estos datos y el acceso a ellos. Por esta razn, una
interfaz identificando sus servicios y el modelo de informacin es el adecuado para describir
su diseo interno.
Manejador de Clientes
La interfaz soportada por este mdulo es la siguiente.

El modelo de informacin asociado al mdulo se presenta en la siguiente figura.

32

Manejador de Hoteles
La interfaz soportada por este mdulo se presenta a continuacin.

El modelo de informacin asociado al mdulo es el siguiente.

Manejador de Reservas
La interfaz soportada por este mdulo es la siguiente.

El modelo de informacin se presenta en la siguiente figura.

33

Infraestructura
El refinamiento para los mdulos en esta capa consta de la interfaz soportada por los mismos.
Se presenta a continuacin estas interfaces.

34

7 Vista de Procesos
La Vista de Procesos describe los mdulos activos del Subsistema de Reservas; estos son
mdulos que estarn en ejecucin en forma simultnea. Esta vista describe, adems, el
soporte multi-usuario de la aplicacin.
7.1 Procesos Distribuidos
Interfaz de Usuario
El Subsistema de Reservas es una aplicacin basada en el web. Por esta razn cuenta con un
grado de distribucin a nivel de interfaz de usuario. A nivel de usuario final, corre en su
estacin de trabajo una aplicacin llamada browser, como ser Netscape Navigator o Microsoft
Internet Explorer. Esta aplicacin es la encargada de presentar al usuario la interfaz de la
aplicacin y de enviar al servidor las acciones que el usuario realiza.
Por el lado del servidor se encuentra otra aplicacin general, llamado servidor web. El
servidor web en uso es Microsoft Internet Information Server, utilizando tecnologas
ASP.NET. El servidor web recibe las solicitudes del usuario, utilizando el protocolo HTTP, y
redirige dichas solicitudes a las pginas dinmicas ubicadas en los mdulos de la capa
Interfaz de Usuario. El servidor web asocia a cada usuario informacin de sesin y es l quin
se encarga de gestionar la atencin a mltiples clientes en forma simultnea.
Distribucin de las Capas
Los mdulos presentes en las diferentes capas que componen a la aplicacin no se encuentran
distribuidos. Por dicha razn un enfoque de Factory simple fue utilizado para la localizacin
de los proveedores de servicios de cada uno de los mdulos. No se utiliza la tecnologa
Remoting de .NET.
Las razones de no utilizar distribucin a este nivel son por performance de las operaciones
marcadas como crticas y para disminuir el riesgo del proyecto en funcin de las tecnologas.
Servicios de Infraestructura
Los servicios de infraestructura son de dos tipos, aplicaciones legadas que deben ser
utilizadas y el propio motor de base de datos. El motor de base de datos corre en forma
independiente, atendiendo incluso solicitudes de otras aplicaciones.
Por otro lado, las aplicaciones legadas como los servicios de mensajera y el sistema de
facturacin fueron adaptadas de forma que exportan sus servicios mediante web services.
As, los mdulos presentes en la capa Infraestructura son un adaptador propio a dichos web
services.
7.2 Arquitectura de Procesos
En base a las decisiones descritas en la seccin anterior, se muestra a continuacin la
arquitectura de procesos del Subsistema de Reservas.

35

El WebServer destina un hilo de ejecucin (RequestThread en la figura) a cada solicitud del
usuario. Estos threads estn asociados a una sesin que es preservada entre diferentes
requests. Cada RequestThread ejecuta todos los mdulos en la aplicacin del sistema de
reservas que sean necesarios para llevar adelante la solicitud del usuario. Cuando es
necesario ste se comunica mediante web services con MessageServer o FacturacionServer
(servicios que estn corriendo en otro servidor).
Es importante notar que la aplicacin desarrollada no codifica en forma explcita esta
arquitectura de procesos. La tecnologa subyacente brinda servicios de alto nivel que lo
encapsulan.
Por ltimo, cuando el servidor web crea un RequestThread y comienza con la ejecucin del
code-behind de las pginas dinmicas, stas asocian al RequestThread el contexto
transaccional. El mdulo de acceso a datos toma del RequestThread el contexto transaccional
y lo utiliza al momento de realizar acciones contra el motor de base de datos.
36

8 Vista de Implementacin
La vista de implementacin presenta los componentes de deployment construidos para el
Subsistema de Reservas.
Bajo la tecnologa .NET, la unidad de deployment son los assemblies. Un assembly es una
coleccin de funcionalidades construida, versionada e instalada como una unidad de
implementacin, y contiene, en general, mltiples archivos. Un assembly es el building block
del sistema a nivel de implementacin.
8.1 Estructura de la Aplicacin
Cada capa, es decir cada subsystem en el primer refinamiento de la arquitectura lgica, fue
desarrollada en un assembly independiente del resto. Dentro del assembly de cada capa se
encuentran los mdulos que residen en ella desde el punto de vista lgico.
Los assemblies para las capas de Servicios de Sistema, Servicios de Negocio e Infraestructura
son, respectivamente, Sistema.dll, Negocio.dll e Infraestructura.dll.
La interfaz de usuario corresponde a una aplicacin ASP.NET. La misma genera un assembly
encargado del code-behind de las pginas dinmicas, y con un conjunto de packages que
contienen las pginas dinmicas propiamente. As, se tiene el assembly Reservas.dll, y un
conjunto de packages con las pginas dinmicas.
Se cuenta con un assembly adicional que contiene la biblioteca de clases utilizada para
compartir informacin entre las capas, a saber, DataTypes.dll.
Es importante notar que el assembly Infraestructura.dll utiliza a los sistemas legados
mediante WebServices, por lo cual depende de dichos servicios para su correcto
funcionamiento. Esta dependencia puede marcarse hacia la descripcin de dichos servicios.
8.2 Arquitectura de Implementacin
Se presenta a continuacin un diagrama de componentes que indica las dependencias entre
los assemblies mencionados en la seccin anterior.
Reservas.dll
Sistema.dll
Negocio.dll
Infraestructura.dll
DataTypes.dll

37

Front-End
Como se mencion antes, el front-end de la aplicacin tiene dos partes fundamentales, el
code-behind, encapsulado en Reservas.dll, y un conjunto de packages con las pginas
dinmicas.
El siguiente diagrama presenta los detalles de estas dependencias.

A su vez, cada package contiene un conjunto de pginas dinmicas. Todas ellas dependen del
assembly Reservas.dll, lo cual no fue indicado en el diagrama. Adems, existe una
dependencia de la mayora de dichos packages hacia el package images, lo cual tampoco fue
indicado por claridad del diagrama. Se presenta el contenido del package HacerReserva en la
siguiente figura.

38

Infraestructura
El assembly Infraestructura.dll contiene referencias a WebServices por los cuales accede a los
servicios de mensajera de la empresa, MessageServer, y al Sistema de Facturacin,
FacturacionServer. El siguiente diagrama presenta estas dependencias.

Se presenta a continuacin el fragmento de MessageServer.wsdl que describe las
funcionalidades del WebService.
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:s1="http://tempuri.org/AbstractTypes"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://tempuri.org/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
...
</types>
...
<binding name="MailServiceHttpPost" type="s0:MailServiceHttpPost">
<http:binding verb="POST" />
<operation name="sendMail">
<http:operation location="/sendMail" />
<input>
<mime:content type="application/x-www-form-urlencoded" />
</input>
<output />
</operation>
</binding>
<service name="MailService">
<port name="MailServiceSoap" binding="s0:MailServiceSoap">
<soap:address location="http://localhost/MessageServer/MailService.asmx" />
</port>
<port name="MailServiceHttpGet" binding="s0:MailServiceHttpGet">
<http:address location="http://localhost/MessageServer/MailService.asmx" />
</port>
<port name="MailServiceHttpPost" binding="s0:MailServiceHttpPost">
<http:address location="http://localhost/MessageServer/MailService.asmx" />
</port>
</service>
</definitions>
39

9 Vista de Datos
En esta vista se presenta el modelo de datos utilizado, su distribucin, y una descripcin de
los servicios de persistencia utilizados.
9.1 Modelo de Datos
Se utiliza una nica base de datos relacional corriendo sobre el motor de base de datos
Microsoft Access. La siguiente figura presenta el modelo de datos.

9.2 Distribucin
No hay distribucin a nivel de datos; todas las tablas radican en la misma base de datos.

40

El diseo de la aplicacin permite la distribucin vertical de los datos, siguiendo la
distribucin sugerida por los modelos de informacin de los mdulos de la capa de negocio.
La siguiente figura presenta dicha posible distribucin.

9.3 Servicios de Persistencia
Los servicios de persistencia del Subsistema de Reservas estn alineados con los servicios
para el Sistema de Gestin Hotelera. Los mismos pueden separarse en cuatro niveles, los
cuales sern mencionados a continuacin.
En el nivel inferior se encuentra el motor de base de datos relacional, que para el sistema
actual se utiliza el producto Microsoft Access.
Por encima de ste se ubica la tecnologa ADO.NET provista por el framework .NET. Esta
tecnologa brinda servicios de alto nivel, e independientes del producto, para acceder a
fuentes de datos.
La tecnologa ADO.NET es utilizada directamente por el mdulo AccesoDatos. ste utiliza un
OLE DB Provider con el string de conexin adecuado para el motor de Microsoft Access. El
mdulo AccesoDatos, ubicado en la capa Infraestructura, provee los servicios presentados en
la siguiente figura.

La interfaz ofrece un servicio de ejecucin de comandos, execute, para ejecucin de las
sentencias SQL UPDATE, INSERT y DELETE. El otro servicio, query, destinado a sentencias
SQL basadas en SELECT. El tipo de retorno de este ltimo es un DataSet, clase miembro de
ADO.NET.
Por ltimo, sobre el mdulo AccesoDatos, se ubican los mdulos de la capa Servicios de
Negocio. Los servicios brindados por stos utilizan el mdulo AccesoDatos para ejecutar sus
sentencias y consultas SQL. Para el caso de las consultas, el DataSet es encapsulado en otros
tipos de datos dentro del Subsistema de Reservas; los mismos se encuentran en el package
DataTypes.
41

9.4 Servicios de Transaccionalidad
El poder transaccional utilizado es el brindado por ADO.NET. En una sesin de usuario
corre, por vez, un mdulo de la interfaz de usuario. Cada ejecucin de un caso de uso
completo, dirigida por uno de estos mdulos, est enmarcada en una transaccin. Al iniciar
un caso de uso da comienzo una transaccin, y al terminar el mismo, se realiza el commit.
Cuando el caso de uso falla se realiza un rollback.
El enmarcado de las transacciones es realizado en la biblioteca Manager ubicado en la Interfaz
de Usuario. Al comienzo de un caso de uso, el mismo solicita el comienzo de una transaccin,
y al final de ste se realiza un commit o rollback segn corresponda. La propagacin del
contexto transaccional se realiza junto al hilo de ejecucin. No es necesario ningn
mecanismo de propagacin de contexto transaccional especial dado que toda la aplicacin
corre en forma local dentro de un nico servidor.

42

10 Vista de Deployment
La vista de deployment presenta la infraestructura necesaria para instalar el Subsistema de
Reservas.
Se presenta aqu la arquitectura tcnica de la aplicacin indicando los nodos presentes en la
infraestructura tecnolgica esperada, y la localizacin de los componentes en dichos nodos.
10.1 Arquitectura Tcnica
Considerando la distribucin de la aplicacin desde el punto de vista de los procesos, es
posible identificar cuatro tipos de nodos, a saber, Cliente, Recepcion, Server, LegacyServer.
El primer nodo representa a las estaciones de trabajo de los usuarios finales. El nodo
Recepcion corresponde a la estacin de trabajo en Recepcin. Estos nodos son distinguidos
dado que es necesario conocer su direccin IP, ya que en base a sta se identifica la forma en
que los casos de uso deben ser llevados adelante.
El nodo Server representa a aquel equipo en donde correr el servidor web y la aplicacin del
Subsistema de Reservas.
El ltimo nodo, LegacyServer, representa a aquella infraestructura informtica necesaria para
correr los sistemas legados.

10.2 Tecnologa requerida
Las estaciones de trabajo de los clientes (Cliente) deben contar con un browser, ya sea
Netscape Navigator o Microsoft Internet Explorer, con la habilitacin de ejecucin de
JavaScript. Este tipo de nodos comprende tambin a las terminales que estn a disposicin en
el hall de los hoteles.
Las estaciones de trabajo de las recepciones de los hoteles (Recepcion) debe correr Microsoft
Internet Explorer, en modo Kiosk (iexplore k). Estas estaciones de trabajo deben tener un
nmero IP conocido y fijo ya que de eso depende el correcto funcionamiento de la aplicacin.
Hay nicamente una instancia del nodo Server, la cual centraliza todos los requerimientos de
los clientes. Este nodo debe correr Internet Information Server con soporte del framework
.NET.
Los nodos LegacyServer representan a aquellos equipos que corren los sistemas legados. El
requerimiento tecnolgico exigido es el soporte de WebServices.
43

10.3 Deployment
Los assemblies presentados en la Vista de Implementacin residen en el nodo de tipo Server
presentado en las secciones anteriores.
La configuracin de las estaciones de trabajo de tipo Recepcion, en particular su direccin IP,
debe estar indicada en la base de datos.
Por ltimo, los nodos LegacyServer deben tener instalado los servicios que ofrecen los
WebServices.

También podría gustarte