Sistema de parking interactivo
Integrantes:
Ernesto Gamero General
Matías Pérez Nieto
Javier Ramírez Álvarez
Sebastián Sobarzo León
Profesor:
Agustín González Valenzuela
Esta página es la presentación de un proyecto de la asignatura
Diseño y programación orientados a objetos (siglas ELO329) de la Universidad
Técnica Federico Santa María. Este proyecto es una aplicación que permite llevar
un registro digital de entrada y salida de vehículos a un estacionamiento, información
sobre espacios ocupados y disponibles, cargos relacionados a la estadía de cada
vehículo en este y un reporte generado con información actualizada respecto a
cantidad de vehículos, ocupación de espacios e ingresos totales recaudados.
Descripción y análisis del problema
Los estacionamientos de muchos centros comerciales muchas
veces hacen un registro manual de los autos que llegan, sin control sobre los estacionamientos
disponibles y las tarifas a aplicar, causando frustración al no encontrar
estacionamientos por parte de usuarios, pérdida tiempo y alta posibilidad de cometer
errores en el registro, por lo que se busca automatizar el registro y cálculo
de tarifas y tener un control actualizado de espacios.
Como equipo se propone de solución un sistema de parking con
el objetivo de automatizar la administración de estacionamientos de tamaño
mediano o pequeño, a través de una aplicación de escritorio con interfaz
gráfica en código java. Esta aplicación permite a los administradores:
·
Registrar de forma rápida la entrada y salida
de vehículos.
·
Cálculo automatizado de tiempo de permanencia
de un vehículo.
·
Cálculo automatizado de la tarifa de los autos
con respecto al tiempo de permanencia.
·
Visualización
en tiempo real de la ocupación del estacionamiento y de los espacios
individuales.
·
Obtener un reporte básico relacionado al uso
del estacionamiento y recaudación obtenida y posibles deudas pendientes de
vehículos.
De esta manera se logra una solución de interfaz simple y
funcional, fácil de usar para personas con poco conocimiento tecnológico, que
reduce la carga manual y disminuye la posibilidad de cometer errores de cargos
debido a errores humanos, mejorando la precisión en los cobros y optimización
de la búsqueda de estacionamientos para usuarios y para administradores,
ofreciendo cortos periodos de espera para ingresar al estacionamiento y
ubicarse en un espacio debido a que los usuarios se dirigen de manera rápida y
directa a un espacio disponible gracias a la información previa.
Requerimientos
Se plantean 4 casos de uso para esta aplicación.
Primer Caso de Uso:
Nombre: Ingresar Vehículo.
Precondición: Existir un vehículo de cierto y tipo y con
patente definida.
Actor(es): Administrador del estacionamiento / Sensores.
Flujo principal:
1)
El actor ingresa la información sobre el vehículo. |
|
|
2)
El sistema asigna los datos del vehículo y genera un
ticket. |
|
3)
El sistema solicita la información del lugar de
aparcamiento. |
4)
El actor ingresa la información sobre el espacio de
aparcamiento utilizado. |
|
|
5)
El sistema registra el espacio utilizado y lo marca como
ocupado por el vehículo correspondiente. |
Flujo alternativo:
1)
El actor ingresa información errónea. |
|
|
2)
El sistema informa por pantalla que la información no es
válida y debe ser ingresada nuevamente. |
Segundo Caso de Uso:
Nombre: Calcular tarifa.
Actor: Dueño de vehículo.
Precondición: Tener un vehículo aparcado.
Flujo principal:
1) El
actor presiona el botón para solicitar la tarifa ingresando la patente del
vehículo. |
|
|
2) El
sistema recibe la información y busca el ticket correspondiente al vehículo. |
|
3) El
sistema calcula la tarifa acumulada para el vehículo correspondiente a la
patente y la despliega por pantalla. |
Flujo alternativo:
1) El
actor presiona el botón sin ingresar una patente válida. |
|
|
2) El
sistema despliega por pantalla que no se ingresó una patente registrada. |
Tercer Caso de Uso:
Nombre: Abrir barrera
Actor: Dueño del vehículo
Precondición: Tener un vehículo aparcado.
Flujo principal:
1) El dueño ingresa la patente y
presiona el botón de abrir barrera. |
|
|
2) El sistema registra el pago y libera
el espacio correspondiente al vehículo. |
|
3) El sistema abre la barrera. |
Cuarto Caso de Uso:
Nombre: Generar reporte.
Actor: Administrador del estacionamiento.
Flujo principal:
1)
El administrador presiona el botón de generar reporte. |
|
|
2)
El sistema genera el archivo reporte.txt |
|
3)
El sistema escribe en el archivo la cantidad de autos
registrados por tipo desde la ejecución del programa, la capacidad de
ocupación en porcentaje y el total recaudado. |
Diseño
A continuación, se presenta el diagrama UML de clases y el
diagrama de secuencia del sistema para las diferentes situaciones:
Diagrama UML de clases
Diagrama de secuencia de Caso de uso 1
Resultados:
El programa al ejecutarse despliega una ventana principal
la cual muestra todos los espacios del estacionamiento en verde, ya que
inicialmente se encuentras disponibles y una serie de elementos con los que el
usuario puede interactuar.
Entre ellos, la caja de elementos de tipo puede seleccionar
entre cuatro tipos los cuales se despliegan en la siguiente imagen.
Para ingresar un vehículo se debe escribir la patente correspondiente y seleccionar su tipo, luego de esto presionar el botón ingresar.
Al presionar el botón se despliega una ventana para escoger el espacio al cual se estaciona el vehículo, en la cual solo se podrán seleccionar espacios disponibles.
Al terminar el proceso de agregar el vehículo, el espacio al que ingresó el vehículo queda marcado en rojo, lo cual representa que dicho espacio esta utilizado.
Al escribir la patente del auto en el campo de texto de Buscar/Retirar patente y presionar el botón calcular pago, se actualiza el mensaje en la zona inferior de la ventana el cual muestra el monto a pagar de dicho vehículo. Este monto aumentará por cada minuto que el vehículo esté estacionado.
Al presionar el botón de abrir barrera se actualiza el mensaje en la zona inferior de la ventana y se registra el pago, a su vez se libera el espacio de estacionamiento.
Por último, al presionar el botón de generar reporte, este genera un archivo llamado reporte.txt el cual contiene la cantidad total de autos por tipos que ingresaron en el día, la ocupación actual en porcentaje y el monto total recaudado hasta el momento.
Enlace al repositorio de proyecto y archivos: