manual técnico - Biblioteca UCE - Universidad Central del Ecuador

Anuncio
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y
MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
ANÁLISIS, DISEÑO Y DESARROLLO DE UNA APLICACIÓN MÓVIL
PARA ENCONTRAR UNA PLAZA DE APARCAMIENTO A TRAVÉS DE
UN DISPOSITIVO MÓVIL CON GPS Y UN ENTORNO WEB PARA LA
ADMINISTRACIÓN DEL PARQUEADERO , HACIENDO USO DE
TECNOLOGÍAS Y MARCOS DE DESARROLLO DE SOFTWARE
LIBRE.
TRABAJO DE GRADUACIÓN PREVIO LA OBTENCIÓN DEL
TÍTULO DE INGENIERO INFORMÁTICO
AUTOR: TOSCANO MORENO CARLOS ALBERTO
TUTOR: ING. FREDDY EDUARDO SUÁREZ CRUZ
QUITO - ECUADOR
2015
DEDICATORIA
Esta tesis se la dedico a mi Dios quién supo guiarme por el buen camino, darme fuerzas
para seguir adelante y no desmayar en los problemas que se presentaban,
enseñándome a encarar las adversidades sin perder nunca la dignidad ni desfallecer en
el intento.
Para mi Mamita Pía por su apoyo, esfuerzo, consejos, comprensión, amor, ayuda en los
momentos difíciles, por su valentía de migrar para ayudarme
con los recursos
necesarios para estudiar. Y me han dado todo lo que soy como persona, mis valores,
mis principios, mi carácter, mi empeño, mi perseverancia, mi coraje para conseguir mis
objetivos
.
ii
Kalin. TM
AGRADECIMIENTO
Por todas tus bendiciones y por las alegrías en mi vida te agradezco Señor. Ya
que me has dado la calma y la sabiduría para tener firmeza en lo que siempre
me he propuesto.
Al amor de mi vida, mamita Pía, a ti mi mamita preciosa por aconsejarme y
mostrarme el mejor camino a seguir, por inculcarme buenos valores,
pensamientos de siempre superarme, por tu esfuerzo y valentía para sacarme
adelante, gracias por tu apoyo y amor incondicional.
A mi papito Chulo que siempre me inculco el hecho de ser cada día mejor y
luchar fuerte para alcanzarlo.
A mi hermana Patty, que más que hermana
ha sido como una madre
apoyándome y dándome un “Si puedes hermano si tú triunfas yo triunfo”.
A mis hermanos Alex, Diego y Byron por alentarme y brindarme su cariño y su
buen humor.
A mi Gabita, mi amor bello gracias por tu apoyo incondicional, por el amor,
paciencia, por tu alegría y por darme aliento cuando sentía desfallecer.
Kalin. TM
iii
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
Yo, Toscano Moreno Carlos Alberto en calidad de autor del
trabajo
de
tesis
realizada
sobre
ANÁLISIS,
DISEÑO
Y
DESARROLLO DE UNA APLICACIÓN MÓVIL PARA ENCONTRAR UNA
PLAZA DE APARCAMIENTO A TRAVÉS DE UN DISPOSITIVO MÓVIL
CON GPS Y UN ENTORNO WEB PARA LA ADMINISTRACIÓN DEL
PARQUEADERO , HACIENDO USO DE TECNOLOGÍAS Y MARCOS DE
DESARROLLO DE SOFTWARE LIBRE, por la presente autorizo a la
UNIVERSIDAD CENTRAL DEL ECUADOR, hacer uso de todos los
contenidos que me pertenecen o de parte de los que contiene
esta
obra,
con
fines
estrictamente
académicos
o
de
investigación.
Los derechos que como autor me corresponden, con excepción
de la presente autorización, seguirán vigentes a mi favor, de
conformidad con lo establecido en los artículos 5, 6, 8,19 y
demás pertinentes de la Ley de Propiedad Intelectual y su
Reglamento.
Quito, 24 días del mes de julio de 2015
_________________
TOSCANO MORENO CARLOS ALBERTO
C.C. 1716061096
iv
CERTIFICACIÓN TUTOR
v
vi
CALIFICACIÓN TRIBUNAL
vii
CONTENIDO
DEDICATORIA
II
AGRADECIMIENTO
III
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
IV
CERTIFICACIÓN TUTOR
V
CALIFICACIÓN TRIBUNAL
VII
CONTENIDO
VIII
LISTA DE FIGURAS
XII
LISTA DE TABLAS
XIV
RESUMEN
XVI
ABSTRACT
XVII
CERTIFICADO
XVIII
CREDENCIALES
XIX
CAPÍTULO 1
-2-
1
PRESENTACIÓN DEL PROBLEMA
-2-
1.1
Planteamiento del Problema
-2-
1.2
Aplicación informática para resolver el problema planteado.
-2-
1.3
INTERROGANTES DE LA INVESTIGACIÓN
-4-
1.4
OBJETIVOS
-4-
1.4.1
General.
-4-
1.4.2
Específicos.
-5-
1.5
ALCANCE
-5-
1.6
JUSTIFICACIÓN
-7-
viii
CAPÍTULO 2
-9-
2
MARCO TEÓRICO
-9-
2.1
Antecedentes
2.2
Aplicaciones Móviles
-9- 10 -
2.2.1
Tipos de Aplicaciones para Dispositivos Móviles
- 10 -
2.2.2
Sistemas Operativos para Dispositivos Móviles
- 12 -
2.2.3
Plataformas de Desarrollo para Dispositivos Móviles
- 17 -
2.2.4
Tipos de Dispositivos Móviles
- 18 -
2.2.5
Categorías de dispositivos móviles
- 19 -
2.3
Aplicaciones Web
2.3.1
2.4
- 20 -
Estructura de una Aplicación web
- 21 - 21 -
Desarrollo de Aplicaciones Web
2.4.1
Arquitectura Web
- 21 -
2.4.2
Patrón Modelo Vista Controlador (MVC)
- 23 -
2.4.3
Servidor Web
- 25 -
2.4.4
Navegador Web o Browser
- 25 -
2.4.5
Web Hosting
- 26 -
2.4.6
Tipos de alojamiento en un Web Hosting
- 26 -
2.4.7
Dominios
- 28 -
2.4.8
Estándares de Diseño Web
- 29 -
2.4.9
Beneficios del uso de estándares web
- 30 -
2.4.10
Tecnología GPS (Sistema de Posicionamiento Global)
- 31 -
2.4.11
Arquitectura del sistema GPS
- 31 -
2.4.12
Principios de funcionamiento del sistema GPS
- 32 -
2.5
SISTEMAS DE COORDENADAS
- 33 -
2.5.1
Coordenadas Proyectadas
- 33 -
2.5.2
Coordenadas Cartesianas
- 34 -
2.5.3
Coordenadas Geográficas
- 35 -
2.6
Web services
- 36 -
ix
CAPITULO 3
- 38 -
3
- 38 -
SOLUCIÓN PROPUESTA
Introducción
- 38 -
3.1
- 39 -
DESCRIPCIÓN DEL HARDWARE PARA EL DESARROLLO DEL PROTOTIPO
3.1.1
Teléfono inteligente (Smartphone).
- 39 -
3.1.2
Sistema de Posicionamiento Global “GPS”
- 41 -
3.1.3
Computador
- 45 -
El sistema prototipo se albergará en un equipo de las siguientes características:
3.2
DESCRIPCIÓN DE LAS COMUNICACIONES
- 45 - 45 -
3.2.1
Redes móviles WWAN
- 46 -
3.2.2
Servicios web (Web Service)
- 47 -
3.2.3
RESTful Web Services
- 48 -
3.2.4
Tipo JSON
- 49 -
3.3
DESCRIPCIÓN DEL SOFTWARE
- 49 -
3.3.1
Marco de Desarrollo (Java, Android)
- 49 -
3.3.2
Plataforma de desarrollo Java
- 51 -
3.3.3
Plataforma Java Enterprise Edition o Java EE
- 53 -
3.3.4
Servidor de Aplicación Jboss AS
- 53 -
3.3.5
Eclipse IDE
- 53 -
3.3.6
Java Server Faces
- 54 -
3.3.7
Primefaces
- 56 -
3.3.8
Ajax
- 57 -
3.3.9
EJB Enterprise JavaBeans
- 58 -
3.3.10
Arquitectura de EJB
- 58 -
3.3.11
SGBD PostgreSQL
- 60 -
3.3.12
Sistema Operativo Android de Google
- 62 -
3.4
Modelo Matemático
3.4.1
3.5
- 70 -
Simulación de Cálculo de Distancias
- 74 -
Información de Tipos de Parqueaderos
- 75 -
x
3.5.1
De Borde:
- 76 -
3.5.2
Intermodales
- 76 -
3.5.3
Zona Azul
- 76 -
3.5.4
Zona Azul universitaria
- 76 -
3.5.5
Cetro HISTÓRICO
- 77 -
CAPITULO 4
- 78 -
4
DESARROLLO DEL SOFTWARE DEL PROTOTIPO
- 78 -
4.1
Gestión del Proyecto Prototipo
- 78 -
4.2
Metodología de desarrollo de software
- 79 -
4.2.1
Metodología RUP (Proceso Racional Unificado)
- 80 -
4.2.2
ARTEFACTOS
- 83 -
4.3
ANÁLISIS Y DISEÑO DEL SISTEMA PROTOTIPO
- 84 -
4.3.1
Especificaciones de Requerimientos
- 84 -
4.3.2
Requisitos Candidatos
- 84 -
4.3.3
Contexto del Sistema Prototipo
- 85 -
4.4
Modelo de Dominio
- 86 -
4.4.1
Diccionario De Clases
- 88 -
4.4.2
Requisitos Funcionales
- 92 -
4.4.3
Descripción General
- 93 -
4.4.4
Identificación de Actores
- 94 -
4.4.5
Especificaciones de Casos de Uso
- 96 -
4.4.6
Requisitos No Funcionales
4.5
- 110 -
Análisis
- 111 -
4.5.1
Análisis de la Arquitectura
- 111 -
4.5.2
Análisis de Clases
- 112 -
4.5.3
Análisis de Casos de Uso
- 114 -
4.6
Diseño
4.6.1
- 116 -
Diseño de Clases
- 116 -
xi
4.6.2
4.7
Diseño de Casos de Uso
- 118 -
Implementación de la Base de Datos
- 123 -
4.7.1
MODELO CONCEPTUAL
- 125 -
4.7.2
MODELO FÍSICO
- 126 -
4.7.3
DESCRIPCIÓN DE OBJETOS DE LA BASE DE DATOS
- 127 -
5
CONCLUSIONES Y RECOMENDACIONES
- 136 -
5.1
CONCLUSIONES
- 136 -
5.2
RECOMENDACIONES
- 137 -
6
GLOSARIO
- 138 -
7
BIBLIOGRÁFIA
- 140 -
ANEXOS
- 143 -
ANEXOS A
- 144 -
MANUAL DE USUARIO APLICACIÓN WEB SYSQP
ANEXOS B.
- 144 -
- 157 -
MANUAL DE USUARIO APP Q-PARKING
- 157 -
ANEXOS C.
- 166 -
MANUAL DE TÉCNICO
- 166 -
LISTA DE FIGURAS
FIGURA 1.1
DIAGRAMA GENERAL DE LA APLICACIÓN
xii
-4-
FIGURA 2.1
CUOTA DE MERCADO
- 16 -
FIGURA 2.2
ESQUEMA GENERAL DE LAS TECNOLOGÍAS WEB.
- 22 -
FIGURA 2.3
FUNCIONAMIENTO DE UNA APLICACIÓN MVC
- 24 -
FIGURA 2.4
MODELO MULTICAPAS JAVA
- 25 -
FIGURA 2.5
COORDENADAS PROYECTADAS
- 33 -
FIGURA 2.6
COORDENADAS CARTESIANAS
- 34 -
FIGURA 2.7
COORDENADAS GEOGRÁFICAS
- 35 -
FIGURA 2.8
ESTRUCTURA WEB SERVICES
- 36 -
FIGURA 3.1
DIAGRAMA DE FUNCIONAMIENTO DE LA APLICACIÓN
- 39 -
FIGURA 3.2
SAMSUNG GALAXY S4
- 40 -
FIGURA 3.3
(DOP) DILUCIÓN DE LA PRECISIÓN GEOMÉTRICA
- 42 -
FIGURA 3.4
SEÑAL DE RADIO DE SATÉLITE 1 VIAJA A TRAVÉS DE MENOS DE LA ATMÓSFERA, LO
QUE RESULTA EN UNA MENOR DISTORSIÓN. SATÉLITE 2 ES BAJO EN EL HORIZONTE, SIN
EMBARGO, LO QUE RESULTA EN UNA DISTORSIÓN ATMOSFÉRICA SIGNIFICATIVA.
FIGURA 3.5
- 43 -
LA DISTORSIÓN EN SEÑALES DE RADIO SON CORREGIDAS POR LA COMBINACIÓN
DE SEÑALES SATELITALES (1 Y 2) CON INFORMACIÓN DE CORRECCIÓN TRANSMITIDA VÍA
ESTACIONES TERRESTRES GPS (3 Y 4)
- 43 -
FIGURA 3.6
ERRORES DE ESFÉRICOS
- 44 -
FIGURA 3.7
ERROR POR EFECTO MÚLTIPLE
- 44 -
FIGURA 3.8
ESPECIFICACIONES DE COMPUTADOR SERVIDOR
- 45 -
FIGURA 3.9
RED DE ÁREA EXTENDIDA INALÁMBRICA (WWAN)
- 46 -
FIGURA 3.10
RESTFUL WEB SERVICES
- 48 -
FIGURA 3.11
JAVA VIRTUAL MACHINE
- 52 -
FIGURA 3.12
COMPILACIÓN Y EJERCITACIÓN DE UN PROGRAMA JAVA
- 52 -
FIGURA 3.13
IDE ECLIPSE
- 54 -
FIGURA 3.14
CONTROLADOR (MANAGED BEAN)
- 56 -
FIGURA 3.15
TECNOLOGÍAS AGRUPADAS BAJO EL CONCEPTO DE AJAX
- 57 -
FIGURA 3.16
ARQUITECTURA EJB
- 59 -
FIGURA 3.17
CONEXIÓN JQPL (JAVA PERSISTENCE QUERY LANGUAGE)
- 60 -
FIGURA 3.18
PGADMIN, ADMINISTRACIÓN BASE DE DATOS
- 62 -
FIGURA 3.19
ARQUITECTURA DE ANDROID
- 64 -
FIGURA 3.20
CICLO DE VIDA DE UN ACTIVITY
- 68 -
FIGURA 3.21
IDE ECLIPSE – PARA ANDROID
- 69 -
FIGURA 3.22
ANDROID DEVELOPER TOOLS
- 70 -
xiii
FIGURA 3.23
DIVISIÓN DE LA TIERRA POR MERIDIANOS
- 71 -
FIGURA 3.24
TRIANGULO ESFÉRICO
- 71 -
FIGURA 3.25
CONVERTIDOR DE COORDENADAS
- 74 -
FIGURA 3.26
CALCULADOR DE DISTANCIAS ENTRE DOS PUNTOS DE LA TIERRA
- 75 -
FIGURA 4.1
CICLO DE VIDA DE UN PROYECTO
- 78 -
FIGURA 4.2
CRONOGRAMA QPARKUING
- 79 -
FIGURA 4.4
MODELO DE DOMINIO
- 87 -
FIGURA 4.5
DIAGRAMA DE ACTORES
- 95 -
FIGURA 4.6
DIAGRAMA DE CASOS DE USO DEL MÓDULO DE ADMINISTRACIÓN
- 97 -
FIGURA 4.7
DIAGRAMA GENERAL DE LOS CASO DE USO DEL PROTOTIPO
- 98 -
FIGURA 4.8
DIAGRAMA DE PAQUETES DE ANÁLISIS
- 111 -
FIGURA 4.9
DIAGRAMA DE ANÁLISIS DE CLASES
- 113 -
FIGURA 4.10
MODELO COLABORACIÓN DE MANTENIMIENTO BÁSICO
- 115 -
FIGURA 4.11
DISEÑO DE CLASES DEL SISTEMA Q-PARKING
- 117 -
FIGURA 4.12
DIAGRAMA DE SECUENCIA “GESTIONAR TARIFA”
- 118 -
FIGURA 4.13
DIAGRAMA DE SECUENCIA “GESTIONAR CLIENTES”
- 119 -
FIGURA 4.14
DIAGRAMA DE SECUENCIA “GESTIONAR USUARIOS”
- 119 -
FIGURA 4.15
DIAGRAMA DE SECUENCIA “GESTIONAR RESERVA”
- 120 -
FIGURA 4.16
DIAGRAMA DE SECUENCIA “GESTIONAR PARQUEADEROS”
- 120 -
FIGURA 4.17
DIAGRAMA DE SECUENCIA “GESTIONAR INGRESO”
- 121 -
FIGURA 4.18
DIAGRAMA DE SECUENCIA “GESTIONAR SALIDA”
- 121 -
FIGURA 4.19
DIAGRAMA DE SECUENCIA “GESTIONAR PAGOS ALQUILER”
- 122 -
FIGURA 4.20
DIAGRAMA DE SECUENCIA “GESTIONAR GEO-REFERENCIA”
- 122 -
FIGURA 4.21
DIAGRAMA DE SECUENCIA “GESTIONAR BUSCA PARQUEADERO”
- 123 -
FIGURA 4.22
MODELO CONCEPTUAL DE LA BASE DE BATOS Q-PARKING
- 125 -
FIGURA 4.23
MODELO FÍSICO DE LA BASE DE DATOS Q- PARKING
- 126 -
LISTA DE TABLAS
TABLA 2.1
CUOTA DEL MERCADO DE SISTEMAS OPERATIVOS ABIERTOS PARA SMARTPHONE - 16 -
TABLA 4.1
CUADRO DE COMPARACIÓN DE METODOLOGÍAS
xiv
- 80 -
TABLA 4.2
ARTEFACTOS DE METODOLOGÍA
- 83 -
TABLA 4.3
DESCRIPCIÓN CLASE CAJERO
- 88 -
TABLA 4.4
DESCRIPCIÓN CLASE PARQUEADERO
- 89 -
TABLA 4.5
DESCRIPCIÓN CLASE CLIENTE
- 89 -
TABLA 4.6
DESCRIPCIÓN CLASE PLAZA TICKET
- 90 -
TABLA 4.7
DESCRIPCIÓN CLASE FACTURA
- 91 -
TABLA 4.8
DESCRIPCIÓN CLASE DETALLE_FACTURA
- 91 -
TABLA 4.9
DESCRIPCIÓN CLASE TARIFA
- 92 -
TABLA 4.10
ACTORES PRINCIPALES Q-PARKING
- 94 -
TABLA 4.11
ACTORES SECUNDARIO Q-PARKING
- 95 -
TABLA 4.12
CASOS DE USO GENERALES Q-PARKING
- 96 -
TABLA 4.13
DESCRIPCIÓN CASO DE USO “GESTIONAR TARIFA”.
- 100 -
TABLA 4.14
DESCRIPCIÓN CASO DE USO “GESTIONAR CLIENTE”.
- 101 -
TABLA 4.15
DESCRIPCIÓN CASO DE USO “GESTIONAR USUARIOS”.
- 103 -
TABLA 4.16
DESCRIPCIÓN CASO DE USO “GESTIONAR PARQUEADERO”.
- 104 -
TABLA 4.17
DESCRIPCIÓN CASO DE USO “GESTIONAR PLAZA DE APARCAMIENTO”.
- 106 -
TABLA 4.18
DESCRIPCIÓN CASO DE USO “GESTIONAR RESERVAS”.
- 108 -
TABLA 4.19
DESCRIPCIÓN CASO DE USO “GESTIONAR FACTURA”.
- 109 -
TABLA 4.20
GLOSARIO DE “GESTIONAR PARQUEADERO”.
- 127 -
TABLA 4.21
GLOSARIO DE “GESTIONAR PLAZA TICKET”.
- 127 -
TABLA 4.22
GLOSARIO DE “GESTIONAR TARIFA”.
- 128 -
TABLA 4.23
GLOSARIO DE “GESTIONAR RESERVA”.
- 128 -
TABLA 4.24
GLOSARIO DE “GESTIONAR AUTORIZACIÓN SRI”.
- 129 -
TABLA 4.25
GLOSARIO DE “GESTIONAR FACTURA”.
- 129 -
TABLA 4.26
GLOSARIO DE “GESTIONAR DETALLE FACTURA”.
- 130 -
TABLA 4.27
GLOSARIO DE “GESTIONAR CLIENTE”.
- 130 -
TABLA 4.28
GLOSARIO DE “GESTIONAR TIPO PARQUEADERO”.
- 131 -
TABLA 4.29
GLOSARIO DE “GESTIONAR TIPO PARQUEADERO”.
- 131 -
TABLA 4.30
GLOSARIO DE “GESTIONAR USUARIO”.
- 132 -
TABLA 4.31
GLOSARIO DE “GESTIONAR PERFIL”.
- 132 -
TABLA 4.32
GLOSARIO DE “GESTIONAR ROL”.
- 133 -
TABLA 4.33
GLOSARIO DE “GESTIONAR PAGINA”.
- 134 -
TABLA 4.34
GLOSARIO DE “GESTIONAR PERMISO”.
- 135 -
TABLA 4.35
GLOSARIO DE “GESTIONAR PERSONA”.
- 135 -
xv
RESUMEN
ANÁLISIS, DISEÑO Y DESARROLLO DE UNA APLICACIÓN
MÓVIL PARA ENCONTRAR UNA PLAZA DE APARCAMIENTO A
TRAVÉS DE UN DISPOSITIVO MÓVIL CON GPS Y UN ENTORNO
WEB
PARA
LA
ADMINISTRACIÓN
PARQUEADERO,HACIENDO
USO
DE
DEL
TECNOLOGÍAS
Y
MARCOS DE DESARROLLO DE SOFTWARE LIBRE.
El presente proyecto nació de la necesidad
de aportar con una
solución informática que permita a los ciudadanos y turistas del
Distrito Metropolitano de Quito
buscar y reservar
una plaza de
aparcamiento para su vehículo de forma fácil y eficiente mediante el
uso de dispositivos móviles (Smartphones, tablets, etc); así como
también facilite a los dueños de los parqueaderos la administración
y facturación de sus plazas de aparcamiento. La construcción de
esta aplicación se lo realizo bajo una plataforma de software libre
con estándares de desarrollo JAVA JEE6, modelo MVC y siguiendo
una de las metodologías más usadas en el desarrollo de software
RUP.
DESCRIPTORES:
JAVA JEE6/ SERVIDOR DE APLICACIONES JBOSS
AS7 /
FRAMEWORK JSF / PRIMEFACES / API EJB / SERVICIOS WEB
REST / JAVASCRIPT OBJECT NOTATION JSON / POSTSGRESQL
/ ANDROID / GOOGLE PLAY SERVICES
xvi
ABSTRACT
ANALYSIS, DESIGN AND DEVELOPMENT OF A MOBILE
APPLICATION TO FIND A PARKING THROUGH A MOBILE
DEVICE WITH GPS AND A WEB ENVIRONMENT FOR THE
ADMINISTRATION OF PARKING, USING TECHNOLOGIES AND
FRAMEWORKS FREE SOFTWARE DEVELOPMENT.
his project was born from the need to provide a solution that allows
citizens and tourists of the Metropolitan District of Quito search for
and reserve a parking space for your vehicle easily and efficiently by
using mobile devices (smartphones, tablets , etc); as well as facilitate
the owners of the parking administration and billing of their parking
spaces. The construction of this application would perform under a
free software platform development with JAVA JEE6 standards, MVC
model and following one of the most used methods in software
development RUP.
DESCRIPTORS:
JAVA JEE6 / SERVER JBOSS AS7 / FRAMEWORK JSF / PRIMEFACES /
API EJB / WEB SERVICES REST/ JAVASCRIPT OBJECT NOTATION
JSON / POSTSGRESQL / ANDROID / GOOGLE PLAY SERVICES
xvii
CERTIFICADO
YO,
LCDA.
VICTORIA
PORTADORA DE
MARGARITA
CARRILLO
CARRASCO,
LA CÉDULA DE CIUDADANÍA 1703898674,
PROFESORA DE INGLÉS, CERTIFICO QUE LA TRADUCCIÓN AL
INGLÉS DEL RESUMEN DE TESIS PERTENECIENTE AL SEÑOR
TOSCANO
MORENO
CARLOS
ALBERTO,
C.C.1716061096
CORRESPONDE AL TEXTO ORIGINAL EN ESPAÑOL TESIS SOBRE.
“ANÁLISIS,
DISEÑO
Y
DESARROLLO
DE
UNA
APLICACIÓN MÓVIL PARA ENCONTRAR UNA PLAZA DE
APARCAMIENTO A TRAVÉS DE UN DISPOSITIVO MÓVIL
CON
GPS
Y
UN
ENTORNO
WEB
PARA
LA
ADMINISTRACIÓN DEL PARQUEADERO , HACIENDO USO
DE TECNOLOGÍAS Y MARCOS DE DESARROLLO DE
SOFTWARE LIBRE”.
ATENTAMENTE
QUITO, 24 DE JULIO DE 2015.
xviii
CREDENCIALES
xix
INTRODUCCIÓN
El presente trabajo tiene como objetivo aplicar los conocimientos y
experiencia adquiridos a lo largo de la carrera de Ingeniería
Informática, con un enfoque muy profesional que junto al profundo
deseo de investigación e innovación ayuden a contrarrestar uno de
los aspectos que afecta a la problemática de congestión vehicular
que en la actualidad se vive en el Distrito Metropolitano de Quito, lo
que se pretende es aportar con una solución informática, que
facilite a los conductores de vehículos a encontrar de forma rápida
y eficiente una plaza de aparcamiento y realizar una reserva de la
misma desde sus dispositivos móviles(Smartphone).
La siguiente tesis se desarrollará en base al siguiente contenido:
-1-
CAPÍTULO 1
1
1.1
PRESENTACIÓN DEL PROBLEMA
Planteamiento del Problema
El tema de la movilidad en la ciudad de Quito se complica cada vez
más, ya que actualmente en el hipercentro de la ciudad
(determinado entre el sector de la “Y” y la Villaflora) se produce
una circulación aproximada de 900 mil vehículos por día, lo que
quiere decir que en los sectores de mayor actividad alrededor de
35 mil vehículos demandan plazas de estacionamiento, según la
Corpaire 1, a los que hay que añadir aquellos que ingresan a diario
con fines comerciales, educación o salud, lo que ocasiona varios
cuellos de botella en la capital, principalmente durante las horas
pico.
El problema puede ser tan grande como se lo quiera ver pues esto
no solo sucede en Quito sino también en Guayaquil, Bogotá,
Caracas en fin muchas otras ciudades con dificultades de tránsito y
es en ciudades como éstas que aparcar un automóvil se vuelve
muy difícil.
La oferta de estacionamientos es deficitaria, lo cual genera
conflictos de tránsito, afectaciones ambientales y pérdida de
tiempo, derivados del exceso de circulación que no tiene otro
propósito que encontrar un sitio de parqueo.
1.2
Aplicación informática para resolver el problema planteado.
Se propone un aplicación informática que ayude a disminuir los
problemas de tráfico vehicular a través de una herramienta que
facilite a los conductores a obtener información desde su
1
CORPAIRE Corporación Municipal para el Mejoramiento del Aire de Quito”
-2-
dispositivo móvil (Smartphone) sobre los estacionamientos más
próximos a su ubicación e iniciar una reserva a una de las plazas
disponibles en el Sistema de Estacionamientos en el Distrito
Metropolitano de Quito.
Esta aplicación para dispositivo móvil (Smartphone) con módulo
GPS permitirá enviar con tan solo un par de clic, información
acerca de la posición del vehículo y una solicitud de una plaza de
aparcamiento.
La transmisión de estos datos se realiza a través tecnología web
service, que es quien hará el trabajo de pasarela de mensajería al
servidor en donde finalmente se aplican algoritmos para la
búsqueda del parqueadero más cercano y enviar una respuesta a
la solicitud del usuario, a su vez esta información se deberá enlazar
a cualquier mapa disponible en internet como Google Maps para
ubicar con exactitud las posibles rutas hacia el parqueadero
escogido siguiendo el trazado de rutas generadas por aplicación
de Google Maps.
Y en caso de que el conductor decida reservar una de las plazas
disponibles, inicie una sesión de reserva únicamente dando un clic.
Por medio de una aplicación web se ofrece la administración
completa del estacionamiento para que mantengan sus datos
actualizados
(aforo
disponible,
aforo
ocupado,
ubicación
y
coordenadas del estacionamiento, etc.), facturen los aparcamientos
y administren tarifas.
-3-
Figura 1.1
Diagrama general de la aplicación
Autor: Tesista
Fuente: Diseño Propio
1.3
INTERROGANTES DE LA INVESTIGACIÓN
¿Quién hará uso de esta aplicación?

Los dueños de vehículos que posean un dispositivo móvil
con módulo GPS que estén interesados en buscar
un
estacionamiento más próximo a su ubicación.

Los dueños de estacionamientos para mantener un registro
y un control del alquiler y reservas de sus plazas en la base
de datos a fin de prestar un mejor servicio a sus clientes.
1.4
OBJETIVOS
1.4.1 GENERAL.

Crear una aplicación para dispositivos móviles (Smartphone),
que con tan solo un par de clic el usuario encuentre una plaza
disponible en uno de los parqueaderos más próximos a su
-4-
posición para aparcar su vehículo, haciendo uso de tecnología
y de marcos de desarrollo de software libre.
1.4.2 ESPECÍFICOS.

Analizar, diseñar y desarrollar una aplicación móvil que junto a
la tecnología GPS determinará la posición del vehículo y
enviará una petición al servidor para la búsqueda de plazas
disponibles de aparcamiento, a través de servicios web, el cual
responde a ésta petición luego consultar la base de datos y
aplicar algoritmos .

Analizar, diseñar y desarrollar una aplicación web a través de la
cual los administradores de los parqueaderos podrán mantener
el control del alquiler de plazas, reservas, facturación,
actualización de sus datos en tiempo real.

Realizar un estudio de las posibles soluciones informáticas
líderes en el desarrollo aplicaciones móviles como lo son el
entorno de desarrollo IOS de Apple VS Android de Google,
elegir el que mejor se ajuste a nuestras necesidades, justificar
y demostrar el porqué de nuestra elección.
1.5
ALCANCE
El alcance de la tesis se ha definido en los siguientes puntos:

Cumplir rigurosamente lo propuesto en cada uno de los
capítulos que contienen el presente trabajo de titulación.

Seguir una metodología de desarrollo de software que se
adapte al tipo de aplicación a desarrollar, tiempo y
recursos disponibles e incluir documentación en cada
una de las etapas.

Gestión del proyecto.
-5-

Aplicación móvil para Smartphone con GPS con plan de
datos o internet, que estén bajo el sistema operativo
elegido por el desarrollador de esta tesis luego del
estudio realizado entre IOS vs Android de Google, las
versiones y modelos mínimos bajo los cuales funcionará
la aplicación se determinarán de igual forma luego de
este estudio como parte del capítulo 3.

Esta aplicación móvil muy sencilla de usar permitirá
realizar una búsqueda de parqueadero vía móvil con tan
solo un par de clic, de modo que no sea una distracción
para el conductor sino una ayuda rápida y eficiente para
encontrar una plaza disponible.

Esta aplicación móvil además proporciona información
valiosa
para
el
conductor
estacionamientos
no
sobre
cerrados
otro
tipo
como
de
los
estacionamientos de borde, intermodales, zona azul y
zona azul universitaria.

Desarrollo de la aplicación web para la administración
de estacionamientos cerrados con sus respectivos
módulos de, alquiler, reservas y facturación de plazas,
además la aplicación web goza de:

Definición de claves y privilegios de los usuarios del
sistema (administradores y cajeros, etc.).

Cuadros tarifarios según tipo de vehículo, día, hora.

Listado de control de vehículos en estacionamiento.

Listado de reservas vía móvil.

Facturación de plazas.

Aforo disponible.
-6-

1.6
Aforo ocupado.
JUSTIFICACIÓN
Los aspectos que respaldan este trabajo a nivel social, económico
y técnico, sustentando el valor de esta tesis son:
A nivel social.
La importancia del desarrollo de este proyecto radica en crear una
aplicación que resuelva en parte del problema de las ciudades con
altos índices congestión vehicular. Ayudará significativamente a
reducir tiempo en conseguir una plaza de estacionamiento,
mejorando así la movilización automotriz y por ende aporta a
mitigar el problema congestión vehicular, por otro lado es una
forma de ganar clientes para los administradores de los
parqueaderos que hagan uso del sistema.
La aplicación pretende ser puesta al alcance de la comunidad del
Distrito Metropolitano de Quito para que pueda ser descargada sin
costo alguno desde las tiendas de aplicaciones para dispositivos
móviles, será muy fácil de instalar y usar, en un dispositivo móvil
(Smartphone) que cuente con plan de datos o internet.
El empleo de la aplicación móvil además de ser un servicio para
que la comunidad busque un parqueadero si así lo requiere
durante sus actividades domésticas, de trabajo o sociales se busca
emplearlo para:

Una gestión y administración inteligente de plazas de
aparcamiento de los parqueaderos de la ciudad de Quito.

Incrementar la velocidad de circulación pues la aplicación
-7-
móvil junto a la aplicación Google Maps mostrará al
conductor la posición de los parqueaderos más cercanos.

Disminuir la congestión vehicular y el malestar que causa.

Reducir las complicaciones en la movilización y el tiempo en
buscar y parquear un automóvil.

Prevenir multas impuestos por el sistema Pico y Placa a los
ciudadanos residentes en Quito y a aquellos que vienen a la
ciudad desde otros cantones o provincias.
A nivel económico.
Considerando que se va a trabajar bajo marcos de desarrollo de
código abierto como Java, PostgreSQL como motor de base de
datos y JBoss como servidor de aplicaciones no se estima ningún
costo en lo que respecta a las licencias.
A nivel técnico.
Uso de tecnologías y marcos de desarrollo líder a nivel mundial
como: Apple (IOS), Google (Android) y Java EE sobre JBoss;
tecnologías que en un no muy lejano futuro acaparen el mercado
de
las
comunicaciones
móviles,
con
sus
muy
completos
dispositivos móviles (Smartphone) los cuales ofrecen la posibilidad
de instalación de programas.
-8-
CAPÍTULO 2
2
2.1
MARCO TEÓRICO
Antecedentes
Hoy en día el parque automotor de la ciudad de Quito ha crecido
vertiginosamente lo cual ha generado
la falta de espacio donde
estacionar este gran grupo de vehículos, en vista de esto el sector
público y privado ha visto la necesidad de generar y mejorar
parqueaderos existentes en la ciudad.
Con esta medida buscan mejorar la movilidad de los automotores de
manera que los
conductores no
parqueen los automotores en
espacios no adecuados para este propósito.
Al existir una alta demanda de vehículos en las entradas de los
parqueaderos (públicos y privados) produce congestión al momento
de movilizarse por las zonas aledañas, además el problema se
agudiza cuando los usuarios luego de una larga espera al momento
de llegar a la entrada del estacionamiento se encuentran con la
noticia de que el parqueadero ya no cuenta con plazas de
aparcamiento libres.
Por lo cual el sistema prototipo Q-PARKING denominado de hoy en
adelante en el desarrollo de este proyecto de titulación, presenta
una propuesta
a este problema
creando una herramienta
de
consulta y reserva de una plaza de aparcamiento disponible en los
parqueadero más cercanos a su posición, a través de un
Smartphone (teléfono inteligente).
Se desea aclarar que lejos de la realidad esta pensar que la
-9-
creación de un sistema de consulta motive a los ciudadanos a sacar
sus vehículos y saturar las estrechas calles de la ciudad, sino más
bien, el proyecto busca que los vehículos sean mejor estacionados
y no ocupen lugar inapropiado en la vía dejando espacio libre al
tránsito de las personas, bicicletas y vehículos.
2.2
Aplicaciones Móviles
Según, Alertaenlinea.gov [1]- Aplicaciones móviles: Qué son y cómo
funcionan, (2011), define:
Una aplicación móvil es un programa que se puede descargar
y acceder directamente desde un teléfono (Smartphone) o
desde algún otro móvil.

Aplicación móvil Web Aquella que necesita de un navegador
web o browser para ejecutarse, la aplicación y datos pueden
residir remotamente en un servidor u obtenerse del mismo
dispositivo móvil.

Aplicación nativa .Es aquella que se instala en el propio
dispositivo como cualquier otra aplicación y se desarrolla
utilizando un lenguaje de programación compatible con el
sistema operativo del dispositivo móvil o de un framework de
desarrollo (Java ME, .Net Compact Framework, etc.).
2.2.1 TIPOS DE APLICACIONES PARA DISPOSITIVOS MÓVILES
Según, Edukanda [2] - Desarrollo de las aplicaciones para móviles,
(2011), indica:
Se pueden crear distintas aplicaciones para nuestros
dispositivos móviles, como por ejemplo:
- 10 -
•
Aplicaciones de sistema, estas aplicaciones estarán
relacionadas al funcionamiento de nuestro terminal, como
podrían ser compresores de archivos, seguridad del
terminal, registro de llamadas, gestión de mensajes, etc.
•
Aplicaciones ofimáticas, las aplicaciones ofimáticas son
aquellas que nos permiten trabajar con documentos de
texto, hojas de cálculo, Excel, ficheros PDF, etc. Las más
comunes son QuickOffice 2y DocumentsToGo 3, aunque son
de pago.
•
Organización: este tipo de aplicaciones irán destinadas a la
organización de nuestros datos, contactos, notas, etc. Como
podrían ser el calendario, gestor de contactos, etc.
•
Aplicaciones web: Para poder utilizar este tipo de
aplicaciones hará falta una conexión de Internet en nuestro
móvil.

Un ejemplo de este tipo de aplicaciones serían: el
GPS, correo electrónico, Google Maps, navegadores
web, etc.

Dentro de la categoría anterior podríamos incluir
también las aplicaciones relacionadas con las redes
sociales, como: Facebook, Twitter, Hi5, etc.
•
Aplicaciones de accesibilidad: este tipo de aplicaciones
facilitará el uso del terminal para personas con algún tipo de
discapacidad. Ejemplos de este tipo de aplicaciones sería:
reconocimiento de voz, reconocimiento de caracteres,
lectura de texto, etc.
2
Quickoffice es una exclusiva suite de productividad para dispositivos móviles que permite a los usuarios ver, crear y editar
archivos de texto, presentaciones y hojas de cálculo.
3
DocumentstoGo es una aplicación para Android y otros sistemas operativos que te permite visualizar y acceder a
documentos en formato PDF, así como editar archivos de Microsoft Office Word, Excel y Power Point.
- 11 -
•
Existen otros tipos de aplicaciones como las multimedia, los
juegos, etc.
2.2.2 SISTEMAS OPERATIVOS PARA DISPOSITIVOS MÓVILES
Los sistemas operativos (SO) en un dispositivo móvil (Smartphone)
tiene el mismo concepto
que en un computador. La única
diferencia entre un SO de un computador y un SO de móvil es que
los procesos son menos complejos
y están orientados a la
conectividad inalámbrica en este último y por ende su SO también
lo es.
La generalización en los últimos años de teléfonos móviles,
Smartphone, PDAs, Tablet, etc., ha generado una importante
necesidad de aplicaciones para este tipo de dispositivos.
Las prestaciones de los dispositivos móviles se incrementan día a
día,
posibilitando
la
implementación
de
aplicaciones
muy
interesantes debido a:
Las siguientes ventajas
•
Acceso a Internet y conectividad mediante Bluetooth.
•
Envío de mensajes cortos.
•
Aceleración 2D y 3D.
•
Reproducción de video y sonido.
•
Cámara integrada.
•
Información de localización GPS.
•
Sensores de orientación.
•
Etc.
Limitaciones de los dispositivos móviles:

La necesidad de ahorrar energía obliga a utilizar procesadores con
una capacidad de cómputo limitada y baja frecuencia de reloj.
- 12 -

El uso intensivo de cálculos, gráficos, sonido, conexiones
inalámbricas etc. limita la vida de la batería.

La memoria disponible es muy limitada en comparación con la de
un computador ordinario.

El almacenamiento de datos persistente también es muy limitado:
memoria interna + tarjetas SD o similar
De acuerdo a estas características, prestaciones y limitaciones
tenemos los siguientes Sistemas operativos para dispositivos
en orden de mayor utilización en el mercado.
Android de Google Inc. (libre y de código abierto)
Según Wiki-Android, [3] (2012), define:
Android es un sistema operativo basado en Linux, enfocado
para ser utilizado en dispositivos móviles con pantalla táctil
como
teléfonos
inteligentes
o
tabletas
inicialmente
desarrollados por Android Inc, respaldado económicamente
por Google.
El software del sistema operativo Android se compone de
aplicaciones que se ejecutan en un framework Java de
aplicaciones orientadas a objetos sobre el núcleo de las
librerías Java en una máquina virtual Dalvik con compilación
en tiempo de ejecución.
Las bibliotecas están escritas en lenguaje C, un framework
OpenCore, una base de datos relacional SQLite, una API
gráfica OpenGL es 2D ,3D, una motor de renderizado
WebKit, un motor gráfico SGL, SSL y una librería estándar C
Versiones de Android




C: Cupcake (v1.5), Magdalena glaseada.
D: Donut (v1.6), Rosquilla.
E: Éclair (v2.0/v2.1), pastel francés conocido en España
como pepito, petisú, suso o canuto.
F: Froyo (v2.2), (Abreviatura de «Frozen Yogurt») Yogur
Helado.
- 13 -








G: Gingerbread (v2.3), Pan de jengibre.
H: Honeycomb (v3.0/v3.1/v3.2), Panal de miel.
I: Ice Cream Sandwich (v4.0), Sandwich de helado.
J: JellyBean (v4.1), Judía de gelatina.
Jelly Bean (Gummy Bear) (v4.2)
Jelly Bean (v4.3)
KitKat (v 4.4)
Lollipop (v5.0)
iOS de Apple Inc. (De código cerrado, propietario)
Según Wiki-IOS-Sistema Operativo. (2012),[4] define:
iOS es un sistema operativo desarrollado por Apple Inc. para
los dispositivos móviles iPod touch, iPhone e iPad. Está
basado en una variante del Mach kernel de Mac OS X. que a
su vez está basado en Darwin BSD, y por lo tanto es un
sistema operativo Unix.
BlackBerry OS de RIM (de código cerrado, propietario)
Según, Wiki-BlackBerry OS, (2012), [6] define:
BlackBerry OS es un sistema operativo móvil desarrollado
por BlackBerry para sus dispositivos BlackBerry. El sistema
permite multitarea y tiene soporte para diferentes métodos
de entrada adoptados por Research In Motion (RIM) para su
uso en computadoras de mano
Características
El SO BlackBerry está claramente orientado a su uso
profesional como gestor de correo electrónico y agenda.
Desde la cuarta versión se puede sincronizar el dispositivo
con el correo electrónico, el calendario, tareas, notas y
contactos de Microsoft Exchange Server además es
compatible también con Lotus Notes y Novell GroupWise.
Symbian de Nokia y Accenture (licencia abierta al público)
Según, Wikipedia-Symbian OS, (2012), [5] define:
- 14 -
Symbian fue un sistema operativo producto de la alianza de
varias empresas de telefonía móvil,aunque los orígenes de
Symbian no son atribuibles 100% a Nokia, fue esta empresa
la que hizo que esta plataforma evolucionara hasta la
versión que conocemos hoy en día como Symbian Bell. Este
es uno de los sistemas operativos para móviles más
conocidos, ya que Nokia (empresa que hasta hace unos
años lideraba por mucho el market-share) ha equipado la
gran mayoría de sus dispositivos con este sistema operativo.
web OS de HP (ciertas partes de código abierto)
Según, Wikipedia- web OS, (2012), [8] define:
web OS es un sistema operativo para dispositivos móviles
que se ejecuta en el kernel de Linux, inicialmente
desarrollado por Palm, que se lanzó con la Palm Pre .
•
Características
La interfaz gráfica de usuario de webOS fue diseñada para
dispositivos con pantalla táctil. Incluye un conjunto de
aplicaciones para el manejo de la información personal y usa
tecnologías web como HTML5, JavaScript y CSS.
Windows Phone de Microsoft (de código cerrado, propietario)
Según, Wikipedia- Windows Phone, (2012), [9] define:
Windows Phone es un sistema operativo móvil desarrollado
por Microsoft, como sucesor de la plataforma Windows
Mobil. A diferencia de su predecesor, está enfocado en el
mercado de consumo generalista en lugar del mercado
empresarial Con Windows Phone, Microsoft ofrece una
nueva interfaz de usuario que integra varios servicios
propios como SkyDrive, Skype y Xbox Live en el sistema
operativo.
- 15 -
Según, Gartner, Cuota
del mercado de Sistemas Operativos
abiertos para Smartphone. (2012) [13]
Un estudio de Gartner puede observar que en los próximos
años los sistemas operativos móviles que lideraran cuota de
mercado de
dispositivos móviles están resumidos en el
siguiente cuadro.
Tabla 2.1
Cuota del mercado de Sistemas Operativos
abiertos para Smartphone
Autor: Tesista
Fuente: Gartner
CUOTA DE MERCADO
3% 0%
Syambian
20%
49%
Android
Reasearch in Motion
17%
IOS
11%
Microsoft
Otros
Figura 2.1
Cuota de Mercado
Autor: Tesista
Fuente Gartner
- 16 -
Como se puede observar en el resumen de la tabla Symbian se
desploma permitiendo que la cuota en el mercado sea liderada
por Android, seguido por Microsoft y iOS de Apple muy de cerca,
por lo que nos permite prever que desarrollar esta aplicación de
titulación debe estar más orientada a escoger el sistema operativo
que va a liderar el mercado lo que facilitara que la aplicación a
desarrollarse despunte y sea atractiva para los usuarios finales.
2.2.3 PLATAFORMAS DE DESARROLLO PARA DISPOSITIVOS
MÓVILES
Las plataformas de desarrollo es el entorno de software común en
el cual se desenvuelve la programación de un grupo definido de
aplicaciones. Comúnmente se encuentra relacionada directamente
a un sistema operativo; sin embargo, también es posible
encontrarla ligada a una familia de lenguajes de programación o a
una Interfaz de programación de aplicaciones (API por sus siglas
en inglés).
El desarrollo de aplicaciones móviles con lleva a tener
varias
consideraciones de acuerdo al propósito y escenarios para los
que van hacer utilizados, también depende
de los sistemas
operativos que utilicen los proveedores de Teléfonos móviles.
Sería conveniente tener un estándar para plataformas de
desarrollo de aplicación móviles pero existen diversas plataformas
que fueron creadas para impulsar ciertos dispositivos lo cual trae
inconvenientes
en
cuanto
a
portabilidad,
efectividad
y
mantenimiento.
A continuación se describe las plataformas:

Symbian (S60 y UIQ): C++ con librerías nativas, desarrollada en Qt
estándar C ++, Symbian también se pueden programar con Python
, Java ME , Flash Lite , Rubí, NET , Web Runtime (WRT) Widgets y
- 17 -
Standard C / C + +,apoyado con una base de datos SQLite y SQL

Windows Phone: .NET Compact Framework, una versión limitada d
e .NET apoyado en una base de datos SQL Server

PalmOS: C/C++, con librerías nativas

Android: Java con librerías nativas (no J2ME) su almacenamiento
utiliza SQLite, una base de datos liviana

Java Mobile Edition (J2ME) para múltiples plataformas,
especialmente Symbian

BlackBerry:Java SDK 7.1 con una base de datos BlackBerry
Enterprise Server
2.2.4 TIPOS DE DISPOSITIVOS MÓVILES
Según, (Wikipedia, Dispositivo móvil. (2012),[20] define:
¿Qué es un dispositivo móvil?
Un dispositivo móvil se puede definir como un aparato de tamaño
pequeño, con algunas capacidades de procesamiento, con
conexión permanente o intermitente a una
red, con memoria
limitada, que asido diseñado específicamente para una función,
pero que puede llevar a cabo otras funciones más generales.
De acuerdo con esta definición existen multitud de dispositivos
móviles, desde los reproductores de audio portátiles hasta los
navegadores
GPS,
pasando
por
los
teléfonos
móviles
(Smartphone), los PDAs o los Tablet PCs. Nosotros en este trabajo
nos centraremos en teléfonos inteligentes o llamados Smartphone
Teléfono inteligente (Smartphone en inglés) es un término
comercial para denominar a un teléfono móvil que ofrece la
posibilidad de instalación de programas para incrementar el
procesamiento de datos y la conectividad.
- 18 -
PDA
(del inglés personal digital assistant (asistente digital
personal)),
también
denominado
computador
de
bolsillo
u
organizador personal, es una computadora de mano originalmente
diseñada como agenda electrónica la cual nos permite realizar
ciertas funciones que se lo harían en un computador , editar texto,
ver películas etc. .
Una tableta (del inglés: tablet o tabletcomputer)
es
un
tipo
de computadora portátil, de mayor tamaño que un Smartphone o
una PDA, integrado en una pantalla táctil (sencilla o multitáctil) con
la
que
se
interactúa
primariamente
con
los
dedos
o
una pluma stylus (pasiva o activa), sin necesidad de teclado físico
ni ratón. Estos últimos se ven reemplazados por un teclado
virtual y, en determinados modelos, por una mini-trackball integrada
en uno de los bordes de la pantalla.
2.2.5 CATEGORÍAS DE DISPOSITIVOS MÓVILES

Dispositivo móvil de datos limitado (Limited Data Mobile
Device):
dispositivos
que
tienen
una
pantalla
pequeña,
principalmente basada en pantalla de tipo texto con servicios de
datos generalmente limitados a SMS y acceso WAP.

Un típico ejemplo de este tipo de dispositivos son
los teléfonos móviles.

Dispositivo móvil de datos básico (Basic Data Mobile Device):
dispositivos que tienen una pantalla de mediano tamaño, (entre
120 x 120 y 240 x 240 píxeles), menú o navegación basada en
íconos por medio de una «rueda» o cursor, y que ofrecen correo
electrónico, lista de direcciones, SMS, y un navegador web básico.

Un típico ejemplo de este tipo de dispositivos son
los BlackBerry , iPhone y los teléfonos inteligentes.

Dispositivo móvil de datos mejorado (Enhanced Data Mobile
Device): dispositivos que tienen pantallas de medianas a grandes
(por encima de los 240 x 120 píxeles), navegación de tipo stylus, y
- 19 -
que ofrecen las mismas características que el dispositivo móvil de
datos básicos más aplicaciones nativas como aplicaciones
de Microsoft
Office
Mobile (Word,
Excel,
PowerPoint)
y
aplicaciones corporativas usuales, en versión móvil, como Sap,
portales
intranet,
etc.
Este
tipo
de
dispositivos
incluyen
los sistemas operativos como Android, IOS, BlackBerry OS , etc.
2.3
Aplicaciones Web
Según, (Wikipedia, Aplicaciones Web. (2015),[20] define:
Una aplicación Web es un sistema informático que los usuarios
utilizan accediendo a un servidor web a través de Internet.
Las aplicaciones web son populares debido a lo práctico del
navegador web como cliente ligero y cuya facilidad para actualizar y
mantener aplicaciones web sin distribuir e instalar software en los
potenciales clientes.
Las aplicaciones Web se están desplegando en Internet y en
intranets corporativas y extranets, donde tienen el potencial para
aumentar la productividad y cambiar la forma en que las empresas,
grandes y pequeñas hacen negocios.
Ventajas:
Proporcionan portabilidad, dado que puedes ejecutarlas desde
cualquier computador con conexión a internet u otra red, la facilidad
de mantener y actualizar dichas aplicaciones sin la necesidad de
distribuir e instalar un software en miles de potenciales clientes.
También la posibilidad de ser ejecutadas en múltiples plataformas.
Proporcionan escalabilidad puesto que son fáciles de actualizar e
implementar.
Proveen alta concurrencia ya que las aplicaciones basadas en web
pueden realmente ser utilizadas por múltiples usuarios al mismo
- 20 -
tiempo
Desventaja:
Las aplicaciones web requieren navegadores web totalmente
compatibles para funcionar
2.3.1 ESTRUCTURA DE UNA APLICACIÓN WEB
Una aplicación Web normalmente está estructurada por lo general
como una aplicación de tres capas las cuales en su forma más
común como primera capa tenemos el navegador web y un motor
capaz de usar alguna tecnología web dinámica (como por ejemplo:
PHP, Java Servlets o ASP, ASP.NET, CGI, Cold Fusion, embPerl,
Python como lenguajes de programación) que constituye la capa
intermedia. Por último, una base de datos constituye la tercera y
última capa.
El navegador web manda peticiones a la capa intermedia que
ofrece servicios valiéndose de consultas y actualizaciones a la
base de datos y a su vez proporciona una interfaz de usuario
En la actualidad el uso de esta arquitectura mediante la adición de
componentes de hardware permite que se balance la carga en los
servidores web y de la aplicación.
2.4
Desarrollo de Aplicaciones Web
2.4.1 ARQUITECTURA WEB
Los sitios web son una conjunción muy compleja de distintos
sistemas integrados entre sí (Bases de datos, servidores, redes,
componentes de backup y seguridad, etc.).
El modo de crear los documentos HTML ha variado a lo largo de la
- 21 -
corta vida de las tecnologías Web pasando desde las primeras
páginas escritas en HTML almacenadas en un fichero en el
servidor Web hasta aquellas que se generan al vuelo como
respuesta a una acción del cliente y cuyo contenido varía según las
circunstancias.
Además, el modo de generar páginas dinámicas ha evolucionado,
desde la utilización del CGI (Common Gateway Interface), hasta los
servlets pasando por tecnologías tipo Java Server Pages. Todas
estas tecnologías se encuadran dentro de aquellas conocidas
como Server Side, ya que se ejecutan en el servidor web.
Otro aspecto que complica el panorama son las inclusiones del
lado del cliente, Client Side, que se refieren a las posibilidades de
que las páginas lleven incrustado código que se ejecuta en el
cliente, como por ejemplo JavaScript y programas Java.
El esquema general de la situación se puede ver en la Figura 2.1,
donde se muestran cada tipo de tecnología involucrada en la
generación e interacción de documentos Web.
Figura 2.2
Esquema general de las tecnologías Web.
Autor: Tesista
Fuente: Introducción a las aplicaciones Web
- 22 -
Aspectos Generales en Arquitectura Web
Las aplicaciones desarrolladas para la web son muy populares por
su
fácil
Escalabilidad,
Separación
de
responsabilidades,
Portabilidad, Utilización de componentes en los servicios de
infraestructura, Gestión de la sesión de usuario, Aplicación de
patrones de diseño que hace más factible
el desarrollo de las
aplicaciones.
2.4.2 PATRÓN MODELO VISTA CONTROLADOR (MVC)
Aunque originalmente MVC fue desarrollado para aplicaciones de
escritorio, ha sido ampliamente adaptado como arquitectura para
diseñar e implementar aplicaciones web en los principales
lenguajes de programación.
MVC (Model-Controller-View) es un patrón de desarrollo software
muy extendido en internet que separa claramente tres elementos
claves en el desarrollo de aplicaciones: la parte del diseño (View),
la parte de negocio (Modelo) y la parte del Control o workflow
(Controller).
Este modelo de desarrollo ha obtenido una gran aceptación a partir
de su implementación en Java a través del framework
Detallemos mejor estos 3 componentes claves:
•
Modelo: El modelo de objetos, es la parte de la aplicación que
implementa la lógica de negocio. Son las clases que
representan nuestros datos básicos
•
Vista: Las vistas son componentes que muestran parte del
- 23 -
modelo de negocio al usuario.
•
Controlador: Es el corazón de la aplicación y es el que controla
la interacción/worflow seleccionando parte de un modelo y
mostrándolo mediante una vista al usuario.
Veamos cómo funciona:
1. El usuario, solicita unos datos al controlador vía una url
2. El controlador pide al modelo, los datos solicitados por el
usuario
3. El controlador recibe los datos seleccionados del modelo
4. El controlador solicita la vista asociada a estos datos
5. El controlador recibe la vista que carga esos datos
6. El controlador devuelve al usuario la Jsp que carga los
datos solicitados
Figura 2.3
Funcionamiento de una aplicación MVC
Autor:Tesista
Fuente: Mi blog técnico
- 24 -
Figura 2.4
Modelo Multicapas Java
Autor: Tesista
Fuente: globalmentoring
2.4.3 SERVIDOR WEB
El servidor web o servidor HTTP es un programa que está
esperando permanentemente las solicitudes de conexión mediante
el protocolo HTTP por parte de los clientes web, dependiendo del
tipo de petición, el servidor web buscara una página web o bien
ejecutara un programa en el servidor de cualquier modo, siempre
devolverá algún tipo de resultado HTML al cliente o navegador o
realiza la petición.
El servidor es la parte fundamental en el desarrollo de aplicaciones
web.
2.4.4 NAVEGADOR WEB O BROWSER
El navegador puede considerarse como una interfaz de usuario
universal. Dentro de sus funciones están la petición de las páginas
Web, la presentación adecuada de sus contenidos y la gestión de
los posibles errores que se puedan producir
- 25 -
2.4.5 WEB HOSTING
Según, Wiki –Alojamiento Web. (2012),[11] define:
El alojamiento web (en inglés web hosting) es el servicio que
provee a los usuarios de Internet un sistema para poder almacenar
información, imágenes, vídeo, o cualquier contenido accesible vía
web. en este caso la analogía alojamiento web o alojamiento de
páginas web, se refiere al lugar que ocupa una página web, sitio
web, sistema, correo electrónico, archivos etc. en internet o más
específicamente en un servidor que por lo general hospeda varias
aplicaciones o páginas web.
2.4.6 TIPOS DE ALOJAMIENTO EN UN WEB HOSTING
Alojamiento gratuito es un alojamiento limitado donde por lo
general agregan publicidad
en los sitios y tienen un espacio y
transito limitado
Alojamiento compartido En este tipo de servicio se alojan clientes
de varios sitios en un mismo servidor, gracias a la configuración del
programa servidor web. Resulta una alternativa muy buena para
pequeños y medianos clientes, es un servicio económico debido a
la reducción de costos ya que al compartir un servidor con cientos
miles o millones de personas o usuarios el costo se reduce
drásticamente para cada uno, y tiene buen rendimiento.
Entre las desventajas de este tipo de hospedaje web hay que
mencionar sobre todo el hecho de que compartir los recursos de
hardware de un servidor entre cientos o miles de usuarios
disminuye notablemente el desempeño del mismo. Es muy usual
también que las fallas ocasionadas por un usuario repercutan en
los demás por lo que el administrador del servidor debe tener suma
- 26 -
cautela al asignar permisos de ejecución y escritura a los usuarios
Alojamiento de imágenes
Este tipo de hospedaje se ofrece para guardar imágenes en
internet, la mayoría de estos servicios son gratuitos y las páginas
se valen de la publicidad colocadas en su página al subir la imagen
Alojamiento revendedor
Este servicio de alojamiento está diseñado para grandes usuarios o
personas que venden el servicio de hospedaje a otras personas.
Estos paquetes cuentan con gran cantidad de espacio y de
dominios disponibles para cada cuenta. Así mismo estos espacios
tienen un límite de capacidad de clientes y dominios alojados y por
ende exige buscar un servidor dedicada.
Servidores virtuales (VPS, Virtual Private Server)
La empresa ofrece el control de una computadora aparentemente
no compartida, que se realiza mediante una máquina virtual. Así se
pueden administrar varios dominios de forma fácil y económica,
además de elegir los programas que se ejecutan en el servidor. Por
ello, es el tipo de producto recomendado para empresas de diseño
y programación web.
Servicio de Alojamiento Dedicado
Un servidor dedicado es una computadora comprada o arrendada
que se utiliza para prestar servicios dedicados, generalmente
relacionados con el alojamiento web y otros servicios en red. A
diferencia de lo que ocurre con el alojamiento compartido, en
donde los recursos de la máquina son compartidos entre un
número indeterminado de clientes, en el caso de los servidores
dedicados, generalmente es un sólo cliente el que dispone de
- 27 -
todos los recursos de la máquina para los fines por los cuales haya
contratado el servicio
Colocación (housing)
Este servicio consiste básicamente en vender o alquilar un espacio
físico de un centro de datos para que el cliente coloque ahí su
propia computadora. La empresa le da la corriente y la conexión a
Internet, pero el servidor lo elige completamente el usuario (hasta
el hardware).
Alojamiento web en la nube (cloudhosting)
El alojamiento web en la "nube" (cloudhosting) está basado en las
tecnologías más innovadoras que permiten a un gran número de
máquinas actuar como un sistema conectadas a un grupo de
medios de almacenamiento, tiene ventajas considerables sobre las
soluciones de web hosting tradicionales tal como el uso de
recursos.
La seguridad de un sitio web alojado en la "nube" (cloud) está
garantizada por numerosos servidores en lugar de sólo uno. La
tecnología de computación en la nube también elimina cualquier
limitación física para el crecimiento en tiempo real y hace que la
solución sea extremadamente flexible.
2.4.7 DOMINIOS
Un dominio o nombre de dominio es el nombre que identifica un
sitio web. Cada dominio tiene que ser único en Internet. Un solo
servidor web puede servir múltiples páginas web de múltiples
dominios, pero un dominio sólo puede apuntar a un servidor.
- 28 -
Un dominio se compone normalmente de tres partes: de tres uves
dobles (www), el nombre de la organización y el tipo de
organización (com).
Los tipos de organización más comunes son .COM, .NET, .MIL, y
.ORG, que se refieren a comercial, network, militar, y organización
(originalmente sin ánimo de lucro, aunque ahora cualquier persona
puede registrar un dominio .org).
Puesto que Internet se basa en direcciones IP, y no en nombres de
dominio, cada servidor web requiere de un servidor de nombres de
dominio (DNS) para traducir los nombres de los dominios a
direcciones IP. Cada dominio tiene un servidor de nombre de
dominio primario y otro secundario.
2.4.8 ESTÁNDARES DE DISEÑO WEB
Según, Maestros del Web- Estándares Web (2014), [29] define:
Los estándares web son un conjunto de recomendaciones dadas
por el World Wide Web Consortium (W3C) y otras organizaciones
internacionales acerca de cómo crear e interpretar documentos
basados en la Web.
Son un conjunto de tecnologías orientadas a brindar beneficios a
la mayor cantidad de usuarios, asegurando la vigencia de todo
documento publicado en la Web.
El objetivo es crear un Web que trabaje mejor para todos, con sitios
accesibles a más personas
dispositivo de acceso a internet.
- 29 -
y que funcionen en cualquier
2.4.9 BENEFICIOS DEL USO DE ESTÁNDARES WEB
Un sitio basado en estándares web mostrará una mayor
consistencia
Visual. Gracias al uso de XHTML para el contenido y CSS para la
apariencia, se puede transformar rápidamente un sitio, sin importar
que se trate de una página web o miles, realizando cambios en un
solo lugar.
Los documentos que separan apariencia de contenido usan menos
código, además, CSS permite conseguir efectos que antes
requerían el uso de JavaScript e imágenes, por lo que los sitios
basados en estándares utilizan menos ancho de banda y se
muestran más rápido a los usuarios, mejorando dramáticamente la
experiencia de estos.
Los documentos basados en XHTML válido son más relevantes
para los motores de búsqueda, contienen mayor información y
menos código, por lo que un sitio basado en estándares web tendrá
una mejor posición.
De igual manera, la posición en directorios, editados por humanos,
se verá beneficiada pues el sitio será más usable.
XHTML es una aplicación de XML, por lo que el contenido puede
ser procesado de muchas formas, permitiendo la creación de sitios
extensibles.
El uso de validadores nos permite crear XHTML bien formado.
Un sitio basado en estándares web es compatible con todos los
navegadores actuales, y lo será con versiones futuras. Funcionará
tan bien en un PC, un navegador aural y un teléfono móvil dentro
de diez años.
- 30 -
Un sitio basado en estándares web es más fácil de mantener y
actualizar, el código es más simple, de esta forma se elimina la
dependencia de un solo desarrollador.
Un sitio basado en estándares web es más accesible, permitiendo
a personas con discapacidades utilizar su contenido.
2.4.10 TECNOLOGÍA GPS (SISTEMA DE POSICIONAMIENTO
GLOBAL)
Según, Biblioteca-ArcGIS Resource Center (2012),[21] define:
El Sistema de posicionamiento Global (“GPS” Global Positioning
System) o NAVSTAR, (NAVigator System and Ranging) es un
sistema global de navegación por satélite (“GNSS” Global Navigation
Satellite System) que permite determinar en todo el mundo la
posición de un objeto, una persona o un vehículo con una precisión
hasta de centímetros (si se utiliza GPS diferencial), aunque lo
habitual son unos pocos metros de precisión.
2.4.11 ARQUITECTURA DEL SISTEMA GPS
El sistema se descompone en tres segmentos básicos, los dos
primeros de responsabilidad militar:
•
Segmento espacio, formado por 24 satélites GPS con una órbita
de 26560 Km. de radio y un periodo de 12 h.
•
Segmento control, que consta de cinco estaciones monitoras
encargadas de mantener en órbita los satélites y supervisar su
correcto funcionamiento,
•
Antenas terrestres que envían a los satélites las señales que
deben transmitir y una estación experta de supervisión de todas
las operaciones y segmento usuario, formado por las antenas y los
receptores pasivos situados en tierra. Los receptores, a partir de
los mensajes que provienen de cada satélite visible, calculan
- 31 -
distancias y proporcionan una estimación de posición y tiempo
2.4.12 PRINCIPIOS DE FUNCIONAMIENTO DEL SISTEMA GPS
El sistema GPS tiene por objetivo calcular la posición de un punto
cualquiera en un espacio de coordenadas (x,y,z), partiendo del
cálculo de las distancias del punto a un mínimo de tres satélites
cuya localización es conocida. La distancia entre el usuario
(receptor GPS) y un satélite se mide multiplicando el tiempo de
vuelo de la señal emitida desde el satélite por su velocidad de
propagación. Para medir el tiempo de vuelo de la señal de radio es
necesario que los relojes de los satélites y de los receptores estén
sincronizados, pues deben generar simultáneamente el mismo
código. Ahora bien, mientras los relojes de los satélites son muy
precisos los de los receptores son osciladores de cuarzo de bajo
costo y por tanto imprecisos. Las distancias con errores debidos al
sincronismo se denominan pseudo-distancias. La desviación en los
relojes del receptor les añade una incógnita más que hace
necesario
un
mínimo
de
cuatro
satélites
para
estimar
correctamente las posiciones
En el cálculo de las pseudo-distancias hay que tener en cuenta que
las señales GPS son muy débiles y se hallan inmersas en el ruido
de fondo inherente al planeta en la banda de radio. Este ruido
natural está formado por una serie de pulsos aleatorios, lo que
motiva la generación de un código pseudo-aleatorio artificial por los
receptores GPS como patrón de fluctuaciones. En cada instante un
satélite transmite una señal con el mismo patrón que la serie
pseudo-aleatoria generada por el receptor. En base a esta
sincronización, el receptor calcula la distancia realizando un
desplazamiento temporal de su código pseudo-aleatorio hasta
lograr la coincidencia con el código recibido; este desplazamiento
corresponde al tiempo de vuelo de la señal. Este proceso se realiza
- 32 -
de forma automática, continua e instantánea en cada receptor.
2.5
SISTEMAS DE COORDENADAS
Según, ArcGIS Resource Center. (2012), [21] define:
Un sistema de coordenadas nos permite la definición de la posición
de un objeto relativo en otros objetos y al centro de coordenadas.
Los sistemas de coordenadas más utilizados para representar la
superficie de la tierra son:
2.5.1 COORDENADAS PROYECTADAS
Un sistema de coordenadas proyectadas está definido en una
superficie plana, de dos dimensiones
En
este
sistema,
las
localizaciones
son
identificadas
por
coordenadas x, y en una cuadrícula, con origen al centro de dicha
cuadrícula. Cada posición tiene dos valores que la referencian a la
localización central. Un valor especifica la posición horizontal y el
otro valor la posición vertical. Los dos valores son llamados
coordenada X y coordenada Y
Figura 2.5
Coordenadas Proyectadas
Autor: Tesista
- 33 -
Fuente: ArcGIS Resource Center
2.5.2 COORDENADAS CARTESIANAS
En este sistema de coordenadas, una posición se define en un
espacio tridimensional por las coordenadas (x, y, z) (Ver Figura
2.9).
Los ejes de coordenadas se determinan de la siguiente forma:
•
El eje X pasa por el centro de la tierra y por el meridiano
principal de Greenwich.
•
El eje Y forma un ángulo de 90° con los otros dos ejes.
•
El eje Z pasa por el centro de la tierra y por los polos
Figura 2.6
Coordenadas Cartesianas
Autor:Tesista
Fuente: ArcGIS Resource Center
- 34 -
2.5.3 COORDENADAS GEOGRÁFICAS
Utilizan una superficie esférica tridimensional para definir las
localizaciones sobre la superficie terrestre. En este sistema
cualquier punto sobre la superficie terrestre se determina con dos
ángulos medidos desde el centro de la tierra, que se llaman latitud
y longitud (Ver Figura 2.7).
La longitud de un punto es el ángulo medido a lo largo del ecuador
desde cualquier punto de la tierra. Las líneas verticales de igual
longitud son círculos máximos que pasan por los polos y se llaman
meridianos. La longitud se mide con respecto a un meridiano
principal, que es el meridiano de Greenwich (longitud cero).
La latitud de un punto es el ángulo medido desde el centro de la
tierra hacia el norte, entre el Ecuador y la posición de un punto
sobre la superficie terrestre. Las líneas horizontales de igual latitud
se llaman paralelos. Se toma el Ecuador terrestre como la línea de
latitud cero.
Figura 2.7
Coordenadas Geográficas
Autor: Tesista
Fuente: ArcGIS Resource Center
- 35 -
2.6
Web services
Figura 2.8
Estructura Web services
Autor: Tesista
Fuente: Wordpress.com
Según wiki-Servicio web. (2013), [25] define:
Servicios web es un conjunto de protocolo y estándares que sirve
para intercambiar datos entre aplicaciones. Distintas aplicaciones de
software desarrolladas en lenguajes de programación diferentes, y
ejecutados sobre cualquier plataforma, pueden utilizar los servicios web
para intercambiar datos en redes de computadores como Internet
Estándares Empleados
WEB SERVICES
•
XML: Estándar para describir datos y crear etiquetas, las
características especiales son la independencia de datos o la
separación de los contenidos de su presentación.
•
SOAP : Especificación XML para la formación de mensajes
- 36 -
intercambiados entre los sistemas distribuidos y la red
•
WSDL: Lenguaje de descripción de servicios web, identifica los
métodos, funciones y parámetros necesarios para invocar un
determinado servicio.
Ventajas de los servicios web.
•
Aportan interoperabilidad entre aplicaciones de software
independientemente de sus propiedades o de las plataformas
sobre las que se instalen.
•
Los servicios Web fomentan los estándares y protocolos
basados en texto, que hacen más fácil acceder a su contenido
y entender su funcionamiento
•
Independencia del modo de transporte. SOAP puede funcionar
sobre múltiples protocolos de transporte, como por ejemplo
HTTP, HTTPS, HTTP-R, BEEP 4, JABBER 5, IIOP, SMTP o FTP.
•
Independencia del lenguaje de programación. El servidor y el
cliente no necesitan estar escritos en el mismo lenguaje
4
BEEP (Blocks Extensible Exchange Protocolo ) responsable del transporte de mensajes entre las Aplicaciones de red
- 37 -
CAPITULO 3
3
SOLUCIÓN PROPUESTA
Introducción
Debido a la gran demanda y popularidad de dispositivos móviles entre
los cuales tenemos los Smartphone (teléfonos inteligentes), con sistema
operativo Android de Google, representan una nueva oportunidad de
acceso para los sistemas informáticos.
Frente a esta articulación se propone el diseño de un sistema prototipo de
consulta y reserva de plazas en parqueaderos más cercano, el cual
busca facilitar la información de disponibilidad de los parqueaderos que se
registren a este sistema, permitiendo conocer el número de plazas libres y
como resultado del mismo descongestionar las vías para el normal
desenvolvimiento de los dueños de los automotores en las calles. De
manera general el sistema de búsqueda propuesto basa su estructura en
una aplicación web en donde los usuarios pueden utilizar accediendo a
un servidor web a través de Internet o de una intranet mediante un
navegador. Viendo en concepto tenemos:
Clientes.
Parqueaderos
que usan un módulo web
para la
administración y facturación de las plazas de aparcamiento.

Dueños de vehículos que usen el aplicativo móvil para la
consultar plaza disponible y parqueadero más cercano.
Servidor.- aloja a los módulos web, servicios web que serán consumidos
por los clientes
5
JABBER es un protocolo abierto y extensible basado en XML, originalmente ideado para mensajería instantánea
- 38 -
Figura 3.1
Diagrama de Funcionamiento de la aplicación
Autor: Teista
Fuente: Tesista
Por lo cual para el presente proyecto prototipo se ha
escogido los
siguientes Plataformas de programación para desarrollar la aplicación,
3.1
DESCRIPCIÓN DEL HARDWARE PARA EL DESARROLLO DEL
PROTOTIPO
Durante las última década hemos visto como la industria de la tecnología
celular ha crecido a pasos acelerados
por lo que es común encontrar
dispositivos móviles (Smartphone) que ya no se limitan a solo llamar o
enviar mensajes de texto, se podría decir que se han unificado múltiples
dispositivos
como (cámaras de fotos, dispositivos GPS, agendas
electrónicas y aplicaciones lo que les hace más atractivos para el uso de
los usuarios. Es por eso que no es tan difícil decidirse por un dispositivo
móvil (Smartphone) que se adapte a las necesidades del desarrollo de
esta aplicación de titulación. Razón por la cual, para mejorar la eficiencia
de la solución se decidió integrar tecnología soportada en el equipo
estandarizado como el que se detalla a continuación
3.1.1 TELÉFONO INTELIGENTE (SMARTPHONE).
Es un teléfono inteligente (Smartphone) que incorpora un sistema
- 39 -
operativo para móviles, con capacidad de computación más avanzada y
conectividad 3G/4G lo que permite acceso a internet de alta velocidad en
prácticamente cualquier lugar donde se disponga.
Los modelos actuales permiten
táctiles
ingresar información en sus pantallas
añaden funcionalidades como cámara de fotos, reproductores
multimedia, dispositivos GPS, navegadores web optimizados para sitios
móviles. Acceso a datos de alta velocidad es proporcionada por una red
Wi-Fi y de banda ancha móvil
Entre los sistemas operativos móviles que posee estos
teléfonos
inteligentes modernos incluyen Google Android, de Apple iOS , Nokia
Symbian , RIM BlackBerry OS , Samsung Bada , Microsoft Windows
Phone , Hewlett-Packard webOS.
Debido a lo anteriormente expuesto
Smartphone
se decidió seleccionar
Samsung Galaxy S4 (ver en la figura)
el
debido a su
tecnología táctil, GPS incluido, por el sistema operativo (Google Android
4.2) de grandes prestaciones, su procesador y conectividad 3G/4G que
ayudara y garantizara una respuesta rápida y fluida
de los datos a
utilizarse en la aplicación que se desarrolla para este mismo dispositivo.
Figura 3.2
Samsung Galaxy S4
Fuente: Sansung.com
- 40 -
3.1.2 SISTEMA DE POSICIONAMIENTO GLOBAL “GPS”
Ségún, THE CODE PROJECT, “Writing your own GPS
Applicactions: Part2”, (2013) [23] define:
Sistema de Posicionamiento Global (“GPS”, Global Positioning
System), es un sistema de navegación global por satélite (“GNSS”,
Global Navigation Satellite System) que permite determinar el
posicionamiento y localización de un objeto en cualquier parte del
globo terrestre
•
Funcionamiento de un GPS
Su funcionamiento se basa en una red de 24 satélites puestos en
órbita sobre el globo terráqueo con trayectorias sincronizadas para
cubrir toda la superficie del mismo, utilizando el método de
trilateración 6
inversa
(triangulación)
el
receptor
localiza
automáticamente como mínimo 3 satélites de dicha red.
El receptor GPS utiliza la información enviada por los
satélites (tiempo en la que emitieron las señales, localización de los
mismo) para tratar de sincronizar su propio reloj con el reloj
atómico que poseen los satélites para luego calcular la distancia de
cada satélite respecto al punto de medición y finalmente determinar
la posición relativa respecto de los satélites involucrados.
Cada satélite indica que el receptor se encuentra en un
punto en la superficie de la esfera, con centro en dicho satélite y de
radio la distancia total hasta el receptor.
Obteniendo información de dos satélites se nos indica que el
receptor se encuentra sobre la circunferencia que resulta cuando
se intersecan las dos esferas. Es así como obteniendo información
de más de tres satélites, eliminamos el inconveniente de la falta de
sincronización de los relojes pudiendo así determinar una posición
3-D exacta (latitud, longitud y altitud) que además utiliza el principio
6
La trilateración es un método matemático para determinar las posiciones relativas de objetos usando la geometría de
triángulos de forma análoga a la triangulación. A diferencia de ésta, que usa medidas de ángulo (junto con al menos una
distancia conocida para calcular la localización del sujeto),
- 41 -
de dilución geométrica 7 (GDop o DOP Dilución de precisión) (Ver
Figura 3-3) para tener una mayor precisión.
Figura 3.3
(DOP) Dilución de la precisión geométrica
Autor: Tesista
Fuente: ArcGIS Resource Center
•
CAUSAS DE ERROR DE PRECISIÓN DEL GPS
Existen varios fenómenos que pueden causar una mala
precisión. Por ejemplo, cuando las señales de radio por satélite son
transmitidas, estas son distorsionadas por la tropósfera y
especialmente por la ionósfera. De hecho, los satélites que vuelan
muy por debajo del horizonte no son buenos para conseguir una
buena resolución (obtención de coordenadas) porque las señales
viajan a través de la atmósfera. Algunos dispositivos GPS pueden
inclusive excluir estos satélites de una solución para evitar los
problemas de precisión que ellos podrían causar (Ver Figura 3.4).
7
Dilución geométrica es el Proceso de unión de dos o más polígonos mediante la eliminación de los lados comunes
- 42 -
Figura 3.4
Señal de radio de satélite 1 viaja a través de menos de la atmósfera, lo
que resulta en una menor distorsión. Satélite 2 es bajo en el horizonte, sin
embargo, lo que resulta en una distorsión atmosférica significativa.
Autor: Tesista
Fuente: ArcGIS Resource Center
Afortunadamente, la distorsión atmosférica puede ser medida y
corregida en su mayor parte. Esto se logra mediante el uso de estaciones
terrestres GPS (Ver Figura 3.5).
Figura 3.5
La distorsión en señales de radio son corregidas por la combinación de
señales satelitales (1 y 2) con información de corrección transmitida vía
estaciones terrestres GPS (3 y 4)
Autor: Tesista
Fuente: ArcGIS Resource Center
- 43 -
También existen errores de precisión si los satélites se salen de su
órbita (errores de efemérides, (Ver Figura 3.6) o por señales retardadas
(denominado efecto múltiple, (Ver Figura 3.7) producidas por rebote de las
señales en edificios u otros obstáculos.
Figura 3.6
Errores de Esféricos
Autor: Tesista
Fuente: ArcGIS Resource Center
Figura 3.7
Error por efecto múltiple
Autor: Tesista
Fuente: ArcGIS Resource Center
- 44 -
Para seleccionar el hardware del GPS, no se tuvo dificultad alguna
ya que como en el Smartphone ya viene incluido con este dispositivo no
se incurrió en este gasto. Lo que facilita la configuración a la hora de
probar el funcionamiento y abstracción de los datos de geo referencia del
usuario de la aplicación móvil.
3.1.3
COMPUTADOR
EL SISTEMA PROTOTIPO SE ALBERGARÁ EN UN EQUIPO DE
LAS SIGUIENTES CARACTERÍSTICAS:
Figura 3.8
Especificaciones de Computador Servidor
Autor: Tesista
Fuente: PropiaTesista
3.2
DESCRIPCIÓN DE LAS COMUNICACIONES
Según el análisis que se ha realizado
comunicaciones que se va
para aplicar las
utilizar para manejar el intercambio de
información entre el servidor y los clientes Smartphone se hará uso de
- 45 -
tecnología basada en servicios web, conexiones de redes móviles y el uso
de tramas JSON
3.2.1 REDES MÓVILES WWAN
Figura 3.9
Red de área extendida inalámbrica (WWAN)
Autor: Tesista
Fuente: Redes móviles
Son redes globales que abarcan países e incluso el planeta entero y que
dotan de comunicaciones a nivel internacional. Debido al alto coste de
implantación suelen ser redes privadas o gubernamentales que se
utilizan para multitud de servicios que explicaremos a continuación:
•
GSM/2G: Sistema de comunicación móvil de segunda
generación que soporta transmisión de voz y datos. Su
velocidad es baja 9,6KB/s, tiene mucho tiempo de
establecimiento (15segundos) y se tarifica por tiempo no
por datos.
•
GPRS/2.5G: Surge para apaliar los déficit del GSM, con
velocidades más altas (40 a 115 Kbps) que permiten
conexión aceptables a Internet. Se tarifica por volumen de
datos y no por tiempo.
•
8
UMTS 8/3G: Es el estándar de tercera generación que viene
UMTS (Universal Mobile Telecommunications System o servicio universal de telecomunicaciones móviles).
- 46 -
a proporcionar más velocidades de datos para permitir
servicios de datos del tipo video llamada, localización y
comercio electrónico. Su velocidad es de 2Mbps y también
se tarifica por volumen de datos y no por tiempo.
•
La 4G La principal diferencia con las generaciones
predecesoras será la capacidad para proveer velocidades
de acceso mayores de 100 Mbit/s en movimiento y 1 Gbit/s
en reposo, manteniendo una calidad de servicio (QoS) de
punta a punta de alta seguridad que permitirá ofrecer
servicios de cualquier clase en cualquier momento, en
cualquier lugar, con el mínimo coste posible
Por lo anterior expuesto y como se hace uso de un Smartphone con el
cual se ha contratado un paquete de datos que soporta tecnología 3G y
4G lo que facilita y ayuda en la descarga y envió de datos desde el
Smartphone al servidor de aplicación y viceversa.
3.2.2 SERVICIOS WEB (WEB SERVICE)
En la presente aplicación se hará uso de servicios web que
proporciona
un
medio
estándar
de
interoperabilidad
entre
aplicaciones de software que se ejecutara en una variedad de
plataformas, los cuales prestan servicios simples que pueden
interactuar entres si para ofrecer servicios de valor añadido
sofisticado
En el plano conceptual, un servicio es un componente de
software que se proporciona a través de una dirección de red o de la
nube a la cual se accede. El consumidor y el proveedor de servicios
utilizan mensajes para el intercambio de información que le da la
solicitud de invocación y la respuesta se da en
forma de
documentos según las capacidades tecnológicas del receptor.
Lo cual permite hacer uso de uno de los tipos de servicios
web que se adapta a nuestra aplicación por lo que escogimos como
- 47 -
herramienta para transferir información es: RESTful Web services
3.2.3 RESTFUL WEB SERVICES
Figura 3.10
RESTful Web Services
Autor: Tesista
Un servicio web RESTful (también llamada web RESTful API) es
una implementación simple de servicios web que usa el protocolo HTTP
con
los principios de Representación de
Transferencia de Estado
(REST). Este es un estilo de arquitectura de software para sistemas
hipermedia distribuidos en la World Wide Web.
En un servicio web RESTful cumple con el objetivo principal de
acceso a los recursos y a su vez a estos recursos los pude modificar,
actualizar, hasta crear recursos propios para que puedan ser consumidos
por otros usuarios.
La definición de servicio web REST puede ser considerados en tres
aspectos que logran la conexión con los recursos a ser consumidos.
•
El URI es una cadena de caracteres corta que identifica
inequívocamente un recurso base para el servicio Web,
- 48 -
Normalmente estos recursos son accesibles en una red o sistema
•
El tipo MIME de los datos compatibles con el servicio web. Esto es
a menudo JSON, XML o YAML, pero puede ser cualquier otro tipo
MIME válido.
•
El conjunto de las operaciones apoyadas por el servicio web
utilizando métodos HTTP (por ejemplo, POST, GET, PUT o
DELETE).
3.2.4 TIPO JSON
Entre los datos compatibles
con el servicio web se ha
decidido utilizar los datos JSON que es
un texto basado en
estándar abierto diseñado para un legible intercambio de datos
El formato JSON se utiliza a menudo para realizar
transmisión de datos estructurados sobre una conexión de red. Se
utiliza principalmente para transmitir datos entre un servidor y la
aplicación web, que sirve como una alternativa a XML.
3.3
DESCRIPCIÓN DEL SOFTWARE
3.3.1 MARCO DE DESARROLLO (JAVA, ANDROID)
Con el crecimiento exponencial de Internet en los últimos años, las
aplicaciones Web se han convertido en una parte básica y común dentro
del desarrollo de software, estas han acaparado la atención no solo de la
empresas
que desean formar parte de este nuevo mundo, sino de
aquellas que se han dedicado a las herramientas de desarrollo de
software
Dentro del desarrollo de este tipo de aplicaciones, Java juega un
papel muy importante actualmente, ya que este es uno de los usos más
comunes que se le da a este lenguaje de programación, además que
- 49 -
representa uno de los mejores medios para construir dichas aplicaciones,
para el desarrollo de la aplicación utilizaremos un marco de desarrollo o
framework que dentro del ambiente de desarrollo de software, es una
estructura de soporte en la cual otro proyecto de software puede ser
organizado
y desarrollado ,típicamente un framework puede
soporte de programas ,librerías
entre otros software
incluir
para ayudar a
desarrollar y unir diferentes componentes de un proyecto permitiendo a
diseñadores y programadores concentrarse en los requerimientos
proyecto ,reduciendo los posibles problemas
del
con las tecnologías
utilizadas .
Por lo cual se nos hace fácil utilizar el famoso patrón de diseño
Modelo Vista Controlador (MVC, Model-View-Controller) que nos permitirá
separar la lógica de la aplicación (Modelo) y la interfaz de usuario (Vista).
Finalmente entre los muchos framework existentes en el mercado
utilizaremos un framework
de interfaz de usuario como Java Server
Faces (JSF) para crear aplicaciones web en Java que sean dinámicas
,robustas y altamente escalables y cuya filosofía está basada en el uso de
componentes para el desarrollo web acompañado de AJAX que no es un
framework pero ayudara a reducir él envió de request al servidor y trata
de realizar la mayor parte de las operaciones en la parte del cliente para
acelerar y mejorar la interacción con los usuarios.
De igual manera que las aplicaciones web en los últimos tiempos
se han ido posesionando, de igual manera las aplicaciones móviles se
están haciendo muy populares debido al uso de dispositivos móviles con
altas prestaciones como las Tablet y Smartphone lo cual hace prever que
estas aplicaciones serán muy utilizadas, por la facilidad de interactuar y
acceder a recursos de los servidores de aplicaciones.
En este nivel también se encuentran las aplicaciones desarrolladas
en Android de Google, que usan un lenguaje de java y una máquina
virtual Dalvik que permite generar códigos más eficientes pensando en
- 50 -
procesadores más pequeños y este constituye el framework de aplicación
el cual representa fundamentalmente el conjunto de herramientas de
cualquier aplicación a desarrollarse en Android.
3.3.2 PLATAFORMA DE DESARROLLO JAVA
Para el desarrollo de esta aplicación de titulación se va
a tomar como lenguaje de programación a Java por ser un lenguaje que
presta todas las garantías en cuanto a seguridad, flexibilidad y por ser
software libre de licencias.
La plataforma Java es el nombre de un entorno o plataforma de
computación capaz de ejecutar aplicaciones desarrolladas usando el
lenguaje de programación Java u otros lenguajes que compilen a
bytecode y un conjunto de herramientas de desarrollo.
En su forma más simple, el entorno en tiempo de ejecución de Java
está conformado por una Máquina Virtual de Java o JVM, un conjunto de
bibliotecas Java y otros componentes necesarios para que una aplicación
escrita en lenguaje Java pueda ser ejecutada. El JRE actúa como un
"intermediario" entre el sistema operativo y Java.
La JVM es el programa que ejecuta el código Java previamente
compilado (bytecode) mientras que las librerías de clases estándar son
las que implementan el API de Java. Ambas JVM y API deben ser
consistentes entre sí, de ahí que sean distribuidas de modo conjunto.
Un usuario sólo necesita el JRE para ejecutar las aplicaciones
desarrolladas en lenguaje Java, mientras que para desarrollar nuevas
aplicaciones en dicho lenguaje es necesario un entorno de desarrollo,
denominado JDK, que además del JRE (mínimo imprescindible) incluye,
entre otros, un compilador para Java.
- 51 -
Figura 3.11
Java Virtual Machine
Autor: Tesista
Fuente: Clear Minds It
En el tiempo de ejecución, el bytecode es normalmente
interpretado o compilado a código nativo para la ejecución, aunque la
ejecución directa por hardware del bytecode por un procesador Java
también es posible.
Figura 3.12
Compilación y Ejercitación de un programa Java
Autor: Tesista
Fuente: Clear Minds It
- 52 -
3.3.3 PLATAFORMA JAVA ENTERPRISE EDITION O JAVA EE
Es una plataforma de programación, parte de la Plataforma Java para
desarrollar y ejecutar software de aplicaciones en el lenguaje de
programación
Java.
Permite
utilizar
arquitecturas
de
multicapas
distribuidas y se apoya ampliamente en componentes de software
modulares ejecutándose sobre un servidor de aplicaciones.
3.3.4 SERVIDOR DE APLICACIÓN JBOSS AS
Es un servidor de aplicaciones y Web uno de los más
completos que implementa la plataforma Java, Enterprise Edition (Java
EE), Al estar basado en Java, JBoss puede ser utilizado en cualquier
sistema operativo para el que esté disponible la máquina virtual de Java
3.3.5 ECLIPSE IDE
Eclipse es una plataforma de desarrollo open source
basada en Java. Es un desarrollo de IBM cuyo código fuente fue puesto a
disposición de los usuarios. En sí mismo Eclipse es un marco y un
conjunto de servicios para construir un entorno de desarrollo a partir de
componentes conectados (plug-in). Hay plug-ins para el desarrollo de
Java (JDT Java Development Tools) así como para el desarrollo en
C/C++, COBOL, etc
- 53 -
Figura 3.13
IDE Eclipse
Autor: Tesista
Fuente: Propia
3.3.6 JAVA SERVER FACES
En el desarrollo de la aplicación prototipo se hará uso de JSF que es
un framework que nos permite simplificar el desarrollo de interfaces de
usuario de esta aplicación Java para la web basada en el patrón MVC
JSF utiliza paginas JSP 9 para generar vistas, añadiendo bibliotecas
de etiquetas propias para crear los elementos de formularios HTML.
JSF nos permite asociar a cada vista con formularios un conjunto
de objetos java manejados por un controlador (Managed beans) que
facilitan la manipulación y visualización de los valores mostrados en los
diferentes elementos de los formularios.
Normalmente las aplicaciones web se construyen como un
conjunto de pantallas con las que va interactuando el usuario. Estas
9
JSP es una tecnología que ayuda a los desarrolladores de software a crear páginas web dinámicas basadas en HTML, XML
- 54 -
pantallas contienen textos, botones, imágenes, tablas y elementos de
selección que el usuario modifica.
Todos estos elementos estarán agrupados en formularios HTML,
que es la manera en que las páginas web envían la información
introducida por el usuario al servidor.
La principal función del controlador JSF es asociar a las pantallas,
clases java que recogen la información introducida y que disponen de
métodos que responden a las acciones del usuario.
JSF nos resuelve de manera muy sencilla y automática muchas
tareas como son las siguientes.
•
Muestra datos al usuario en cajas de texto y tablas.
•
Recoge los datos introducidos por el usuario en los campos del
formulario.
•
Controla el estado de los controles del formulario según el estado
de la aplicación, activando, ocultando o añadiendo y eliminando
controles y demás elementos
•
Realiza validaciones y conversiones de los datos introducidos por
el usuario
•
Rellena campos, listas, combos y otros elementos a medida que el
usuario va interactuando con la pantalla
•
Controla los eventos que ocurren en los controles (pulsaciones de
teclas, botones y movimientos del ratón).
Las aplicaciones JSF están formadas por los siguientes elementos
principales:
•
Páginas JSP que incluyen los formularios JSF. Estas páginas
generarán las vistas de la aplicación
- 55 -
•
Beans java que se conectan con los formularios JSF
•
Clases java para la lógica de negocio y utilidades.
•
Ficheros de configuración, componentes a medida y otros
elementos del framework.
•
Resto de recursos de la aplicación web: recursos estáticos,
JavaScript y otros elementos.
En la Figura 3.13 poder observar
un esquema como se
interrelacionan los controladores (Managed Bean) con las paginas
xhtml para el funcionamiento de las páginas que el usuario final va
manejar para hacer las peticiones al servidor.
Figura 3.14
Controlador (Managed Bean)
Autor : Tesista
Fuente: Clear Minds it
3.3.7 PRIMEFACES
Prime Faces es un componente para JavaServer Faces (JSF) de código
abierto que cuenta con un conjunto de componentes enriquecidos que
facilitan la creación de las aplicaciones web.
- 56 -
Primefaces está bajo la licencia de Apache License V2.
Una de las ventajas de utilizar Primefaces, es que permite la integración
con otros componentes como por ejemplo RichFaces.
3.3.8 AJAX
AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript
asíncrono y XML), es una técnica de desarrollo web para crear
aplicaciones interactivas o RIA (Rich Internet Applications). Estas
aplicaciones se ejecutan en el cliente, es decir, en el navegador de los
usuarios mientras se mantiene la comunicación asíncrona con el servidor
en segundo plano. De esta forma es posible realizar cambios sobre las
páginas sin necesidad de recargarlas, mejorando la interactividad,
velocidad y usabilidad en las aplicaciones.
As tecnologías que forman AJAX son:
•
XHTML y CSS, para crear una presentación basada en estándares.
•
DOM, para la interacción y manipulación dinámica de la presentación.
•
XML, XSLT y JSON, para el intercambio y la manipulación de
información.
•
XMLHttpRequest, para el intercambio asíncrono de información.
•
JavaScript, para unir todas las demás tecnologías.
Figura 3.15
Tecnologías agrupadas bajo el concepto de AJAX
Autor: Tesista
Fuente: Tecnologías Ajax
- 57 -
3.3.9 EJB ENTERPRISE JAVABEANS
En el desarrollo del prototipo también vamos hacer uso de
los Enterprise JavaBeans (también conocidos por sus siglas EJB) son
una de las API que forman parte del estándar de construcción de
aplicaciones empresariales J2EE (ahora JEE 6.0) de Oracle
Corporation (inicialmente desarrollado por Sun Microsystems).
Su
especificación
detalla
cómo
los
servidores
de
aplicaciones proveen objetos desde el lado del servidor
Los EJB nos permiten realizar lo siguiente:
•
Comunicación remota utilizando CORBA 10
•
Transacciones
•
•
•
•
Control de la concurrencia
Eventos utilizando JMS (Java messaging service)
Servicios de nombres y de directorio
Seguridad
Ubicación de componentes en un servidor de
aplicaciones.
•
Los EJB proporcionan un modelo de componentes distribuido estándar
del lado del servidor. El objetivo de los EJB es dotar al programador de
un modelo que le permita abstraerse de los problemas generales de
una aplicación empresarial (concurrencia, transacciones, persistencia,
seguridad, etc.) para centrarse en el desarrollo de la lógica de negocio
en sí. El hecho de estar basado en componentes permite que éstos
sean flexibles y sobre todo reutilizables.
3.3.10 ARQUITECTURA DE EJB
Los EJBs se ejecutan dentro de un contenedor EJB. Un servidor JEE
consta de un contenedor Web y un contenedor EJB.
10
Common Object Request Broker Architecture (CORBA) es un standard definido por el Object Management Group (OMG)
que permite que diversos componentes de software escritos en múltiples lenguajes de programación y que corren en diferentes
computadoras puedan trabajar juntos
- 58 -
Figura 3.16
Arquitectura EJB
Autor: Tesista
Fuente: Clear Minds It
La ventaja de trabajar con EJBs es que no tenemos q reinventar la
rueda y utilizamos todos los servicios de infraestructura que ya nos
brinda el servidor de aplicaciones y nos concentramos en desarrollar
la lógica de la aplicación.
Existen 2 tipos de componentes EJB: Session Beans y Message
Driven Beans (mdbs) como se muestra en la Figura 3.12. Con
respecto a la arquitectura de capas los Session Beans y los mdbs
implementan la capa de lógica de negocio, mientras que los Entities
trabajan en la capa de persistencia.
Los MDBs nos permiten manejar procesos asíncronos y se utilizan
también para los procesos de integración, a diferencia de los Session
Beans, utilizan un mecanismo de comunicación por mensajería en
lugar de invocación remota (RMI)
Mediante JPA podemos mapear los objetos java a tablas y registros de
la base de datos, además podemos ejecutar sentencias en la base a
nivel de objetos, utilizando JPQL (Java Persistence Query Language)
- 59 -
lo cual nos permite una fácil programación a la hora de utilizar los
recursos de la base de datos.
Figura 3.17
Conexión JQPL (Java Persistence Query Language)
Autor : Tesista
Fuente: Clear Minds It
3.3.11 SGBD POSTGRESQL
Es un SGBD relacional orientado a objetos y libre. Publicado bajo la
licencia BSD.
Características
Algunas de sus principales características son, entre otras:
•
Alta concurrencia
Mediante un sistema denominado MVCC (Acceso concurrente
multiversión, por sus siglas en inglés) PostgreSQL permite que
mientras un proceso escribe en una tabla, otros accedan a la
- 60 -
misma
tabla sin necesidad de bloqueos. Cada usuario obtiene una
visión consistente de lo último a lo que se le hizo commit. Esta estrategia
es
superior al uso de bloqueos por tabla o por filas común en otras
bases, eliminando la necesidad del uso de bloqueos explícitos.
•
Amplia variedad de tipos nativos

PostgreSQL provee nativamente soporte para:

Números de precisión arbitraria.

Texto de largo ilimitado.

Figuras geométricas (con una variedad de funciones
asociadas).

Direcciones IP (IPv4 e IPv6).

Bloques de direcciones estilo CIDR.

Direcciones MAC.

Arrays.
Adicionalmente los usuarios pueden crear sus propios tipos de datos, los
que pueden ser por completo indexables gracias a la infraestructura GiST
de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por
el proyecto PostGIS.
•
Claves ajenas también denominadas Llaves ajenas o Claves
Foráneas (foreign keys).
•
Disparadores (triggers): Un disparador o trigger se define como
una acción específica que se realiza de acuerdo a un evento,
cuando éste ocurra dentro de la base de datos. En PostgreSQL
esto significa la ejecución de un procedimiento almacenado basado
en una determinada acción sobre una tabla específica. Ahora todos
los disparadores se definen por seis características:

El nombre del disparador o trigger

El momento en que el disparador debe arrancar

El evento del disparador deberá activarse sobre...

La tabla donde el disparador se activará
- 61 -

La frecuencia de la ejecución

La función que podría ser llamada
Para la administración de la base de datos se usara PgAdmin que es una
herramienta de código abierto, donde tiene una interfaz gráfica que nos
permitirá usar como herramienta de consultas SQL, disponible para para
varios sistemas operativos Microsoft Windows, Linux, FreeBSD, Mac OSX
y Solaris.
Figura 3.18
PgAdmin, Administración Base de Datos
Autor: Tesista
Fuente: Propia
3.3.12 SISTEMA OPERATIVO ANDROID DE GOOGLE
Para el desarrollo de la aplicación prototipo se tomó este
sistema operativo por el fácil acceso a herramientas de desarrollo, por ser
de código abierto y por su gran crecimiento en la cuota del mercado de
sistemas para dispositivos móviles.
Para el desarrollo de la aplicación para el dispositivo móvil se utilizara el
- 62 -
sistema operativo Android en su versión de la lista de paquetes
disponibles seleccionaremos las de“Android SDK Platform-tools“
(Figura 3.16) las plataformas “ Android 4.1 (API 16)” y “Android 2.2
(API 8)“, y el paquete extra “Android Support Library“, lo cual significa
que la aplicación correrá en Smartphone con versiones de 2.2 (Froyo)
como versión mínima y V4.2 (Jelly Bean) versión máxima
Android es una plataforma para dispositivos móviles que contiene una
fuente de software donde se incluyen un sistema operativo, middleware 11
y aplicaciones básicas para el usuario, con las siguientes características:
•
Desarrollo rápido de aplicaciones, que sean reutilizables y
verdaderamente portables entre diferentes dispositivos.
•
Cuenta con su propia máquina virtual, Dalvik, que interpreta y
ejecuta
Código escrito en Java.
•
Permite la representación de gráficos 2D y 3D.
•
Posibilita el uso de bases de datos.
•
Soporta un elevado número de formatos multimedia.
•
Servicio de localización GSM.
•
Controla los diferentes elementos hardware: Bluetooth, Wi-Fi,
cámara fotográfica o de vídeo, GPS, acelerómetro, infrarrojos, etc.
•
Cuenta con un entorno de desarrollo muy cuidado mediante un
SDK disponible de forma gratuita.
•
Ofrece un plugin para uno de los entornos de desarrollo más
populares, Eclipse, y un emulador integrado para ejecutar las
aplicaciones
Un dispositivo Android cuenta con la siguiente arquitectura (Figura
12), la misma que se procederá a detallar sus componentes más
importantes.
11
Middleware es un software de computadora que conecta componentes de software o aplicaciones para que puedan
intercambiar datos o comunicarse entre si
- 63 -
Figura 3.19
Arquitectura de Android
Autor: Tesista
Fuente: Scoop.it
La capa más inmediata es la que corresponde al núcleo de Android, utiliza
el núcleo de Linux 2.6 como una capa de abstracción para el hardware
disponible en los dispositivos móviles, la cual contiene los drivers
necesarios para cualquier componente de hardware pueda ser utilizado.
Cabe recalcar que el fabricante es el encargado de crear las
correspondientes librerías de control o drivers.
La siguiente capa corresponde con las librerías utilizadas por Android,
estas han sido escritas utilizando C/C++ y proporcionan a Android la
mayor parte de sus capacidades y características:
•
La librería libc incluye todas las cabeceras y funciones según el
estándar del lenguaje C. Todas las demás librerías se definen en
este lenguaje.
•
La librería SurfaceManager es la encargada de componer los
- 64 -
diferentes elementos de navegación de pantalla. Gestiona también
las ventanas pertenecientes a las distintas aplicaciones activas en
cada momento.
•
OpenGL/SL y SGL representan las librerías gráficas y por tanto
sustentan la capacidad gráfica de Android.
•
La librería MediaPlayer proporciona todos los códecs necesarios
para el contenido multimedia soportado en Android (vídeo, audio,
imágenes estáticas y animadas, etc.)
•
A través de la librería SQLite, Android ofrece la creación y gestión
de bases de datos relacionales.
•
La librería WebKit proporción un motor para las aplicaciones de tipo
navegador, y forma el núcleo del actual navegador incluido por
defecto en la plataforma Android.
En este nivel también se encuentran las librerías de Android, entre las
cuales
Encontramos las CoreLibraries, estas están desarrolladas en lenguaje
java, y la máquina virtual Dalvik, que constituyen el framework de
aplicaciones el cual representa fundamentalmente el conjunto de
herramientas de cualquier aplicación.
Dentro de este framework de aplicaciones podemos mencionar algunas
de las librerías más importantes:
•
Activity Manager: Importante conjunto de APIs que gestiona el
ciclo de vida de las aplicaciones en Android.
•
Windows Manager: Gestiona las ventanas de las aplicaciones
•
TelephoneManager: Incluye todas las APIs vinculadas a las
funcionalidades propias del teléfono (llamadas, mensajes, etc.)
•
Content Providers: Permite a cualquier aplicación compartir sus
datos con las demás aplicaciones de Android. Por ejemplo, gracias
a esta
API la información de contactos, agenda, mensajes,
etc. Será accesible para otras aplicaciones.
- 65 -
•
View System: Proporciona un gran número de elementos para
poder construir interfaces de usuario (GUI), como listas, mosaicos,
botones,
check-boxes, tamaño de ventanas, control de las interfaces
mediante tacto o teclado, etc. Incluye también algunas vistas
estándar para las
•
funcionalidades más frecuentes.
Location Manager: Posibilita a las aplicaciones la obtención de
información de localización y posicionamiento.
•
Location Manager: Posibilita a las aplicaciones la obtención de
información de localización y posicionamiento.
•
Notification Manager: Permite que las aplicaciones usen un
mismo formato para comunicar al usuario eventos que ocurran
durante su ejecución, por ejemplo, una llamada entrante, un
mensaje recibido, conexión Wi-Fi disponible, ubicación en un punto
determinado, etc
La máquina virtual Dalvik ha sido optimizada y adaptada a las
peculiaridades propias de los dispositivos móviles (menor capacidad
de proceso, baja memoria, alimentación por batería, etc.) y trabajar
con ficheros de extensión .dex (DalvikExecutables). Dalvik no trabaja
directamente con el bytecode de Java, sino que lo transforma en un
código más eficiente que el original, pensado para procesadores
pequeños.
Los ficheros .class de Java se compilan en ficheros .dex, de forma que
cada fichero.dex puede contener varias clases. Después, este
resultado se comprime en un único archivo de extensión .apk
(AndroidPackage), el cual es el que se distribuirá a los dispositivos
móviles.
Una vez vista la arquitectura de Android, debemos revisar cuáles son
los componentes básicos de una aplicación:
- 66 -
•
Activity: Un componente Activity refleja una determinada actividad
llevada a cabo por una aplicación y se asocia típicamente a una
ventana o interfaz de usuario.
•
BroadcastIntent Receiver: Se utiliza para lanzar una ejecución
dentro de la aplicación actual cuando un determinado evento se
produzca. El sistema lanzará la aplicación si es necesario cuando
el evento monitorizado tenga lugar.
•
Service: Representa una aplicación ejecutada sin interfaz de
usuario y que generalmente tiene lugar en segundo plano mientras
otras aplicaciones son las que están activas en la pantalla del
dispositivo.
•
Content Provider: Una clase que implemente este componente
contendrá una serie de métodos que permite almacenar, recuperar,
actualizar y compartir los datos de una aplicación ya sea en
archivos o la base de datos SQLite.
Cada uno de los componentes básicos de Android tiene un ciclo de
vida bien definido; esto implica que el desarrollador puede controlar en
cada momento en qué estado se encuentra dicho componente,
pudiendo así programar las acciones.
El componente Activity, probablemente el más importante tiene el
siguiente ciclo de vida:
- 67 -
Figura 3.20
Ciclo de vida de un Activity
Fuente: Scoop it
En la Figura
3.20 podemos observar que entre los principales
eventos que tenemos son:
•
onCreate(), onDestroy(): Abarcan todo el ciclo de vida. Cada uno
de estos métodos representan el principio y el fin de la actividad
•
onStart(), onStop(): Representan la parte visible del ciclo de vida.
Desde onStart() hasta onStop(), la actividad será visible para el
usuario.
•
onResume(), onPause(): Delimitan la parte útil del ciclo de vida.
Desde onResume() hasta onPause(), la actividad no es visible.
La mayoría de las medidas de seguridad entre el sistema y las
aplicaciones deriva de los estándares de Linux 2.6. Por defecto,
- 68 -
ninguna aplicación tiene permiso para realizar ninguna operación o
comportamiento que pueda impactar negativamente en la ejecución de
otras aplicaciones o del sistema operativo. La única forma de poder
saltar estas restricciones impuestas por Android, es mediante la
declaración explícita de un permiso que autorice a llevar a cabo una
determinada acción.
Entorno de desarrollo Incluye un emulador de dispositivos,
herramientas para depuración de memoria y análisis del rendimiento
del software. El entorno de desarrollo integrado es Eclipse
(actualmente 3.4, 3.5 o 3.6) usando el plugin de Herramientas de
Desarrollo de Android.
Figura 3.21
IDE Eclipse – Para Android
Autor: Tesista
Fuente: Tesista
- 69 -
Figura 3.22
Android Developer Tools
Autor: Tesista
Fuente: Tesista
Con todo lo anterior expuesto se ha desarrollado
la siguiente
propuesta de solución para mitigar la búsqueda de parqueadero en el
Distrito Metropolitano de Quito, siempre tomando en cuenta que esta
solución no quiere decir que lejos de la realidad está pensar que la
creación de un sistema de consulta motive a los ciudadanos a sacar sus
vehículos y saturar las estrechas calles de la ciudad, sino más bien, el
proyecto busca que los vehículos sean mejor estacionados y no ocupen
un indeseado lugar en las vías, dejando más espacio libre al tránsito de
personas, vehículos y bicicletas.
3.4
Modelo Matemático
Lo que se pretende con este modelo matemático es determinar la
distancia más corta entre el auto y los parqueaderos disponibles que es la
esencia de nuestro proyecto, para definirlo se hará uso de la metodología
fundamental que usa la teoría aceptada de la ciencia fundamental para
obtener ecuaciones.
Para localizar un punto sobre la superficie de la Tierra, es necesario
conocer primero las coordenadas donde se encuentra ubicado ese punto,
es decir, la latitud (paralelos) y la longitud. Conocer el valor de las
- 70 -
coordenadas es imprescindible para poder ubicar la posición del
automóvil por medio del uso del GPS del Smartphone.
Figura 3.23
División de la tierra por Meridianos
Autor: Tesista
Fuente: ArcGIS Resource Center
Si tenemos dos puntos de la tierra cuya posición exacta conocemos por
sus coordenadas geográficas, el valor de la distancia que los separa lo
proporciona la trigonometría esférica.
Figura 3.24
Triangulo Esférico
Autor: Tesista
Fuente: ArcGIS Resource Center
- 71 -
Consideremos el triángulo esférico de vértices A, B y el polo Norte P.
Los lados de este triángulo esférico son:
•
AB = p = distancia entre A y B
•
AP = b = 90° - latitud del punto A
•
BP = a = 90° - latitud del punto B
El ángulo P del triángulo esférico, es decir el formado por los lados a y b
vale:
𝑃 = Á𝑛𝑛𝑛𝑛𝑛 𝑂𝑂 − Á𝑛𝑛𝑛𝑛𝑛 𝑂𝑂
𝑃 = 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 𝑝𝑝𝑝𝑝𝑝 𝐵 − 𝐿𝐿𝐿𝐿𝐿𝐿𝐿𝐿 𝑝𝑝𝑝𝑝𝑝 𝐴
Aplicando la primera fórmula de Bessel de la trigonometría esférica
(Teorema del Coseno):
𝐶𝐶𝐶 𝑝 = 𝐶𝐶𝐶 𝑎 ∗ 𝐶𝐶𝐶 𝑏 + 𝑆𝑆𝑆 𝑎 ∗ 𝑆𝑆𝑆 𝑏 ∗ 𝐶𝐶𝐶 𝑃
La latitud de un punto se suele expresar habitualmente por la letra griega
φ, mientras que para la longitud se reserva la letra griega λ. Usando esta
simbología la expresión anterior se escribe:
𝐶𝐶𝐶 𝑝 = 𝐶𝐶𝐶 (90 − 𝜑𝑎 ) ∗ 𝐶𝐶𝐶 (90 − 𝜑𝑏 ) + 𝑆𝑆𝑆 (90 − 𝜑𝑎 ) ∗ 𝑆𝑆𝑆 (90 − 𝜑𝑏 ) ∗ 𝐶𝐶𝐶 (𝜆𝑎 + 𝜆𝐵 )
El valor complementario de la latitud 90 – suele recibir el nombre de
colatitud.
Entonces
𝐶𝐶𝐶 (90 − 𝜑𝑎 ) = 𝑆𝑆𝑆𝜑𝑎
𝐶𝐶𝐶 (90 − 𝜑𝑏 ) = 𝑆𝑆𝑆𝜑𝑏
Luego:
𝐶𝐶𝐶 𝑝 = 𝑆𝑆𝑆 (𝜑𝑎 ) ∗ 𝑆𝑆𝑆 (𝜑𝑏 ) + [𝐶𝐶𝐶 𝜑𝑎 ∗ 𝐶𝐶𝐶𝜑𝑏 ∗ 𝐶𝐶𝐶(𝜆𝑎 − 𝜆𝑏 )]
- 72 -
Considerando a la tierra como una esfera de radio ecuatorial a, la
distancia den función del lado p (en grados):
𝑑 = 𝑝 ∗ 2 ∗ 𝜋 ∗ 𝑎/360
𝑝 = 𝑑 ∗ 360/(2 ∗ 𝜋 ∗ 𝑎)
De modo que con el valor a = 6378’1 Km
𝑝 = 𝑑 ∗ 111′3 = 𝑑/𝑘
Llamando
k=111’3, que expresa la distancia en kilómetros entre dos
paralelos separados por un grado de latitud. Sustituyendo en la expresión
anterior:
𝐶𝐶𝐶 𝑝 = 𝑆𝑆𝑆 (𝜑𝑎 ) ∗ 𝑆𝑆𝑆 (𝜑𝑏 ) + [𝐶𝐶𝐶 𝜑𝑎 ∗ 𝐶𝐶𝐶𝜑𝑏 ∗ 𝐶𝐶𝐶(𝜆𝑎 − 𝜆𝑏 )]
Y despejado la distancia
𝐷 = 𝑘𝑘𝑘𝑘𝑘{𝑆𝑆𝑆 (𝜑𝑎 ) ∗ 𝑆𝑆𝑆 (𝜑𝑏 ) + [𝐶𝐶𝐶 𝜑𝑎 ∗ 𝐶𝐶𝐶𝜑𝑏 ∗ 𝐶𝐶𝐶(𝜆𝑎 − 𝜆𝑏 )]}
Para obtener la distancia entre dos puntos de la Tierra, deberás partir de
los datos de latitud y longitud. Como los datos normalmente los tenemos
en grados, minutos y segundos, debes convertirlos a grados simples o
notación decimal usando la fórmula:
𝑔𝑔𝑔𝑔 𝑠𝑠𝑠𝑠𝑠𝑠𝑠 = 𝑔𝑔𝑔𝑔° + (𝑚𝑚𝑚′⁄60) + (𝑠𝑠𝑠′′⁄60/60)) ∗ (±1),
+1 = 𝑛𝑛𝑛𝑛𝑛, 𝑒𝑒𝑒𝑒,
- 73 -
− 1𝑠𝑠𝑠 , 𝑜𝑜𝑜𝑜𝑜
3.4.1 SIMULACIÓN DE CÁLCULO DE DISTANCIAS
Para la simulación se utilizara Microsoft Office Excel, donde primero se
realiza la conversión de grados, minutos y segundos a solo grados para
luego multiplicar por la constante como se detalla más adelante.
Figura 3.25
Convertidor de Coordenadas
Autor: Tesista
Fuente: Propia
Y luego convertirlos a radianes
𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 = 𝑔𝑔𝑔𝑔 𝑠𝑠𝑠𝑠𝑠𝑠 ∗
𝜋
180
Para aplicarlos en la ecuación:
𝑃 = 𝑆𝑆𝑆(𝑙𝑙𝑙𝑙𝑙𝑙𝑙1) ∗ 𝑆𝑆𝑆(𝑙𝑙𝑙𝑙𝑙𝑙𝑙2) + [𝐶𝐶𝐶(𝑙𝑙𝑙𝑙𝑙𝑙𝑙1) ∗ 𝐶𝐶𝐶(𝑙𝑙𝑙𝑙𝑙𝑙𝑙2)
∗ 𝐶𝐶𝐶(𝑙𝑙𝑙𝑙𝑙𝑙𝑙1 − 𝑙𝑙𝑙𝑙𝑙𝑙𝑙2)]
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 (𝑔𝑔𝑔𝑔 𝑠𝑠𝑠𝑠𝑠𝑠) = 𝐴𝐴𝐴𝐴(𝑃) ∗
180
𝜋
Para obtener la distancia en kilómetros no olvidar considerar que 1° = 111
mil kilómetros
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 (𝐾𝐾) = 𝐷 ∗ 111,194
- 74 -
Para obtener la distancia en Millas
𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 (𝑀𝑀𝑀𝑀𝑀𝑀) = 𝐷 ∗ 69,09
Para verificar si los cálculos de la simulación fueron realizados con
precisión se ingresa a la página web
http://www.tutiempo.net/p/distancias/calcular_distancias.html
Figura 3.26
Calculador de distancias entre dos puntos de la Tierra
Autor:Tesiata
Fuente: www.tutiempo.net
3.5
Información de Tipos de Parqueaderos
Según, AGENCIA PÚBLICA DE NOTICIAS DE QUITO, ”Municipio de
Quito” (2013) [15] define:
En el sistema prototipo tendrá un módulo de información sobre los tipos
de parqueaderos que ha implementado el municipio Metropolitano de
Quito. Se verificara siempre y cuando el usuario tenga plan de datos
para hacer la actualización de la información.
Por consiguiente ha generado cinco tipos de parqueaderos según la
- 75 -
Corpaire alrededor del distrito Metropolitano como son:
3.5.1 DE BORDE:
Que se encuentran ubicados en el perímetro de restricción del
“pico y placa” como los que se encuentran en:
1. El Condado
2. Monteolivo
3. Cuscungo
4. Carapungo
5. Las Cuadras
Entre estos suman un total de 1280 parqueaderos.
3.5.2 INTERMODALES
Son parqueaderos que se encentran en el interior de la ciudad que
promueven el intercambio modal en donde pueden dejar sus vehículos
en estos estacionamientos y acceder al transporte público como El
Trolebús, Eco vía, Corredor Central Norte y buses convencionales de
transporte .
Estos estacionamientos serían
1. Estación Trole "La Y"
2. Terminal Quitumbe
3. Río Coca (detrás de Terminal Interparroquial)
4. Plataforma La Ofelia
3.5.3 ZONA AZUL
Los estacionamientos públicos localizados en el interior de este
hipercentro, plazas para público de uso rotativo Por nombrar algunas
1. La Mariscal.
2. La Pradera.
3. La Carolina.
3.5.4 ZONA AZUL UNIVERSITARIA
Son zonas que se encuentran en las cercanías de las diferentes
- 76 -
universidades, por nombrar algunas tenemos:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Jorge Washington entre av. 12 de Octubre y Tamayo.
Gral. Francisco Robles entre av. 12 de Octubre y Tamayo.
Vicente Ramón Roca entre av. 12 de Octubre y Tamayo.
Jerónimo Carrión entre av. 12 de Octubre y Tamayo.
Ignacio de Veintimilla entre av. 12 de Octubre y Tamayo.
Mena Caamaño entre av. 12 de Octubre e Isabel La Católica.
Tamayo entre av. Colón y Luis Cordero.
Camilo Destruge entre Francisco Salazar y av. Colón.
Francisco Salazar entre av. 12 de Octubre y Tamayo.
3.5.5 CETRO HISTÓRICO
Son parqueaderos que se encuentran en la parte del centro
históricoasi tenemos los siguientes:
1. CADISÁN
2. EL TEJAR
3. MONTÚFAR 1
4. MONTÚFAR 2
5. LA RONDA
6. SAN BLAS
7. YAKU
- 77 -
CAPITULO 4
4
4.1
DESARROLLO DEL SOFTWARE DEL PROTOTIPO
Gestión del Proyecto Prototipo
La gestión del proyecto prototipo está enfocado a definir los
esfuerzos temporales para llevar acabo la creación del software QParking.
Para esto se genera un diagrama de ciclo de vida clásico de un
proyecto, para desarrollar el cronograma de actividades.
Figura 4.1
Ciclo de vida de un proyecto
Autor: Tesista
Fuente: Internet
Con lo declara anteriormente se procede a desarrollar el
cronograma de tiempos y tareas para el software prototipo.
El proyecto prototipo está constituido por 5 etapas que en este
caso serían los capítulos de esta tesina que empieza a
- 78 -
desarrollarse desde marzo de 2012 a octubre de 2013 en un
tiempo aproximado de la siguiente manera:
Figura 4.2
Cronograma Qparkuing
Autor: Tesista
Fuente: Propia
Para el desarrollo del prototipo se generaran 40 tareas que se irán
realizando conforme se vaya culminando las etapas de cada capítulo
que estén concadenadas para hacer optimo el desarrollo de esta tesina.
El cronograma completo se podrá observar en los Anexos
4.2
Metodología de desarrollo de software
Las
metodologías
imponen un proceso disciplinado sobre el
desarrollo de software con el fin de hacerlo más predecible y
eficiente.
Características
Estimación de requerimientos y
alcances
Integra todos los ciclos de
desarrollo tradicionales
Puntos de control específicos
Utiliza prototipos
Relación costo vs cambios en las
fases de desarrollo.
Interacción con el usuario en todas
- 79 -
RUP
2
RAD
1
XP
1
2
0
1
2
2
2
1
1
0
2
1
0
1
2
2
las fases de desarrollo
Posibilidad de trabajar con
herramientas CASE
Interacción con el usuario en la
fase de desarrollo
Nivel de conocimiento previo de la
metodología
Reutilización de componentes
Tabla 4.1
2
2
2
0
1
2
2
0
0
2
2
1
Cuadro de comparación de Metodologías
Autor: Tesista
Fuente: Internet
Para el desarrollo de este prototipo he escogido una metodología
ágil
y estándar. Después de la comparación de las distintas
metodologías
4.2.1 METODOLOGÍA RUP (PROCESO RACIONAL UNIFICADO)
Según, WIKIPEDIA.ORG,”rup”, (2012) [24] define:
Es un proceso de desarrollo de software y junto con el Lenguaje
Unificado de Modelado UML, constituye la metodología estándar
más utilizada para el análisis, implementación y documentación de
sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino
un conjunto de metodologías adaptables al contexto y necesidades
de cada proyecto.
Cambiar el “proceso de producción”
de un negocio siempre
significa un alto riesgo para el negocio y una gran inversión
.Gracias a RUP se puede implementar una manera estándar y
que sea comprensiva
para los involucrados en el proceso de
desarrollo del sistema ,ya sean analistas ,programadores e incluso
los mismos clientes
- 80 -
RUP se basa en casos de uso para describir lo que se espera del
Software y está muy orientado a la arquitectura del sistema,
documentándose lo mejor posible, basándose en UML (Unified
Modeling Language) como herramienta principal. RUP es un
proceso muy general y muy grande, por lo que antes de usarlo
habrá que adaptarlo a las características del prototipo. Por suerte
ya hay muchos procesos descritos que son versiones reducidas del
RUP.
RUP es un proceso para el desarrollo de un proyecto de un
software que define claramente quien, cómo, cuándo y qué debe
hacerse en el proyecto. Como 5 características esenciales:
•
Guiado por los Casos de Uso, lo que permite conocer de la
mejor manera las necesidades y requisitos en las que debe
enfocarse el sistema a desarrollar.
•
Centrado en la Arquitectura, lo que permite focalizar las
actividades de desarrollo en aquellas que conforman
elementos críticos del sistema
•
Iterativo, lo que permite construir varias versiones del
sistema antes de su finalización.
•
Unifica al equipo, debido a que todos los desarrolladores del
sistema deben interactuar entre sí para lograr la culminación
del sistema.
•
Divide el proceso, lo que permite mejorar el desarrollo ya
que cada una de las fases cumple con varios objetivos
específicos que permiten el control de los procesos.
El desarrollo de este Proyecto de Titulación se basará en la
Metodología RUP se desarrollará el prototipo de este proyecto a
través de todas las fases de la metodología considerando
únicamente una sola iteración.
- 81 -
El ciclo de vida RUP
Figura 4.3
El ciclo de vida RUP es una
Autor: Tesista
Fuente:Wikipedia
Una vez analizada la metodología RUP y sus características, se puede
concluir que es la mejor solución para el desarrollo del diseño y prototipo
de un sistema de búsqueda de parqueaderos Q-PARKING, ya que
permitirá definir de manera clara y ordenada quién, cómo, cuándo y qué
es lo que se debe hacer durante el desarrollo del proyecto.
- 82 -
4.2.2 ARTEFACTOS
ARTEFACTOS
NOMBRE /VERSIÓN
Rational Rose
Modelado de Negocio y
Enterprise v7.0 Full
modelado del sistema.
Power Designer 16
Diseño de la base de
Datos
Análisis, Diseño y
Documentación
FUNCIÓN
Microsoft Project 2010
Etapas de la Gestión de
Proyecto
Microsoft Visio 2010
Construcción de
Diagramas
Microsoft Office 2010
Construcción de la
Documentación
JDK 1.7
Herramientas de
desarrollo para la
creación de programas
en Java.
Eclipse Índigo
Entorno de desarrollo
integrado para
aplicaciones web
Desarrollo
Eclipse/ ADT con plug-in
Android
Entorno de desarrollo
integrado para
aplicaciones móviles
Android
PostgreSQL v9
SGBD relacional
orientado a objetos, para
almacenamiento
de datos
Tabla 4.2
Artefactos de Metodología
Autor : Tesista
Fuente: Propia
Para modelar los diferentes artefactos de la metodología RUP que se va a
presentar en este proyecto, se va utilizar las herramientas Rational Rose
Enterprise v7.0 Full, Power Designer 16 y Microsoft Office Visio 2010.
- 83 -
Entre otros mencionados en la tabla (4.3)
4.3 ANÁLISIS Y DISEÑO DEL SISTEMA PROTOTIPO
4.3.1
ESPECIFICACIONES DE REQUERIMIENTOS
En el análisis se busca obtener todos los requerimientos que el
sistema prototipo
debe cumplir para satisfacer
las necesidades del
usuario final
El Proceso Unificado de Desarrollo realiza los siguientes pasos
para poder capturar los requerimientos del sistema prototipo que se va a
desarrollar
•
Revisar Requisitos Candidatos
•
Entender el Contexto del Sistema Prototipo
•
Capturar Requisitos Funcionales
•
Capturar Requisitos no Funcionales
4.3.2
REQUISITOS CANDIDATOS
Se elaborara una lista de características que los desarrolladores
podrían implementar en el Prototipo, estos requisitos no son
estáticos ya que se puede agregar nuevos o quitar dependiendo
si se añaden nuevos módulos en el desarrollo del prototipo
Gestión de Usuarios
El sistema prototipo Q-PARKING
llevara un registro de
los usuarios que podrán manejar la aplicación creando roles para
las diferentes actividades dependiendo del perfil otorgado a cada
usuario siendo estas actividades como crear, eliminar o modificar
datos de los clientes y de usuarios
- 84 -
Gestionar Facturas
El sistema
prototipo
Q-PARKING
permitirá emitir facturas
impresas donde se detallara el costo que el cliente debe cancelar
por el tiempo de uso de la plaza de aparcamiento.
Gestionar Tarifas
El sistema prototipo Q-PARKING
permitirá gestionar las
tarifas para el uso de las plazas de aparcamiento así también las
tarifas de cortesía para clientes que envíen mensajes para la
localización del parqueadero más próximo y decidan reservar la
plaza de aparcamiento.
4.3.3 CONTEXTO DEL SISTEMA PROTOTIPO
En el Contexto del Sistema Prototipo se pueden encontrar
dos formas de aplicación, ya sea con la utilización de Modelos de
Dominio o con el Modelo de Negocio, que permite comprender de
mejor manera los conceptos propios del Dominio del Sistema que
se va a desarrollar.
Modelo de Dominio.- puede utilizarse para capturar y
expresar el entendimiento ganado en un área bajo análisis como
paso previo al diseño de un sistema, se lo representa con un
diagrama de clases que permite describir los conceptos
más
importantes del sistema como los objetos del dominio y se enlaza
unos con otros
Modelo de Negocios.- Se los representa con un diagrama
de Casos de Uso que permite describir los procesos de negocios
que podrá soportar el sistema, estableciendo las necesidades que
se requieren en cada proceso.
Para modelar el Contexto del sistema Q-PARKING, se utiliza
el Modelo del Dominio, que ayudará a describir los conceptos
- 85 -
destacados del sistema prototipo.
4.4
Modelo de Dominio
El modelo de Dominio permite representar los conceptos más relevantes
del dominio relacionados unos con otros. Presentados como uno o más
diagramas de clases
y que contiene,
no conceptos propios de un
sistema de software sino como un concepto de la propia realidad física
- 86 -
Modelo de Dominio
Figura 4.4
Modelo de Dominio
Autor: Tesista
Fuente: Propia
- 87 -
4.4.1 DICCIONARIO DE CLASES
En la sesión del Diccionario de clases, se realizara una breve descripción de
cada clase correspondiente al diagrama de clases de Dominio con sus
respectivos atributos
Clase
Descripción
Es la persona a cargo de mantener el
Cajero
funcionamiento de alquiler de plaza de
aparcamiento
Atributo
Descripción
Nombre
Sustantivo con el que se identifica al Usuario
Apellido
Sustantivo con el que se identifica al Usuario
Numero de dígitos que indican el número de
Teléfono
teléfono de la residencia
Numero de dígitos que indica su identificación
Cédula
única de la persona
Tabla 4.3
Descripción Clase Cajero
Autor :Tesista
Fuente: Propia
Clase
Parqueadero
Descripción
Edificación en la que se estacionaran los
vehículos
Atributo
Nombre_Parqueadero
Dirección
Teléfono
Descripción
Sustantivo para identificar el parqueadero
Lugar geográfico donde se encuentra ubicado el
parqueadero
Numero de dígitos que indican el número de
teléfono de la residencia
- 88 -
Numero de dígitos que indica su el número
Celular
telefónico móvil
Información que permite conocer el número de
Capacidad
autos que pueden ingresar
Latitud / longitud
Geo referencia donde está ubicado el
parqueadero
Tabla 4.4
Descripción Clase Parqueadero
Autor :Tesista
Fuente: Propia
Clase
Descripción
Cliente
Persona que va alquilar el servicio de parqueadero
Atributo
Descripción
Nombre
Sustantivo para identificar el cliente
Apellido
Sustantivo para identificar el cliente
Cedula
Ruc
Dirección
Teléfono
Celular
Numero de dígitos que indica su identificación
única de la persona
Numero de dígitos que indica su identificación
única de la persona
Lugar geográfico donde se encuentra su residencia
Numero de dígitos que indican el número de
teléfono de la residencia
Numero de dígitos que indican el número de
teléfono de su móvil
Tabla 4.5
Descripción Clase Cliente
Autor :Tesista
Fuente: Propia
- 89 -
Clase
Plaza Ticket
Descripción
Es la acción de alquiler un lugar en el parqueadero
Atributo
Fecha
Hora_llegada
Hora_salida
Placa
Tarifa
Descripción
Indica en el momento en el que se está realizando
la transacción de alquiler
Indica la hora de ingreso de automotor al
parqueadero
Indica la hora de salida en el cual el automotor
abandona el parqueadero
Numero de alfanumérico de identificación del
automotor
Valor que se le va a cobrar por el tipo de vehículo
Tabla 4.6
Descripción Clase Plaza Ticket
Autor :Tesista
Fuente: Propia
Clase
Factura
Descripción
Documento que indica el costo del alquiler del
parqueadero ha sido cancelado
Atributo
Número
Hora_llegada
Hora_salida
Placa
Descripción
Indica un número que identifica a la factura
Indica la hora de ingreso de automotor al
parqueadero
Indica la hora de salida en el cual el automotor
abandona el parqueadero
Numero de alfanumérico de identificación del
automotor
Tarifa
Valor que se le va a cobrar por el tipo de vehículo
Fecha
Indica la fecha en la que se emite la factura
Lugar en la factura donde se ubicara el costo parcial
Subtotal
del servicio de parqueadero por el tiempo que el
cliente ha dispuesto del mismo
Iva
Lugar en la factura donde se pondrá el impuesto al
- 90 -
valor agregado.
Lugar donde se ubicara el monto total a cancelar
Total
por el alquiler de la plaza de aparcamiento.
Tabla 4.7
Descripción Clase Factura
Autor :Tesista
Fuente: Propia
Clase
Descripción
Detalle _Factura
Es el lugar de la factura donde se va a describir el
consumo del servicio
Atributo
Cantidad
Hora-llegada
Hora-salida
Placa
Tarifa
Pecio
Precio final
Descripción
Tiempo en horas de consumo del automotor
Indica la hora de ingreso de automotor al
parqueadero
Indica la hora de salida en el cual el automotor
abandona el parqueadero
Numero de alfanumérico de identificación del
automotor
Valor que se le va a cobrar por el tipo de vehículo
Indica el precio de la tarifa que ha consumido el
automotor
En este lugar se indica el precio total del costo por
el alquiler de la plaza de aparcamiento
Tabla 4.8
Descripción Clase Detalle_Factura
Autor :Tesista
Fuente: Propia
- 91 -
Clase
Descripción
Es el lugar donde se va fijar el valor que se va a
Tarifa
cobrar por el servicio.
Atributo
Descripción
Tipo vehículo
Es el tipo de automotor que uso el servicio
Indica el precio de la tarifa que ha consumido el
Pecio
automotor
Id _ parqueadero
Es el parqueadero al cual pertenecen dichas tarifas
Tabla 4.9
Descripción Clase Tarifa
Autor: Tesista
Fuente: Propia
4.4.2 REQUISITOS FUNCIONALES
Por medio de los requisitos funcionales se podrá representar la unidad del
sistema Q-PARKING, para ello se recurrirá a la utilización de Casos de Uso y
la identificación de los actores.
Previo a la definición de los requerimientos se realizara la descripción general
del sistema, de acuerdo a ciertas condiciones del estándar IEEE 830-199812
(Recommended Practice for Software Requirements Specifications); lo cual
permite entender de mejor manera las características generales que manejara
el sistema.
Introducción
•
Propósito
Mediante la especificación de requerimiento de software se puede
definir las funciones y las restricciones que tendrá el APLICACIÓN
MÓVIL PARA ENCONTRAR UNA PLAZA DE APARCAMIENTO A
TRAVÉS DE UN DISPOSITIVO MÓVIL CON GPS Y UN ENTORNO
12
IEEE 830-1998. Este estándar describe las estructuras posibles, contenido deseable, y calidades de una especificación de
requisitos del software.
- 92 -
WEB PARA LA ADMINISTRACIÓN DEL PARQUEADERO
nominado Q-PARKING para así
de
poder dar a conocer a los
desarrolladores las especificaciones que debe cumplir el sistema y que
a su vez ellos puedan entender de manera clara todas las
características que debe tener el sistema.
4.4.3 DESCRIPCIÓN GENERAL
•
Perspectiva del Producto
“Q-PARKING” es un sistema que permite buscar el parqueadero más
cercano al usuario que use un Smartphone con GPS, además también
permite la administración de las plazas de aparcamiento y tener un
depósito de las direcciones, capacidad de los parqueaderos que se
encuentran al rededor del Distrito Metropolitano de Quito.
•
Funciones del Producto
Para conocer las funciones del producto se puede ir a la parte donde
se encuentra los Requerimientos Candidatos ya que en esta sección se
encuentran descritas de manera general las funciones del sistema
Q-PARKING.
•
Restricciones

El sistema no permitirá agregar más roles de los que
describieron anteriormente, funcionara en Smartphone con
sistema operativo Android.

No generara asientos contables necesarios para el SRI.

El sistema no generará sistema de tickets.

El sistema solo generara reportes básicos

El sistema solo admitirá mensajes de texto según las
especificaciones para luego ser contestados por el servidor de
localización de parqueaderos
- 93 -
4.4.4 IDENTIFICACIÓN DE ACTORES
A continuación se realizara la identificación de los Actores que
interactúan con el sistema búsqueda de parqueadero más cercano
Q-PARKING
Se divide en actores principales y secundarios:
•
Actores Principales.-
Son los actores que permiten realizar el
funcionamiento de las actividades en el parqueadero
ACTORES-
DESCRIPCIÓN
PRINCIPALES
Administrador
Persona que se encarga del manejo total del
sistema, podrá acceder a todas las funciones del
mismo
Cajero
Persona encargada únicamente de administrar el
módulo de facturación y recaudación del sistema
Tabla 4.10
Actores Principales Q-Parking
Autor : Tesista
Fuente: Propia
- 94 -
•
Actores Secundario .- Son los actores que son necesarios para que
inicie el funcionamiento de las actividades en el parqueadero
ACTORES
DESCRIPCIÓN
SECUNDADARIO
Cliente
Es la persona que está contratando el servicio
/SmartCliente
de alquiler de la plaza de aparcamiento que
puede ser un cliente presencial o un cliente con
dispositivo móvil (Smartphone)
Tabla 4.11
Actores Secundario Q-Parking
Autor :Tesista
Fuente: Propia
SISTEMA DE BUSQUEDA DE PARQUEADEROS
QUITOPARK
ADMINISTRADOR
CAJERO
Figura 4.5
CLIENTE
Diagrama de Actores
Autor : Tesista
Fuente: Propia
- 95 -
4.4.5 ESPECIFICACIONES DE CASOS DE USO
La captura de los casos de uso que realmente se requieren para la
implementación del sistema exige que se conozca a profundidad las
necesidades del usuario y del cliente.
Lista de Casos de Uso
Nro.
CASO DE USO
QP CU -01
Gestionar Tarifas
QP CU -02
Gestionar Clientes
QP CU -03
Gestionar Usuarios
QP CU -04
Gestionar Parqueadero
QP CU -05
Gestionar Plaza Aparcamiento
QP CU -06
Gestionar Reservas
QP CU -07
Gestionar Factura
Tabla 4.12
Casos de uso Generales Q-Parking
Autor :Tesista
Fuente: Propia
- 96 -
Gestionar Plazas de Aparcamiento
Generar Reportes
Gestionar Usuarios
Administrador
Gestionar Tarifas
Gestionar Parqueadero
Figura 4.6
Diagrama de casos de uso del módulo de Administración
Autor :Tesista
Fuente: Propia
- 97 -
Cajero
<<extend>>
<<extend>>
Cliente SmartPhone
Reserva plaza
<<extend>>
Registrar Ingreso
Registrar Salida
Gestionar Cortesia
Pagar Alquiler
<<extend>>
Cliente Parqueadero
Pago Prepago
Cliente
Figura 4.7
Diagrama General de los caso de uso del Prototipo
Autor :Tesista
Fuente: Propia
•
Descripción de Casos de Uso del Sistema
QP CU -01 Gestionar Tarifa
CASO USO
QP CU -01
Nombre
Descripción
GESTIONAR TARIFAS
Permite ingresar ,buscar y modificar
valores del costo del alquiles del
parqueadero según el tipo de vehículo, tipo
de cobro
Actores
Administrador
Precondición
Ingresar al sistema con perfil de
administrador
- 98 -
Paso
1
Acción
El actor invoca al caso de uso de
uso Gestionar Tarifa ingresando a
la sección tipo de cobro para
Flujo Básico
realizar la acción de crear tarifas
2
El actor decide crear una nueva
tarifa para lo cual el actor debe
ingresar todos los datos
necesarios como nombre de la
tarifa ,el valor , el tiempo
3
El actor selecciona la opción de
guardar la nueva tarifa creada y
que se realice los cambios en la
base de datos
Paso
Acción
4
En el segundo paso, el actor puede
buscar los datos e referentes a las
Flujo Alternativo
tarifas, para cual ingresa a la
sección de tarifas y se despliegan
los datos de las diferentes tarifas.
5
En el segundo paso, el actor puede
modificar los datos de las tarifa,
para lo cual, primero debe de
realizar una búsqueda de la tarifa
a modificar.
Post-condición
El actor puede modificar la información de
las tarifas o puede salir de la sección
Gestionar Tarifas.
Paso
Acción
- 99 -
2
El actor podrá ingresar nuevas
tarifas en caso de que estas no
Excepciones
existan ,y para ello deberá ser un
usuario con perfil de administrador
4
El actor puede buscar los datos de
la tarifa, solo si es que ha sido
ingresado previamente los datos
de dicha tarifa.
5
El actor puede modificar los datos
de las tarifas siempre y cuando se
haya ingresado previamente los
datos de dicha tarifa.
Tabla 4.13
Descripción Caso de uso “Gestionar Tarifa”.
Autor : Tesista
Fuente: Propia
Los
otros actores
del sistema podrán invocar al caso de uso “gestionar
Tarifas”, pero únicamente a manera de consultas.
QP CU -02 Gestionar Clientes
CASO DE USO
QP CU -02
Nombre
Gestionar Clientes
Descripción
Permite ingresar los datos de los Clientes Que
alquila la Plaza del Parqueadero
Actores
Cajero, Administrador
Precondición
Ingresar al sistema con perfil de Cajero
- 100 -
Paso
Acción
El cajero invoca al caso de uso
1
Flujo Básico
Gestionar Clientes ingresando a la
sección de Cliente para poder realizar
las acciones necesarias.
El cajero solicita e ingresa al sistema la
2
información personal al Cliente
El Cajero puede guardar los datos.
3
Flujo Alternativo
Paso
Acción
En el paso 2 ,el cajero solicita e ingresa
4
al sistema la información de los
vehículos del cliente
Post- condición
Excepciones
El Actor puede salir de la sección de Clientes.
Paso
1
Acción
El cajero únicamente podrá registrar un
cliente por vehículo ingresado.
Tabla 4.14
Descripción Caso de uso “Gestionar Cliente”.
Autor : Tesista
Fuente: Propia
- 101 -
QP CU -03 Gestionar Usuarios
Caso de uso
QP CU -03
Nombre
Gestionar Usuarios
Descripción
Se encuentra en la página principal, permite
ingresar, buscar y modificar los usuarios del
sistema de parqueadero.
Actor
Administrador
Precondición
Ingresar al sistema con perfil de administrador
Paso
Acción
1
El actor invoca al caso de uso Gestionar
Usuarios ingresando a la sección de
usuario para poder realizar las acciones
necesarias.
Flujo básico
2
El actor decide ingresar un nuevo
usuario para lo cual el actor debe
ingresar todos los datos necesarios ,
Además deberá asignarle un rol
predefinido
3
El actor selecciona la opción de guardar
para que se guarden los cambios
realizados en la base de datos.
Paso
Acción
4
En el paso 3 el actor puede buscar los
datos referentes a los usuarios, para cual
ingresa a la sección de usuarios y se
- 102 -
Flujo Alternativo
despliegan los datos del usuario al que
desea buscar.
5
En el paso 3 el actor puede modificar los
datos de los usuarios, para lo cual,
primero debe de realizar una búsqueda
para luego ingresar los datos que se
desea modificar.
Post-condición
El actor puede modificar la información de los
usuarios o puede salir de la sección de gestionar
usuarios
Excepciones
Paso
Tabla 4.15
Acción
Descripción Caso de uso “Gestionar Usuarios”.
Autor: Tesista
Fuente: Propia
Los actores del sistema no podrán invocar
al caso de uso “Gestionar
Usuarios”, ya que el generar usuarios no les corresponde a ningún otro perfil.
QP CU -04 Gestionar Parqueadero
CASO DE USO
QP CU -04
Nombre
Gestionar Parqueadero
Descripción
Permite gestionar los parámetros de los
Parqueaderos
- 103 -
Actores
Administrador
Paso
1
Acción
El actor invoca al caso de uso gestionar
Parqueadero ingresando a la sección
Configuración para poder realizar las
Flujo Básico
acciones necesarias.
2
El actor ingresa los parámetros
generales del parqueadero como
nombre ,latitud ,longitud ,dirección
,teléfono móvil, teléfono fijo, capacidad ,
plazas libres y ocupadas
3
El actor selecciona la opción salir para
cerrar la interfaz.
Paso
4
Acción
En el paso 2, el actor puede, modificar
Flujo Alternativo
los parámetros del parqueadero
5
En el paso 2, el actor puede, eliminar los
parámetros del parqueadero.
Post-Condición
El actor puede salir de la sección parqueadero y
regresar a la pantalla principal
Paso
Excepciones
2
Acción
El actor no podrá eliminar parámetros
preestablecidos
Tabla 4.16
Descripción Caso de uso “Gestionar Parqueadero”.
Autor: Tesista
Fuente: Propia
- 104 -
QP CU-05 Gestionar de Plazas de Aparcamiento
Caso de uso
QP CU -05
Nombre
Gestionar Plaza de Aparcamiento
Descripción
Permite gestionar una plaza para ser alquilada
Actor
Cajero
Precondición
Ingresa al sistema, ingresa al módulo principal
para tomar los datos del vehículo.
Flujo Básico
Paso
Acción
1
El actor invoca al caso de uso Gestionar
Plaza de Aparcamiento en el módulo
principal para poder realizar las
acciones necesarias
2
El actor ingresa los parámetros
generales para la plaza de aparcamiento
principalmente la placa del vehículo ,se
carga automáticamente la fecha de
llegada, hora de llegada, usuario que
ingresa el vehículo, selecciona el tipo de
tarifa y tener un secuencial de número
de vehículos en el parqueaderos
3
El actor selecciona la opción de salir
para cerrar el interface
Flujo alternativo
Paso
Acción
4
En el paso 2 puede ingresar a ver los
- 105 -
vehículos que están en la plaza del
parqueadero ,así también buscar los
vehículos que están en el parqueadero
5
En el paso 2 también se puede eliminar
los vehículos del parqueadero
6
En el paso 2 el actor puede seleccionar
Tarifas creadas, para asignar a la plaza
que se va alquilar.
Post –Condiciones
El actor puede salir de la sección Gestión de
plazas de Aparcamiento
Excepciones
Paso
Acción
2
No se podrá registrar el vehículo si no se
escoge la tarifa para ser registrado
Tabla 4.17
Descripción Caso de uso “Gestionar Plaza de
Aparcamiento”.
Autor : Tesista
Fuente: Propia
QP CU-06 Gestionar Reservas
Caso de uso
Nombre
QP CU -06
Gestionar Reservas
Permite registrar la reserva de uno o varios
Descripción
espacios en el parqueadero, tomado como
cortesías después de la consulta si hay espacio
desde un Smartphone.
Actores
Cajero, Cliente
- 106 -
Ingresar al sistema donde se mostrara en la
Precondición
pantalla si se generó una consulta vía SMS desde
un Smartphone
Paso
1
Acción
El actor invoca al caso de uso ReservarCortesías sitios ingresados a la sección
de Reservar- Cortesías para poder
realizar las acciones necesarias.
2
El actor luego de leer el mensaje de
reserva decide ingresar una nueva
reserva para lo cual el actor debe
ingresar los datos de la placa del
Flujo Básico
vehículo que llega por mensaje SMS.
3
El actor selecciona la opción de guardar
para que se guarde los cambios
realizados en la base de datos y generar
la Reserva-Cortesía
Paso
4
Acción
En el paso 2, el actor puede, en cambio,
buscar las reservas realizadas
5
En el paso 2, el actor puede, en cambio,
modificar las reservas, para lo cual
primero debe de realizar una búsqueda
para luego ingresar los datos que desea
modificar.
Flujos Alternativos
6
En el paso 2, el actor puede, cancelar las
reservas, para lo cual primero debe de
realizar una búsqueda para luego
deshabilitarle.
Post –Condición
El actor puede salir de la sección de reservas
- 107 -
Paso
2
Acción
El actor no podrá ingresar una nueva
reserva en caso de que no exista la
disponibilidad de sitios en el
parqueadero
Excepciones
2
El actor puede buscar los datos de las
reserva, solo si es que ha sido ingresado
previamente los datos de la misma
5
El actor puede modificar los datos de la
reserva, siempre y cuando se haya
ingresado previamente los datos a la
misma.
Tabla 4.18
Descripción Caso de uso “Gestionar Reservas”.
Autor: Tesista
Fuente: Propia
QP CU -07 Gestionar Facturas
Caso de uso
QP CU -07
Nombre
Gestionar Factura
Descripción
Permite buscar el número de placa del vehículo
para registrar el pago del alquiler de la plaza de
aparcamiento
Actor
Cliente, Cajero
Precondición
Ingresar con perfil de Cajero
- 108 -
Paso
1
Acción
El cajero invoca al caso de uso Generar
Flujo Básico
Factura
ingresando
principal
facturar
a
la
sección
para poder realizar
las acciones necesarias.
2
El cliente presenta el número de placa
para ser buscada en el sistema.
3
El sistema
muestra el total de del
monto a pagar además del tiempo que
estuvo
aparcado el vehículo, así
también la fecha
Paso
4
Acción
En el paso 2 el cliente indica el número
de placa para salir del sistema
5
En el paso 2 el cliente presenta si su
reservación fue vía SMS con un tiempo
de cortesía para que el cajero generar
el monto a pagar.
Post .condición
Excepciones
El actor puede salir de la sección de facturación.
Paso
1
Acción
El cajero no podrá generar el cobro si el
cliente no se ha registrado en el sistema
vía SMS.
Tabla 4.19
Descripción Caso de uso “Gestionar Factura”.
Autor: Tesista
Fuente: Propia
- 109 -
4.4.6 REQUISITOS NO FUNCIONALES
Son las especificaciones que debe cumplir en el momento de juzgar
el funcionamiento del sistema como por ejemplo
Interfaces
Las interfaces
que el sistema prototipo
presentará, deberá ser
amigables e intuitiva para el usuario, de esta manera se facilitarán los
procesos que deben seguir para desempeñar correctamente las
actividades del parqueadero y el sistema de búsqueda en el
Smartphone.
El sistema prototipo únicamente presentara sus interfaces en el idioma
español.
Para todos los eventos del sistema prototipo se presentaran mensajes
detallados como informativos, disponibilidad y de emergencia.
•
Seguridad
El sistema garantizara acceso en base a los permisos asignados a
cada perfil de usuario.

El administrador.- tendrá acceso a la administración del
sistema.

Los cajeros.- Tienen acceso al módulo de consulta y
facturación, además podrá facturar la salida de los usuarios del
parqueadero.
•
Cumplimiento de Estándares
Este sistema Prototipo cumplirá con los estándares de programación
de Java EE6
- 110 -
•
Limitación de Hardware
Las limitaciones de hardware que presente este sistema prototipo
dependerán de los equipos que sean utilizados para su implementación
y uso.
4.5
Análisis
En esta fase se procedio a detallar desde el punto de vista del
programador todo el requisito obtenido, mostrando la funcionalidad
interna del sistema prototipo
4.5.1 ANÁLISIS DE LA ARQUITECTURA
En este desarrollo se identificará cada paquete de análisis del sistema
prototipo. Para la identificación de los paquetes de análisis, se toma en
cuenta el criterio de la agrupación de casos que puedan dar soporte a
un determinado actor.
A continuación se determinaran los siguientes paquetes:

Gestión Parqueaderos

Gestión Clientes

Gestión Facturación
Gestión
Clientes
Gestión
Parqueadero
Figura 4.8
Gestión
Facturación
Diagrama de Paquetes de Análisis
Autor: Tesista
Fuente: Propia
- 111 -
4.5.2 ANÁLISIS DE CLASES
Para realizar el Análisis de Clases se debe tomar en cuenta las clases
que fueron determinadas anteriormente, una vez que se haya identificado las
clases necesarias para que puedan llevarse a cabo los casos de uso, se
procede a describir con detalle sus atributos y responsabilidades.
Se puede identificar las responsabilidades de las clases con los
diagramas de secuencia, ya que en ellos se podrá describir las acciones que
realizan las clases en los casos de uso
- 112 -
Diagrama de Análisis de Clases
Figura 4.9
Diagrama de Análisis de Clases
Autor: Tesista
Fuente: Propia
4.5.3 ANÁLISIS DE CASOS DE USO
Para poder describir las interacciones entre las clases del
sistema se procederá a utilizar los Diagramas de Colaboración, ya que
estos facilitan realizar un correcto Análisis de los casos de Uso del
sistema Prototipo
Un
diagrama de colaboración es una forma alternativa al
diagrama de secuencia de mostrar un escenario. Este tipo de
diagrama muestra las interacciones entre objetos organizados en tono
a los objetos y a enlaces entre ellos.
Un diagrama de secuencia muestra la interacción de un
conjunto de objetos en una aplicación a través del tiempo y se modela
para cada caso de uso. Mientras que el diagrama de casos de uso
permite el modelado de una vista del negocio
del escenario, el
diagrama de secuencia contiene detalles de implementación del
escenario, incluyendo los objetos y clases que se usan para
implementar el escenario y mensajes intercambiados entre los objetos.
- 114 -
Diagrama de colaboración:
2: Ingresar Datos
1: Seleccionar Operación
: Pantalla
7: Mostrar Resultados
: Actor
6: Mostrar Resultados de la Operacion
3: Válidar Datos
5: Obtener Resultados
4: Guardar Datos
: Base de Datos
: Controlador
Proyecto:Sistema Prototipo
Busqueda de Parqueadero
Modelo: Diagrama de Colaboración
Actor: Carlos Toscano Moreno
Figura 4.10
Modelo Colaboración de Mantenimiento Básico
Autor: Tesista
Fuente: Propia
El modelo de caso de uso de Colaboración de Mantenimiento Básico,
los actores (Administrador, Cajero) podrá participar en las diferentes
operaciones al manejar el sistema prototipo
Descripción de los Procesos Básicos que se pueden realizar
1. Una vez ingresado el actor al sistema selecciona las
operaciones que va a realizar ya sea estas Ingresar, Guardar,
Eliminar y Buscar.
2. Se procede a ingresar los datos de Clientes, Parqueaderos
según el actor (Administrador, Cajero )y su perfil
3. Se valida la información que se ingresó, en caso de que la
- 115 -
información
establecidos
ingresada
no
cumpla
con
los
parámetros
según los datos que pida el sistema ,saltaran
mensajes informativos o de emergencia
de los datos
ingresados
4. Se realizaran operaciones según seleccione el actor ya sean de
ingresar, buscar o guardar en la base de datos.
5. Se obtiene los resultados de
la base de datos según la
operación realizada en el punto 4.
6. En el interface del sistema muestra el resultado de las
operaciones por medio de mensajes informativos o de
emergencia según la operación solicitada por el actor.
4.6
Diseño
En esta etapa se definirá la arquitectura del sistema prototipo, donde
se encuentran definidos los requerimientos tanto funcionales como no
funcionales que fueron descritos anteriormente.
4.6.1 DISEÑO DE CLASES
En el Diseño de Clases se elaborara un diagrama de clases con lo
que nos permitirá cumplir el objetivo principal del rol de cada clase en
la realización de los casos de uso elaborado
- 116 -
DISEÑO DE CLASES
Figura 4.11
Diseño de Clases del Sistema Q-Parking
Autor: Tesista
Fuente: Propia
- 117 -
4.6.2 DISEÑO DE CASOS DE USO
Los diseños de caso de uso permiten identificar las clases del diseño dentro
de los respectivos subsistemas, para poder diseñar las interacciones entre
los objetos
•
DIAGRAMAS DE MODELO DE CASOS DE USO DE DISEÑO
 DIAGRAMA DE SECUENCIA GESTIONAR TARIFA
Gestión Tarifas
UI:Tarifas
Control Tarifas
Tarifas
Administrador
1: Seleccionar Operación
2: Ingresar Datos
3: Validar Datos
4: Guardar Datos
5: Obtener Resultados BDD
6: Mostrar Resultado Operación
7: Presentar Resultado
Figura 4.12
Diagrama de secuencia “Gestionar Tarifa”
Autor: Tesista
Fuente: Propia
 DIAGRAMA DE SECUENCIA GESTIONAR CLIENTES
Gestionar Clientes
UI Clientes
Control Clientes
Clientes
Cajero
1: Seleccionar Operación
2: Seleccionar Operación
3: Validar Datos
4: Guardar Datos
5: Obtener Resultado BDD
6: Mostrar Resultado de la Operación
7: Mostrar Resultados
Figura 4.13
Diagrama de secuencia “Gestionar Clientes”
Autor: Tesista
Fuente: Propia
 DIAGRAMA DE SECUENCIA GESTIONAR USUARIOS
Gestionar Usuarios
UI:Usuario
Control Usuarios
Usuarios
Administrador
1: Seleccionar Operación
2: Ingresar Datos
3: Validar Datos
4: Guardar Datos
5: Obtener Resultados BDD
6: mostrar Resultado de la Operación
7: Mostrar Resultados
Figura 4.14
Diagrama de secuencia “Gestionar Usuarios”
Autor: Tesista
Fuente: Propia
- 119 -
 DIAGRAMA DE SECUENCIA GESTIONAR RESERVAS
Gestión Reserva
UI:Reservas
Control de Reservas
Reservas
Cajero
1: Seleccionar Operacion
2: Ingresar datos
3: Validar Datos
4: Guardar Datos
6: Mostrar Resultado Operación
5: Obtener Resultados BDD
7: Presentar Resultados
Figura 4.15
Diagrama de secuencia “Gestionar Reserva”
Autor: Tesista
Fuente: Propia
 DIAGRAMA DE SECUENCIA GESTIONAR PARQUEADERO
Gestionar Parqueaderos
Ui:Parqueadero
Control Parqueadero
Parqueadero
Administrador
1: Seleccionar Operación
2: Ingresar Datos
3: Validar Datos
4: Guardar Datos
5: Obtener Resultados BDD
6: Mostrar Resultados Operación
7: Mostrar Resultados
Figura 4.16
Diagrama de secuencia “Gestionar Parqueaderos”
Autor: Tesista
Fuente: Propia
 DIAGRAMA DE SECUENCIA GESTIONAR INGRESO
- 120 -
Gestionar Ingreso
UI:Ingreso
Control de Ingreso
Ingreso
Cajero2
1: Seleccionar Operacion
2: Ingresar datos
3: Validar Datos
4: Guardar Datos
6: Mostrar Resultado Operación
7: Presentar Resultados
5: Obtener Resultados BDD
Figura 4.17
Diagrama de secuencia “Gestionar Ingreso”
Autor: Tesista
Fuente: Propia
 DIAGRAMA DE SECUENCIA GESTIONAR SALIDA
Gestionar Salida
UI:Salida
Control Salida
Salida
Cajero
1: Seleccionar Operación
2: Seleccionar Operación
3: Validar Datos
4: Guardar Datos
5: Obtener Resultado BDD
6: Mostrar Resultado de la Operación
7: Mostrar Resultados
Figura 4.18
Diagrama de secuencia “Gestionar Salida”
Autor: Tesista
Fuente: Propia
- 121 -
 DIAGRAMA DE SECUENCIA GESTIONAR PAGAR
ALQUILER
Gestionar Pago Alquiler
Control de Pago
UI:Pago
Pagos
Cajero.
1: Seleccionar Operacion
2: Ingresar datos
3: Validar Datos
4: Guardar Datos
6: Mostrar Resultado Operación
7: Presentar Resultados
Figura 4.19
5: Obtener Resultados BDD
Diagrama de secuencia “Gestionar Pagos Alquiler”
Autor: Tesista
Fuente: Propia

DIAGRAMA DE SECUENCIA GESTIONAR BUSCAR GEO-REFERENCIA
Gestionar Localización
UI Localizador
Contol Localizador
Localizador
Cliente.
1: Seleccionar Operación
2: Ingresar Datos
3: Validar Operación
4: Guardar Datos
5: Obtener Resultado BDD
6: Mostrar Resultado Operación
7: Presentar Resultado
Figura 4.20
Diagrama de secuencia “Gestionar Geo-Referencia”
Autor: Tesista
Fuente: Propia

DIAGRAMA DE SECUENCIA GESTIONAR BUSCAR PARQUEADERO
- 122 -
Gestionar Buscar Parqueadero
UI SmartPhone
Contol Smartphone
Smartphone
Cliente
1: Seleccionar Operación
2: Ingresar Datos
3: Validar Operación
4: Guardar Datos
5: Obtener Resultado BDD
6: Mostrar Resultado Operación
7: Presentar Resultado
Figura 4.21
Diagrama de secuencia “Gestionar Busca Parqueadero”
Autor: Tesista
Fuente: Propia
4.7
Implementación de la Base de Datos
Se debe partir desde la construcción del modelo de Datos Relacional,
para realizar la implementación de la base de datos para lo cual se tomó en
cuenta el modelo de clases en un modelo de dato, tomando en cuenta que un
modelo de clase se puede convertir en una entidad en la base de datos así
como en un objeto en la programación en el momento de mapear la base
para generar el código java.
•
Determinación de las Relaciones
Para la implementación de la base de datos es fundamental estructurar un
Modelo Conceptual y un Modelo Físico lo cual nos permitirá observar en
forma clara como están relacionadas las entidades, para ello se utiliza la
herramienta Power Designer 16 para los dos modelos.
Modelo Conceptual: Se trata de obtener el esquema conceptual de la base
de datos a partir de la lista descriptiva de objetos y asociaciones identificadas
en la organización durante el análisis, así también como el tipo de relación
- 123 -
que van a tener entre las entidades
Modelo Físico: representa la estructura física de los datos, permite observar
la forma en que se crearan las entidades, pues además de su relación se
especificara el tipo de atributo de cada entidad y su longitud.
- 124 -
4.7.1 MODELO CONCEPTUAL
<pi >
i d_i nfoparqueadero
<pi >
parqueadero
Autori zaci onSri
i nfoParqueadero
i d_i nfoParqueadero
nombre
di recci on
l ati tud
l ongi tud
Seri al
<M>
Vari abl e characters (50)
Vari abl e characters (50)
F%8
F%8
i d_autori zaci onsri
numero_autori zaci on
numero_i ni ci al
numero_fi nal
autori zaci on_fecha
caduci dad_fecha
pk_autori zaci on
<pi >
Seri al
Integer
Integer
Integer
Date
Date
i d_parqueadero
<pi >
nombre
l ati tud
l ongi tud
di recci on
tel efono_fi j o
tel efono_movi l
pl azas_di sponi bl es
pl azas_ocupadas
capaci dad
estado
l ogi n
cl ave
seri e
<M>
Reference_9
<pi >
Reference_19
Reference_18
ti po_parqueadero
i d_ti po_parqueadero
nombre
descri pci on
<pi >
i d_ti po_parqueadero
<pi >
Seri al
<M>
Vari abl e characters (50)
Vari abl e characters (60)
cl i ente
i d_cl i ente
nombre
ruc
cedul a
tel efono_fi j o
tel efono_movi l
di recci on
i d_parqueadero
pk_cl i ente
<pi >
Seri al
Vari abl e
Vari abl e
Vari abl e
Vari abl e
Vari abl e
Vari abl e
Integer
<M>
characters (100)
characters (15)
characters (15)
characters (15)
characters (15)
characters (50)
Reference_17
pk_factura
<pi >
Seri al
<M>
Long i nteger
T i mestamp
F%8
F%8
F%8
Vari abl e characters (20)
Integer
Vari abl e characters (20)
Integer
<pi >
pk_detal l e_factura
i d_pl aza_ti cket
pl aca
fecha_i ngreso
fecha_sal i da
ti po
estado
pk_pl aza
pk_pagi na
<pi >
<pi >
<pi >
Seri al
<M>
Vari abl e characters (15)
T i mestamp
T i mestamp
Vari abl e characters (20)
Vari abl e characters (20)
<pi >
Seri al
<M>
Vari abl e characters (10)
F%8
F%8
T i mestamp
T i mestamp
Integer
<pi >
Seri al
<M>
Vari abl e characters (10)
F%8
Integer
<pi >
usuari o
i d_usuari o
usuari o
contraseni a
perfi l _creaci on
fecha_creaci on
perfi l _modi fi caci on
fecha_modi fi caci on
fecha_caduci dad_contraseni a
i d_parqueadero
pk_usuari o
pk_pagi na_rol
<pi >
<pi >
Integer
<M>
Vari abl e characters (20)
Vari abl e characters (32)
Integer
Date
Integer
Date
Date
<Undefi ned>
<pi >
i d_persona
nombre
apel l i do
cedul a
fecha_naci mi ento
mai l _personal
mai l _i nsti tuci onal
di recci on
<pi >
Seri al
Vari abl e
Vari abl e
Vari abl e
Date
Vari abl e
Vari abl e
Vari abl e
<M>
characters (30)
characters (40)
characters (10)
Reference_11
Reference_12
characters (50)
characters (50)
characters (50)
<pi >
pagi na_rol
i d_pagrol
perfi l _creaci on
fecha_creaci on
perfi l _modi fi caci on
fecha_modi fi caci on
<pi >
persona
pk_persona
Reference_16
i d_tari fa
ti po_vehi cul o
preci o
i d_parqueadero
Key_1
pagi na
Seri al
<M>
Vari abl e characters (30)
Vari abl e characters (50)
Vari abl e characters (50)
Bool ean
Integer
Integer
Date
Integer
Date
pk_vehi cul o
Seri al
<M>
Vari abl e characters (10)
F%8
F%8
T i mestamp
Vari abl e characters (20)
Reference_7
detal l e_factura
<pi >
Reference_10
<pi >
pl aza_ti cket
<pi >
i d_pagi na
nombre
url
i con
es_menu
orden
perfi l _creaci on
fecha_creaci on
perfi l _modi fi caci on
fecha_modi fi caci on
reserva
i d_reserva
pl aca
l ongi tud
l ati tud
fecha_reserva
estado
characters (20)
characters (20)
characters (20)
Reference_2
Reference_4
Reference_14
characters (100)
characters (15)
characters (15)
tari fa
<pi >
i d_det_factura
pl aca
numero_horas
preci o_hora
fecha_i ngreso
fecha_sal i da
i d_pl aza
<M>
characters (50)
<pi >
pk_parqueadero
factura
i d_factura
numero
fecha
subtotal
i va
total
estado
i d_parqueadero
seri e
i d_usuari o
Seri al
Vari abl e
F%8
F%8
Vari abl e
Vari abl e
Vari abl e
Integer
Integer
Integer
Integer
Vari abl e
Vari abl e
Vari abl e
perfi l
Seri al
Integer
Date
Integer
Date
<M>
<pi >
rol
Reference_15
i d_rol
nombre
perfi l _creaci on
fecha_creaci on
perfi l _modi fi caci on
fecha_modi fi caci on
i d_pagi na
pk_rol
Figura 4.22
i d_perfi l
perfi l _creaci on
fecha_creaci on
perfi l _modi fi caci on
fecha_modi fi caci on
<pi >
Seri al
<M>
Vari abl e characters (30)
Integer
Date
Integer
Date
Integer
Reference_13
<pi >
Modelo Conceptual de la Base de Batos Q-Parking
Autor: Tesista
Fuente: Propia
- 125 -
pk_perfi l
<pi >
Seri al
Integer
Date
Integer
Date
<M>
<pi >
Conceptual Data Model
Model : PDMQPC
Package:
Di agram: Conceptual Di agram_1
Author: Carl os T oscano Date: 13/06/2013
Versi on: 4.0.1
4.7.2 MODELO FÍSICO
reserva
Autori zaci onSri
i nfoParqueadero
parqueadero
i d_reserva
<pk>
SERIAL
i d_parqueadero INT 4
<fk>
i d_parqueadero
SERIAL
<pk>
pl aca
VARCHAR(10)
nom bre
VARCHAR(50)
l
ongi
tud
FLOAT
8
l ati tud
FLOAT 8
l ati tud
FLOAT 8
l ongi tud
FLOAT 8
FK_AUT ORIZA_REFERENCE_PARQUEAD
FK_RESERVA_REFERENCE_PARQUEAD
fecha_reserva
T IM EST AM P
di recci on
VARCHAR(100)
estado
VARCHAR(20)
tel efono_fi j o
VARCHAR(15)
tel efono_m ovi l
VARCHAR(15)
pl azas_di sponi bl es INT 4
FK_FACT URA_REFERENCE_AUT ORIZA
pl azas_ocupadas
INT 4
capaci dad
INT 4
FK_INFOPARQ_REFERENCE_T IPO_PAR
factura
estado
INT 4
i d_factura
SERIAL
<pk>
l ogi n
VARCHAR(20)
tari fa
i d_cl i ente
INT 4
<fk1>
cl ave
VARCHAR(20)
i d_tari fa
SERIAL
<pk>
i d_autori zaci onsri INT 4
<fk2>
seri e
VARCHAR(20)
VARCHAR(10)
ti po_vehi cul o
num ero
INT 8
ti po_parqueadero
preci o
FLOAT 8
fecha
T IM EST AM P
i d_ti po_parqueadero SERIAL
<pk>
INT
4
i
d_parqueadero
subtotal
FLOAT 8
FK_PLAZA_T I_REFERENCE_PARQUEAD
nom bre
VARCHAR(50)
i va
FLOAT 8
descri pci on
VARCHAR(60)
total
FLOAT 8
estado
VARCHAR(20)
pl aza_ti cket
i d_parqueadero
INT 4
i d_pl aza_ti cket
SERIAL
<pk>
cl i ente
VARCHAR(20)
seri e
FK_PLAZA_T I_REFERENCE_T ARIFA
i d_parqueadero INT 4
<fk1>
i d_usuari o
INT 4
i d_cl i ente
SERIAL
<pk>
i d_tari fa
INT 4
<fk2>
nom bre
VARCHAR(100)
pl aca
VARCHAR(15)
ruc
VARCHAR(15)
fecha_i ngreso
T IM EST AM P
cedul a
VARCHAR(15)
FK_DET ALLE__REFERENCE_FACT URA
fecha_sal i da
T IM EST AM P
tel efono_fi j o
VARCHAR(15)
FK_FACT URA_REFERENCE_CLIENT E
ti po
VARCHAR(20)
tel efono_m ovi l
VARCHAR(15)
estado
VARCHAR(20)
usuari o
di recci on
VARCHAR(50)
detal l e_factura
i d_usuari o
INT 4
i d_parqueadero INT 4
i d_det_factura SERIAL
<pk>
i d_persona
INT 4
i d_factura
INT 4
<fk>
usuari o
VARCHAR(20)
persona
pl aca
VARCHAR(10)
contraseni a
VARCHAR(32)
num ero_horas FLOAT 8
i d_persona
SERIAL
<pk>
perfi l _creaci on
INT 4
FK_USUARIO_REFERENCE_PERSONA
preci o_hora
FLOAT 8
nom bre
VARCHAR(30)
fecha_creaci on
DAT E
fecha_i ngreso
T IM EST AM P
apel l i do
VARCHAR(40)
perfi l _m odi fi caci on
INT 4
T IM EST AM P
fecha_sal i da
VARCHAR(10)
cedul a
fecha_m odi fi caci on
DAT E
i d_pl aza
INT 4
fecha_naci m i ento DAT E
fecha_caduci dad_contraseni a DAT E
VARCHAR(50)
m ai l _personal
i d_parqueadero
<Undefi ned>
m ai l _i nsti tuci onal VARCHAR(50)
pagi na_rol
di recci on
VARCHAR(50)
FK_PERFIL_REFERENCE_USUARIO
i d_pagrol
SERIAL <pk>
FK_PAGINA_REFERENCE_PAGINA
INT 4
i d_rol
<fk1>
perfi l
INT 4
i d_pagi na
<fk2>
i d_perfi l
SERIAL <pk>
perfi l _creaci on
INT 4
<fk1>
i d_usuari o
INT 4
DAT E
fecha_creaci on
i d_rol
INT 4
<fk2>
perfi l _m odi fi caci on
INT 4
perfi l _creaci on
INT 4
fecha_m odi fi caci on DAT E
fecha_creaci
on
DAT
E
pagi na
perfi l _m odi fi caci on
INT 4
i d_pagi na
SERIAL
<pk>
fecha_m odi fi caci on DAT E
FK_PAGINA_R_REFERENCE_ROL
pag_i d_pagi na
INT 4
<fk>
VARCHAR(30)
nom bre
FK_PAGINA_R_REFERENCE_PAGINA
FK_PERFIL_REFERENCE_ROL
url
VARCHAR(50)
Physi cal Data M odel
rol
i con
VARCHAR(50)
i d_i nfoParqueadero
i d_ti po_parqueadero
nom bre
di recci on
l ati tud
l ongi tud
SERIAL
INT 4
VARCHAR(50)
VARCHAR(50)
FLOAT 8
FLOAT 8
es_m enu
orden
perfi l _creaci on
fecha_creaci on
perfi l _m odi fi caci on
fecha_m odi fi caci on
<pk>
<fk>
i d_autori zaci onsri
i d_parqueadero
num ero_autori zaci on
num ero_i ni ci al
num ero_fi nal
autori zaci on_fecha
caduci dad_fecha
SERIAL
INT 4
INT 4
INT 4
INT 4
DAT E
DAT E
<pk>
<fk>
BOOL
INT 4
INT 4
DAT E
INT 4
DAT E
i d_rol
nom bre
perfi l _creaci on
fecha_creaci on
perfi l _m odi fi caci on
fecha_m odi fi caci on
i d_pagi na
Figura 4.23
SERIAL
VARCHAR(30)
INT 4
DAT E
INT 4
DAT E
INT 4
<pk>
Modelo Físico de la Base de Datos Q- Parking
Autor: Tesista
Fuente: Propia
- 126 -
<pk>
<fk>
M odel : PDM QP
Package:
Di agram : Physi cal Di agram _1
Author: Carl os T oscano
Versi on: 4.0.1
Date: 13/06/2013
4.7.3 DESCRIPCIÓN DE OBJETOS DE LA BASE DE DATOS
Objeto de Información Parqueadero
Atributos
Restricciones
Actividad
Descripción
Actividad: Ingresar Nombre
Parqueadero
Origen: Ninguna
Agente: Administrador
Pre-condiciones:
Nombre
-Ninguna
Latitud
Longitud
El nombre, latitud,
Dirección
longitud, dirección
Teléfono fijo
y capacidad del
Teléfono móvil
parqueadero son
Capacidad
únicos y
Plazas
obligatorios
Post-condiciones:
Aumenta Parqueaderos
disponibles al sistema.
Actividad: Eliminar Parqueadero
Origen: Ingresar tipo insumo
Agente: Administrador
Pre-condiciones:
Disponibles
Buscar Parqueadero
Plazas Ocupadas
Validar que no se encuentre en
En el objeto
Parqueadero
permite almacenar
la información del
parqueadero
registrado como
nombre, geo
referencia ,
dirección
,capacidad , etc.
documentos asociados.
Post-condiciones:
-Disminuye Parqueadero
disponibles al sistema
Tabla 4.20
Glosario de “Gestionar Parqueadero”.
Autor: Tesista
Fuente: Propia
Objeto de Información Plaza_ticket
Atributos
Restricciones
Actividad
Descripción
Actividad: Ingresar Placa
Origen: Ninguna
Agente: Cajero
Pre-condiciones:
Placa
Fecha_ingreso
Fecha_salida
Tipo
Estado
-Ninguna
En el objeto
Post-condiciones:
Plaza_ticket
Los atributos placa
Aumenta Placa disponibles al sistema.
permite
,fecha_ingreso,
Actividad: Eliminar placa
registrar la
fecha_salida son
Origen: Ingresar placa
placa del
únicos y obligatorios
Agente: cajero
automotor que
Pre-condiciones:
usa la plaza de
Buscar placa
aparcamiento
Validar que no se encuentre en
documentos asociados.
Post-condiciones:
-Disminuye placa disponibles al sistema
Tabla 4.21
Glosario de “Gestionar Plaza Ticket”.
Autor: Tesista
Fuente propia
Objeto de Información Tarifa
Atributos
Restricciones
Actividad
Descripción
Actividad: Ingresar Tarifa ,precio
Origen: Ninguna
Agente: Administrador
Pre-condiciones:
-Ninguna
Post-condiciones:
Aumenta Tarifa, disponibles al
Tipo _
vehículo
Precio
Los atributos tipo
sistema.
vehículo, precio
Actividad: Eliminar Tarifa
únicos y
Origen: Ingresar Tarifa
obligatorios
Agente: Administrador
Pre-condiciones:
En el objeto Tarifa
permite registrar
el tipo de vehículo
y asignarle un
precio
Buscar Tarifa
Validar que no se encuentre en
documentos asociados.
Post-condiciones:
-Disminuye tarifas disponibles al
sistema
Tabla 4.22
Glosario de “Gestionar Tarifa”.
Autor: Tesista
Fuente propia
Objeto de Información Reserva
Atributos
Restricciones
Actividad
Descripción
Actividad: Guardar reservación
Placa
Los datos de
Longitud
placa, longitud,
Latitud
latitud son únicos
Fecha_reserva
y obligatorios.
Estado
Origen: Ninguna
En el objeto
Agente: Cajero, Administrador.
Reserva
Pre-condiciones:
permite
Ninguna
registrar la
Post-condiciones:
reserva del
Reservación guardada en el sistema
parqueadero
Actividad: Eliminar reservación
que se realiza
Origen: Guardar reservación
por medio del
Agente: Cajero, administrador
Smartphone
Pre-condiciones:
pidiendo como
Buscar y seleccionar reservación
datos la placa y
Post-condiciones:
la geo-ferencia
Reservación eliminada del sistema
Tabla 4.23
Glosario de “Gestionar Reserva”.
Autor: Tesista
Fuente: Propia
- 128 -
Objeto de Información: AutorizacionSri
Atributos
Restricciones
Actividad
Descripción
Actividad: Guardar autorización
Origen: Ninguna
Agente: Administrador
numero_autorizaci
on
numero_inicial
numero_final
autorización_fecha
caducidad_fecha
El número de
autorización, número
factura inicial, número
factura final, fecha
autorización y fecha
caducidad son
obligatorios
Pre-condiciones:
En el objeto
Ninguna
AutorizacionSri
Post-condiciones:
permite registrar
Autorización guardada en el sistema.
la autorización
Actividad: Eliminar autorización.
desde número
Origen: Guardar autorización
inicial hasta el
Agente: Administrador
número total de
Pre-condiciones:
autorizaciones
Buscar y seleccionar autorización.
asignadas del
No tener ninguna factura asociada a
parqueadero
la autorización.
Post-condiciones:
Autorización eliminada del sistema.
Tabla 4.24
Glosario de “Gestionar Autorización SRI”.
Autor: Tesista
Fuente propia
Objeto de Información: Factura
Atributos
Restricciones
Actividad
Actividad: Ingresar factura
Los datos de serie,
Origen: Ingresar orden.
número, cliente, RUC y
Numero
Fecha
Subtotal
Iva
Total
Estado
Serie
id_autorizacionsri
id_cliente
id_usuario
Agente: Cajero, administrador.
cédula son únicos y
Pre-condiciones:
obligatorios.
Generar cuenta
Fecha, subtotal12,
Post-condiciones:
subtotal, subtotal, IVA,
Se ingresa factura al sistema con
total y estado son
estado activo.
obligatorios.
Una factura contendrá al
menos un ítem en sus
listas.
-Subtotal12, subtotal0,
subtotal, descuento, IVA
total son positivos.
El valor es positivo.
Tabla 4.25
Descripción
Actividad: Anular factura
Origen: Ingresar factura.
Agente: Cajero, Administrador
Pre-condiciones:
Buscar y seleccionar factura.
Post-condiciones:
Se ingresa factura con estado
anulado
Glosario de “Gestionar Factura”.
Autor: Tesista
Fuente propia
- 129 -
En el objeto
Factura permite
generar una lista
de ítem para poder
facturar y generar
el valor a cobrar
por el uso de la
plaza de
aparcamiento
Objeto de Información: Detalle_Factura
Atributos
Restricciones
Actividad
Descripción
Actividad: Ingresar detalles factura
Origen: Ingresar placa.
Los datos de placa,
Agente: Cajero, administrador.
número de horas, precio
Pre-condiciones:
Id_det_factura
son únicos y
Generar iten
Id_factura
obligatorios.
Post-condiciones:
Placa
Una factura contendrá al
Se ingresa detalle a la factura del
Numero_horas
menos un
sistema con estado activo.
Precio_horas
detalle_factura como
Actividad: Anular detalle
Fecha_ingreso
ítem en sus listas.
Origen: Ingresar detalle_factura.
Fecha_salida
-Subtotal12, subtotal0,
Agente: Cajero, Administrador
id_plaza
subtotal, descuento, IVA
Pre-condiciones:
total son positivos.
Buscar y seleccionar detalle factura.
El valor es positivo.
Post-condiciones:
En el objeto
detalle_Factura es
almacenar las
placas para luego
esta sean
facturadas según
el número de
horas que el
automóvil
permanece en el
estacionamiento
Se ingresa detalle_factura con
estado anulado
Tabla 4.26
Glosario de “Gestionar Detalle Factura”.
Autor: Tesista
Fuente: Propia
Objeto de Información: Cliente
Atributos
Restricciones
Actividad
Descripción
Actividad: Ingresar cliente
Origen: Ninguna
Agente: Cajero, administrador.
Pre-condiciones:
Ninguna
Id_cliente
nombre
El número de cédula o
Post-condiciones:
ruc
RUC son únicos y
Se agrega un cliente al sistema.
cedula
obligatorios
teléfono_fijo
El nombre y la
Actividad: Eliminar cliente
teléfono_movil
dirección son
Origen: Ingresar cliente
dirección
obligatorios.
Agente: Administrador
Pre-condiciones:
id_parqueadero
Buscar y seleccionar cliente.
Que no tenga facturas asociadas
Post-condiciones:
Cliente eliminado del sistema
Tabla 4.27
Glosario de “Gestionar Cliente”.
Autor: Tesista
Fuente: Propia
- 130 -
En el objeto
Cliente permite
almacenar los
datos de los
clientes que hacen
uso de las plazas
de aparcamiento.
Objeto de Información: Tipo Parqueadero
Atributos
Restricciones
Actividad
Descripción
Actividad: Ingresar
tipo_parqueadero
Origen: Ninguna
Agente: Administrador.
Pre-condiciones:
El nombre y
Id_tipo_parq
descripción son
ueadero
únicos y
Nombre
obligatorios
Descripción
.
Ninguna
En el objeto
Post-condiciones:
Tipo_parqueadero
Se agrega un tipo de parqueadero
permite almacenar la
al sistema.
información de los
Actividad: Eliminar tipo_parqueadero
distintos tipos de
Origen: Ingresar tipo_parqueadero
parqueaderos que
Agente: Administrador
existen en el distrito
Pre-condiciones:
metropolitano de Quito.
Buscar y seleccionar tipo_parqueadero.
Que no tenga información parqueadero
asociadas
Post-condiciones:
Tipo_parqueadero eliminado del sistema
Tabla 4.28
Glosario de “Gestionar Tipo Parqueadero”.
Autor: Tesista
Fuente: propia
Objeto de Información: Info_parqueadero
Atributos
Restricciones
Actividad
Descripción
Actividad: Ingresar
Info_parqueadero
Origen: ingresar tipo_parqueadero
Agente: Administrador.
Pre-condiciones:
En el objeto
Tipo_parqueadero
info_parqueadero
,dirección, latitud y
Post-condiciones:
permite almacenar
longitud son
Se agrega un parqueadero al sistema.
la formación y
nombre
únicos y
Actividad: Eliminar info_parqueadero
localización de las
dirección
obligatorios
Origen: Ingresar tipo_parqueadero
direcciones y la geo
latitud
.
Agente: Administrador
referencia de los
Pre-condiciones: Buscar y seleccionar
mismos.
Id_infoPar
queadero
El nombre
Id_tipo_par
queadero
longitud
info_parqueadero. Que no tenga información
tipo_parqueadero asociadas
Post-condiciones:
info_parqueadero eliminado del sistema
Tabla 4.29
Glosario de “Gestionar Tipo Parqueadero”.
Autor: Tesista
Fuente: Propia
- 131 -
Objeto de Información: Usuario
Atributos
Restricciones
Actividad
Descripción
Actividad: Ingresar Usuario
Fecha de creación
Origen: Ninguna
Contraseña
Agente: Súper
Fecha de caducidad de
administrador, administrador.
contraseña
Pre-condiciones:
Fecha de creación
El usuario es
Fecha de modificación
único y obligatorio
Perfil de creación
La contraseña,
Perfil de modificación
nombre, apellido,
Usuario
cédula, mail
Apellido
(personal), mail
Cédula
(institucional) son
Dirección
ítem obligatorios.
Fecha de nacimiento
Ninguna
Post-condiciones:
Se agrega un usuario al
sistema.
Actividad: Eliminar usuario
Origen: Ingresar usuario
Agente: Súper
En el objeto Usuario
permite almacenar la
información de
personas que van a
registrarse como parte
del parqueadero
administrador, Administrador
Pre-condiciones:
Mail institucional
Buscar y seleccionar usuario.
Mail personal
Post-condiciones:
Nombre
Cliente eliminado del sistema
Tabla 4.30
Glosario de “Gestionar Usuario”.
Autor: Tesista
Fuente propia
Objeto de Información: Perfil
Atributos
Restricciones
Actividad
Descripción
Actividad: Gestionar Perfil
Origen: Ingresar Usuario
Agente: Súper administrador.
Pre-condiciones:
Fecha de creación
Fecha de
modificación
Perfil de creación
Ninguna
Perfil de
modificación
Buscar usuario
En el objeto Perfil
Post-condiciones:
permite almacenar los
Se gestiona uno o varios Roles para
perfiles que se le
el Perfil.
puede dar a un
Actividad: Seleccionar perfil
usuario del sistema
Origen: Ingresar usuario
con sus respectivas
Agente: Administrador
acciones
Pre-condiciones:
Seleccionar nuevos Roles.
Post-condiciones:
Se actualizan los Roles del Perfil.
Tabla 4.31
Glosario de “Gestionar Perfil”.
Autor: Tesista
Fuente: Propia
- 132 -
Objeto de Información: Rol
Atributos
Restricciones
Actividad
Descripción
Actividad: Crear Rol
Origen: Ninguna
Agente: Súper administrador.
Pre-condiciones:
El Nombre y URL deben existir en
el Sistema.
Post-condiciones:
Se crea un nuevo Rol en el
Sistema
Actividad: Editar Rol
Origen: Ninguna
Fecha de creación
Agente: Súper administrador.
Fecha de modificación
Perfil de creación
Pre-condiciones:
Ninguna
El Nombre y URL deben existir en
Perfil de modificación
el Sistema.
Id_pagina
Post-condiciones:
Se modifica un Rol en el Sistema.
Actividad: Eliminar Rol
Origen: Ingresar Rol
Agente: Súper administrador
Pre-condiciones:
Seleccionar Rol.
Confirmar acción
Post-condiciones:
Se elimina un Rol.
Tabla 4.32
Glosario de “Gestionar Rol”.
Autor: Tesista
Fuente: Propia
- 133 -
En el objeto Rol
permite
almacenar el rol
que manejar el
usuario según el
perfil que se le
asigne.
Objeto de Información: Pagina
Atributos
Restricciones
Actividad
Descripción
Actividad: Agregar Página
Origen: Ninguna
Agente: Súper administrador.
Pre-condiciones:
Ninguna
Post-condiciones:
Se agrega una página en el
sistema
Actividad: Editar página
Menú
Origen: Ingresar página
Fecha de creación
Agente: Súper administrador
Fecha de modificación
Nombre
Orden
Perfil de creación
El nombre y
URL son
obligatorios
Pre-condiciones:
En el objeto
Buscar y seleccionar página.
Pagina permite
-Confirmar edición.
almacenar los Url
-Post-condiciones:
de las paginas
Perfil de modificación
-Se actualizan los cambios
URL
editados en la página.
Actividad: Eliminar página
Origen: Ingresar página
Agente: Súper administrador
Pre-condiciones:
-Buscar y seleccionar página.
-Confirmar acción.
Post-condiciones:
-Se elimina la página del
sistema
Tabla 4.33
Glosario de “Gestionar Pagina”.
Autor: Tesista
Fuente propia
- 134 -
Objeto de Información: Permisos
Atributos
Restricciones
Actividad
Descripción
Actividad: Gestionar Permisos
Origen: Ingresar Usuario
Agente: Master
Pre-condiciones:
-Seleccionar un Rol
•
Post-condiciones:
Fecha de
-Se genera permisos para el rol
creación
•
Fecha de
Actividad: Seleccionar
-Ninguna
modificación
•
Perfil de creación
•
Perfil de
Permisos
Origen: Ninguna
Agente: master
modificación
En el objeto Permisos
permite almacenar los
permisos que se le
asigna al rol de un
usuario
Pre-condiciones:
-Seleccionar un Rol
-Seleccionar permisos.
-Confirmar edición.
Post-condiciones:
-Se editan permisos para el rol.
Tabla 4.34
Glosario de “Gestionar Permiso”.
Autor: Tesista
Fuente: Propia
Objeto de Información: Persona
Atributos
Restricciones
Actividad
Descripción
Actividad: Gestionar Persona
Origen: ninguno
Agente: administrador
Pre-condiciones:
-Ninguna
nombre
Post-condiciones:
apellido
cedula
-Nombre, apellido,
fecha de
Cedula son
nacimiento
campos
mail_personal
obligatorios
-Se agrega los datos persona al
sistema
Actividad: Seleccionar Persona
Origen: Ingresar Persona
mail_institucional
Agente: administrador
dirección
En el objeto Persona
permite almacenar los
datos delos trabajadores
del parqueadero para
asignarlos como usuarios
y roles
Pre-condiciones:
-selecciona un usuario
-Asigna un rol
Post-condiciones:
-Se editan permisos usuario
Tabla 4.35
Glosario de “Gestionar Persona”.
Autor: Tesista
Fuente: Propia
- 135 -
5
CONCLUSIONES Y RECOMENDACIONES
5.1
CONCLUSIONES

El desarrollo del sistema Q-Parking, brinda la posibilidad de tener
información de forma inmediata sobre plazas de aparcamiento que
estén disponible, con el objetivo de tomar una decisión precisa al
momento de dirigirse a una parqueadero y evitar el estrés de la
congestión vehicular a las entradas de los estacionamientos.

Como resultado de una continua investigación y desarrollo se logró
obtener un aplicativo móvil con una interfaz muy atractiva, sencilla
y útil, que permitirá tomar la decisión de buscar un parqueadero
que tenga plazas de aparcamiento disponibles así también como
información de los diferentes tipos de parqueaderos existentes en
el Distrito Metropolitano de Quito.

La utilización de tecnologías basadas en software libre permite la
generación de aplicaciones web y móviles, robusto, seguros y con
alta rentabilidad ya que
permite a los programadores no tener
limitaciones a la hora de desarrollas aplicaciones según el
concepto I+D+i (Investigación, desarrollo e innovación).

Cabe aclarar que lejos de utilizar esta aplicación no se debe pensar
que se va a mitigar los problemas de movilidad en las calles
estrechas del Distrito Metropolitano de Quito, sino más bien el uso
del sistema nos permitirá tener a la mano una aplicación que nos
ayude a optimizar el tiempo al buscar una plaza de aparcamiento.

Es importante recalcar que este proyecto tiene como visión el ser
aplicado
no
solo
para
parqueaderos,
también
se
podría
implementar en distintos tipos de negocios como pueden ser
hoteles,
restaurantes,
supermercados,
- 136 -
farmacias,
centros
comerciales, lugares turísticos, etc.
5.2
RECOMENDACIONES
En la implementación del sistema se debe considerar las siguientes
recomendaciones

Que para el alojamiento de la aplicación Web y la base de datos
se utilice Cloudhosting para reducir los costos que implica el
mantenimiento de servidores físicos en un data center.

Los servidores tanto como para la aplicación web como para la
base de datos deben tener sistema operativo Linux.

Es recomendable utiliza un dispositivo móvil que cumpla con los
requerimientos mínimos para que al momento del despliegue de
los mapas estos se visualicen sin dificultad.
- 137 -
6
GLOSARIO
A
API: Application
programación
de
Programming
Interface
aplicaciones),
es
el
(en
español
conjunto
de
interfaz de
funciones
y
procedimientos (o métodos, en la programación orientada a objetos) que
ofrece cierta biblioteca para ser utilizado por otro software como una capa
de abstracción. Son usadas generalmente en las bibliotecas.
F
Frecuencia de reloj: Indica la velocidad a la que un computador realiza
sus operaciones más básicas, como sumar dos números o transferir el
valor de un registro a otro. Se mide en ciclos por segundo (hercios).
Framework: Es una estructura conceptual y tecnológica de soporte
definido, normalmente con artefactos o módulos de software concretos,
que puede servir de base para la organización y desarrollo de software.
Típicamente, puede incluir soporte de programas, bibliotecas, y un
lenguaje interpretado, entre otras herramientas
H
HTTP: Hypertext Transfer Protocol (en español protocolo de transferencia
de hipertexto), es el protocolo usado en cada transacción de la World
Wide Web.
I
IDE: es un entorno de programación, consiste en un editor de código, un
compilador, un depurador y un constructor de interfaz gráfica (GUI).
J
Java ME: La plataforma Java Micro Edition (Java ME), o anteriormente
Java 2 Micro Edition (J2ME), es una especificación de un subconjunto de
la plataforma Java orientada a proveer una colección certificada de APIs
de desarrollo de software para dispositivos con recursos restringidos.
- 138 -
M
Metadatos: Son datos que describen otros datos. Metadatos, es un
término que se refiere a datos sobre los propios datos.
R
SGBD: Sistema de Gestión de Bases de Datos, es un conjunto de
programas que permiten el almacenamiento, modificación y extracción de
la información en una base de datos.
T
Touchpad: Es un término tecnológico inglés para referirse a un panel
táctil que permite controlar un cursor o facilitar la navegación a través de
un menú o de cualquier interfaz gráfica.
U
URL: Uniform Resource Locator (es español localizador de recursos
uniforme), es una secuencia de caracteres, de acuerdo a un formato
modélico y estándar, que se usa para nombrar recursos en Internet para
su localización o identificación.
W
Web Service (en inglés, Web Service o Web services) es una tecnología
que utiliza un conjunto de protocolos y estándares que sirven para
intercambiar datos entre aplicaciones
- 139 -
7
BIBLIOGRÁFIA
1.
ALERTAENLINEA.GOV, “Aplicaciones móviles: Qué son y cómo funcionan”.
(2011). Descargado el 21 marzo de 2012 desde
http://alertaenlinea.gov/articulos/s0018-aplicaciones-m%C3%B3vilesqu%C3%A9-son-y-c%C3%B3mo-funcionan
2.
EDUKANDA.ES, “mediatecaweb”. (2011). Descargado el 21 marzo de 2012
desde
http://www.edukanda.es/mediatecaweb/data/zip/1164/page_07.htm
3.
WIKIPEDIA.ORG,Articulo,”Android” (2012). Descargado el 21 marzo de 2012
desde http://es.wikipedia.org/wiki/Android
4.
WIKIPEDIA.ORG, Articulo,”Apple_iOS” (2012).Descargado el 21 marzo de 2012
desde http://es.wikipedia.org/wiki/Apple_iOS
5.
WIKIPEDIA.ORG, Articulon, ”Symbian_OS” (2012) Descargado el 21 marzo de
2012 desde http://es.wikipedia.org/wiki/Symbian_OS
6.
WIKIPEDIA.ORG,Articulo,”Research In Motion” (2012) Descargado el 22 marzo
de 2012 desde http://es.wikipedia.org/wiki/Research_In_Motion
7.
WIKIPEDIA.ORG,Articulo,”Palm_OS “(2012) Descargado el 22 marzo de 2012
desde http://es.wikipedia.org/wiki/Palm_OS
8.
WIKIPEDIA.ORG, Articulo, WebOS “(2012) Descargado el 22 marzo de 2012
https://es.wikipedia.org/wiki/WebOS
9.
WIKIPEDIA.ORG, Articulo,“Windows Phone” (2012) Descargado el 22 marzo de
2012 desde http://es.wikipedia.org/wiki/Windows_Phone
10.
WIKIPEDIA.ORG,Articulo- Dispositivos Móviles (2012) Descargado el 27
marzo de 2012 desde http://es.wikipedia.org/wiki/Dispositivos_moviles
11.
WIKIPEDIA.ORG,”Alojamiento web” (2012) Descargado el 2 abril 2012 desde
http://es.wikipedia.org/wiki/Alojamiento_web
12.
INTRODUCCIÓN A LAS APLICACIONES WEB. (2012) Descargado el 16 abril de
2012
desde http://www.infor.uva.es/~jvegas/cursos/buendia/pordocente/node11.html
13.
GARTNER, Newsroom. (2012) Descargado el 18 de abril de 2012 desde
http://www.gartner.com/it/page.jsp?id=1622614
14.
ACERCA DE IOS PARA EL DESARROLLO, La arquitectura de iOS (2011)
Descargado el 18 de mayo 2012 desde,
http://developer.apple.com/library/ios/#documentation/Miscellaneous/Conceptual/
iPhoneOSTechOverview/IPhoneOSOverview/IPhoneOSOverview.html
15.
AGENCIA PÚBLICA DE NOTICIAS DE QUITO, “Municipio de Quito
- 140 -
implementará 3 tipos de parqueaderos cuando se aplique el Pico y Placa” (2012)
descargado el 22 de julio
desde, http://www.noticiasquito.gob.ec/Noticias/news_user_view/municipio_de_q
uito_implementara_3_tipos_de_parqueaderos_cuando_se_aplique_el_pico_y_pl
aca--139
16.
DISPOSITIVOS MÓVILES, IOS Apple (2012) Descargado el 18 de mayo de
2012 desde, http://dmovilesras.blogspot.com/2012/05/ios-apple.html
17.
SCRBD, Blackberry Os (2012) Descargado el 18 de mayo del 2012 desde ,
http://es.scribd.com/doc/59607230/Blackberry-OS
18.
BLACKBERRY. DEVCITE, Introducción a la arquitectura de BlackBerry (2012)
,Descargado el 22 de Mayo de 2012 desde ,
http://blackberry.devcite.com/2010/04/15/introduccion-a-la-arquitecturablackberry-i/
19.
PINSIM.COM, smc, Sistema Móvil celular (2009), Descargado el 25 de mayo de
2012 desde ,http://pinsim.com/conceptos/smc-sistema-movil-celular.html
20.
WIKIPEDIA.ORG,”Dispositivo móvil” (2012), Descargado el 25 de junio de 2012
desde
https://es.wikipedia.org/wiki/Dispositivo_m%C3%B3vil
21.
BIBLIOTECA,”ArcGIS Resource Center” (2012), Descargado el 30 de mayo de
2013 desde ,
http://help.arcgis.com/es/arcgisdesktop/10.0/help/index.html#//003r0000000p000
000
22.
WIKIPEDIA, “Global Positioning System “(2013) Descargado el 30 de mayo de
2013 desde ,
http://es.wikipedia.org/wiki/Sistema_de_posicionamiento_global
23.
THE CODE PROJECT, “Writing your own GPS Applicactions: Part2”, (2013 )
Descargado el 30 de mayo de 2013 desde ,
http://www.codeproject.com/Articles/9115/Writing-Your-Own-GPS-ApplicationsPart-2
24.
WIKIPEDIA.ORG,”rup”,(2012) Descargado el 24 de julio de 2012 desde ,
http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational
- 141 -
25.
WIKIPEDIA.ORG, Web Service (2012), descargado el 03 de julio de 2012 desde,
http://es.wikipedia.org/wiki/Servicio_web
26.
CARTOVIRTUAL, “Sistema de Coordenada” (2012) ,Descargado el 13 de
septiembre de 2012 desde,
http://www.cartovirtual.es/aprendizaje/cursoTIG/index.html
27.
WIKIPEDIA.ORG,”Corva”, (2012), descargado el 16 de octubre de 2012 desde,
http://es.wikipedia.org/wiki/CORBA
28.
WIKIPEDIA.ORG,” Aplicación Web”, (2015) descargado el 25 de junio de 2015
desde
https://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web
29.
MAESTROS DEL WEB, ”Estándares Web” ,(2014) ,descargado el 22 de julio
desde,
http://www.maestrosdelweb.com/estandaresweb/
- 142 -
ANEXOS
- 143 -
ANEXOS A
MANUAL DE USUARIO
APLICACIÓN WEB SYSQP
- 144 -
REQUISITOS PARA LA IMPLEMENTACIÓN DEL SISTEMA
Hardware
Aplicación web (Servidor)
-
2
GB
de
memoria
RAM
(mínimo)
y
4
GB
(recomendado).
-
20 GB de espacio libre en disco para la aplicación.
-
1 TB de espacio libre en disco para la base de datos.
-
Procesador
de
1
GHz
(mínimo)
y
2
GHz
(recomendado).
Aplicación web (Cliente)
-
1
GB
de
memoria
RAM
(mínimo)
y
2
GB
(recomendado).
-
Procesador
de
1
GHz
(mínimo)
y
2
GHz
(recomendado).
Software
Aplicación web (Servidor Web)
-
La aplicación web es multiplataforma, puede ser
implementada en un servidor de cualquier sistema
operativo (Windows, Linux, Macintosh).
-
JDK 7. Java Development Kit versión 7.
-
JBoss AS7, servidor de aplicaciones para J2EE.
Aplicación web (Cliente Web)
-
Navegador de internet con versiones mínimas:
-
Google Chrome versión mínima 4.0.223
- 145 -
-
Mozilla Firefox 32.
APLICACIÓN WEB
Ingreso Al Sistema
Para el ingreso a la aplicación Web siempre hay que tomar
encuentra que el servidor este levantado con la IP que le hayan
asignado, luego de esa verificación procedemos a levanta la
aplicación y el navegador digitar la IP del servidor, el puerto del
servidor y el nombre del proyecto; Dar ENTER.
Inmediatamente aparece la pantalla de ingreso al Sistema
Figura D.1 Pantalle de ingreso al sistema web
Se debe ingresar la información solicitada y dar clic en el botón
Se debe llenar la pantalla de ingreso (para ingresar como Cajero,
Administrador o como Master-Admin, más la contraseña asignada)
una vez ingresado dar clic en
- 146 -
, se desplegará la pantalla
principal según el perfil escogido.
Ingreso Al Sistema Como Usuario Master-Admin
Se desplegara un menú en la parte superior en el cual
podemos escoger que es lo que deseamos realizar
Gestionar Seguridad
Dando clic el botón
se desplegará el menú de GESTIONAR
SEGURIDAD en la parte izquierda:
Gestión de Permisos
Dando clic el botón
este nos permite
El usuario Master-Admin muestra el siguiente menú principal, que
contiene los ítems GESTIONAR SEGURIDAD.
- 147 -
Figura D.2 Menú principal Usuario Master-Admin
Gestionar Parqueaderos
Si damos clic en el botón
se desplegara el menú que permite
GESTIONAR PARQUEADEROS el cual ayudará a agregar
parqueaderos en el Sistema de Estacionamientos
del Distrito
Metropolitano.
Dando clic el botón
nos permite salir de la aplicación al menú
principal.
Ingreso Al Sistema Como Usuario Administrador
Se debe ingresar como usuario “adminSanBlas” y la clave :”admin”
proporcionada
El usuario Administrador muestra el siguiente Menú principal, que
contiene los ítems GESTIÓN DE ADMINISTRACIÓN, GESTIONAR
SEGURIDAD, LOGOUT (salir).
- 148 -
Gestión de Administración
Dando clic el botón resaltado
se desplegará el
menú de la Gestión de Administración como la figura siguiente.
Figura D.3 Menú principal Usuario Administrador
En el menú se desplegara dos botones los cuales nos permite
realizar las siguientes actividades
Gestión Autorización Sri
•
Dando clic el botón
se desplegara la
pantalla en donde se podrá ingresar el Número de
Autorización, con el número inicial de la factura y el número
final de la misma, así también la fecha de la autorización y la
caducidad de la misma.
- 149 -
Figura D.4 Autorización Datos Sri
Gestión de Tarifas
•
Dando clic el boton
se desplegara la
pantalla donde se podrá Gestionar las Tarifas que tendrá el
parqueadero con el precio de las mismas.
Figura D.5 Gestión de Tarifas
Gestión de la Seguridad
Dando clic el botón resaltado
se desplegará el menú
de la Gestión de Seguridad como la figura siguiente.
- 150 -
Figura D.6 Gestión de Seguridad
Gestión de Usuarios
Dando clic el botón
se desplegará una pantalla en
la cual se podrá Gestionar los Usuarios que intervendrán en el
parqueadero creando usuario y se le asignará un perfil con el cual
actuara en el sistema.
Figura D.7 Gestión de Usuarios
Gestión de Perfiles
Dando clic en el botón
nos permitirá gestionar las
páginas, roles y asignar permisos al usuario creado para la
atención en el parqueadero.
- 151 -
Figura D.8 Gestión de Perfiles
Ingreso Al Sistema Como Usuario Cajero
Para ingresar como Usuario Cajero nos logeamos con el usuario y
contraseña asignado
en este caso ingresamos como Usuario:
cajaSanBlas y clave: caja
Figura D.9 Menú principal Usuario Cajero
Gestionar Alquilar Plazas
Una vez ingresado, se desplegara el siguiente menú dando clic en
el botón
en el cual nos permitirá gestionar el Alquiler de
Plazas del parqueadero. En el menú se despliega cuatro botones
como de visualiza en la siguiente imagen:
Figura D.10
- 152 -
Menú principal Usuario Cajero
Gestionar Clientes
Al dar clic en el botón
se desplegara la siguiente
pantalla en la cual se podrá ingresar los datos de los clientes
Figura D.11
Gestión Clientes
Gestionar Plazas
Al dar clic en el botón
se desplegara la siguiente
pantalla en la cual se podrá ingresar los vehículos que llegan al
parqueadero y se mostrara la información de plazas ocupadas y
disponibles.
- 153 -
Figura D.12
Gestión Plazas
Gestionar Clientes
Al dar clic en el botón
se desplegara la siguiente
pantalla en la cual se podrá gestionar las reservas en parqueadero
o las reservas enviadas mediante la aplicación instalada en el
dispositivo móvil y una vez receptada y el usuario llegue al
parqueadero inicie su instancia en el parqueadero.
Figura D.13
- 154 -
Gestión Reservas
Gestionar Factura
Al dar clic en el botón
se desplegara la siguiente
pantalla en la cual se podrá generar la factura de la instancia del
vehículo
Figura D.14
Gestión Facturacion
Cliente
Al dar clic el botón
permite buscar de una lista de
clientes registrados para agregar a la factura.
Consumidor Final
Al dar clic en el botón
agregara en la factura al cliente
como consumidor final.
Buscar
Se puede buscar una placa ingresando en la casilla
y dando clic en el botón
; la cual se agregara como detalle
para ser facturada.
- 155 -
Agregar Placa
Al dar clic en el botón
Permite agregar más placa al
detalle de la factura escogiendo de la lista que se desplegara
Imprimir
Al dar clic en el botón
se imprimirá la factura generada
Eliminar
Si desea eliminar una placa, selecciónela de la LISTA DE PLACAS
a ser facturadas haciendo clic en el botón
ELIMINAR.
Factura
Al ingresar el número de factura a buscar, dar clic en el botón
. Permite buscar facturas almacenadas para luego
mandar a imprimir.
- 156 -
ANEXOS B.
MANUAL DE USUARIO
APP Q-PARKING
- 157 -
MANUAL DE USUARIO APP Q-PARQUINK
INTRODUCCION
Propósito del Documento
El presente
documento está dirigido a entregar las pautas de
operación del App “Q-Parking”. Este sistema permite la gestión de
requerimientos para encontrar el parqueadero más cercano a nuestra
aplicación
Para acceder a la aplicación primero se debe descargar de Play Store
Requerimientos
Los requerimientos del equipo móvil para la instalación de la aplicación
“Q-Parking”.
•
Versión mínima de Android: 3.0
•
Acceso a Internet. (Plan de Datos)
•
Nota: debido a que la consulta de mapas es mediante el
servicio de Internet, la velocidad de la aplicación dependerá de la
velocidad de conexión a Internet que se tenga en el equipo
DESCARGA DE LA APLICACIÓN
Para descargar la aplicación debemos entrar desde el dispositivo
móvil a Google Play (Play Store) y buscar ahí la aplicación con el
nombre de “Q-Parking”.
- 158 -
Figura E.1 Descarga de Aplicación QParking
Fuente propia.
Una vez instalada la aplicación en el Smartphone, la podremos
encontrar en la sección de Aplicaciones, para iniciarla hay que dar un
clic que sobre el ícono de la aplicación (app).
Figura E.2 . Icono de la Aplicación
Fuente propia.
Una vez dado el clic se desplegara la pantalla principal del App de
la siguiente manera:
- 159 -
Figura E.3 . Pantalla Principal del App-QParking
Fuente propia.
En la pantalla principal se desplegará cuatro botones que se describirá
a continuación:
Buscar Parqueaderos
Si damos clic en el botón
se desplegara un mapa con
una lista de parqueaderos más cercanos a la posición actual del
vehículo en donde dará la información de la distancia y la dirección
que se encuentran los parqueaderos donde se podrá reservar una
plaza de aparcamiento.
- 160 -
Figura E.4 . Buscar Parqueadero
Fuente propia.
Al presionar en un parqueadero escogido de la lista, le enviara a una
pantalla donde se desplegara un mapa con su posición actual y la del
parqueadero escogido, en el cual podrá utilizar el sistema de
navegación de Google Map para fijar la ruta para llegar a él, además
se podrá hacer una reservación de una plaza de aparcamiento en el
parqueadero escogido, basta con ingresar la placa de su vehículo
con se indica en la siguiente gráfica.
- 161 -
Figura E.5 . Reservar Parqueadero
Fuente propia.
Una vez presionado el parqueadero de la lista en el recuadro PLACA
se deberá ingresar la placa de su vehículo para que sea registrada,
presionar el botón RESERVA se enviara el número de placa para
ser reservada una plaza en el parqueadero escogido.
Importante el servidor le responderá si su reservación es exitosa no.
Información Parqueaderos
Al presionar el botón
le enviara a una pantalla donde
podrá visualizar información de los diferentes tipos de parqueaderos
existentes en el Distrito Metropolitano de Quito
- 162 -
Figura E.6 . Información Parqueadero
Fuente propia.
Se desplegara 4 tipos de parqueaderos:
1. Parqueaderos de Borde
2. Parqueadero de Zona Azul.
3. Parqueaderos de Zona Universitaria.
4. Parqueadero del Centro Histórico
5. Intermodales
Parqueaderos Borde
Que se encuentran ubicados en el perímetro de restricción del
“pico y placa” como los que se encuentran en:
•
El Condado
•
Monteolivo
•
Cuscungo
•
Carapungo
•
Las Cuadras
- 163 -
Parqueaderos Zona Azul
Los estacionamientos públicos localizados en el interior de este
hipercentro, plazas para público de uso rotativo.
Parqueaderos de Zona Universitaria.
Son zonas que se encuentran en las cercanías de las diferentes
universidades
Parqueadero del Centro Histórico
Son parqueaderos que se encuentran en la parte del centro histórico
así tenemos los siguientes:
Parqueadero Intermodales
Son parqueaderos que se encentran en el interior de la ciudad que
promueven
el intercambio modal
en donde pueden dejar sus
vehículos en estos estacionamientos y acceder al transporte público
como El Trolebús, Eco vía, Corredor Central Norte
y buses
convencionales de transporte
Mis Reservas
Al dar clic en el botón
desplegara la pantalla en
donde se podrá visualizar la información de la reserva efectuada o
cancelar la misma
- 164 -
Figura E.7 . Mis Reservas
Fuente propia.
PICO Y PLACA
Dando clic en el botón
desplegara una pantalla de
información sobre los días que aplica la restricción del pico y placa.
Figura E.8 . Información del Pico –Placa
Fuente propia.
- 165 -
ANEXOS C.
MANUAL DE TÉCNICO
- 166 -
MANUAL TÉCNICO
ESTRUCTURA BASE DEL SISTEMA APLICACIÓN WEB
Figura E.9 Pantalla explorador de paquetes fuente
Fuente propia.
JavaSource
Paquete que contiene todo el código fuente, fue distribuido de la siguiente
manera siguiendo el estándar modelo - vista - controlador.
Controladores (Lógica de negocio)
Paquetes de Controladores (módulo administración):
Figura E.10 Paquete edu.uce.sysqp.administracion.controlador
Fuente propia.
- 167 -
Paquetes de Controladores (módulo facturación):
Figura E.11 Paquete edu.uce.sysqp.facturacion.controladores
Fuente propia.
Paquetes de Controladores (módulo seguridades):
Figura E.12 Paquete edu.uce.sysqp.seguridad.controladores
Fuente propia.
Paquetes de Controladores (módulo servidor):
Figura E.13 Paquete edu.uce.sysqp.servidor.controlador
Fuente propia.
Servicios (Persistencia con la base de datos)
Paquetes de Servicios (módulo administración):
Figura E.14 Paquete edu.uce.sysqp.administracion.servicio
Fuente propia.
Paquetes de Servicios (módulo facturación):
- 168 -
Figura E.15 Paquete edu.uce.sysqp.facturacion.servicios
Fuente propia.
Paquetes de Servicios (módulo seguridad):
Figura E.16 Paquete edu.uce.sysqp.seguridad.servicios
Fuente propia.
Paquetes de Servicios comunes:
Figura E.17 Paquete edu.uce.syscavi. servicios.commons
Fuente propia.
- 169 -
Paquete entidades JPA
Figura E.18 Paquete edu.uce.sysqp.entidades
Fuente propia.
Estructura base de una entidad JPA
Figura E.19 Entidad JPA Parqueadero
Fuente propia.
- 170 -
Paquete de utilitarios
Figura E.20 Paquete edu.uce.sysqp.controladores.commons
Fuente propia.
Paquete Servicios web
Figura E.21 Paquete edu.uce.sysqp.webservices
Fuente propia.
Entidades móviles para usar en los servicios web, clases planas basadas en las
entidades JPA.
Figura E.22 Paquete edu.uce.sysqp.entidades.movil
Figura D.15 Fuente propia.
- 171 -
Estructura básica de un servicio web.
Figura E.23 Paquete servicio web recuperar parqueadero ms cercano
Fuente propia.
Configuración JBoss
Figura E.24 Configuración ant-build-properties
Fuente propia.
- 172 -
WebContent (Vista)
Contiene todos los paquetes para modelar la vista.
Figura E.25 Paquete WebContent
Fuente propia.
Paquete páginas xhtml
Figura E.26 Paquete WebContent
Fuente propia.
- 173 -
Paquete WEB-INF (Librerías)
Figura E.27 Librerías principales
Fuente propia.
Figura E.28 Librerías implementadas
Fuente propia.
- 174 -
ESTRUCTURA BASE DEL SISTEMA MÓVIL ANDROID q-parking
Paquete src (Código fuente)
Figura E.29 Paquetes fuente
Fuente propia.
- 175 -
Actividades (Controladores)
Figura E.30 Actividades
Fuente propia.
Gestión de la librería google-play-services_lib
Figura E.31 Librería google-play-services_lib
Fuente propia.
Figura E.32 Añadir la Librería google-play-services_lib
Fuente propia.
- 176 -
Objetos de aplicación
Estructura base de objetos de aplicación, conocidos también como
variables de sesión.
Figura E.33 Objetos de aplicación (datos en sesión).
Fuente propia.
Tareas asincrónicas
Para soportar versiones superiores a Android 4.0
Figura E.34 Esquema general de una tarea asincrónica
Fuente propia.
- 177 -
Utilitarios
Figura E.35 Utilitarios
Fuente propia.
Consumidor servicios web
Cliente consumidor de los servicios web, que realiza petición y
espera una respuesta del servidor.
Figura E.36 Cliente consumidor de servicios web
Fuente propia.
- 178 -
Archivo Manifest
Archivo principal de Android en donde se pone en manifiesto:
versión soportada mínima y máxima, permisos de red, actividades
principales y secundarias.
Figura E.37 Archivo Manifest
Fuente propia.
- 179 -
Descargar