alarmapp sistema de seguridad para la ciudad de cali

110
i ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI Sánchez Barbosa, Oscar David. david95sb hotmail.com Ríos Aristizábal, Carlos Andrés. carlos7@ @hotmail.com Trabajo de grado para optar por el título de Ingeniero Multimedia. Asesor: Pablo Aníbal Bejarano de la Hoz, Ing. Multimedia. Especialista en Procesos de Desarrollo de Software Universidad de San Buenaventura Colombia Facultad de ingeniería Ingeniería multimedia Santiago de Cali 2017

Upload: others

Post on 02-May-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

i

ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

Sánchez Barbosa, Oscar David. david95sb hotmail.com

Ríos Aristizábal, Carlos Andrés. carlos7@ @hotmail.com

Trabajo de grado para optar por el título de Ingeniero Multimedia.

Asesor: Pablo Aníbal Bejarano de la Hoz, Ing. Multimedia.

Especialista en Procesos de Desarrollo de Software

Universidad de San Buenaventura Colombia

Facultad de ingeniería

Ingeniería multimedia

Santiago de Cali

2017

Page 2: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

ii

Agradecimientos

Para iniciar doy gracias a Dios por ayudarme a ver y aprovechar todas las oportunidades

presentadas a lo largo de mi carrera, permitiéndome llegar hasta esta gran etapa de mi vida.

Agradezco a mis padres por ser ese gran ejemplo y motivación de seguir siempre adelante para

alcanzar mis metas, por el gran esfuerzo y sacrificio que han realizado para concederme

terminar una carrera profesional. A mi abuela por darme esa confianza y alegría siendo una

parte esencial en los inicios de mi carrera. A mi familia por darme siempre su apoyo y estar

pendientes de todo mi proceso y evolución como persona y profesional. A Valentina Londoño

Silva por ser esa gran compañía y siempre tener esa gran disposición de ayuda, soportarme en

los malos ratos, dándome ánimo y brindándome su amor. A mi tutor, el Ingeniero Multimedia

Pablo Aníbal Bejarano De la Hoz, por su gran labor como docente, compañero y tutor, por

brindar su conocimiento y experiencia para llevar a cabo este proyecto, por su paciencia en el

desarrollo del proyecto y por sacar parte de su tiempo personal para la realización de las pruebas

en su barrio.

Igualmente agradezco a todas las personas que estuvieron presentes y de alguna u otra forma

pendientes de la realización del proyecto, ayudando a que todo se diera de la mejor forma. Al

CIAT, por brindarme el tiempo necesario para el desarrollo de mi tesis y las reuniones con mi

compañero de tesis y mi tutor.

Por último, agradecerle a mi compañero Oscar David Sánchez Barbosa, por estar siempre de

manera positiva y responsable en el transcurso del proyecto, por su paciencia y gran esfuerzo,

por ser como un hermano en lo largo de la carrera, a su familia por el gran apoyo brindado. Le

deseo mucha suerte y éxitos en todos los peldaños que quedan por escalar en su vida.

Carlos Andrés Rios Aristizábal.

Page 3: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

iii

Primeramente le agradezco a Dios por permitirme realizar mi proceso de formación

profesional, a mis padres los cuales han hecho un esfuerzo inmensamente grande apoyándome

en todos los aspectos para llevar a cabo este gran logro y etapa de mi vida, gracias a la

Universidad de San Buenaventura por creer en mis facultades y poner a disposición todos sus

recursos para la realización de este proyecto, gracias a todos los profesores que pasaron por mi

carrera universitaria ya que cada uno impuso un aporte para formarme como persona y como

profesional, especialmente a mi tutor de tesis, el profesor Pablo Anibal Bejarano De la Hoz,

quien confió en mis aptitudes para la realización de este proyecto, además de disponer de su

tiempo, esfuerzo y dedicación ya que fueron cruciales para la culminación de este proyecto,

quien con sus conocimientos, experiencia y motivación fueron los pilares para este proyecto.

Gracias a la empresa Imaginamos, ya que me brindó su apoyo con el tiempo suficiente para

poder hacer efectivas las reuniones con mi compañero y tutor, gracias por entender mi situación

y apoyarme con su flexibilidad para poder realizar este proyecto.

Por último y no menos importante, quiero darle gracias a mi compañero Carlos Andrés Rios

Aristizabal, porque en el transcurso del tiempo ha sido una persona con mucha paciencia,

apoyándome cuando no podía estar al pendiente y sobrellevar este proyecto, apoyándome y

dándome ánimos para culminarlo. Le deseo muchos éxitos en su nueva etapa de la vida y en

las próximas que siguen.

Oscar David Sánchez Barbosa

Page 4: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

iv

Tabla de contenido

Introducción ............................................................................................................................... 2

1.1 Objetivos ..................................................................................................................... 5

1.1.1 Objetivo general .................................................................................................. 5

1.1.2 Objetivos específicos .......................................................................................... 5

1.2 Planteamiento del problema ........................................................................................ 6

1.3 Justificación ............................................................................................................... 10

Marco teórico ........................................................................................................................... 12

2.1 Desarrollo Web ......................................................................................................... 12

2.1.1 Desarrollo Frontend ........................................................................................... 12

2.1.2 Desarrollo Backend ........................................................................................... 14

2.1.3 Patrones Arquitectónicos ................................................................................... 15

2.2 Servicios Web. .......................................................................................................... 18

2.2.1 Definición ......................................................................................................... 18

2.3 Desarrollo de aplicaciones móviles ........................................................................... 20

2.3.1 Aplicaciones Nativas ........................................................................................ 20

2.3.2 Aplicaciones Web ............................................................................................. 22

2.3.3 Desarrollo multiplataforma ............................................................................... 23

2.4 Diseño de interfaces .................................................................................................. 25

2.4.1 Diseño web........................................................................................................ 25

2.4.2 Diseño para aplicaciones móviles ..................................................................... 28

2.4.3 Filosofías de diseño........................................................................................... 31

2.5 Visualización de datos ............................................................................................... 33

2.5.1 ChartJS .............................................................................................................. 34

2.5.2 Google Charts ................................................................................................... 34

2.5.3 Google Maps ..................................................................................................... 34

2.6 Componentes de Hardware ....................................................................................... 35

2.6.1 Arduino ............................................................................................................. 35

Page 5: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

v

2.6.2 Raspberry Pi ...................................................................................................... 36

2.6.3 Raspbian ............................................................................................................ 36

2.7 Experiencia de Usuario (UX) .................................................................................... 36

2.8 Usabilidad.................................................................................................................. 39

Antecedentes ............................................................................................................................ 41

3.1 Cuadrantes. ............................................................................................................... 41

3.2 PF Móvil. .................................................................................................................. 42

3.3 Alerta Motorola ........................................................................................................ 43

3.4 Ecu 911. .................................................................................................................... 44

3.5 Alarmas comunitarias en Cali .................................................................................. 45

Desarrollo ................................................................................................................................. 52

4.1 Metodología ............................................................................................................. 52

4.1.1 Recolección de información ............................................................................. 52

4.1.2 Identificación de los tipos de emergencias ....................................................... 52

4.1.3 Análisis de la comunicación con los entes gubernamentales ............................ 53

4.1.4 Investigación en diseño y desarrollo ................................................................. 54

4.1.5 Maquetación y diseño ....................................................................................... 55

4.1.6 Etapa desarrollo para móvil .............................................................................. 55

4.1.7 Etapa desarrollo plataforma web ...................................................................... 56

4.2 Desarrollo de la solución .......................................................................................... 57

4.2.1 Diseño ............................................................................................................... 57

4.2.2 Levantamiento de requisitos ............................................................................. 58

4.2.3 Diseño de software ............................................................................................ 59

4.2.4 Arquitectura ...................................................................................................... 60

4.2.5 Desarrollo multiplataforma con Ionic Framework ........................................... 62

4.2.6 Desarrollo web .................................................................................................. 66

4.2.7 Integración de tecnologías ................................................................................ 75

4.2.8 Costos estimados ............................................................................................... 79

Perspectiva del proyecto desde la ingeniería multimedia ........................................................ 80

Pruebas y análisis de resultados ............................................................................................... 81

Conclusiones y trabajo futuro .................................................................................................. 87

7.1 Conclusiones ............................................................................................................ 87

7.2 Trabajo a futuro ........................................................................................................ 90

Page 6: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

vi

Referencias ............................................................................................................................... 91

Anexos ................................................................................................................................... 100

Page 7: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

vii

Lista de figuras

○ Figura 1. Número de hurtos a personas por cada 100 mil habitantes en Cali

(2010-2015)

○ Figura 2. Número de hurtos a residencias por cada 100 mil habitantes en Cali

(2010-2015)

○ Figura 3. Número de hurtos a celulares por cada 100 mil habitantes en Cali

(2010-2015)

○ Figura 4. Número de hurtos a vehículos y motocicletas por cada 100 mil

habitantes en Cali (2010-2015)

○ Figura 5. Módulo de recepción de alarma comunitaria.

○ Figura 6. Estructura del proceso Modelo, Vista, Controlador.

○ Figura 7. Diseño responsivo (responsive design).

○ Figura 8. Cuadros de diálogo para el diseño de aplicaciones móviles.

○ Figura 9. Notificaciones dentro de la app para el diseño de aplicaciones móviles.

○ Figura 10. Ejemplo de material design.

○ Figura 11. Elementos de la experiencia de usuario.

○ Figura 12. Aplicación móvil Cuadrantes

○ Figura 13. Aplicación móvil PF Móvil.

○ Figura 14. Aplicación móvil Alerta Motorola.

○ Figura 15. Aplicación móvil Ecu 911.

○ Figura 16, diagrama de pastel - resultados de pregunta “¿Desde su hogar puede

escuchar la alarma comunitaria?”.

○ Figura 17, diagrama de pastel - resultados de pregunta “¿Conoce el motivo por

el cual se enciende la alarma comunitaria?”.

Page 8: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

viii

○ Figura 18, diagrama de pastel - resultados de pregunta “¿Sabe qué medidas

tomar en caso de una emergencia (Robo, incendio, entre otros)?”.

○ Figura 19, Mockups desarrollados en Balsamiq.

○ Figura 20, Maquetación de vista desde la interfaz de Ionic Creator.

○ Figura 21, Organización por componentes con Ionic Framework.

○ Figura 22, Plataforma web de estadísticas.

o Figura 23, diagrama de barras y diagrama anillo o dona, número de veces

activadas cada tipo de alarma.

o Figura 24, Estructura de datos para la librería “chart.js”.

o Figura 25, Grafica de números de usuarios administradores y comunes, usando

la librería “jquery.knob”.

o Figura 26, Maquetación HTML para funcionamiento de la librería

“jquery.knob”.

o Figura 27, Grafica representando la entidad más requerida y el número de veces

que se solicitó.

o Figura 28, Grafica mostrando la comunidad con el mayor número de usuarios

inscritos.

o Figura 29, Grafica representando la comunidad con mayor número de

emergencias activadas.

o Figura 30, Grafica representando la entidad más requerida por los usuarios a

nivel de ciudad.

o Figura 31, Grafica de anillo (o dona) representando en porcentaje el género de

los usuarios de alarmapp.

o Figura 32, Estructura de datos para generar diagrama de barras mediante la

librería “chart.js”.

Page 9: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

ix

o Figura 33, Diagrama de barras de tipos de emergencias y número de veces de

activación.

o Figura 34, Onepage de Alarmapp.

o Figura 35, Raspberry pi.

o Figura 36, Arduino uno.

o Figura 37, Relé 5V.

o Figura 38, Sirena de 110V.

o Figura 39, Estructura de funcionamiento del sistema.

o Figura 40, Respuesta pregunta 1. ¿Los botones de acceso e iconos lo redirigen al lugar

que esperaba?

o Figura 41, Respuesta pregunta 2. ¿La navegación de la aplicación es sencilla en

intuitiva?

o Figura 42, Respuesta pregunta 3. ¿Fue fácil identificar el momento y el motivo de la

activación de una nueva emergencia?

o Figura 43, Respuesta pregunta 4. ¿Considera que la información presentada de la

emergencia es de utilidad en el momento?

o Figura 44, Respuesta pregunta 5. ¿La forma en la que se presentan los contenidos es

clara y concisa?

o Figura 45, Respuesta pregunta 6. ¿Considera que la implementación de esta aplicación

mejoraría la seguridad en la comunidad que reside?

o Figura 46, Respuesta pregunta 7. ¿Cómo clasificaría el rendimiento de la aplicación en

cuanto a velocidad?

o Figura 47, Respuesta pregunta 8. ¿Con que frecuencia se bloquea el funcionamiento de

la aplicación?

o Figura 48, Respuesta pregunta 9. ¿Está usted satisfecho con el rendimiento de la

aplicación?

o Figura 49, Respuesta pregunta 10. ¿Recomendaría esta aplicación a sus conocidos?

Page 10: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

x

Lista de tablas

○ Tabla 1, Características principales de servicios web basado en REST y SOAP.

○ Tabla 2, Alarmas y frentes de seguridad en los distintos barrios de Santiago de

Cali

Page 11: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

1

Resumen

Es común que en nuestros barrios se instalan Alarmas Comunitarias, estas al ser activadas

advierten sobre un posible robo o incidente de seguridad en nuestro sector, pero

lamentablemente al escuchar la alarma, quienes residen en el sector, no toman en serio o

desconocen la causa que origina la alarma, lo cual genera incertidumbre y pánico en los

habitantes.

Nuestra propuesta está encaminada a desarrollar un sistema de seguridad de alarmas

comunitarias, el cual pueda controlar por medio de una aplicación móvil ciertos elementos

hardware para la activación de la alarma, y así mismo, informar el motivo de su activación,

permitiéndole visualizar estadísticas y un historial de seguridad en la ciudad de Cali a través

de un portal administrativo.

Palabras Clave: Alarmas Comunitarias, sistema seguridad, robo, aplicación móvil

Page 12: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

2

Capítulo 1

Introducción

Los avances tecnológicos cada vez son más frecuentes y su periodo de vigencia decrece

proporcionalmente a la velocidad de avance, esta evolución se puede denotar en el celular, por

ejemplo, el primer teléfono celular de la historia apareció en el año de 1983 y era incluso más

pesado que un teléfono inalámbrico moderno, a partir de ese teléfono móvil se han creado gran

variedad de celulares hasta llegar a los que hoy existen, donde su peso es mucho menor, son

más estéticos y no solo sirven para realizar llamadas o mandar mensajes, ahora ya existe la

posibilidad de chatear, almacenar imágenes, música, videos, enviar y recibir correos, escuchar

radio e incluso ver la televisión, entre otras funciones [1].

El smartphone se ha convertido en el dispositivo de conexión a Internet más usado actualmente,

donde 9 de cada 10 consumidores prefieren este dispositivo, ya que ofrece mayor

disponibilidad en cuanto a tiempo y ubicación [2]. Según lo revela un estudio reciente de

eMarketer [3], el número de usuarios será de 2.16 mil millones de usuarios en el 2016. Por otro

lado, de acuerdo con el reciente informe presentado por Cisco, uno de los principales

fabricantes de equipos de redes, se proyecta que durante los próximos cinco años existirán

alrededor de 5.500 millones de usuarios de móviles, lo que representa el 70 por ciento de la

población mundial. De hecho, será tal la proliferación de los smartphones que será mayor el

número de personas que tendrán móviles (5.400 millones) que las que tendrán electricidad

(5.300 millones), agua potable (3.500 millones) y automóviles (2.800 millones) en el 2020 [4].

Page 13: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

3

Aspectos como la seguridad, comunicación, información, han evolucionado gracias al

desarrollo tecnológico que se puede integrar en una sola aplicación móvil, pero más allá de eso

están los usos que se le pueden dar, en este documento no se pretende hablar sobre las

tecnologías más utilizadas para desarrollar, sino que se va a hablar sobre una iniciativa que

surge a través de la problemática que afronta la ciudad de Cali en cuanto a la seguridad, por

ello se han detectado varios problemas que junto a estadísticas reportadas de los últimos años,

han evidenciado una necesidad la cual se desea suplir con ayuda de la tecnología.

Desde ya hace varios años se ha evidenciado una iniciativa la cual hace referencia a las alarmas

comunitarias, donde los mismos ciudadanos se unen e implementan un sistema el cual cada

uno pueda alertar a su red de vecinos del peligro que existe en su comunidad, pero a medida

que la tecnología avanza, las necesidades van a la par de esta, donde uno de sus objetivos es

facilitar y automatizar procesos para que estos sean mucho más efectivos, es por ello que

aunque esta iniciativa cumpla con su objetivo, existe la posibilidad de mejorarla para el bien

de la comunidad y porvenir de los ciudadanos, donde ellos mismos puedan informar y alertar

sobre lo que sucede en su comunidad o sector de residencia manipulando subprocesos que se

realicen al mismo tiempo, es decir, que el ciudadano pondrá al tanto a su red vecinal como a

las entidades gubernamentales que se vean involucradas al mismo tiempo, disminuyendo el

riesgo y el tiempo de reacción de los mismos. Además, estos reportes generarán datos de gran

importancia para el análisis de estadísticas buscando el mejoramiento de la seguridad urbana y

lo más importante, manteniendo la comunidad informada, ya que las diversas aplicaciones de

seguridad existentes hoy en día, se han enfocado en crear vínculo directo entre el ciudadano y

autoridad de una manera privada, pero ¿Dónde queda la comunicación con la comunidad?

Page 14: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

4

Alrededor del mundo, la tecnología ha avanzado de una manera exuberante y tal parece que no

tiene límites, las grandes potencias mundiales han realizado avances muy importantes pero

Colombia no se ha quedado atrás, es por eso que se ha creado una entidad que se encarga de

diseñar, adoptar y promover las políticas, planes, programas y proyectos del sector de las

Tecnologías de la Información y las Comunicaciones, Min TIC (Ministerio de Tecnologías de

la Información y las Comunicaciones), dentro de sus funciones está incrementar y facilitar el

acceso de todos los habitantes del territorio nacional a las Tecnologías de la Información y las

Comunicaciones y a sus beneficios [5], por lo que se han realizado varias convocatorias a lo

largo del país, y es aquí donde nace este proyecto, por medio de un espacio donde los

Colombianos podemos ayudar a los nuestros a través de la tecnología.

Page 15: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

5

1.1 Objetivos

1.1.1 Objetivo general

Desarrollar un sistema de seguridad, el cual hará uso de la alarma comunitaria, para informar

a los residentes de la comunidad sobre el motivo por el que se activó y a su vez proveer

estadísticas sobre la seguridad en los barrios de la Ciudad de Cali, Colombia.

1.1.2 Objetivos específicos

● Identificar los diferentes tipos de emergencia presentados en los barrios de Cali.

● Analizar las diferentes formas de comunicación con los entes gubernamentales, los

cuales son encargados de responder ante una alerta comunitaria.

● Diseñar una arquitectura que permita un adecuado funcionamiento del sistema de

seguridad.

● Desarrollar un sistema de seguridad de acuerdo a los aspectos evaluados.

● Evaluar el sistema en una comunidad de la ciudad de Cali.

Page 16: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

6

1.2 Planteamiento del problema

Actualmente en Santiago de Cali existe un sistema de seguridad por sectores, el que consta de

alarmas comunitarias; la función de estas alarmas es dar aviso a la comunidad sobre un acto

delictivo que esté ocurriendo en el momento. Es decir, es una red que integra las casas de los

barrios con un sistema de alarmas que son activadas por los usuarios [6].

Pero y ¿Cómo es el procedimiento antes y después de la activación de la alarma? La persona

que está presenciando o es víctima de algún tipo de robo o delito se dirige ya sea al botón de

emergencia ubicado en su casa o desde el dispositivo remoto tipo llaveros que activan la alarma

de forma inalámbrica, estos “llaveros” se distribuyen entre todos los vecinos. Una vez que se

activa el sistema de alarma comunitaria, se debe identificar el lugar de la emergencia, alertar a

los vecinos y por consiguiente informar a la autoridad pertinente [7].

Estos reportes han contribuido a realizar un progreso en cuanto a la seguridad en la ciudad de

Cali donde se presentan en las siguientes estadísticas [8]:

De acuerdo con la Policía Nacional, en 2015 se registraron en Cali 380 hurtos a personas

(atracos, raponazos1 y cosquilleo2) por cada 100 mil habitantes, lo que representó una reducción

de 9% frente a 2014

1 “Es una práctica criminal, en. el cual los autores del delito generalmente se movilizan en motocicleta, el parrillero una vez identifica a su

víctima coordina con el conductor se acercan y le jalan las pertenencias (bolsos, celulares, cadenas, etc.), una vez cometen el hecho aumentan

velocidad del velocípedo y huyen” [http://metroalarmas.com/uncategorized/10-modalidades-de-robo-e-intimidacion-mas-usadas-por-los-

delincuentes/].

2 “Esta clase de hurto se comete en la vía pública por uno o varios delincuentes, quienes aprovechan el descuido del transeúnte, sus

ocupaciones y la alta fluidez de personas, con el fin extraer los objetos de valor de los bolsos, bolsillos y paquetes, con una gran agilidad y

destreza” [http://metroalarmas.com/uncategorized/10-modalidades-de-robo-e-intimidacion-mas-usadas-por-los-delincuentes/].

Page 17: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

7

Figura 1. Número de hurtos a personas por cada 100 mil habitantes en Cali (2010-

2015) [8].

El hurto a residencias en Cali en 2015 se registró en 36 hurtos por cada 100 mil habitantes, lo

que representó un incremento de 9,0% frente a 2014.

Figura 2. Número de hurtos a residencias por cada 100 mil habitantes en Cali (2010-

2015) [8].

En 2015 se registraron en Cali 139 hurtos de celulares por cada 100 mil habitantes, lo que

representó un incremento de 2,0% frente a los hurtos registrados en 2014.

Figura 3. Número de hurtos a celulares por cada 100 mil habitantes en Cali (2010-

2015) [8].

Por su parte, el hurto de motocicletas en Cali en 2015 se registró en 109 por cada 100 mil

habitantes, lo que representó una reducción de 1,0% frente a 2014. En contraste, el hurto a

Page 18: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

8

vehículos en Cali en 2015 se incrementó 15,0% frente a 2014 y se registró en 77 hurtos por

cada 100 habitantes.

.

Figura 4. Número de hurtos a vehículos y motocicletas por cada 100 mil habitantes

en Cali (2010-2015) [8].

Como se expone anteriormente, el sistema de alarmas comunitarias ha logrado ayudar a través

del tiempo a mejorar la seguridad en la ciudadanía, permitiéndole a la comunidad una mejor

calidad de vida. Pero ¿Realmente está siendo efectivo este método o procedimiento para alertar

una emergencia? ¿Beneficia al total de habitantes en el que se encuentra instalada una alarma

comunitaria?

Según las Proposiciones No. 08 del 12 de marzo de 2013 de la Alcaldía, existen 404 alarmas

comunitarias, distribuidas en 133 barrios de la ciudad de Santiago de Cali, beneficiando a 7930

personas [9] de un total aproximado de 2,369.829 de habitantes [10], lo que demuestra que el

sistema actual, a pesar de cumplir su función principal de alertar a los residentes, cubre apenas

el 0.33% de la población total, este es el primer y más importante problema de este sistema.

Otro problema que se puede evidenciar es el procedimiento que se lleva a cabo para esta

activación, ya que la persona debe activar la alarma, también debe comunicarse con la autoridad

y peor aún, indicarle a la autoridad en el momento que llegan el lugar donde ocurre la

emergencia; en esta situación el ciudadano se ve afectado emocionalmente, motivo por el cual

Page 19: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

9

puede olvidar utilizar el conducto regular y no reportar oportunamente a la autoridad; se

presentan también casos en los que en el transcurso de activar la alarma y notificar tanto a la

autoridad como a los vecinos, no se logre atender de manera efectiva la emergencia.

Page 20: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

10

1.3 Justificación

Evidenciando los diferentes problemas que existen en el sistema actual de alarmas comunitarias

en la ciudad de Cali, se propone mejorar el mismo mediante el desarrollo de nuevo sistema que

se integrará al ecosistema de seguridad de la ciudad de Cali, el conformado por una aplicación

móvil, el dispositivo de alarma y una plataforma web.

La aplicación móvil pretende automatizar el proceso de comunicación que existe cuando se

hace uso del sistema de alarmas comunitarias, ya que además de permitir la activación de una

alarma remotamente desde su celular, automáticamente se pondrá en contacto con las

autoridades pertinentes, disminuyendo así el tiempo de respuesta de estas y alertando a los

miembros de la comunidad en solo un instante, cubriendo así a la totalidad de miembros

inscritos en la aplicación que pertenecen a la comunidad. Para cubrir los diferentes tipos de

emergencias, la aplicación contará con una lista de alarmas en la cual el ciudadano podrá hacer

uso de ellas para notificar a las respectivas autoridades.

Otro factor que cabe resaltar es la comodidad y usabilidad que permite la funcionalidad de una

aplicación móvil, y ya que la mayoría de personas poseen un smartphone, se podrá beneficiar

a un mayor número de personas con las alarmas comunitarias en la ciudad de Cali, ya que es

más eficaz utilizar el celular que un botón u otro dispositivo inalámbrico el cual encienda una

alarma, como los que son utilizados actualmente, estos dispositivos a pesar de que son

pequeños y fáciles de guardar e usar, tienen un costo individual por cada uno, lo que quiere

decir que si una persona quiere hacer uso de la alarma comunitaria, debe poseer un dispositivo

especializado para ello, lo que conlleva tiempo y dinero, sin mencionar que se debe

implementar un módulo receptor el cual se encargue de recibir las señales de los controles

remotos, para proceder a encender la alarma. Además, si el número de usuarios aumenta, se

Page 21: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

11

debe instalar varios módulos esclavos los cuales se puedan interconectar entre sí para poder

soportar las conexiones necesarias y en cuanto a costos se refiere, es más versátil ampliar la

red de conexiones de usuarios en un servidor web que interconectando dispositivos físicos [11].

Figura 5: Módulos de recepción alarma comunitaria [11].

Así mismo cada reporte de un usuario generará datos en tiempo real, los cuales se usarán para

el análisis y generación de métricas con respecto a la seguridad y las concurrencias de las

distintas emergencias de la aplicación en la ciudad de Cali, todo esto se podrá visualizar en una

plataforma web, la cual ofrecerá estadísticas por cada tipo de alarma a nivel de comunidad y a

nivel total, que ayudará a las autoridades identificar las comunidades que necesiten más apoyo

y atención.

Apoyando el gran auge de tecnología que poco a poco está abordando al país, Alarmapp, fue

ganadora en la convocatoria de Min TIC, como la mejor idea TIC para mejorar la seguridad en

Cali (2015), por lo cual también es un gran incentivo para seguir con su desarrollo y su

evaluación [12].

Page 22: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

12

Capítulo 2

Marco teórico

2.1 Desarrollo Web

2.1.1 Desarrollo Frontend

El frontend es la etapa del desarrollo web que se dedica como su nombre lo indica a la parte

frontal de un sitio web, en pocas palabras del diseño de un sitio web, desde la estructura del

sitio hasta los estilos como colores, fondos, tamaños hasta llegar a las animaciones y efectos

[13].

En este desarrollo se trabaja desde el lado del cliente, es decir, pensando desde que navegador

usará el usuario hasta la interacción, la usabilidad, los colores y el funcionamiento del sitio web

desde la parte visual. En este campo de desarrollo se realiza la integración del desarrollo

backend (los datos) con el lado visual de la aplicación o plataforma, el cual cuenta con un reto,

y es representar correctamente los datos y a su vez mantener el enfoque de los usuarios, por

ello el desarrollador mantiene en constante trabajo, identificando fallas de usabilidad, diseño y

representación de los datos, por otro lado se debe tener en cuenta la tecnología con la que se

esté desarrollando, ya que no todos los navegadores soportan las nuevas tecnologías.

Para este desarrollo se trabaja con los lenguajes de programación y etiquetado los cuales son:

HTML que significa Lenguaje de Marcado para Hipertextos (HyperText Markup Language),

CSS Hojas de Estilo en Cascada (Cascading Style Sheets) es el lenguaje utilizado para describir

Page 23: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

13

la presentación de documentos HTML o XML, JavaScript lenguaje de scripting

multiplataforma y orientado a objetos.

Por otra parte existen frameworks para desarrollo frontend, los cuales como su nombre lo

indica, son cuadros de trabajo, que cuentan con funciones o desarrollos genéricos, ayudando al

desarrollador a mejorar su eficiencia a la hora de codificar. Entre ellos se han escogido los

siguientes para el desarrollo de este proyecto:

2.1.1.1 Jquery

jQuery es una librería JavaScript open-source, que funciona en múltiples navegadores, y que

es compatible con CSS3. Su objetivo principal es hacer la programación “scripting” mucho

más fácil y rápida del lado del cliente. Con jQuery se pueden producir páginas dinámicas, así

como animaciones parecidas a Flash en relativamente corto tiempo [14].

2.1.1.2 AngularJS

AngularJS es un proyecto de código abierto, realizado en Javascript que contiene un conjunto

de librerías útiles para el desarrollo de aplicaciones web y propone una serie de patrones de

diseño para llevarlas a cabo [15]. AngularJS promueve y usa patrones de diseño de software.

En concreto implementa lo que se llama MVC, aunque en una variante muy extendida en el

mundo de Javascript que luego comentaremos con más detalle. Básicamente estos patrones nos

marcan la separación del código de los programas dependiendo de su responsabilidad. Eso

permite repartir la lógica de la aplicación por capas, lo que resulta muy adecuado para

aplicaciones de negocios [16].

Page 24: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

14

2.1.2 Desarrollo Backend

El desarrollo backend es la parte que se encarga de la manipulación de los datos y todo el

procesamiento lógico que se realiza en el servidor para un sitio web, el backend se

responsabiliza de toda la programación del sitio en lo que a sus componentes dinámicos se

refiere (páginas, formularios, funcionalidades, bases de datos) y la estructura de documentos,

que deberá aplicarse a diferentes estándares [17].

Para el desarrollo backend se hace uso de una variedad de lenguajes de programación como lo

son: PHP, Java, Phyton, Ruby, entre otros, esta área es también la encargada de optimizar

recursos, de la seguridad de un sitio y demás [13]. En este campo de desarrollo, los

programadores tienen entre sus cargos, la validación de la información que se ingresará a la

base de datos por medio de la aplicación o software que esté realizando, evitando

inconsistencias o intentos de ataques; también tienen la responsabilidad de procesar y enviar

correctamente la información a la interfaz realizada por el frontend, para esto el desarrollador

cuenta con cierta estructura o arquitectura para trabajar (dependiendo del lenguaje de

programación), en el caso de este proyecto se ha escogido el lenguaje de programación PHP,

el cual se trabajará mediante un patrón arquitectónico MVC, el cual permitirá la conexión entre

la base de datos, los controladores (lógica y procesamiento de datos) y las vistas (interfaces) y

el lenguaje Phyton para realizar la comunicación del hardware con la Raspberry Pi para

consumir servicios implementados desde la web.

Page 25: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

15

2.1.3 Patrones Arquitectónicos

Los patrones de arquitectura expresan una estructura de organización base o esquema para un

software, el cual proporciona un conjunto de subsistemas predefinidos en el cual se especifican

sus responsabilidades, reglas, directrices, comunicación, interacción y relaciones entre ellos.

Estos patrones arquitectónicos adoptan conceptos y terminología de los patrones de diseño,

pero se centran en proporcionar modelos y métodos reutilizables para la arquitectura general

de los sistemas de información. Dentro de los patrones de arquitectura se han tenido en cuenta

los siguientes para la realización del proyecto: [18].

2.1.3.1 MVC

El patrón Modelo-Vista-Controlador (MVC) surge con el objetivo de reducir el esfuerzo de

programación, necesario en la implementación de sistemas múltiples y sincronizados de los

mismos datos, a partir de estandarizar el diseño de las aplicaciones. El patrón MVC es un

paradigma que divide las partes que conforman una aplicación en el Modelo, las Vistas y los

Controladores, permitiendo la implementación por separado de cada elemento, garantizando

así la actualización y mantenimiento del software de forma sencilla y en un reducido espacio

de tiempo. A partir del uso de frameworks basados en el patrón MVC se puede lograr una mejor

organización del trabajo y mayor especialización de los desarrolladores y diseñadores [19].

Page 26: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

16

Figura 6. Estructura del proceso modelo, vista, controlador [19].

El modelo es donde se almacenan los objetos de datos de la aplicación, es decir, hace todas las

peticiones a la base de datos y retorna los datos para su manipulación. La vista es donde se

renderiza3 la interfaz que se le presenta a los usuarios y cómo los usuarios interactúan con la

aplicación. La vista está hecho con HTML, CSS, JavaScript y plantillas a menudo. El

controlador es el encargado de actualizar la vista cuando el modelo cambia. También añade

detectores de eventos a la vista y actualiza el modelo cuando el usuario manipula la vista [20].

La ventaja de utilizar este patrón es que permite la actualización y mantenimiento del software

de una manera más cómoda y fácil en menor tiempo.

2.1.3.2 EDA

La arquitectura dirigida por eventos (Event-driven architecture) es un patrón de arquitectura

software el cual su comportamiento se centra en torno a la producción, detección, consumo y

respuestas ante “eventos”. En el que un evento es cualquier ocurrencia identificable que tiene

un significado para el hardware o el software del sistema, en otras palabras, cualquier cambio

de estado significante para el sistema. Y a su vez este cambio de estado puede ser conocido por

3 “Renderizar una página web es el conjunto de acciones que realiza este para presentar una página web que consiste en analizar, procesar y

visualizar dicha página [http://bibliotecaprofesional.com/que-es-renderizar-una-pagina-web/].”

Page 27: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

17

otras aplicaciones en la arquitectura, cada evento se propaga de manera inmediata al resto del

sistema en la medida que sea necesario [21].

Page 28: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

18

2.2 Servicios Web.

2.2.1 Definición

Es una tecnología que permite a las aplicaciones interactuar entre sí, sin depender de la

plataforma o el lenguaje en la que estén desarrolladas, usando protocolos basados en lenguaje

XML, teniendo como objetivo describir una operación para ejecutar o para el intercambio de

datos con otro servicio web.

El desarrollo de servicios web basado en SOAP se trata de una comunicación e integración de

sistemas por medio de archivos XML, los cuales son transferidos por medio del protocolo

Simple Object Access Protocol, logrando una interoperabilidad entre sistema, ya que de esta

forma una aplicación cliente puede consumir u obtener recursos tanto de una aplicación

diferente como de otra plataforma, para realizar una estructura orientada a servicios basada en

SOAP se debe contar con un tipo de documento en el cual se describa la funcionalidad del

servicio y los recursos que se pueden obtener de él, conocido como un documento WSDL (web

services description language) [22].

Por otro lado, se ha venido trabajando con un estilo de arquitectura que integra aplicaciones

por medio de comunicación por estados, conocido como REST, que hace uso del protocolo

HTTP, representación de recursos XML y tipos de formato MIME. El concepto surge en el año

2000, en la tesis doctoral sobre la web, escrita por Roy Fielding, uno de los principales autores

de la especificación del protocolo HTTP. En este estilo los recursos se obtienen por medio de

un estándar de estados como lo son GET, POST, PUT y DELETE, el servicio se solicita en una

Page 29: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

19

url alojada en el servidor y esta realiza una acción específica dependiendo del método o estado

que se le envíe.

SOAP REST

● Interacción por el protocolo Simple

Object Access Protocol

● Transferencia de archivos XML

● Documento de descripción WSDL

● Interacción a través de URI y

métodos HTTP como Get, Put,

Delete y Post.

● Respuesta de tipo XML, HTML,

JSON

● Estilo de uso general por medio de

HTTP.

Tabla 1. Características principales de servicios web basados en REST y SOAP.

Para crear una arquitectura SOA (service oriented architecture) se deben tener en cuenta ciertas

características o recomendaciones:

● Se debe contar con una buena base de servicios, estos deben ser reutilizables y

multipropósito, no diseñados para una necesidad de negocio o tarea en específico.

● Los servicios deben contar con un contrato estandarizado ya sea un documento WSDL

u otro tipo de documento, facilitando la interacción entre los servicios e

interoperabilidad.

Page 30: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

20

● Realizar una categorización de los servicios, llevando un registro de los mismos para

identificar de manera rápida qué funcionalidades encapsulan y cómo interactuar con

ellos.

● Los servicios deben poder implementarse en cualquier tecnología ya sea java, net, php,

etc. Sin que se afecte el resto de la plataforma [23].

2.3 Desarrollo de aplicaciones móviles

Actualmente las aplicaciones móviles presentan una gran variedad de funciones y de medios

en los que se aplican, pues pueden ser utilizadas en dispositivos como teléfonos inteligentes,

tabletas electrónicas, consolas portátiles de videojuegos, etc. La capacidad de una aplicación

móvil puede ser definida por la plataforma en que se desarrolla o en la que se aplica, es decir,

no pueden presentar las mismas funciones en una plataforma Android, que en una plataforma

Symbian, pues los elementos de ejecución cambian para adaptarse al hardware del medio móvil

[24].

El desarrollo de aplicaciones móviles se puede realizar mediante diferentes plataformas, las

cuales presentan un propio sistema de codificación y de compilación, por lo que el potencial

que presente cada elemento en desarrollo es diferente. Para poder desarrollar un elemento de

aplicación para cualquier dispositivo móvil lo principal a conocer es el medio en el que esta

funcionará, es decir el sistema operativo o plataforma final en el que se ejecutará y la forma en

que lo hará [24].

2.3.1 Aplicaciones Nativas

Las aplicaciones nativas son aquellas desarrolladas única y exclusivamente para sistemas

operativos móviles, ya sea Android o iOS. En Android se hace uso del lenguaje de

Page 31: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

21

programación Java, mientras que en iOS se hace uso de Swift u Objective-C. Estos lenguajes

de programación son los oficiales para los respectivos sistemas operativos [26].

Con las aplicaciones nativas, el lenguaje de programación permite consumir y hacer uso al

máximo los recursos del dispositivo, permitiendo así que la aplicación sea más rápida, posee

un mejor rendimiento principalmente en cuanto a: menor consumo de memoria, mayor

velocidad, aprovechamiento total del hardware del dispositivo (Cámara, GPS, Sensores, entre

otros).

2.3.1.1 Android Studio

Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de

aplicaciones para Android y se basa en IntelliJ IDEA. Además del potente editor de códigos y

las herramientas para desarrolladores de IntelliJ, Android Studio ofrece aún más funciones que

aumentan tu productividad durante la compilación de apps para Android, como las siguientes

[27]:

● Sistema de compilación flexible basado en Gradle.

● Un emulador rápido con varias funciones.

● Un entorno unificado en el que puedes realizar desarrollos para todos los dispositivos

Android.

● Instant Run, para aplicar cambios mientras tu app se ejecuta sin la necesidad de

compilar un nuevo APK.

● Integración de plantillas de código y GitHub, para ayudarte a compilar funciones

comunes de las apps e importar ejemplos de código.

Page 32: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

22

● Gran cantidad de herramientas y frameworks de prueba.

● Herramientas Lint para detectar problemas de rendimiento, uso, compatibilidad de

versión, etc.

● Compatibilidad con C++ y NDK

● Soporte integrado para Google Cloud Platform, que facilita la integración de Google

Cloud Messaging y App Engine.

2.3.1.2 Xcode

Xcode es el entorno de desarrollo integrado (IDE) de la empresa Apple Inc para crear

aplicaciones para Iphone, Ipad, Mac, Apple Watch y Apple Tv, soporta los lenguajes C, C++,

Objective-C, Objective-C++, Java, AppleScript y Swift, este último es el lenguaje más común

en torno al desarrollo de aplicaciones para dispositivos Apple. Además ofrece una interfaz para

generar el diseño de las aplicaciones que va conjunto a la programación de esta, lo cual hace

más dinámico el desarrollo y fácil de usar [28].

2.3.2 Aplicaciones Web

Las aplicaciones web como su nombre lo dice, deben su funcionalidad al internet, en este tipo

de aplicaciones, suele utilizar el “responsive web design”, creando así una única aplicación

adaptada para todo tipo de dispositivos [29], es decir que los datos o los archivos en los que se

trabaja son procesados y almacenados dentro de la web. Estas aplicaciones, por lo general, no

necesitan ser instaladas [30].

Page 33: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

23

2.3.3 Desarrollo multiplataforma

Corresponde a una tendencia que ha tomado gran auge en los últimos años ya que la mayoría

de proyectos web como plataformas SaaS4(software como servicio), marketplaces, redes

sociales o portales de otro tipo, están migrando hacia los dispositivos móviles para tener más

accesibilidad, esto implica plantear un desarrollo diferente e implementar herramientas que

suplan los requerimientos de las plataformas originales y además de eso poseer una buena

experiencia con el usuario [25]. Para ello se han destacado tres tendencias de desarrollo para

dispositivos móviles las cuales son:

2.3.3.1 Aplicaciones Híbridas

Las apps híbridas se desarrollan con lenguajes propios de las aplicaciones web, es decir,

HTML, Javascript y CSS por lo que permite su uso en diferentes plataformas, pero también

dan la posibilidad de acceder a gran parte de las características del hardware del dispositivo.

La principal ventaja es que a pesar de estar desarrollada con HTML, Java o CSS, es posible

agrupar los códigos y distribuirla en app store [31].

En las aplicaciones híbridas es importante tener en cuenta que se desarrollan una sola vez; lo

cual significa que se programa una única aplicación y esta se puede compilar para varios

sistemas operativos, lo que se conoce como ‘App multiplataforma’ [25].

2.3.3.1.1 Phonegap

Phonegap es un framework creado por Nitobi, el cual ahora es propiedad de Adobe, este brinda

la posibilidad de desarrollar aplicaciones multiplataforma o híbridas de manera gratuita

4 “Con el concepto de Software como Servicio (SaaS, Software as a Service) se describe cualquier servicio cloud en el que los consumidores

puedan acceder a aplicaciones de software a través de internet” [http://www.interoute.es/what-saas].

Page 34: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

24

utilizando las tecnologías web como Html5, Css3 y JavaScript, también nos permite integrarlo

con jQuery Mobile y muchas otras librerías que se requiera integrar a un proyecto. Las

aplicaciones híbridas llevan una gran ventaja sobre las nativas, y esto se debe a que pueden ser

usadas en cualquier dispositivo inteligente, aunque estos poseen diferentes sistemas operativos,

lo cual es la principal desventaja de las aplicaciones nativas [32].

En la actualidad Phonegap permite desarrollar aplicaciones para los diferentes tipos de sistemas

operativos para móviles, estos son [32]:

● Android

● iOS

● BlackBerry OS

● Windows Phone

● Web OS

● Symbian

● Bada

2.3.3.1.2 Ionic

Ionic es un framework open source desarrollado sobre AngularJS para realizar aplicaciones

híbridas utilizando HTML5, CSS3 y componentes de JavaScript. Este framework está diseñado

con transiciones aceleradas de hardware y optimizado para la detección de eventos táctiles [33].

Una de las características más llamativas de Ionic es su versatilidad para ser una app nativa, no

quiere decir que sea igual de rápida que una aplicación nativa, pero utiliza los estándares de

diseño nativos y los SDK para su optimización, accediendo así a recursos del dispositivo como:

Page 35: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

25

cámara, GPS, Sensores, entre otros, siendo así una aplicación web y nativa al mismo tiempo

[33].

2.4 Diseño de interfaces

Es el diseño de computadoras, aplicaciones, máquinas, dispositivos de comunicación móvil,

aplicaciones de software, y sitios web enfocado en la experiencia de usuario y la interacción.

Su objetivo es que las aplicaciones sean más atractivos y además, hacer que la interacción con

el usuario sea lo más intuitiva posible, conocido como el diseño centrado en el usuario. En este

sentido las disciplinas del diseño industrial y diseño gráfico se encargan de que la actividad a

desarrollar se comunique y aprenda lo más rápidamente, a través de recursos como la gráfica,

los pictogramas, los estereotipos y la simbología, todo sin afectar el funcionamiento técnico

eficiente [34].

Existen tres puntos de vista distintos en una IU: el del usuario, el del programador y el del

diseñador (analogía de la construcción de una casa). Cada uno tiene un modelo mental propio

de la interfaz, que contiene los conceptos y expectativas acerca de la misma, desarrollados a

través de su experiencia.

El modelo permite explicar o predecir comportamientos del sistema y tomar las decisiones

adecuadas para modificar el mismo. Los modelos subyacen en la interacción con las

computadoras, de ahí su importancia [35].

2.4.1 Diseño web

Al hablar de de interfaz web, se hace referencia a los elementos gráficos que permiten al usuario

acceder a los contenidos, navegar e interactuar. Para lograr que un usuario se quede y vuelva,

el diseño de la interfaz es importante [36].

Page 36: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

26

Son muchos los factores que hay que tener en cuenta a la hora de diseñar un sitio web. Sin

embargo, dos factores destacan sobre los demás: su contenido y el diseño de la interfaz. Los

arquitectos de la información se ocupan ahora del diseño centrado tanto en el uso, como en el

usuario para hacerle a éste las tareas lo más sencillas posibles [37].

Francisco Tosete Herranz, en La experiencia del usuario resume todas las disciplinas

implicadas en el diseño de sitios web:

● Arquitectura de la información: misión y objetivos estratégicos, clientes y sus

expectativas, estudio sectorial/análisis competitivo, definición y organización de los

contenidos, interacción, navegación, rotulado, búsqueda, prototipado, etc.

● Diseño de la interacción: definición de servicios, definición de las tareas, diagrama de

interacción, storyboards, etc.

● Usabilidad: métodos de indagación, métodos de inspección, test de usabilidad, análisis

de logs, etc.

● Accesibilidad: directrices y pautas de accesibilidad, test de accesibilidad, etc.

● Diseño de la información/diseño gráfico: aspectos y sensación, diseño de

contenido/página, diseño de la interfaz, diseño artístico/creativo, etc.

● Programación y tecnologías: hardware/software, estándares web, etc. [37].

2.4.1.1 Diseño elástico

El diseño web elástico, elastic web design, es un tipo de diseño muy parecido al fluido, sólo

que en este caso el contenido también crece junto al ancho del diseño para rellenar la pantalla.

Es, con diferencia, un tipo de diseño prácticamente residual y muy poco usable. Volvemos a lo

mismo que en el caso del diseño fluido, el diseño elástico puede resultar más o menos agradable

en tamaños de pantalla más o menos pequeños, pero cuando se utilizan pantallas muy grandes

Page 37: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

27

el contenido se vuelve exageradamente irracional, por lo que salvo contadas excepciones, no

tiene ningún tipo de razón de ser. En este caso el diseñador web utiliza em para fijar los anchos

de su diseño web y del resto del contenido que alberga. Es un tipo de diseño del que debemos

alejarnos lo más posible [38].

2.4.1.2 Diseño responsivo

El diseño web responsive reestructura en la pantalla del dispositivo los elementos de la web

para optimizar todo el espacio disponible y ofrecer una excelente experiencia de usuario, esto

se consigue estableciendo unas medidas de ancho y márgenes de diseño en tamaños de

porcentajes en lugar de establecer valores en pixeles fijos. Para ello también se suele utilizar

media queries y hojas de estilo para poder fijar las CSS correspondientes a cada tamaño de la

pantalla [39].

Figura 7. Diseño responsivo (responsive design) [39].

Las ventajas de usar este tipo de técnicas es que se usa una sola URL, lo que le permite a los

usuarios acceder más fácil, y no es necesario realizar un re direccionamiento para que los

Page 38: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

28

usuarios lleguen a una vista ideal para su dispositivo [40], pero al mismo tiempo hay que tener

cuidado con la programación visual de la página, es decir que hay componentes que funcionan

con un click, pero es mucho más difícil dinamizar las funcionalidades con el toque táctil de la

pantalla [41].

2.4.2 Diseño para aplicaciones móviles

La interfaz de una aplicación es como la ropa que viste para salir a la calle. Es también la capa

que hay entre el usuario y el corazón funcional de la app, el lugar donde nacen las interacciones.

En mayor medida está compuesta por botones, gráficos, íconos y fondos, que tienen una

apariencia visual diferente en cada uno de los sistemas operativos, porque Android, iOS y

Windows Phone tienen su propia forma de entender el diseño.

El trabajo del diseñador consiste en interpretar la personalidad de cada sistema operativo,

aportando su propia visión y estilo de diseño, para conseguir aplicaciones que, además de ser

fáciles de usar, sean distintas a las demás y tengan coherencia visual con la plataforma que las

acoge [42].

Cada plaraforma tiene su propia identidad que es reflejada en la apariencia y comportamiento

de cada uno de los elementos que componen su interfaz. En ellos imprime su personalidad, lo

que hace que la experiencia sea diferente a las demás [43].

Los siguientes conceptos se consideran como componente claves para el diseño de una

aplicación móvil:

Page 39: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

29

● Simplicidad: La simplicidad visual está directamente relacionada con la usabilidad.

Ser simple implica en cierta medida ser mínimo, contar con pocos elementos, pero sobre

todo, que aquellos presentes en la interfaz tengan una función bien definida que

contribuya a cumplir el objetivo de la app y ayude al usuario.

● Navegación intuitiva: Un aspecto que merece mucha atención en una aplicación es la

forma de navegar entre contenidos, de manera que resulte fácil de comprender para el

usuario, evitando la sensación de desorientación que puede ocasionar una navegación

confusa.

La navegación intuitiva está también relacionada con la consistencia. Cada sistema

operativo propone diferentes elementos para navegar por la app como botones, pestañas

y paneles. Hacer uso de ellos hará que el usuario los reconozca a primera vista y, solo

con estos componentes, ya sepa cómo ir de una sección a otra.

● Consistencia: Una app tiene diferentes pantallas que la componen y al mismo tiempo,

está dentro de un sistema operativo que propone un determinado aspecto visual e

interacción. El usuario de Android, iOS o Windows Phone ya está habituado a ellos y

espera que las aplicaciones se comporten de la misma manera.

La consistencia, entonces, se trata de respetar estos conocimientos y costumbres del

usuario, no solo en el interior de la aplicación, sino también en relación con el resto del

SO. Esto favorece el uso intuitivo de la app, ya que el usuario puede prever su

comportamiento sin demasiado esfuerzo.

● Cuadros de diálogo: Hay casos puntuales en los que hay que interrumpir al usuario de

forma temporal para que tome una decisión o para explicarle mejor algo que ha

Page 40: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

30

sucedido antes de continuar una tarea. Mientras los diálogos están visibles en pantalla

no es posible hacer otra cosa en el resto de la aplicación.

Cuando se trata de cuadros que contienen avisos que no requieren una toma de decisión,

estos son informativos y tienen únicamente un botón que se ocupa de cerrarlos. Es

recomendable limitar su uso para mensajes graves o trascendentales que no puedan

esperar.

En otros casos, los cuadros de diálogo se usan para comunicar al usuario que debe tomar

una decisión para poder continuar y puede elegir entre dos o más opciones disponibles.

Figura 8. Cuadros de diálogo para el diseño de aplicaciones móviles [43].

● Notificaciones dentro de la app: Cuestiones como: ¿Qué está haciendo la app? ¿Cómo

saber que la acción ha funcionado? ¿Ya terminó o hay que hacer algo más?,

seguramente pasan por la cabeza de un usuario cuando no tiene ninguna confirmación

visual de que la acción que acaba de realizar ha ido bien.

Page 41: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

31

Para mitigar esta incertidumbre, se aconseja mostrar explícitamente cómo han ido las

cosas o que sucederá en breve con simples mensajes de confirmación. Este tipo de

mensajes se presentan en pequeños avisos que desaparecen luego de unos segundos.

A diferencia de los cuadros de diálogo, las notificaciones no requieren la intervención

del usuario ni tampoco interrumpen su flujo de trabajo [43].

Figura 9, Notificaciones dentro de la app para el diseño de aplicaciones móviles [43].

2.4.3 Filosofías de diseño

2.4.3.1 Flat Design

El “Flat Design” o “Diseño Plano” consiste en eliminar o reducir todo tipo de decoración en

un diseño de interfaz o web para simplificar el mensaje y facilitar la funcionalidad. Se eliminan

texturas, degradados, biselados, sombreados… en definitiva, todo lo que no aporte valor al

mensaje o información que se quiere transmitir al usuario que interactúa con la interfaz.

Page 42: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

32

Colores: Se suelen utilizar colores vivos en paletas pastel con pocas variaciones de cada color.

Intentar utilizar esquemas de color que ayuden al usuario a “comprender” el diseño de forma

visual y así facilitar la interacción.

Tipografía, la tendencia es utilizar fuentes sans serif para cuerpos. Para títulos sirve casi

cualquier fuente de fácil lectura, incluso las creativas. Se suelen utilizar grandes tamaños, al

mismo tiempo que se reducen las longitudes de los títulos y subtítulos.

Mensaje: Si puedes decir algo en 4 palabras no lo digas con 10. Sé directo y utiliza claras

llamadas a la acción. El mensaje suele ir reforzado con códigos de color para dar jerarquía o

importancia a la información [44].

2.4.3.2 Material Design

Material Design es un concepto, una filosofía, unas pautas enfocadas al diseño utilizado en

Android, pero también en la web y en cualquier plataforma. El encargado de crear Material

Design y máximo responsable de diseño en Google es el chileno Matías Duarte. Precisamente

este diseño basado en objetos es una manera de intentar aproximarse a la realidad, algo que en

un mundo donde todo es táctil y virtual es difícil. Material Design quiere guiarse por las leyes

de la física, donde las animaciones sean lógicas, los objetos se superpongan pero no pueden

atravesarse el uno al otro y demás.

Material Design es un diseño con una tipografía clara, casillas bien ordenadas, colores e

imágenes llamativos para no perder el foco y un sentido del orden y la jerarquía muy marcado.

Page 43: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

33

Uno de los elementos clave es la luz y las sombras. Una iluminación realista proporciona

indicios de cómo se comportará un elemento y en qué nivel se encuentra [45].

Figura 10, Ejemplo de material design [45].

El movimiento permite al usuario dibujar un paralelo entre lo que ven en la pantalla y en la

vida real. Al proporcionar tanto la retroalimentación y la familiaridad, lo que permite al o la

usuario sumergirse completamente en tecnología desconocida. El movimiento posee

consistencia y continuidad, además de dar a los usuarios la información subconsciente

adicional sobre objetos y transformaciones [46].

2.5 Visualización de datos

La visualización de datos es un tema que no solo se trabaja en el desarrollo de software, sino

en otras áreas como por ejemplo el marketing digital, estamos en la era de la big data,

encontrando una extensa cantidad de información alrededor. Lo que se busca con la

Page 44: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

34

visualización de datos es tomar una cantidad de información previamente seleccionada y

analizada y representarla por diferentes métodos como gráficas, diagramas, mapas para geo

posicionamiento, entre otros [47].

Para realizar este proceso en la web, se han tomado en cuenta las siguientes librerías para la

representación y la visualización de datos:

2.5.1 ChartJS

Es una librería de JavaScript para la manipulación de datos, usa la etiqueta canvas de HTML5,

para dinamizar los componentes de visualización, provee diferentes tipos de gráficos, ejes y

animaciones, incluyendo la gran ventaja de que sus gráficos son de carácter responsivo [48].

2.5.2 Google Charts

Google Charts es una herramienta que tiene como propósito visualizar de manera dinámica los

datos de una página web, Google Charts utiliza el javaScript que se incrusta a la página. Los

gráficos se representan mediante la tecnología HTML5 / SVG para proporcionar

compatibilidad entre navegadores (incluyendo VML para versiones anteriores de IE) y la

portabilidad entre plataformas para iPhone, iPad y Android. Los usuarios nunca tendrán que

meterse con plugins o cualquier software. Si tienen un navegador web, que pueden ver sus

datos [49].

2.5.3 Google Maps

Google Maps es un servidor de aplicaciones de mapas, utiliza javascript para realizar peticiones

de una forma asíncrona con AJAX para poseer una mejor experiencia con el usuario, ofrece la

capacidad de realizar acercamientos y alejamientos, además crea un paso a paso para llegar a

Page 45: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

35

una dirección ya sea a pie o en carro, sin mencionar que ahora puede identificar el tráfico lento

en una ciudad, imágenes de mapas desplazables, imágenes por satélite y la ruta de miles de

ubicaciones [50]. Las coordenadas de Google Maps están en el sistema WGS84 y se mostrará

la latitud y la longitud, positiva para Norte y Este, negativa para Sur y Oeste [51].

Google además de ofrecer ese servicio, también tiene una opción para desarrolladores, el cual

haciendo uso de la API de Google Maps, el desarrollador es libre de usar este servicio para

cualquier sitio web, pudiendo modificar casi cualquier aspecto de la interfaz original.

2.6 Componentes de Hardware

2.6.1 Arduino

Arduino es una plataforma electrónica de código abierto basada en hardware y software fácil

de usar, las placas de arduino son capaces de leer las entradas, la luz en un sensor, un dedo

sobre un botón o un mensaje de Twitter y convertirlo en una salida, la activación de un motor,

encender un LED, publicar algo en línea. Todas estas funciones son enviadas como un conjunto

de instrucciones a un microcontrolador desde el editor de arduino. Para ello se utiliza el

lenguaje de programación de Arduino (basado en el cableado), y el software de Arduino (IDE),

basadas en Processing. Algunos factores importantes sobre Arduino son [52]:

● Multiplataforma - El software de Arduino (IDE) se ejecuta en Windows, Macintosh OS

X, y Linux. La mayoría de los sistemas de microcontrolador se limitan a Windows.

● El código abierto y hardware ampliable - Los planes de las placas Arduino se publican

bajo una licencia de Creative Commons, por lo que los diseñadores de circuitos

experimentados pueden hacer su propia versión del módulo, ampliándolo y

Page 46: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

36

mejorándolo. Incluso los usuarios con poca experiencia pueden construir la versión de

tablero del módulo con el fin de entender cómo funciona y ahorrar dinero.

2.6.2 Raspberry Pi

La Raspberry Pi es un ordenador de tamaño de una tarjeta de crédito que se conecta a una

pantalla y un teclado. Es un pequeño ordenador capaz que puede ser utilizado en proyectos de

electrónica, y para muchos de las cosas que hace el PC de escritorio, como hojas de cálculo,

procesamiento de textos, navegación por internet, y jugar juegos. También reproduce vídeo de

alta definición. Nace con el objetivo de estimular la enseñanza de las ciencias de la

computación en las escuelas [53].

2.6.3 Raspbian

Raspbian es un sistema operativo gratis basado sobre Debian optimizado para la Raspberry Pi,

el cual tiene programas básicos y útiles para que la Raspberry Pi funcione, el cual cuenta con

más de 35 mil paquetes de software pre-compilado el cual hace su instalación más agradable,

además de proporcionar un rendimiento significativamente más rápido para aplicaciones que

hacen un uso intensivo de operaciones aritméticas [54].

2.7 Experiencia de Usuario (UX)

Experiencia de usuario (UX) representa la percepción dejada en la mente de alguien después

de una serie interacción entre la gente, dispositivos y eventos- o una combinación de esas.

“Serie” es la palabra operativa [55].

Page 47: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

37

El concepto de la Experiencia del Usuario tiene su origen en el campo del Marketing, estando

muy vinculado con el concepto de Experiencia de Marca – pretensión de establecer una relación

familiar y consistente entre consumidor y marca–. En el contexto del Marketing, un enfoque

centrado en la Experiencia del Usuario con llevaría no sólo analizar los factores que influyen

en la adquisición o elección de un determinado producto, sino también analizar cómo los

consumidores usan en producto y la experiencia resultante de su uso (Kankainen; 2002) [55].

La web puede ser representada en varios términos, pero cuando se habla de experiencia de

Usuario, según Jesse James Garrett [56] la web se divide en 2 partes, la primera se puede

denotar como un sistema de hipertexto, y la segunda como la interfaz de software, donde en

cada una se despliegan las mismas etapas, pero su desarrollo y conceptualización es muy

diferente a continuación se enumeran algunas en la siguiente imagen:

Figura 11, Elementos de la experiencia de usuario [56].

Page 48: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

38

Existen diversas técnicas que amplían la conceptualización y el desarrollo de la experiencia de

usuario, estas técnicas se pueden emplear en cualquier faceta de las etapas del desarrollo y

pueden mezclarse entre sí para obtener mejores resultado y fomentar una mejor experiencia,

algunas de las técnicas más usadas son[57]:

Técnicas básicas dentro de un proceso de diseño:

● Entrevista y Encuesta

● Observación

● Revisión bibliográfica

● Consulta a experto

● Representación y mapeo

Técnicas muy usadas para la búsqueda de información:

● Tormenta de ideas.

● Diseño participativo.

● Escenarios.

● Análisis de frecuencia de texto (repetición de términos y conceptos en los contextos).

Técnicas muy usadas para la organización:

● Organización de tarjetas.

● Agrupación (finalizando en un Diagrama de Afinidad).

● Tabulación de contenidos (crear tablas con los diferentes contenidos a organizar).

● Validación de términos.

Técnicas muy usadas para el funcionamiento del producto:

● Análisis de tareas.

● Flujogramas.

Técnicas muy usadas para diseñar el producto:

Page 49: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

39

● Diagramación en papel.

● Diagrama de organización

● Diagrama de funcionamiento.

● Diagrama de presentación.

● Prototipado digital.

Técnicas usadas para hacer los test del diseño planteado:

● Pruebas con usuarios.

● Mapeo de clics dentro de la pantalla del producto.

● Monitorización o seguimiento visual.

2.8 Usabilidad

La usabilidad es la que medición de la calidad de la experiencia que tiene el usuario al

interactuar con el sistema, para determinar la eficiencia en el uso de los diferentes elementos

que se presentan en cada pantalla y la efectividad en las actividades que se pueden realizar a

través de ellas.

La usabilidad se enfoca en brindar facilidad al usuario para que pueda navegar en un sitio e

interactuar sin problemas con los elementos que aparecen en él: botones, hipervínculos,

animaciones, íconos, recursos multimedia y enlaces. También hace referencia con la capacidad

de mantener al usuario dentro del sitio, proporcionándole una estadía eficiente y evitando

problemas como demoras en la carga de interfaces, enlaces rotos o confusiones a la hora de

localizar rápido la información que está buscando [58]. Algunas preguntas que el diseñador no

Page 50: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

40

puede permitir que se plantee el usuario a la hora de ver la interfaz son ¿Dónde estoy?, ¿Por

dónde empiezo?, ¿Cuáles son las cosas más importantes de esta página(o aplicación)?

[59].

Para realizar una adecuada revisión en cuanto a lo hablado anteriormente, se deben tener en

cuenta los siguientes factores:

● Facilidad de aprendizaje: define en cuánto tiempo un usuario, que nunca ha visto

una interfaz, puede aprender a usarla bien y realizar operaciones básicas.

● Facilidad y Eficiencia de uso: determina la rapidez con que se pueden desarrollar

las tareas, una vez que se ha aprendido a usar el sistema.

● Facilidad de recordar cómo funciona: se refiere a la capacidad de recordar las

características y forma de uso de un sistema para volver a utilizarlo a futuro.

● Frecuencia y gravedad de errores: plantea la ayuda que se le entrega a los usuarios

para apoyarlos cuando deban enfrentar los errores que cometen al usar el sistema.

● Satisfacción subjetiva: indica lo satisfechos que quedan los usuarios cuando han

empleado el sistema, gracias a la facilidad y simplicidad de uso de sus pantallas.

Page 51: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

41

Capítulo 3

Antecedentes

Hoy en día existen diversas aplicaciones para poder satisfacer muchas de las necesidades

humanas, las cuales facilitan el trabajo y ahorran tiempo en su práctica, por lo cual se puede

evidenciar aplicaciones enfocadas en velar por la seguridad y ayudar en la comunidad, donde

algunas de las más destacadas son:

3.1 Cuadrantes.

La aplicación Cuadrantes hace parte del Plan de Seguridad Ciudadana de la Policía Nacional

de Colombia que busca que el ciudadano pueda establecer comunicación directa con la patrulla

asignada según su ubicación geográfica. La llamada se efectúa automáticamente de modo que

usted no tiene que escribir el número en ningún lugar.

La estrategia de CUADRANTES DE SEGURIDAD delimitó las principales ciudades del

territorio nacional por áreas específicas denominadas CUADRANTES, cada área tiene

asignada al menos una patrulla con mínimo con 2 hombres y un teléfono celular disponible

para que el ciudadano llame según el cuadrante en el cual está ubicado en caso de emergencia

o alguna novedad [60].

Page 52: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

42

Figura 12, Aplicación Móvil Cuadrantes [60].

3.2 PF Móvil.

PF Móvil es una aplicación que permite realizar reportes de delitos y establecer un vínculo

entre la ciudadanía y el Centro Nacional de Atención Ciudadana (CNAC), que es parte de la

Comisión Nacional de Seguridad (CNS). Permite realizar llamadas al 088, enviar reportes en

forma de texto con la posibilidad de adjuntar multimedia (audio, foto o video), consultar

reportes de incidentes en vías federales y hospitales cercanos; es posible solicitar información

acerca de diferentes tópicos y consultar las cuentas de Facebook, Instagram y Twitter [61].

Page 53: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

43

Figura 13, Aplicación Móvil PF Móvil [61].

3.3 Alerta Motorola

Alerta Motorola permite alertar rápidamente a una lista de contactos definida por el usuario

cuando los necesite. Otro servicio configura el teléfono en el modo de alerta, este comienza a

enviar notificaciones periódicas con la ubicación del teléfono a las personas que se designó

para que puedan actuar rápido y así ayudar [62].

Page 54: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

44

Figura 14, Aplicación Móvil Alerta Motorola [62].

3.4 Ecu 911.

La aplicación móvil del ECU 911 permite reportar emergencias desde el Smartphone,

seleccionando la entidad gubernamental (policía, tránsito, salud, bomberos) para que atienda

la emergencia que elige reportar [63].

Page 55: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

45

Figura 15, Aplicación Móvil Ecu 911 [63].

3.5 Alarmas comunitarias en Cali

Actualmente en Santiago de Cali existe un sistema de seguridad por sectores, el cual consta de

alarmas comunitarias, la función de estas alarmas es dar aviso a la comunidad sobre un acto

delictivo que esté ocurriendo en el momento. Es decir, es una red que integra las casas de los

barrios con un sistema de alarmas que son activadas por los usuarios [64]. Según las

Proposiciones No. 08 del 12 de marzo de 2013 de la alcaldía, existen 404 alarmas comunitarias,

distribuidas en 133 barrios de la ciudad de Santiago de Cali, beneficiando a 7930 personas. [9]

Page 56: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

46

COMUNA FRENTES BARRIOS BENEFICIARIOS

1 3 Terrón Colorado 60

2 2 Campiña y Flora 40

3 2 El Piloto 40

2 San Nicolás 40

4 4 Olaya Herrera 80

1 Las Delicias 20

5 16 Portal de Comfandi- Bajo Salomia

y Brisas de los Andes I

320

24 Paseo los Almendros-Villa del

Prado-Ciudadela Santa Barbara

480

3 Metropolitano 60

3 Los Andes 60

4 Villa de Veracruz 80

6 15 300

6 Guaduales 120

1 Floralia I 20

1 Floralia 20

9 3 Alameda 60

Page 57: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

47

COMUNA FRENTES BARRIOS BENEFICIARIOS

10 4 Panamericano 80

2 La Selva 40

11 1 El Jardín 20

6 Prados de Oriente 120

1 Ricardo Balcazar 20

13 10 Los Lagos 200

3 Villa San marcos 60

14 2 3er Milenio 40

7 Alfonso Bonilla Aragón 140

15 8 Ciudad Córdoba 160

17 20 Bosques del Limonar-Santa Anita-

Capri-Primero de Mayo- Mayapan

las Vegas

400

1 Los Samanes 20

3 Gran Limonar 60

4 Prados del Limonar 80

1 Caney III 20

18 5 Melendez 10

Page 58: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

48

COMUNA FRENTES BARRIOS BENEFICIARIOS

1 Los Farallones 20

19 54 Se instalaron en 32 barrios y/o

sectores

1080

66 Se instalaron en 32 barrios y/o

sectores

1280

69 Se instalaron en 32 barrios y/o

sectores

1380

21 Se instalaron en 21 barrios y/o

sectores

420

20 20 Belisario-Venezuela 400

1 Siloe 20

21 2 Talangas 40

1 Compartir 20

1 desepaz 20

Tabla 2. Alarmas y frentes de seguridad en los distintos barrios de Santiago de Cali [9].

Pero, ¿qué sucede si la emergencia no es un robo en la calle o un asalto a una vivienda?, es

en este punto en el que se puede apreciar cómo la comunidad a pesar de contar con un

sistema de alarmas comunitarias contra robos, no está totalmente informada sobre qué otras

Page 59: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

49

emergencias suceden a su alrededor como por ejemplo incendios, inundaciones, etc., y

cómo actuar frente a estas.

Otro aspecto que cabe resaltar es cuando la alarma se activa sin que ocurra un incidente

(conocido como falsa alarma) para alertar la presencia de sujetos o vehículos sospechosos,

esto a su vez ocasiona que los habitantes entren en estado de alerta o pánico.

Se realizó una encuesta para la clase de catedra de emprendimiento, en la cual se tomaron

personas de diferentes sectores de la ciudad, en esta se les preguntó acerca de la seguridad

en su barrio o comunidad, del lugar donde residen, también si conocen el motivo por el cual

se enciende la alarma y si conocían aplicaciones móviles las cuales alertarán sobre alguna

emergencia. La encuesta fue realizada de forma personal y por medio de google forms, a

continuación se anexan alguno de los resultados.

Figura 16, diagrama de pastel - resultados de pregunta “¿Desde su hogar puede escuchar

la alarma comunitaria?”.

Page 60: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

50

A pesar de contar con el servicio de las alarmas comunitarias, el 11,8% de las personas

encuestadas no logran escuchar la alarma desde sus hogares.

Figura 17, diagrama de pastel - resultados de pregunta “¿Conoce el motivo por el cual se

enciende la alarma comunitaria?”.

Se puede evidenciar cómo el 55,9% de las personas encuestadas, no conocen el motivo por

que cual se ha encendido la alarma.

Figura 18, diagrama de pastel - resultados de pregunta “¿Sabe qué medidas tomar en caso

de una emergencia (Robo, incendio, entre otros)?”.

Page 61: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

51

Este es otro dato muy importante, ya que el 32.4% de las personas que realizaron la encuesta

no sabe qué medidas deben tomar en caso de una emergencia, ya sea un robo en la calle,

un asalto a una vivienda, un incendio, una inundación, etc.

Page 62: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

52

Capítulo 4

Desarrollo

4.1 Metodología

4.1.1 Recolección de información

Se realizó un estudio con diversas personas residentes de diferentes barrios de la ciudad de

Cali, para identificar la problemática a solucionar por medio de este proyecto y de igual manera

tener el conocimiento de los requisitos suficientes para suplir el desarrollo y las necesidades

del proyecto.

El estudio se realizó por medio del método de encuestas que fueron hechas personalmente,

acerca de la seguridad que existe actualmente en sus barrios, además de esto, se traspasaron los

resultados a la plataforma que brinda Google Forms para poder obtener de una manera más

comprensible el análisis estadístico de los resultados.

Ver anexo 1.

4.1.2 Identificación de los tipos de emergencias

Se realizó un análisis basado en las encuestas y entrevistas mostradas anteriormente, sobre qué

tipos de emergencias se presentan en la ciudad de Cali, el cual dio como resultado emergencias

que se catalogaron como principales y secundarias, las principales como emergencias que

requieren acción inmediata debido a las consecuencias que puedan causar, por ejemplo, un

Page 63: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

53

robo, un incendio, un accidente, peleas callejeras (riñas), llamados de auxilio y explosiones.

Las secundarias como emergencias que no requieren acción inmediata, sino que se presentan

como alertas informativas, por ejemplo, sujetos sospechosos, consumo o venta de drogas, corte

de agua, corte de energía y vehículos sospechosos.

4.1.3 Análisis de la comunicación con los entes gubernamentales

Se llevó a cabo una investigación sobre los entes gubernamentales que se enfrentan a los tipos

de emergencias nombrados en el subcapítulo anterior y la forma de comunicarse con ellos,

reduciendo el tiempo de espera y haciendo más efectiva la atención. Los entes que realizan esta

labor son la policía metropolitana, la cruz roja y el cuerpo de bomberos voluntarios de Cali,

estos atenderán llamados de emergencias principales las cuales se nombraron anteriormente y

la forma de comunicación es la siguiente:

Policía Metropolitana, esta cuenta con diferentes medios de comunicación como lo

son la línea de atención de emergencias marcando al “123”, la línea de atención al

ciudadano marcando al “018000-910600”, la dirección de correo electrónico “

[email protected] ” y el número de cada uno de los cuadrantes distribuidos

en la ciudad [65].

Por lo cual se decide que la mejor opción para una efectiva comunicación sería por

medio del número del cuadrante más cercano al lugar de la emergencia, acortando los

procesos y mejorando el tiempo de acción, ya que si se llamara a la línea “123” estos al

atender la emergencia deben seguir con el proceso de informar al cuadrante más cercano

para que se dirijan a la zona afectada, por otro lado la dirección de correo electrónico

Page 64: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

54

no sería como tal un medio de rápida respuesta para una emergencia que requiere una

inmediata acción.

Cruz Roja, esta cuenta con una línea rápida para emergencias la cual es “132” [66], en

la cual de manera efectiva se tomará el tipo de emergencia, los datos de la emergencia

como la zona, los implicados y en su debido caso se darán indicaciones a seguir [67].

Cuerpo de Bomberos Voluntarios, para lograr una efectiva comunicación con este

ente, la línea directa para emergencias es marcando el “119” [68], en el cual se dirá el

lugar de la emergencia y el motivo.

4.1.4 Investigación en diseño y desarrollo

Se indagó sobre los lineamientos de diseño que pertenecen a las plataformas móviles, Android,

IOS y plataformas web (o websites) para su apropiado funcionamiento.

Además, se profundizó sobre los diversos tipos de desarrollo de aplicaciones móviles actuales,

diversos frameworks de desarrollo multiplataforma, patrones de diseño, de arquitectura,

servicios web y conectividad entre dispositivos. A su vez se investigó sobre los tipos de

desarrollo web y las diferentes herramientas de desarrollo

Se hizo una previa investigación sobre diseño de interfaces gráficas, experiencia de usuario

(UX) y usabilidad.

Page 65: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

55

Lo anterior se explica en el capítulo 2 del documento, titulado como marco teórico y se

desarrolla en el sub-capítulo de desarrollo de la solución.

4.1.5 Maquetación y diseño

En principio se desarrolló un boceto en Adobe Illustrator de las vistas que va a requerir la

aplicación y la plataforma web, los cuales poco a poco se fueron puliendo hasta que se

encuentra la herramienta llamada Balsamiq, un software que permite la maquetación de

mockups de una manera rápida y sencilla, a su vez ofrece herramientas para programar la

navegabilidad que va a tener la aplicación.

Ver anexo 2.

4.1.6 Etapa desarrollo para móvil

Inicialmente se plantea la posibilidad de realizar el desarrollo móvil nativo, es decir utilizar

Java y XML que ofrece Android Studio y Swift (XCode) para plataforma IOS, pero a medida

que se va indagando sobre el funcionamiento y requerimientos de estas plataformas, se

encuentra que para poder desarrollar en IOS, se debe adquirir una cuenta paga como

desarrollador y por consiguiente incluir la máquina en la cual se va a realizar el desarrollo, lo

cual dificulta el desarrollo ya que es más fácil tener acceso a un computador Windows que un

Mac, debido a que ningún desarrollador poseía este dispositivo y mucho menos una cuenta que

certifica que se es desarrollador en IOS.

Page 66: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

56

Así que se decide contemplar más posibilidades de desarrollo frente a dispositivos móviles, y

es aquí cuando aparece el desarrollo multiplataforma, donde se plantea que el mismo desarrollo

funcione tanto en plataforma Android como en plataforma IOS sin presentar mayores

inconvenientes, es por eso que se elige a Ionic Framework para realizar el desarrollo, surgiendo

como una propuesta factible para suplir los recursos que demanda el proyecto.

Para el desarrollo de servicios web se optó por trabajar con la arquitectura REST ya que permite

un desarrollo accesible a cualquier programador por medio de los métodos HTTP, además se

utiliza esta arquitectura porque tanto como PHP como Ionic brindan funcionalidades propias

de esta arquitectura para el envío de estas solicitudes.

4.1.7 Etapa desarrollo plataforma web

Para el desarrollo de la plataforma web en cuanto al desarrollo frontend el cual se hace

referencia a la interfaz gráfica, se tomó la decisión de utilizar Bootstrap framework, ya que

después de la previa investigación se destacó como una herramienta eficiente y práctica a la

hora de gestionar su implementación.

Por otro lado se realizó una investigación para determinar qué herramienta ofrece una mejor

representación de datos estadísticos, el cual sea intuitivo para el usuario y entendible, es por

ello que se decide utilizar las librerías ChartJs y jquery.knob , las cuales son las que mejor

suplen estos requerimientos.

En cuanto al desarrollo backend de la plataforma web, fue desarrollado en base al patrón de

arquitectura MVC (Modelo-vista-controlador). Este patrón se implementó con el fin de poder

Page 67: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

57

separar la lógica de negocio que conlleva la aplicación para que de esta manera se pudiera

optimizar el desarrollo y facilitar el mantenimiento o módulos adicionales que se requieran en

un futuro. El lenguaje base del desarrollo de la plataforma es PHP ya que permite desarrollar

aplicaciones web de una forma dinámica y ofrece fácil accesibilidad y manipulación de la base

de datos, que en este caso se utilizó MySQL como motor, donde se aloja la información que el

proyecto genera a partir de las solicitudes de los usuarios.

4.2 Desarrollo de la solución

4.2.1 Diseño

4.3.1.1 Filosofía del color

El color es uno de los factores fundamentales para el desarrollo visual de una aplicación ya que

este tiene una inmensa afinidad con las emociones de los usuarios. El primer impacto que

generan los colores es crucial en la relación aplicación-usuario ya que este puede ser positivo

o negativo y esto hace que a su vez nos ayude a distinguir lo que es importante y lo que no

[69].

Los colores elegidos para la aplicación son azul, rojo, blanco, negro y variaciones de grises. Se

parte de estos colores por la percepción que tienen ante los usuarios. El color azul es uno de

los colores que más confianza y seguridad dan a las personas. El color rojo genera sensación

de rapidez lo cual hace que este sea uno de los principales colores para esta aplicación, ya que

las personas lo identificarán de manera fácil y rápida. El color blanco y el color gris generan la

sensación de equilibrio para que los usuarios no se sientan aturdidos con la gama de colores.

Page 68: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

58

Por último, el color negro le da el toque de sobriedad y alta tecnología que caracteriza a esta

aplicación [70].

4.3.1.2 Tipografía

La tipografía en el diseño de aplicaciones es un elemento fundamental ya que esta debe ser

clara y legible para los usuarios. La tipografía que se usará en el cuerpo de la aplicación móvil

será Cabin Regular, con base a las recomendaciones estudiadas también se aplicará un tamaño

de entre 11 y 17 puntos para los cuerpos de texto. Para la tipografía de los títulos se usó Rabbid

Highway SignII.

Estas dos tipografías, aunque siguen siendo de la familia sans serif tienen un toque de

modernidad incorporando, proporciones modernas, ajustes ópticos, y algunos elementos del

sans geométrico, los cuales generan una sensibilidad mayor para llamar la atención del usuario,

manteniendo la comodidad de la familia sans serif [71].

4.2.2 Levantamiento de requisitos

Para el desarrollo de esta sección se empleó el framework de ingeniería de requerimientos de

K. Pohl [72], para poder identificar y analizar las necesidades que se requieren para la

aplicación del proyecto, para luego así tener una base clara y consistente para la

implementación de este, por consiguiente se utiliza el método de priorización de requisitos por

Matriz de Wiggers el cual genera la prioridad que tiene cada requisito frente al proyecto, para

luego poder definir el orden del desarrollo.

Se anexa un documento únicamente con la lista de requisitos que fueron definidos por medio

del proceso anterior.

Ver Anexo 3.

Page 69: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

59

Se anexa un documento donde se documenta el proceso anteriormente hablado, además de eso,

dentro del documento se evidencia el propósito, alcance, contexto del sistema (Sujetos-Usos-

Sistemas-Desarrollo), restricciones, tabla de requisitos priorizada, actores y casos de usos.

Ver Anexo 4.

4.2.3 Diseño de software

Posteriormente al levantamiento de requisitos se desarrolla el diseño detallado de software, el

cual genera los recursos técnicos faltantes para poder iniciar con la implementación, luego de

que todos los requisitos fueran validados con las necesidades del proyecto y poder así

estructurar el diseño del software para ser desarrollado.

A medida que se avanza en el proceso del diseño detallado de software, se generan los casos

de uso del proyecto, el cual hace una representación de la forma en la que interactúan los

usuarios con la aplicación, que dentro de este contexto son llamados “Actores”, cada actor

asume un rol dentro de la plataforma y se le asignan tareas (caso de uso), para luego así

especificar su relación con otros actores o incluso con otros casos de uso. Luego de haber

generado todos los posibles casos de uso, se ejemplifican los escenarios de casos de uso para

aquellas operaciones que son vitales en la aplicación, en estos escenarios se plantean

situaciones hipotéticas en las que el usuario se podrían ver envueltos, con el fin de detallar el

comportamiento del sistema en caso de que el resultado esperado sea exitoso (escenario

primario), o no sea el esperado (escenario secundario).

Page 70: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

60

Después de haber documentado los escenarios de casos de uso más sobresalientes de la

aplicación, se generan las tarjetas CRC (Clase, Responsabilidad, Colaboradores), con ellas se

realiza un aproximamiento a las clases que se verán utilizadas en el desarrollo, dentro de cada

tarjeta se especifica el nombre de la clase y las responsabilidades de esta junto con los

colaboradores que incluyen.

Por último se genera un diagrama de clases, el cual por medio de una representación gráfica se

realiza un acercamiento a la estructura final del proyecto.

A medida que va avanzando el diseño detallado de software se logra re evaluar y adicionar

aspectos que no se habían tenido en cuenta al inicio del planteamiento del proyecto, lo que

proporcionó una revisión continua del documento para así pulir detalles y generar una

estructura correcta para su implementación.

Ver anexo 5.

4.2.4 Arquitectura

El proyecto se desarrolla con un patrón de diseño MVC (Modelo Vista Controlador), el cual

ofrece diversas ventajas para el desarrollo del proyecto como:

Dividir la lógica de negocio de la presentación de los datos, para hacer del proyecto más

escalable.

Uso de URL amigables.

Facilidad para crear nuevas vistas de representación del contenido.

Reutilización de componentes.

Page 71: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

61

A la hora de realizar mantenimiento es muy simple, ya que las correcciones solo se hacen

en un solo lugar y no en varios.

Junto a este patrón de diseño se implementa POO (Programación orientada a Objetos) el cual

ayuda a mantener el código en un solo lugar, la lectura del código es más sencilla y ofrece una

característica por la cual se destaca que es la herencia, donde algunos objetos comparten

propiedades y métodos de otros, además de poder agregar nuevos a la misma vez [73], por lo

cual hace más efectivo y practico el desarrollo de este proyecto.

La conexión a la base de datos se manipula mediante la implementación de ORM (Objeto

Mapeo Relacional), donde se encuentra una base de datos relacional SQL y que mediante el

código se crean objetos que van conjunto a la estructuración que existe en las tablas de la base

de datos, cada atributo tiene un método especifico en la composición del objeto, el cual tiene

la función específica de consultar solo ese dato y obtener su valor. La gran ventaja que ofrece

ORM es la reutilización, permitiendo llamar a los métodos del objeto en cualquier parte del

proyecto o incluso desde otra aplicación [74].

Para la conexión entre aplicaciones se decide utilizar los servicios RESTfull, ya que ofrecen

una escalabilidad mayor, gracias a que los recursos se obtienen por medio de un estándar de

estados como lo son GET, POST, PUT y DELETE, el servicio se solicita en una url alojada en

el servidor y esta realiza una acción específica dependiendo del método o estado que se le

envíe, lo que hace que su mantenimiento sea también más eficiente.

En efecto toda la lógica de la aplicación tiene una estructura clara y concisa, y así mismo será

la representación de datos, para el aplicativo web se implementa Admin LTE, es un template

Page 72: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

62

de administradores open source, se basa con HTMLy Bootstrab, el cual tiene muchos recursos,

pero lo que más cabe resaltar son sus componentes de estadística para la representación y

visualización de datos, por lo cual hace que sea una herramienta muy útil y llamativa para este

proyecto.

Aunque todo lo anterior se relaciona con el desarrollo del aplicativo web, ahora se va a

relacionar con la aplicación móvil, que, aunque usa el mismo patrón de diseño MVC, tiene

algunas diferencias muy significativas, ya que para ello se implementa Ionic framework, el cual

posee diversas herramientas tanto de diseño de prototipado, como la accesibilidad y facilidad

de generar aplicaciones multiplataforma de una manera ágil y sencilla.

El sistema de seguridad Alarmapp cuenta con un servidor web, el cual lo provee un hosting de

goDaddy, en este se encuentran 2 instancias, una para un entorno de producción y otra para un

entorno de pruebas de desarrollo; debido a que se desarrolla la primera versión del sistema de

seguridad Alarmapp, por lo tanto, se encuentran alojados la base de datos, los servicios web y

el backend del sistema de seguridad en la instancia de pruebas para posteriormente migrarlo a

producción.

4.2.5 Desarrollo multiplataforma con Ionic Framework

4.3.5.1 Diseño visual por medio de mockups

Uno de los procesos más intuitivos e importantes dentro del desarrollo de una aplicación móvil

es el diseño, ya que esta es la parte visual de la aplicación, lo primero que van a ver los usuarios

y será el puente para que el usuario haga uso de las funcionalidades de esta, es decir que un

mal diseño podrá generar ajustes en el desarrollo, o incluso la realización de nuevos desarrollos

Page 73: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

63

futuros para suplir lo que se llama UX ( Experiencia de Usuario ), es tan importante y complejo

este tema, ya que un buen diseño y el propósito de este, es guiar al usuario por toda la aplicación

sin que este se pierda o necesite de un manual para entender su funcionamiento.

Hoy en día hay diversas tecnologías que ayudan a realizar el diseño de una página web o

aplicación móvil, pero muy pocas cuentan con la interactividad de esta, en la mayoría de los

casos se queda en un diseño simple y fijo, pero hay herramientas que permiten adicionar al

diseño la interactividad y es ahí donde nace el primer bosquejo de la aplicación relativamente

funcional, con ello se puede ver cómo se comportan los usuarios al usar la aplicación, sin que

estén implementadas las funcionalidades. La herramienta tecnológica que se usó es

“Balsamiq”, esta herramienta brinda la facilidad de crear Mockups de una manera rápida y

sencilla, con la ventaja de que podemos hacer interactivos estos diseños comunicando uno con

otro, como si en verdad estuviera funcionando. A continuación se muestra uno de los diseños

del prototipo de la aplicación móvil:

Figura 19, Mockups desarrollados en Balsamiq.

Page 74: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

64

Ver anexo 2.

4.3.5.2 Desarrollo con Ionic

Utilizando la herramienta Ionic Creator, ofrece la ventaja de exportar un proyecto base con el

código ya implementado, de todas las vistas que se crearon desde la interfaz de este, lo que

hace que sea mucho más fácil iniciar con el proyecto y empezar a modificarlo para las

necesidades de la aplicación. Además de esto Ionic y Angular ofrecen un contenedor nativo, lo

cual permite simular y manipular eventos de funciones propias de dispositivos móviles.

Figura 20, Maquetación de vista desde la interfaz de Ionic Creator.

Ya que Ionic se basa en AngularJs, es muy fácil definir y estructurar componentes de HTML

para ser manipulados según la necesidad, todo esto mediante controladores, los cuales se

encargan de definir la lógica y el comportamiento de los elementos HTML para ser

dinamizados mediante JavaScript. Cada controlador es el encargado de consumir los servicios

pertinentes que proporciona el sistema para que sean visualizados mediante la interfaz.

Page 75: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

65

Luego de exportar el código desde Ionic Creator, se modificó la estructuración de carpetas que

aunque se sigue respetando el patrón MVC, se implementó un orden por componentes, donde

dentro de cada componente se encuentra alojado el controlador hecho en JavaScript, el archivo

de diseño CSS y la vista en HTML; esto con el fin de hacer que el proyecto sea más entendible

para que en un futuro algún desarrollador que desee hacer un ajuste no tenga que buscar un

archivo entre un sinfín de carpetas, solamente debe buscar el modulo que quiere ajustar, y allí

encontrara todo lo necesario para manipularlo, lo que hace que cada módulo sea independiente

y más ordenado. Así mismo si lo que se busca es crear una nueva sección en la aplicación

móvil, simplemente es crear una carpeta con el nombre de la sección y alojar todos los archivos

que estén directamente implicados sin necesidad de tocar los demás componentes. Otro factor

muy importante por lo cual se decide implementar este orden por componentes es que al

momento de desarrollar se hace mucho más cómodo el trabajo en equipo, ya que como cada

módulo es independiente, el trabajo simultaneo es mucho más ágil y no habrá conflictos entre

desarrolladores por programar en el mismo archivo, lo que hace más intuitivo el control de

versiones del proyecto.

Figura 21, Organización por componentes con Ionic Framework.

4.3.5.3 Requisitos del dispositivo móvil

Los requisitos mínimos para que la aplicación móvil funcione sin despreciar la experiencia

del usuario son:

Page 76: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

66

Android IOS

Versión mínima 2.3.3 IOS 9

Espacio disponible mínimo 7Mb 7Mb

Minutos a celular Opcional Opcional

Plan de datos Si ( preferencia 3G o 4G ) Si ( preferencia 3G o 4G )

4.2.6 Desarrollo web

El desarrollo de la plataforma web se apoyó mediante la implementación del panel

administrativo Admin LTE, el cual brinda los recursos básicos y suficientes para suplir las

necesidades del proyecto, además brinda un diseño responsivo de todos sus elementos lo cual

hace que sea una herramienta muy llamativa y de fácil acceso para los usuarios.

La plataforma web cuenta con diferentes tipos de estadísticas, dirigidas tanto a los usuarios

como a los entes gubernamentales como por ejemplo la policía, generando datos de importancia

para el mejoramiento de la seguridad en la ciudad.

Figura 22, Plataforma web de estadísticas.

Page 77: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

67

Para el desarrollo de estas estadísticas se usaron dos librerías llamadas “Chart.js” y

“jquery.knob”, librerías para generar diferentes tipos de graficas a partir de registros en la base

de datos. Las estadísticas que se realizaron fueron divididas en estadísticas por comunidad y

estadísticas generales, en las que se encuentran:

Estadísticas por comunidad:

Tipo de alarmas y el número de veces activadas:

En este informe se realizaron dos gráficas, una de ellas es el diagrama de barras y la

otra es la gráfica “dona” o “anillo”.

Figura 23, diagrama de barras y diagrama anillo o dona, número de veces activadas

cada tipo de alarma.

Ambas graficas generadas con la librería “chart.js”, para su desarrollo, se obtienen los

datos de cuantas veces fue activada cada alarma para su respectiva comunidad por

medio de una consulta a la base de datos realizada desde el backend, posteriormente

con estos datos se construye la estructura requerida por la librería para la creación, dicha

estructura se basa en un objeto JSON que contiene dos arreglos, un arreglo de datos

denominado “labels”, los cuales serán los tipos de alarmas y otro arreglo de datos

Page 78: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

68

denominado “datasets”, en el cual llevará objetos JSON, definiendo por medio de sus

atributos, los colores y los datos referente al número de veces que se activó cada tipo

de emergencia.

Figura 24, Estructura de datos para la librería “chart.js”.

Usuarios inscritos a la comunidad (Administradores, comunes):

Para este informe se generaron dos gráficas, las cuales nos muestra en una el número

de administradores de la comunidad y en la otra el número de usuarios comunes

inscritos a ella.

Page 79: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

69

Figura 25, Grafica de números de usuarios administradores y comunes, usando la

librería “jquery.knob”.

Se crean las gráficas usando la librería “jquery.knob”, para esta se construye la

maquetación en HTML el cual consta de la etiqueta “input”, en este se setea el valor

correspondiente al número de usuarios (ya sean administradores o comunes), el cual se

extrajo previamente de la base de datos, luego la librería toma este valor y “dibuja” el

grafico en la maquetación previamente hecha.

Figura 26, Maquetación HTML para funcionamiento de la librería “jquery.knob”.

Entidad más requerida:

Para este informe se realiza una gráfica similar a la del anterior informe, en la cual se

representa el número de veces que fue solicitada la entidad y el nombre respectivo de

la entidad gubernamental. Se genera mediante la librería “jquery.knob” basándose en

la estructura HTML mostrada en la figura 25. Obteniendo los datos de parte del

backend, tanto el nombre de la entidad como el número de veces que se solicitó.

Figura 27, Grafica representando la entidad más requerida y el número de veces que

se solicitó.

Page 80: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

70

Estadísticas globales:

Comunidad con más usuarios

Este informe se genera por medio de la librería “jquery.knob”, en el que a través del

backend se realiza una consulta a la base de datos, en la cual se extrae el conteo de

usuarios por comunidad y luego del conteo realizar la comparación entre comunidades

y sacar el mayor conteo de usuarios, enviándole al frontend el número total de usuarios

y el nombre de la comunidad respectiva al conteo de usuarios, desde el frontend se

setean los datos en el valor de un “input” para posteriormente ser tomados mediante la

librería y esta generar el grafico.

Figura 28, Grafica mostrando la comunidad con el mayor número de usuarios

inscritos.

Comunidad con más emergencias

Para generar esta grafica se realiza una consulta a la base de datos para realizar la

comparación entre comunidades, sobre la cantidad de emergencias activadas por los

usuarios en cada una y extraer la comunidad con el mayor número de emergencias, para

la renderización de la graficas se usa la librería “jquery.knob” basándose en la estructura

mencionada anteriormente para luego ser graficada la información a través de la

librería.

Page 81: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

71

Figura 29, Grafica representando la comunidad con mayor número de emergencias

activadas.

Entidad más requerida (Total en la ciudad)

En esta grafica se observa cual es la entidad más solicitada a nivel de ciudad, mostrando

el nombre de la entidad y la cantidad de veces que los usuarios de la ciudad la

solicitaron.

Figura 30, Grafica representando la entidad más requerida por los usuarios a nivel de

ciudad.

La anterior grafica se genera mediante la estructura requerida por la librería

“jquery.knob”, haciendo uso de los datos enviados desde el backend del sitio.

Porcentaje de género que usa la aplicación

Para esta representación gráfica se utiliza la librería “chart.js”, en la cual a través de un

diagrama de anillo (o dona), se muestran los valores correspondientes al porcentaje de

usuarios de género masculino y femenino registrados en alarmapp.

Page 82: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

72

Figura 31, Grafica de anillo (o dona) representando en porcentaje el género de los

usuarios de alarmapp.

Tipo de alarmas y el número de veces activadas:

Para este informe se realiza desde el backend una consulta a la base de datos para

obtener el total de veces que fue activada cada tipo de alarma, realizando un conteo por

cada una en cada comunidad y luego ser enviado al frontend, en este se construye la

estructura de datos requerida por la librería “chart.js” presentada a continuación.

Page 83: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

73

Figura 32, Estructura de datos para generar diagrama de barras mediante la librería

“chart.js”.

Obteniendo como resultado la siguiente representación gráfica.

Figura 33, Diagrama de barras de tipos de emergencias y número de veces de

activación.

Page 84: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

74

Además de la sección de estadísticas se encuentra la sección de administración de solicitudes,

donde se crean sesiones con PHP para validar el ingreso de los administradores y así poder

aceptar o rechazar las solicitudes, todo esto mediante AJAX que lo procesa asíncronamente lo

cual genera mayor rapidez en la aplicación, así mismo se crean validaciones mediante PHP

para validar que el usuario ya haya iniciado sesión, de lo contrario lo lleve al inicio de sesión,

pero únicamente desde la sección de solicitudes, ya que las estadísticas son de dominio público

y no es necesario iniciar sesión para poder visualizarlas.

Según lo anterior da paso que las estadísticas y la administración de solicitudes actúen de forma

independiente aunque estén dentro de la misma aplicación, por lo cual se decide crear una

página de inicio la cual muestre las características principales del proyecto y las respectivas

redirecciones hacia las estadísticas y el inicio de sesión del administrador, para ello se decide

utilizar WordPress, porque es una herramienta más versátil, cómoda y rápida para la

manipulación del diseño de la página web la cual es una “onepage”, donde no tiene más

subpáginas dentro de la misma, sino que por el contrario, en la página principal se muestra todo

el contenido, además es una página web netamente informativa y no posee ninguna lógica, un

motivo más por el cual se decide usar WordPress y no incluirlo en el MVC.

Figura 34, Onepage de Alarmapp.

Page 85: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

75

4.2.7 Integración de tecnologías

En esta etapa se procede a integrar la base de datos de Alarmapp, la cual se ha alimentado a

través de la aplicación móvil, integrar los servicios web, los cuales fueron previamente

realizados y alojados en el servidor y la integración del hardware, el cual llevará a cabo la

activación de la alarma comunitaria. Para esto se decide utilizar componentes de hardware

como lo son un Arduino uno, una Raspberry pi, una sirena de 110V y un relé de 5V.

Figura 35, Raspberry pi [76].

Figura 36, Arduino uno [77].

Page 86: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

76

Figura 37, Relé 5V [78].

Figura 38, Sirena 110V [79].

La Raspberry se configuró montando el sistema operativo Raspbian Jessie, luego de esta

instalación se procede a realizar la configuración de la red wifi a través de la misma interfaz.

Ya una vez configurada la Raspberry, se desarrolla un script en el lenguaje de programación

Python 2.4.3, este script realizará la petición GET HTTP al servicio web, al que se le envían 2

Page 87: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

77

parámetros, el primero con el ID de la comunidad y el segundo la Key para la autenticación y

poder hacer uso del servicio, el servicio realizado en el lenguaje de programación PHP realizará

una consulta a la base de datos obteniendo el valor del campo “alarmaActiva” en la tabla

“Comuna”, retornando un objeto en formato JSON con una posibilidad de valor entre 1, que

significa que la alarma en la comunidad ha sido activada ó 0, que significa que la alarma ha

sido desactivada, esta petición se realiza cada 3 segundos dentro de un Loop de 20 iteraciones

logrando un total de 1 minuto ejecutando este servicio. Debido a que esta petición se debe

ejecutar siempre para estar “escuchando” el valor desde la Raspberry en todo momento, se

programa una tarea mediante el comando “Crontab”, este es un comando de Linux para

programar ejecución de tareas o programas cada determinado tiempo, el cual ejecutará el script

desarrollado en Python cada 1 minuto. Esto con el fin de no generar un colapso o sobrecarga

en la memoria de la Raspberry pi, ya que es un efecto muy común de un “bucle” o “ciclo”

infinito, con este comando nos aseguramos que el script se ejecute por 1 minuto, finalice y se

ejecute uno nuevo, a su vez llevando un registro en un archivo de texto plano con el fin de

poder identificar si hubo un error en la ejecución del script o si se está llevando a cabo

correctamente.

Luego de obtener el valor retornado por el servicio, se envía por medio del pin GPIO 23 de la

Raspberry pi un “True” si el valor es 1, o un “False” si el valor es 0, este pin va conectado al

pin digital 12 del Arduino, el cual toma este valor y lo interpreta como un 1 o un 0. Desde el

editor de Arduino se desarrolla un programa en el cual se valida el dato que entra por el pin

digital 12, si el valor es un 1 se envía por medio del pin 13 del Arduino una serie de “High” y

“Low” intercaladas por 1 segundo de delay (generando el sonido de una sirena), pero si el valor

es 0 no se envía nada por el pin 13. Este pin va conectado al relé, ya que éste hace de puente

entre el Arduino y la sirena debido a la diferencia de voltaje en la que cada uno trabaja, la sirena

Page 88: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

78

con 110V y el arduino a 5V, si se conectará de manera directa se correría el riesgo de quemar

tanto el Arduino como la Raspberry.

Figura 39, Estructura de funcionamiento del sistema.

Page 89: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

79

4.2.8 Costos estimados

Costo del sistema de seguridad (Alarmapp)

Componentes Valor (x unidad)

Arduino Uno $30.000

Raspberry Pi 1 $190.000

Modulo Relé 5V $7.000

Sirena 110V $50.000

Cables dupont $6.000

Instalación del sistema

(por número de sirenas que

se vayan a instalar)

$170.000

Mantenimiento $100.000

Total $553.000

Page 90: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

80

Capítulo 5

Perspectiva del proyecto desde la ingeniería multimedia

La ingeniería multimedia comprende muchos campos, los cuales van desde el dibujo y diseño,

hasta las matemáticas, todos con la misma importancia y exigencia, perfilando al ingeniero a

la excelencia, este proyecto es claro ejemplo de ello, ya que ejemplifica muchas de las materias

dispuestas a lo largo del plan de estudio.

Las bases para el diseño brindadas en diseño para medios digitales, dibujo para la ingeniería,

taller de animación 2D, taller de video y fotografía, brindaron las bases suficientes para dar con

la solución a un diseño óptimo y entendible para el usuario.

En cuanto al desarrollo de la conectividad del hardware, materias como circuitos digitales y

redes multimedia ofrecen las bases y conocimientos para poder suplir estos requerimientos o

así inferir soluciones más avanzadas.

Materias como proyecto integrador, diseño de sistemas multimedia, catedra de emprendimiento

y la electiva de profundización 3 con énfasis en Web, son los pilares para obtener los

requerimientos, el cronograma y dar soluciones a diferentes variantes que se den a lo largo del

proyecto, para poder afrontarlas correctamente sin afectar por completo el mismo.

Por último y no menos importante, los módulos de ciencias básicas, programación, redes y

profundización, solventan las bases para crear la lógica de negocio necesaria y la solución de

la misma para que el proyecto sea escalable, fácil de comprender y funcional.

Page 91: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

81

Capítulo 6

Pruebas y análisis de resultados

Para las pruebas de usuario se decidió seleccionar una comunidad de la ciudad de Cali, la cual

se encuentra en el barrio “El refugio”, donde se realizó una presentación de todo el proyecto

en cuanto a lo que concierne al funcionamiento y la usabilidad, como primera instancia se

implementó una versión exportable del celular para cada uno de los usuarios finales, los cuales

valoraron el proyecto después de hacer las pruebas pertinentes.

Luego de explicar detalladamente las funcionalidades de la aplicación móvil y validar la

implementación con una alarma convencional, se procede a mostrar la página web,

visualizando las estadísticas que se generaron mediante la prueba del proyecto en la comunidad

Posteriormente se realiza una encuesta para evaluar: usabilidad, contenidos y rendimiento,

donde hasta el momento se encuentran 76 respuestas las cuales, anteriormente probaron la

aplicación. A continuación se evidencian los resultados obtenidos por la encuesta:

Page 92: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

82

Figura 40, Respuesta pregunta 1. ¿Los botones de acceso e iconos lo redirigen al lugar que

esperaba?

Figura 41, Respuesta pregunta 2. ¿La navegación de la aplicación es sencilla en intuitiva?

Page 93: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

83

Figura 42, Respuesta pregunta 3. ¿Fue fácil identificar el momento y el motivo de la

activación de una nueva emergencia?

Figura 43, Respuesta pregunta 4. ¿Considera que la información presentada de la emergencia

es de utilidad en el momento?

Page 94: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

84

Figura 44, Respuesta pregunta 5. ¿La forma en la que se presentan los contenidos es clara y

concisa?

Figura 45, Respuesta pregunta 6. ¿Considera que la implementación de esta aplicación

mejoraría la seguridad en la comunidad que reside?

Page 95: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

85

Figura 46, Respuesta pregunta 7. ¿Cómo clasificaría el rendimiento de la aplicación en

cuanto a velocidad?

Figura 47, Respuesta pregunta 8. ¿Con que frecuencia se bloquea el funcionamiento de la

aplicación?

Page 96: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

86

Figura 48, Respuesta pregunta 9. ¿Está usted satisfecho con el rendimiento de la aplicación?

Figura 49, Respuesta pregunta 10. ¿Recomendaría esta aplicación a sus conocidos?

Dentro de la encuesta se adiciono una pregunta abierta la cual es: ¿Qué recomendaciones haría

para mejorar la aplicación? La mayoría de las respuestas coinciden en hacer una

implementación en toda la ciudad y hacer más difusión para generar más impacto en los

usuarios.

Page 97: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

87

Capítulo 7

Conclusiones y trabajo futuro

7.1 Conclusiones

1. El proceso de levantamiento de requisitos es una parte fundamental en el desarrollo de

este tipo de proyectos ya que estos tienen como objetivo identificar y analizar las

necesidades que se requieren para la aplicación del mismo, y así tener una idea clara y

concisa del orden de desarrollo partiendo de una previa priorización de requisitos

mediante una Matriz de Wiggers.

2. Antes de codificar el prototipo, resulta muy útil realizar los Mockups para así tener una

idea clara de su maquetación, navegación y comportamiento de la aplicación, por lo

cual la herramienta Balsamiq es muy favorable para este ejercicio ya que brinda

diversidad de componentes de diseño y tiene la opción de navegación entre Mockups,

lo que hace que sea una herramienta muy llamativa, permitiendo tener a la mano una

aproximación visual del producto de forma rápida y presentable.

3. Ionic framework ofrece una versatilidad más que todo para los desarrolladores Web ya

que se basa en AngularJS, HTML, CSS, JavaScript, que son las herramientas más

frecuentes en el desarrollo de aplicativos web, abriendo paso así una nueva forma para

el desarrollo móvil.

4. En cuanto al diseño, Ionic ofrece una herramienta la cual es muy intuitiva y practica

que es Ionic Creator, con la gran ventaja de que la maquetación es exportable en código,

y a su vez a la hora de personalizar la aplicación en cuanto a diseños, iconos, tipografías

Page 98: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

88

es más ágil debido a que todo se maneja mediante fuentes de estilo CSS, lo cual lo hace

más cómodo y práctico para su desarrollo.

5. La organización por componentes en Ionic es muy importante ya que permite

independencia en cada una de sus vistas, fomentando un mejor trabajo en equipo

simultáneo por parte de los desarrolladores, y siendo más ágil su mantenimiento.

6. Aunque Ionic ofrece muchas ventajas para el desarrollo móvil multiplataforma y su

documentación es muy robusta, se encuentra en desventaja frente al desarrollo nativo,

ya que no cuenta con el mismo uso de los recursos del dispositivo móvil y la velocidad

de respuesta es menor para este tipo de desarrollo.

7. Trabajar con el patrón de diseño MVC para la plataforma web, permite separar la lógica

de las vistas, haciendo de esto un proyecto escalable y de fácil mantenimiento,

facilitando la implementación de los servicios RESTfull, para ser consumidos por la

aplicación móvil.

8. El desarrollo backend basado en servicios web es de gran utilidad ya que permite una

excelente modularización de los recursos, para ser consumidos tanto en la web como

en el aplicativo móvil.

9. El uso de sesiones mediante PHP permite tener una manipulación más personalizada

por parte de los usuarios.

10. Por medio de las estadísticas se puede concientizar a la ciudad y así mismo a las

entidades gubernamentales acerca de las comunidades que requieren más atención.

11. Fue claro y entendible para el usuario el botón principal para accionar emergencias

principales, gracias a su tamaño y color representando importancia en la interfaz.

12. A la hora de activar una emergencia, fue fácil para el usuario identificar cuáles eran las

principales y cuales eran las informativas, debido a su color y posición en la interfaz.

Page 99: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

89

13. La opción en el historial de ver el detalle de la emergencia activada, es de gran

importancia ya que permite aclarar la clase de evento que se está reportando, el lugar,

la hora y la entidad a la que se le informo.

14. La implementación del mapa de google maps, fue bastante importante para que el

usuario logrará identificar brevemente cuál es su comunidad, sin necesidad de saber el

nombre.

15. El logo es claro y representativo con el fin que tiene la aplicación, ya que cuenta con

una sirena y una comunidad dentro de ella, haciendo alusión a una comunidad

completamente informada de los eventos que suceden en su sector.

16. El uso de la plataforma web es de fácil acceso, como también muy claro en sus

conceptos, permitiendo su funcionalidad en una forma segura y rápida.

17. Es de gran utilidad los datos representados en la plataforma web, ya que les sirve a los

ciudadanos para llevar un seguimiento detallado sobre cómo está la seguridad no solo

en su comunidad sino también en la ciudad.

18. Fue esencial el uso de la alarma comunitaria para notificar una emergencia de acción

rápida, ya que no siempre los usuarios tienen su celular a la mano y al escuchar la sirena

cuenta con la opción de tomar su celular y enterarse de que está sucediendo.

19. El sistema de seguridad Alarmapp, tuvo una gran aceptación por parte de los habitantes

de la comunidad del refugio, ya que ellos cuentan actualmente con un sistema de

alarmas comunitarias, pero con el problema de no saber que sucede cuando una se

activa, por lo cual vieron muy viable el desarrollo de este proyecto y a su vez poderlo

implementar en su sistema actual, basado en las ventajas que se están ofreciendo y las

pruebas realizadas por ellos en su comunidad con Alarmapp.

20. La primera versión del sistema de seguridad Alarmapp, resulta más económico frente a

otros sistemas de seguridad utilizados actualmente.

Page 100: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

90

7.2 Trabajo a futuro

Como a trabajo a futuro se espera:

1. Implementar la aplicación para dispositivos IOS ya que para este se necesita de unos

certificados de desarrollador y dispositivos Apple.

2. Expandir los tipos de alarmas para poder cubrir más emergencias y así mismo

involucrar a más entidades gubernamentales como por ejemplo: transito, cruz roja,

oficina de desastres, Emcali, entre otras.

3. Aumentar el número de comunidades registradas, para poder ejercer un mayor control

en la seguridad de la ciudad de Cali.

4. Proveer más información en el detalle de la emergencia como por ejemplo: permitir

notas de voz, imágenes, ubicación exacta del usuario que activo la alarma.

5. Enviar por correo electrónico la información de las alarmas de la comuna a la cual está

registrado.

6. Enviar reportes semanales a los usuarios de las estadísticas que genera la aplicación a

partir de la actividad de los mismos.

7. Permitirle al administrador de la comunidad confirmar si la alarma que se activa es un

falso positivo y verificar su veracidad, así mismo calificar el tiempo de respuesta de los

entes gubernamentales implicados.

8. Minificar los archivos y optimizar los recursos para que el Apk sea de menor tamaño.

9. Representar estadísticas semanalmente por orden de hora, para obtener una hora pico

donde se presentan más alarmas en la ciudad.

10. Permitirle al administrador poder desvincular usuarios de su comunidad.

11. Incluir el manejo de cámaras de seguridad en la aplicación.

12. Enviar notas de voz, imágenes y videos en el envío de una alarma.

Page 101: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

91

Referencias

[1]D. Z. D. Landeros, "La evolución tecnológica realizada por y para el hombre," in Business,

GestioPolis - Conocimiento en Negocios, 2014. [Online]. Available:

http://www.gestiopolis.com/la-evolucion-tecnologica-realizada-por-y-para-el-hombre/.

Accessed: Nov. 7, 2016.

[2]"El uso de apps móviles aumentó un 58% durante 2015," in Aplicaciones móviles, PURO

MARKETING. [Online]. Available: http://www.puromarketing.com/96/26113/uso-apps-

moviles-aumento-durante.html. Accessed: Nov. 7, 2016.

[3]"En 2016 habrá dos mil millones de usuarios de smartphones en el mundo," Clases de

Periodismo, 2014. [Online]. Available: http://www.clasesdeperiodismo.com/2014/12/23/en-

2016-habra-dos-mil-millones-de-usuarios-de-smartphones-en-el-mundo/. Accessed: Nov. 8,

2016.

[4]R. E. TIEMPO and C. E. E. Tiempo, "El 70 % del mundo tendrá un dispositivo móvil en el

2020 - Novedades tecnología," EL TIEMPO, 2016. [Online]. Available:

http://www.eltiempo.com/tecnosfera/novedades-tecnologia/crecimiento-del-uso-de-celulares-

en-el-mundo/16500742. Accessed: Nov. 8, 2016.

[5]"Acerca Del MinTIC,” [Online]. Available: http://www.mintic.gov.co/portal/604/w3-

propertyvalue-540.html. Accessed: Nov. 8, 2016.

[6]"Alcaldía de Santiago de Cali," 2016. [Online]. Available:

http://www.cali.gov.co/loader.php?lServicio=FAQ&lFuncion=viewPreguntas&id=76#a397.

Accessed: Nov. 8, 2016.

[7]T. los derechos reservados, "Alarmas Comunitarias," Seguridad Vecinal, 2015. [Online].

Available: http://www.seguridadvecinal.cl/alarmas-comunitarias/. Accessed: Nov. 8, 2016.

Page 102: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

92

[8]"SEGURIDAD Y CONVIVENCIA EN CALI," SEGURIDAD Y CONVIVENCIA EN CALI,

2016. [Online]. Available:

http://media.wix.com/ugd/ba6905_9b95d85d0a4049e88ac3b4c63629cdb0.pdf. Accessed:

Nov. 8, 2016.

[9]C. J. Holguín, Proposiciones No. 08 y 019 de marzo 12 de 2013. Radicado no

2013416100002671. [Online]. Available:

http://www.concejodecali.gov.co/descargar.php?idFile=10145. Accessed: Nov. 8, 2016.

[10]"Población de Cali aumenta anualmente en 25.000 habitantes," 2016. [Online]. Available:

http://www.cali.gov.co/publicaciones/poblacion_de_cali_aumenta_anualmente_en_habitantes

_pub. Accessed: Nov. 8, 2016.

[11]S. User, "SISTEMAS DE ALARMAS COMUNITARIAS," 2015. [Online]. Available:

http://www.seguridadpercol.com/alarmas/sistemas-de-alarmas-comunitarias.html. Accessed:

Nov. 8, 2016.

[12]"Seleccionada idea TIC que busca mejorar la seguridad en Cali,". [Online]. Available:

http://www.mintic.gov.co/portal/604/w3-article-13505.html. Accessed: Nov. 8, 2016.

[13]S. O. García, "Explicando que es front-end y que es back-end," in Desarrollo Web,

FalconMasters, 2014. [Online]. Available: http://www.falconmasters.com/web-design/que-es-

front-end-y-que-es-back-end/. Accessed: Nov. 8, 2016.

[14]E. Duarte, "INICIO," in TECNOLOGÍA DE LA INFORMACIÓN, Información práctica

sobre Redes, Linux, Seguridad y Hacking para profesionales de TI. Capacity Academy, 2013.

[Online]. Available: http://blog.capacityacademy.com/2013/03/16/jquery-que-es-origenes-

ventajas-desventajas/. Accessed: Nov. 8, 2016.

[15]2016, "AngularJS — Superheroic JavaScript MVW framework,” [Online]. Available:

https://angularjs.org/. Accessed: Nov. 8, 2016.

Page 103: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

93

[16]A. Basalo, M. A. Alvarez, and DesarrolloW, "Qué es AngularJS," DesarrolloWeb.com,

2016. [Online]. Available: http://www.desarrolloweb.com/articulos/que-es-angularjs-

descripcion-framework-javascript-conceptos.html. Accessed: Nov. 8, 2016.

[17]I. A. Díaz, "¿Que es frontEnd Y Backend en la programación web?,". [Online]. Available:

http://serprogramador.es/que-es-frontend-y-backend-en-la-programacion-web/. Accessed:

Nov. 8, 2016.

[18] ingeniods, "Patrones Arquitectónicos," Ingenio DS, 2013. [Online]. Available:

https://ingeniods.wordpress.com/2013/09/16/patrones-arquitectonicos/. Accessed: Nov. 8,

2016.

[19]Y. F. Romero and Y. D. González, "Patrón Modelo-Vista-Controlador," Revista

Telem@tica, vol. 11, no. 1, pp. 47–57, 2012. [Online]. Available:

http://revistatelematica.cujae.edu.cu/index.php/tele/article/viewFile/15/10. Accessed: Nov. 8,

2016.

[20]"MVC architecture - Google chrome," Google+Add us on. [Online]. Available:

https://developer.chrome.com/apps/app_frameworks. Accessed: Nov. 8, 2016.

[21] ingeniods, "Arquitectura dirigida por eventos," 2008. [Online]. Available:

https://ingeniods.wordpress.com/tag/arquitectura-dirigida-por-eventos/. Accessed: Nov. 8,

2016.

[22]M. A. Rodríguez, "SOA vs. SOAP y REST," 2016. [Online]. Available:

https://www.adictosaltrabajo.com/tutoriales/soavs-soap-rest/. Accessed: Nov. 8, 2016.

[23]IncArcitura™Education, "The Prentice hall service technology series from Thomas Erl,"

Service Tech Books - The Prentice Hall Service Technology Series from Thomas Erl. [Online].

Available: http://servicetechbooks.com/psd. Accessed: Nov. 8, 2016.

[24]Sesión 1: Introducción al desarrollo de aplicaciones móviles APLICACIONES MÓVILES

NATIVAS. [Online]. Available:

Page 104: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

94

http://moodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/MN/S01/MN01_Visual.pdf. Accessed:

Nov. 8, 2016.

[25]A. Asier, "Desarrollo de aplicaciones móviles multiplataforma," Asier Marqués, 2015.

[Online]. Available: http://asiermarques.com/2015/desarrollo-aplicaciones-multiplataforma/.

Accessed: Nov. 8, 2016.

[26]"Diferencias entre Apps Nativas y Híbridas | next university," in Blog, Next U, 2016.

[Online]. Available: https://www.nextuniversity.com/blog/apps-nativas-vs-apps-hibridas/.

Accessed: Nov. 8, 2016.

[27]"Conoce Android studio,” [Online]. Available:

https://developer.android.com/studio/intro/index.html?hl=es-419. Accessed: Nov. 8, 2016.

[28]A. Inc, "Xcode 8," 2016. [Online]. Available: https://developer.apple.com/xcode/.

Accessed: Nov. 8, 2016.

[29] raona, "¿App nativa, web o híbrida?," 2013. [Online]. Available:

http://www.raona.com/es/Solutions/Template/163/App-nativa-web-o-h%C3%ADbrida-.

Accessed: Nov. 8, 2016.

[30]G. A. libre, "¿Qué es una aplicación web?," 1998. [Online]. Available:

https://www.gcfaprendelibre.org/tecnologia/curso/informatica_basica/aplicaciones_web_y_to

do_acerca_de_la_nube/1.do. Accessed: Nov. 8, 2016.

[31]LanceTalent, "Los 3 tipos de aplicaciones móviles: Ventajas e inconvenientes," in Crea tu

APP, LanceTalent, 2014. [Online]. Available: https://www.lancetalent.com/blog/tipos-de-

aplicaciones-moviles-ventajas-inconvenientes/. Accessed: Nov. 8, 2016.

[32]"¿Sabes qué es Phonegap y Phonegap build?," 2014. [Online]. Available:

https://deideaaapp.org/sabes-que-es-phonegap-y-phonegap-build/. Accessed: Nov. 8, 2016.

[33]Drifty, "Build amazing native Apps and progressive web Apps with ionic framework and

angular," 2013. [Online]. Available: http://ionicframework.com/. Accessed: Nov. 8, 2016.

Page 105: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

95

[34]"Diseño de interfaces de Usuario," 1998. [Online]. Available:

https://www.ecured.cu/Dise%C3%B1o_de_Interfaces_de_Usuario. Accessed: Nov. 8, 2016.

[35]M. gomezsebastian, "Diseño de interfaces de Usuario,". [Online]. Available:

http://www.monografias.com/trabajos10/diusuar/diusuar.shtml. Accessed: Nov. 8, 2016.

[36]V. M. Gómez, "El diseño de la interfaz: Diseño de Páginas web," 2015. [Online].

Available: http://www.lawebera.es/diseno-web/el-diseno-de-la-interfaz.php#. Accessed: Nov.

8, 2016.

[37]C. L. Lapuente, M. J. L. Lapuente, and U. C. de Madrid, "Diseño de una página web,"

Lamarca Lapuente, 1997. [Online]. Available:

http://www.hipertexto.info/documentos/diseg_web.htm. Accessed: Nov. 8, 2016.

[38]A. P. Group, "Tipos de diseños web: Fijo, fluido o líquido, elástico y sensible," in Art

Project Group, Art Project Group, 2012. [Online]. Available: http://artprojectgroup.es/tipos-

de-disenos-web-fijo-fluido-o-liquido-elastico-y-sensible. Accessed: Nov. 8, 2016.

[39]"Diferencias entre el diseño web adaptativo y responsive," in Marketing móvil, PURO

MARKETING. [Online]. Available: http://www.puromarketing.com/21/18837/entre-diseno-

adaptativo-responsive.html. Accessed: Nov. 8, 2016.

[40]"Diseño Web adaptable," 2014. [Online]. Available:

https://developers.google.com/webmasters/mobile-sites/mobile-

seo/configurations/responsive-design?hl=es-419. Accessed: Nov. 8, 2016.

[41]R. Breheny, E. Jung, and M. Zürrer, "Responsive design – harnessing the power of media

queries," Official Google Webmaster Central Blog, 2012. [Online]. Available:

https://webmasters.googleblog.com/2012/04/responsive-design-harnessing-power-of.html.

Accessed: Nov. 8, 2016.

Page 106: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

96

[42]D. Landi, "Capítulo 8: Diseño visual – Diseñando apps para móviles," Diseñando apps para

móviles, 2013. [Online]. Available: http://appdesignbook.com/es/contenidos/diseno-visual-

apps-nativas/. Accessed: Nov. 8, 2016.

[43]L. BJ, "Capítulo 7: Interacción y patrones – Diseñando apps para móviles," Diseñando

apps para móviles, 2013. [Online]. Available:

http://appdesignbook.com/es/contenidos/patrones-interaccion-moviles/. Accessed: Nov. 8,

2016.

[44]J. García, "Qué es el flat design o Diseño Plano," in Diseño y Desarrollo Web,

Departamento de Internet, 2013. [Online]. Available:

http://www.departamentodeinternet.com/que-es-flat-design-diseno-plano/. Accessed: Nov. 8,

2016.

[45]E. Pérez, "¿Qué es material design?," in Artículos de opinión, El Androide Libre, 2014.

[Online]. Available: http://www.elandroidelibre.com/2014/11/que-es-material-design.html.

Accessed: Nov. 8, 2016.

[46]M. M. License, "About - materialize," 2014. [Online]. Available:

http://materializecss.com/about.html. Accessed: Nov. 8, 2016.

[47]S. Grande, "Visualización de datos: 10 potentes herramientas que debes conocer," e-

interactive, 2014. [Online]. Available: http://www.e-interactive.es/blog/visualizacion-de-

datos-10-potentes-herramientas-que-debes-conocer/#axzz3Y0lZKhPk. Accessed: Nov. 24,

2016.

[48] Chart JS. (2017). Chartjs.org. Retrieved 19 April 2017, from http://www.chartjs.org/

[49]"Using Google charts," Google Developers, 2015. [Online]. Available:

https://developers.google.com/chart/interactive/docs/. Accessed: Nov. 8, 2016.

[50]"About - Google maps,” [Online]. Available: https://www.google.com/maps/about/.

Accessed: Nov. 8, 2016.

Page 107: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

97

[51]"Buscar o introducir la latitud y la longitud - Ordenador - Ayuda de Google maps," 2016.

[Online]. Available:

https://support.google.com/maps/answer/18539?hl=es&topic=1687353&ctx=topic&visit_id=

1-636110179010712113-2549717962&rd=1. Accessed: Nov. 8, 2016.

[52]Arduino, "Introduction," 2016. [Online]. Available:

https://www.arduino.cc/en/Guide/Introduction#. Accessed: Nov. 8, 2016.

[53]"Raspberry pi FAQs - frequently asked questions," Raspberry Pi. [Online]. Available:

https://www.raspberrypi.org/help/faqs/#introWhatIs. Accessed: Nov. 8, 2016.

[54] FrontPage - Raspbian. (2017). Raspbian.org. Retrieved 1 May 2017, from

https://www.raspbian.org/FrontPage

[55]T. F. G. ApS, "Que es UX?," 2006. [Online]. Available:

http://www.fatdux.com/es/what/what-is-ux. Accessed: Nov. 8, 2016.

[56]H. Montero, Yusef, M. Fernández, and F. J, "La Experiencia del Usuario," in No Solo

Usabilidad, 2005. [Online]. Available:

http://www.nosolousabilidad.com/articulos/experiencia_del_usuario.htm. Accessed: Nov. 8,

2016.

[57]"Los Elementos de la Experiencia de Usuario,". [Online]. Available:

http://www.jjg.net/elements/translations/elements_es.pdf. Accessed: Nov. 8, 2016.

[58]R. León and Rodrigo, "Diseño de Experiencia de Usuario: Etapas, actividades, técnicas y

herramientas," in No Solo Usabilidad, 2013. [Online]. Available:

http://www.nosolousabilidad.com/articulos/uxd.htm?utm_source=feedly. Accessed: Nov. 8,

2016.

[59]2008 el Webmaster, "Usabilidad y accesibilidad," 2007. [Online]. Available:

http://www.elwebmaster.com/articulos/usabilidad-y-accesibilidad. Accessed: Nov. 8, 2016.

Page 108: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

98

[60]Usabilidad en la web, Principios o reglas de usabilidad. [Online]. Available:

http://di002.edv.uniovi.es/~cueva/asignaturas/doctorado/2004/UsabilidadWeb.pdf. Accessed:

Nov. 8, 2016.

[61]C. Herramientas, "Cuadrantes - Aplicaciones de Android en Google play,". [Online].

Available: https://play.google.com/store/apps/details?id=co.com.ceiba.cuadrantes&hl=es.

Accessed: Nov. 8, 2016.

[62]P. F. Social, "PF Móvil - Aplicaciones Android en Google play,". [Online]. Available:

https://play.google.com/store/apps/details?id=com.denuncia.ciudadana&hl=es_419.

Accessed: Nov. 8, 2016.

[63]"Alerta Motorola - Aplicaciones Android en Google play,". [Online]. Available:

https://play.google.com/store/apps/details?id=com.motorola.bodyguard&hl=es_419.

Accessed: Nov. 8, 2016.

[64]"ECU 911 - Aplicaciones Android en Google play,". [Online]. Available:

https://play.google.com/store/apps/details?id=com.walpana.ecu911&hl=es_419. Accessed:

Nov. 8, 2016.

[65]"Alcaldía de Santiago de Cali," 2016. [Online]. Available:

http://www.cali.gov.co/loader.php?lServicio=FAQ&lFuncion=viewPreguntas&id=76#a397.

Accessed: Nov. 8, 2016.

[66] Contáctenos. (2017). Policía Nacional de Colombia. Retrieved 19 April 2017, from

https://www.policia.gov.co/contactenos

[67] Lineas de Emergencia Calí. (2017). ColombiaVIP.com Su empresa en el mundo. Retrieved

19 April 2017, from http://colombiavip.com/item/lineas-de-emergencia-cali/

[68] Preparación y respuesta en Emergencias y Desastres | Cruz Roja Colombiana. (2017).

Cruzrojacolombiana.org. Retrieved 19 April 2017, from

Page 109: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

99

http://www.cruzrojacolombiana.org/centro-de-informacion/preparaci%C3%B3n-y-respuesta-

en-emergencias-y-desastres

[69] Lineas de emergencia Cali. (2017). Retrieved 19 April 2017, from

http://colombiavip.com/item/lineas-de-emergencia-cali/]

[70] Aldape, A., Aldape, A., & perfil, V. (2017). Filosofía y Psicología del Color.

Temagris.blogspot.com.co. Retrieved 19 April 2017, from

http://temagris.blogspot.com.co/2010/04/un-periplo-que-nos-desconecta-del-mundo.html

[71] Author, G. (2017). Color Psychology In Marketing: The Complete Guide [Free

Download]. CoSchedule Blog. Retrieved 19 April 2017, from

http://coschedule.stfi.re/blog/color-psychology-marketing/?sf=lwjjayg#aa

[72] Download Cabin Font. Impallari Type. (2017). Impallari.com. Retrieved 19 April 2017,

from http://www.impallari.com/cabin

[73] Pohl, K. (1996). Requirements engineering (1st ed.). Aachen: Techn. Hochsch.,

Fachgruppe Informatik.

[74] Programacion orientada a objetos. (2017). Retrieved 19 April 2017, from

http://librosweb.es/libro/python/capitulo_5/programacion_orientada_a_objetos.htm

[75] ORM y capa de extracción. (2017). Retrieved 19 April 2017, from.

[76] Arduino Uno. (2017). Retrieved from

https://upload.wikimedia.org/wikipedia/commons/a/a8/ArduinoUno_R3_Front_450px.jpg

[77] Raspberry Pi. (2017). Retrieved from

https://upload.wikimedia.org/wikipedia/commons/9/90/Front_of_Raspberry_Pi.jpg

[78] Relé 5v. (2017). Retrieved from https://createc3d.com/shop/1244-

thickbox_default/comprar-modulo-rele-5v-compatible-con-arduino-1-canal-precio-oferta.jpg

[79] Sirena 110V. (2017). Retrieved from http://www.calvoselectronica.com/674-856-

large/sirena-110v-negra.jpg.

Page 110: ALARMAPP SISTEMA DE SEGURIDAD PARA LA CIUDAD DE CALI

100

Anexos

1. Encuestas para validación de la problemática.

2. MockUp Alarmapp.

3. Lista de requerimientos.

4. Especificación de requerimientos del sistema (SRS).

5. Diagramas.