RAM Producciones
Materia: Programación Avanzada
Maestría en Tecnologías de Información
Posgrados CUCEA
Universidad de Guadalajara
Alumnos:
Emmanuel Alcántara
Víctor Joel Morales Ruvalcaba
José Francisco Ruvalcaba Castañeda
Agenda
 Justificación
 Descripción
 Marco Teórico
 Desarrollo del proyecto
 Arquitectura
 Problemática
 Demo
Justificación
El empleo de sistemas de información en la vida cotidiana es cada vez más significativo para el desarrollo
profesional e integral de las personas así como de instituciones educativas, gubernamentales y de la
industria en general. El impacto de estos sistemas en la sociedad ha afectado diametralmente el
pensamiento de las personas a tal grado de ofrecer procesamiento ágil, rápido y seguro de información
haciendo que los procedimientos se aceleren y por ende, esto reduzca los costos ocasionando un efecto
positivo en los eventos de la sociedad misma.
Sin embargo, uno de los grandes retos hoy en día para la tecnología es la amigabilidad con la que ésta se
debe presentar ante la sociedad. En la actualidad, en México, existe un alto porcentaje de gente que
rechaza el uso de medios digitales y electrónicos. Una ilustración es que la gente prefiere el dinero en
mano, que una tarjeta de plástico y que implique el uso de más tecnología. Es por eso, que el profesionista
de la informática debe buscar esquemas y mecanismos más amigables e intuitivos para el usuario no
importando su estrato social o condición económica; en resumen, debe encontrar las formas y canales
adecuados para que la tecnología se adapte al ser humano, y no que el hombre se adapte a la tecnología,
que es sin duda esta última, la razón más importante del rechazo generalizado al uso de tecnología.
Este proyecto pretende ayudar con estas brechas para hacerlas de la confianza de los usuarios.
Descripción del proyecto
Sistema de Control de Estacionamientos
Las metas principales son:
• Ahorro de tiempo y papel con el uso de tarjetas
inteligentes la cual se registra ligada a la placa del
vehículo.
• Mejor integración, identificación y captura de los datos
del infractor permitiendo una resolución ágil del
problema
Descripción del proyecto
Funcionamiento
Se consideran los siguientes actores:
• Conductor, es la persona que ingresa a un estacionamiento automatizado,
apoyado por el sistema, a través de su licencia digital de conductor (tarjeta
inteligente)
• Guardia de seguridad, es la persona que efectúa los rondines en el
estacionamiento a efectos de detectar y reportar una infracción. Éste
cuenta con sistema móvil que le permite capturar los datos del vehículo
infractor. Él mismo opera en red lo cual le permite ingresar los datos en un
sistema central en tiempo real.
• Administrador, es la persona que se encarga de alimentar el sistema central.
Aquí se dan de alta usuarios (guardias de seguridad), se mantienen las
bases de datos, se generan reportes y se resuelven los casos de
inconformidad por parte de los conductores.
El sistema se basa en el modelo clásico cliente/servidor en diferentes
escenarios dentro del mismo.
Descripción del proyecto
El sistema en su globalidad se puede dividir en cuatro subsistemas:
1. El subsistema de control central (CC) que cuenta con la base de datos de las entradas y salidas
de los conductores, infracciones, guardias de seguridad, usuarios, etc. Además, ofrece la
generación de reportes estadísticos que permiten visualizar el fenómeno de infracción. Esta
aplicación es operada por el administrador.
2. El subsistema móvil de captura de infracción (CI) que cuenta con un formulario para el ingreso
de los datos del vehículo infractor y enlace en red con el CC para su almacenamiento
persistente.
3. El subsistema de cobro automatizado (CA) que cuenta con lectura de tarjeta inteligente ya que
es donde se encuentran los datos del conductor y del vehículo. El CA se enlaza con el CC para
extraer los montos de cobro. Aquí también se presentan los cargos por infracción y se hace el
respectivo desglose.
4. El subsistema de control de entrada (CE) y de control de salida (CS) son las casetas que
controlan las plumas de entrada y de salida respectivamente. El CE cuenta con lector de
tarjeta inteligente y enlace de red con el CC para enviar la información obtenida de la licencia
de conductor. Así mismo, se captura la hora de entrada para efectos de determinar el tiempo
usado del estacionamiento. El CS es similar a CE en sus características físicas (lector de tarjeta
inteligente y red), pero solo permite o bloquea la salida del vehículo de acuerdo a la
resolución efectuada por el CC.
Marco Teórico - Java
Es un lenguaje de programación
orientado a objetos desarrollado
por Sun Microsystems.
Las principales características
son:
Es seguro, fácil de usar,
independiente de la plataforma y
confiable.
Marco Teórico - RMI
RMI (Remote Method Invocation/
Invocación Remota de Métodos)
es para programación distribuida
en java.
Forma parte del entorno estándar
de ejecución de Java y provee de
un mecanismo simple para la
comunicación de servidores en
aplicaciones distribuidas basadas
exclusivamente en Java.
Marco Teórico - MySQL
MySQL® proporciona un
servidor de base de datos
SQL (Structured Query
Language) muy rápido,
multi-threaded, multi
usuario y robusto. El
servidor MySQL está
diseñado para entornos de
producción críticos, con alta
carga de trabajo así como
para integrarse en software
para ser distribuido.
Marco Teórico - Eclipse
Eclipse es un entorno de
desarrollo integrado de código
abierto multiplataforma para
desarrollar entornos de desarrollo
integrados (del inglés IDE), Eclipse
fue desarrollado originalmente
por IBM como el sucesor de su
familia de herramientas para
VisualAge. Eclipse es ahora
desarrollado por la Fundación
Eclipse, una organización
independiente sin ánimo de lucro
que fomenta una comunidad de
código abierto y un conjunto de
productos complementarios,
capacidades y servicios.
Marco Teórico - Hibernate
Herramienta de Mapeo objetorelacional para la plataforma
Java que facilita el mapeo de
atributos entre una base de
datos relacional tradicional y el
modelo de objetos de una
aplicación. Busca solucionar el
problema de la diferencia entre los
dos modelos de datos coexistentes
en una aplicación.
Marco Teórico - Spring
Un framework contenedor
liviano basado en la
técnica Inversión de
Control (IoC) y una
implementación de
desarrollo según el
paradigma de Orientación a
Aspectos (AOP) , además
permite la interacción otros
frameworks.
Marco Teórico - Log4j
Biblioteca desarrollada por la Apache Software Foundation que
permite elegir la salida y el nivel de granularidad de los
mensajes o “logs” (logging). La configuración de salida y
granularidad de los mensajes es realizada a tiempo de ejecución
mediante el uso de archivos de configuración externos.
Marco Teórico - JUnit
Es un conjunto de clases que permite realizar la
ejecución de clases Java de manera controlada, para
poder evaluar si el funcionamiento de cada uno de
los métodos de la clase se comporta como se espera.
Es también un medio de controlar las pruebas de
regresión.
Desarrollo del proyecto
Trabajo en equipo
Se decidió realizar la mayor parte del trabajo de forma remota, realizando
reuniones semanales para revisar el avance del proyecto y coordinar los esfuerzos.
Control de versiones con Subversion.
Subversion es un sistema de control de versiones. Subversion maneja archivos y
directorios, y los cambios que se les hacen, en el tiempo. Esto permite recuperar
versiones antiguas de los datos o examinar la historia de cómo van cambiado.
Subversion puede operar a través de redes, lo que le permite ser utilizado por
personas en diferentes equipos. A cierto nivel, la capacidad para que varias
personas puedan modificar y administrar el mismo conjunto de datos desde sus
respectivas localizaciones fomenta la colaboración. Se puede progresar mas
rápidamente sin un único conducto a través del cual todas las modificaciones
tienen que hacerse. Y porque el trabajo está en versiones, no hay motivos para
pensar que se pierde en calidad, si es un cambio realizado es incorrecto,
simplemente se deshace el cambio.
Arquitectura - Estructura de la base
de datos
Arquitectura - Estructura de datos
Arquitectura - Soporte
multilenguaje
El diseño de la aplicación permite el manejo de la misma
en distintos lenguajes (Español, Ingles, Francés, etc.)
Arquitectura - Acciones
Para la ejecución de
cada acción (Agregar,
Eliminar, Actualizar,
Obtener, etc.) sobre
cada uno de los
catálogos ( usuarios,
tarjetas,
adeudos,
etc.) en el servidor se
utilizo el patrón de
diseño Command.
Requerimientos mínimos - Server
Microprocesador Intel Core 2 Duo e7500 2.93ghz
RAM 1 Gb
HDD 80 Gb
Monitor SVGA
Tarjeta de Red (Ethernet o Wireless)
JRE
Requerimientos mínimos - Cliente
Microprocesador Intel Celeron 1.4Ghz
RAM 512 Mb
HDD 16 Gb
Monitor VGA
Tarjeta de Red (Ethernet o Wireless)
JRE
Proceso - Adición
de usuarios
Secuencia de llamadas para
la creación de un usuario
en el sistema
Problemática - Consumo de ancho
de banda
Debido al excesivo consumo de ancho de banda
utilizado por la tecnología RMI por el envió y recepción
de objetos, fue necesario implementar un proceso
compresión en el intercambio de datos
Problemática – Creación de stubs
Ya que el proceso de creación de stubs involucra
llamadas al rmiregistry lo cual supone un coste alto, fue
necesario la implementación de una clase para el
cacheo de objetos.
Demo
Dudas y preguntas
RAM Producciones © 2010
Descargar

Sistema de Administracin Vehicular