Actividades

Actividad 10: Sistema de gestión de clínicas veterinarias

Desarrolla un sistema de gestión para una clínica veterinaria que permita a los usuarios gestionar la información de los pacientes (mascotas), sus propietarios, las citas médicas y los tratamientos. Utiliza la clase InputValidator para validar las entradas del usuario.

Objetivo

El objetivo de esta actividad es desarrollar un sistema de gestión para una clínica veterinaria que permita a los usuarios gestionar la información de los pacientes (mascotas), sus propietarios, las citas médicas y los tratamientos. Utilizarás la clase InputValidator para validar las entradas del usuario, asegurándote de que sean válidas antes de almacenar o procesar la información.

Recuerda que puedes hacer uso de clases abstractas y concretas, así como de la herencia para manejar la variabilidad en la información de los pacientes según el tipo de mascota. Además, es importante que manejes adecuadamente las excepciones que puedan surgir durante la validación de entradas, mostrando mensajes de error claros y específicos utilizando los mensajes definidos en el Enum Messages que creaste en la actividad anterior.

Descripción del Problema

Eres un desarrollador de software encargado de crear un sistema de gestión para una clínica veterinaria. El sistema debe permitir a los usuarios gestionar la información de los pacientes (mascotas), sus propietarios, las citas médicas y los tratamientos.

Para garantizar que las entradas del usuario sean válidas, utilizarás la clase InputValidator que has desarrollado en actividades anteriores.

El sistema debe permitir a los usuarios ingresar la información necesaria para cada entidad (por ejemplo, nombre, edad, tipo de mascota para pacientes; nombre, dirección, número de contacto para propietarios; fecha y hora para citas; descripción y costo para tratamientos) y debe validar estas entradas utilizando la clase InputValidator antes de almacenar o procesar la información.

Requisitos

  • Existen al menos 4 entidades principales: Paciente (mascota), Propietario, Cita Médica y Tratamiento.
  • Cada entidad debe tener atributos relevantes (por ejemplo, Paciente podría tener nombre, edad, tipo de mascota; Propietario podría tener nombre, dirección, número de contacto; Cita Médica podría tener fecha, hora, paciente asociado; Tratamiento podría tener descripción, costo, paciente asociado).
  • Dependiente del tipo de mascota, el paciente podría tener atributos específicos (por ejemplo, para perros podría haber una raza, para gatos podría haber una raza y un atributo de si es de interior o exterior). Deberás manejar esta variabilidad en la información de los pacientes utilizando herencia.
  • Utiliza la clase InputValidator para validar las entradas del usuario antes de almacenar o procesar la información. Asegúrate de que los datos ingresados sean válidos y estén en el formato correcto.
  • Crea una clase con el método main que permita a los usuarios interactuar con el sistema, permitiéndoles agregar, modificar y eliminar información de pacientes, propietarios, citas médicas y tratamientos. Utiliza la clase InputValidator para validar las entradas del usuario en este proceso.
  • Asegúrate de manejar adecuadamente las excepciones que puedan surgir durante la validación de entradas, mostrando mensajes de error claros y específicos utilizando los mensajes definidos en el Enum Messages que creaste en la actividad anterior.
  • Agrega comentarios en el código para explicar la funcionalidad de cada parte y cómo se utiliza la clase InputValidator para validar las entradas del usuario en el contexto del sistema de gestión de clínicas veterinarias.
  • Maneja la interacción del usuario con un menú que permita seleccionar las diferentes opciones para gestionar la información de pacientes, propietarios, citas médicas y tratamientos.

Instrucciones

  1. Crea las clases necesarias para representar las entidades principales: Paciente (mascota), Propietario, Cita Médica y Tratamiento. Asegúrate de incluir los atributos relevantes para cada entidad.
  2. Utiliza la herencia para manejar la variabilidad en la información de los pacientes según el tipo de mascota.
  3. Implementa la clase InputValidator para validar las entradas del usuario antes de almacenar o procesar la información. Asegúrate de que los datos ingresados sean válidos y estén en el formato correcto.
  4. Crea una clase con el método main que permita a los usuarios interactuar con el sistema, permitiéndoles agregar, modificar y eliminar información de pacientes (mascotas), propietarios, citas médicas y tratamientos. Utiliza la clase InputValidator para validar las entradas del usuario en este proceso.
  5. Asegúrate de manejar adecuadamente las excepciones que puedan surgir durante la validación de entradas, mostrando mensajes de error claros y específicos utilizando los mensajes definidos en el Enum Messages que creaste en la actividad anterior.
  6. Agrega comentarios en el código para explicar la funcionalidad de cada parte y cómo se utiliza la clase InputValidator para validar las entradas del usuario en el contexto del sistema de gestión de clínicas veterinarias.
  7. Maneja la interacción del usuario con un menú que permita seleccionar las diferentes opciones para gestionar la información de pacientes, propietarios (cuando se ingrese un nuevo paciente, se debe asociar a un propietario existente), citas médicas (cuando se programe una nueva cita, se debe asociar a un paciente existente) y tratamientos (cuando se registre un nuevo tratamiento, se debe asociar a un paciente existente).
  8. Compila y ejecuta tu programa para asegurarte de que todas las funcionalidades funcionen correctamente. Toma capturas de pantalla de la ejecución del programa mostrando el uso de las funciones para gestionar la información de pacientes, propietarios, citas médicas y tratamientos, así como los mensajes de error personalizados cuando se ingresan entradas no válidas.
  9. Para efectos de evaluación, crea una presentación en donde expliquen el proceso de desarrollo del programa, las decisiones de diseño que tomaron, cómo utilizaron la clase InputValidator para validar las entradas del usuario y cómo manejaron las excepciones. Así mismo durante la presentación, muestren la ejecución del programa y expliquen cómo se utilizan las diferentes funciones para gestionar la empresa agroalimentaria.

Entrega

Para la entrega deberás incluir el código fuente completo y debidamente comentado, así como un unico documento PDF que contenga los siguientes elementos:

  • Portada con el título de la actividad, la lista de integrantes del equipo y el nombre del curso.
  • Código fuente completo de las clases necesarias para representar las entidades principales (Paciente, Propietario, Cita Médica y Tratamiento), la clase InputValidator y el resto de las clases que hayas creado para manejar la lógica del sistema de gestión de clínicas veterinarias.
  • Capturas de pantalla de la ejecución del programa mostrando el uso de las funciones para gestionar la información de pacientes, propietarios, citas médicas y tratamientos, así como los mensajes de error personalizados cuando se ingresan entradas no válidas.
  • Una breve explicación de cómo se utiliza la clase InputValidator para validar las entradas del usuario en el contexto del sistema de gestión de clínicas veterinarias y cómo se manejan las diferentes entidades y sus relaciones (por ejemplo, cómo se asocian los pacientes con sus propietarios, cómo se programan las citas médicas para los pacientes, cómo se registran los tratamientos para los pacientes, etc.).

Evaluación

La evaluación se basará en los siguientes criterios:

CriterioPuntos
Implementación de las clases para representar las entidades principales (Paciente, Propietario, Cita Médica y Tratamiento)20%
Uso de la herencia para manejar la variabilidad en la información de los pacientes según el tipo de mascota20%
Implementación de la clase InputValidator para validar las entradas del usuario10%
Funcionalidad del sistema para gestionar la información de pacientes, propietarios, citas médicas y tratamientos20%
Manejo adecuado de excepciones y mensajes de error claros y específicos10%
Calidad del código (comentarios, organización, legibilidad)10%
Presentación del proceso de desarrollo, decisiones de diseño y demostración del programa10%

Toma en consideración que la evaluación se basará en la calidad y funcionalidad del programa, así como en la claridad de la presentación. Por ende es importante que todos los integrantes del equipo participen activamente en el desarrollo del programa y en la defensa del mismo durante la presentación. Además, se valorará la creatividad y la originalidad en el diseño del programa, siempre y cuando se cumplan los requisitos establecidos en las instrucciones.

Por último, es indispensable la presentación del programa para la evaluación, por lo que se recomienda practicar la presentación con anticipación para asegurarse de que todos los integrantes del equipo estén familiarizados con el programa y puedan explicar claramente su funcionamiento durante la presentación, ya que la ausencia del equipo o parte de este durante la presentación resultará en una calificación de cero (0) para esta actividad, sin importar la calidad del programa y la documentación entregada, para los integrantes que no asistan a la presentación.

Copyright Jesús Aurelio Castro Magaña © 2026