Practicas De Sistema D Ereservas
Enviado por Melii25 • 2 de Mayo de 2014 • 3.372 Palabras (14 Páginas) • 382 Visitas
1. Introducción
La aplicación de metodologías y prácticas ágiles dentro de empresas dedicadas al
desarrollo de software, es en la actualidad una realidad que se viene acrecentando
en los últimos años alrededor del mundo.
Son muchas las personas y empresas dedicadas al desarrollo de software que se
enfrentan hoy por hoy con el dilema de ser o no ser ágiles. Bien sea porque sus
actuales metodologías de desarrollo no dan los resultados esperados o bien porque
desean incursionar en prácticas que están de moda a lo largo y ancho de las
comunidades de desarrollo en todo el mundo, lo cierto es que el auge de las
metodologías ágiles es un tema que apasiona y hace reflexionar a todo aquel que se
encuentre inmerso dentro del proceso de desarrollo de software.
Este trabajo presenta un enfoque práctico para la elección y adecuación de
metodologías ágiles de desarrollo de software a un proyecto real: El desarrollo de
un sistema de reservas para una agencia de viajes usando tecnología J2EE.
1.1. Justificación del proyecto
El sector de las Agencias de Viaje ha vivido una crisis desde la aparición de
Internet.
Según el Foro Internacional de Turismo, las compras de viajes por Internet han
crecido de forma significativa hasta el punto de llevar a la crisis a las agencias de
viaje tradicionales. La tendencia se presenta como consolidada aunque ello no
tiene por qué suponer la desaparición de estas agencias sino un cambio en su
concepción original de manera que se puedan adaptar a los nuevos tiempos.
Las compañías aéreas y las centrales de reservas de hoteles fueron algunas de las
primeras entidades en usar grandes sistemas en red para gestionar la reserva y
venta de sus productos. Estos sistemas conectaban los ordenadores centrales con
los terminales de las Agencias de Viajes. Éstas por su parte vendían luego el
producto al público final llevándose una comisión por la gestión.
La incorporación de las agencias a la red ha supuesto la liberalización masiva del
sector, y cualquier competencia en la oferta es beneficiosa para el cliente ya que la
competitividad conlleva una bajada de precios y una mejora del producto.
Con la aparición de Internet las compañías aéreas y las centrales de reservas de
hoteles han extendido sus redes de computadores que antes únicamente servían a
agencias de viajes. En muchos casos hoy en día sale mas barato comprar un billete
por Internet, que en una Agencia. Y las compañías aéreas recortan cada vez más
sus comisiones a las Agencias.
5
Las compañías de viajes (ferroviarias, aéreas, de alquiler de coches…), los hoteles,
guías y otros muchos servicios que antes dependían de una agencia u organizador
de viajes, ahora pueden ofertarse directamente en la red, sin intermediarios y sin
monopolios que limiten su actividad comercial, de manera que se ponen en manos
de una buena gestión para ofrecer la mejor opción al cliente y del marketing.
Internet es donde se compra, vende y se contratan la inmensa mayoría de los
viajes, cualquiera con conexión puede hacerlo con cuatro clicks.
Las Agencias de viajes están pues en crisis, necesitan reinventarse, ya no pueden
ser intermediarios en la venta de billetes de proveedores. Necesitan poder
competir en este nuevo mercado de venta por Internet.
El producto diferenciado que ofrecen las agencias de viajes es el paquete turístico,
que para poder ser un producto alternativo a las ofertas de productos individuales
de transporte y alojamiento, debe contar con un sistema de reservas por Internet
que supere al de las compañías aéreas y centrales hoteleras, un sistema de
reservas que ofrezca al público los productos que las agencias elaboran.
El sistema de reservas que elaboraremos en este proyecto contará con una ventaja
competitiva frente a los sistemas de las grandes mayoristas tradicionales. Nuestra
tecnología estará basada en la potencia de Java y J2EE y utilizará metodologías
ágiles apoyadas en tests automatizados con las que podremos ser más dinámicos
frente a los cambios que puedan surgir en el futuro.
1.2. Objetivos del trabajo
Con este proyecto pretendemos explorar tanto objetivos técnicos como
metodológicos.
1.2.1. Objetivos técnicos
Para poder competir en este nuevo mercado de venta de viajes por Internet,
necesitamos por una parte que la aplicación sea extremadamente rápida en la
gestión de reservas de paquetes túrisiticos. Para ello debemos limitar al máximo la
contención en las transacciones y asegurar al mismo tiempo su corrección, o lo que
es lo mismo, impedir interferencias con otras transacciones en curso por ausencia
de bloqueos.
Por otro lado, también será deseable que la aplicación sea testable con facilidad,
para ello construiremos una arquitectura en la que los objetos de negocio se
puedan ejecutar tanto fuera como dentro del contenedor J2EE, para así poderlo
someter a todas las pruebas necesarias, sin la complicación, y lentitud añadida de
arrancar un servidor J2EE.
Otra característica necesaria y derivada de la anterior, es construir una
arquitectura basada en el paradigma de la orientacion a objetos, conociddo como
Open / Closed principle. Este principio postula que el código este abierto para la
extension pero cerrado para la modificación ya que cada vez que modifiquemos
6
código corremos el riesgo de estropearlo. Por ello debemos utilizar las tecnicas de
herencia y composición para añadir funcionalidad a nuestros programas.
1.2.2. Objetivos metodologicos
Nosotros en este proyecto, usaremos prácticas de desarrollo ágil como las
siguientes:
Frecuente retroalimentacion: para ello se han planificado casos de uso cortos y
en la medida de lo posible autocontenidos, es decir que no necesitan de otras
partes para ser probados.
Pruebas automatizadas: se comenzará el desarrrollo empezando por las pruebas.
Haremos pruebas de unidad y de integración en un ciclo constante como veremos
en más detalle más adelante.
1.3. Enfoque metodológico
Para este proyecto exploraremos cómo aplicar las principales prácticas de lo que
se conoce como “desarrollo ágil”.
El enfoque tradicional de desarrollo de aplicaciones heredado de otras
...