Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRABAJO DE GRADO
ASESOR (a):
ING. JOHN HAIDE CANO BELTRÁN
2
3
CONTENIDO
pág.
RESUMEN 8
INTRODUCCIÓN 9
1 IDENTIFICACIÓN DEL PROBLEMA 10
1.1 PLANTEAMIENTO DEL PROBLEMA 10
1.2 FORMULACIÓN DEL PROBLEMA 11
2 JUSTIFICACIÓN 12
3 OBJETIVOS 13
3.1 OBJETIVO GENERAL 13
3.2 OBJETIVO ESPECÍFICO 13
4 MARCO DE REFERENCIA 14
4.1 MARCO TEÓRICO CONCEPTUAL 14
4.1.1 Metodologías de desarrollo 14
4.1.1.1 Fases de la metodología en cascada 14
4.1.2 Dispositivos móviles 16
4.1.2.1 Tipos de dispositivos móviles 16
4.1.3 Sistemas operativos móviles 17
4.1.3.1 Android 18
4.1.3.2 iOS 18
4.1.4 Lenguajes de programación 18
4.1.4.1 ¿Qué es el Lenguaje? 18
4.1.4.2 ¿Qué es la Programación? 19
4.1.4.3 Tipos de lenguajes de programación 20
4.1.4.4 Lenguajes de programación más populares 21
4.1.5 Base de datos 22
4.1.5.1 Bases de datos relacionales 22
4.1.5.2 Bases de datos No Relacionales 25
4.1.6 La nube y el IOT (internet de las cosas) 27
4
4.1.7 Entorno de desarrollo multiplataforma 29
4.1.7.1 Unity 3D 30
4.1.8 Parqueaderos automatizados 32
4.1.9 Firebase 33
4.2 MARCO CONTEXTUAL 36
5 METODOLOGÍA 37
6 RESULTADOS Y DISCUSIÓN 39
6.1 FASE DE INICIO 39
6.2 FASE DE ELABORACIÓN 40
6.3 FASE DE CONSTRUCCIÓN 60
6.4 FASE DE TRANSICIÓN 83
6.5 FASE DE IMPLEMENTACIÓN 84
7 CONCLUSIONES 93
8 RECOMENDACIONES 94
BIBLIOGRAFIA 95
5
LISTA DE FIGURAS
pág.
6
LISTA DE TABLAS
pág.
7
RESUMEN
8
INTRODUCCIÓN
9
1 IDENTIFICACIÓN DEL PROBLEMA
10
1.2 FORMULACIÓN DEL PROBLEMA
11
2 JUSTIFICACIÓN
Podrá permitir que los usuarios puedan tener conocimiento a tiempo sobre el estado
del parqueadero, ya sea que esté lleno para que puedan llevar su vehículo a otro
parqueadero, esto permitirá que no tengan que esperar gastando gasolina y otros
factores, ya que se le brindará información completa en tiempo real de los espacios
y posiblemente mostrar los vehículos en espera.
El poder tener una fuente de información en tiempo real permitirá a los usuarios
poder tomar decisiones desde antes de salir de la casa para que puedan tomar el
vehículo que mejor se adecue a las necesidades y les permita estar en la
Universidad cómodamente. Gracias a este sistema, las personas podrán estacionar
su vehículo de una manera más rápida, conociendo en qué dirección deben ir para
ubicarlo en el espacio vacío.
En general se puede afirmar que la IoT (Internet of Things o Internet de las Cosas)
permitirá que los participantes de internet puedan tener acceso a cualquier instante
por medio del conjunto de tecnologías de la información y comunicaciones con el
objetivo que permita la consulta en tiempo real. Teniendo un grado de
automatización en zonas de estas podrán también acceder a un espacio libre en
menos tiempo y esto permite brindar mayor confort a las personas.
12
3 OBJETIVOS
13
4 MARCO DE REFERENCIA
El modelo o la metodología que se escoja debe ser adecuado con las circunstancias
y características del proyecto, pero existe un amplio abanico de elecciones en donde
se encuentran los siguientes modelos: cascada, prototipado, incremental, espiral y
RAD. Estos modelos son los más tradicionales y cuadriculados a la hora de ser
implementados, además, son incompatibles entre ellos.
● Requisitos
14
● Diseño
● Implementación
● Verificación
● Mantenimiento
Los cambios que ocurran en esta fase son debidos a que hayan encontrado errores,
a que el software deba adaptarse a cambios del entorno externo (sistema operativo
o dispositivos periféricos), o debido a que el cliente requiera ampliaciones de
funcionalidad o del rendimiento.
15
4.1.2 Dispositivos móviles
Los dispositivos móviles son aparatos de tamaño pequeño que cuentan con algunas
capacidades de procesamiento, con conexión a una red y con memoria mayormente
limitada, que ha sido diseñado específicamente para una función, pero que puede
llevar a cabo otras funciones más generales, según (Pozo, 2007).
Cualquier dispositivo móvil debería funcionar y poder ser usado de forma fiable
mientras nos movemos, independientemente de la proximidad de una fuente de
energía (enchufe) o de una conexión física a Internet. Para facilitar la portabilidad,
los dispositivos móviles suelen contener baterías recargables, que permiten varias
horas o más de operación sin necesidad de acceso a un cargador o a una fuente de
energía externa. Aunque son móviles, estos dispositivos pueden sincronizarse con
un sistema de sobremesa para actualizar aplicaciones y datos.
El mundo de “lo móvil” está de moda, no hay más que visualizar a nuestro alrededor
para darnos cuenta. Un ejemplo muy común son los usuarios de telefonía móvil
debido a que éstos se han multiplicado hasta límites no previstos, convirtiéndose en
el mayor y más difundido exponente de ese mercado, aprovechando este punto
como uno de los más importantes en el proyecto debido a que el prototipo será
desarrollado principalmente para dispositivos móviles, específicamente celulares,
contando que la mayor parte de la comunidad estudiantil tiene un teléfono inteligente
que estará en todo momento en contacto con el estado del parqueadero de la
universidad.
● Tablets
● Laptops
16
mantenerla conectada de forma remota del mismo modo que a un celular, por
ejemplo.
● Teléfonos Inteligentes
Los dispositivos móviles por excelencia son los celulares. Son los más ligeros y
cómodos. Hasta el momento son los favoritos de las empresas móviles por su
versatilidad y porque cada vez son más avanzados.
Para explicar este tema y como se relaciona con el proyecto, se delimitará primero
el campo de estudio con definiendo un sistema operativo como “…una colección de
programas que comparten los mismos mecanismos de distribución. Se genera con
el propósito de administrar y extender los recursos o capacidades de los sistemas
de información.” (Llaven, 2015). Un Sistema Operativo es un software que se inicia
al encender un dispositivo y se encarga de gestionar todos los recursos del sistema,
tanto de hardware como el software permitiendo así la comunicación entre el usuario
y el ordenador.
En los últimos años los sistemas operativos han ampliado sus fronteras, dejando a
un lado los entornos de escritorio y equipos estáticos, para relacionarse en el mundo
de los dispositivos móviles. Según (Pernía, 2016) “Los sistemas operativos móviles
son mucho más simples y están más orientados a la conectividad inalámbrica. A
medida que los teléfonos móviles crecen en popularidad, los sistemas operativos
con los que funcionan adquieren mayor importancia”.
Fuente: https://ux.stackexchange.com/questions/96537/whats-the-symbol-for-the-locate-me-button
17
La imagen anterior muestra la clara predominancia que tiene el sistema operativo
móvil Android, seguido de iOS. Teniendo en cuenta que entre los dos suman un
92% del mercado, se opta por desplegar el proyecto en estos dos sistemas
operativos, para abarcar el mayor número de usuarios posibles.
4.1.3.1 Android
4.1.3.2 iOS
Son varias las definiciones existentes, pero nos centraremos en las más relevantes
y actuales basados en el contexto actual.
(Pavio & Begg, 1981) indican que “el lenguaje es un sistema de comunicación
biológico especializado en la transmisión de información significativa e intra
individualmente, a través de signos lingüísticos”.
18
partes; que claro que el lenguaje establecido entre los individuos o máquinas puede
ser totalmente diferente y con lleve al aprendizaje frecuente para su interpretación.
19
Cuando hablamos de lenguajes de programación también identificamos su nivel de
compilación según el medio expuesto, esto con el fin de verificar el entorno de
desarrollo más optimo en término lenguaje informático. No podemos deducir que
estos son de alto nivel o bajo nivel; sin embargo, ayudan a sistematizar la estructura
de comunicación ya sea a nivel de software alternos o al propio hardware. A
continuación, detallaremos un poco la clasificación de los tipos de lenguajes
existentes.
20
4.1.4.4 Lenguajes de programación más populares
Otros de los lenguajes que tienen mayor auge son Python y C#, estos logran tener
un ranking compartido del 11.068% como lo indica la figura 1. “Python es un
lenguaje de programación que cumple con lo planteado y se viene perfilando como
una opción recomendada para el desarrollo de software libre.” (Challenger, Díaz &
Becerra, 2014, p. 1). Por otra parte, lenguajes como C# de alto nivel y desarrollado
por Microsoft logra adaptarse de manera considerable a sistemas operativos de
Windows permitiendo mayor interacción entre software y hardware de los
ordenadores de mayor demanda en el mercado. “C#, se ha convertido en uno de
los lenguajes de programación más populares en Internet, sin embargo, también es
un extraordinario lenguaje de aplicación general”. (Ceballos, 2002, p. XIII). Mucho
de estos lenguajes de programación implementan mejoras en su arquitectura para
lograr mejores resultados en el desempeño de aplicaciones. En la actualidad
lenguajes como PHP, JavaScript y SQL, son muy apetecidos para la realización de
Front end, Backend e incluso creación y consulta de bases de datos relacionales,
pero cuentan con una curva de aprendizaje a largo un poco lenta para su
implementación práctica.
Fuente: https://www.tiobe.com/tiobe-index/
21
4.1.5 Base de datos
Para las bases de datos las estructuras son esencial en la incorporación de objetos
que almacenan o acceden a los datos de la base de datos como lo son Tablas,
vistas e índices. Las tablas son objeto que almacena datos en forma de filas,
columnas y se clasifican por medio de un tipo de dato. Las columnas permiten
almacenar la información sobre cada elemento que queremos guardar en la tabla,
cada fila de la tabla conforma un registro; también debemos tener en cuenta que los
datos de una tabla contienen valores atómicos, es decir que contiene elementos
que no pueden ser divididos. IBM afirma:
22
Una base de datos relacional es una base de datos que se trata como un
conjunto de tablas y se manipula de acuerdo con el modelo de datos relacional.
Contiene un conjunto de objetos que se utilizan para almacenar y gestionar los
datos, así como para acceder a los mismos. Las tablas, vistas, índices,
funciones, activadores y paquetes son ejemplos de estos objetos. (Consulta de
SQL,1993-2002 ,p.1).
● SQL
Basado en esto también se debe aclarar que el SQL no solo permite la manipulación
de datos como insert, update, delete o select, sino también para en la creación y
modificación de los objetos de base de datos, como lo afirma (Microsoft, 2018).
Como en todo lenguaje estructurado, para SQL existen palabras reservadas que
serán interpretadas por los gestores de base de datos, es muy importante conocer
su aplicabilidad y función al momento de generar consultas robustas para lograr
obtener la información correcta. Pero todas estas consultas requieren a su vez de
matemáticas que la soportan como el álgebra y cálculo relacional, que combinas
técnicas y por medio de algoritmos mejorar el desempeño por medio de los índices.
En base a lo anteriormente mencionado los siguientes autores afirman “El estudio
del álgebra relacional presenta un interés especial, pues ayuda a entender qué
servicios de consulta debe proporcionar un lenguaje relacional, facilita la
comprensión de algunas de las construcciones del lenguaje SQL y también sirve de
base para el tratamiento de las consultas que efectúan los SGBD internamente.”
(Camps et. al., 2005,p.20-21).
● Clasificación de Claves
● Clave primaria
Las claves primarias permiten realizar una restricción única en el campo, mediante
estas logramos garantizar que los datos no van a generar duplicidad en nuestra
tabla. Adicional a esto la clave primaria también nos ayuda a interconectar con otras
tablas generando relación entre una a muchas columnas. Esta se recomienda que
23
se define como NOT NULL restringiendo que su campo quede vacío y pueda
generar inconsistencia para otras tablas.
● Clave foránea
Por otro lado, se encuentra las claves foráneas que nos permite especificar una
restricción por referencia, esta debe coincidir obligatoriamente como mínimo con un
valor de la clave primaria o de una clave de la tabla padre. Como lo confirma “Una
clave externa (FK) es una columna o combinación de columnas que se utiliza para
establecer y exigir un vínculo entre los datos de dos tablas.” (Microsoft, 2018, p.1).
● Clave Índice
Los índices permiten obtener un registro de forma más rápida, donde se pueden
presentar demoras dependientes la complejidad de una consulta a la base de datos.
Básicamente lo que logran los índices es por medio de algoritmos recuperar las filas
por medio de grafos y árboles agilizando la consulta de la información. Como lo
confirma “Un índice es una estructura de disco asociada con una tabla o una vista
que acelera la recuperación de filas de la tabla o de la vista. Un índice contiene
claves generadas a partir de una o varias columnas de la tabla o la vista.” (Microsoft,
2018, p.1).
● Normalización
24
4.1.5.2 Bases de datos No Relacionales
Desde hace muchos años, las bases de datos han tenido un soporte para la
organización de la información basándose en las tipologías relacionales, pero en la
actualidad los paradigmas cambian y permiten que nuevas fuentes de
almacenamiento renacen para mejorar el desempeño de las aplicaciones. Para las
bases de datos NoSQL (“Not Only SQL” o “No solo SQL”) se caracterizan cinco
importantes acontecimientos a diferencia de las relacionales, como lo son: Mejoras
al momento de escala horizontal, El manejo de grandes cantidades de volúmenes
de información, procesamiento de información en tiempo real, flexibilidad en el
esquema y estructuras distribuidas. Las bases de datos NoSQL están
completamente mejoradas y optimizadas en la aplicación de operaciones para
recuperar y agregar información en el modelo, los cuales se presenta como clave –
valor.
En la actualidad las bases de datos NoSQL son usadas con mucha frecuencia en el
desarrollo para cubrir sus propias necesidades en temas de escalabilidad,
rendimiento, mantenimiento, etc. como, por ejemplo: Google+, Twitter, Facebook,
Instagram y LinkedIn.
25
Consistencia, Aislamiento (Isolation) y Durabilidad y que podemos definir de la
siguiente manera según (Gómez, Raúl. 2014, p. 49).
● Consultas
Las consultas son una herramienta por la cual muchas bases de datos interactúan
con la información, ya sea implementando las llaves primarias y foráneas para las
relacionales como también la llamada clave – valor para las bases de datos no
relacionales. Estás permite a su vez practicidad, flexibilidad y riqueza en la
26
construcción de Query que a su vez garantizan un óptimo rendimiento y la
escalabilidad. Existen diferentes métodos para la búsqueda de información como lo
registró el autor (Gómez et al., 2014, p. 55).
Companion SQL database consiste en tener una base de datos auxiliar (que puede
ser una base de datos SQL o una TestDB) de forma que se utilice esta secundaria
para almacenar ciertos metadatos importantes para realizar la búsqueda, y se
empleen para facilitar la búsqueda posterior en el contenedor NoSQL.
Búsqueda local dispersa. Otra forma de realizar consultas consiste en, puesto que
se tiene el conjunto de datos repartido entre los distintos servidores, repartir de igual
modo la consulta, de forma que cada servidor ejecute localmente cada consulta y
reenvíe los resultados a un nodo maestro, que sería el encargado de juntar todos
los resultados y presentarlos a la aplicación.
Claramente podemos ver que los dispositivos conectados a internet a través del
tiempo van en incremento y se “estima que en 2020 habrá́ más de 20 mil millones
de dispositivos conectados a Internet, en lo que se conoce como Internet de las
Cosas (IoT)” (Mora, 2016). La ciencia de esto es interconectar dispositivos que
permitan intercambiar información u hechos, pero algo que realmente a veces no
27
entendemos es que por el simple hecho de que el dispositivo esté conectado a
internet, no lo convierte en IoT, unos de los puntos más acertados es que “Una
solución IoT tiene mucho que ver sobre cómo entender mejor el mundo que está a
nuestro alrededor para ofrecer un servicio inteligente a la sociedad.” (Mora, 2016).
En la actualidad podemos encontrar diversas plataformas que facilitan el desarrollo
de sistemas basados en IoT que ofrecen servicios en la nube para desarrollar,
podemos encontrar las siguientes plataformas “Microsoft Azure IoT Suite, Google
Cloud IoT Core, Amazon Web Service IoT son solo algunos ejemplos de los
proveedores más importantes de nube publica que ofrecen a los desarrolladores
servicios específicos para IoT” (Mora, 2016).
El almacenamiento de los datos IoT son servicios que nos permiten almacenar
nuestros datos IoT y obtener informes sencillos. Los servicios que proporcionan
redes y protocolos de comunicaciones similares o plataformas para IoT. La mayoría
se especializa en servicios Machine-to-Machine (M2M). Las plataformas hardware
IoT son vendedores que nos permiten desarrollar y prototipar rápidamente
dispositivos IoT utilizando plataformas hardware, módulos y herramientas para
construirlos y que abarca desde un simple componente hasta el dispositivo
completo. En general podemos afirmar que el IoT podrá permitir agentes integrantes
o participantes de internet, comunicarse desde cualquier ubicación y en cualquier
momento con el objetivo de brindar o utilizar servicios de la red que permitan el
control o monitoreo de dichos agentes de forma automática y en tiempo real.
28
demanda, evitando tener recursos ociosos en los momentos de menor carga de
trabajo” (Moreno, 2016).
El desarrollo del IoT está llevando a que el consumidor sea cada vez más exigente,
al estar conectados y localizables en todo momento facilita una mayor
personalización de los servicios y objetos que nos rodean, así́ como una mayor
información disponible en el momento de la toma de decisiones. Podemos analizar
cómo IoT evoluciona en el terreno de los modelos de negocios. “Si bien es verdad
que las grandes empresas suelen asentar las bases de la infraestructura
tecnológica, los emprendedores son los agentes transformadores de nuestra
sociedad que impulsan las tendencias más innovadoras.” (Cuzme, 2015),
realizando un impacto en empresas de desarrollo y no sólo en empresas sino
también personas y hogares.
Las aplicaciones nativas son muy potentes, pero también requieren de mucha
dedicación y esfuerzo de desarrollo que al final sólo lo soportaría una plataforma,
anteriormente para poder desarrollar para todas las plataformas se debía escoger
el lenguaje y el IDE necesario con sus respectivas librerías.
29
desarrollo costo/beneficio compartiendo el mismo código para las diferentes
plataformas. Entre otras ventajas sobresalen: menor tiempo y costo de desarrollo;
prestaciones cercanas a las nativas con acceso al hardware del dispositivo y
disponibilidad de entornos potentes de desarrollo (Delphi, Visual Studio) o, en su
lugar, utilización de tecnologías bien conocidas por los desarrolladores web
(HTML5, JavaScript y CSS) que pueden trasladar sus conocimientos y experiencias
al paradigma móvil (Delía et al., 2014).
4.1.7.1 Unity 3D
30
Podemos encontrar muchos tipos de motores de videojuegos y diferentes maneras
de clasificarlos ya sea por lo que las herramientas incluyen, las funcionalidades que
ofrecen y el grado de programación requerido o por lo que engloba, puede ser un
motor general o especializado en un tipo de videojuego y así se dividen en tres tipos
de motores, uno es roll-your-own versión, mostly-ready versión y el motor point-and-
click.
Los motores de tipo Roll-your-own son del nivel más bajo e implica que para crear
el videojuego se debe primero crear el motor, la creación de los motores requieren
de tiempo y recursos, pero muchas empresas lo realizan de esta forma, para esto
recurren a aplicaciones disponibles al público, “tales como las API como XNA,
DirectX, OpenGL, la API de Windows y Linux y SDL y bibliotecas comerciales o de
código abierto.” (Ouazzani, 2012). Estas herramientas son muy utilizadas para
facilitar la creación del motor de físicas y funcionalidades gráficas.
Mostly ready son motores listos para su uso, por lo cual proporciona numerosas
herramientas para la creación de contenido interactivo, por lo tanto, ya tienen su
interfaz de usuario, motor de físicas y opciones para la renderización que permitirán
acortar el tiempo de desarrollo, “Existen varios motores de este tipo y van desde los
gratuitos como ORGE, Génesis hasta los que tiene un precio elevado como Unreal,
id Tech o GameBryo pasando por los de bajo precio como Torque.” (Ouazzani,
2012).
En Point-and-click es el nivel más alto ya que son motores muy completos, tiene un
diseño muy intuitivo y se requiere programar muy poco, por lo tanto, es limitado ya
que sólo permite el desarrollo hasta que el motor se lo permita, “A pesar de estas
limitaciones son motores muy solicitados y apreciado por los creadores porque
permiten la creación de un juego de manera muy rápido sin tener que preocuparse
por los aspectos matemáticos y centrándose en los aspectos creativos.” (Ouazzani,
2012).
31
formato para texturas,“ es compatible con las API gráficas de Direct3D, OpenGL y
Wii. Además de ser compatible con QuickTime y utilizar internamente el formato
Ogg Vorbis” (Ouazzani, 2012). Unity provee recursos de modelos 3D en la que se
puede acceder por la misma aplicación donde existe el modo pago y gratuito de
esos recursos, incluso se puede extender la herramienta mediante plugins que se
obtienen en esta misma tienda.
32
Los parqueaderos automatizados permiten satisfacer la necesidad de los
conductores de encontrar un lugar para estacionarse “El cliente por medio de su
tarjeta inteligente, la cual contendrá sus datos personales, podrá obtener el acceso
hacia la plataforma central del parqueadero.” (Villa et al.,2017) los parqueaderos
automatizados están caracterizados por brindar un servicio de estacionamiento para
vehículos de una manera eficaz y optimizando el tiempo de búsqueda de que tardan
los conductores buscando un espacio en el parqueadero, dentro de algunos
parqueaderos automatizados los usuarios pueden tener la ventaja de ubicar su
automóvil dentro del parqueadero. “El beneficio que obtendrán los clientes es que
ellos evitarán la tediosa tarea de trasladarse y maniobrar su transporte hasta
encontrar y ubicarse en área disponible para parquearse” (Villa et al.,2017).
4.1.9 Firebase
“Firebase es una nueva tecnología creada por google, es una tecnología con gran
potencial, presenta diferentes servicios con gran facilidad de implementación, sin
duda alguna es gran ayuda para los desarrolladores.” (Niño y Ricardo, 2017), con
las funcionalidades que ofrece Firebase permite el apoyo para desarrollar diferentes
tipos de aplicaciones según la funcionalidad que se haya escogido que ofrece
Firebase.
Firebase cuenta con tres planes para los usuarios que deseen sus servicios,
podemos encontrar el plan sin cargo llamado Plan Spark en el cual es un plan que
no tiene costo, pero sin embargo tiene límites en las conexiones a la base de datos
en tiempo real, limitación en el almacenamiento de datos, hosting limitado. Podemos
33
encontrar el Plan Flame el cual tiene un cupo para más conexiones y
almacenamiento, tenemos por último el Plan Blaze la cual la manera de cobro es
pago por uso, el cual según el servicio que se esté utilizando y el tiempo será el
costo. Firebase es una herramienta web que le pertenece a Google la cual surgió
como una solución de construcción rápida para una aplicación por medio del kit de
desarrollo de software con el objetivo de la unificación de todas las soluciones de
Google.
Dentro de los servicios que ofrece Firebase podemos encontrar muchas ventajas,
una de ellas es el manejamos de CRUD de base de datos en tiempo real conociendo
34
la lógica del código la aplicación, sin necesidad de tener conocimientos abstractos
de alto nivel en manejo de base de datos, al margen del uso del Web Services
convencional que se usa para realizar el backend. “Acoplable para a otras
plataformas de desarrollo mediante librerías para cada lenguaje de programación.”
(Saltos et al.,2018). Ofrece una librería de notificación en pocas líneas de código.
“Gestión estadística del uso de la aplicación para evidenciar el mercado,
instalaciones, usuarios, etc.” (Saltos et al.,2018).
35
4.2 MARCO CONTEXTUAL
36
5 METODOLOGÍA
37
entrevistas, una de ellas fue con el portero donde nos expresó su opinión acerca de
la problemática, también se realizó una entrevista con el decano para poder saber
su opinión acerca del tema del parqueadero de la Universidad Cooperativa, siendo
esas fuentes de primera mano, también tomamos en cuenta unas tesis ya que es
una redacción de origen académico.
38
6 RESULTADOS Y DISCUSIÓN
39
En la primera fase se empezó a contextualizar el ambiente físico o capacidad
instalada del parqueadero, llegando a un aproximado de 90 espacios para carros y
disponibilidad para aproximadamente 500 motos. Además del ambiente propio de
la universidad, también se logró contextualizar los parqueaderos aledaños.
Requerimientos de usuario
Identificación
Descripción
REQ
40
Identificación
Descripción
REQ
41
MAPA FUNCIONAL
Visualización en tiempo real de Permite visualizar la información en tiempo real para las Administrador/
datos estadísticas de carros y motos. Estudiante
1.1.1
Modificar Estadística Carro Permite la modificación del estado de vehículos en espera. Administrador 1.1.2
Registro de Novedades UCC Permite registrar las novedades reportadas por la UCC. Administrador 1.1.4
Visualización en tiempo real de Permite la visualización de la información en tiempo real para Administrador/
ingresos y salidas los ingresos y salidas de vehículos (carros, motos). Estudiante
2.1.1
42
MAPA FUNCIONAL
Registro de Salida Permite registrar una salida para motos. Administrador 2.1.7
Visualización la información
de los pico y placa
Permite visualizar la información de los pico y placa Administrador 3.1.7
Creación de nuevos
parqueaderos alternos
Permite crear los parqueaderos alternos. Administrador 3.1.9
43
MAPA FUNCIONAL
44
Requisitos Funcionales
Login
Detalles:
1. El sistema permitirá ingresar el correo electrónico y contraseña.
2. El sistema debe validar si se presentan los siguientes errores:
a. Campo vacío de correo electrónico.
b. Campo vacío de contraseñas.
c. Si el usuario no existe.
d. Si el correo ingresado no tiene un formato valido.
e. Campo vacío de correo electrónica para la recuperación de contraseña.
3. El sistema permitirá tener un link para ingresar a registrar usuario.
4. El sistema permitirá recuperar la contraseña.
Registro
Detalles:
1. El sistema permitirá ingresar nombre, apellido, correo, contraseña y confirmación de
contraseña.
2. El sistema permitirá enviar un correo confirmando la creación de un nuevo usuario.
3. El sistema debe validar si se presentan los siguientes errores:
a. Campo vacío nombre del usuario.
b. Campo vacío apellido del usuario.
c. Campo vacío correo electrónico.
d. Si el correo ingresado no tiene un formato valido.
e. Campo vacío en la confirmación del correo electrónico.
4. El sistema permitirá tener un enlace para redireccionar a la pantalla de login.
5. El sistema permitirá validar la contraseña vs la comparación de manera automática
44
MÓDULO DASHBOARD
Detalles:
El sistema permitirá visualizar la siguiente información:
- Estadística de Carros
- Disponibles
- Ocupados
- En espera
- Inhabilitados
- Estadística de Motos
- Total, espacios
- Espacios Ocupados
- Espacios Desocupados
- Novedades UCC
- Nombre de UCC
- Texto
- Fecha y Hora
- Novedades Estudiantes
- Nombre del estudiante o usuario
- Texto
- Fecha y Hora
Detalles:
El sistema permite modificar los vehículos en espera ingresando la cantidad.
Detalles:
El sistema permite modificar los valores para la zona administrativa, zona principal,
zona cafetería y una vez actualizada debe calcular la suma total de la capacidad.
45
RQ: 1.1.4 Nombre: Registro de Prioridad: Media Fase: Estado:
Novedades UCC Especificado
Detalles:
El sistema permite ingresar una novedad reportada por la UCC, la información que se
debe visualizar es la siguiente:
- UCC
- texto ingresado
- fecha y hora (DD/MM/YYYY HH:MM: SS)
Detalles:
El sistema permite visualizar la novedad reportada por los estudiantes, la información
que se debe visualizar es la siguiente:
- Estudiante
- texto ingresado
- fecha y hora (DD/MM/YYYY HH:MM: SS)
MÓDULO PARQUEADEROS
Detalles:
El sistema permitirá mostrar la siguiente información dependiente su estado:
- Vehículo (Ocupado)
- Desocupado (Habilitado)
- Símbolo de prohibido (Bloqueado).
46
RQ: 2.1.2 Nombre: Asignar espacio Prioridad: Alta Fase: Estado:
1 Especificado
Detalles:
El sistema permitirá la asignación de un vehículo una vez selecciona el carro, se debe
desplegar un modal pop-up donde se visualiza la siguiente
e información:
- N° de parqueadero
- Botón Asignar
- Botón Desocupar
- Botón Habilitar
- Botón Inhabilitar
- N° de parqueadero
- Botón Asignar
- Botón Desocupar
- Botón Habilitar
- Botón Inhabilitar
Detalles:
El sistema permitirá habilitar el espacio de un vehículo una vez selecciona el carro, se
debe desplegar un modal pop-up donde se visualiza la siguiente información:
- N° de parqueadero
- Botón Asignar
- Botón Desocupar
- Botón Habilitar
- Botón Inhabilitar
47
RQ: 2.1.5 Nombre: Inhabilitar espacio Prioridad: Alta Fase: Estado:
Especificado
Detalles:
El sistema permitirá inhabilitar un espacio de un vehículo una vez selecciona el carro,
se debe desplegar un modal popup donde se visualiza la siguiente información:
- N° de parqueadero
- Botón Asignar
- Botón Desocupar
- Botón Habilitar
- Botón Inhabilitar
Detalles:
El sistema permitirá ocupar un espacio de una moto, y se visualiza la siguiente
información:
- Ocupado (+ Aumenta)
- Desocupado (- Disminuye)
- Ocupado (- Disminuye)
- Desocupado (+ Aumenta)
48
RQ: 2.1.7 Nombre: Registro de Salidas Prioridad: Alta Fase: Estado:
para moto Especificado
Detalles:
El sistema permitirá Desocupar un espacio de una moto, y se visualiza la siguiente
información:
- Ocupado (- Disminuye)
- Desocupado (+ Aumenta)
Detalles:
El sistema permitirá resetear los contadores de Ocupados y Desocupados.
49
MÓDULO ADMINISTRADOR
Detalles:
El sistema permitirá modificar por medio del botón “Editar” la información asociada al
cliente, como lo es:
- Nombre
- Apellido
- Correo electrónico
Detalles:
El sistema permitirá eliminar por medio del botón “Eliminar” la información asociada al
cliente, como lo es:
- Nombre
- Apellido
- Correo electrónico
Detalles:
El sistema permitirá seleccionar por medio de un filtro (lista desplegable) la siguiente
información:
- Nombre
- Apellido
- Email
50
RQ: 3.1.4 Nombre: Visualización de Prioridad: Alta Fase: Estado:
Usuarios Especificado
Detalles:
El sistema permitirá visualizar la siguiente información por el usuario:
- N° consecutivo
- Nombre
- Apellido
- Email
- Botón “Editar”
- Botón “Eliminar”
Detalles:
El sistema permitirá modificar los dígitos para la visualización del pico y placa, para
este cambio se deberán tener 2 formas de hacerlo.
Opción 1:
El sistema permitirá la modificación de los dígitos desde la consulta principal, por
medio del botón “Editar”, el cual traerá la siguiente información:
- Día de la Semana
- Dígito 1
- Dígito 2
Opción 2:
El sistema permitirá la modificación de los dígitos, por medio del botón “Cambio de
Dígito”, el cual traerá la siguiente información:
- Lunes
- Martes
- Miércoles
- Jueves
- Viernes
Nota: Las modificaciones se deberán realizar por medio del botón “Editar”.
51
RQ: 3.1.6 Nombre: Generación Prioridad: Alta Fase: Estado:
automática de pico y placa. Especificado
Detalles:
El sistema permitirá la generación automática del consecutivo de pico y placa
dependiendo el día de la semana.
Detalles:
El sistema permitirá visualizar la siguiente información de los dígitos de pico y placa:
- N° de consecutivo
- Día de la Semana
- Dígito 1
- Dígito 2
- Botón “Editar”
- Botón “Cambio de Dígito”
Detalles:
El sistema permitirá registrar nuevos parqueaderos alternos; esto será realizado
cuando se oprima el botón “Agregar Nuevo Parqueadero”, donde se solicitará la
siguiente información:
- Titulo
- Coordenadas X
- Coordenadas Y
- Dirección
- Horario
- Novedades
- Precio COP
- Disponibilidad
- Ubicación
- Link de acceso a google Maps
- Contraseña de acceso aplicativo móvil
52
RQ: 3.1.9 Nombre: Visualización la Prioridad: Alta Fase: Estado:
información de los Especificado
parqueaderos alternos.
Detalles:
El sistema permitirá visualizar la siguiente información de manera independiente por
parqueadero creado:
- Titulo
- Coordenadas ‘X’ y ‘Y’
- Dirección
- Precio
- Horarios
- Novedades
- Disponibilidad
Detalles:
El sistema permitirá parametrizar las jornadas para la diurna y nocturna.
53
MÓDULO ESTADISTICAS
Detalles:
El sistema permitirá generar la gráfica por medio de un filtro, dependiendo el año
seleccionado se graficarán los ingresos y salida de vehículos durante el año. (enero a
diciembre).
Tabla 29. Req. funcional - Generar estadísticas por año vs meses para motos
Detalles:
El sistema permitirá generar la gráfica por medio de un filtro, dependiendo el mes
seleccionado se graficarán los ingresos y salida de vehículos durante la semana.
(lunes a viernes).
Tabla 30. Req. funcional - Generar estadísticas por meses vs semana para motos
Detalles:
El sistema permitirá generar la gráfica por medio de un filtro, dependiendo el mes
seleccionado se graficarán los ingresos y salida de vehículos durante la semana.
(lunes a viernes).
Tabla 31. Req. funcional - Generar estadísticas por año vs meses para carros (Lineal)
54
RQ: 4.1.4 Nombre: Generar estadísticas Prioridad: Alta Fase: Estado:
por año vs meses para carros Especificado
Detalles:
El sistema permitirá generar la gráfica por medio de un filtro, dependiendo el año
seleccionado se graficarán los ingresos, salida, inhabilitados y habilitados de
vehículos durante el año. (enero a diciembre).
Tabla 32. Req. funcional - Generar estadísticas por año vs meses para carros
Detalles:
El sistema permitirá generar la gráfica por medio de un filtro, dependiendo el mes
seleccionado se graficarán los ingresos y salida de vehículos durante la semana.
(lunes a viernes).
Tabla 33. Req. funcional - Generar estadísticas por meses vs semana para carros
Detalles:
El sistema permitirá generar la gráfica por medio de un filtro, dependiendo el año
seleccionado se graficará la cantidad de novedades reportadas durante el año (enero
a diciembre).
Tabla 34. Req. funcional - Generar estadísticas por cantidad de novedades reportadas
55
RQ: 4.1.7 Nombre: Crear usuario Prioridad: Alta Fase: Estado:
Especificado
Detalles:
El sistema permitirá crear un usuario para poder visualizar la información del
parqueadero en tiempo real, debe permitir registrarse con el correo y la contraseña y
nombre completo
Detalles:
El sistema deberá permitir que los usuarios con Login activo puedan realizar reportes
y los demás usuarios puedan leer esos reportes.
El sistema deberá tener un cuadro tipo chat para realizar estos reportes.
REQUISITO DE RESTRICCION
N° de
Descripción de la Restricción
Restricción
El sistema permitirá ejecutarse en los sistemas operativos:
- Windows 7
RES-01 - Windows 8
- Windows 10
- Linux
El sistema solo permitirá el ingreso por medio de login por usuario
RES-02
y contraseña.
56
Modelamiento de casos de uso
En este modelo de casos de uso se resumen los accesos y roles que tiene un
administrador para la plataforma web donde tendrá el uso total del aplicativo para
su operación, administración y manejo de estadísticas. Esto garantizando que todos
los requerimientos de usuario tengan cumplimento a nivel funcional.
57
Figura 4. Caso de uso # 2 - Administrador web (especifico)
En estos diagramas se identifican los actores del sistema con su respectivo rol
dentro del sistema y sus acciones, donde se han definido tres roles que se pueden
distinguir por los permisos asignados para realizar dicha acción.
58
Figura 6. Caso de uso # 4 – Estudiante (General)
59
6.3 FASE DE CONSTRUCCIÓN
Desarrollo Web
Iniciamos el desarrollo utilizando una plantilla de tipo free como AdminLTE, esta
plantilla utiliza una serie de funcionalidades por parte del front-end que logran
agilizar y otorga un excelente diseño al usuario final; con las habilidades adquiridas
y una vez denotamos una fase de inicio y elaboración iniciamos con la solución de
cada requerimiento de usuario, los cuales fueron detallados uno a uno y planteados
en esta etapa. Con la ayuda de las herramientas de Firebase configuramos el
ambiente para permitir el acceso de usuarios por medio de JavaScript logramos
garantizar las condiciones de registro y login de usuarios al aplicativo esto con el fin
de permitir la seguridad al sistema por parte de otros usuarios.
60
Figura 8. Base de datos firebase de google desde consola.
Fuente: https://firebase.google.com/?hl=es-419
61
Figura 9. Diagrama de navegación.
62
Figura 10. Pantalla Login
63
Figura 12. Pantalla Dashboard
64
Figura 14. Pantalla Parqueadero UCC (motos)
En esta pantalla se permite modificar y eliminar los usuarios creados y con acceso
a la aplicación.
65
Figura 16. Pantalla Administración de pico y placa.
66
En esta pantalla se permite administrar el cambio de jornada para la aplicación, esto
dependiendo de las necesidades de la universidad.
67
Desarrollo Mobile y Tablets
Una de las tecnologías que se decidió utilizar para desarrollar la aplicación móvil ya
que para este proyecto se debe tener en cuenta que la aplicación debe permitir
utilizarse en Android y IOS, ya sean celulares o tablets, se escogió la herramienta
Unity. Realizando el desarrollo en este software permitió un despliegue
multiplataforma, también cabe resaltar que esta herramienta se caracteriza por su
potencia en entornos 2D y 3D, además tiene su propia assets store para poder
utilizar material totalmente gratuito, cuenta con una interfaz muy sencilla que
permitió realizar la ubicación de los assets y poder diseñar el menú y las pantallas.
La creación de la interfaz es fácil de usar y esto generará una gran experiencia de
usuario a los probadores del producto. En este software tiene como base para la
programación el lenguaje C# que permitió implementar la base de datos Firebase,
claramente se debe implementar todos los plugins adecuados.
68
Plataforma Mobile (Estudiantes y Administrador Mobile)
Pantalla Login
Permitirá usuario escribir el usuario que es el
correo electrónico y la contraseña, tiene la opción
recuperar contraseña y registrar usuario en caso
de que nunca haya ingresado a la aplicación,
también tiene dos formas de registro rápidas,
Facebook y Google.
69
Pantalla Registro
En esta pantalla se podrá registrar un nuevo
usuario, deberá colocar los datos básicos que se
muestran ya que esto permitirá la identificación
y autenticación en la App.
Pantalla Dashboard
Permitirá al usuario ver superficialmente el
estado del parqueadero de carros y motos, el
dato de espacios de carros disponibles,
ocupados, inhabilitados y carros en espera, en
motos podrá visualizar total de espacios
desocupados y ocupados.
70
Menú
En el lado derecho podemos encontrar un menú
con los módulos que tiene la aplicación, en los que
podrá navegar y consultar el usuario estudiante.
Pantalla Motos
El usuario podrá visualizar a detalle el estado del
parqueo de motos, porcentajes de disponibilidad y
también los espacios destinados para las motos.
71
Pantalla Novedades
Permitirá al usuario estar al día con noticias que
publiquen por parte de la Universidad
Cooperativa sede Sur y permitirá a los
estudiantes también comunicarse reportando su
propia novedad.
Parqueaderos alternos
Permitirá al usuario consultar los parqueaderos
que estén registrados con la Universidad para
poder llevar su vehículo llegado el caso que el
parqueadero de carros o motos esté lleno, se
puede visualizar la dirección, nombre del
parqueadero, novedades, precios y horario.
72
Parqueaderos alternos
Esta funcionalidad permitirá ubicar de manera
fácil el parqueadero por medio de Google
maps.
73
Desarrollo Prototipo Arduino
Principalmente cabe resaltar que el desarrollo del prototipo Arduino tubo como base
la investigación, Identificando que este desarrollo involucra conocimientos a nivel
de software y hardware nos centramos en entender que Arduino es una plataforma
de creación electrónica de código abierto la cual interactuar con diferentes módulos
que facilitan la toma de datos y la interacción con diferentes plataformas, para este
caso la base de datos en tiempo real “firebase”.
Como primera fase de este desarrollo debemos tener en cuenta una serie de
cálculos para lograr obtener la distancia como se refleja en la siguiente imagen.
Fuente: https://www.luisllamas.es/medir-distancia-con-arduino-y-sensor-de-ultrasonidos-hc-sr04/
74
Para la construcción de este prototipo se contaron con los siguientes componentes:
Arduino Uno
Módulo Wifi ESP8266 NodeMCU 1.0
Jumper de conexión entre los pines de la placa
Sensor Ultrasónico
Protoboard
El módulo wifi que utilizaremos es el ESP8266 NodeMCU 1.0, este módulo tiene la
gran facilidad que permite su programación y utiliza una alimentación 3.3 V con
regulador de tensión. Su utilidad en el proyecto es conectarse a firebase y mediante
una librería actualizar el estado del vehículo en la base de datos, la cual reflejara en
cambio en todos los dispositivos conectados a ella.
Figura 21. Diseño de prototipo arduino con sensor ultrasónico y módulo wifi.
Nuestro Arduino UNO tendrá como misión alimentar los dispositivos electrónicos y
enviar la señal del sensor ultrasónico al módulo wifi que luego se enviará vía internet
a firebase como anteriormente explicamos. La alimentación del sensor debe ser
continua de al menos 5v para garantiza datos reales de comparación esto se detectó
durante las pruebas de desarrollo realizadas.
75
posición del estacionamiento en el parqueadero para este caso utilizamos la
posición número 1, donde se estarán presentado las respectivas actualizaciones.
76
Desarrollo Mobile (Parqueaderos Alternos)
En el caso de los parqueaderos alternos a la universidad, se decidió también utilizar
una herramienta que permitiera un desarrollo consistente y que se adapte en
sistemas operativos móviles como iOS y Android, esta herramienta es conocida
como Thunkable, la cual trabaja con un sistema de bloques que permite desarrollos
mucho más rápidos y dinámicos, permitiendo también conexiones a bases de datos
locales y en la nube. En este caso se decide utilizar firebase como base de datos
para centralizar la información que se muestra en la aplicación web de
administración, la aplicación móvil para los estudiantes y la aplicación para los
parqueaderos alternos.
77
Mobile (Parqueaderos Alternos)
Pantalla Login
La pantalla incluirá un pequeño formulario donde
se requerirá el nombre del usuario y la clave
asociada al mismo. Utilizando credenciales
provistas se iniciará el proceso mediante el cual se
controla el acceso individual al sistema de
parqueaderos alternos. También permitirá al
usuario de manera sencilla recuperar su
contraseña, en caso de olvido o pérdida.
Pantalla Inicio
Esta pantalla es la que se muestra después del
login y permite al administrador, conocer las
coordenadas del parqueadero en Google Maps,
junto con el nombre y la última actualización hecha.
78
Pantalla de Admin (Administración)
Esta pantalla permite la actualización de los
parámetros establecidos, como lo son: precio,
disponibilidad de espacios y las novedades.
Definición de roles
Estudiantes: Este usuario tiene permisos para poder visualizar la información, pero
no podrá realizar alguna edición, puede visualizar los estados del parqueadero,
consultar los parqueaderos alternos, puede consultar el pico placa, puede visualizar
las novedades de la Universidad y de los mismos estudiantes, puede realizar una
novedad.
79
Pruebas de Calidad de Software
Se puede inferir que la calidad es algo abstracto y cualitativo, no aplicable al
software, pero al ser un arte, podemos decir que a un software se le puede decir
que es bueno, malo, lento, rapido u ´ optimo. Para decir que un software es de
calidad tenemos que tener ´ en cuenta que influyen varios factores, por ejemplo, los
procesos y buenas practicas, las herramientas, las personas y las medidas y
metricas asociadas.
80
Área Funcional / Sub Funcionalidad / Requerimientos de Ambiente de Última Fecha de
Id Caso de Prueba Descripción Fecha Datos / Acciones de Entrada Resultado Esperado Resultado Obtenido Estado Observaciones
proceso Característica Pruebas Estado
81
Área Funcional / Sub Funcionalidad / Requerimientos de Ambiente de Última Fecha de
Id Caso de Prueba Descripción Fecha Datos / Acciones de Entrada Resultado Esperado Resultado Obtenido Estado Observaciones
proceso Característica Pruebas Estado
Ingreso de datos:
Verifique que el sistema permite ingresar el correo electrónico y La aplicación movil se logea La aplicación movil se logea
8 Login de usuarios (Aplicación Movil) contraseña, En caso de ser correcto el sistema permite el acceso al 1-nov-18 Login de Usuarios Acceso usaurios. correctamente con un email y Se debe tener acceso a Internet correctamente con un email y 100% 1-nov-18 Cumple
- Correo
aplicativo movil. contraseña. contraseña.
- Contraseña
Ingreso de datos:
Verifique que el sistema permite ingresar el correo electrónico y La aplicación movil se logea La aplicación movil se logea
Login de usuarios (Aplicación Movil) Login de Usuarios Acceso usaurios.
9 contraseña, En caso de ser correcto el sistema permite el acceso al 1-nov-18 correctamente con un email y Se debe tener acceso a Internet correctamente con un email y 100% 1-nov-18 Cumple
Parqueaderos Alternos Parqueaderos Alternos - Correo
aplicativo movil. contraseña. contraseña.
- Contraseña
82
6.4 FASE DE TRANSICIÓN
Pero también con un grupo de evaluadores externos, logramos identificar una serie
de mejoras propuestas en las cuales tuvimos acciones correctivas. Estos casos
fueron nuevamente probados por los evaluadores hasta tener un visto bueno.
Logramos comprender que el punto de vista de otras personas es muy importantes
y logra una crítica constructiva durante el proyecto, mejorando toda posibilidad de
error.
83
6.5 FASE DE IMPLEMENTACIÓN
Como fase de reuniones y conclusiones iniciamos con una serie citaciones con los
actores donde principalmente definimos la fase de implementación del proyecto en
a oficina del decano, con el fin de alinear los avances de la matriz RACI solicitada
para ver roles y responsabilidades. De esta reunión tuvimos los siguientes avances:
Esta reunión tuvo una duración aproximada de 1 hora, en presencia del decano de
la faculta y el estudiante Christian Rodriguez.
84
Definición y Construcción Matriz RACI
85
También se definierón una serie de actividades asociadas a cada rol y responsable
separadas (aplicativo web, Aplicativo móvil, aplicativo y prototipo). De esta manera
logramos priorizar cada actividad con los actores involucrados y dar un orden
establecido en la fase de implementación. (Ver Figura 24).
Proyecto: DISEÑO, PROTOTIPADO Y CONSTRUCCIÓN DE UN SISTEMA EN TIEMPO REAL QUE PERMITA DAR INFORMACIÓN SOBRE LA DISPONIBILIDAD DE ESPACIOS EN EL PARQUEADERO DE LA
UNIVERSIDAD COOPERATIVA DE COLOMBIA SEDE CALI SUR
Actividad Roles / Responsabilidades
Aplicativo Web
1 Implementación del Sistema web en porteria. R C/I A
2 Solicitud de un PC para Adminsitración de la aplicación. R A
3 Capacitación Personal de Seguridad R I/A
4 Inscripción y Aprobación del Sistema (Derechos de Autor) R I A
5 Seguimiento en fase de pruebas R I I
6 Documentación de Resultados R I I I
Aplicativo Mobile IOS y Android (Estudiantes)
1 Definición de gastos por Inscripcion de Aplicación en App Store R C A
2 Definición de gastos por Inscripcion de Aplicación en Play Store R C A
3 Inscripción de la App en App Store R I I
4 Inscripción de la App en Google Play R I I
5 Solicitud de una tablet para administración. R A I
6 Capacitación Personal de Seguridad R I/A
7 Despliegue a Comunidad Estudiantes. R I I
8 Documentación de Resultados R I I
Aplicativo Mobile (Alternos)
1 Definición de gastos por Inscripcion de Aplicación en App Store R C A
2 Definición de gastos por Inscripcion de Aplicación en Play Store R C A
3 Inscripción de la App en App Store R I I
4 Inscripción de la App en Google Play R I I
5 Solicitud de una tablet para administración. R A I
6 Capacitación Personal de Parqueaderos Alternos R I/A
7 Despliegue a Comunidad Estudiantes. R I I
8 Documentación de Resultados R I I
Prototipo (Arduino)
1 Reunión para definición de propuesta en infraestructura IT y Civil C C R/A R/A
2 Acondicionamiento de parqueadero para inicio de montaje C C R/A
3 Diseño de Soporte para instalación de prototipo R I
4 Pruebas de Conectividad. R A
5 Documentación de Resultados R I I I I
86
Diseño de Planos para Soporte
87
Figura 26. Diseño # 2 – Soporte de Prototipo
88
Figura 28. Diseño Final – Soporte de Prototipo (Acotado)
89
Requerimientos Área de Infraestructura
Requerimientos Área de TI
90
realizó el enrolamiento de las direcciones MAC de cada dispositivo conectado,
garantizando que esta red solo de uso esclusivo por el prototipo.
Cabe aclarar que la instalación del dispositivo se realizó en uno de los espacios
disponibles del parqueadero de la universidad cooperativa, donde se validó la
operación en tiempo real teniendo resultados satisfactorios, para los aplicativos
web, móviles y arduino.
91
Finalmente la implementación concluye con éxito, ya que cumplen con una serie de
resultados, los cuales garantizan el funcionamiento del equipo, como fase piloto del
proyecto.
92
7 CONCLUSIONES
Para la implementación que se realizó se llevaron a cabo reuniones con los actores
que se involucraban para el correcto funcionamiento, accedieron a la participación
cumpliendo los requerimientos necesarios para hacer de esto una realidad, al
realizarlo pudimos encontrar varios inconvenientes, se pudieron solucionar los
aspectos que impedían la implementación.
93
8 RECOMENDACIONES
En un proyecto el cual tiene tan altas expectativas, como lo fue éste, siempre se
busca que esté en una mejora continua en cuanto a operaciones, procesos, la
reducción de costos oportunidad, la racionalización, y otros factores que juntos
permiten la optimización del proyecto.
Bajar los costos del prototipo de Arduino, para poder hacer de él, un proyecto
más dirigido a ser una oportunidad de negocio.
Cambiar el plan free de la base de datos Firebase, por un plan que permita
aumentar la cantidad de conexiones y el almacenamiento de información.
94
BIBLIOGRAFIA
Amazon Web Service (2006). ¿Qué es una base de datos relacional? Recuperado
de: https://aws.amazon.com/es/relational-database/
Aquilera, M., Golab, W., y Shah, M. A (2018) Practical Scalable Distributed B-Tree.
Recuperado de: http://www.vldb.org/pvldb/1/1453922.pdf
Bosco Cayo, C., Zavala, D., León de Aranoa, F., Acosta, F., Campos, J., Ávila
Laurel, J. T., de la Puente, M., Montañés, M., Guerra, R., Chocrón, S., De
Stefano, V., Cordero, V., Medina, Y. (2007). Diccionario de la lengua
española. (22 ed.). España, Madrid. Recuperado de: http://www.rae.es/.
95
20las%20cosas%20tesis%20y%20consideraciones%20de%20seguridad%2
0-%20final.pdf?sequence=1
96
https://pdfs.semanticscholar.org/d985/e50fc73cd28477af544d52b1e4c9f11f
09d5.pdf
97
Pino Reyes, J. J. (2018). ¿Qué es HTML? [Blog]. Recuperado de:
https://devcode.la/blog/que-es-html/
98
Wikipedia (15 de Noviembre de 2018). JavaScript. Recuperado de:
https://es.wikipedia.org/wiki/JavaScript.
99