Home Forums Escritura un Caso de Enseñanza Caso de Enseñanza

  • Caso de Enseñanza

    Posted by anyelo-quintero on 6 octubre, 2025 at 6:40 pm

    Saludos

    Caso de Enseñanza: Sistema de Reservas SmartStay

    Párrafo de inicio

    La empresa SmartStay, dedicada a la gestión de reservas para alojamientos turísticos, ha experimentado un rápido crecimiento en los últimos dos años gracias al aumento del turismo digital. Sin embargo, su software actual fue desarrollado de manera procedural y presenta serias dificultades para mantener, escalar y agregar nuevas funcionalidades. Ante esta situación, la dirección de la empresa ha decidido rediseñar el sistema utilizando Programación Orientada a Objetos (POO) en Python, buscando mejorar la modularidad, la reutilización del código y la eficiencia en los procesos de reserva, cancelación y control de disponibilidad.

    La empresa y los hechos históricos

    SmartStay fue fundada en 2018 en Medellín por un grupo de ingenieros jóvenes que iniciaron ofreciendo servicios de reservas en pequeños hostales. Con el tiempo, la plataforma creció y comenzó a operar a nivel nacional, gestionando más de 20.000 reservas mensuales. Su sistema original, construido con scripts básicos en Python, funcionó bien en los primeros años, pero con el aumento de clientes y proveedores, la estructura del código se volvió difícil de mantener. Los errores frecuentes en la gestión de reservas y la falta de escalabilidad impulsaron la decisión de migrar a un modelo orientado a objetos.

    La competencia

    En el mercado existen competidores como BookingNow y StayEasy, plataformas con arquitecturas más robustas que utilizan frameworks orientados a objetos y bases de datos distribuidas. Estas empresas ofrecen interfaces más estables, integración con pasarelas de pago y personalización para los establecimientos afiliados, lo que ha presionado a SmartStay a modernizar su sistema para no perder participación en el mercado.

    El contexto

    El equipo de desarrollo de SmartStay está conformado por seis programadores junior, dos analistas de sistemas y un líder técnico. Ninguno de los desarrolladores tiene amplia experiencia en POO, por lo que el rediseño representa también una oportunidad de aprendizaje. El área financiera ha aprobado el presupuesto para la actualización, pero exige resultados medibles en un plazo de tres meses.

    Productos o servicios

    El principal servicio de la empresa es su plataforma de reservas en línea, que permite a los usuarios buscar alojamientos, verificar disponibilidad, realizar pagos y gestionar cancelaciones. El nuevo sistema debe ser más flexible, permitiendo incorporar nuevos tipos de alojamiento (cabañas, apartamentos, hoteles) y distintas modalidades de usuario (administrador, huésped y proveedor).

    El personaje tomador de decisiones

    El líder técnico, ingeniero de software responsable del proyecto, debe decidir cómo implementar el rediseño aplicando los principios de la POO en Python: abstracción, encapsulamiento, herencia y polimorfismo, garantizando que el sistema sea escalable, legible y fácil de mantener.

    El dilema

    El equipo enfrenta el dilema de elegir la estrategia de rediseño más conveniente:

    – Reescribir todo el sistema desde cero utilizando POO.

    – Refactorizar gradualmente el código existente, convirtiendo las funciones en clases y módulos.

    – Contratar un consultor externo para definir la arquitectura y guiar al equipo, lo cual implica mayor inversión.

    Cada alternativa tiene implicaciones en tiempo, costo y aprendizaje del equipo.

    Posibles soluciones

    1. Reescritura total: garantiza un sistema limpio y totalmente orientado a objetos, pero implica riesgo por el tiempo limitado.

    2. Refactorización progresiva: permite mantener la operatividad, aunque puede generar inconsistencias temporales entre el código antiguo y el nuevo.

    3. Asesoría externa: ofrece una solución técnica sólida, pero reduce la autonomía del equipo y aumenta los costos.

    Anexos

    – Diagrama inicial del sistema actual.

    – Fragmentos de código en estilo procedural.

    – Cronograma de migración propuesto.

    – Indicadores de desempeño esperados (reducción de errores y mejora en tiempos de respuesta).

    Anyelo Quintero

    anyelo-quintero replied hace 3 months, 1 week 1 Member · 0 Replies
  • 0 Replies

Sorry, there were no replies found.

Log in to reply.