Proyecto: CRUD Python, Tkinter y MySQL - Módulo Paciente (Arquitectura MVC)
Автор: Manuel Ardila
Загружено: 2025-11-10
Просмотров: 15
Описание:
A continuación, se presenta la demostración de un proyecto universitario enfocado en la *adaptación y expansión de una aplicación de escritorio* desarrollada en Python, bajo la arquitectura Modelo-Vista-Controlador (MVC).
El objetivo principal fue extender una aplicación base existente (gestión de "Médicos") para implementar un *módulo CRUD (Crear, Leer, Actualizar, Eliminar) completo* para la entidad "Pacientes".
---
🏛️ Arquitectura y Metodología
El proyecto se adhiere estrictamente al patrón de diseño **Modelo-Vista-Controlador (MVC)**, garantizando una clara separación de responsabilidades:
*Modelo (Backend):* Gestiona la lógica de negocio y la interacción directa con la base de datos MySQL.
*Vista (Frontend):* Responsable de la interfaz gráfica de usuario (GUI), desarrollada con la librería Tkinter.
*Controlador (Lógica):* Actúa como el intermediario que conecta las acciones del usuario en la Vista con las operaciones de datos en el Modelo.
🛠️ Fases del Desarrollo Detalladas
El trabajo se estructuró en las siguientes etapas clave:
*1. Preparación de la Base de Datos (MySQL)*
A partir del script `.sql` suministrado, se utilizó el gestor de bases de datos *HeidiSQL* para conectarnos al servidor MySQL (MariaDB).
Se creó la base de datos `clinica` y se ejecutó el script para generar la estructura de tablas (`paciente`, `medico`, `ingreso`), respetando sus campos, tipos de datos y relaciones.
*2. Creación del Nuevo Módulo "Paciente"*
Basándonos en la estructura MVC de los archivos originales ("Médico"), se desarrollaron los siguientes componentes nuevos:
*`modelo_paciente.py`:* Se creó la clase `Modelo_paciente` (DAO - Data Access Object) que contiene todos los métodos (`Insert`, `Select`, `Update`, `Delete`, `Select_all`) con las consultas SQL específicas para interactuar con los 9 campos de la tabla `paciente`.
*`vista_paciente.py`:* Se diseñó desde cero la interfaz gráfica (`tk.Frame`) para el formulario de "Pacientes", adaptando el layout (`.place()`) para incluir todos los campos requeridos. Se implementó la validación de datos y la ventana emergente `Toplevel` con un `ttk.Treeview` para la consulta de todos los registros.
*`controlador_paciente.py`:* Se implementó el controlador que enlaza los eventos de los botones de la nueva vista con las funciones correspondientes en el modelo, gestionando el flujo de datos.
*3. Integración y Refactorización del `app.py`*
El script principal `app.py` fue modificado significativamente. En lugar de iniciar una única ventana, se transformó en un *menú principal* que ahora sirve como lanzador para ambos módulos (Médicos y Pacientes), permitiendo una navegación fluida dentro de la aplicación.
✅ Resultado Demostrado
Este video valida el cumplimiento de todos los criterios de evaluación. Se demuestra el funcionamiento exitoso de la inserción, consulta individual, modificación, eliminación y consulta general de pacientes, evidenciando una correcta adaptación del código y una implementación exitosa de la arquitectura MVC.
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: