0% encontró este documento útil (0 votos)
8 vistas17 páginas

Sistema de Gestión para Condominios "Los Clarines"

El proyecto 'Gestión de Condominios Los Clarines' tiene como objetivo desarrollar un sistema integral en Java para la administración de condominios, que incluye módulos para gestionar edificios, apartamentos y propietarios, así como la administración de cobros. El sistema se enfoca en la eficiencia y la organización, implementando validaciones estrictas y estructuras de datos avanzadas para facilitar la gestión de datos y la generación de reportes. La solución propuesta es robusta y escalable, garantizando una administración eficiente y ordenada del condominio.

Cargado por

dariel.opazo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas17 páginas

Sistema de Gestión para Condominios "Los Clarines"

El proyecto 'Gestión de Condominios Los Clarines' tiene como objetivo desarrollar un sistema integral en Java para la administración de condominios, que incluye módulos para gestionar edificios, apartamentos y propietarios, así como la administración de cobros. El sistema se enfoca en la eficiencia y la organización, implementando validaciones estrictas y estructuras de datos avanzadas para facilitar la gestión de datos y la generación de reportes. La solución propuesta es robusta y escalable, garantizando una administración eficiente y ordenada del condominio.

Cargado por

dariel.opazo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Gestión de Condominios

“Los Clarines”

Integrantes: Dariel Benjamín Opazo

Cortés Leydy Diana Rivera Rodríguez

Asignatura: Programación Avanzada

Paralelo 2

Profesora: Niriaska del Carmen Perozo de Linares

Fecha entrega: 13/12/2024


Introducción

El presente proyecto, desarrollado en el marco de la asignatura de Programación


Avanzada, tiene como objetivo principal diseñar e implementar un sistema integral
para el control de condominios del Centro Metropolitano "Los Clarines". Este sistema
se divide en tres módulos fundamentales: gestión de edificios, apartamentos y
propietarios; administración de cobros; y priorización de pagos, todo bajo los
principios de la Programación Orientada a Objetos utilizando Java. Con un enfoque en
la eficiencia, organización y cumplimiento de los requerimientos establecidos, este
proyecto busca proporcionar una solución robusta y escalable que facilite la
administración de datos, la generación de reportes y la priorización de tareas,
permitiendo una gestión optimizada de los recursos del condominio. Además, el
desarrollo contempla validaciones estrictas, integración de estructuras de datos
avanzadas como pilas y colas de prioridad, y un diseño modular que asegura la
cohesión del sistema.

pág. 2
Clases

Clase propietario:

Esta clase almacena los atributos del objeto llamado Propietario, los cuales son:
nombre, apellido y RUT.

En el método ToString se guardarán los atributos como cadenas de texto. Los gets
sirven para agregar los atributos a la clase y los sets sirven para obtener esos atributos
de la clase.

Clase Edificio

Esta clase almacena los atributos del objeto llamado Edificio, los cuales son: Código,
nombre, nombre Conserje, número de pisos, ascensor, monto del condominio y el día
de cobro del edificio.

pág. 3
En el método ToString se guardarán los atributos como cadenas de texto. Los gets
sirven para agregar los atributos a la clase y los sets sirven para obtener esos atributos
de la clase.

Clase Departamento

Esta clase almacena los atributos del objeto llamado Departamento, los cuales son:,
numero del departamento, piso, alquilado, numero Habitaciones, propietario y código
del edificio al que pertenece.

En el método ToString se guardarán los atributos como cadenas de texto. Los gets
sirven para agregar los atributos a la clase y los sets sirven para obtener esos atributos
de la clase.

pág. 4
Clase FichaCobro

Esta clase almacena los atributos del objeto llamado Propietario, los cuales son:
propietario, el total a pagar, la fecha(día del mes en que pago) y una cola llamada
coladepartamento que explicaré más adelante.

En el método ToString se guardarán los atributos como cadenas de texto. Los gets
sirven para agregar los atributos a la clase y los sets sirven para obtener esos atributos
de la clase

Clase principal

Main

En el main se llama al método men

pág. 5
Menu

Este método menu implementa un menú interactivo para un sistema de control de


condominios. Su funcionamiento se divide en dos partes principales:

1. Validación de registros mínimos:

o Si no hay al menos 3 propietarios, 3 edificios y 3 departamentos


registrados, el menú solicita completar estos registros mostrando
cuántos faltan. Permite registrar propietarios, edificios o departamentos,
o salir del programa.

2. Opciones avanzadas:

o Una vez cumplidos los registros mínimos, el menú habilita


funcionalidades avanzadas como generación de fichas de cobro,
construcción de colas de prioridad, reportes y gestión de datos. Estas
opciones se ejecutan mediante un switch-case.

El método incluye manejo de errores para entradas inválidas y asegura que el menú se
mantenga en funcionamiento hasta que el usuario decida salir.

pág. 6
5. Submenús

El sistema cuenta con submenús organizados por funcionalidad para facilitar la


interacción con el usuario. Estos submenús permiten acceder a operaciones
específicas relacionadas con reportes, propietarios, edificios y departamentos. A
continuación, se detallan las características y opciones disponibles en cada submenú.

5.1. Submenú de Reportes

El submenú de reportes está diseñado para generar diferentes tipos de informes que
ayudan a analizar el estado del condominio. Entre las opciones disponibles se
encuentran:

1. Imprimir la cola de prioridad: Muestra las fichas de cobro ordenadas por el


monto total a pagar. Esto facilita priorizar los cobros más importantes.

2. Reporte general de edificios: Presenta un listado de los edificios ordenados


según criterios de prioridad, como el monto total a cobrar.

3. Departamentos con fechas de cobro vencidas: Genera un informe de los


departamentos que no han pagado dentro del tiempo establecido, ordenados
por piso.

4. Reporte general de fichas de cobro: Muestra todas las fichas de cobro


generadas, con detalles sobre montos, propietarios y fechas de cobro.

5. Propietarios con cobros vencidos (+5 días): Lista los propietarios que tienen
cobros pendientes por más de cinco días.

6. Propietarios con cobros vencidos (-5 días): Similar al anterior, pero muestra
propietarios con cobros vencidos en un rango de hasta cinco días.

7. Listado general de propietarios: Presenta todos los propietarios registrados en


el sistema, junto con sus datos.

8. Listado general de edificios: Muestra información básica de todos los edificios


registrados.

9. Listado de edificios con sus propietarios: Relaciona cada edificio con los
propietarios que tienen departamentos en él.

10. Listado de departamentos agrupados por edificio: Organiza los


departamentos según el edificio al que pertenecen, detallando pisos y
propietarios.

pág. 7
11. Listado de departamentos agrupados por propietario: Muestra los
departamentos que son propiedad de cada propietario registrado.

Estos reportes son fundamentales para la administración del condominio, ya que


brindan una visión clara y detallada de los datos almacenados.

5.2. Submenú de Propietarios

El submenú de propietarios gestiona todas las operaciones relacionadas con los


residentes del condominio. Las opciones incluyen:

1. Registrar propietario: Permite agregar un nuevo propietario al sistema. Antes


del registro, valida que el RUT ingresado no exista ya en la lista de propietarios.

2. Consultar propietario: Busca un propietario específico ingresando su RUT. Si


se encuentra, muestra su información detallada.

pág. 8
3. Modificar propietario: Ofrece la posibilidad de actualizar los datos personales
del propietario, como nombre y apellido.

4. Eliminar propietario: Antes de eliminar un propietario, el sistema verifica que


no tenga departamentos asociados. Si existen dependencias, la eliminación es
bloqueada para preservar la integridad de los datos.

Este submenú garantiza que la información de los propietarios esté actualizada y


permite gestionar posibles errores en los registros.

5.3. Submenú de Edificios

Este submenú se enfoca en la gestión de los edificios que forman parte del
condominio. Las opciones son:

1. Registrar edificio: Agrega un nuevo edificio al sistema con datos como:

o Código único.

o Nombre del edificio.

o Nombre del conserje.

o Número de pisos.

o Presencia o ausencia de ascensor.

o Monto del condominio.

o Día de cobro mensual.

pág. 9
2. Consultar edificio: Permite buscar un edificio por su código único y muestra
todos los datos asociados.

3. Modificar edificio: Actualiza atributos como el nombre, el número de pisos y el


monto de condominio.

4. Eliminar edificio: Verifica que no existan departamentos vinculados al edificio


antes de eliminarlo. Si hay departamentos asociados, la operación es
rechazada.

Este submenú asegura una administración efectiva de los edificios registrados y evita
inconsistencias en los datos.

5.4. Submenú de Departamentos

El submenú de departamentos facilita la gestión de las unidades residenciales dentro


de los edificios. Las funcionalidades incluyen:

1. Registrar departamento: Crea un nuevo departamento asociado a un edificio


existente. Si el departamento está alquilado, valida que el propietario esté
registrado en el sistema.

2. Consultar departamento: Busca un departamento específico por su número y


muestra los detalles registrados.

3. Modificar departamento: Actualiza información como el piso, el número de


habitantes, el estado de alquiler y el propietario asociado.

4. Eliminar departamento: Verifica que el departamento no esté en uso antes de


eliminarlo del sistema.

pág. 10
Este submenú permite registrar y mantener actualizada la información de cada
departamento, asegurando la integridad de los datos relacionados con edificios y
propietarios.

Generación de Fichas de Cobro

El sistema incluye una funcionalidad avanzada para generar fichas de cobro


mensuales para los propietarios. Estas fichas contienen:

1. Detalles de los departamentos asociados: Lista los departamentos que


pertenecen al propietario.

2. Monto total a pagar: Calculado en función del monto de condominio de los


edificios a los que pertenecen los departamentos.

3. Día de cobro: Indica la fecha límite para realizar el pago.

Las fichas generadas se almacenan en una pila, lo que permite gestionar los cobros en
orden y priorizarlos según sea necesario.

pág. 11
7. Reportes

Los reportes permiten obtener una visión general y detallada del estado del
condominio. Los tipos de reportes incluyen:

1. Cobros vencidos: Lista propietarios con pagos atrasados, agrupados en rangos


de más o menos cinco días.

2. Listado general: Presenta información de propietarios, edificios y


departamentos organizados por diferentes criterios.

3. Cola de prioridad: Ordena las fichas de cobro por el monto total a pagar,
permitiendo una gestión eficiente de los cobros más significativos.

4. Departamentos con cobros vencidos: Filtra los departamentos según los días
de retraso en el pago y los organiza por piso.

Estos reportes son esenciales para la toma de decisiones y el análisis de los datos
administrativos.

8. Validaciones

El sistema asegura la integridad de los datos mediante validaciones estrictas:

1. Evitar registros duplicados: Al registrar propietarios, edificios o


departamentos, se verifica que no existan duplicados en los datos clave (RUT,
código de edificio, número de departamento).

pág. 12
2. Mantener dependencias: Bloquea la eliminación de propietarios o edificios si
existen departamentos asociados a ellos.

Estas validaciones garantizan que los datos se mantengan consistentes y correctos.

9. Manejo de Excepciones

Se utiliza un manejo robusto de excepciones para evitar que errores del usuario afecten
el funcionamiento del sistema:

1. Captura de entradas no válidas: Si el usuario ingresa un valor no numérico


donde se espera un número, se captura la excepción InputMismatchException.

2. Limpieza del buffer: Después de una entrada incorrecta, se limpia el buffer del
Scanner para evitar errores en iteraciones posteriores.

Este enfoque asegura una experiencia de usuario más fluida y previene fallos
inesperados.

10. Métodos Auxiliares

Se implementan métodos específicos que encapsulan operaciones frecuentes, como:

1. construirColaDePrioridad: Crea una cola de prioridad ordenando las fichas de


cobro por el monto total a pagar.

2. imprimirColaDePrioridad: Muestra los elementos de la cola de prioridad en el


orden establecido.

3. Operaciones CRUD (Crear, Leer, Actualizar, Eliminar): Métodos para


gestionar propietarios, edificios y departamentos, como registrarPropietario,
consultarEdificio, y modificarDepartamento.

Estos métodos mejoran la modularidad y la reutilización del código.

pág. 13
Imágenes de referencia

Estas imágenes están extraídas del código

pág. 14
pág. 15
pág. 16
Conclusión

La implementación de este proyecto no solo satisface los requerimientos operativos y


administrativos del Centro Metropolitano "Los Clarines", sino que también refleja un
alto nivel de dominio en conceptos avanzados de programación. Los módulos
desarrollados garantizan una administración eficiente y ordenada del condominio,
desde la gestión de datos básicos hasta la automatización de procesos complejos
como la generación de fichas de cobro y la priorización de pagos. Esta solución
integral, además de cumplir con los objetivos planteados, se presenta como una
herramienta adaptable y escalable para futuras mejoras y expansiones,
consolidándose como un modelo de excelencia en la gestión de condominios.

pág. 17

También podría gustarte