Beruflich Dokumente
Kultur Dokumente
InfoParking
Equipo de Trabajo:
TABLA DE CONTENIDO
• Personas con vehículo particular que se movilizan con frecuencia por Bogotá
requiriendo estacionamiento (Cliente).
• Administradores de los parqueaderos de la zona seleccionada, que proveerán
la información relacionada con el parqueadero.
1.3 Convenciones
(Descripción de las notaciones y símbolos utilizados en este documento)
1.4 Terminología y Definiciones
• Punto – Elemento gráfico usado como la mínima expresión espacial, que define un lugar
geométrico. No tiene ni longitud ni área.
• Línea – Elemento gráfico compuesto por uno o varios segmentos consecutivos,
delimitado por un nodo inicio y un nodo fin, que no involucra el concepto de área, solo
longitud
• Polígono – Elemento gráfico definido por un conjunto de líneas consecutivas, cerrado y
que involucra el concepto de área. Tiene longitud correspondiente a su perímetro y área.
• Latitud (Cartografía): Es la distancia angular entre la línea ecuatorial (el ecuador), y un
punto determinado del planeta, medida a lo largo del meridiano en el que se encuentra
dicho punto.
• Longitud (Cartografía): Es la distancia angular entre un punto dado de la superficie
terrestre y el meridiano que se tome como 0° (es decir el meridiano base) medida a lo
largo del paralelo en el que se encuentra dicho punto.
Actualmente en la ciudad de Bogotá cuenta con un alto flujo vehicular, asociado a personas
que por su labor o necesidad, requieren movilizarse constantemente y necesitan
parqueaderos públicos; sin embargo, no conocen cuales son los parqueaderos con cupo mas
cercanos a una ubicación de interés (hacia donde se dirigen) y las características de servicio.
2.3 Objetivos
• Brindar a los conductores de vehículos particulares que se desplazan con
frecuencia por la localidad de Teusaquillo, una herramienta que le ayude a
optimizar (reducir) el tiempo de ubicación de un parqueadero público
cercano a una dirección de interés, con disponibilidad de parqueo; dándole a
conocer las condiciones del servicio y brindando la facilidad de reservar en
línea su cupo de parqueo.
• Brindar a los dueños de parqueaderos una herramienta que les permita ser
maximizar su nivel de ocupación, dando a conocer sus servicios y servicios
de valor agregado a clientes actuales y poteciales (Servicios adicionales,
Promociones, etc.) como parte de su estrategia de Marketing.
Objetivos en términos de gestión de información
• Responder a los motivadores de negocio con una arquitectura que favorezca los
atributos de calidad principales, teniendo en cuenta los límites impuestos por las
restricciones de negocio.
2.4 Stakeholders
Stakeholder Descripción
Stakeholder Expectativas
Esta sección busca identificar los motivadores de negocio de la organización. Normalmente estos motivadores son
encontrados, respondiendo a las preguntas:
- Cómo genera utilidad la organización
- De dónde provienen las utilidades de la organización?
- Cuáles son los elementos claves del negocio?
En resumen, un motivador de negocio es una descripción corta que define clara y específicamente los resultados deseados
de negocio de una organización así como las actividades necesarias para lograrlos. Los motivadores de negocio deben s er:
Específicos, Medibles, Agresivos pero viables, Orientados al resultado y limitados en el tiempo.
El objetivo es hacer una lista priorizada de motivadores de negocio.
(Esta seccion describe las restricciones de tecnología y de negocio impuestas por la organizacion o
el contexto del problema)
Restricciones de Tecnología
Descripción: No todos los parquederos cuentan con un equipo con acceso a internet para
conectarse a la aplicación web
Alternativas:
Se les pueden proveer la infraestructura en un esquema de arrendamiento
Observaciones:
Ninguna
Restricciones de Negocio
Descripción: El tiempo de desarrollo no debe superar dos meses calendario a partir de la aprobación
del proyecto.
Establecida por: Universidad de los Andes
Alternativas: Ninguna
Observaciones: Ninguna
SECCION 4: CONTEXTO
Requiere:
Arquitectura bien definida, Infraestructura para despliegue y administración de InfoParking.
Casos de Uso: CU-01, CU-02, CU-03
Título del Caso de Uso Administrar Usuarios del Sistema ID del Caso de Uso CU-01
Descripción General del Caso de Uso
Este caso describe como se administran usuarios del sistema.
Entidades Involucradas
Cliente, Administrador del sistema, Administrador de parqueadero
Precondiciones
Ingresar al sistema con el rol de Administrador
Flujo normal de Eventos
1 El actor ingresa un usuario
2 Sistema valida existencia de usuario
3 El actor asigna un rol al usuario (administrador de parqueadero)
4 Sistema persiste la información ingresada y muestra un mensaje con el resultado de la
transacción.
Postcondiciones principales del caso de uso
Usuario tiene un rol para ver determinadas funcionalidades en el sistema.
Título del Caso de Uso Ingresar al Sistema ID del Caso de Uso CU-02
Descripción General del Caso de Uso
Este caso describe como se ingresa al sistema.
Entidades Involucradas
Cliente, administrador del sistema, administrador de parqueadero
Precondiciones
Usuarios creados en sistema
Flujo normal de Eventos
1 El actor ingresa nombre de usuario
2 El sistema valida existencia de usuario
3 El actor ingresa contraseña
4 El sistema valida contraseña válida para usuario
Postcondiciones principales del caso de uso
Usuario en línea.
Caminos de Excepción
Si no se escribe contraseña correcta, no hay ingreso y se comunica al usuario.
Título del Caso de Uso Crear Parqueadero ID del Caso de Uso CU-03
Descripción General del Caso de Uso
Este caso describe como se crea un parqueadero afiliado al sistema.
Entidades Involucradas
Administrador del sistema
Precondiciones
Ingresar en el sistema con el rol de administrador del sistema
Flujo normal de Eventos
1 El actor hace clic en la opción de crear parqueadero
2 El sistema retorna el formulario que para este fin esta diseñado.
3 El actor ingresa los valores solicitados y hace clic en guardar
4 El sistema valida que no se duplique el parqueadero y retorna un mensaje con el resultado de
la transacción.
Postcondiciones principales del caso de uso
El parqueadero es visible en el sistema
Caminos de Excepción
N/A
Título del Caso de Uso Ver información de parqueaderos ID del Caso de Uso CU-04
Descripción General del Caso de Uso
Este caso describe como se puede ver la información de parqueaderos, según criterio de búsqueda
Entidades Involucradas
Cliente
Precondiciones
Usuarios creados en sistema, parqueaderos creados, información sobre disponibilidad de
parqueaderos
Flujo normal de Eventos
1 El cliente selecciona criterio de búsqueda
2 El sistema muestra un mapa con los parqueaderos, según criterio de búsqueda
3 El cliente selecciona parqueadero escogido (cuando la consulta arroja más de uno)
4 El sistema muestra información del parqueadero seleccionado (Características, Horarios,
Servicios de valor agregado, promociones, etc.).
Postcondiciones principales del caso de uso
Se visualiza información de los parqueaderos.
Caminos de Excepción
N/A
Título del Caso de Uso Ver Fotos ID del Caso de Uso CU-05
Descripción General del Caso de Uso
Este caso describe como el cliente puede ver la foto del parqueaderos que seleccione en el CU-04.
Entidades Involucradas
Cliente
Precondiciones
Foto (s) disponible (s)
Flujo normal de Eventos
1 El cliente selecciona el parqueadero
2 Sistema muestra foto (o fotos) del parqueadero
Postcondiciones principales del caso de uso
Se visualiza la (s) foto (s) del parqueadero seleccionado
Caminos de Excepción
Si no se tiene fotos, se le informa de ello al usuario.
Título del Caso de Uso Reservar ID del Caso de Uso CU-06
Descripción General del Caso de Uso
Este caso describe como el cliente reserva un cupo en parqueadero
Entidades Involucradas
Cliente
Precondiciones
Usuario creados en sistema, disponibilidad de cupo en parqueadero
Flujo normal de Eventos
1 El cliente envía solicitud de reserva
2 El sistema confirma reserva
Postcondiciones principales del caso de uso
Reserva realizada
Caminos de Excepción
N/A
Título del Caso de Uso Actualizar Datos del parqueadero ID del Caso de Uso CU-07
Descripción General del Caso de Uso
Este caso describe como el cliente reserva un cupo en parqueadero
Entidades Involucradas
Administrador del parqueadero
Precondiciones
Parqueadero creado y activo en el sistema. Usuario con permisos de actualización sobre la información
del parqueadero.
Flujo normal de Eventos
1 El Administrador del parqueadero consulta los datos del parqueadero
2 El sistema visualiza los datos actuales del parqueadero
3 El Administrador del parqueadero actualiza datos, tales como: Horarios, Tarifas, Servicios
Adicionales, Promociones, Convenios.
4 El sistema almacena la información actualizada.
Postcondiciones principales del caso de uso
Datos del parqueadero actualizados
Caminos de Excepción
N/A
Título del Caso de Uso Consultar Histórico ID del Caso de Uso CU-08
Descripción General del Caso de Uso
Este caso describe como se consulta información histórica en el sistema.
Entidades Involucradas
Administrador del parqueadero
Precondiciones
Ingresar en el sistema como usuario Administrador
Flujo normal de Eventos
1 El actor hace clic en la opción de ver histórico
2 Sistema retorna un formulario con las opciones de búsqueda de información
3 El actor escoge los filtros que desea aplicar a la información
4 Sistema retorna información según el criterio escogido.
Postcondiciones principales del caso de uso
El administrador puede visualizar la información que los usuarios han agregado al sistema
Caminos de Excepción
N/A
SECCION 5: REQUERIMIENTOS DE CALIDAD
Se han identificado 3 atributos de calidad sobre los cuales se han priorizado los
escenarios de calidad.
Medida de la
El sistema entrega la respuesta esperada por el usuario en menos de un minuto
Respuesta
(Esta sección presenta los puntos de vista de la arquitectura del sistema. Comenzando por una breve
descripción de la estrategia arquitectural y un diagrama de contexto que muestre claramente la
frontera del sistema. Es importante identificar en este diagrama de contexto los sistemas externos
con los que se debe interactuar.)
• Nodo equipo cliente: es el que representa a cada dispositivo móvil o PC, desde el
cual se hacen consultas al sistema. Posee varios componentes de software, pero
solo se destaca en el diagrama el navegador en internet, desde el cual es accede a
las capacidades del sistema.
• Nodo equipo servidor principal: es el que representa a cada equipo desde el cual
el administrador general administra el sistema; allí también están las bases de
datos, librerías, etc. Posee varios componentes de software, pero solo se destaca
en el diagrama sistema como un componente compuesto de otros.
6.3.1 Descripción
Teniendo en cuenta que los elementos del mundo real se representan en los mapas
como:
Reserva: representa la información de cada reserva hecha por u cliente sobre un lugar
en un parqueadero después de la búsqueda.
Mapa: Representa un mapa con la información necesaria para ver cuadras, calles y
puntos importantes (parqueaderos).
Diagrama de Clases
6.3.2.2. Modelos de Estructuras Estáticas de Datos
Usuarios:
Perfiles:
Promociones:
Tarifas: representa la información de las tarifas usadas para cobro en cada
parqueadero.
Tarifas_Parqueaderos
Caracteristicas:
Caracteristicas_Parqueaderos:
Actividades conductor
Actividades parqueadero
Actividades Administrador
6.4 Punto de Vista de Concurrencia
6.4.1 Descripción
Aquí lo que se quiere para manejar la concurrencia es establecer dos escenarios de servicio
necesariamente complementarios: uno será para proveer funcionalidad para mapas, donde la
concurrencia será manejada por el contenedor de jsp’s. El otro escenario quiere manejar el flujo de
mensajes que ocurrirá cada vez que los parqueaderos quieran actualizar el cupo del parqueadero. La
idea es tener un servicio web asíncrono empotrado en el sistema de administración del parqueadero,
el cual enviara un mensaje a infoParking cada vez que ingresa o sale un carro del parqueadero. Se
quieren usar beans de mensajería, los cuales necesariamente son asíncronos y hacen que el flujo de
mensajería se acumule en una cola para ir atendiendo a los mensajes de uno en uno.
- Estrategias en el diseño de la multitarea
El acceso a un agente debe considerarse como un punto crucial concurrente, por tanto su
acceso debe sincronizarse.
Se plantea el uso de colas de mensajes, tipo publicador/subscriptor con validación de
aceptación, tolerancia a fallas, reintentos y serialización local.
- Abrazos mortales
Para evitar posibles escenarios de abrazos mortales, se optó por el mecanismo de colas de
mensajes para la publicación en el repositorio central, y en los instrumentos de exclusión
mutua (Mutex) en los agentes locales se evitará el uso de recursos comunes que puedan
ocasionar una condición de carrera entre las aplicaciones.
Modelo de concurrencia
El objetivo de las diferentes vistas desarrolladas en este documento es presentar las características de
la arquitectura que son relevantes. Principalmente se construyeron modelos que indican la
información relacionada con el sistema en los diferentes aspectos sobre los cuales tendrá desempeño
tales como: su funcionamiento, la localización de los diferentes componentes en una determinada
infraestructura de despliegue y la comunicación que existe con sistemas externos.
Aquí el punto de vista funcional y el de concurrencia muestran que la arquitectura propuesta define
una estrategia de concurrencia manejada por dos elementos diferentes de acuerdo a la funcionalidad
que provee un grupo de componentes. Una de estas estrategias es dejar que el contenedor de jsp’s
maneje esta concurrencia según sus capacidades propias. La otra estrategia permite establecer una
cola de mensajes para irlos atendiendo poco a poco, sobre todo porque en algunas horas, la solicitud
de atención de estos mensajes podría hacer colapsar al sistema.
Sumado a lo anterior tenemos el punto de vista de despliegue, a través de este podemos ver la
interacción física entre los diferentes elementos de hardware que alojan los componentes de la
aplicación. A través de los modelos de esta vista podemos identificar puntos críticos del sistema sobre
los cuales se deben tomar decisiones tecnológicas para favorecer el desempeño y la disponibilidad del
sistema. Es importante resaltar, que se trabajan estrategias de replicación y redundancia para la
correcta inclusión de la tolerancia a fallas.
Se hace una inclusión mínima del punto de vista de información para mostrar el diseño propuesto,
sobre el cual se edifica el modelo relacional implementado en la Base de Datos como mecanismo
principal de persistencia.
En resumen, las vistas ilustran el comportamiento del sistema principalmente bajo el escenario de
comunicación de alarmas y su interacción con otros sistemas a diferentes niveles de abstracción.
Se tuvieron en cuenta algunos de los retos planteados con el fin de conseguir una herramienta útil y
de fácil operación, de tal manera que no necesitara de usuarios expertos.
Algunos retos se cubrieron en la entrega final de forma total o parcial, y algunos se dejan para una
próxima iteración, pensando en la implementación del sistema más allá de lo académico.
• Interoperabilidad:
La interoperabilidad es básica en el sistema: hay un servicio web que se encarga de enviar la
actualización del cupo de los parqueaderos; esta funcionalidad es consumida en el servidor y
allí se encarga de persistir en la base de datos y tratar de forzar una sincronización de los
clientes para mantener o visualizar así la última versión del cupo.
• Para el proyecto InfoParking, es importante tener en cuenta que se pueden extraer patrones
de comportamiento a partir de los datos, que más allá de las consultas realizadas al sistema y
del resto de información que se gestione mediante el uso del sistema, se puede tener a la mano
información valiosa para los propietarios de parqueaderos como de interesados en
beneficiarse del uso del sistema.; un reto en este sentido puede ser, que a partir de los datos
provenientes del registro básico de clientes, parqueaderos, de las reservas y de las consultas,
se pueda inferir que tipo de sitios son los que habitualmente se visita (nodos de llegada), que
tipo de usuarios visitan determinado tipo de sitios, se puedan establecer rutas comunes por
las cuales se podrían instalar nuevos parqueaderos o establecimientos que puedan tener
oportunidad de negocio; y por qué no, proveer al usuario del sistema (conductor) información
importante sobre el contexto a partir de sus consultas frecuentes y los resultados de dichas
consultas, por ejemplo, si para un usuario, las consultas más frecuentes son sobre saber el
parqueadero más cercano a un centro comercial de la zona establecida en nuestro alcance, se
podría brindar información sobre otros centros comerciales que están más cerca de su
posición actual, ahorrándole tiempo y dinero al disminuir la distancia a recorrer.
• InfoParking, tendría más utilidad, si proveyera actualización de la vista del mapa de acuerdo
al contexto, por ejemplo, que si hay alguna obra en la zona que pueda desviar al conductor de
la mejor ruta para llegar a su punto final (parqueadero), el encargado de actualizar el sistema,
notifique al sistema de dicha obra y el sistema incluya dicha información en el mapa.
• En cuanto a visualización, se podrían tener en cuenta muchos aspectos (mapa con escala
variable, animaciones sobre rutas, etc), pero uno que es relevante y se tiene como
requerimiento desde el principio, es el de dar una vista panorámica sobre los parqueaderos
por medio de varias fotos; esto con el fin de brindar más información al usuario del sistema,
por ejemplo, si un conductor solicita información sobre el parqueadero más cercano a un
punto de la ciudad, al ver fotos del parqueadero puede identificarlo fácilmente si antes ha
estado en la zona, y puede también pensar en la oportunidad de realizar otras actividades
gracias a dicha identificación.
• La interfaz de usuario se contempla sencilla, así como la operación del sistema de forma fácil;
esto con el fin de no obligar a que los usuarios del sistema sean expertos, que puedan usar
dispositivos de diferentes tamaños y que estén en movimiento o no (PC, laptop, pda, celulares,
etc), no se debe olvidar que el usuario principal del sistema es un conductor de vehículo, quien
puede ser cualquier persona que no debe tener formación especial para sacar provecho del
sistema.