Habíamos dicho que cyberHotel seguía un modelo de desarrollo por iteraciones, generando en cada iteración una parte completa de la aplicación con las tres capas Modelo-Vista-Controlador. En la primera iteración se abarcaron los elementos de configuración del sistema, sin los cuales el resto de la aplicación no puede funcionar.
En la segunda iteración de cyberHotel se abarca todo lo relativo al sistema de reservas, esto es:
Gestión de clientes: Alta, modificación y borrado de los distintos tipos de clientes, en este caso, particulares, agencias y empresas.
Gestión de reservas: Alta, modificación y borrado de reservas individuales y reservas de grupo.
Gestión de entradas y salidas: Alta, modificación y borrado de entradas de grupo y entradas individuales. Formalización del fin de estancia mediante salidas individuales y salidas de grupo.
Gestión de cargos: Alta, modificación y borrado de los cargos asociados a clientes por habitación, tanto cargos de estancia como cargos adicionales (minibar, garage, teléfono, …).
Planning de Habitaciones: Consulta y modificación de los estados de ocupación y limpieza de las habitaciones.
Para el desarrollo de la capa modelo, el conjunto de patrones de arquitectura del sistema es análogo al de la primera iteración. Tenemos un conjunto de POJO’s cuyo acceso a datos es controlado por una serie de DAO’s, que quedan ocultos bajo una Fachada que en este caso engloba los casos de uso relacionados con el sistema de reservas.
Todo el sistema de asociación de DAO’s a la Fachada y el control de transacciones se realiza a través de Spring, que como vimos en la configuración, se hace de manera declarativa.