Base de Datos para Parking
Base de Datos para Parking
Base de Datos para Parking
TRABAJO FINAL
ESPECIALIZACIÓN EN PROYECTOS INFORMÁTICOS
Autores
Sandra Milena Roa Parra
Norma Constanza Losada Motta
William Roberto García Rincón
Director
Roberto Ferro
Bogotá 2016
Resumen
La asignación de los cupos de los parqueaderos al tener éstos el carácter de bienes privados o
comunes debe ceñirse o basarse en los reglamentos internos de la entidad propietaria, adicional a
la reglas contenidas en estos estatutos las entidades pueden tener reglas particulares asociadas a
cada empleado tales como carga laboral, reuniones programadas, tipo de contrato, entre otras, un
caso particular es el de una institución universitaria en donde los docentes pueden ser asignados
por horario de clases, jornadas de investigación, horario de oficina o cualquier otra directriz
administrativa.
Con base en las reglas establecidas para la asignación de cupos de parqueo, el presente proyecto
busca desarrollar un prototipo que permita a través de un dispositivo móvil a los usuarios,
administradores y guardas de seguridad hacer gestión del uso, programación y control
respectivamente de los cupos de los parqueaderos de la empresa propietaria de una forma fácil y
efectiva, el propósito es hacer uso de la aplicación en el momento que se requiera conocer la
disponibilidad de los espacios de parqueo, para los administradores del parqueadero hacer la
distribución inicial de espacios así como la programación o asignación de los mismos y
configurar los mensajes de alerta, para el guarda de seguridad tener el control del acceso y
registro de novedades resultantes de los recorridos de revisión que deban realizar.
Finalmente con los resultados de la prueba del prototipo se hace un análisis que permita formular
la propuesta de escalabilidad adicionando funcionalidades inherentes al proceso de gestión de
parqueaderos.
Based on the rules for the allocation of quotas parking, this project seeks to develop UN
prototype that allows for a Through Device UN Mobile users, Administrators and Security
Guards Make use management, programming and control respectively of quotas parking lots of
the owner of an easy and effective way, the purpose m is to make use of the application at the
time required to know the availability of parking spaces for Administrators parking Making
Distribution initial spaces as well as when programming or allocating them and Configure alert
messages, for the security guard have control access and novelties Registry resulting from Tours
Review to be conducted.
Finally with the results of prototype testing an analysis to formulate the proposal for adding
features inherent scalability Management Process is parking ago.
A Dios por bendecirnos con la oportunidad, mantenernos firmes y fuertes en ella y no decaer a
pesar de las adversidades que se presentaron durante la especialización y desarrollo del proyecto.
A los Docentes Roberto Ferro, Roberto Pava y John Jairo Londoño quienes estuvieron
involucrados en todo el proceso de desarrollo del presente proyecto de grado y que gracias a sus
indicaciones, consejos y constante apoyo logramos culminar esta etapa en el largo y complejo
camino en la búsqueda del conocimiento.
A nuestras familias cuyo apoyo emocional ha sido la principal fuente de motivación que hizo
visibles todos los caminos hacia los objetivos cuando creíamos que estos eran difíciles.
“No le pongas excusas a lo que no puedes terminar. Enfócate en todas aquellas razones por las
que debes hacer que suceda”. Ralph Marston
Tabla de contenido
Resumen ........................................................................................................................................................................ 2
Abstract.......................................................................................................................................................................... 3
INTRODUCCIÓN ....................................................................................................................................................... 10
PARTE I FUNDAMENTACIÓN DE LA INVESTIGACIÓN .................................................................................. 11
CAPITULO 1 DESCRIPCIÓN DE LA INVESTIGACIÓN ...................................................................................... 11
1.1 IDENTIFICACIÓN DEL PROBLEMA ......................................................................................................... 11
1.2 OBJETIVOS ................................................................................................................................................... 12
1.2.1 OBJETIVO GENERAL ............................................................................................................................. 12
1.2.2 OBJETIVOS ESPECÍFICOS ..................................................................................................................... 12
1.3 JUSTIFICACIÓN ........................................................................................................................................... 13
1.4 HIPÓTESIS .................................................................................................................................................... 13
1.5 MARCO REFERENCIAL ............................................................................................................................. 14
1.5.1 MARCO TEÓRICO ................................................................................................................................... 14
1.5.2 MARCO CONCEPTUAL .......................................................................................................................... 18
1.5.3 ASPECTOS LEGALES ............................................................................................................................. 19
1.6 METODOLOGÍA........................................................................................................................................... 20
1.6.1 LEVANTAMIENTO DE INFORMACION .............................................................................................. 20
1.6.2 DISEÑO ..................................................................................................................................................... 20
1.6.3 DESARROLLO DEL PROTOTIPO .......................................................................................................... 20
1.7 ORGANIZACIÓN DEL TRABAJO .............................................................................................................. 21
1.8 ESTADO DEL ARTE .................................................................................................................................... 23
CAPITULO 2 DESCRIPCIÓN DE LA INVESTIGACIÓN ...................................................................................... 27
CAPITULO 3 DESCRIPCIÓN SOLUCIÓN .............................................................................................................. 39
3.1 SITUACION ACTUAL DEL PARQUEADERO UNIVERSIDAD DISTRITAL – SEDE SABIO CALDAS
39
3.2 DESCRIPCION GENERAL DEL SISTEMA ................................................................................................ 42
CAPITULO 4 DEFINICIÓN DE ROLES, FUNCIONES Y REQUERIMIENTOS DE LOS USUARIOS DEL
SISTEMA. ................................................................................................................................................................... 51
CAPÍTULO 5 DISEÑO CASOS DE USO, MODELO ENTIDAD RELACIÓN Y DIAGRAMA DE SECUENCIA
..................................................................................................................................................................................... 55
5.1 CADENA LÓGICA DE NEGOCIO .......................................................................................................... 55
5.3 DIAGRAMA DE CASOS DE USO .......................................................................................................... 56
CAPITULO 6: DISEÑO PROTOTIPO MÓVIL ......................................................................................................... 81
PARTE III CIERRE DE LA INVESTIGACIÓN ....................................................................................................... 97
CAPÍTULO 7 RESULTADOS Y DISCUSIÓN ..................................................................................................... 97
CAPÍTULO 8 CONCLUSIONES ......................................................................................................................... 102
4.1 VERIFICACIÓN, CONTRASTE Y EVALUACIÓN DE LOS OBJETIVOS ........................................ 102
4.2 SÍNTESIS DEL MODELO PROPUESTO .............................................................................................. 103
CAPÍTULO 9 PROSPECTIVA DEL TRABAJO DE GRADO ............................................................................ 105
9.1 LÍNEAS DE INVESTIGACIÓN FUTURAS .......................................................................................... 105
9.2 TRABAJOS DE INVESTIGACIÓN FUTUROS .................................................................................... 113
BIBLIOGRAFÍA ....................................................................................................................................................... 115
ANEXOS ................................................................................................................................................................... 116
ANEXO 1 .................................................................................................................................................................. 116
ANEXO 2 .................................................................................................................................................................. 117
ANEXO 3 .................................................................................................................................................................. 117
ANEXO 4 .................................................................................................................................................................. 117
Tabla de Figuras
Con el proyecto planteado “Diseño de prototipo móvil para la programación y control del
parqueadero para la universidad Distrital Francisco José de Caldas Sede Sabio Caldas”, se
pretende aprovechar el uso de la tecnología y el Smartphone de los usuarios y desarrollar una
aplicación móvil orientada a facilitar la búsqueda de disponibilidad de los espacios dentro del
parqueadero; la cual ayudaría a identificar antes de su llegada si hay cupos disponibles,
optimizando además el servicio prestado en el lugar; evitando además temas como
incumplimiento de reuniones o eventos importantes, y pérdida de tiempo al llegar al parqueadero
y tener que dirigirse a otro lugar por no contar con disponibilidad de espacios.
Por lo anterior se propone diseñar y generar un prototipo para usuarios que permita conocer la
disponibilidad que existe de espacio y tiempo; permita a los administradores del parqueadero
controlar el ingreso y salida de vehículos y la gestión de los cupos de acuerdo a la asignación de
horario definida.
PARTE I FUNDAMENTACIÓN DE LA INVESTIGACIÓN
A pesar de que las TIC se convirtieron en una herramienta esencial para el desarrollo del País, y
que continuamente se está buscando que la tecnología haga parte de la vida y entorno de cada
Colombiano (MINTIC, 2015), existen aún muchos lugares, personas que están lejos de su uso.
Es el caso del área de parqueaderos, muchas empresas e instituciones importantes, ejercen su
control y gestión de manera manual.
El planteamiento del problema tomando como idea principal la gestión, disponibilidad y control
de cupos de parqueo con un prototipo como solución propuesta permite formular los siguientes
objetivos.
El objetivo es facilitar que los usuarios que participan en el proceso puedan conocer el estado
actual del parqueadero para tomar medidas en caso de no existir un cupo y que esto no genere
demoras en las actividades agendadas.
El sistema facilitara el ingreso y la salida del personal asegurando seguridad y control en cuanto
a evitar el acceso de personas no autorizadas, asegurara el buen uso y optimización de los
procesos del servicio de parqueadero, y brindara una gran experiencia a los usuarios en cuanto al
uso del parqueadero.
1.4 HIPÓTESIS
¿Es posible desarrollar para la Universidad Distrital sede Sabio Caldas, un prototipo de
aplicación móvil de un sistema de control que garantice que un parqueadero preste un buen
servicio y permita a los usuarios conocer disponibilidad y gestión del tiempo asignado?
1.5 MARCO REFERENCIAL
En este apartado se describirán los términos, conceptos, reglamentaciones más importantes y
necesarias para el desarrollo de este proyecto, que permitirán aclarar el tema de investigación y
son el apoyo para cumplir los objetivos propuestos.
Los sistemas de control de acceso son los mecanismos que permiten a través de una
identificación que debe estar previamente identificada acceder a datos o recursos. Se encuentran
diferentes tipos de sistemas de controles de acceso los cuales se pueden usar en diferentes
entornos. Por ejemplo, están los sistemas de control de acceso por software cuando se ingresa la
contraseña para acceder al correo, también cuando se debe colocar la huella en un lector para
encender el computador. Los casos mencionados anteriormente, son ejemplos que permiten el
acceso a los datos. Teniendo en cuenta el entorno de seguridad electrónica y recursos físicos este
concepto está relacionado con la apertura de una puerta, un torniquete, el ingreso a un
parqueadero. (Villegas, 2009)
Existen diferentes tipos de sistema de control de acceso, los cuales se listan a continuación:
Los sistemas de control de acceso vehicular son implantados para tener el control de los
vehículos que transitan por un espacio público o privado, asegurando de esta forma el ingreso a
un lugar solo de los vehículos permitidos y restringiendo a aquellos que no estén autorizados...
(Dointech, s.f.)
¿QUÉ SON?
Es bastante frecuente denominar a todas las tarjetas que poseen contactos dorados o plateados
sobre su superficie como "tarjetas inteligentes". Sin embargo, este término es bastante ambiguo y
conviene hacer una clasificación más correcta. La International Standard Organization (ISO)
prefiere usar el término "tarjeta de circuito integrado" (Integrated Circuit Card o ICC), para
referirse a todas aquellas tarjetas que posean algún dispositivo electrónico. Este circuito contiene
elementos para realizar transmisión, almacenamiento y procesamiento de datos. La transferencia
de datos puede llevarse a cabo a través de los contactos, que se encuentran en la superficie de la
tarjeta, o sin contactos por medio de campos electromagnéticos. Estas tarjetas presentan
bastantes ventajas en comparación con las de bandas magnéticas: son capaces de almacenar más
información; pueden proteger la información almacenada de posibles accesos no autorizados y
poseen una mayor resistencia al deterioro de la información almacenada. Dado que el acceso a la
información se realiza a través de un puerto serie y supervisado por el propio sistema operativo
de la tarjeta, es posible escribir datos confidenciales que no puedan ser leídos por personas no
autorizadas. En principio, las funciones de escritura, lectura y borrado de la memoria pueden ser
controladas tanto por el hardware como por el software, o por ambos a la vez. Esto permite una
gran variedad de mecanismos de seguridad. Al ser el chip integrado su componente más
importante, las tarjetas están clasificadas según el tipo de circuito. (Tarjetas Inteligentes)
COMPONENTES
Tarjeta Inteligente de Contacto: Estas tarjetas necesitan ser insertadas en una terminal
con lector inteligente para que, por medio de contactos, pueda ser leída. A su vez estas
pueden ser Sincrónicas y Asincrónicas.
Tarjetas Inteligentes sin Contacto: Son similares a las de contacto en usos y funciones
pero utilizan diferentes protocolos de transmisión en capa lógica y física, no utilizan
contacto galvánico sino de interface inductiva. Poseen además del chip, una antena de la
cual se valen para realizar transacciones. Son ideales para las transacciones que tienen
que ser realizadas muy rápidamente. (Tarjetas Inteligentes)
FUNCIONAMIENTO
Las tarjetas se activan al introducirlas en un lector de tarjetas que son el dispositivo que actúa
como la interface entre el usuario y el sistema, existe una gran diversidad de lectores y sus
capacidades varían de acuerdo a las necesidades de los usuarios. Los lectores pueden ser
alámbricos, inalámbricos, con teclados, sin teclado, con pantalla o sin ella. Un contacto metálico,
un campo magnético o incluso una lectura laser, permite la transferencia de información entre el
lector y la tarjeta.
Las comunicaciones de las tarjetas inteligentes se rigen por el estándar ISO 7816/3, la tasa de
transferencia de datos es de 9600 baudios en modo asincrónico. (Pupiales, 2009)
¿QUE SON?
Son una tecnología que inicio en los años 90s, son aquellos que detectan la radiación emitida por
los materiales calientes y la transforman en una señal eléctrica. Para una amplia gama de
aplicaciones se utilizan ópticas que reducen el campo visual con el agregado de un valor
predeterminado de temperatura de conmutación. El sensor infrarrojo requiere de una
comunicación lineal entre transmisor y receptor, lo que hace impredecible la línea de vista para
su efectiva transmisión por lo tanto siempre será uno a uno, dejando de lado las configuraciones
punto multipunto. La velocidad de transmisión de datos, un archivo de datos de
aproximadamente unos 4Mb, puede tardar de 15 a 20 minutos pasándola por infrarrojo, este se
comunica por medio de ondas de muy alta frecuencia (similar a las ondas de radio), como las
infrarrojas, pero tienen limitaciones, como el ángulo y distancia, tienen que estar muy cerca y
casi de frente para poder que transfiera datos.
SUS APLICACIONES
Arduino puede sentir el entorno mediante la recepción de entradas desde una variedad de
sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos.
El microcontrolador de la placa se programa usando el Arduino Programming Language (basado
en Wiring) y el Arduino Development Environment (basado en Processing). Los proyectos de
Arduino pueden ser autónomos o se pueden comunicar con software en ejecución en un
ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.) (Ingeniería MCI Ltda, s.f.).
Las placas se pueden ensamblar a mano o encargarlas pre ensambladas; el software se puede
descargar gratuitamente. Los diseños de referencia del hardware (archivos CAD) están
disponibles bajo licencia open-source, por lo que eres libre de adaptarlas a tus necesidades
(Ingeniería MCI Ltda, s.f.).
Arduino recibió una mención honoríca en la sección Digital Communities del Ars Electrónica
Prix en 2006 (Ingeniería MCI Ltda, s.f.).
1.5.1.6 PROTOTIPO
OBJETIVOS
Son un medio eficaz para aclarar los requisitos de los usuarios e identificar las
características de un sistema que deben cambiarse o añadirse
Mediante el prototipo se puede verificar la viabilidad del diseño de un sistema
CARACTERÍSTICAS
El sistema de control y programación de parqueaderos, permitirá que los usuarios conozcan antes
de llegar al lugar de aparcamiento si hay disponibilidad o no de lugares según su parametrización
(Su horario asignado, tipo de vehículo), a través de una interfaz con la visualización de los
espacios por sótano en la aplicación móvil. En segundo lugar ayudara a la administración del
parqueadero, mediante la parametrización de la distribución física de este, y el control de
novedades a través de alertas generadas en la aplicación móvil, para conseguir un buen uso del
lugar.
La gestión de la Base de datos permitirá registrar la información de los usuarios del parqueadero,
teniendo acceso a los datos relevantes que apoyaran los procesos de ingreso, control y
administración del parqueadero. Los datos registrados son: Cedula, Nombres, apellidos, tipo
usuario, tipo de vehículo, marca, placa, celular, email. Este registro es diseñado en el motor de
Base de datos Oracle 11g, que permitirá almacenar la información necesaria para ejecutar los
procesos del sistema.
El uso de sensores infrarrojos y micro controladores arduino en los espacios del parqueadero
facilita la visualización de disponibilidad en la aplicación móvil, que tendrá a través de un
WebServices la información de si está o no ocupado el lugar. A través de las interfaces para cada
rol (Usuario, Administrador del Sistema y Controlador Físico) se pueden gestionar las
notificaciones que le llegaran a cada usuario para conseguir un uso óptimo del lugar en tiempo
real.
Los parqueaderos de la universidad al estar ubicados en la ciudad de bogota y como entidad del
distrito adoptan una serie de normas dispuestas por la alcaldía mayor entre las que podemos
encontrar el Decreto 321 del 29 de mayo de 1992 (BOGOTA, 1992) “por el cual se dictan
normas generales para los Estacionamientos de servicio al público, tal como lo establece el
literal B del Artículo 460 del Acuerdo 6 de 1990.” en su SUBCAPÍTULO II “Condiciones
urbano - arquitectónicas y técnicas de los estacionamientos” se definen las dimensiones mínimas
de uso institucional, los estacionamientos para minusválidos, zonas de maniobra, las condiciones
de pavimento o asfaltado del piso, ancho mínimo de los garajes y condiciones especiales en el
uso de estos, altura mínima, entre otros.
El Ministerio de Transporte a través de su Decreto número 1660 del 16 de junio 2003 “Por el
cual se reglamenta la accesibilidad a los modos de transporte de la población en general y en
especial de las personas con discapacidad” establece la demarcación y sitios especiales de zonas
de parqueo en las que se rige por los estándares nacionales dispuestos para tal fin como la norma
NTC 4139 de simbología y la norma NTC 4904 de accesibilidad al medio.
1.6 METODOLOGÍA
A continuación se describen cada una de las técnicas metodológicas que se utilizaran para el
desarrollo de este proyecto.
1.6.2 DISEÑO
PARTE I
1. CAPITULO 1
Presenta la fundamentación de la investigación, se describe la problemática detectada en el
parqueadero de la Universidad Distrital Francisco José de Caldas – sede Sabio Caldas
PARTE II
2. CAPITULO 2
Se definen más a fondo cada uno de los componentes que se aplican al desarrollo del
proyecto.
3. CAPITULO 3
En esta capitulo se describe la solución propuesta, junto con cada uno de sus componentes.
4. CAPITULO 4
En este capítulo se muestra el desarrollo del primer objetivo específico, el cual comprende la
definición de los roles y sus funciones; y la definición de los requerimientos de los usuarios
del sistema.
5. CAPITULO 5
En este capítulo se muestra el desarrollo del segundo objetivo específico, el cual comprende
los diagramas y definiciones de los casos de uso, el diseño del modelo de base de datos y el
modelo de secuencia.
6. CAPITULO 6
En este capítulo se muestra el desarrollo del segundo objetivo específico, el cual comprende el
desarrollo del diseño del prototipo de software que permitirá validar la disponibilidad.
PARTE III
7. CAPITULO 7
En este capítulo se encuentran los resultados del desarrollo del proyecto.
8. CAPITULO 8
Este capítulo comprende las conclusiones del proyecto desarrollado; donde se expone la
verificación, contraste y evaluación de los objetivos, síntesis del modelo propuesto, aportes
originales y trabajos o publicaciones derivadas.
9. CAPITULO 9
En este capítulo se exponen líneas de investigación futuras o trabajos que se puedan llegar
hacer para complementar o alimentar la solución de esta propuesta.
1.8 ESTADO DEL ARTE
En este proyecto desarrollado por Francisco Luna para la Universidad Nacional Autónoma de
México se expone la problemática de encontrar de manera rápida un lugar donde estacionar un
vehículo en la ciudad. El motivo para la realización del sistema para la administración de un
estacionamiento público se basa en la falta de organización para la asignación de un espacio; la
forma de vida es más rápida en la ciudad de manera subsecuente la necesidad de conseguir un
lugar seguro y rápido para que el conductor pueda realizar sus posteriores actividades aumenta
(LUZ, 2013).
Para el modelado del sistema se generan los diagramas de casos de uso, modelo de datos, entidad
relación, clases y un diccionario de datos; se implementa una base de datos PostgreSQL 8.2.4 en
Windows donde se crean las tablas siguiendo un modelo relacional que permitan almacenar la
información con un mínimo de redundancia, pero que a la vez faciliten la recuperación de la
información; y posterior a esto para el diseño de a interfaz se trabaja con una estructura
jerárquica previamente definida, se trabaja con proveedor de datos Npgsq permite una
implementación de código abierto de un proveedor de datos .NET para C# y proporciona una
interfaz directa con el protocolo de red que utiliza PostgreSQL. Permite el acceso a bases de
datos PostgreSQL, tanto local como a través de la red. Puede soportar todo tipo de proyectos,
desde consola hasta Windows Forms.
La interfaz del sistema se desarrolló en Visual C#, para operar en ambiente Windows, funciona
por medio de una serie de ventanas, menús y submenús que facilita la operación del mismo;
cuenta con una ventana Login de Usuario, que posterior a la validación de datos despliega el
menú principal que cuenta con varias ventanas con las que se realizan distintas funciones en los
sistemas, como registro de vehículos al accesar al estacionamiento, la administración de clientes,
la administración de empleados, entre otros.
En este proyecto se evidencia que el control está determinado solo para los administradores del
parqueadero y el control de reportes y cifras; pero el usuario o cliente de estos establecimientos
no cuentan con una opción adicional que les permita conocer desde fuera del lugar la
disponibilidad.
1.8.2. A DECISIÓN SUPPORT SYSTEM FOR PARKING SPACE ASSIGNMENT
Este trabajo describe un sistema de soporte de decisiones basado en red de una forma generar
para la asignación de plazas o lugares de parqueo, un sistema de optimización integrado
generado bajo un modelo de optimización y que genera reportes, el problema se modela como
una red de asignación que reduce al mínimo los valores de preferencia que se encuentran en
función de la distancia, costo y prioridad, la metodología que se presenta puede ser aplicada a
una variedad de situaciones de asignación donde hay objetivos contrapuestos. Dado que el
enfoque se basa en un algoritmo de red, es capaz de resolver sistemas muy grandes de manera
eficiente, el escenario de prueba corresponde a un conjunto de apartamentos llamados Dunhill en
Bloomington, Indiana, Estados Unidos. El sistema puede ser utilizado en escala para varios
edificios y lotes de parqueo (VENKATARAMANAN & BORNSTEIN, 1991).
Figura 3 Sistema de soporte de decisiones para la asignación de parqueaderos. Tomado de (VENKATARAMANAN &
BORNSTEIN, 1991)
El problema aquí definido consiste en considerar un estacionamiento que posee varios lugares de
parqueo tal como se muestra en la figura X, cada lugar equipado con un medidor de carga que
los clientes pueden conectar a sus PHEV, además, los consumidores pueden introducir
información tal como fecha límite de salida, cantidad deseada de carga y la velocidad de carga
preferida.
Figura 4 Arquitectura del sistema de carga de PHEV. Tomado de (Huang, Gupta, & Huang, 2012)
Para satisfacer la demanda de los clientes, el número de los PHEV que pierden su fecha
límite de carga (es decir, no son totalmente cargados al nivel solicitado por el cliente
hasta la fecha límite de salida respectiva) debe ser minimizado.
Desde la llegada del PHEV ya es un proceso estocástico, existe un claro compromiso entre las
dos métricas de rendimiento. Un problema relevante de optimización para diseñar el controlador
por lo tanto puede ser la de reducir al mínimo la probabilidad de que un vehículo le falte carga
sujeta a una restricción en la carga pico. En consecuencia, se plantea este problema
matemáticamente y, a se ofrece un análisis de los controladores para resolver este problema. Por
simplicidad, se supone que al menos un PHEV está completamente cargado hasta su plazo, se
cuenta como un plazo incumplido.
Este trabajo a diferencia del mencionado en el apartado anterior (1.8.2) involucra un mayor
grado de incertidumbre en sus variables asociadas, el tratamiento del modelo matemático y del
diseño del sistema es diferente, aquí se busca compararnos con otros sistemas analizados y
diseñados con el fin de encontrar la mejor solución en diseño e implementación para la
programación y control de sitios de parqueo tomando como escenario inicial el parqueadero de
la universidad distrital “Francisco José de Caldas”.
PARTE II FUNDAMENTACIÓN DE LA INVESTIGACIÓN
En este capítulo se desglosan a más alto nivel cada uno de los conceptos necesarios para definir y
diseñar la solución al problema planteado en la parte I.
Para los autores en (OCDE, 2015), NFC (siglas de Near Field Communication) consiste en:
Es una tecnología bidireccional diseñada con fines de interacción, para realizar pagos o entrar a un edificio. Su
funcionamiento requiere que dos dispositivos con NFC se encuentren muy cerca uno del otro. Se integra
con tarjetas magnéticas de acceso a edificios o al transporte público. Se está extendiendo a los pagos sin
contacto, y cada vez más bancos introducen tarjetas de crédito y débito con NFC
Las características básicas del sistema NFC según los autores en (INTECO, 2004) son las
siguientes:
Comunicación inalámbrica por proximidad: Este tipo de comunicación, similar al de otras tecnologías como
tarjetas de inteligentes, se realiza usando inducción electromagnética. Los dispositivos compatibles con NFC
deben contar con una pequeña antena en espiral que genera un campo electromagnético de radiofrecuencia.
Cuando un dispositivo entra en el campo electromagnético de otro, puede establecerse la comunicación. El
alcance del campo electromagnético para la tecnología NFC es muy pequeño, pudiendo ser en teoría de entre
10 y 20 centímetros pero aplicándose en la práctica una distancia de 4 centímetros o inferior. Esto provoca que
los dispositivos necesiten casi entrar en contacto físico para poder comunicarse.
Pequeñas transacciones de datos: Los dispositivos NFC se pueden comunicar con cuatro velocidades de
comunicación de datos: 106, 212, 424 o 848 Kbit/s, aunque esta última no está reflejada en ISO/IEC 18092.
Esta limitación se debe a que la tecnología NFC no está orientada a la transmisión masiva de datos, sino a
pequeñas comunicaciones entre dispositivos. Sólo se permiten velocidades mayores, del orden de 6,78 Mbit/s,
en la comunicación entre dos dispositivos orientada al intercambio masivo de datos.
Operaciones en la frecuencia ISM: En las transmisiones de dispositivos NFC se utiliza la banda de frecuencia
alojada en los 13,56 Mhz, tradicionalmente asignada a las etiquetas RFID en modo pasivo (como etiquetas de
identificación de productos farmacéuticos, documentos de identidad, etc.). Esta frecuencia pertenece al
conjunto de bandas de radio ISM, que son utilizadas generalmente con fines industriales, científicos y médicos
(de ahí su nombre ISM, Industrial, Scientific and Medical). Para el uso de estas bandas no es necesaria una
licencia, pero se debe garantizar que no se produzcan interferencias entre los dispositivos. Esto representa una
ventaja para la implantación y uso de NFC, ya que el canal de trasmisión es libre y no tiene un coste de uso
asociado. Otros sistemas que también utilizan estas bandas de frecuencia son, por ejemplo, Bluetooth y Wi-Fi.
Modo peer-to-peer
La modalidad peer-to-peer permite a dos dispositivos NFC comunicarse entre ellos para intercambiar información y
compartir ficheros. Los usuarios de dispositivos NFC pueden compartir información y otros ficheros
fácilmente, con un simple toque o aproximación. Dos dispositivos NFC crean una conexión para
intercambiar información de forma activa. Cuando se intercambian información, ésta se envía por un canal
de comunicaciones bidireccional half-duplex (cuando un dispositivo transmite, el otro debe escuchar, y
puede iniciar una transmisión sólo cuando el primero ha terminado). La velocidad máxima de transmisión
de datos es 424 kbps. La arquitectura de esta modalidad está resumida en el siguiente esquema (Vilanoveta,
2015):
Las etiquetas NFC son pequeños dispositivos NFC pasivos que pueden contener fragmentos de información.
Básicamente se trata de pequeñas espirales de metal a las que se les añaden componentes de memoria y
comunicación. Su diseño completamente plano las hace ideales para presentarse en formatos como
pegatinas, tarjetas de visita, llaveros e incluso pulseras. Su funcionamiento es parecido al de los códigos de
barras y de los códigos QR, sin la necesidad del reconocimiento óptico del código. Así, un dispositivo NFC
activo (incorporado en un teléfono inteligente, por ejemplo) actúa como lector. Al acercarlo a una etiqueta
NFC, el campo de radiofrecuencia que el lector aplica sobre la etiqueta la activa y hace que le transmita los
datos que almacena en su interior. Estos datos dependerán, entre otros factores, del tipo de etiqueta NFC, ya
que existen varias clases en función de su memoria, su tasa de transferencia de datos y los modos de
interacción (INTECO, 2004).
Una placa hardware libre que incorpora un microcontrolador reprogramable y una serie de pines-hembra
(los cuales están unidos internamente a los pines de E/S del microcontrolador) que permiten conectar allí
de forma muy sencilla y cómoda diferentes sensores y actuadores.
Cuando se habla de “placa hardware” nos estamos refiriendo en concreto a una PCB (del inglés “printed circuit
board”, o sea, placa de circuito impreso). Las PCBs son superficies fabricadas de un material no conductor
(normalmente resinas de fibra de vidrio reforzada, cerámica o plástica) sobre las cuales aparecen laminadas
(“pegadas”) pistas de material conductor (generalmente cobre). Las PCBs se utiliza para conectar
eléctricamente, a través de los caminos conductores, diferentes componentes electrónicos soldados a ella.
Una PCB es la forma más compacta y estable de construir un circuito electrónico (en contraposición a una
breadboard, perfboard o similar) pero, al contrario que estas, una vez fabricada, su diseño es bastante
difícil de modificar. Así pues, la placa Arduino no es más que una PCB que implementa un determinado
diseño de circuitería interna.
Un software (más en concreto, un “entorno de desarrollo”) gratis, libre y multiplataforma (ya que funciona
en Linux, MacOS y Windows) que se debe instalar en el ordenador y que permite escribir, verificar y
guardar (“cargar”) en la memoria del microcontrolador de la placa Arduino el conjunto de instrucciones
que se desea que este empiece a ejecutar. Es decir: permite programarlo. La manera estándar de conectar
un computador con la placa Arduino para poder enviarle y grabarle dichas instrucciones es mediante un
simple cable USB, gracias a que la mayoría de placas Arduino incorporan un conector de este tipo.
Arduino se considera Software libre porque se publica con una combinación de la licencia GPL (para el entorno
visual de programación propiamente dicho) y la licencia LGPL (para los códigos fuente de gestión y
control del microcontrolador a nivel más interno) y Hardware libre porque sus ficheros esquemáticos están
disponibles para descargar de la página web del proyecto con la licencia Creative Commons Attribution
Share-Alike (http://es.creativecommons.org/licencia), la cual es una licencia libre que permite realizar
trabajos derivados tanto personales como comerciales (siempre que estos den crédito a Arduino y
publiquen sus diseños bajo la misma licencia).
La elección de Arduino para el elemento de diseño del sistema de sensores con luz infrarroja
obedece a sus ventajas integradas en cuanto a Hardware y Software entre las que podemos
mencionar que Arduino es libre y extensible, es decir, que cualquiera que desee ampliar y
mejorar tanto el diseño hardware de las placas como el entorno de desarrollo software y el propio
lenguaje de programación, puede hacerlo sin problemas. Arduino tiene una gran comunidad,
muchas personas lo utilizan, enriquecen la documentación y comparten continuamente sus ideas,
su entorno de programación es multiplataforma, Su entorno y el lenguaje de programación son
simples y claros, son económicas, reutilizables y versátiles (Torrente Artero, 2013)
Para efectos del presente estudio se propone utilizar sensores de presencia con luz infrarroja, en
donde se detecta la existencia o no de un obstáculo (automóvil, moto, bicicleta) en un rango de
distancia, por lo cual en el mercado existe gran variedad de dispositivos siendo los de luz
infrarroja los que mejor se adaptan a las condiciones de los subsótanos que componen el
parqueadero de la universidad, Funcionan emitiendo un haz infrarrojo y comprobando si le llega
rebotado. Si es así, el sensor generará una señal LOW (que podrá ser leída por una placa Arduino
conectada a él convenientemente) y si no se detecta ningún objeto, el sensor generará una señal
HIGH. Cuanta más distancia tenga el obstáculo, menos voltaje de salida obtendremos del sensor,
por mencionar lagunas referencias en el mercado se encuentra la gama de sensores IS471F,
QRD114, QRE1113 o los PIR que involucran sensores piroeléctricos de infrarrojos, el principio
consiste en que las personas o vehículos emiten radiación infrarroja, así, en cuanto más caliente
se encuentra un objeto más radiación de este tipo es emitida (Torrente Artero, 2013)
La información emitida por el sensor será almacenada en la base de datos del sistema que a su
vez es tomada como información de restricción para el modelo de asignación.
2.3 WEBSERVICES
Los autores (Ribas Lequerica, 2003) y (Baltopoulos, 2005) explican los servicios web de la
siguiente manera:
Los Web Services surgen como una solución a problemas de comunicación entre un grupo de
sistemas de información cada vez más variados y dispersos en cuanto a su ubicación geográfica,
permitiendo estos una rápida adaptación a los cambios de estrategias empresariales, debido a su
fácil integración e independencia de la plataforma y/ o entorno que lo contiene. Con la evolución
de internet el panorama de implementación de esta tecnología crece exponencialmente así como
el desarrollo modular que ofrece la programación orientada a objetos, mediante la utilización de
estos objetos, es posible abstraer la lógica que se encierra en ellos para ser tratados como código
independiente capaz de realizar tareas específicas y pudiendo ser llamados desde cualquier parte
del programa, permitiendo su reutilización y un fácil mantenimiento y reutilización (Ribas
Lequerica, 2003).
Una definición concreta diría que un Web Service es una interfaz, accesible por protocolos
(estándar o no) usado en internet o en un canal de comunicaciones que permite acceder a las
funcionalidades de un objeto concreto, sin importar las tecnologías ni plataformas implicadas en
la petición. Un Web Service es una parte lógica de negocio, capaz de procesar y accesible desde
cualquier lugar, por cualquier persona al que se la haya otorgado los permisos suficientes y
necesarios, a través de cualquier medio, siendo más explícitos un Web Service es una interface
hacia una aplicación o proceso accesible vía red de datos mediante cualquier tipo de tecnología
orientada a internet (Ribas Lequerica, 2003).
El Web Service se pone entre el usuario y el código usado, se encargará de abstraer las
especificaciones técnicas del programa que atenderá la petición para que cualquier lenguaje de
programación que tenga soporte web Service tenga acceso a nuestro programa. Esta abstracción
nos permite usar los web Services en transacciones Bussiness to Bussiness, Peer to Peer,
pudiendo ser, por ejemplo, el elemento cliente una persona, otro Web Service o un programa, se
podría decir, haciendo una analogía, que los Web Services son para el software como el Plug &
Play para el hardware (Ribas Lequerica, 2003).
Canal de
Proceso
•Persona comunicaciones •XML
•Web Service •Internet •SOAP •Insert
•Programa •Red de datos •WSDL •Execute
•UDDI •Update
En los Web Services los beneficios están dados entre otros por la independencia de la existencia
de cada servicio con los demás que componen la aplicación los cuales pueden ser modificados
sin afectar áreas no relacionadas, la facilidad de integración, los datos del sistema son aislados
mediante la creación de “silos” para los cuales el Web Service actúa como una unión entre ellos
permitiendo la fácil comunicación entre y a través de las organizaciones, la reutilización de
servicios, existen funciones específicas que son utilizadas una y otra vez por las aplicaciones del
sistema. El más simple sistema de Web Service tiene dos participantes: un productor de servicios
(proveedor) y un consumidor de servicios (solicitante) en dónde el proveedor presenta la interfaz
y la aplicación del servicio y el solicitante utiliza el Web Service (Baltopoulos, 2005).
Un sistema más sofisticado contiene: un registro que actúa como un corredor de Web Services,
un proveedor quien publica servicios para el registro y un consumidor que consulta los servicios
en el registro (Baltopoulos, 2005).
Registro
Solicitante Proveedor
Figura 9 Representación de un sistema más sofisticado de Web Service. Modificado de (Ribas Lequerica, 2003)
En lo que refiere a la topología de los Web Services, sabemos que su entorno es gestionado por
mensajes, por lo que se darán constantes acciones de envío y recibo de estos mensajes. En una
acción de petición (respuesta de un Web Service), pueden intervenir desde una sola máquina
hasta N máquinas que existan conectadas en la red, toda vez que el Web Service no tiene por qué
ser invocado directamente, esto puede ser en cascada, máquina a máquina, hasta que el servicio
sea activado y así su camino de respuesta, camino que puede ser configurado de tal manera que
siga una línea de retorno específica, de esta manera, se puede hablar entonces del tipo de
máquina que afecta el funcionamiento del Web Service, siendo estos: la que realiza la búsqueda
y petición del Web Service, la que responde a la búsqueda y la que responde al servicio
cumpliéndose la representación o arquitectura de la Figura 9. (Ribas Lequerica, 2003)
Ahora bien, para que el proceso del Web Service se cumpla a cabalidad se requiere mantener una
coherencia entre los datos recibidos y los datos emitidos teniendo en cuenta que estos pueden ser
de sistemas diferentes, entonces, se deben seguir unas normas tanto para codificación como
transporte. Todos los intercambios de mensajes se realizan de tal manera que sean compatibles
para todos los sistemas, mediante mensajes de tipo texto, para hacer la petición a un Web Service
se utiliza un mensaje y la respuesta se dará de la misma forma, es decir, mediante otro mensaje,
dadas estas condiciones se puede tratar la interface de comunicaciones como un entorno de
trabajo orientado a mensajes sin importar la localización física del destinatario, tampoco la
tecnología usada en el elemento que responda a la petición (Ribas Lequerica, 2003).
Debe existir un lenguaje o estándar que cumpla o garantice las políticas mencionadas, es aquí
donde le damos la bienvenida al lenguaje extensible de etiquetas o XML (extensible Markup
Language) el cual no es solamente de vital importancia para los Web Services sino que ha sido
implementado como estándar en muchas aplicaciones por ser de fácil interpretación e integrable,
este lenguaje de marcas (o etiquetas) basado en texto plano (sin formato), esto es, el significado o
interpretación de cada parte del documento depende de la posición que ocupan sus etiquetas. En
cuanto a los protocolos de red utilizados, no existe una limitación física que prohíba usar alguno
de ellos debe estar claro que cliente y servicio deben utilizar el mismo protocolo para el paso de
mensajería para evitar la respuesta nula a las peticiones. En el momento de construir los
mensajes a emitirse se debe tener en cuenta el método de codificación de los datos, con la
naturaleza de tipo texto del mensaje y además que no todos los datos aplicados son de este tipo,
es así como de alguna manera debe controlarse la transformación entre el dato del mensaje a
transmitir o recibir y el código de la aplicación que lo gestione, para esto existe SOAP (Simple
Object Access Protocol) que actúa como una especie de plantilla para generar los mensajes entre
cliente y Web Service, para codificar las peticiones y las respuestas, además marcará el modo en
el que cliente y servicio se hablarán (Ribas Lequerica, 2003).
En los Web Services los lenguajes o protocolos que son usados principalmente son (Ribas
Lequerica, 2003):
2.4 ARQUITECTURA
La Capa de Presentación ofrece una interfaz de aplicación móvil para el acceso a los usuarios
finales. Brinda al usuario la posibilidad de acceder a la funcionalidad implementada por el
prototipo utilizando un Smartphone, Tablet o dispositivo móvil. Con esta interfaz, el usuario
puede ingresar desde cualquier dispositivo móvil a través de Internet, a cada una de las opciones
asociadas al rol desempeñado dentro del prototipo, sea este usuario del parqueadero,
administrador o controlador físico.
Entre las ventajas de esta arquitectura, se puede mencionar que el desarrollo se puede llevar a
cabo por niveles, ante la eventualidad de un cambio sólo se involucra al nivel requerido sin tener
que hacer revisiones entre código. Cada nivel puede estar en un servidor diferente y ser
intervenido por equipos de trabajo independientes, siempre y cuando se mantenga las interfaces
y/o condiciones definidas.
CAPA DE NEGOCIO
CAPA DE DATOS
Webservices
La Figura 10 muestra la funcionalidad de cada capa y la comunicación que existe entre ellas
teniendo en cuenta que las capas superiores utilizan los servicios de las capas inferiores y en
donde los usuarios finales del prototipo acceden únicamente a la capa de presentación, mediante
las interfaces creadas para el acceso, consulta, gestión y administración del prototipo.
Una forma que ha tenido buen recibimiento dentro del diseño de aplicaciones distribuidas es
dividirla en componentes que ofrezcan servicios de presentación, reglas de negocio y de datos.
En el prototipo, los componentes que realizan tipos de funciones similares se pueden agrupar en
capas, que en varios casos están organizados en forma de pila para que los componentes que se
encuentran en un nivel superior de una capa determinada utilicen los servicios proporcionados
por ésta, y un componente especifico utilizará la funcionalidad proporcionada por otros
componentes de su propia capa y otras capas en un nivel inferior para ejecutarse.
En la Figura 11 observamos el modelo lógico del prototipo, en general, los componentes
generales de cada capa, la interacción entre estas y los actores involucrados con el sistema.
Usuarios
Controlador Físico
Administrador
Usuario
CAPA DE PRESENTACIÓN
Componentes de
Interfaz de Usuario Web Componentes de Proceso
CAPA DE NEGOCIO
Funcionalidad
Componentes de Negocio
Lógica de consulta
Lógica de gestión
CAPA DE DATOS
BD
parqueadero
Para entender la arquitectura física, se debe analizar dos segmentos de este ítem, entonces, se
presenta a continuación la Infraestructura Física y el Diagrama de Despliegue del Prototipo.
2.4.2.1 Infraestructura o modelo físico
En el interior de cada una de las capas que conforman la arquitectura del Prototipo existe un
conjunto de componentes de software que se especializa en desarrollar ciertas actividades para
cada nivel compartiendo de esta manera las responsabilidades entre ellos cumpliendo con una
labor específica, es decir, en el diagrama de componentes se representa la estructura física del
código. A continuación se muestra el diagrama de componentes propuesto para el prototipo
COMPONENTES
[parámetros]
COMPONENTES DE PROCESO
COMPONENTES EMPRESARIALES
COMPONENTES LÓGICOS
AGENTES DE SERVICIOS
DE ACCESO A DATOS
Agentes de servicios: El Prototipo podrá hacer uso de servicios externos como los de
seguridad y uso de recursos de apoyo como las librerías predefinidas según el lenguaje de
programación a utilizar; por tal motivo existirán componentes que permiten administrar
la comunicación a dichos servicios.
Orígenes de Datos: corresponde a la base de datos con sus respectivas tablas creadas
para el prototipo atendiendo una cadena lógica de negocio predefinida.
CAPITULO 3 DESCRIPCIÓN SOLUCIÓN
En este capítulo se describirá la situación actual del objeto de estudio de este proyecto, junto con
el diseño del sistema, teniendo en cuenta las necesidades identificadas en la investigación
realizada y plasmadas en los requerimientos funcionales de los usuarios del sistema, y en los
diferentes diagramas.
El acceso al parqueadero se realiza a través de tarjetas de cartón que contienen los datos de cada
uno de los usuarios, una vez el celador permite su ingreso teniendo en cuenta el horario que tiene
cada uno, ingresan al parqueadero con sus vehículos y dejan la tarjeta la cual es ubicada en el
espacio de la caja que corresponde al espacio de parqueadero.
VEHICULO/MARCA/PLACA:
VALIDO HASTA: 31 – Diciembre - 2016
Moto Hyundai – CGN-65D
USUARIO: Estudiante
A continuación se pueden observar algunos de los espacios destinados para carros y motos,
dentro del parqueadero:
Figura 16 Espacios para motocicletas en el Parqueadero UD-Sede Calle 40
El parqueadero de la UD – Sede Sabio Caldas cuenta con 3 sótanos, pero se debe tener en cuenta
que los espacios de parqueadero del sótano 1 no están disponibles, ya que es de uso exclusivo de
los funcionarios de la Universidad.
Teniendo en cuenta esto, a continuación se muestra la distribución del parqueadero (Sótano 2 y
3).
Vehículo Cantidad Espacios Sótano
Motos 1 espacio de carro para 7 motos. 2
9 Espacios de carro para 68 3
motos.
Carros 48 2
41 3
Tabla 1 Distribución del Parqueadero
3.2 DESCRIPCION GENERAL DEL SISTEMA
Se van a tener diferentes módulos que tendrán las funcionalidades correspondientes según el rol
registrado en el sistema, en los cuales los usuarios podrán visualizar la disponibilidad de
parqueaderos, recibir mensajes de alerta, etc.
Para llevar a cabo el diseño y la simulación del sistema se utilizaron enfoques de la metodología
de ingeniería de software para recoger la información pertinente a los requerimientos y la
identificación de stakeholders, consiguiendo además plantear los casos de uso que describirán las
actividades y funciones que tendrá el sistema.
En la figura que se muestra a continuación se puede observar cómo sería la interacción del
sistema, con el usuario, con otras herramientas, con base de datos, para dar una idea global de
este proyecto.
El diseño del sistema propuesto está compuesto por un sistema de acceso con tarjetas inteligentes
las cuales permitirán el ingreso al parqueadero y contendrán la información de los usuarios, que
se almacenara en una base de datos. Esta será consultada por la aplicación móvil para informar
notificaciones y la disponibilidad de espacios de parqueadero a los usuarios obtenida a través del
webservices, que lleva la información enviada por el arduino permitiendo saber por medio del
sensor si el espacio está o no disponible.
Dentro del análisis y diseño del prototipo se considera el modus operandi para el acceso a los
sótanos, un sistema de control de acceso físico para los vehículos o motocicletas, una red
estructurada u organizada que se propone con el uso de tarjetas de identificación inteligentes,
lectores de estas tarjetas ubicadas en la entrada principal de los sótanos para el acceso de los
vehículos y un servidor con el sistema y base de datos de autenticación y validación de las
vigencias de las autorizaciones generadas a quienes requieran hacer uso del parqueadero de la
sede calle 40 de la Universidad distrital “Francisco José de Caldas”.
Se ha decidido el uso de las tarjetas inteligentes con base en el nivel de seguridad que ofrecen, la
administración del parqueadero debe emitir estas tarjetas a los usuarios interesados en el uso del
mismo, independientes del carné estudiantil o de identificación docente según corresponda el
caso o puede ser este integrado en un solo documento de identificación, principalmente con el fin
de evitar su falsificación, cada tarjeta almacena la información sobre el usuario y privilegios de
este de forma protegida, estos privilegios se encontrarían mapeados en el servidor central de
autenticación validando contra la base de datos principal del sistema cuyo prototipo es tema de
desarrollo del presente documento, estos mismos privilegios pueden ser mapeados en servidores
alternos en el caso futuro de escalar el sistema a otros parqueaderos que quizá cuenten con
múltiples accesos.
Vale la pena mencionar una de las ventajas redundantes de todo sistema y es el que cualquier
cambio implementado en el sistema de control de acceso será transparente para el usuario, esto
se debe a la visión que tiene el usuario del sistema de acceso, para él, únicamente éste se
encuentra compuesto por la tarjeta de acceso, el lector de la tarjeta y la barrera vehicular, sin
embargo, detrás de estos componentes se encuentran otros de hardware y software que
configuran una funcionalidad soportada en funciones de seguridad, entonces, adicional a los
componentes vista del usuario se suman un panel de control, el servidor de autenticación y
control de acceso, el software y la base de datos, en la siguiente Figura se muestra el esquema de
conexión del control de acceso al parqueadero
Figura 19 Sistema de Control de Acceso. Modificado de (Smart Card Alliance Latin America (SCALA), 2006)
El proceso de control de acceso comienza cuando el usuario acerca la tarjeta al lector (el cual por
lo general se encuentra ubicado próximo a la barrera vehicular), el lector extrae los datos de la
tarjeta, realiza la traducción o proceso de datos para ser enviados al panel de control el cual hace
la validación del lector y posteriormente recibe los datos de transmitido de éste, posteriormente
el panel de control transmite los datos al servido de control de acceso o autenticación el cual
compara los datos tomados de la tarjeta con las credenciales almacenadas en la base de datos,
mientras que el sistema controlador comprueba los privilegios y autorizaciones con sus
respectivas vigencias, en caso positivo de acceso otorgado el servidor de control de acceso
genera un señal dirigida al panel de control para elevar la barrera vehicular, el panel de control a
su vez genera a vez dos señales, una de ellas para ejecutar el mecanismo de elevación de la
barrera y la otra hacia el lector que indicará al usuario el acceso permitido, esta indicación se da
por lo general a través de un sonido o mensaje lumínico en un display.
La negación del acceso está definido por las políticas (reglas de negocio) registradas en el
sistema y vigencias de las autorizaciones también cargadas en el sistema, en este caso, el
servidor de control de acceso podrá no emitir ninguna señal al panel de control o generar una
señal diferente para que el panel de control no active el mecanismo de la barrera vehicular y el
lector emita un sonido o mensaje lumínico diferente alertando de esta manera al usuario de la
negativa de acceso al parqueadero.
La tecnología propuesta en el diseño del prototipo para las tarjetas de acceso es la de tarjetas de
acceso inteligente sin contacto ya que por sus características técnicas son aptas para el uso en
ambientes de alto tráfico y/o expuestos a la intemperie, particularidades comprobables del acceso
al parqueadero de la sede calle 40 como a cualquier otro parqueadero, adicional a esto se
encuentra la necesidad de acercamiento del usuario al lector de tarjetas que se pretende situar a la
entrada de los sótanos, se analizaron entonces varias opciones que pudiesen cubrir los
requerimientos descritos, encontrándose la tecnología ISO/IEC 14443 como aquella que incluía
el ser tecnología de tarjetas inteligentes sin contacto con un radio de acción operacional de
máximo de aproximadamente 4” o 10 cm
Dentro del análisis efectuado se dejan abiertas las definiciones o consideraciones a nivel de
sistema, esto es su diseño y de la arquitectura de seguridad que se quiera adoptar con base o no
en los requerimientos de desempeño o interacción con el usuario, tener en cuenta que las
características de los parqueaderos no son las mismas así como su comunidad de usuarios, para
el caso particular del parqueadero de la sede calle 40 de la Universidad Distrital “Francisco José
de Caldas” estos parámetros se ciñen a los contemplados en el análisis y diseño del prototipo
propuesto.
3.4 HARDWARE
A continuación una solución ya desarrollada, que será usada como referencia, para el desarrollo
de este proyecto.
1. El sensor emite señales de luz, la cual debe ser reflejada para que el fototransistor la
detecte (Perez, 2016).
CONEXIÓN
- ARDUINO Y SENSOR: Se utilizaran los siguientes pines: 5V Tierra y Pin Digital D44,
en el cual se conecta el control para determinar el estado del parqueadero de acuerdo al
sensor. Se programará para que reciba un 1 o 0 lógico del sensor
Datos Entrada
Campo Descripción Tipo de dato Longitud
ParkId Corresponde al número del parqueadero Int 3
que fue ocupado
Datos Salida
Campo Descripción Tipo de dato Longitud
Nombres Corresponde al nombre del usuario que Texto 200
seleccionó el espacio
Cedula Número de cédula de la persona Numérico 20
Placa Placa del vehículo asociado por el usuario Alfanumérico 7
Nomb_Tipo Tipo de vehículo del usuario Texto 150
Nom_Marca Marca del vehículo del usuario Texto 150
Celular Número de celular del usuario Numérico 10
Email Correo del usuario Correo 150
Id_Parq Id de parqueadero actualizado Int 3
Lugar Corresponde al sótano donde está el Id del Texto 150
parqueadero
Estado Se actualiza de acuerdo a entrada enviada si Boolean 5
está True a False y viceversa
CONSTRUCCIÓN
- PROGRAMACIÓN
- BASE DE DATOS
Figura 25 Procedimiento almacenado para actualizar estado en BD
- REQUEST:
- RESPONSE
Figura 27 Response WS Actualizar estado parqueadero
- BASE DE DATOS
3.6 PROTOTIPO
La propuesta planteada para el desarrollo de este proyecto a nivel de software (Prototipo) está
basada en lo siguiente:
Este prototipo funcional para móviles, es creado para la simulación del parqueadero de la
Universidad Francisco José de Caldas – Sede Sabio Caldas, la cual es soportada sobre una
plataforma web en Oracle Apex 5.0 (Sistema de Aplication express) e integrada con Oracle
Jdeveloper, funciones basadas en javascript y manejo de plsql.
CAPITULO 4 DEFINICIÓN DE ROLES, FUNCIONES Y
REQUERIMIENTOS DE LOS USUARIOS DEL SISTEMA.
En este apartado de definen los usuarios, roles y se establecen las funciones para cada uno de los
usuarios que intervienen en el sistema:
ROL FUNCIONES
Crear cuenta con la información solicitada
por el sistema.
Loguearse en la aplicación desde su celular
una vez tenga la necesidad de consultar la
disponibilidad del parqueadero.
USUARIO Revisar las alertas que le envíen, sobre el
uso del parqueadero o si excedió el horario
de parqueo permitido.
Actualizar información de su cuenta, en
caso de ser necesario.
Consultar la disponibilidad del
parqueadero, a través de la aplicación
móvil.
Tabla 4 Rol Usuario y funciones
ROL FUNCIONES
Revisar el parqueadero a través de las
cámaras, y del sistema.
Identificar los vehículos mal parqueados,
que ocasionan un mal uso del parqueadero.
CONTROLADOR FISICO Enviar alerta al celular del usuario o los
usuarios que están haciendo mal uso del
parqueadero.
Enviar alerta al celular del usuario o los
usuarios, que cumplieron el horario de uso
permitido de parqueadero, de acuerdo a la
información del sistema.
Tabla 5 Rol controlador físico y funciones
Todo sistema debe tener una especificación de requerimientos que describan exactamente lo que
el sistema debe realizar, para que satisfaga las necesidades de los usuarios. A continuación se
definen los requerimientos funcionales con los que contara este proyecto para obtener los
resultados esperados:
NOMBRE REQUERIMIENTO CASOS DE USO
Registrar autorizaciones: El administrador ingresa los
números de autorizaciones de los usuarios a quien se les
REQ001: Autorizaciones
asigno cupo en el parqueadero.
Se define el componente Usuario, teniendo en cuenta que éste puede tener en la universidad
muchas Autorizaciones las cuales se dan cada semestre; con dicha autorización puede ingresar
al parqueadero y tener muchos Ingresos o número de tickets. La idea del sistema es controlar el
cupo de los parqueaderos, que corresponden a una autorización dada para un usuario.
El usuario solo puede ingresar al sistema si tiene un número de autorización; si cuenta con éste,
podrá ver la disponibilidad del parqueadero en el horario permitido e indicar el parqueadero a
utilizar.
5.3 DIAGRAMA DE CASOS DE USO
De acuerdo a la cadena lógica de negocio definida, se tienen los siguientes componentes de
sistema:
A continuación los casos de uso definidos por cada usuario del sistema:
REQ001 Autorizaciones
Identificador: CU 001 –01 Nombre Caso de Uso: Ingreso autorización
Generado por: Sandra Milena Roa
Resumen: El usuario ingresa autorización en la aplicación
Actores: Docentes
Administrativos
Estudiantes
Pre-condición: El usuario debe tener un registro de autorización del administrador previo a la aplicación
Se debe descargar previamente la aplicación
Datos de entrada
Nombre ¿Es Tipo y tamaño Descripción
obligatorio?
Upar Si Numérico Número de autorización asignado por el encargado de recursos
físicos quien define y autoriza cupos en el parqueadero de la
universidad Francisco José de Caldas, sede Sabio Caldas.
Flujo Básico
Actor Sistema
1. E usuario ingresa a la aplicación a la sección de Autorización 2. El sistema habilita los campos “UPar” , “Cedula” y la opción
Iniciar
3. Si el número de autorización y la cédula existen en el sistema ,
se carga el formulario para continuar con el registro
Flujo Excepción
El número de autorización no existe (paso 1 flujo básico)
1. El sistema muestra en pantalla el mensaje “El usuario no existe
o ha ingresado de manera incorrecta los datos, verifique los
datos o contacte a su administrador”
Pos condiciones: Registro a la aplicación
Requerimientos N.A.
especiales:
Tabla 10 Caso de Uso: Ingreso autorización
Actores: Docentes
Administrativos
Estudiantes
Pre-condición: El usuario debe tener un registro de autorización del administrador previo a la aplicación
Datos de entrada
Nombre ¿Es Tipo y tamaño Descripción
obligatorio?
Nombre Completo Si Texto (200) Nombre de la persona que va a realizar el registro en e sistema (No
editable)
Placa Vehículo Si Alfanumérico (6) Campo que permite el ingreso de la placa del vehículo que ingresará
al parqueadero
Teléfono Si Numérico Campo que registra el número de celular de la persona que se
registra
Login Si Texto (9) Nombre de usuario designado por el usuario con el cual ingresará a
la aplicación
Password Si Alfanumérico Campo tipo password, corresponde a la contraseña que registrará el
(50) usuario para el ingreso a la aplicación
Guardar Si Botón Permite el procesamiento de la información si está completamente
diligenciada
Flujo Básico
Se debe descargar previamente la aplicación
Actor Sistema
1. El usuario previamente ingresó el número de autorización y 2. El sistema carga el formulario para continuar con el registro
cédula con los siguientes campos:
Nombre Completo
Número de documento
Tipo Vehículo
Marca Vehículo
Placa Vehículo
Teléfono
Login
Password
3. El usuario ingresa la información requerida y hace clic en 4. El sistema guarda la información y regresa a usuario a la
Guardar pantalla principal para que ingrese
Flujo Excepción
Falta información requerida por diligenciar (paso 1 flujo básico)
1. El sistema muestra en pantalla el mensaje correspondiente de
acuerdo al campo no diligenciado
Pos condiciones:
Requerimientos N.A.
especiales:
Tabla 11 Caso de Uso: Crear cuenta
Actores: Docentes
Administrativos
Estudiantes
Administrador del sistema
Pre-condición: El usuario debe tener un registro previo a la aplicación
Datos de entrada
Nombre ¿Es Tipo y tamaño Descripción
obligatorio?
Usuario Si Texto (9) Campo que permite el ingreso del nombre de usuario que registro
previamente
Flujo Básico
Actor Sistema
1. Ingresar Usuario y Contraseña; y hacer clic en el botón 2. El sistema procesa la información, si la información es válida
Ingresar carga la pantalla principal dependiendo del perfil
Flujo Alterno 1
El usuario que ingresa es Administrador de sistema
Pasos Resultado esperado
1. El sistema muestra en pantalla las siguientes opciones:
Registrar usuario
Consultar Usuario
Configurar parqueadero
Flujo Alterno 2
El usuario que ingresa es Estudiante, Docente o Administrativo
1. El sistema muestra en pantalla las siguientes opciones:
Consultar disponibilidad
Actores: Usuario
Sistema
Controlador Físico
Pre-condición: El usuario debe estar autentificado
Existencia de autorización de ingreso al parqueadero
Datos de entrada
Nombre ¿Es Tipo y Descripción
obli tamaño
gato
rio?
Identificador del usuario en el sistema, este será correspondido con el número de
Login Si Texto
identificación asociado en base de datos
Numéric
IdAutorizacion Si Identificador del permiso de acceso al parqueadero
o
Numéric
IdParqueadero Si Identificador del parqueadero asignado
o
Flujo Básico
Actor Sistema
1. 2. El sistema validará la vigencia de la autorización de entrada
3. El sistema notificará al usuario y controlador físico del acceso al parqueadero. Ver
requerimiento especial 1
4. El sistema almacena los cambios de estado de los usuarios
Flujo Alterno 1
En el caso de no existir una autorización de ingreso
Pasos Resultado esperado
1. No existe autorización de 2. El sistema notificará al usuario y controlador físico de la restricción de acceso al parqueadero
ingreso
Pos condiciones: Se hará el registro en la base de datos del sistema de la instancia de acceso o restricción del usuario y
notificaciones pertinentes
Requerimientos especiales: 1. Mensaje usuario y Controlador Físico: “<DD/MM/YYYY HH24:MI>: Ingreso del vehículo
<PLACA> propiedad de <USUARIO>, Sótano <NUMERO SÓTANO> posición
<IDPARQUEADERO>”
Tabla 13 Caso de Uso: Registrar ingreso de usuario
Número parqueadero disponible N.A. Numérico Campo no editable, que muestra los espacios disponibles por sótano
Flujo Básico
Actor Sistema
1. Ingresa a la aplicación en horario válido 2. El sistema carga en pantalla a siguiente información:
Sótano
Parqueaderos disponibles
Flujo alterno
1. Usuario ingresa en horario no vàlido 2. El sistema permite el ingreso del usuario pero le muestra en
pantalla el mensaje: “En este momento no cuentas con permiso
para ingresar al parqueadero. Intenta en el horario en el que
estas autorizado”
Pos condiciones:
Requerimientos La información debe estar actualizada en tiempo real según los espacios ocupados durante la consulta del usuario
especiales:
Tabla 14 Caso de Uso: Consultar disponibilidad
Actores: Administrador
Sistema
Pre-condición: Tener acceso al módulo – Usuario Administrador y permisos.
Datos de entrada
Nombre ¿Es obligatorio? Tipo y Descripción
tamaño
Usuario N/A Texto Campo que permite visualizar el nombre de usuario registrado,
para consultar su información.
Flujo Básico
Actor Sistema (Resultado esperado)
1. Ingresar a la aplicación con Usuario 2. El sistema muestra un campo para buscar el usuario y una
Administrador e ingresar a la opción lista con los usuarios registrados.
Consultar.
3. Hacer clic en uno de los usuarios 4. El sistema muestra la información correspondiente al usuario
registrados. seleccionado.
Registro
Nombres Apellidos
User Name
Cedula
Tipo vehículo
Marca
Placa
Celular
Email
Password
Actores: Administrador
Sistema
Pre-condición: Tener acceso al módulo de Administrador y permisos.
Datos de entrada
Nombre ¿Es Tipo y Descripción
obligatorio? tamaño
Usuario N/A Texto Campo que permite visualizar el nombre de usuario registrado,
para consultar su información.
Flujo Básico
Actor Sistema (Resultado esperado)
1. Ingresar a la aplicación con Usuario 2. El sistema muestra un campo para buscar el usuario y una
Administrador e ingresar a la opción Consultar. lista con los usuarios registrados.
3. Hacer clic en uno de los usuarios registrados. 4. El sistema muestra la información correspondiente al
usuario seleccionado.
Registro
Nombres Apellidos
User Name
Cedula
Tipo vehiculo
Marca
Placa
Celular
Email
Password
Número de documento Si Numérico Campo editable, muestra el número de documento ingresado por el
usuario en el registro
Nombre Completo Si Texto (200) Campo no editable, muestra el nombre registrado por el usuario
Teléfono SI Numérico Campo editable, muestra el número celular registrado por el usuario
Tipo Vehículo No Lista Campo editable, muestra el tipo de vehículo seleccionado por el
usuario
Marca Vehículo Si Lista Campo editable, lista de opciones de las marcas según el tipo de
vehículo
Flujo Básico
Actor Sistema
1. Ingresar a la opción Actualizar información 2. El sistema muestra el formulario de actualización con los
campos definidos en las entradas de este CU; solo los
siguientes campos son editables:
Upar
Cedula
Tipo vehículo
Marca Vehículo
Placa
Teléfono
Email
User name
Password
3. Se cambia la información requerida y hace clic en Actualizar 4. El sistema guarda la información
Flujo Excepción
No se ingresaron todos los campos requeridos (paso 3 flujo básico)
1. El sistema debe mostrar el mensaje “No es posible guardar la
información, revise que todos los campos requeridos están
diligenciados”
Pos condiciones:
Requerimientos N.A.
especiales:
Tabla 17 Caso de Uso: Actualizar información
Actores: Administrador
Sistema
Pre-condición: Tener acceso al módulo de Administrador y permisos.
Datos de entrada
Nombre ¿Es Tipo y tamaño Descripción
obligatorio?
Área Si Alfanumérico Campo que permite ingreso del dato del área
(50) correspondiente al parqueadero a configurar.
Tipo de vehículo Si Lista Campo que permite seleccionar de una lista desplegable el
tipo de vehículo al cual se le va a asociar el número de
espacios.
Flujo Básico
Actor Sistema (Resultado esperado)
1 Ingresar a la aplicación con Usuario Administrador e 2 El sistema muestra pantalla con los campos:
ingresar a la opción Configurar. Área
Lugar
Tipo vehículo
Cantidad
3 Ingresar el área en m2 (Este dato puede estar 4 El sistema almacena el dato en el campo.
previamente definido por defecto, para el caso de la
universidad)
5 Seleccionar el lugar a configurar, es decir el sótano. 6 El sistema permite seleccionar el número de sótano y lo
almacena en el campo.
7 Seleccionar el Tipo de vehículo a configurar. 8 El sistema permite seleccionar el tipo de vehículo y lo
almacena en el campo.
9 Ingresar el número de espacios disponibles por tipo de 10 El sistema permite seleccionar el tipo de vehículo y lo
vehículo y lugar seleccionado. almacena en el campo.
11 Dar clic al botón Guardar 12 El sistema almacena en la Base de datos la información
configurada del parqueadero y muestra mensaje
“Acción completada”:
Flujo Alterno 1
Pos condiciones:
Requerimientos especiales: N/A
Tabla 18: Caso de Uso: Configurar parqueadero
Actores: Usuario
Administrador del sistema
Sistema
Controlador Físico
Pre-condición: El usuario debe estar autentificado
Datos de entrada
Nombre ¿Es obligatorio? Tipo y tamaño Descripción
Identificador del usuario en el sistema, este será correspondido
Login Si Texto
con el número de identificación asociado en base de datos
Flujo Básico
Actor Sistema
1. 2. El sistema validará el estado de los parqueaderos
3. 4. El sistema genera en la interfaz de usuario el listado de los
parqueaderos en estado disponible. Ver requerimiento especial
1
Flujo Alterno 1
Se genera una solicitud de parqueo a partir de la disponibilidad
Pasos Resultado esperado
1. El usuario genera solicitud de parqueo 2. El sistema notificará al administrador del sistema de la
solicitud de parqueo. Ver requerimiento especial 2
3. El administrador del sistema genera autorización a partir de la 4. El sistema notificará al usuario de la autorización de ingreso,
solicitud horario y parqueadero asignado. Ver requerimiento especial 3
5. 6. El sistema notificará al controlador físico del usuario,
autorización de ingreso, horario y parqueadero asignado. Ver
requerimiento especial 4
Flujo Alterno 2
Se genera rechazo de la solicitud de parqueo
Pasos Resultado esperado
1. El administrador del sistema rechaza la solicitud de parqueo 2. El sistema notificará al usuario del rechazo de la solicitud. Ver
efectuada por el usuario requerimiento especial 5
Pos condiciones: Se genera el listado de disponibilidad de parqueaderos, solicitud de ingreso al parqueadero y notificaciones
Requerimientos 1. Listado de disponibilidad:
especiales: “Parqueaderos disponibles:
REQ004 Alertas
Identificador: CU 004–01 Nombre Caso de Uso: Notificar Alertas por horario
Generado por: William Roberto García Rincón
Resumen: El usuario controlador notificará al usuario del sistema que ya fue cumplido el horario asignado para tener el vehículo
dentro del parqueadero de la universidad
Asunto Si Texto Campo abierto que permite el ingreso del mensaje a notificar
Flujo Básico
Actor Sistema
1. El usuario controlador ingresa a la aplicación, selecciona un 2. El sistema validará la contra la fecha y hora actual el horario de
parqueadero asignado, selecciona el tipo de alerta (horario), el registro del usuario.
asunto y envía la alerta al correo del usuario que ocupa el
espacio anteriormente seleccionado
3. 4. El sistema envía alerta al usuario de la finalización de la
vigencia para retiro del vehículo
Pos condiciones: Se generan los mensajes de alerta a todos los actores del sistema cuando se produzca la finalización de la vigencia
de una autorización de parqueo.
Requerimientos 1. Mensaje de alerta al Usuario: “<DD/MM/YYYY HH24:MI>: Apreciado usuario, Agradecemos por
especiales: favor retirar el vehículo del parqueadero de forma inmediata, ya que está fuera del horario autorizado
por Recursos físicos”
Identificador: CU 004–02 Nombre Caso de Uso: Registro de Novedades por el Controlador Físico
Generado por: William Roberto García Rincón
Resumen: Registro de novedades del parqueadero por el controlador físico y notificación a usuarios.
Actores: Usuario
Sistema
Controlador Físico
Pre-condición: El controlador físico debe estar autentificado en el sistema
Datos de entrada
Nombre ¿Es Tipo y tamaño Descripción
obligatorio?
Botón de navegación que activa el formulario de registro de
Registrar Novedad Si Botón
novedades del parqueadero
Lista desplegable
Tipo Novedad Si Especificación de la novedad suscitada (Ubicación, Horario, Otro)
<Texto>
Fecha
Fecha Hora Novedad Si <dd/mm/yyyy Fecha hora del Evento
hh24:mi>
Lista desplegable
Sótano Si Identificador del Sótano
<Alfanumérico>
Lista desplegable
Parqueadero Si Identificador del Parqueadero
<Alfanumérico>
TextBox
Placa Si <Alfanumérico 6 Identificación del Vehículo/Moto que genera la novedad
caracteres>
TextBox <Texto
Observación Si Detalle de la novedad presentada
150 Caracteres>
Flujo Básico
Actor Sistema
1. El controlador Físico ejecuta el botón “Registrar Novedad” 2. El sistema genera el formulario de registro de novedades con
los campos Tipo Novedad, Fecha Hora, Sótano, Parqueadero,
Placa y Observaciones.
3. El controlador Físico selecciona el tipo de novedad 4. El sistema consulta el listado de tipos de novedad creados en el
sistema y los muestra en la lista desplegable “Tipo Novedad”.
5. El controlador Físico registra la fecha hora de la novedad en el 6. El sistema consulta el listado de sótanos creados en el sistema y
campo fecha hora los muestra en la lista desplegable “Sótano”.
7. El controlador Físico selecciona el sótano correspondiente 8. El sistema consulta el listado de parqueaderos creados y
asociados en el sistema al sótano seleccionado y los muestra en
la lista desplegable “Parqueadero”.
9. El controlador Físico selecciona el parqueadero correspondiente 10. El sistema consulta la última autorización asociada al
parqueadero y retorna la placa del vehículo/moto en el campo
placa
11. El controlador Físico corrige la placa y/o registra la 12. El sistema almacena la información de la novedad y se genera
observación, ejecuta el botón “guardar registro” el mensaje de registro exitoso. Ver requerimiento especial 1.
Flujo Alterno 1
La placa corregida por el controlador físico no registra en el sistema
Pasos Resultado esperado
1. El controlador Físico corrige la placa y/o registra la 2. El sistema genera mensaje de alerta de la no existencia de la
observación, ejecuta el botón “guardar registro” placa en la base de datos. Ver requerimiento especial 2.
Flujo Alterno 2
Se genera mensaje de alerta al usuario por novedad registrada
Pasos Resultado esperado
1. El controlador Físico corrige la placa y/o registra la 2. El sistema genera mensaje de alerta al usuario notificándolo de
observación, ejecuta el botón “guardar registro” la novedad presentada. Ver requerimiento especial 3.
Pos condiciones: Se almacena la novedad registrada por el controlador físico en el sistema y se generan los mensajes de alerta
correspondientes
Requerimientos 1. Mensaje de Registro Exitoso: “Novedad registrada exitosamente”
especiales: 2. Mensaje de alerta al controlador físico de la no existencia de la placa en la base de datos: “ALERTA: El
vehículo de placas <PLACA> no se encuentra registrado en el sistema”.
3. Mensaje de alerta al usuario de la novedad presentada: “ALERTA: Novedad de parqueo por <TIPO
NOVEDAD> el <FECHA HORA NOVEDAD> para el vehículo <PLACA>, Observacion
<OBSERVACION>”.
Tabla 21 Caso de Uso: Registro de Novedades por el Controlador Físico
5.2 DISEÑO BASE DE DATOS
En el diseño de la base de datos del proyecto se definen 3 componentes claves que intervienen en
la cadena lógica de negocio los cuales se definen en el siguiente numeral:
5.2.1 Construcción por el modelo de las dependencias funcionales para una DFE
Basados en el modelo definido en el libro “Modelo seudomatemático para el diseño de las bases
de datos relacionales” del autor John Jairo Londoño, se define el siguiente modelo de
dependencia funcional exclusiva para el desarrollo del proyecto. (Londoño, 2016)
1
DFE
m
1 1 DFE
Usuario
1
m
1
Cedula (PK) Autorización
1
NombreCompleto
TelefonoCelular m
TipoUsuario(FKD) IdAutorizacion (PK) Ingreso
Fecha
Placa (FKD)
Estado NumeroTicket (PK)
Horario Fecha
Cedula (FK) HoraIngreso
Login HoraSalida
Password IdParqueadero (FKD)
Figura 35 Modelo Dependencia FuncionalIdAutorizacion
Exclusiva (FK)
Las tablas definidas a partir de la construcción del modelo de dependencias funcionales son:
Tabla Usuario
{Cedula (PK), Nombre, TelefonoCelular, TipoUsuario (FKD)}
En esta tabla va la información básica de los usuarios autorizados por recursos físicos para el
uso del parqueadero
Tabla Autorización
{IdAutorizacion (PK), Fecha, Placa (FKD), Estado, Horario, Cedula (FK), Login,
Password}
Esta tabla contiene la información de ingreso que se presenta día adía, donde se relaciona
directamente con la autorización dada al usuario
Tabla Parqueadero
{IdParqueadero (PK), Sotano, TipoVehiculo (FKD), EsFijo, Cantidad, Estado}
Esta tabla contiene la información de la numeración de los parqueaderos por cada sótano y de
acuerdo al tipo de vehículo a parquear (moto o carro), tiene un campo estado que determina si
está ocupado o no (0 o 1).
Como los espacios están numerados de acuerdo a un campo para carro, si es tipo vehículo
“Moto”, la cantidad varia (en un espacio de carro hay 9 motos)
En caso de incluirse el sótano 1 se usará la variable “EsFijo”, ya que estos no se asignan
porque son exclusivos de los administrativos.
Tabla TipoUsuario
{TipoUsuario (PK), Nombre, Estado}
En esta tabla están discriminados los tipos de usuarios del sistema, los cuales son: Estudiantes
Diurno, Estudiante nocturno, Docente Planta, Docente cátedra y Administrativos
Tabla Placa
{Placa (PK), Ciudad, TipoVehiculo (FKD), Marca (FKD)}
Tabla TipoVehiculo
{TipoVehiculo (PK), Nombre}
Tabla donde se almacenan los tipos de vehículos que pueden ser parqueados, en este caso son
carro y moto
Tabla Marca
{IdMarca (PK), Nombre, TipoVehiculo(FK)}
En esta tabla se almacenan las marcas que existen en el mercado actualmente por tipo de
vehículo (carro o moto)
Con este diseño de base de datos a partir del modelo de dependencias funcionales, se destaca que
el número de ticket es la clave única e irrepetible dentro del sistema lo cual lo determina como
un sistema de información y permitirá la generación de reportes donde se podrá consultar la
cantidad de veces que un usuario ingresa en un día al parqueadero por ejemplo, los ingresos en el
mes, nuevos funcionarios que ingresaron en un semestre, etc.
5.2.2 Modelo Relacional
REQ001 Autorizaciones
Valida Autorización
Acceso Autorizado
Acceso Restringido
GUI
Controlador GUI Base de
Usuario GUI Usuario Físico Sistema
Admin Datos
Sistema
Consulta Disponibilidad
Valida Datos Consulta Estado Parqueaderos
Consulta Disponibilidad
GUI GUI
Administrador Controlador Base de
GUI Usuario Físico Sistema
sistema Datos
Consulta Vigencia
Alerta Vencimiento
Registra Datos
Alerta
- Usuarios con diferente perfil (docente planta, administrativo, docente cátedra, estudiante
diurno y estudiante nocturno), con horarios predefinidos para mostrar o no la
disponibilidad.
- Un administrador quien puede controlar la información del sistema
- Usuario controlador, quien se encargará de generar las alertas
- Base de datos precargada con tipos de vehículos y marcas según el tipo seleccionado
A continuación la funcionalidad por cada tipo de usuario del sistema; administrador, usuario y
controlador
6.2.1 ADMINISTRADOR
Este módulo está compuesto por tres opciones Registrar, consultar y configurar:
En esta pantalla se registran los datos básicos del usuario, seleccionando además el perfil
asociado para determinar el horario de acceso permitido al parqueadero.
Una vez se ingresan los datos, y se da clic al botón Crear Usuario el sistema muestra mensaje de
confirmación de la acción realizada.
Figura 55Usuario creado
b) Opción Consultar:
Una vez dentro el sistema permite mediante dos botones Actualizar el Usuario o Eliminarlo.
Al seleccionar Eliminar usuario, el sistema pregunta si está seguro de borrarlo, y al final muestra
mensaje de confirmación.
En esta pantalla se pueden parametrizar los datos del parqueadero, de manera que esta
configuración funcione para cualquier otro parqueadero. Primero se indican los lugares que
corresponde al número de sótanos que tiene el parqueadero, el tipo de vehículo si es moto, carro,
la cantidad de espacios por el tipo de vehículo y el área del sótano que se está configurando.
Una vez se ingresa la información se crea la configuración del sótano, y el sistema muestra
mensaje de confirmación.
De acuerdo a cada tipo se crea un usuario en la base de datos, a continuación los flujos definidos
por cada uno y según sus restricciones.
a) Ingreso de autorización
Para que un usuario pueda loguearse a la aplicación una vez descargada debe, seleccionar la
opción “INFO”
Figura 62 Opción Info
Se mostrará un formulario con los campos Upar, Cédula y opción Iniciar. Ingresar la
información.
Para ingresar a la aplicación, seleccionar “Parking”, el sistema mostrará un formulario con los
campos Usuario, Contraseña y la opción Ingresar
Figura 66 Parking
Si los datos son válidos el usuario visualizará una de las siguientes opciones:
- Horario válido
Para consultar la disponibilidad, solo los usuarios en horario válido podrán disponer de un
espacio en el parqueadero y seleccionarlo.
Para ocupar un espacio, el usuario una vez ingresó a la aplicación debe seleccionar el
parqueadero, y el sistema le mostrará su elección.
Figura 69 Consulta disponibilidad espacio
El usuario controlador, será el encargado de generar las alertas por tiempo o mal uso del espacio
del parqueadero.
Una vez seleccionado, se abre el formulario para ingresar el comentario de la alerta y enviarlo
Para evaluar el prototipo en cuanto a las especificaciones propuestas y definidas para cumplir
con este proyecto y la aceptación de posibles usuarios midiendo el nivel de satisfacción, se crea
una encuesta donde se toma como muestra 4 personas que son el Director, revisor del proyecto,
un docente de catedra y un estudiante de la jornada Nocturna. Para conocer la encuesta aplicada
(Anexo 4_ Encuesta Satisfacción Prototipo Parking UD).
Análisis: A partir de las respuestas obtenidas para esta pregunta, se puede concluir que los
usuarios encuestados opinan que el prototipo es sencillo, lo que hace que ellos tengan una
experiencia agradable y comodidad en el uso, e interacción con el prototipo.
2. ¿El diseño del prototipo móvil es agradable para su uso?
Análisis: Ante esta pregunta los usuarios encuestados opinaron que si es agradable, es decir
que cuenta con interfaces que brindan un entorno sencillo visualmente, por el que pueden
navegar y ejecutar las acciones que necesitan de una manera rápida y fácil.
3. ¿Cree usted que este prototipo facilitará el uso y servicio que presta el parqueadero de la
UD - Sede Calle 40?
4. ¿Qué tan satisfecho quedo usted con el uso del prototipo móvil, para uso del parqueadero
UD-Sede Calle 40?
Análisis: Las respuestas en esta pregunta están divididas entre un nivel de satisfacción alto,
medio, y una respuesta baja, esto es importante teniendo en cuenta que es la primera versión
generada y que puede tener mejoras para proyectos futuro. Por esto se decidió plantear la
pregunta 7 de donde se podrán tomar los comentarios y sugerencias para tenerlos en cuenta
y poder generar las mejoras correspondientes.
5. Una vez la aplicación este completa y sea implantada, ¿Usted está dispuesto a usarla?
Análisis: En esta pregunta casi toda la población encuestada está de acuerdo en que
recomendaría la aplicación, y se puede inferir que en caso de finalizada la aplicación tendrá
una buena acogida entre la población objetivo, pero se debe tener en cuenta que para poder
tener un 100% de acogida para una próxima versión se realizaran las sugerencias realizadas
en el punto 7.
7. Por favor escriba sus comentarios o sugerencias, para poder tenerlas en cuenta en una futura
versión.
La construcción del primer objetivo planteado “Definir los roles, funciones y requerimientos de
los usuarios del sistema” ha contribuido a la identificación de las necesidades que suplirá la
solución propuesta, teniendo como base los usuarios directamente implicados en el uso del
sistema.
Las políticas de asignación de los parqueaderos por parte de la dirección de recursos físicos de la
Universidad Distrital no cuentan con un control del todo sistematizado, esto hizo que en el
momento de definir el modelo de entidades, los casos de uso, diagramas, entre otros, se
analizaran diferentes alternativas, pretendiendo en todo momento hacer un diseño óptimo y
viable teniendo en cuenta adicionalmente los factores externos del proyecto como el factor
tiempo.
El proyecto ha logrado cumplir con el objetivo general y con los objetivos específicos que se
habían propuesto haciendo valer todos y cada uno de los requerimientos planteados logrando
obtener un prototipo de aplicación móvil en la que se genera una relación sinérgica entre los tres
pilares o roles del proceso asociado al parqueadero como lo son el administrador, el controlador
físico o guarda de seguridad y como no, el usuario final, adicionalmente integrando una
normatividad traducida a reglas de negocio dentro en el lenguaje de la aplicación.
Por último, se lograron identificar nuevas vertientes del proyecto no incluidas en el alcance del
mismo y que se propone continuar con su investigación y desarrollo en futuros proyectos, entre
los que se mencionan, propuestas para integrar mecanismos electrónicos como sensores de
proximidad o ubicación, control de acceso automatizado diferente a tarjetas inteligentes o con la
integración de otros procesos a éstas, modelos de optimización para la asignación de
parqueaderos con base en la demanda de uso, así como estudios de inteligencia de mercados
cuando se quiera generar una propuesta de sistemas de información para parqueaderos en
entidades públicas o privadas.
En el aparte 9.1.2 presentamos la propuesta inicial del modelo de optimización para la asignación
de parqueaderos especialmente enfocados a docentes de planta apuntando a la carga académica
registrada en el sistema cóndor.
Para profundizar en los conceptos de este aparte, leer páginas de la 3 a la 15 del documento
“Modelos Matemáticos de optimización” (Ramos, Sánchez, Ferrer, Barquín, & Linares, 2010).
La Investigación Operativa consiste en “la aplicación de métodos científicos en la mejora de la efectividad en las
operaciones, decisiones y gestión” (Robinson, 1999) o como la ciencia de aplicar los recursos disponibles
para conseguir la satisfacción óptima de un objetivo específico deseada, de una forma extensa de puede
definir como la aplicación por grupos interdisciplinarios, del método científico a los problemas complejos
producidos en la dirección y gestión de grandes sistemas de hombres, máquinas, entre otros. La
investigación operativa se caracteriza por intentar construir un modelo científico del sistema del cual se
puede predecir y comparar los resultados de diversas estrategias, decisiones, incorporando medidas del azar
y del riesgo, su objetivo es ayudar a los responsables a determinar su política y actuaciones en forma
científica, por tanto y en este sentido se le conoce en otros términos como Management Science o análisis
de decisiones (Ramos, Sánchez, Ferrer, Barquín, & Linares, 2010)
Una de las disciplinas derivadas de la investigación operativa es la optimización en cada uno de sus métodos (lineal,
no lineal, entera, estocástica, multiobjetivo) como lo son también las teorías de juegos, decisión, grafos,
colas y simulación, o flujos de redes. Otras disciplinas que aunque pueden ser tratadas dentro de la
investigación de operaciones, al tener un mayor nivel de complejidad son tratadas y analizadas dentro del
área de estudio de la inteligencia artificial, tales como los algoritmos metaheurísticos, lógica borrosa e
inteligencia artificial compartiendo materia de estudio con la estadística (Ramos, Sánchez, Ferrer, Barquín,
& Linares, 2010)
La optimización como materia de estudio dentro de la investigación de operaciones tiene una gran relevancia, como
tal ha tenido un progreso algorítmico vertiginoso con el descubrimiento de técnicas de análisis durante la
historia como la programación lineal, programación dinámica, con sus respectivos métodos desde la década
de los 40 hasta la actualidad sino en los métodos de procesamiento de datos que terminan reduciendo el
tiempo de respuesta en la obtención de la solución esperada, un ejemplo de ello es que en la actualidad se
puede resolver un problema de programación lineal de más de 500.000 ecuaciones con más de 500.000
variables y más de 2.000.000 de restricciones, los problemas de optimización se componen de tres
elementos que son (Ramos, Sánchez, Ferrer, Barquín, & Linares, 2010):
Función objetivo: medida cuantitativa del funcionamiento del sistema que se desea optimizar
(maximizar o minimizar)
Variables: representan las decisiones que se pueden tomar para afectar el valor de la función objetivo,
las cuales se pueden clasificar en variables independientes, principales o de control o variables
dependientes, auxiliares o de estado, matemáticamente con igual representación
Restricciones: conjunto de relaciones (expresadas por ecuaciones e inecuaciones) que ciertas variables
están obligadas a cumplir.
Entonces, resolver un problema de optimización consiste en encontrar el valor que deben tomar las variables para
hacer óptima la función objetivo satisfaciendo el conjunto de restricciones (Ramos, Sánchez, Ferrer,
Barquín, & Linares, 2010).
Entre los beneficios explícitos o implícitos, tanto para el modelador como para el experto, derivados del proceso de
modelado además del modelo en sí mismo, se pueden mencionar:
Como si se tratase de un proyecto en sí, el desarrollo de un modelo tiene un ciclo de vida determinado en una serie
de etapas ordenadas y una dependiente de la anterior, las cuales son:
La identificación del problema que consiste en la recolección y análisis de la información relevante para el
problema, en el intercambio de información entre el modelador y el experto, en establecer una relación
simbiótica y una estrecha coordinación entre ambos, esta etapa es fundamental para que las soluciones
proporcionadas, las conclusiones obtenidas sean útiles, las decisiones adoptadas sean correctas. Los datos
suelen ser vitales para conseguir un realismo o aplicabilidad en las soluciones. A menudo representan el
cuello de botella del proceso de modelado. (Ramos, Sánchez, Ferrer, Barquín, & Linares, 2010).
La especificación matemática y formulación la cual está dada en la escritura matemática del problema de
optimización, definiendo sus variables, sus ecuaciones, su función objetivo, sus parámetros. En esta etapa
se analiza el tamaño del problema, la estructura de la matriz de restricciones, su tipo (Programación Lineal,
Entera mixta, No Lineal). Es una etapa de creación donde se debe prestar especial atención a la precisión en
la formulación y a la escritura de las ecuaciones que describen el problema (Ramos, Sánchez, Ferrer,
Barquín, & Linares, 2010).
Para efectos del presente trabajo, se tratará un problema de programación lineal en el cual su elección no afecta de
manera significativa la resolución del mismo. La caracterización de un problema LP según su tamaño
resulta difícil y ha sufrido un gran cambio desde los recientes desarrollos de algoritmos simplex mejorados
y, sobre todo, desde la aparición de los métodos de punto interior. En la tabla 23 se propone una
clasificación de tipos de problemas de programación lineal según su tamaño. Esta clasificación debe ser
tomada como guía o referencia relativa donde se debe tener en cuenta que los tamaños relativos de los
problemas cambian conforme evolucionen los códigos de optimización (Ramos, Sánchez, Ferrer, Barquín,
& Linares, 2010).
Restricciones Variables
Caso Ejemplo 100 100
Tamaño medio 10000 10000
Gran Tamaño 100000 100000
Muy Gran Tamaño > 100000 > 100000
Tabla 23 Tipos de problemas de programación lineal según su tamaño
Posteriormente pasamos a la etapa de verificación, validación y refinamiento en donde se busca eliminar los errores
de codificación, en otras palabras, hacer que el modelo haga lo que se le indicó matemáticamente en la
etapa anterior pasándolo ya a lenguaje de máquina, en esta etapa es probable que se deba refinar el modelo
para que este se ajuste cada vez más a la realidad que se quiere representar así como también deba refinarse
el modelamiento matemático (Ramos, Sánchez, Ferrer, Barquín, & Linares, 2010).
La etapa de interpretación y análisis de resultados conlleva a la búsqueda o propuesta de soluciones para conocer el
detalle o comportamiento del modelo haciendo un análisis de sensibilidad en las entradas del modelo, se
analizan además los posibles escenarios, acercarse a la solución óptima y comprobar su capacidad (Ramos,
Sánchez, Ferrer, Barquín, & Linares, 2010)
Por último, en aras de difundir la solución se llega a la implementación, documentación y mantenimiento del modelo
propuesto, como si se tratara de un proyecto de software, la documentación debe ser lo suficientemente
clara y precisa para el usuario, tanto para el modelo como para el código implementado y así garantizar las
tareas de mantenimiento pertinentes, pues es allí donde se concentra el mayor porcentaje del ciclo de vida
del modelo y finalmente ha de incluirse un plan de entrenamiento al usuario final (Ramos, Sánchez, Ferrer,
Barquín, & Linares, 2010).
9.1.2 MODELO DE OPTIMIZACIÓN PARA LA ASIGNACIÓN DE PARQUEADEROS
Es así como se pretende que la reprogramación de los parqueaderos sea inmediata, es decir, el
objetivo de la programación o de la asignación es encontrar un sistema eficiente en donde se
optimice el recurso en este caso el tiempo de asignación de parqueadero en condiciones de
incertidumbre.
Trabajos relacionados con los problemas de planificación han sido elaborados, entre ellos en la
implementación de la asignación de funciones de grupo (GRA) el cual tiene un modelo de
solución de complejidad exponencial, sin embargo, diferentes estudios han abordado este mismo
problema llevándolo a un problema de complejidad polinómica y es con este enfoque que se
presenta el modelo de solución en la asignación de parqueaderos.
Lun Mar Mié Jue Vie Lun Mar Mié Jue Vie
06:00 0 9 17 25 33 41 49 57 65 73
08:00 1 10 18 26 34 42 50 58 66 74
10:00 2 11 19 27 35 43 51 59 67 75
12:00 4 12 20 28 36 44 52 60 68 76
14:00 5 13 21 29 37 45 53 61 69 77
16:00 6 14 22 30 38 46 54 62 70 78
18:00 7 15 23 31 39 47 55 63 71 79
20:00 8 16 24 32 40 48 56 64 72 80
Tabla 24 Horizonte de asignación con día de no carro
Lun Mar Mié Jue Vie Lun Mar Mié Jue Vie
06:00 0 9 17 25 33 41 49 57 65 73
08:00 1 10 18 26 34 42 50 58 66 74
10:00 2 11 19 27 35 43 51 59 67 75
12:00 4 12 20 28 36 44 52 60 68 76
14:00 5 13 21 29 37 45 53 61 69 77
16:00 6 14 22 30 38 46 54 62 70 78
18:00 7 15 23 31 39 47 55 63 71 79
20:00 8 16 24 32 40 48 56 64 72 80
Tabla 25 Horizonte de asignación sin restricción
Símbolo Significado
𝒫 conjunto de parqueaderos
Ω conjunto de espacios bihorarios
𝒥 Conjunto de docentes
Conjunto de espacios bihorarios asignados por carga académica o conjunto de
ℬ
licitación de los docentes
ℬΩ Conjunto asignación de licitación de espacios o franjas y espacios bihorarios
𝒥ℬ Conjunto asignación de docente y licitación.
Conjunto de valores de prioridad de los docentes (roles), dónde 𝒲𝑗 será el valor de
𝒲
prioridad asignado al docente 𝑗𝜖J
Tabla 27 Terminología utilizada en el desarrollo del modelo
Sujeto a:
En donde la restricción:
(2) Asegura que cada franja bihoraria en un parqueadero determinados se le asigne solamente a
un DOCENTE.
(3) Asegura que el bloque de licitación asignado fue realmente solicitado por el DOCENTE.
Se implementa este modelo en GAMS, definiendo en primera instancia los conjuntos (sets o
multisets), es decir, el conjunto de parqueaderos (a modo de piloto de prueba se tomaron 6
espacios de parqueo), el conjunto de espacios (bloques bihorarios), conjunto de docentes (7
docentes para efectos de prueba), las licitaciones o preferencias de los docentes y los conjuntos
de asignación correspondientes (preferenciasespacios, docentespreferencias) tal como se
muestra en la siguiente Figura:
Figura 86 Definición de conjuntos y parámetros en GAMS
Acto seguido, se definen las prioridades de los docentes o parámetros, variables, ecuaciones y
método de solución, ver la siguiente Figura:
Se pretende presentar entonces un modelo base para ser profundizado en el futuro como
continuación del proyecto en donde se agregue un nuevo índice que indica la expansión
estudiantes o administrativos y parqueaderos de otras sedes y el cual genere la mejor asignación
posible.
Durante el desarrollo del proyecto se encontraron variantes de interés dentro del contexto
abordado así como de consulta de disponibilidad o programación para la asignación de los
estacionamientos en cualquier otra sede de la universidad distrital “Francisco José de Caldas”
como en el parqueadero de cualquier sede organizacional tales como conjuntos residenciales,
centros comerciales o empresas privadas.
ANEXO 3
Para conocer el manejo actual de las autorizaciones y prioridades de los usuarios que pueden
ingresar se tuvo una reunión con Don “Armando Buitrago Sarmiento” quien pertenece al área de
Recursos Físicos de la Universidad Distrital Francisco José de Caldas – Sede Sabio Caldas. Para
mayor detalle ver el documento “Acta Reunión 23092016.doc.
ANEXO 4