Documentación en GitHub Wiki ‐ Sistema de Administración de Citas Médicas - andresvazquez/Evidencia_ComputacionEnJava GitHub Wiki
Acerca de:
El "Sistema de Administración de Citas Médicas" es una aplicación Java diseñada para simplificar la gestión de citas médicas en consultorios clínicos. Esta herramienta ha sido creada como parte del curso "Computación en Java" y tiene como objetivo demostrar la aplicación de conceptos de programación orientada a objetos y la manipulación de archivos en Java.
Características Principales:
Alta de Doctores y Pacientes: Permite registrar tanto doctores como pacientes con información detallada, incluyendo nombres completos y otros datos relevantes.
Programación de Citas: Facilita la programación de citas médicas, permitiendo especificar la fecha, hora y motivo de cada cita.
Relación Doctor-Paciente: Cada cita está vinculada a un doctor y un paciente, lo que permite un seguimiento efectivo de la atención médica.
Control de Acceso: Cuenta con un sistema de autenticación de administradores, lo que garantiza que solo usuarios autorizados puedan utilizar la aplicación.
Proyecto:
Diagrama de flujo:
Está centrado en el flujo funcional principal, que es el menú manejado por un switch case, el cual llama a las funciones correspondientes de forma modular. Cuando se lee la opción con valor 8, el programa termina. Existirán funciones para cargar la información desde archivos a las listas de la clase principal y para guardar la información en archivos de salida.
- Diseño del programa (diagrama de clases) Después de avanzar en los conocimientos sobre programación orientada a objetos, se realizará un diagrama de clases donde se desglosarán los componentes de la aplicación. Se deberán estructurar los componentes de acuerdo con las funcionalidades del sistema, por ejemplo: • Clase Principal. • Clase para Doctor. • Clase para Paciente. • Clase para Cita. El reto es pensar en otras clases, tanto abstractas como concretas, así́ como posibles interfaces que sean necesarias para implementar correctamente las funcionalidades del programa, no olvidar tomar en cuenta los conceptos de herencia y polimorfismo.
• La clase Principal gestiona usuarios, lo que implica que tiene conocimiento de la clase Usuario. La clase Principal se encarga de la gestión del sistema. • Las clases Paciente y Doctor heredan de Usuario. Ambas clases comparten atributos y comportamientos comunes con la clase Usuario, como el nombre y el ID único. • La clase Cita hace uso de Paciente y Doctor, lo que indica que es consciente de estas clases y puede interactuar con objetos de esas clases. La clase Cita necesita información relacionada con pacientes y doctores para funcionar correctamente, como; asignar citas a pacientes y doctores al momento de crear una cita, mostrar citas dependiendo del doctor o paciente.
- Pseudocódigo Con base en el diagrama, traducirlo a pseudocódigo. Si es necesario, mejorar el diagrama de flujo.
Proceso AdministracionCitas
// Declaración de listas para almacenar objetos de tipo Doctor, Paciente y Cita Lista Doctores Lista Pacientes Lista Citas Lista Administradores
// Variable booleana para controlar la sesión del administrador sesionIniciada = Falso
// Función para cargar datos previos desde archivos CSV o JSON Función cargarDatosDesdeArchivos() // Implementa la lógica para cargar datos si existen Fin Función
// Función para guardar datos en archivos CSV o JSON Función guardarDatosEnArchivos() // Implementa la lógica para guardar datos Fin Función
Main //Cargar datos existentes Llamar cargarDatosDesdeArchivos()
// Mientras no se seleccione la opción de salir Repetir // Mostrar menú principal Mostrar "Menú Principal" Mostrar "1. Iniciar Sesión de Administrador" Mostrar "2. Registrar Doctor" Mostrar "3. Registrar Paciente" Mostrar "4. Crear Cita" Mostrar "5. Mostrar Citas por Doctor" Mostrar "6. Mostrar Citas por Paciente" Mostrar "7. Cerrar Sesión de Administrador" Mostrar "8. Salir"
// Leer opción del usuario
Leer opcion
// Según la opción seleccionada
Según opcion
Caso 1:
// Llama a la función iniciarSesionAdministrador()
iniciarSesionAdministrador()
Fin Caso
Caso 2:
// Llama a la función registrarDoctor()
registrarDoctor()
Fin Caso
Caso 3:
// Llama a la función registrarPaciente()
registrarPaciente()
Fin Caso
Caso 4:
// Llama a la función crearCita()
crearCita()
Fin Caso
Caso 5:
// Llama a la función mostrarCitasPorDoctor()
mostrarCitasPorDoctor()
Fin Caso
Caso 6:
// Llama a la función mostrarCitasPorPaciente()
mostrarCitasPorPaciente()
Fin Caso
Caso 7:
// Llama a la función cerrarSesion()
cerrarSesion()
Fin Caso
Caso 8:
// Salir del programa
Mostrar "Saliendo del programa..."
guardarDatosEnArchivos()
salir()
Fin Caso
Defecto:
Mostrar "Opción no válida, por favor intente de nuevo."
Fin Según
Mientras opción != 8
Fin Proceso Fin Main
Función iniciarSesionAdministrador() // Implementa la lógica para iniciar sesión como administrador Fin Función
Función registrarDoctor() // Implementa la lógica para registrar un nuevo doctor Fin Función
Función registrarPaciente() // Implementa la lógica para registrar un nuevo paciente Fin Función
Función crearCita() // Implementa la lógica para crear una nueva cita médica Fin Función
Función mostrarCitasPorDoctor() // Implementa la lógica para mostrar citas por doctor Fin Función
Función mostrarCitasPorPaciente() // Implementa la lógica para mostrar citas por paciente Fin Función
Función cerrarSesion() // Implementa la lógica para cerrar la sesión del administrador Fin Función
Función salir() // Implementa la lógica para salir del programa Fin Función
Se describe desde la declaración de listas y variable de control de inicio de sesión. Se incluyen las definiciones de las funciones. La función principal (Main) se encarga de cargar los datos existentes, mostrar un menú con diversas opciones y ejecutar las acciones correspondientes según la elección del usuario. Cada opción del menú llama a una función específica para llevar a cabo tareas como iniciar sesión de administrador, registrar doctores y pacientes, crear citas médicas, y mostrar citas por doctor o paciente. También incluye funciones para cerrar sesión y salir del programa.
Guía
[Instalación y configuración] Para crear un archivo JAR en IntelliJ IDEA, sigue estos pasos:
1.Abre el proyecto en IntelliJ IDEA.
2.Asegúrate de que el proyecto esté configurado correctamente como un proyecto Java y que tengas todas las dependencias incluidas en el proyecto.
3.Ve al menú "File" (Archivo) en la parte superior izquierda y selecciona "Project Structure" (Estructura del proyecto).
4.En la ventana de configuración del proyecto, en la sección de "Project Settings," selecciona "Artifacts."
5.Haz clic en el botón "+" en la parte superior izquierda y elige "JAR" > "From modules with dependencies."
6.Selecciona el módulo de tu proyecto en la lista desplegable "Module" (Módulo).
7.Asegúrate de que el campo "Main Class" (Clase principal) esté configurado correctamente. Esto debe apuntar a la clase que contiene el método main de tu aplicación "Evidencia.java".
8.Haz clic en "OK" para cerrar la ventana de configuración de artifacts.
9.En la parte superior de la ventana de IntelliJ IDEA, selecciona "Build" (Construir) > "Build Artifacts."
10.En el menú emergente, selecciona la opción que corresponde a tu JAR (por lo general, es "Build").
11.IntelliJ IDEA construirá tu JAR y lo colocará en una carpeta llamada "out" en tu proyecto.
12.Encuentra el JAR generado en la carpeta "out" de tu proyecto.
13.Abre tu terminal.
14.Navega al directorio que contiene el archivo JAR usando el comando cd. Por ejemplo:
cd /ruta/a/tu/directorio
15.Una vez que estés en el directorio correcto, ejecuta el archivo JAR utilizando el comando java -jar seguido del nombre del archivo JAR. Por ejemplo:
java -jar Evidencia_ComputacionEnJava_jar/Evidencia_ComputacionEnJava.jar