Proyecto - DianaAL0706/SistemaCitasConsultorio GitHub Wiki

Proyecto

Diagrama de flujo

El siguiente diagrama representa el flujo general del Sistema de Administración de Citas para Consultorio Clínico, desde la validación de acceso del administrador hasta las operaciones de registro de doctores, pacientes y creación de citas.

Diagrama de flujo

Clases del sistema

El proyecto está compuesto por diferentes clases que permiten representar y administrar la información de doctores, pacientes, citas y usuarios administradores, además de gestionar el almacenamiento de los datos.

Administrador

La clase Administrador se encarga de representar al usuario que tiene acceso al sistema y de validar sus credenciales.

Variables:

  • id: almacena el identificador del administrador.
  • contrasena: almacena la contraseña del administrador.

Métodos:

  • Administrador(String id, String contrasena): constructor que permite crear un administrador asignando su identificador y contraseña.
  • validarAcceso(String id, String contrasena): compara las credenciales ingresadas con las almacenadas en el objeto y devuelve un valor booleano que indica si el acceso es correcto.

Doctor

La clase Doctor representa a los doctores registrados en el sistema y almacena la información necesaria para identificarlos y conocer su especialidad.

Variables:

  • id: almacena el identificador único del doctor.
  • nombreCompleto: almacena el nombre completo del doctor.
  • especialidad: almacena la especialidad médica del doctor.

Métodos:

  • Doctor(String id, String nombreCompleto, String especialidad): constructor que permite crear un doctor asignando su identificador, nombre completo y especialidad.
  • getId(): devuelve el identificador del doctor.
  • getNombreCompleto(): devuelve el nombre completo del doctor.
  • getEspecialidad(): devuelve la especialidad del doctor.

Paciente

La clase Paciente representa a los pacientes registrados en el sistema y almacena la información necesaria para identificarlos.

Variables:

  • id: almacena el identificador único del paciente.
  • nombreCompleto: almacena el nombre completo del paciente.

Métodos:

  • Paciente(String id, String nombreCompleto): constructor que permite crear un paciente asignando su identificador y nombre completo.
  • getId(): devuelve el identificador del paciente.
  • getNombreCompleto(): devuelve el nombre completo del paciente.

Cita

La clase Cita representa una cita médica dentro del sistema y permite relacionar la información de la consulta con un doctor y un paciente registrados.

Variables:

  • id: almacena el identificador único de la cita.
  • fecha: almacena la fecha programada para la cita.
  • hora: almacena la hora programada para la cita.
  • motivo: almacena el motivo de la consulta.
  • doctor: almacena el objeto Doctor asignado a la cita.
  • paciente: almacena el objeto Paciente asignado a la cita.

Métodos:

  • Cita(String id, String fecha, String hora, String motivo, Doctor doctor, Paciente paciente): constructor que permite crear una cita asignando sus datos, así como el doctor y el paciente correspondientes.
  • getId(): devuelve el identificador de la cita.
  • getFecha(): devuelve la fecha de la cita.
  • getHora(): devuelve la hora de la cita.
  • getMotivo(): devuelve el motivo de la consulta.
  • getDoctor(): devuelve el doctor asignado a la cita.
  • getPaciente(): devuelve el paciente asignado a la cita.

GestorArchivos

La clase GestorArchivos se encarga de administrar la persistencia de la información del sistema mediante archivos de texto almacenados en la carpeta db. Permite crear los archivos necesarios, guardar nuevos registros y recuperar la información almacenada cuando se inicia nuevamente el programa.

Métodos:

  • prepararArchivos(): verifica la existencia de la carpeta db y de los archivos doctores.txt, pacientes.txt y citas.txt. Si alguno no existe, lo crea automáticamente.
  • guardarDoctor(Doctor doctor): almacena los datos de un doctor en el archivo doctores.txt.
  • cargarDoctores(ArrayList<Doctor> doctores): lee los registros almacenados en doctores.txt, crea los objetos Doctor correspondientes y los agrega a la lista de doctores.
  • guardarPaciente(Paciente paciente): almacena los datos de un paciente en el archivo pacientes.txt.
  • cargarPacientes(ArrayList<Paciente> pacientes): lee los registros almacenados en pacientes.txt, crea los objetos Paciente correspondientes y los agrega a la lista de pacientes.
  • guardarCita(Cita cita): almacena los datos de una cita en citas.txt, incluyendo los identificadores del doctor y del paciente relacionados.
  • cargarCitas(ArrayList<Cita> citas, ArrayList<Doctor> doctores, ArrayList<Paciente> pacientes): recupera las citas almacenadas, busca al doctor y al paciente correspondientes mediante sus identificadores y reconstruye los objetos Cita.

Main

La clase Main contiene el método principal del programa y coordina el funcionamiento general del Sistema de Administración de Citas para Consultorio Clínico.

Métodos:

  • main(String[] args): inicia la ejecución de la aplicación y coordina las diferentes operaciones del sistema.

Funciones principales realizadas en esta clase:

  • Prepara la carpeta db y los archivos necesarios mediante GestorArchivos.
  • Carga la información previamente almacenada de doctores, pacientes y citas.
  • Crea las listas utilizadas para administrar los objetos Doctor, Paciente y Cita.
  • Solicita y valida las credenciales de acceso del administrador.
  • Permite registrar nuevos doctores y valida que su identificador no esté duplicado.
  • Permite registrar nuevos pacientes y valida que su identificador no esté duplicado.
  • Permite crear citas y comprueba la existencia del doctor y del paciente seleccionados.
  • Valida que los identificadores de las citas no estén duplicados.
  • Guarda los nuevos registros en los archivos correspondientes de la carpeta db.
⚠️ **GitHub.com Fallback** ⚠️