universidad central del ecuador - repositorio digital: página de … · 2015-12-22 · 2.2.2...

198
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

Upload: trinhkiet

Post on 12-Aug-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

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

ii

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

. Kalin. TM

iii

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

iv

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

v

CERTIFICACIÓN TUTOR

vi

vii

CALIFICACIÓN TRIBUNAL

viii

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 -

ix

CAPÍTULO 2 - 9 -

2 MARCO TEÓRICO - 9 -

2.1 Antecedentes - 9 -

2.2 Aplicaciones Móviles - 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 - 20 -

2.3.1 Estructura de una Aplicación web - 21 -

2.4 Desarrollo de Aplicaciones Web - 21 -

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 -

x

CAPITULO 3 - 38 -

3 SOLUCIÓN PROPUESTA - 38 -

Introducción - 38 -

3.1 DESCRIPCIÓN DEL HARDWARE PARA EL DESARROLLO DEL PROTOTIPO - 39 -

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: - 45 -

3.2 DESCRIPCIÓN DE LAS COMUNICACIONES - 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 - 70 -

3.4.1 Simulación de Cálculo de Distancias - 74 -

3.5 Información de Tipos de Parqueaderos - 75 -

xi

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 - 110 -

4.5 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 - 116 -

4.6.1 Diseño de Clases - 116 -

xii

4.6.2 Diseño de Casos de Uso - 118 -

4.7 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 - 144 -

ANEXOS B. - 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 - 4 -

xiii

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. - 43 -

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) - 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 -

xiv

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 - 80 -

xv

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 -

xvi

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 DEL PARQUEADERO,HACIENDO USO DE 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

xvii

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

xviii

CERTIFICADO

YO, LCDA. VICTORIA MARGARITA CARRILLO CARRASCO,

PORTADORA DE 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.

xix

CREDENCIALES

- 1 -

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:

- 2 -

CAPÍTULO 1

1 PRESENTACIÓN DEL PROBLEMA

1.1 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

Corpaire1, 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”

- 3 -

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.

- 4 -

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

- 5 -

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.

- 6 -

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 sobre otro tipo de

estacionamientos no cerrados como 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.

- 7 -

Aforo ocupado.

1.6 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

- 8 -

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.

- 9 -

CAPÍTULO 2

2 MARCO TEÓRICO

2.1 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

- 10 -

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:

- 11 -

• 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 DocumentsToGo3, 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.

- 12 -

• 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.

- 13 -

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.

- 14 -

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:

- 15 -

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.

- 16 -

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

Figura 2.1 Cuota de Mercado

Autor: Tesista

Fuente Gartner

0%

49%

11%

17%

20%

3%

CUOTA DE MERCADO

Syambian

Android

Reasearch in Motion

IOS

Microsoft

Otros

- 17 -

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

- 18 -

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.

- 19 -

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

- 20 -

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

- 21 -

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

- 22 -

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

- 23 -

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

- 24 -

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

- 25 -

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

- 26 -

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

- 27 -

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

- 28 -

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.

- 29 -

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 y que funcionen en cualquier

dispositivo de acceso a internet.

- 30 -

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.

- 31 -

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

- 32 -

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

- 33 -

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

- 34 -

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

- 35 -

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

- 36 -

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

- 37 -

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, BEEP4, JABBER5, 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

- 38 -

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

- 39 -

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

- 40 -

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 ingresar información en sus pantallas

táctiles 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 se decidió seleccionar el

Smartphone Samsung Galaxy S4 (ver en la figura) 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

- 41 -

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ón6 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),

- 42 -

de dilución geométrica7 (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

- 43 -

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

- 44 -

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

- 45 -

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 para aplicar las

comunicaciones que se va utilizar para manejar el intercambio de

información entre el servidor y los clientes Smartphone se hará uso de

- 46 -

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.

• UMTS8/3G: Es el estándar de tercera generación que viene

8 UMTS (Universal Mobile Telecommunications System o servicio universal de telecomunicaciones móviles).

- 47 -

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

- 48 -

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,

- 49 -

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

- 50 -

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 incluir

soporte de programas ,librerías entre otros software para ayudar a

desarrollar y unir diferentes componentes de un proyecto permitiendo a

diseñadores y programadores concentrarse en los requerimientos del

proyecto ,reduciendo los posibles problemas 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

- 51 -

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.

- 52 -

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

- 53 -

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

- 54 -

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 JSP9 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

- 55 -

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

- 56 -

• 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.

- 57 -

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

- 58 -

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 CORBA10

• 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

- 59 -

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)

- 60 -

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

- 61 -

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á

- 62 -

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

- 63 -

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, middleware11

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

- 64 -

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

- 65 -

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.

- 66 -

• 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:

- 67 -

• 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:

- 68 -

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,

- 69 -

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

- 70 -

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

- 71 -

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

- 72 -

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:

𝑂𝑛𝐶 𝑝 = 𝑆𝑆𝑛 (𝜑𝑎 ) ∗ 𝑆𝑆𝑛 (𝜑𝑏) + [𝑂𝑛𝐶 𝜑𝑎 ∗ 𝑂𝑛𝐶𝜑𝑏 ∗ 𝑂𝑛𝐶(𝜆𝑎 − 𝜆𝑏)]

- 73 -

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 = 𝑛𝑛𝑔𝐿𝑆, 𝑆𝐶𝐿𝑆, − 1𝐶𝑛𝑔 , 𝑛𝑆𝐶𝐿𝑆

- 74 -

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

- 75 -

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

- 76 -

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

- 77 -

universidades, por nombrar algunas tenemos:

1. Jorge Washington entre av. 12 de Octubre y Tamayo. 2. Gral. Francisco Robles entre av. 12 de Octubre y Tamayo. 3. Vicente Ramón Roca entre av. 12 de Octubre y Tamayo. 4. Jerónimo Carrión entre av. 12 de Octubre y Tamayo. 5. Ignacio de Veintimilla entre av. 12 de Octubre y Tamayo. 6. Mena Caamaño entre av. 12 de Octubre e Isabel La Católica. 7. Tamayo entre av. Colón y Luis Cordero. 8. Camilo Destruge entre Francisco Salazar y av. Colón. 9. 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

- 78 -

CAPITULO 4

4 DESARROLLO DEL SOFTWARE DEL PROTOTIPO

4.1 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 Q-

Parking.

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

- 79 -

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 RUP RAD XP Estimación de requerimientos y alcances

2 1 1

Integra todos los ciclos de desarrollo tradicionales

2 0 1

Puntos de control específicos 2 1 2 Utiliza prototipos 2 1 1 Relación costo vs cambios en las fases de desarrollo.

2 0 0

Interacción con el usuario en todas 1 2 2

- 80 -

las fases de desarrollo Posibilidad de trabajar con herramientas CASE

2 2 2

Interacción con el usuario en la fase de desarrollo

0 1 2

Nivel de conocimiento previo de la metodología

2 0 0

Reutilización de componentes 2 2 1

Tabla 4.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

- 81 -

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.

- 82 -

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.

- 83 -

4.2.2 ARTEFACTOS

ARTEFACTOS NOMBRE /VERSIÓN FUNCIÓN

Análisis, Diseño y Documentación

Rational Rose

Enterprise v7.0 Full Modelado de Negocio y

modelado del sistema.

Power Designer 16 Diseño de la base de

Datos

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

Desarrollo

JDK 1.7 Herramientas de

desarrollo para la

creación de programas

en Java.

Eclipse Índigo Entorno de desarrollo

integrado para

aplicaciones web

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.

- 84 -

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

- 85 -

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

- 86 -

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

- 87 -

Modelo de Dominio

Figura 4.4 Modelo de Dominio

Autor: Tesista

Fuente: Propia

- 88 -

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

Cajero

Es la persona a cargo de mantener el

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

Teléfono Numero de dígitos que indican el número de

teléfono de la residencia

Cédula Numero de dígitos que indica su identificación

única de la persona

Tabla 4.3 Descripción Clase Cajero

Autor :Tesista

Fuente: Propia

Clase Descripción

Parqueadero Edificación en la que se estacionaran los

vehículos

Atributo Descripción

Nombre_Parqueadero Sustantivo para identificar el parqueadero

Dirección Lugar geográfico donde se encuentra ubicado el

parqueadero

Teléfono Numero de dígitos que indican el número de

teléfono de la residencia

- 89 -

Celular Numero de dígitos que indica su el número

telefónico móvil

Capacidad Información que permite conocer el número de

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 Numero de dígitos que indica su identificación

única de la persona

Ruc Numero de dígitos que indica su identificación

única de la persona

Dirección Lugar geográfico donde se encuentra su residencia

Teléfono Numero de dígitos que indican el número de

teléfono de la residencia

Celular 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

- 90 -

Clase Descripción

Plaza Ticket Es la acción de alquiler un lugar en el parqueadero

Atributo Descripción

Fecha Indica en el momento en el que se está realizando

la transacción de alquiler

Hora_llegada Indica la hora de ingreso de automotor al

parqueadero

Hora_salida Indica la hora de salida en el cual el automotor

abandona el parqueadero

Placa Numero de alfanumérico de identificación del

automotor

Tarifa 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 Descripción

Factura Documento que indica el costo del alquiler del

parqueadero ha sido cancelado

Atributo Descripción

Número Indica un número que identifica a la factura

Hora_llegada Indica la hora de ingreso de automotor al

parqueadero

Hora_salida Indica la hora de salida en el cual el automotor

abandona el parqueadero

Placa 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

Subtotal

Lugar en la factura donde se ubicara el costo parcial

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

- 91 -

valor agregado.

Total Lugar donde se ubicara el monto total a cancelar

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 Descripción

Cantidad Tiempo en horas de consumo del automotor

Hora-llegada Indica la hora de ingreso de automotor al

parqueadero

Hora-salida Indica la hora de salida en el cual el automotor

abandona el parqueadero

Placa Numero de alfanumérico de identificación del

automotor

Tarifa Valor que se le va a cobrar por el tipo de vehículo

Pecio Indica el precio de la tarifa que ha consumido el

automotor

Precio final 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

- 92 -

Clase Descripción

Tarifa Es el lugar donde se va fijar el valor que se va a

cobrar por el servicio.

Atributo Descripción

Tipo vehículo Es el tipo de automotor que uso el servicio

Pecio Indica el precio de la tarifa que ha consumido el

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.

- 93 -

WEB PARA LA ADMINISTRACIÓN DEL PARQUEADERO de

nominado Q-PARKING para así 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

- 94 -

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-

PRINCIPALES

DESCRIPCIÓN

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

- 95 -

• Actores Secundario .- Son los actores que son necesarios para que

inicie el funcionamiento de las actividades en el parqueadero

ACTORES

SECUNDADARIO DESCRIPCIÓN

Cliente /SmartCliente

Es la persona que está contratando el servicio

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

Figura 4.5 Diagrama de Actores

Autor : Tesista

Fuente: Propia

ADMINISTRADOR CAJERO CLIENTE

SISTEMA DE BUSQUEDA DE PARQUEADEROS QUITOPARK

- 96 -

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

- 97 -

Figura 4.6 Diagrama de casos de uso del módulo de Administración

Autor :Tesista

Fuente: Propia

Generar Reportes

Gestionar Tarifas

Gestionar Parqueadero

Gestionar Usuarios

Gestionar Plazas de Aparcamiento

Administrador

- 98 -

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

GESTIONAR TARIFAS

Descripción 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

Pago Prepago

Gestionar Cortesia

Cliente SmartPhone

Cliente Parqueadero

Cliente

Registrar Ingreso

Pagar Alquiler<<extend>>

<<extend>>

Reserva plaza

<<extend>>

<<extend>>Registrar Salida

Cajero

- 99 -

Flujo Básico

Paso

Acción

1 El actor invoca al caso de uso de

uso Gestionar Tarifa ingresando a

la sección tipo de cobro para

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

Flujo Alternativo

Paso

Acción

4 En el segundo paso, el actor puede

buscar los datos e referentes a las

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

- 100 -

Excepciones

2 El actor podrá ingresar nuevas

tarifas en caso de que estas no

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

- 101 -

Flujo Básico

Paso Acción

1 El cajero invoca al caso de uso

Gestionar Clientes ingresando a la

sección de Cliente para poder realizar

las acciones necesarias.

2 El cajero solicita e ingresa al sistema la

información personal al Cliente

3 El Cajero puede guardar los datos.

Flujo Alternativo Paso Acción

4 En el paso 2 ,el cajero solicita e ingresa

al sistema la información de los

vehículos del cliente

Post- condición El Actor puede salir de la sección de Clientes.

Excepciones Paso Acción

1 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

- 102 -

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

Flujo básico

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.

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

- 103 -

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 Acción

Tabla 4.15 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

- 104 -

Actores Administrador

Flujo Básico

Paso Acción

1 El actor invoca al caso de uso gestionar

Parqueadero ingresando a la sección

Configuración para poder realizar las

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.

Flujo Alternativo

Paso Acción

4 En el paso 2, el actor puede, modificar

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

Excepciones

Paso Acción

2 El actor no podrá eliminar parámetros

preestablecidos

Tabla 4.16 Descripción Caso de uso “Gestionar Parqueadero”.

Autor: Tesista

Fuente: Propia

- 105 -

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

- 106 -

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 QP CU -06

Nombre Gestionar Reservas

Descripción

Permite registrar la reserva de uno o varios

espacios en el parqueadero, tomado como

cortesías después de la consulta si hay espacio

desde un Smartphone.

Actores Cajero, Cliente

- 107 -

Precondición

Ingresar al sistema donde se mostrara en la

pantalla si se generó una consulta vía SMS desde

un Smartphone

Flujo Básico

Paso Acción

1 El actor invoca al caso de uso Reservar-

Cortesí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

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

Flujos Alternativos

Paso Acción

4 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.

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

- 108 -

Excepciones

Paso Acción

2 El actor no podrá ingresar una nueva

reserva en caso de que no exista la

disponibilidad de sitios en el

parqueadero

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

- 109 -

Flujo Básico

Paso Acción

1 El cajero invoca al caso de uso Generar

Factura ingresando a la sección

principal facturar 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 Acción

4 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 El actor puede salir de la sección de facturación.

Excepciones Paso Acción

1 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

- 110 -

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

- 111 -

• 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

Figura 4.8 Diagrama de Paquetes de Análisis

Autor: Tesista

Fuente: Propia

Gestión Clientes

Gestión Parqueadero

Gestión Facturación

- 112 -

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

Diagrama de Análisis de Clases

Figura 4.9 Diagrama de Análisis de Clases

Autor: Tesista

Fuente: Propia

- 114 -

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.

- 115 -

Diagrama de colaboración:

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

: Actor

: Pantalla

: Controlador : Base de Datos

2: Ingresar Datos

Proyecto:Sistema Prototipo Busqueda de ParqueaderoModelo: Diagrama de ColaboraciónActor: Carlos Toscano Moreno

1: Seleccionar Operación

7: Mostrar Resultados

3: Válidar Datos6: Mostrar Resultados de la Operacion

4: Guardar Datos

5: Obtener Resultados

- 116 -

información ingresada no cumpla con los parámetros

establecidos 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

- 117 -

DISEÑO DE CLASES

Figura 4.11 Diseño de Clases del Sistema Q-Parking

Autor: Tesista

Fuente: Propia

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

Figura 4.12 Diagrama de secuencia “Gestionar Tarifa”

Autor: Tesista

Fuente: Propia

Gestión Tarifas

7: Presentar Resultado

6: Mostrar Resultado Operación5: Obtener Resultados BDD

4: Guardar Datos

3: Validar Datos

2: Ingresar Datos

1: Seleccionar Operación

Administrador

UI:Tarifas Control Tarifas Tarifas

7: Presentar Resultado

6: Mostrar Resultado Operación5: Obtener Resultados BDD

4: Guardar Datos

3: Validar Datos

2: Ingresar Datos

1: Seleccionar Operación

- 119 -

DIAGRAMA DE SECUENCIA GESTIONAR CLIENTES

Figura 4.13 Diagrama de secuencia “Gestionar Clientes”

Autor: Tesista

Fuente: Propia

DIAGRAMA DE SECUENCIA GESTIONAR USUARIOS

Figura 4.14 Diagrama de secuencia “Gestionar Usuarios”

Autor: Tesista

Fuente: Propia

Gestionar Clientes

3: Validar Datos

7: Mostrar Resultados

6: Mostrar Resultado de la Operación

5: Obtener Resultado BDD

4: Guardar Datos

2: Seleccionar Operación

1: Seleccionar Operación

Cajero

UI Clientes Control Clientes Clientes

3: Validar Datos

7: Mostrar Resultados

6: Mostrar Resultado de la Operación

5: Obtener Resultado BDD

4: Guardar Datos

2: Seleccionar Operación

1: Seleccionar Operación

Gestionar Usuarios

7: Mostrar Resultados

6: mostrar Resultado de la Operación

5: Obtener Resultados BDD

4: Guardar Datos

3: Validar Datos

2: Ingresar Datos

1: Seleccionar Operación

Administrador

UI:Usuario Control Usuarios Usuarios

7: Mostrar Resultados

6: mostrar Resultado de la Operación

5: Obtener Resultados BDD

4: Guardar Datos

3: Validar Datos

2: Ingresar Datos

1: Seleccionar Operación

- 120 -

DIAGRAMA DE SECUENCIA GESTIONAR RESERVAS

Figura 4.15 Diagrama de secuencia “Gestionar Reserva”

Autor: Tesista

Fuente: Propia

DIAGRAMA DE SECUENCIA GESTIONAR PARQUEADERO

Figura 4.16 Diagrama de secuencia “Gestionar Parqueaderos”

Autor: Tesista

Fuente: Propia

DIAGRAMA DE SECUENCIA GESTIONAR INGRESO

Gestión Reserva

7: Presentar Resultados

6: Mostrar Resultado Operación

5: Obtener Resultados BDD

4: Guardar Datos

3: Validar Datos

2: Ingresar datos

1: Seleccionar Operacion

Cajero

UI:Reservas Control de Reservas Reservas

7: Presentar Resultados

6: Mostrar Resultado Operación

5: Obtener Resultados BDD

4: Guardar Datos

3: Validar Datos

2: Ingresar datos

1: Seleccionar Operacion

Gestionar Parqueaderos

7: Mostrar Resultados

6: Mostrar Resultados Operación

5: Obtener Resultados BDD

4: Guardar Datos3: Validar Datos

2: Ingresar Datos

1: Seleccionar Operación

Administrador

Ui:Parqueadero Control Parqueadero Parqueadero

7: Mostrar Resultados

6: Mostrar Resultados Operación

5: Obtener Resultados BDD

4: Guardar Datos3: Validar Datos

2: Ingresar Datos

1: Seleccionar Operación

- 121 -

Figura 4.17 Diagrama de secuencia “Gestionar Ingreso”

Autor: Tesista

Fuente: Propia

DIAGRAMA DE SECUENCIA GESTIONAR SALIDA

Figura 4.18 Diagrama de secuencia “Gestionar Salida”

Autor: Tesista

Fuente: Propia

Gestionar Ingreso

4: Guardar Datos

1: Seleccionar Operacion

2: Ingresar datos

3: Validar Datos

5: Obtener Resultados BDD

6: Mostrar Resultado Operación

7: Presentar Resultados

Cajero2

Control de IngresoUI:Ingreso Ingreso

4: Guardar Datos

1: Seleccionar Operacion

2: Ingresar datos

3: Validar Datos

5: Obtener Resultados BDD

6: Mostrar Resultado Operación

7: Presentar Resultados

Gestionar Salida

7: Mostrar Resultados

1: Seleccionar Operación

2: Seleccionar Operación

4: Guardar Datos

5: Obtener Resultado BDD

6: Mostrar Resultado de la Operación

3: Validar Datos

Cajero

UI:Salida Control Salida Salida

7: Mostrar Resultados

1: Seleccionar Operación

2: Seleccionar Operación

4: Guardar Datos

5: Obtener Resultado BDD

6: Mostrar Resultado de la Operación

3: Validar Datos

- 122 -

DIAGRAMA DE SECUENCIA GESTIONAR PAGAR ALQUILER

Figura 4.19 Diagrama de secuencia “Gestionar Pagos Alquiler”

Autor: Tesista

Fuente: Propia

DIAGRAMA DE SECUENCIA GESTIONAR BUSCAR GEO-REFERENCIA

Figura 4.20 Diagrama de secuencia “Gestionar Geo-Referencia”

Autor: Tesista

Fuente: Propia

DIAGRAMA DE SECUENCIA GESTIONAR BUSCAR PARQUEADERO

Gestionar Pago Alquiler

7: Presentar Resultados

6: Mostrar Resultado Operación

5: Obtener Resultados BDD

3: Validar Datos

2: Ingresar datos

1: Seleccionar Operacion

4: Guardar Datos

Cajero.

Control de PagoUI:Pago Pagos

7: Presentar Resultados

6: Mostrar Resultado Operación

5: Obtener Resultados BDD

3: Validar Datos

2: Ingresar datos

1: Seleccionar Operacion

4: Guardar Datos

Gestionar Localización

1: Seleccionar Operación

2: Ingresar Datos

3: Validar Operación4: Guardar Datos

5: Obtener Resultado BDD

6: Mostrar Resultado Operación

7: Presentar Resultado

Cliente.

UI Localizador Contol Localizador Localizador

1: Seleccionar Operación

2: Ingresar Datos

3: Validar Operación4: Guardar Datos

5: Obtener Resultado BDD

6: Mostrar Resultado Operación

7: Presentar Resultado

- 123 -

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

Gestionar Buscar Parqueadero

7: Presentar Resultado

6: Mostrar Resultado Operación

5: Obtener Resultado BDD

4: Guardar Datos3: Validar Operación

2: Ingresar Datos

1: Seleccionar Operación

Cliente

UI SmartPhone Contol Smartphone Smartphone

7: Presentar Resultado

6: Mostrar Resultado Operación

5: Obtener Resultado BDD

4: Guardar Datos3: Validar Operación

2: Ingresar Datos

1: Seleccionar Operación

- 124 -

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.

- 125 -

4.7.1 MODELO CONCEPTUAL

Figura 4.22 Modelo Conceptual de la Base de Batos Q-Parking

Autor: Tesista

Fuente: Propia

Conceptual Data ModelModel: PDMQPCPackage: Diagram: ConceptualDiagram_1Author: Carlos Toscano Date: 13/06/2013 Version: 4.0.1

Reference_19

Reference_2

Reference_17

Reference_4

Reference_7

Reference_18

Reference_9Reference_10

Reference_11

Reference_12

Reference_13

Reference_15

Reference_16

Reference_14

reserva

id_reservaplacalongitudlatitudfecha_reservaestado

<pi> SerialVariable characters (10)F%8F%8TimestampVariable characters (20)

<M>

pk_vehiculo <pi>

cliente

id_clientenombreruccedulatelefono_fijotelefono_movildireccionid_parqueadero

<pi> SerialVariable characters (100)Variable characters (15)Variable characters (15)Variable characters (15)Variable characters (15)Variable characters (50)Integer

<M>

pk_cliente <pi>

parqueadero

id_parqueaderonombrelatitudlongituddirecciontelefono_fijotelefono_movilplazas_disponiblesplazas_ocupadascapacidadestadologinclaveserie

<pi> SerialVariable characters (50)F%8F%8Variable characters (100)Variable characters (15)Variable characters (15)IntegerIntegerIntegerIntegerVariable characters (20)Variable characters (20)Variable characters (20)

<M>

pk_parqueadero <pi>

plaza_ticket

id_plaza_ticketplacafecha_ingresofecha_salidatipoestado

<pi> SerialVariable characters (15)TimestampTimestampVariable characters (20)Variable characters (20)

<M>

pk_plaza <pi>

factura

id_facturanumerofechasubtotalivatotalestadoid_parqueaderoserieid_usuario

<pi> SerialLong integerTimestampF%8F%8F%8Variable characters (20)IntegerVariable characters (20)Integer

<M>

pk_factura <pi>

detalle_factura

id_det_facturaplacanumero_horasprecio_horafecha_ingresofecha_salidaid_plaza

<pi> SerialVariable characters (10)F%8F%8TimestampTimestampInteger

<M>

pk_detalle_factura <pi>

tarifa

id_tarifatipo_vehiculoprecioid_parqueadero

<pi> SerialVariable characters (10)F%8Integer

<M>

Key_1 <pi>

AutorizacionSri

id_autorizacionsrinumero_autorizacionnumero_inicialnumero_finalautorizacion_fechacaducidad_fecha

<pi> SerialIntegerIntegerIntegerDateDate

<M>

pk_autorizacion <pi>

pagina

id_paginanombreurlicones_menuordenperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacion

<pi> SerialVariable characters (30)Variable characters (50)Variable characters (50)BooleanIntegerIntegerDateIntegerDate

<M>

pk_pagina <pi>

pagina_rol

id_pagrolperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacion

<pi> SerialIntegerDateIntegerDate

<M>

pk_pagina_rol <pi>

perfi l

id_perfi lperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacion

<pi> SerialIntegerDateIntegerDate

<M>

pk_perfi l <pi>

persona

id_personanombreapellidocedulafecha_nacimientomail_personalmail_institucionaldireccion

<pi> SerialVariable characters (30)Variable characters (40)Variable characters (10)DateVariable characters (50)Variable characters (50)Variable characters (50)

<M>

pk_persona <pi>

rol

id_rolnombreperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacionid_pagina

<pi> SerialVariable characters (30)IntegerDateIntegerDateInteger

<M>

pk_rol <pi>

usuario

id_usuariousuariocontraseniaperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacionfecha_caducidad_contraseniaid_parqueadero

<pi> IntegerVariable characters (20)Variable characters (32)IntegerDateIntegerDateDate<Undefined>

<M>

pk_usuario <pi>

infoParqueadero

id_infoParqueaderonombredireccionlatitudlongitud

<pi> SerialVariable characters (50)Variable characters (50)F%8F%8

<M>

id_infoparqueadero <pi>

tipo_parqueadero

id_tipo_parqueaderonombredescripcion

<pi> SerialVariable characters (50)Variable characters (60)

<M>

id_tipo_parqueadero <pi>

- 126 -

4.7.2 MODELO FÍSICO

Figura 4.23 Modelo Físico de la Base de Datos Q- Parking

Autor: Tesista

Fuente: Propia

FK_INFOPARQ_REFERENCE_TIPO_PAR

Physical Data Model

Model: PDMQP

Package:

Diagram: PhysicalDiagram_1

Author: Carlos Toscano Date: 13/06/2013

Version: 4.0.1

FK_PLAZA_TI_REFERENCE_PARQUEAD

FK_DETALLE__REFERENCE_FACTURA

FK_PLAZA_TI_REFERENCE_TARIFA

FK_AUTORIZA_REFERENCE_PARQUEAD FK_RESERVA_REFERENCE_PARQUEAD

FK_USUARIO_REFERENCE_PERSONA

FK_PERFIL_REFERENCE_USUARIO

FK_PERFIL_REFERENCE_ROL

FK_PAGINA_R_REFERENCE_ROL

FK_PAGINA_R_REFERENCE_PAGINA

FK_PAGINA_REFERENCE_PAGINA

FK_FACTURA_REFERENCE_CLIENTE

FK_FACTURA_REFERENCE_AUTORIZA

reserva

id_reservaid_parqueaderoplacalongitudlatitudfecha_reservaestado

SERIALINT4VARCHAR(10)FLOAT8FLOAT8TIMESTAMPVARCHAR(20)

<pk><fk>

cliente

id_clientenombreruccedulatelefono_fijotelefono_movildireccionid_parqueadero

SERIALVARCHAR(100)VARCHAR(15)VARCHAR(15)VARCHAR(15)VARCHAR(15)VARCHAR(50)INT4

<pk>

parqueadero

id_parqueaderonombrelatitudlongituddirecciontelefono_fijotelefono_movilplazas_disponiblesplazas_ocupadascapacidadestadologinclaveserie

SERIALVARCHAR(50)FLOAT8FLOAT8VARCHAR(100)VARCHAR(15)VARCHAR(15)INT4INT4INT4INT4VARCHAR(20)VARCHAR(20)VARCHAR(20)

<pk>

plaza_ticket

id_plaza_ticketid_parqueaderoid_tarifaplacafecha_ingresofecha_salidatipoestado

SERIALINT4INT4VARCHAR(15)TIMESTAMPTIMESTAMPVARCHAR(20)VARCHAR(20)

<pk><fk1><fk2>

factura

id_facturaid_clienteid_autorizacionsrinumerofechasubtotalivatotalestadoid_parqueaderoserieid_usuario

SERIALINT4INT4INT8TIMESTAMPFLOAT8FLOAT8FLOAT8VARCHAR(20)INT4VARCHAR(20)INT4

<pk><fk1><fk2>

detalle_factura

id_det_facturaid_facturaplacanumero_horasprecio_horafecha_ingresofecha_salidaid_plaza

SERIALINT4VARCHAR(10)FLOAT8FLOAT8TIMESTAMPTIMESTAMPINT4

<pk><fk>

tarifa

id_tarifatipo_vehiculoprecioid_parqueadero

SERIALVARCHAR(10)FLOAT8INT4

<pk>

AutorizacionSri

id_autorizacionsriid_parqueaderonumero_autorizacionnumero_inicialnumero_finalautorizacion_fechacaducidad_fecha

SERIALINT4INT4INT4INT4DATEDATE

<pk><fk>

pagina

id_paginapag_id_paginanombreurlicones_menuordenperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacion

SERIALINT4VARCHAR(30)VARCHAR(50)VARCHAR(50)BOOLINT4INT4DATEINT4DATE

<pk><fk>

pagina_rol

id_pagrolid_rolid_paginaperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacion

SERIALINT4INT4INT4DATEINT4DATE

<pk><fk1><fk2>

perfi l

id_perfi lid_usuarioid_rolperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacion

SERIALINT4INT4INT4DATEINT4DATE

<pk><fk1><fk2>

persona

id_personanombreapellidocedulafecha_nacimientomail_personalmail_institucionaldireccion

SERIALVARCHAR(30)VARCHAR(40)VARCHAR(10)DATEVARCHAR(50)VARCHAR(50)VARCHAR(50)

<pk>

rol

id_rolnombreperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacionid_pagina

SERIALVARCHAR(30)INT4DATEINT4DATEINT4

<pk>

usuario

id_usuarioid_personausuariocontraseniaperfi l_creacionfecha_creacionperfi l_modificacionfecha_modificacionfecha_caducidad_contraseniaid_parqueadero

INT4INT4VARCHAR(20)VARCHAR(32)INT4DATEINT4DATEDATE<Undefined>

<pk><fk>

infoParqueadero

id_infoParqueaderoid_tipo_parqueaderonombredireccionlatitudlongitud

SERIALINT4VARCHAR(50)VARCHAR(50)FLOAT8FLOAT8

<pk><fk>

tipo_parqueadero

id_tipo_parqueaderonombredescripcion

SERIALVARCHAR(50)VARCHAR(60)

<pk>

4.7.3 DESCRIPCIÓN DE OBJETOS DE LA BASE DE DATOS

Objeto de Información Parqueadero

Atributos Restricciones Actividad Descripción

Nombre

Latitud

Longitud

Dirección

Teléfono fijo

Teléfono móvil

Capacidad

Plazas

Disponibles

Plazas Ocupadas

El nombre, latitud,

longitud, dirección

y capacidad del

parqueadero son

únicos y

obligatorios

Actividad: Ingresar Nombre

Parqueadero

Origen: Ninguna

Agente: Administrador

Pre-condiciones: -Ninguna

Post-condiciones: Aumenta Parqueaderos

disponibles al sistema.

Actividad: Eliminar Parqueadero

Origen: Ingresar tipo insumo

Agente: Administrador

Pre-condiciones: Buscar Parqueadero Validar que no se encuentre en

documentos asociados.

Post-condiciones: -Disminuye Parqueadero

disponibles al sistema

En el objeto

Parqueadero

permite almacenar

la información del

parqueadero

registrado como

nombre, geo

referencia ,

dirección

,capacidad , etc.

Tabla 4.20 Glosario de “Gestionar Parqueadero”.

Autor: Tesista

Fuente: Propia

Objeto de Información Plaza_ticket

Atributos Restricciones Actividad Descripción

Placa

Fecha_ingreso

Fecha_salida

Tipo

Estado

Los atributos placa

,fecha_ingreso,

fecha_salida son

únicos y obligatorios

Actividad: Ingresar Placa

Origen: Ninguna

Agente: Cajero

Pre-condiciones: -Ninguna

Post-condiciones: Aumenta Placa disponibles al sistema.

Actividad: Eliminar placa

Origen: Ingresar placa

Agente: cajero

Pre-condiciones: Buscar placa Validar que no se encuentre en

documentos asociados.

Post-condiciones: -Disminuye placa disponibles al sistema

En el objeto

Plaza_ticket

permite

registrar la

placa del

automotor que

usa la plaza de

aparcamiento

Tabla 4.21 Glosario de “Gestionar Plaza Ticket”.

Autor: Tesista

- 128 -

Fuente propia

Objeto de Información Tarifa

Atributos Restricciones Actividad Descripción

Tipo _

vehículo

Precio

Los atributos tipo

vehículo, precio

únicos y

obligatorios

Actividad: Ingresar Tarifa ,precio

Origen: Ninguna

Agente: Administrador

Pre-condiciones: -Ninguna

Post-condiciones: Aumenta Tarifa, disponibles al

sistema.

Actividad: Eliminar Tarifa

Origen: Ingresar Tarifa

Agente: Administrador

Pre-condiciones: Buscar Tarifa Validar que no se encuentre en

documentos asociados.

Post-condiciones: -Disminuye tarifas disponibles al

sistema

En el objeto Tarifa

permite registrar

el tipo de vehículo

y asignarle un

precio

Tabla 4.22 Glosario de “Gestionar Tarifa”.

Autor: Tesista

Fuente propia

Objeto de Información Reserva

Atributos Restricciones Actividad Descripción

Placa

Longitud

Latitud

Fecha_reserva

Estado

Los datos de

placa, longitud,

latitud son únicos

y obligatorios.

Actividad: Guardar reservación

Origen: Ninguna Agente: Cajero, Administrador.

Pre-condiciones: Ninguna

Post-condiciones: Reservación guardada en el sistema

Actividad: Eliminar reservación

Origen: Guardar reservación Agente: Cajero, administrador

Pre-condiciones: Buscar y seleccionar reservación

Post-condiciones: Reservación eliminada del sistema

En el objeto

Reserva

permite

registrar la

reserva del

parqueadero

que se realiza

por medio del

Smartphone

pidiendo como

datos la placa y

la geo-ferencia

Tabla 4.23 Glosario de “Gestionar Reserva”.

Autor: Tesista

Fuente: Propia

- 129 -

Objeto de Información: AutorizacionSri

Atributos Restricciones Actividad Descripción

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

Actividad: Guardar autorización

Origen: Ninguna

Agente: Administrador

Pre-condiciones: Ninguna

Post-condiciones: Autorización guardada en el sistema.

Actividad: Eliminar autorización.

Origen: Guardar autorización

Agente: Administrador

Pre-condiciones: Buscar y seleccionar autorización.

No tener ninguna factura asociada a

la autorización.

Post-condiciones: Autorización eliminada del sistema.

En el objeto

AutorizacionSri

permite registrar

la autorización

desde número

inicial hasta el

número total de

autorizaciones

asignadas del

parqueadero

Tabla 4.24 Glosario de “Gestionar Autorización SRI”.

Autor: Tesista

Fuente propia

Objeto de Información: Factura

Atributos Restricciones Actividad Descripción

Numero

Fecha

Subtotal

Iva

Total

Estado

Serie

id_autorizacionsri

id_cliente

id_usuario

Los datos de serie, número, cliente, RUC y cédula son únicos y obligatorios. Fecha, subtotal12,

subtotal, subtotal, IVA,

total y estado son

obligatorios.

Una factura contendrá al menos un ítem en sus listas.

-Subtotal12, subtotal0,

subtotal, descuento, IVA

total son positivos.

El valor es positivo.

Actividad: Ingresar factura

Origen: Ingresar orden.

Agente: Cajero, administrador.

Pre-condiciones: Generar cuenta

Post-condiciones: Se ingresa factura al sistema con

estado activo.

Actividad: Anular factura

Origen: Ingresar factura.

Agente: Cajero, Administrador

Pre-condiciones: Buscar y seleccionar factura.

Post-condiciones: Se ingresa factura con estado

anulado

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

Tabla 4.25 Glosario de “Gestionar Factura”.

Autor: Tesista

Fuente propia

- 130 -

Objeto de Información: Detalle_Factura

Atributos Restricciones Actividad Descripción

Id_det_factura

Id_factura

Placa

Numero_horas

Precio_horas

Fecha_ingreso

Fecha_salida

id_plaza

Los datos de placa, número de horas, precio son únicos y obligatorios. Una factura contendrá al menos un detalle_factura como ítem en sus listas.

-Subtotal12, subtotal0,

subtotal, descuento, IVA

total son positivos.

El valor es positivo.

Actividad: Ingresar detalles factura

Origen: Ingresar placa.

Agente: Cajero, administrador.

Pre-condiciones: Generar iten

Post-condiciones: Se ingresa detalle a la factura del

sistema con estado activo.

Actividad: Anular detalle

Origen: Ingresar detalle_factura.

Agente: Cajero, Administrador

Pre-condiciones: Buscar y seleccionar detalle factura.

Post-condiciones: Se ingresa detalle_factura con

estado anulado

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

Tabla 4.26 Glosario de “Gestionar Detalle Factura”.

Autor: Tesista

Fuente: Propia

Objeto de Información: Cliente

Atributos Restricciones Actividad Descripción

Id_cliente

nombre

ruc

cedula

teléfono_fijo

teléfono_movil

dirección

id_parqueadero

El número de cédula o

RUC son únicos y

obligatorios

El nombre y la

dirección son

obligatorios.

Actividad: Ingresar cliente

Origen: Ninguna

Agente: Cajero, administrador.

Pre-condiciones: Ninguna

Post-condiciones: Se agrega un cliente al sistema.

Actividad: Eliminar cliente

Origen: Ingresar cliente

Agente: Administrador

Pre-condiciones: Buscar y seleccionar cliente.

Que no tenga facturas asociadas

Post-condiciones: Cliente eliminado del sistema

En el objeto

Cliente permite

almacenar los

datos de los

clientes que hacen

uso de las plazas

de aparcamiento.

Tabla 4.27 Glosario de “Gestionar Cliente”.

Autor: Tesista

Fuente: Propia

- 131 -

Objeto de Información: Tipo Parqueadero

Atributos Restricciones Actividad Descripción

Id_tipo_parq

ueadero

Nombre

Descripción

El nombre y

descripción son

únicos y

obligatorios

.

Actividad: Ingresar

tipo_parqueadero

Origen: Ninguna

Agente: Administrador.

Pre-condiciones: Ninguna

Post-condiciones: Se agrega un tipo de parqueadero

al sistema.

Actividad: Eliminar tipo_parqueadero

Origen: Ingresar tipo_parqueadero

Agente: Administrador

Pre-condiciones: Buscar y seleccionar tipo_parqueadero.

Que no tenga información parqueadero

asociadas

Post-condiciones: Tipo_parqueadero eliminado del sistema

En el objeto

Tipo_parqueadero

permite almacenar la

información de los

distintos tipos de

parqueaderos que

existen en el distrito

metropolitano de Quito.

Tabla 4.28 Glosario de “Gestionar Tipo Parqueadero”.

Autor: Tesista

Fuente: propia

Objeto de Información: Info_parqueadero

Atributos Restricciones Actividad Descripción

Id_infoPar

queadero

Id_tipo_par

queadero

nombre

dirección

latitud

longitud

El nombre

,dirección, latitud y

longitud son

únicos y

obligatorios

.

Actividad: Ingresar

Info_parqueadero

Origen: ingresar tipo_parqueadero

Agente: Administrador.

Pre-condiciones: Tipo_parqueadero

Post-condiciones: Se agrega un parqueadero al sistema.

Actividad: Eliminar info_parqueadero

Origen: Ingresar tipo_parqueadero

Agente: Administrador

Pre-condiciones: Buscar y seleccionar

info_parqueadero. Que no tenga información

tipo_parqueadero asociadas Post-condiciones: info_parqueadero eliminado del sistema

En el objeto

info_parqueadero

permite almacenar

la formación y

localización de las

direcciones y la geo

referencia de los

mismos.

Tabla 4.29 Glosario de “Gestionar Tipo Parqueadero”.

Autor: Tesista

Fuente: Propia

- 132 -

Objeto de Información: Usuario

Atributos Restricciones Actividad Descripción

Fecha de creación

Contraseña

Fecha de caducidad de

contraseña

Fecha de creación

Fecha de modificación

Perfil de creación

Perfil de modificación

Usuario

Apellido

Cédula

Dirección

Fecha de nacimiento

Mail institucional

Mail personal

Nombre

El usuario es

único y obligatorio

La contraseña,

nombre, apellido,

cédula, mail

(personal), mail

(institucional) son

ítem obligatorios.

Actividad: Ingresar Usuario

Origen: Ninguna

Agente: Súper

administrador, administrador.

Pre-condiciones: Ninguna

Post-condiciones: Se agrega un usuario al

sistema.

Actividad: Eliminar usuario

Origen: Ingresar usuario

Agente: Súper

administrador, Administrador

Pre-condiciones: Buscar y seleccionar usuario.

Post-condiciones: Cliente eliminado del sistema

En el objeto Usuario

permite almacenar la

información de

personas que van a

registrarse como parte

del parqueadero

Tabla 4.30 Glosario de “Gestionar Usuario”.

Autor: Tesista

Fuente propia

Objeto de Información: Perfil

Atributos Restricciones Actividad Descripción

Fecha de creación

Fecha de

modificación

Perfil de creación

Perfil de

modificación

Ninguna

Actividad: Gestionar Perfil

Origen: Ingresar Usuario

Agente: Súper administrador.

Pre-condiciones: Buscar usuario

Post-condiciones: Se gestiona uno o varios Roles para

el Perfil.

Actividad: Seleccionar perfil

Origen: Ingresar usuario

Agente: Administrador

Pre-condiciones: Seleccionar nuevos Roles.

Post-condiciones: Se actualizan los Roles del Perfil.

En el objeto Perfil

permite almacenar los

perfiles que se le

puede dar a un

usuario del sistema

con sus respectivas

acciones

Tabla 4.31 Glosario de “Gestionar Perfil”.

Autor: Tesista

Fuente: Propia

- 133 -

Objeto de Información: Rol

Atributos Restricciones Actividad Descripción

Fecha de creación

Fecha de modificación

Perfil de creación

Perfil de modificación

Id_pagina

Ninguna

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

Agente: Súper administrador.

Pre-condiciones: El Nombre y URL deben existir en

el Sistema.

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.

En el objeto Rol

permite

almacenar el rol

que manejar el

usuario según el

perfil que se le

asigne.

Tabla 4.32 Glosario de “Gestionar Rol”.

Autor: Tesista

Fuente: Propia

- 134 -

Objeto de Información: Pagina

Atributos Restricciones Actividad Descripción

Menú

Fecha de creación

Fecha de modificación

Nombre

Orden

Perfil de creación

Perfil de modificación

URL

El nombre y

URL son

obligatorios

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 Origen: Ingresar página

Agente: Súper administrador

Pre-condiciones: Buscar y seleccionar página.

-Confirmar edición.

-Post-condiciones:

-Se actualizan los cambios

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

En el objeto

Pagina permite

almacenar los Url

de las paginas

Tabla 4.33 Glosario de “Gestionar Pagina”.

Autor: Tesista

Fuente propia

- 135 -

Objeto de Información: Permisos

Atributos Restricciones Actividad Descripción

• Fecha de

creación

• Fecha de

modificación

• Perfil de creación

• Perfil de

modificación

-Ninguna

Actividad: Gestionar Permisos

Origen: Ingresar Usuario

Agente: Master

Pre-condiciones: -Seleccionar un Rol

Post-condiciones: -Se genera permisos para el rol

Actividad: Seleccionar

Permisos

Origen: Ninguna

Agente: master

Pre-condiciones: -Seleccionar un Rol

-Seleccionar permisos.

-Confirmar edición. Post-condiciones: -Se editan permisos para el rol.

En el objeto Permisos

permite almacenar los

permisos que se le

asigna al rol de un

usuario

Tabla 4.34 Glosario de “Gestionar Permiso”.

Autor: Tesista

Fuente: Propia

Objeto de Información: Persona

Atributos Restricciones Actividad Descripción

nombre

apellido

cedula

fecha de

nacimiento

mail_personal

mail_institucional

dirección

-Nombre, apellido,

Cedula son

campos

obligatorios

Actividad: Gestionar Persona

Origen: ninguno

Agente: administrador

Pre-condiciones: -Ninguna

Post-condiciones: -Se agrega los datos persona al

sistema

Actividad: Seleccionar Persona

Origen: Ingresar Persona

Agente: administrador

Pre-condiciones: -selecciona un usuario

-Asigna un rol

Post-condiciones: -Se editan permisos usuario

En el objeto Persona

permite almacenar los

datos delos trabajadores

del parqueadero para

asignarlos como usuarios

y roles

Tabla 4.35 Glosario de “Gestionar Persona”.

Autor: Tesista

Fuente: Propia

- 136 -

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, farmacias, centros

- 137 -

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.

- 138 -

6 GLOSARIO

A

API: Application Programming Interface (en español interfaz de

programación de aplicaciones), es el conjunto 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.

- 139 -

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

- 140 -

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%B3viles-

qu%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

- 141 -

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-arquitectura-

blackberry-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-Applications-

Part-2

24. WIKIPEDIA.ORG,”rup”,(2012) Descargado el 24 de julio de 2012 desde ,

http://es.wikipedia.org/wiki/Proceso_Unificado_de_Rational

- 142 -

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/

- 143 -

ANEXOS

- 144 -

ANEXOS A

MANUAL DE USUARIO

APLICACIÓN WEB SYSQP

- 145 -

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

- 146 -

- 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 , se desplegará la pantalla

- 147 -

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.

- 148 -

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).

- 149 -

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.

- 150 -

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.

- 151 -

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.

- 152 -

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 Menú principal Usuario Cajero

- 153 -

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.

- 154 -

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 Gestión Reservas

- 155 -

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.

- 156 -

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.

- 157 -

ANEXOS B.

MANUAL DE USUARIO

APP Q-PARKING

- 158 -

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”.

- 159 -

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:

- 160 -

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.

- 161 -

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.

- 162 -

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

- 163 -

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

- 164 -

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

- 165 -

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.

- 166 -

ANEXOS C.

MANUAL DE TÉCNICO

- 167 -

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.

- 168 -

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):

- 169 -

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.

- 170 -

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.

- 171 -

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.

- 172 -

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.

- 173 -

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.

- 174 -

Paquete WEB-INF (Librerías)

Figura E.27 Librerías principales Fuente propia.

Figura E.28 Librerías implementadas

Fuente propia.

- 175 -

ESTRUCTURA BASE DEL SISTEMA MÓVIL ANDROID q-parking

Paquete src (Código fuente)

Figura E.29 Paquetes fuente Fuente propia.

- 176 -

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.

- 177 -

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.

- 178 -

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.

- 179 -

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.