DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

79
DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL SEGUIMIENTO Y CONTROL DE FLOTAS DE VEHÍCULOS Modalidad Pasantía Eduardo Saavedra Perafán 201210076 [email protected] Directora EISC Liliana Esther Machuca Villegas, MS.C Universidad del Valle [email protected] Codirector Andrés Felipe Narváez, Ing. Director Ejecutivo [email protected] Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Programa Académico de Ingeniería de Sistemas Cali, septiembre de 2017

Transcript of DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

Page 1: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL SEGUIMIENTO Y CONTROL DE

FLOTAS DE VEHÍCULOS

Modalidad Pasantía

Eduardo Saavedra Perafán

201210076

[email protected]

Directora EISC

Liliana Esther Machuca Villegas, MS.C

Universidad del Valle

[email protected]

Codirector

Andrés Felipe Narváez, Ing.

Director Ejecutivo

[email protected]

Facultad de Ingeniería

Escuela de Ingeniería de Sistemas y Computación

Programa Académico de Ingeniería de Sistemas

Cali, septiembre de 2017

Page 2: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

2

Dedicatoria

Dedico este trabajo de grado a Dios por darme la vida, la salud y la oportunidad de cumplir mi sueño

de pertenecer y formarme como profesional en la Universidad del Valle. A mis padres por apoyarme

en todo momento, por su sacrificio diario, por brindarme siempre su amor y su comprensión.

EDUARDO SAAVEDRA PERAFÁN

Page 3: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

3

AGRADECIMIENTOS

Agradezco a Dios por darme la oportunidad de estar con vida, brindarme una buena salud, por la vida

de mis padres, de mi hermano y por las personas que me apoyaron y me desean siempre lo mejor.

Por darme la fortaleza de no decaer a los obstáculos que se me presentaron durante mi proceso de

formación como Ingeniero de sistemas.

A mis padres por todo el esfuerzo, la confianza y el apoyo incondicional, manteniendo siempre la

esperanza viva de verme como un profesional íntegro.

A mi hermano por darme el ánimo y la compañía en momentos que más lo necesitaba.

A mi directora de proyecto la profesora MS.C. Liliana Esther Machuca Villegas por ser guía y

consejera en el proceso de desarrollo de la pasantía. Por su paciencia, apoyo y experiencia

compartida para que este trabajo de grado culmine con éxito.

Agradezco al director de la empresa codirector del trabajo de grado al Ingeniero Andrés Narváez por

darme la oportunidad de ser parte de su organización y ser un modelo a seguir gracias a su liderazgo,

al director de tecnología Ingeniero Fabio Soto por todos los conocimientos que me aportó, un

Ingeniero que admiro por su gran capacidad de resolver problemas. Agradezco a la directora de

aplicaciones la Ingeniera Leilly Johanna Martínez que en momentos de dificultad en el desarrollo del

proyecto me brindó toda su colaboración, a todos los compañeros de trabajo por hacerme sentir parte

de una familia. Sin todos ustedes miembros de IT Process no sería posible realizar mi trabajo de

grado. Muchas gracias.

A los profesores por impartir su conocimiento, sus experiencias y su amistad. Por esa labor tan

hermosa de educar y brindar herramientas necesarias para que los estudiantes aporten su

conocimiento hacia la construcción de una mejor sociedad.

Agradezco a la Universidad del Valle por darme la oportunidad de ser parte de su comunidad

estudiantil, una universidad que se caracteriza por su alta calidad en la educación.

Page 4: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

4

CONTENIDO

GLOSARIO 9

GLOSARIO ACRÓNIMOS 11

RESUMEN 13

1. INTRODUCCIÓN 14

2. PLANTEAMIENTO DEL PROBLEMA 15

2.1. DESCRIPCIÓN DE LA EMPRESA 15

2.2. PLANTEAMIENTO Y FORMULACIÓN DEL PROYECTO 15

3. JUSTIFICACIÓN DEL PROYECTO 16

3.1. Justificación Económica 16

3.2. Justificación Social 16

3.3. Justificación Académica 16

4. OBJETIVOS DE LA PASANTÍA 17

4.1. Objetivo general 17

4.2. Objetivos específicos 17

5. RESULTADOS OBTENIDOS 19

6. ALCANCES DEL PROYECTO 22

7. MARCO DE REFERENCIA 23

7.1. Antecedentes o estado del arte 23

7.1.1. Tracking Col 23

7.1.2. Tracker GPS 23

7.1.3. Colombia GPS 23

7.2. MARCO TEÓRICO 24

7.2.1. Metodología ágil para la gestión del desarrollo de software 24

7.2.2. Modelo y Notación de Procesos de Negocio 25

7.2.3. Ingeniería de requerimientos 25

7.2.4. Control de calidad de software (Pruebas de caja negra) 26

Page 5: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

5

7.3. CONOCIMIENTO DEL NEGOCIO 26

7.3.1. Rastreo de vehículos 26

7.4. TECNOLOGÍAS Y HERRAMIENTAS QUE SE UTILIZARON EN LA PASANTÍA 27

7.4.1. Framework Django 27

7.4.2. Bootstrap 27

7.4.3. CouchDB 27

7.4.4. Amazon Web Services 28

7.4.5. Node js 28

7.4.6. Sublime text 28

7.4.7. Bizagi Modeler 28

7.4.8. Editor de gráficos vectoriales Inkscape 28

8. DESARROLLO DE LA PASANTÍA 29

8.1. Capacitación 29

8.1.1. Diligenciamiento del formato de cronograma con las actividades desarrolladas por semana 29

8.1.2. Buenas prácticas de levantamiento de información y registro de requerimientos funcionales 30

8.1.3. Modelo de procesos empresariales con BPMN 31

8.1.4. Control de calidad de software adoptado por la empresa 31

8.1.5. Metodología de desarrollo de software ágil adoptada en la empresa (SCRUM) 34

8.2. Descripción general del sistema (FleetBi) 35

8.3. Elaboración de requerimientos funcionales de la aplicación de software 38

8.3.1. Diligenciamiento del formato de levantamiento de información con base en las reuniones

sostenidas con el cliente del proyecto 38

8.3.2. Elaboración de informe con relación a los requerimientos funcionales propuestos por el cliente 39

8.3.3. Documento de requerimientos funcionales 40

8.3.4. Elaboración de documento con casos de uso 43

8.3.5. Diagrama BPMN con el proceso implementado en la aplicación 45

8.4. Diseño gráfico (mockups o boceto inicial) de la interfaz gráfica de usuario web 48

8.5. Implementación de la interfaz gráfica de usuario web 50

8.6. Implementación de la capa lógica de la aplicación de software 55

Page 6: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

6

8.7. Diseño del modelo datos para un gestor de base de datos NoSQL orientado a documentos 59

8.8 Implementación del modelo de datos sobre un gestor de base de datos NoSQL orientado a

documentos. 62

8.9. Ejecución de pruebas de caja negra sobre los componentes de software desarrollados 67

8.10. Despliegue de la herramienta en el ambiente de producción (Infraestructura Amazon) 72

8.11. Participación proyecto BioD S.A 73

9. CONCLUSIONES 74

10. TRABAJO FUTURO 76

11. REFERENCIAS 77

Page 7: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

7

LISTA DE TABLAS

Tabla 1. Resultados obtenidos de la pasantía 21

Tabla 2. Módulos del sistema 37

Tabla 3. Información utilizada en el formato de requerimientos funcionales 41

Tabla 4. Definición de requerimientos utilizando el formato de la empresa 42

Tabla 5. Requerimientos elaborados por módulos 43

Tabla 6. Caso de uso autenticar usuario del módulo cuenta de usuario 45

Tabla 7. Documentos diseñados para el registro de datos 62

Tabla 8. Cantidad de vistas de los documentos del módulo cuenta de usuario 66

Tabla 9. Cantidad de vistas de los documentos del módulo de administración 66

Tabla 10. Cantidad de vistas de los documentos del módulo de vehículos 66

Tabla 11. Cantidad de vistas de los documentos del módulo de vigilancia 67

Tabla 12. Cantidad de vistas de los documentos del módulo de alarmas 67

Tabla 13. Resultados de la primera ejecución de las pruebas de caja negra 72

LISTA DE ILUSTRACIONES

Ilustración 1. Interacción empresa IT Process con sus clientes 26

Ilustración 2. Cronograma de actividades según las tareas definidas 30

Ilustración 3. Formato matriz de requerimientos de prueba 31

Ilustración 4. Formato tabla registro de ejecución 33

Ilustración 5. Formato tabla de análisis registro de ejecución 33

Ilustración 6. Diagrama con la representación de los roles de Scrum en la que el pasante se ubica junto con los

miembros del equipo 34

Ilustración 7. Descripción general del sistema 36

Ilustración 8. BPMN registro de vehículos para comenzar rastreo 47

Ilustración 9. Boceto inicial login de usuario 48

Ilustración 10. Bocetos iniciales de los mapas 48

Page 8: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

8

Ilustración 11. Bocetos iniciales listados de información 49

Ilustración 12. Bocetos iniciales formularios 49

Ilustración 13. Formularios inicio de sesión 50

Ilustración 14. Formularios cambio de datos de usuario y recuperación de contraseña 51

Ilustración 15. Gestión de clientes 51

Ilustración 16. Gestión de usuarios 52

Ilustración 17. Gestión de GPS y asignación de un dispositivo GPS a un vehículo 52

Ilustración 18. Mapa vista general y recorrido de un vehículo 53

Ilustración 19. Detalle de posiciones y paradas recorrido de un vehículo 53

Ilustración 20. Registro de imágenes y audios de un vehículo 53

Ilustración 21. Gestión de conductores 54

Ilustración 22. Gestión de zonas alarmas o geo cercas 54

Ilustración 23. Creación de vigilancia a un vehículo 55

Ilustración 24. Detalle de alarmas y notificación a la plataforma Web 55

Ilustración 25. Arquitectura Multitenant FleetBi 56

Ilustración 26. Petición formato JSON a Web Services 57

Ilustración 27. Resultado petición de ilustración 13 en formato JSON 57

Ilustración 28. Llamado a una vista definida en un gestor de base de datos 58

Ilustración 29. Asociación entre dos documentos 60

Ilustración 30. Documento tipo GPS 63

Ilustración 31. Especificación de vistas en CouchDB 64

Ilustración 32. Función JavaScript vista gpsPorIdVehiculo 64

Ilustración 33. Listado de documentos de la vista gpsPorIdVehiculo 65

Ilustración 34. Listado de un documento por idVehiculo 65

Ilustración 35. Foto del vehículo al que se le realizó la instalación del dispositivo GPS 68

Ilustración 36. Foto cabina del vehículo 69

Ilustración 37. Foto al pasante instalando cámara del dispositivo GPS 69

Ilustración 38. Foto botón de pánico 70

Ilustración 39. Definición de un caso de prueba módulo administración FleetBi 71

Page 9: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

9

GLOSARIO

• Firewall hace parte de un sistema o una red que permite bloquear la comunicación no

autorizada. (Definición ABC, 2017)

• FleetBi corresponde al nombre comercial del producto de software desarrollado en el presente

proyecto.

• Framework para el desarrollo de software se refiere a una estructura conceptual y tecnológica

que es de utilidad en la organización y unión de distintos componentes de un proyecto. (ECURED,

2017)

• Instancia Amazon Es una máquina virtual con capacidades definidas (Memoria RAM,

capacidad de disco duro, procesador, etc.) y que se encuentra alojada en la infraestructura de

Amazon. (amazon company, 2017)

• JavaScript es un lenguaje interpretado que se utiliza principalmente para el desarrollo de

páginas o aplicaciones web, enfocado generalmente en la implementación al lado del cliente

(navegador web). JavaScript permite la construcción de páginas web dinámicas y ser de puente entre

el lenguaje de marcas HTML y las peticiones hacia las funciones de un servidor. (Pérez, 2007)

• Mockup representa el diseño de los componentes de software gráfico que serán desarrollados

en un proyecto. Provee un nivel de detalle amplio de la visualización de los contenidos, dimensiones

e iconos que se utilizarán en las aplicaciones. (Bravo, 2015)

• Multiplataforma término utilizado para referirse al software que puede ser usado en

diferentes plataformas sin importar el tipo de sistema operativo o arquitectura del procesador.

(ECURED, 2017)

• Multi Tenant permite que una aplicación de software se ejecute en una instancia y que

múltiples clientes interactúen con el mismo recurso (capa lógica, servidores y base de datos).

Page 10: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

10

(Whatls.com, 2014)

• Nisabú Es un sistema desarrollado por IT Process que está implementado en un servidor y

que permite el acceso de imágenes desde los Web Services, utilizando una url y añadiendo el tamaño

de la imagen en la petición. (Soto, Desarrollo de Plataforma de Mercadeo, 2015)

• Orientado a documentos se refiere a las bases de datos que almacenan la información en un

objeto determinado y cada objeto almacenado puede ser diferente entre sí. Utilizan una estructura

especial basada en el formato JSON llamada “Documento”. (Revolvy, 2016)

• POST es un tipo de petición HTTP, donde los datos que se envían al servidor están incluidos

en el cuerpo de la petición. (Ardissone, 2011)

• Python es un lenguaje de programación interpretado, la sintaxis de Python hace que el código

sea legible y ordenado. Es multiparadigma, es decir que soporta los distintos paradigmas de

programación como lo son la orientada a objetos, programación funcional entre otros. (Universitat

Jaume , 2010)

• RESPONSIVE es un diseño web que adapta su apariencia a cualquier dispositivo que lo utilice.

• Sistema operativo es un sistema informático que sirve para gestionar los recursos de

hardware, funciona como un medio de interacción entre un usuario y un ordenador.

• Tracking es un término en inglés que se utiliza para referirse al rastreo que se hace a los

vehículos.

• Web Services es una tecnología que utiliza un conjunto de estándares y protocolos para el

intercambio datos entre aplicaciones. (tutorialspoint, 2017)

Page 11: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

11

GLOSARIO ACRÓNIMOS

• API De las siglas en inglés “Application Programming Interface” en español interfaz de

programación de aplicaciones. Son una serie de procedimientos o funciones que se ofrecen para ser

utilizadas por otro software. (Gómez R. G., 2016)

• BPMN De las siglas en inglés “Business Process Modeling Notation”, en español Modelo y

Notación de procesos de Negocio. Es una notación gráfica que ha sido estandarizada para modelar

los procesos de negocio. Su propósito es proporcionar a todos los involucrados e interesados en el

negocio una notación gráfica legible y de fácil entendimiento. (Object Management Group, 2016)

• CSV De las siglas en inglés “comma separated values”, en español valores separados por

comas. Es un formato que sirve para representar los datos en forma tabla, donde las columnas están

separadas por comas. Los archivos de formato CSV pueden ser visualizados con cualquier programa

de hoja de cálculo ya sea Microsoft Excel, Open Office Calc entre otros. (BigCommerce Pty, 2017)

• ERP De las siglas en inglés “Enterprise Resource Planning”, en español Planificación de

Recursos Empresariales. Es un conjunto de sistemas de información que permite la integración de

ciertas operaciones en una empresa, especialmente las que tienen que ver con la producción, la

logística, el inventario, los envíos y la contabilidad. (aner, 2017)

• GIT Software utilizado para el control de versiones del código fuente.

• GPS De las siglas en inglés “Global Positioning System” en español Sistema de

posicionamiento global. Es un sistema de posicionamiento basado en satélites en el que se puede

obtener la localización, la velocidad y altura en cualquier horario y en cualquier punto del planeta

tierra. ( Oficina de Coordinación Nacional de Posicionamiento, Navegación, y Cronometría por

Satélite, s.f.)

• JSON De las siglas en inglés “JavaScript Object Notation” es un formato que permite el

intercambio de datos entre distintas tecnologías y puede ser leído por cualquier lenguaje de

Page 12: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

12

programación. (MOZILLA DEVELOPER NETWORK, 2017)

• SMS De las siglas en inglés “Short Message Service” en español servicio de mensajes cortos

o servicio de mensajes simples que son transmitidos entre teléfonos móviles. (gsmspain, 2016)

• SSH De las siglas en inglés “Secure SHell”, en español intérprete de órdenes seguro. Es un

protocolo que sirve para acceder a máquinas remotas a través de la red. (Leopoldo, 2006)

• URL De las siglas en inglés “Uniform Resource Locator”, en español localizador uniforme de

recursos. Es una secuencia de caracteres que permite acceder a un recurso en internet. (Informática

Hoy, 2017)

Page 13: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

13

RESUMEN

En este documento se presenta el desarrollo del trabajo de grado modalidad pasantía en la empresa

IT Process. La pasantía consistió en el desarrollo de un sistema de información para el seguimiento y

control de flotas de vehículos. Este sistema de información está orientado a empresas que ofrecen el

servicio de transporte de carga, se compone de una aplicación web que permite administrar la

información, consultar el rastreo de los vehículos y hacer configuraciones que permiten hacer un

control a las flotas de los clientes.

Además, se presenta el resultado de la capacitación que el pasante recibió por parte de la empresa,

metodología de trabajo y las tecnologías utilizadas para el diseño y la implementación del sistema de

información.

Page 14: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

14

1. INTRODUCCIÓN

Los sistemas de información computarizados enfocados en el monitoreo y seguimiento a flotas de

vehículos permiten determinar la ubicación exacta de sus vehículos con el fin de hacer un rastreo de

sus activos y de la carga, reportando, registrando y haciendo un seguimiento en tiempo real a cada

uno de los vehículos de la flota. La recopilación de información permite a las empresas

transportadoras emprender acciones legales contra la delincuencia y es ayuda a la toma de

decisiones frente a futuros actos que se presenten contra sus activos.

La pasantía consistió en el desarrollo de un sistema de información que permite hacer un seguimiento

y control a las flotas de vehículos, registrando audio, imágenes, geo posición e información relativa al

desplazamiento de los vehículos. De esta manera, las áreas administrativas de una empresa

transportadora contarán con más información actualizada en tiempo real para la toma de decisiones.

La modalidad de pasantía permitió al estudiante adquirir experiencia en competencias laborales y

personales ya que la empresa brindó la oportunidad de participar en prácticas organizativas y

gerenciales, además del espacio para poder expresarse a través de las reuniones semanales en las

que se define el cronograma de actividades, la asignación de responsables y la revisión de

incidencias que surgen a lo largo de la semana.

El presente documento describe de forma general el contexto de la empresa IT Process S.A.S, el

planteamiento del problema donde se identifican las necesidades, la justificación para la solución de

las necesidades que se identifican, los objetivos que se plantearon para la solución del problema, el

alcance del proyecto, los resultados obtenidos con respecto al desarrollo del proyecto, el trabajo

futuro y las conclusiones.

Page 15: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

15

2. PLANTEAMIENTO DEL PROBLEMA

2.1. DESCRIPCIÓN DE LA EMPRESA

Para el anteproyecto se presentó a la empresa con el nombre de IR ENGINES S.A.S, durante el

desarrollo de la pasantía la empresa hizo una reforma en su imagen corporativa, además realizó la

gestión en la cámara de comercio para hacer el cambio de nombre a IT Process S.A.S manteniendo

su código de registro.

La empresa se dedica al desarrollo de proyectos de software a medida y ofrece servicios bajo la

figura de software como servicio. Bajo esta modalidad, la empresa cuenta con dos unidades de

negocio: Una de ellas, representa una solución para mercadeo de productos y servicios de comercios

minoristas y la segunda unidad ofrece un servicio para la gestión de información para bibliotecas

universitarias.

2.2. PLANTEAMIENTO Y FORMULACIÓN DEL PROYECTO

Con base a una investigación que ha sido adelantada por la empresa IT Process, se identificó la

necesidad de ofrecer una alternativa de servicio para el control y seguimiento de flotas de vehículos,

por lo que la empresa gestionó un acercamiento hacia las transportadoras de carga pesada. A partir

de esa gestión se establecieron acuerdos y se dio inicio al proyecto.

Para las empresas transportadoras es de gran importancia obtener material probatorio cuando se

presentan hechos criminales hacia sus flotas, realizar un seguimiento y registro del recorrido de los

vehículos en tiempo real y monitorear las alertas de peligro cuando un conductor se encuentre en una

situación de riesgo.

Es por esto que IT Process decidió desarrollar un sistema de información que permita hacer un

seguimiento y control a las flotas de vehículos, ofrecer a sus clientes las herramientas necesarias

para hacer un monitoreo de sus flotas, recopilar información que permita emprender acciones legales

contra la delincuencia y ser de ayuda para la oportuna toma de decisiones por parte de sus clientes.

Page 16: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

16

3. JUSTIFICACIÓN DEL PROYECTO

3.1. Justificación Económica

El nuevo sistema de información permitirá ofrecer una alternativa de servicio a las empresas que

requieran hacer un control y monitoreo a sus flotas de vehículos, centralizando la información para

que sea accedida en cualquier momento, permitiendo obtener la ubicación actual de cada vehículo de

la flota con el fin de hacer un seguimiento y control a cada uno. Además, se registran imágenes y

audios con una oferta de precios favorables para el cliente, que servirán como material probatorio si

se presentan actos criminales contra la carga y sus vehículos, también permitirá a los clientes tomar

medidas para la protección de sus bienes en futuros actos delincuenciales.

3.2. Justificación Social

Con el sistema de información los conductores se sentirán más protegidos frente a hechos de peligro

que puedan ocurrir mientras desarrollan su labor de transporte, ya que el vehículo estará monitoreado

en cada momento y se le ofrecerá un medio de comunicación directa con el sistema para ser

rastreado en tiempo real y así ser ubicado con facilidad. Es de gran importancia para el cliente

proteger la integridad de sus empleados ya que ellos conforman el recurso más valioso para la

empresa.

3.3. Justificación Académica

La Universidad del Valle ha fomentado la adquisición de conocimientos de desarrollo de software a

sus estudiantes de ingeniería de sistemas desde sus primeros semestres, por lo cual es importante

para el estudiante poner en práctica estos conocimientos, enfrentando problemas del mercado actual

y participar en las etapas de análisis, diseño, desarrollo y pruebas de las soluciones planteadas.

Page 17: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

17

4. OBJETIVOS DE LA PASANTÍA

4.1. Objetivo general

Desarrollar un sistema de información para el seguimiento y control de flotas de vehículos.

4.2. Objetivos específicos

● Objetivo 1

Recibir capacitación sobre las buenas prácticas de coordinación y gestión de cronogramas

que la empresa aplica a los proyectos de desarrollo de software, las buenas prácticas de

levantamiento de información y registro de requerimientos funcionales, modelado de procesos

empresariales con BPMN, control de calidad de software y sobre la metodología de desarrollo

de software ágil adoptada en la empresa (SCRUM).

● Objetivo 2

Elaborar los requerimientos funcionales de la aplicación de software.

● Objetivo 3

Realizar el diseño gráfico (mockups o boceto inicial) de la interfaz gráfica de usuario web.

● Objetivo 4

Implementar la interfaz gráfica de usuario web.

● Objetivo 5

Implementar la capa lógica de la aplicación de software.

Page 18: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

18

● Objetivo 6

Diseñar el modelo datos para un gestor de base de datos NoSQL orientado a documentos.

● Objetivo 7

Implementar el modelo de datos sobre un gestor de bases de datos NoSQL orientado a

documentos.

● Objetivo 8

Ejecutar pruebas de caja negra sobre los componentes de software desarrollados.

● Objetivo 9

Realizar el despliegue de la herramienta de software en el ambiente de producción

(Infraestructura Amazon).

Page 19: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

19

5. RESULTADOS OBTENIDOS

Objetivos específicos Resultados esperados Evidencia de cumplimiento

Objetivo 1. Recibir capacitación

sobre las buenas prácticas de

coordinación y gestión de

cronogramas que la empresa aplica

a los proyectos de desarrollo de

software, las buenas prácticas de

levantamiento de información y

registro de requerimientos

funcionales, modelado de procesos

empresariales con BPMN, control

de calidad de software adoptado

por la empresa y sobre la

metodología de desarrollo de

software ágil adoptada en la

empresa (SCRUM).

1. Diligenciamiento del

formato de

cronograma con las

actividades

desarrolladas por

semana.

2. Elaboración de

formatos para registro

de resultados de

pruebas de caja

negra.

3. Diagrama con la

representación de los

roles de SCRUM en

la que el pasante se

ubica junto con los

miembros del equipo.

1. Sección 8.1.1

DESARROLLO DE LA

PASANTÍA

2. Sección 8.1.4

DESARROLLO DE LA

PASANTÍA

3. Sección 8.1.5

DESARROLLO DE LA

PASANTÍA

Objetivo 2. Elaborar los

requerimientos funcionales de la

aplicación de software.

1. Diligenciamiento del

formato de

levantamiento de

información con base

en las reuniones

sostenidas con el

cliente del proyecto.

2. Elaboración de

1. Sección 8.3.1

DESARROLLO DE LA

PASANTÍA

2. Sección 8.3.2

DESARROLLO DE LA

PASANTÍA

Page 20: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

20

informe con relación a

los requerimientos

funcionales

propuestos por el

cliente.

3. Documento de

requerimientos

funcionales.

4. Elaboración de

documento con casos

de uso.

5. Diagrama BPMN con

el proceso

implementado en la

aplicación.

3. Sección 8.3.3

DESARROLLO DE LA

PASANTÍA

4. Sección 8.3.4

DESARROLLO DE LA

PASANTÍA

5. Sección 8.3.5

DESARROLLO DE LA

PASANTÍA

Objetivo 3. Realizar el diseño

gráfico (mockups o boceto inicial)

de la interfaz gráfica de usuario

web.

1. Diseño gráfico de las

interfaces de usuario

de la aplicación.

1. Sección 8.4

DESARROLLO DE LA

PASANTÍA

Objetivo 4. Implementar la interfaz

gráfica de usuario web.

1. Componentes de

software que

implementan la

interfaz gráfica de

usuario.

1. Sección 8.5

DESARROLLO DE LA

PASANTÍA

Objetivo 5. Implementar la capa

lógica de la aplicación de software.

1. Componentes de

software que

implementan la capa

lógica de la

1. Sección 8.6

DESARROLLO DE LA

PASANTÍA

Page 21: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

21

aplicación.

Objetivo 6. Diseñar el modelo de

datos para un gestor de base de

datos NoSQL orientado a

documentos.

1. Diagrama que

representa el modelo

de datos no relacional

orientado a

documentos.

1. Sección 8.7

DESARROLLO DE LA

PASANTÍA

Objetivo 7. Implementar el modelo

de datos sobre un gestor de base

de datos NoSQL orientado a

documentos.

1. Componentes de

software que

implementan el

modelo de base de

datos.

1. Sección 8.8

DESARROLLO DE LA

PASANTÍA

Objetivo 8. Ejecutar pruebas de

caja negra sobre los componentes

de software desarrollados.

1. Documento con el

resultado de las

pruebas de caja

negra ejecutadas

sobre los

componentes de

software

desarrollados.

1. Sección 8.9

DESARROLLO DE LA

PASANTÍA

Objetivo 9. Realizar el despliegue

de la herramienta de software en el

ambiente de producción

(Infraestructura Amazon).

1. Aplicación accesible

desde la web sobre

una instancia de

Amazon.

1. Sección 8.10

DESARROLLO DE LA

PASANTÍA

Tabla 1. Resultados obtenidos de la pasantía

Page 22: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

22

6. ALCANCES DEL PROYECTO

El alcance del trabajo de grado modalidad pasantía incluye la especificación de requerimientos

funcionales con base a las reuniones realizadas con el cliente del proyecto, elaboración de casos de

uso, diagrama BPMN que representa el proceso implementado en la aplicación, definición e

implementación del modelo de datos en una base de datos orientado a documentos, desarrollo de

componentes de software usando el estándar de codificación que emplea la empresa IT Process

S.A.S, ejecución de pruebas de caja negra de los componentes desarrollados y el despliegue de la

herramienta de software en el ambiente de producción infraestructura Amazon.

La empresa IT Process S.AS no hará entrega de la documentación realizada en la pasantía, ni de

copias de los diseños y código fuente de los módulos de software implementados a la Universidad del

Valle.

Lo que no se menciona en la sección 4 objetivos de la pasantía, no hacen parte del alcance del

trabajo de grado en modalidad pasantía.

Page 23: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

23

7. MARCO DE REFERENCIA

7.1. Antecedentes o estado del arte

Existen distintas empresas que ofrecen el servicio para el seguimiento de flotas de vehículos, cada

uno de ellos con distintas características y posibilidades para el cliente. A continuación, se describen

algunas de ellas.

7.1.1. Tracking Col

Una de las unidades de negocio que maneja esta empresa es el de la gestión y seguimiento de flotas,

que consiste en conocer la ubicación y recorridos realizados, provee el control de periféricos (Si una

puerta está abierta o no, si se encuentra encendido o apagado, control de velocidad, consumo de

combustible). Toda la información se registra en un servidor central donde se puede consultar desde

un computador la ubicación de la flota y los reportes generados. (Trackingcol, 2016)

7.1.2. Tracker GPS

Esta empresa ofrece el servicio llamado Fleet Tracker Gps que consta del gerenciamiento y

localización de vehículos a través de internet, utilizando la tecnología de localización satelital. Otro

servicio es el de la visualización en tiempo real de las flotas de vehículos, utilizando mapas

digitalizados y la notificación por medio de mensajes de texto y correo electrónico cada vez que un

vehículo sale o ingresa a una zona geográfica predeterminada y cuando exceda los límites de

velocidad. (Tracker GPS, 2012)

7.1.3. Colombia GPS

Colombia GPS posee el servicio de rastreo satelital, para que el cliente monitoree los vehículos

directamente, ya sea desde un computador o un dispositivo móvil con acceso a internet. Registra el

histórico de recorridos y los tiempos de las paradas. Se incorpora a los vehículos el sistema de un

botón de pánico que al ser accionado envía una alerta por mensaje de texto y la notificación a su

sistema. Estas alertas también se envían al momento de ingresar o salir de una geo cerca (área

Page 24: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

24

definida por un administrador de sistema). (Colombia GPS, 2016)

Para la empresa IT Process S.A.S es fundamental ingresar a este tipo de mercado debido a que

encuentra una oportunidad de negocio importante para ofrecer su servicio y una alternativa para el

rastreo de flotas de vehículos. Gracias a la tecnología basada en cloud computing, la arquitectura

multitenant con la que fue diseñada y la posibilidad que ofrece la plataforma para ser personalizada

acorde a las necesidades del cliente, puede ofrecer un precio más favorable y tiempos de entrada en

producción más reducidos.

El servicio de FleetBi presenta las siguientes características:

• Realiza un seguimiento y control en tiempo real a cada uno de los vehículos y conductores,

capturando audio e imagen de acuerdo a parámetros definidos por un usuario.

• Identifica de manera automática las paradas realizadas por un vehículo.

• Permite la integración con sistemas de software externos ya sea un ERP u otras soluciones.

• Es una solución alojada en la nube, de esta manera los clientes no requieren de recursos de

hardware para su funcionamiento ni asignar la administración de la infraestructura a su

departamento de tecnologías informáticas.

• Las actualizaciones de FleetBi son gratuitas. Los clientes siempre contarán con la última

actualización disponible de la plataforma.

7.2. MARCO TEÓRICO

7.2.1. Metodología ágil para la gestión del desarrollo de software

La empresa IT Process S.A.S utiliza la metodología Scrum para el desarrollo de sus proyectos de

software, siendo esta una metodología ágil y flexible caracterizada por definir un conjunto de buenas

prácticas, en el que se asignan una serie de roles que permiten el trabajo colaborativo para así

obtener un mejor resultado en la producción de un proyecto.

La metodología define los siguientes roles: el Product Owner es el responsable de una constante

comunicación de la visión y las prioridades hacia el equipo de desarrollo, buscado que el equipo

trabaje de forma adecuada para el cumplimiento de los objetivos del proyecto; el Scrum Master es el

Page 25: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

25

encargado de eliminar los obstáculos que se puedan presentar durante el desarrollo del proyecto y

hacer que las reglas se cumplan para así alcanzar los objetivos; el Development Team es el equipo

de desarrollo responsable que debe auto organizarse y así poder completar el trabajo. (James, 2015)

Uno de los conceptos principales de la metodología Scrum es el Sprint, el cual hace referencia a un

período de tiempo de un mes o menos donde el trabajo realizado en ese tiempo es un incremento de

software potencialmente entregable. Un nuevo Sprint comienza inmediatamente después de concluir

un Sprint anterior. Cada Sprint debe estar definido bajo ciertos requisitos como el Product Backlog

que es una lista ordenada que compone lo necesario para el desarrollo del producto; en esta lista se

definen todos los requisitos, funcionalidades deseables entre otros. El Product Backlog es dinámico y

está en constante cambio para que el producto final sea adecuado con respecto a los objetivos que

se plantearon al inicio del proyecto. Otro concepto importante es el Sprint Planning que es una

reunión donde se hace un trabajo colaborativo para determinar qué elementos se entregan durante

cada Sprint. (James, 2015)

7.2.2. Modelo y Notación de Procesos de Negocio

BPMN de las siglas en inglés “Business Process Model and Notation” es un es un estándar utilizado

para el modelamiento de los procesos de negocio. Sirve como herramienta, con el fin de mostrar de

una forma más clara los procesos de negocio a partir de una notación gráfica.

Esta notación facilita la comprensión de los participantes del negocio como son los gerentes,

analistas, arquitectos, diseñadores y desarrolladores. (Object Management Group, 2016)

7.2.3. Ingeniería de requerimientos

La ingeniería de requerimientos es el proceso por el cual se recopila, analiza y verifica las

necesidades que plantea el cliente o usuario, permitiendo estructurar de forma adecuada un proyecto,

también sirve como herramienta para definir cronogramas y predecir resultados, disminuyendo los

costos y retrasos, ya que se pueden corregir algún tipo de error debido a un mal desarrollo que no se

haya descubierto de forma oportuna, mejorando la calidad del software, la comunicación entre los

clientes y desarrolladores para evitar el rechazo de los usuarios finales. (Chaves, 2005)

Page 26: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

26

7.2.4. Control de calidad de software (Pruebas de caja negra)

Las pruebas de caja negra manejan una visión externa del producto de software y no del código

fuente, estas se encargan de evaluar los distintos valores de entrada del software y sus

correspondientes valores de salida enfocándose en la funcionalidad. (Yague, 2009)

7.3. CONOCIMIENTO DEL NEGOCIO

7.3.1. Rastreo de vehículos

El rastreo de vehículos permite el suministro de información para la localización de un vehículo y así

conocer su ubicación actual, con el fin de hacer un monitoreo y conocer las rutas en las que transita,

las zonas peligrosas a las que ingresa, registrando detalladamente cada recorrido.

La empresa IT Process desea proveer un servicio enfocado al rastreo de vehículos con el fin de

presentar una nueva alternativa al mercado y aprovechar oportunidades de negocio que se están

presentando actualmente y proyectando hacia el futuro.

Ilustración 1. Interacción empresa IT Process con sus clientes

En la ilustración 1 muestra que la empresa IT Process provee un servicio por medio de un sistema

de información a sus clientes para el seguimiento y control de flotas de vehículos. Cada cliente le

pertenece una serie de flotas de vehículos que registrarán datos de sus recorridos al sistema de

Page 27: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

27

información para que se pueda visualizar detalladamente y obtener las imágenes y audios que se han

almacenado, con el fin de que los clientes puedan tomar decisiones oportunas de acuerdo a los

eventos que se están presentando con cada uno de sus vehículos.

7.4. TECNOLOGÍAS Y HERRAMIENTAS QUE SE UTILIZARON EN LA PASANTÍA

7.4.1. Framework Django

Este Framework promueve el desarrollo ágil de productos de software, donde se puede construir en

cuestión de días y a partir del conocimiento que se va adquiriendo durante los distintos desarrollos se

puede reducir el trabajo que se hacía en días en prácticamente horas, ya que impulsa el desarrollo de

código limpio permitiendo hacer un trabajo de forma ordenada. (Ayala, 2012)

La empresa IT Process S.A.S no utiliza de manera completa la estructura del framework Django, sino

que adapta bondades de este framework y lo acopla con una estructura propia que ha sido diseñada

e implementada por la empresa.

7.4.2. Bootstrap

Es un framework diseñado para simplificar el proceso de creación de diseños web. Bootstrap fue

lanzado por un grupo de diseñadores de Twitter, para maquetar y diseñar proyectos, el cual brinda

una base o plantilla pre-codificada de HTML y CSS para armar el diseño de una página web o una

aplicación web, facilitando la creación de diseños RESPONSIVE y al ser ofrecido como un recurso de

código abierto es fácil de personalizar y adaptar a múltiples propósitos. (Mutaciones concept hacking

lab, 2012)

7.4.3. CouchDB

CouchDB es una base de datos orientada a documentos donde se consulta los registros utilizando el

lenguaje JavaScript. (EcuRed, 2016)

La ventaja del uso de CouchDB es que brinda una mayor facilidad al momento de agregar o quitar

campos, por lo que un modelo creado para un proyecto se puede adaptar mejor a otros modelos.

Page 28: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

28

7.4.4. Amazon Web Services

Amazon Web Services es un conjunto de servicios que incluye el almacenamiento en base de datos,

entrega de contenidos y funcionalidades adicionales, permitiendo crear aplicaciones sofisticadas,

flexibles, escalables y fiables. (amazon company, 2017)

7.4.5. Node js

Es un entorno de ejecución de JavaScript dirigida por eventos, que estructura y determina la

ejecución de los programas de acuerdo a los eventos o sucesos que ocurran en el sistema, ya sea

por la definición de un usuario o por lo que los mismos eventos provoquen. (Node Js, 2017)

7.4.6. Sublime text

Sublime text es un editor de texto para código que permite la ejecución de varias tareas de forma

rápida y sencilla. Este editor soporta una gran variedad de lenguajes de programación tales como C,

C#, C++, Python, JAVA, Ruby, php entre otros. Además, dispone de un sistema de instalación de

paquetes adicionales, brindando al usuario la posibilidad de disfrutar de una amplia gama de

características y proveer una experiencia de trabajo ágil y productiva. (Sublime Text, 2017)

7.4.7. Bizagi Modeler

Es un modelador de procesos de negocio que incorpora los estándares del BPMN, provee

herramientas de diseño “arrastrar y soltar” que facilita y agiliza la construcción de los modelos.

Proporciona una función que valida si la notación gráfica fue diseñada correctamente y permite

exportar los diseños en formato PDF, Word, páginas web, SharePoint o Wiki. (Bizagi Corp, 2017)

7.4.8. Editor de gráficos vectoriales Inkscape

Es una herramienta utilizada para editar gráficos vectoriales. El propósito de editar gráficos

vectoriales es el de poder ampliar o reducir una imagen sin perder su calidad, dado que estas

imágenes están formadas por objetos geométricos que tienen definidos una serie de atributos

matemáticos. (INKSCAPE Draw Freely, 2017)

Page 29: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

29

8. DESARROLLO DE LA PASANTÍA

El desarrollo de la pasantía se encuentra dividido en secciones que representan cada uno de los

objetivos planteados en el proyecto. En cada sección se describe detalladamente el desarrollo del

objetivo y los resultados obtenidos.

8.1. Capacitación

La capacitación consistió en la transferencia de conocimiento por parte de la empresa IT Process

S.A.S al pasante. Este conocimiento involucra el diligenciamiento del formato de cronogramas de las

actividades que se desarrollan cada semana, las buenas prácticas de levantamiento de información y

registro de requerimientos funcionales, el modelo de procesos empresariales BPMN, el control de

calidad de software adoptado por la empresa y la metodología de desarrollo de software ágil

adoptada en la empresa (SCRUM).

8.1.1. Diligenciamiento del formato de cronograma con las actividades desarrolladas por semana

Los cronogramas en la empresa se construyen todas las semanas, en este se registra el tiempo que

se dedica a cada una de las funciones que se trabajarán y se entregarán en la semana siguiente.

Para la construcción del cronograma se hace una reunión con todos los integrantes del equipo, cada

integrante tiene asignado uno o varios proyectos. Para la definición de tareas se hace una

comunicación constante con todos los miembros del equipo y se definen prioridades, necesidades y

tiempos estimados para la culminación de las tareas. Estos tiempos estimados se generan a partir de

la experiencia del desarrollador por lo que el pasante fue asesorado en la parte inicial de la pasantía

para establecer un tiempo de acuerdo a la experiencia de sus compañeros.

A partir del listado de tareas que se establecen para cada uno de los proyectos se definen las tareas

correspondientes a realizar en la siguiente semana según su importancia. Existen tareas que no se

alcanzan a agendar por lo que quedan registradas para establecer su importancia de desarrollo en la

siguiente reunión de gestión de cronogramas.

Page 30: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

30

En la ilustración 2 se visualiza el cronograma de una semana según las tareas a entregar y el tiempo

establecido en la reunión con el equipo de trabajo.

Ilustración 2. Cronograma de actividades según las tareas definidas

8.1.2. Buenas prácticas de levantamiento de información y registro de requerimientos funcionales

El director de la empresa compartió las experiencias sobre el levantamiento y especificación de

información y transmitió una serie de pautas al pasante, para que las reuniones que se realicen con

los clientes sean exitosas.

Informarse y apropiarse con anterioridad de los conceptos principales sobre el proceso de negocio del

cliente es de gran importancia, debido a que ayuda al entrevistador entender con mayor claridad la

problemática que se presenta y proponer ideas que lleven a la mejor solución del problema.

El ingeniero que se encarga de hacer el levantamiento de información debe convertirse en un guía

para el cliente dado que la gran mayoría de clientes tienen una idea equivocada de lo que necesitan.

Por lo cual el ingeniero debe aclarar dudas con respecto a las tecnologías, proponer soluciones y ser

un acompañante en todo el proceso de definición de requerimientos.

El director de la empresa presentó un formato de levantamiento de información al pasante que es de

gran utilidad cuando se realiza la primera reunión. Este formato sirve de ayuda para definir el

Page 31: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

31

propósito general de la herramienta de software, definir los usuarios que utilizarán el sistema,

requerimientos generales, reportes y el uso de diagramas o formatos específicos que utiliza el cliente

en sus procesos de negocio.

8.1.3. Modelo de procesos empresariales con BPMN

La capacitación del BPMN consistió en el diseño de un modelo para un sistema de información que

permita llevar un registro, control y seguimiento a los proyectos de software que realiza la empresa.

En esta capacitación se le expuso al pasante los componentes BPMN que se utilizan para diseñar la

notación gráfica. En el ejercicio de diseño se realizó una reunión con el equipo de ingeniería en

compañía del director de la empresa, donde cada miembro del equipo incluido el pasante, aportó sus

ideas y se desarrolló un diagrama BPMN que cumpliera con el modelo del proceso de negocio del

sistema de información para la gestión de proyectos de la empresa.

8.1.4. Control de calidad de software adoptado por la empresa

Según la capacitación recibida por la empresa en el tema de control de calidad de software, se le

presentó al pasante el esquema de diseño de pruebas, donde se utiliza la matriz de requerimientos

de pruebas. Esta matriz consiste en definir casos de prueba según los requerimientos especificados

al proyecto:

La ilustración 3 muestra el formato elaborado para registrar los casos de prueba de los

requerimientos, utilizando la matriz de requerimientos de prueba.

Ilustración 3. Formato matriz de requerimientos de prueba

El formato de la matriz de requerimientos de prueba contiene los siguientes elementos:

Proceso o funcionalidad: Nombre general que describe el requerimiento. Ejemplo: Recuperar

Page 32: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

32

Contraseña.

ID del Req: Especifica el identificador del requerimiento que se estableció en el documento de

requerimientos funcionales.

Descripción Requerimientos de Prueba: A partir de la especificación de un requerimiento funcional

se describen una serie de pasos que llevan al cumplimiento del requerimiento.

Elementos a probar: Nombre del elemento o componente de software que se desea probar en el

caso de prueba. Ejemplo: Ingresar al formulario crear GPS.

Resultados Esperados: Definición del comportamiento y estados con el cual el sistema debe

responder según lo definido en la descripción del caso de prueba.

Tipo prueba: El caso de prueba puede ser de tipo positiva o negativa. Un caso de prueba positiva es

una prueba definida con unos parámetros diseñados para seguir el flujo normal del sistema sin

realizar ninguno de los casos de excepción. Un caso de prueba negativa es un caso diseñado para

que siga algunos de los casos de excepción definidos en el requerimiento, como por ejemplo el de

indicar un error en inicio de sesión cuando se ingresa un nombre de usuario y contraseña incorrectos.

Observaciones: Descripción de observaciones que se presentaron durante la ejecución del caso de

prueba.

Luego de definir los casos de prueba se ejecuta cada uno de los casos en n etapas (I, II, III, … n) con

el fin de evaluar si se presenta una no conformidad. Una no conformidad se refiere a que el caso de

prueba definido no entregó los resultados esperados luego de su ejecución.

Las n etapas se ejecutan hasta que el registro de la etapa anterior entrega como resultado ok en

todas las evaluaciones de los casos de prueba definidos. Esto es con el fin de que la última etapa

ejecutada también entregue como resultado ok, si se presenta una no conformidad en la última etapa

se sigue realizando nuevas etapas de ejecución hasta que se cumpla con la condición anteriormente

definida.

La tabla de registro de ejecución se diligencia con lo siguiente:

Page 33: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

33

Ok: La ejecución del caso de prueba se realizó con éxito. No presentó no conformidades

NOK: El caso de prueba presentó alguna no conformidad de software.

PDTE: El caso de prueba está pendiente para su ejecución.

N/A: Se presenta en el momento en que un requerimiento ya no aplica a una funcionalidad que se

desea probar.

A continuación, en la ilustración 4 se presenta el diseño de la tabla de registro de ejecución.

Ilustración 4. Formato tabla registro de ejecución

Luego de ejecutar todos los casos de prueba definidos y de establecer sus resultados en la tabla de

registro de ejecución, el paso siguiente diligenciar la tabla de análisis de resultados registro de

ejecución. Ver ilustración 5.

Ilustración 5. Formato tabla de análisis registro de ejecución

Page 34: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

34

8.1.5. Metodología de desarrollo de software ágil adoptada en la empresa (SCRUM)

La metodología de desarrollo de software ágil permite aumentar la eficiencia de la producción en un

proyecto, debido a que ofrece una estructura de trabajo y un enfoque para tomar las mejores

decisiones en los proyectos de software.

En la ilustración 6 se muestra una representación de los roles de Scrum en el que el pasante se

ubica junto con los miembros del equipo.

Ilustración 6. Diagrama con la representación de los roles de Scrum en la que el pasante se

ubica junto con los miembros del equipo

Para la empresa IT Process S.A.S el Product owner (director de la empresa Ing. Andrés Narváez) es

el responsable de definir los objetivos del proyecto, encargado de especificar los requerimientos con

el cliente, establecer un calendario de entregas, con autoridad para tomar decisiones y aclarar dudas

con respecto a los requisitos especificados.

El SCRUM MASTER (director de tecnología Ing. Fabio Soto) es el encargado de tener una

comunicación directa con el Product Owner y el equipo de desarrollo, transmite ideas o inquietudes al

Product Owner.

El product Backlog es una lista de requisitos que el product owner ha diligenciado junto al cliente,

priorizados según la importancia para el desarrollo del proyecto.

El product Backlog se divide en varios Sprints. Estos Sprints son iteraciones cortas para el

cumplimiento de requerimientos donde se espera un avance y resultados para ser entregados, cada

iteración se le define una fecha de inicio y una fecha final.

Page 35: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

35

El rol del pasante según la metodología SCRUM se encuentra en el área de desarrollo o de

producción (ubicado en la ilustración 6 como desarrollador 3), encargado de diseñar y desarrollar

componentes de software teniendo una comunicación directa con los demás miembros del equipo del

área de desarrollo y el SCRUM MASTER.

Para efectos de la pasantía el pasante tuvo la oportunidad de comunicarse con el Product owner y el

cliente con el fin de poder elaborar los requerimientos funcionales de la aplicación de software.

8.2. Descripción general del sistema (FleetBi)

FleetBi es un sistema de información para el control y seguimiento de flotas de vehículos. Permite al

usuario conocer en tiempo real la ubicación de sus vehículos, rutas recorridas, paradas y configurar

de manera manual zonas de peligro (geocercas) o vigilancias personalizadas a los vehículos. Cuando

el sistema de información detecta el ingreso de un vehículo a una geocerca o que un conductor ha

activado el botón de pánico, el sistema generará una alerta y notificará a la plataforma web, además

enviará un correo electrónico a un usuario, generará una llamada y enviará un mensaje de texto a un

teléfono móvil registrado en el sistema.

En el caso de la vigilancia personalizada FleetBi llevará un registro de los eventos de un vehículo de

acuerdo a parámetros que define el usuario en la plataforma.

En la ilustración 7 se observa que FleetBi captura imágenes y graba audio (a la cabina del vehículo).

Estos eventos ocurren cuando un usuario hace una petición directa desde la plataforma web o

dependiendo de las configuraciones que provee al momento de definir una vigilancia (Ingreso a zonas

de peligro o vigilancia personalizada a un vehículo). Pero en el caso de que un conductor active el

botón de pánico el sistema de información siempre capturará las imágenes y registrará el audio.

Page 36: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

36

Ilustración 7. Descripción general del sistema

FleetBi se divide en los siguientes módulos:

Módulo Descripción

Cuenta de usuario

Contiene el mecanismo para iniciar sesión en el sistema,

recuperar contraseña que se valida con la cuenta de correo

electrónico registrado en la plataforma, actualizar los datos

personales de usuario y cerrar sesión.

Administración El módulo de administración es gestionado por un usuario

de la empresa IT Process, que es el encargado de crear,

actualizar los datos y habilitar el ingreso a la plataforma a

los clientes (empresas transportadoras) que contratan el

servicio para el seguimiento y control de su flota de

vehículos. A cada cliente se le crean usuarios para que

puedan ingresar al sistema con el perfil de la empresa

contratante. El usuario de la empresa IT Process también es

el encardado de gestionar la información y asignar los

dispositivos GPS a los vehículos de las empresas

transportadoras.

Vehículos

El módulo de vehículos es utilizado por el usuario de la

empresa IT Process y el que contrata el servicio para el

seguimiento y control de su flota. Se encuentra la

funcionalidad de ver la ruta y las paradas de un vehículo en

Page 37: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

37

un mapa según una fecha de inicio y una fecha fin, asignar

un conductor a un vehículo y actualizar el estado de carga

(Si el vehículo transporta carga o no). Para cada ruta

registrada por un vehículo se lista su detalle de posiciones

(latitud, longitud, dirección etc.) imágenes capturadas,

audios grabados, paradas generadas y alertas notificadas

por el vehículo en esa ruta consultada. En este módulo

también se puede visualizar por medio de un mapa, la

posición actual de todos los vehículos en tiempo real.

Vigilancia Es utilizado por el usuario de la empresa IT Process y el

que contrata el servicio para el seguimiento y control de su

flota. En este módulo se pueden crear geocercas y

configurar una vigilancia personalizada a un vehículo.

La vigilancia personalizada a un vehículo consiste en definir

una fecha de inicio y una fecha de fin y si se desea grabar

audio o capturar imagen según esas fechas configuradas,

para que el sistema registre los eventos según los

parámetros definidos por el usuario.

Alarmas El módulo de alarmas consiste en notificar al sistema de

información el momento en que un conductor oprime el

botón de pánico del vehículo o el vehículo ingresa a una

geocerca. En el caso de que el conductor oprima el botón

de pánico el sistema enviará una alerta a la plataforma web,

llamará a un usuario del sistema a su teléfono móvil, enviará

un mensaje de texto SMS, enviará un correo electrónico,

capturará imágenes y grabará audio a la cabina del

vehículo. Para el caso en que un vehículo ingrese a una

geocerca el sistema validará los parámetros que han sido

definidos (Captura de imágenes y grabación de audios) y

notificará a la plataforma web. Además, el sistema registrará

el detalle de las posiciones hasta que el vehículo salga de la

geocerca y el recorrido podrá ser visualizado en tiempo real

en un mapa.

Tabla 2. Módulos del sistema

Page 38: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

38

8.3. Elaboración de requerimientos funcionales de la aplicación de software

FleetBi es un producto de software ideado e impulsado por la empresa IT Process, por lo que los

clientes involucrados en la especificación y elaboración de requerimientos funcionales son el director

general de la empresa, el director de tecnología y el director de aplicaciones quienes serán

denominados a partir de este momento como clientes internos.

8.3.1. Diligenciamiento del formato de levantamiento de información con base en las reuniones

sostenidas con el cliente del proyecto

El pasante realizó una serie de reuniones con los clientes internos del proyecto, con el fin de elaborar

los requerimientos funcionales iniciales.

La empresa provee un formato para realizar la descripción inicial de la información. Este formato es

utilizado para ser diligenciado en el primer acercamiento con los clientes.

En la plantilla de levantamiento de información se debe hacer una descripción general del sistema,

donde se especifica el propósito general que busca el cliente con la herramienta de software. El

propósito inicial es que el software llevara un control y seguimiento a las flotas de vehículos y que

permitiera al cliente monitorear cada uno de los vehículos que conforman la flota.

También se definieron los objetivos específicos para el cumplimiento del propósito general, entre ellos

se encuentran:

• Acceder a la información de la posición actual y la ruta transitada de cada vehículo

• Llevar un control de las paradas que realizan los vehículos

• Recopilar material probatorio cuando ha ocurrido un hurto o una situación de riesgo a un

vehículo

• Realizar un seguimiento en el momento de ingreso de vehículos en zonas catalogadas como

peligrosas

• Notificar en tiempo real cuando un conductor se encuentre en situación de peligro

En el formato también se listan y se describen los usuarios del sistema. Los usuarios definidos en

este formato fueron los siguientes:

Page 39: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

39

• Administrador Cliente: Usuario de la empresa al que se le ofrece el servicio de rastreo de

vehículos, podrá hacer un seguimiento y control del recorrido de sus flotas y ser notificado

cuando un conductor notifique una situación de riesgo.

• Conductor: Reportará al sistema cuando se encuentre en una situación de riesgo

También se definieron algunos requerimientos de forma general, que consistían en el registro de los

recorridos del vehículo de forma automática en el sistema, la captura de imágenes, la consulta del

registro de la imagen capturada y su visualización, además de la notificación cuando un conductor se

encuentre en situación de riesgo.

En este formato se aclaró de que el conductor no va ser un usuario que ingrese a la plataforma web,

y que su interacción directa con el sistema consistirá en el momento en el que reporte una situación

de riesgo.

8.3.2. Elaboración de informe con relación a los requerimientos funcionales propuestos por el

cliente

Luego de hacer el primer acercamiento con el cliente, en cada reunión surgen nuevas necesidades,

por lo que los clientes solicitan incorporar nuevos requerimientos para el desarrollo del sistema de

información. IT Process necesita llevar un registro y control de cada reunión por lo cual se desarrolla

un informe describiendo las nuevas necesidades del cliente, que permiten realizar la construcción del

sistema de información.

El pasante redactó este informe al finalizar cada reunión, donde se describe de forma general los

requerimientos solicitados por el cliente.

Los aspectos más importantes especificados en este documento fueron los siguientes:

• La Incorporación de Grabación de audio: Para el cliente es de gran importancia recopilar

material probatorio cuando un vehículo se encuentra en situación de riesgo, ya sea por hurto o

en el momento de que un conductor se encuentre en situaciones de agresiones que

involucren su integridad física.

• Vigilancia personalizada a un vehículo: Este seguimiento personalizado se desea realizar a

Page 40: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

40

vehículos en horarios y fechas establecidas, donde se necesita ver el recorrido transitado y la

grabación de audio (Opcional) y toma de fotos a la cabina del vehículo (Opcional).

• Configuración de Geocercas: Al usuario se le debe proveer la opción de delimitar de forma

virtual una zona geográfica que, al detectar el ingreso o salida de todos los vehículos a esa

geo cerca, el sistema debe registrar el recorrido, la fecha y hora de ingreso y la fecha y hora

de salida en esa geo cerca.

• Detenciones: El cliente requiere llevar un registro de las detenciones los vehículos.

• Notificación de alarmas: Para la notificación de alarmas el cliente sugirió que se le

comunique a un empleado de su empresa en tiempo real cuando un vehículo ingresa a una

zona de peligro o también en el momento de que un conductor de su flota active una alarma

de pánico, por medio del sistema de información, correo electrónico, una llamada y mensajes

de texto al celular del empleado o encargado de la supervisión.

8.3.3. Documento de requerimientos funcionales

El propósito del documento de requerimientos funcionales es establecer cada requerimiento funcional

que se ha acordado según la necesidad que ha presentado el cliente, luego de varias reuniones que

se han realizado. Ésto con el fin de establecer un acuerdo claro con el equipo de desarrollo de la

empresa IT Process y lo que se le va entregar como producto final.

Este documento consta de una descripción de todos los usuarios involucrados en el sistema,

explicando de forma detallada su interacción con el sistema de información.

También se definen y se aclaran términos o palabras claves que se requieren para la comprensión

del documento de requerimientos funcionales.

Para la definición de los requerimientos funcionales se utiliza un formato que contiene la información

que se describe en la Tabla 3:

Page 41: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

41

Id caso de uso Identificador del caso de uso al que pertenece el requerimiento

Id requerimiento Identificador del requerimiento

Descripción Descripción del requerimiento

Prioridad Grado de relevancia para el proyecto (Alta, media, baja)

Comentarios Información adicional relevante

Estatus PENDIENTE - No se ha dado inicio a la implementación del requerimiento.

PARCIAL - Ya se dio inicio a la implementación del requerimiento, pero no se ha terminado.

COMPLETADO- El requerimiento ya fue terminado.

Tabla 3. Información utilizada en el formato de requerimientos funcionales

A continuación, se presenta la definición de los requerimientos de ingresar al sistema, recuperar la

contraseña de usuario y la gestión de clientes utilizando el formato de la empresa IT Process, para la

especificación de requerimientos funcionales. Ver Tabla 4.

Id Caso de

uso

Id requerimiento Descripción Prioridad Comentarios Estatus

CU-1 R01 El sistema debe permitir al usuario

super administrador y administrador

cliente ingresar al sistema digitando su

nombre de usuario y contraseña

Alta Completado

CU-1 R02 El sistema debe permitir al usuario

super administrador y administrador

cliente recuperar la contraseña

digitando su nombre de usuario o

correo electrónico. El sistema enviará

un enlace a la cuenta de correo

electrónico registrada en la base de

datos, donde el usuario ingresará y se

le mostrará un formulario en el que se

le pedirá que ingrese su nueva

contraseña. Luego de ingresar su

nueva clave se le dará ingreso al

sistema.

Baja Completado

CU-4 R05 El sistema debe permitir al usuario

super administrador crear, listar,

modificar y activar o desactivar clientes

con los siguientes datos: identificador

Alta Completado

Page 42: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

42

único del cliente, nombre completo,

número Nit, correo electrónico,

dirección, número de teléfono, celular

de emergencia, e imagen corporativa.

Al momento de crear un nuevo cliente

el sistema generará una url de acceso

para el nuevo cliente, esta url de

acceso no puede ser modificada.

Tabla 4. Definición de requerimientos utilizando el formato de la empresa

La cantidad de requerimientos elaborados por módulo para el proyecto se visualiza en la tabla 5.

Módulo Cantidad de requerimientos

elaborados

Cantidad de requerimiento

s prioridad alta

Cantidad de requerimientos

prioridad media

Cantidad de requerimientos

prioridad

Baja

Descripción General

Cuenta de usuario

4 1 0 3 Requerimientos para validar el ingreso de usuarios al sistema y cerrar sesión

Administración 4 4 0 0 Requerimientos para la gestión de clientes, usuarios, creación de vehículos, dispositivos GPS y asignación de un dispositivo GPS a un vehículo

Vehículos 16 14 2 0 Requerimientos que consisten en la visualización y el detalle de recorridos de los vehículos, captura de imágenes y grabación de audio desde la plataforma

Vigilancia 17 6 11 0 Requerimientos que consisten en la gestión de zona alarmas, vigilancias programadas y visualización de datos históricos de los recorridos realizados en una zona alarma o vigilancia programada

Módulo de alarmas

16 13 0 3 Requerimientos que consiste en: Listar registro de alarmas, ya sea por el ingreso a una geo cerca o botón de pánico, notificación al usuario (correo electrónico, mensaje de

Page 43: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

43

texto, llamada al celular), captura de imagen y grabación de audio y consulta de histórico de registro de alarmas entre otros.

Totales 57 38 13 6

Tabla 5. Requerimientos elaborados por módulos

8.3.4. Elaboración de documento con casos de uso

Los casos de uso permiten especificar la comunicación que establece un sistema de información con

los usuarios, es de gran importancia ya que muestra el comportamiento del sistema de acuerdo a los

eventos e interacciones que se ejecutan junto con el usuario.

A continuación, se presenta un caso de uso realizado para FleetBi llamado Autenticar Usuario,

donde la secuencia normal de eventos consiste en autenticar un usuario en un formulario y permitirle

el ingreso a la plataforma web y su secuencia alterna es la de recuperar la contraseña para que el

actor pueda ingresar al sistema. Ver Tabla 6.

CU-1 CU Autenticar usuario

Versión V1- septiembre 19 del 2016

Autor Eduardo Saavedra

Descripción

Se definen las actividades que se deben realizar para que un usuario pueda

ingresar al sistema web FLEETBI

Actores principales Administrador cliente, super administrador

Actores secundarios Ninguno

Precondición secuencia normal

- Debe existir una instancia de la plataforma Web en Amazon.

- El usuario debe estar registrado en la base de datos (Caso de uso

Registrar usuario se encuentra en el módulo de administración)

Secuencia Normal de los eventos Paso Acción del actor Respuesta del sistema

1

El usuario ingresa

la url de la

plataforma

FLEETBI en un

navegador web.

El navegador web despliega el

formulario iniciar sesión.

2 El usuario ingresa El sistema valida la información

Page 44: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

44

el nombre de

usuario y la

contraseña

3

El usuario es direccionado a la

ventana principal

Postcondición secuencia normal La sesión del usuario queda activada

Precondición secuencia alterna

- Debe existir una instancia de la plataforma Web en Amazon.

- El usuario debe estar registrado en la base de datos (Caso de uso

Registrar usuario módulo administración)

- El usuario debe tener registrado un correo electrónico en la base de

datos

Secuencia alterna Paso Acción del actor Respuesta del sistema

1a

El usuario

selecciona la

opción recuperar

contraseña

El sistema despliega una ventana

para que el usuario recupere la

contraseña.

2a

El usuario ingresa

un correo

electrónico

El sistema valida el correo electrónico

y envía una url.

3a

El usuario ingresa

al mensaje de

correo electrónico

enviado por el

sistema

4a

El usuario da clic a

la url enviada por el

sistema

El sistema despliega un formulario

para que el usuario ingrese la nueva

contraseña.

5a

El usuario ingresa

la nueva

contraseña

6a

El usuario es direccionado a la

ventana principal según el tipo de

usuario

Postcondición secuencia alterna La sesión del usuario queda activada

Secuencia de excepción Paso Acción del actor Respuesta del sistema

1

El usuario ingresa

la url incorrecta de

Page 45: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

45

la plataforma

FLEETBI en un

navegador web.

2

El usuario ingresa

la el nombre de

usuario o la

contraseña de

forma incorrecta

El sistema despliega un mensaje de

error que indica que el nombre de

usuario o contraseña no son correctos

2a

El usuario ingresa

un correo

electrónico

incorrecto

El sistema despliega un mensaje de

error indicando que el correo

electrónico no se encuentra registrado

en la base de datos

Importancia Vital

Comentarios

Tabla 6. Caso de uso autenticar usuario del módulo cuenta de usuario

Para el módulo de cuenta de usuario se elaboraron 3 casos de uso, de administración 4 casos de

uso, de vehículos 9 casos de uso, de vigilancia 13 casos de uso y el módulo de alarmas 10 casos de

uso, para un total de 39 casos de uso correspondientes al sistema de información FleetBi. Cada caso

de uso fue validado y aprobado por el equipo de trabajo de IT Process S.A.S.

8.3.5. Diagrama BPMN con el proceso implementado en la aplicación

El BPMN realizado al sistema de información para el seguimiento y control de flotas de vehículos,

consistió en definir el proceso que se efectúa desde el momento en que un usuario super

administrador (Usuario IT Process) inicia sesión a la plataforma, registra y asigna un dispositivo GPS

a un vehículo, el BPMN tiene como nombre registro de vehículos para comenzar rastreo. Ver

ilustración 8.

Para el BPMN registro de vehículos para comenzar rastreo (ilustración 8), luego de que el super

administrador ingresa al sistema, el sistema lista los clientes que son las empresas transportadoras.

Si el super administrador elige un cliente de la lista, el super administrador puede registrar un

vehículo al cliente, si no elige de la lista significa que es un nuevo cliente. Luego de registrar el nuevo

cliente el super administrador podrá guardar un vehículo de ese cliente en el sistema. El proceso

Page 46: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

46

continúa cuando el super administrador decide o no registrar un nuevo dispositivo GPS. Si decide

registrarlo creará el nuevo dispositivo GPS en el sistema, si no registra un nuevo GPS entonces

busca un GPS almacenado en la plataforma, si el super administrador no elige un GPS registrado

entonces crea uno nuevo. Luego de tener el GPS elegido lo asigna al vehículo guardado y queda

activado para que inicie la subtarea para el procesamiento de Geo posiciones al vehículo. Si el

super administrador decide registrar otro vehículo, entonces lo puede hacer al mismo cliente o elegir

uno nuevo. Si no desea registrar otro vehículo el proceso para el super administrador termina.

La sub tarea para el inicio de Geo posiciones al vehículo consiste en definir si un punto que transmite

un dispositivo GPS ha sido enviado desde una geo cerca, de una vigilancia configurada por un

usuario, o ambas. Además, define las tareas para la captura de imágenes a la cabina del vehículo, la

grabación de audio según las configuraciones realizadas en el sistema y las paradas que ha realizado

un vehículo en sus recorridos.

Los diseños BPMN son importantes para la empresa ya que aportan información sobre los procesos

que se deben implementar y brindan una visión general y amplia de lo que proyecta el sistema de

información. IT Process se ha caracterizado por el diseño de BPMN ya que para el cliente ha sido una

herramienta fundamental para aclarar sus procesos de negocio y facilita la comprensión del desarrollo

que se va a realizar.

Page 47: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

47

Ilustración 8. BPMN registro de vehículos para comenzar rastreo

Page 48: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

48

8.4. Diseño gráfico (mockups o boceto inicial) de la interfaz gráfica de usuario web

Para la creación del diseño de la interfaz gráfica de usuario web de FleetBi se definió una serie de

pantallas por medio de bocetos iniciales o mockups, teniendo en cuenta los requerimientos

funcionales especificados.

A continuación, se muestran algunos mockups para la plataforma web de FleetBi.

Ilustración 9. Boceto inicial login de usuario

Ilustración 10. Bocetos iniciales de los mapas

Page 49: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

49

Ilustración 11. Bocetos iniciales listados de información

Ilustración 12. Bocetos iniciales formularios

Para la creación de los mockups se utilizó la herramienta de editor de gráficos vectoriales Inkscape, el

Page 50: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

50

cual es una herramienta libre de código abierto.

Una vez aprobado el diseño de los mockups se dio el aval de iniciar con su implementación.

8.5. Implementación de la interfaz gráfica de usuario web

Con lo relacionado a la implementación de la interfaz gráfica de usuario web, fue de gran importancia

los diseños de los bocetos iniciales o mockups, ya que este diseño facilitó la construcción de cada

interfaz gráfica debido a que se encontraban establecidos los colores, tipos de letra a usar, gráficos y

ubicación de cada uno de los componentes a implementar.

En la implementación se utilizó Bootstrap que brinda una base o plantilla de HTML y CSS para ser

utilizado en la construcción de páginas web o aplicaciones web.

Se utilizó las librerías y el estándar que trabaja la empresa para el listado de tablas, visualización de

notificaciones y validación de campos.

Se utilizó la herencia de plantillas que está incorporado en el framework de Django, donde se ofrece

la opción de crear una estructura base de estilos y así ser utilizados en distintas interfaces gráficas.

Para la implementación gráfica de los mapas se trabajó con la librería de Google para la creación de

mapas con JavaScript, que permite la manipulación y actualización de los componentes gráficos de

un mapa. Esto con el fin de establecer la geo posición de un vehículo y su recorrido, las paradas y la

definición de zonas o geo cercas.

A continuación, se muestran algunas interfaces gráficas de usuario implementadas en los módulos de

cuenta de usuario, administración, vehículos, vigilancia y alarmas.

Interfaces gráficas módulo de cuenta de usuario

Ilustración 13. Formularios inicio de sesión

Page 51: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

51

Existen dos tipos de accesos. Uno para el ingreso al módulo de administración, que es utilizado por

los usuarios de la empresa IT Process para la gestión de información de clientes, usuarios, vehículos

y dispositivos GPS. El otro formulario de ingreso es utilizado por los usuarios que contratan el servicio

de seguimiento y control de sus flotas.

Ilustración 14. Formularios cambio de datos de usuario y recuperación de contraseña

En el módulo de cuenta de usuario se implementó el formulario de actualización de datos de un

usuario, ya sea super administrador (Usuario IT Process) o usuario administrador cliente (Usuario de

la transportadora que contrata el servicio), además se implementó el mecanismo de recuperación de

contraseña por medio de un correo electrónico o cuenta de usuario que es validado a través de un

correo electrónico.

Interfaces gráficas módulo administración

Ilustración 15. Gestión de clientes

Page 52: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

52

Se implementó las interfaces para la gestión de clientes (ilustración 15), los clientes son las

transportadoras que contratan el servicio de seguimiento y control. El usuario super administrador

puede gestionar los datos de los clientes y las urls de acceso para el ingreso a la plataforma web.

Ilustración 16. Gestión de usuarios

Se realizó la implementación de los formularios para la gestión de usuarios que ingresan a la

plataforma web. En estos formularios se puede listar la información de los usuarios, crear nuevos

usuarios, actualizar los datos y desactivar los usuarios

Ilustración 17. Gestión de GPS y asignación de un dispositivo GPS a un vehículo

En el módulo de administración se implementó las interfaces para la gestión de dispositivos GPS,

vehículos y la asignación de un dispositivo GPS disponible a un vehículo.

Page 53: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

53

Interfaces gráficas módulo de vehículos

Ilustración 18. Mapa vista general y recorrido de un vehículo

Entre las interfaces implementadas para el módulo de vehículos se encuentra el de la vista general

(ver ilustración 18), que consiste en mostrar la ubicación actual de todos los vehículos de la

transportadora. Al dar clic en un pin rojo de un vehículo se mostrará el recorrido del vehículo que ha

sido seleccionado desde las 24 horas antes hasta la fecha actual. También está la opción de listar el

histórico de recorridos del vehículo, según una fecha de inicio y una fecha final.

Ilustración 19. Detalle de posiciones y paradas recorrido de un vehículo

En la ilustración 19 se muestra el detalle de las posiciones y las paradas de un vehículo según una

fecha hora de inicio y una fecha hora final.

Ilustración 20. Registro de imágenes y audios de un vehículo

Page 54: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

54

También se implementó las interfaces para la visualización de imágenes y la reproducción de audio

registrados por un vehículo. (Ver ilustración 20)

Ilustración 21. Gestión de conductores

Para la gestión de conductores existen dos formas de registrar nuevos datos, ya sea digitando cada

registro del conductor en los formularios de la plataforma web o cargando los datos por medio de un

archivo csv utilizando el botón cargar archivo.

Interfaces gráficas módulo de vigilancia

Ilustración 22. Gestión de zonas alarmas o geo cercas

Page 55: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

55

Ilustración 23. Creación de vigilancia a un vehículo

En el módulo de vigilancia el usuario puede crear geo cercas por medio de un mapa, actualizar,

buscar, modificar y eliminar geo cercas creadas y también realizar la gestión de vigilancias

personalizadas a un vehículo.

Interfaces gráficas módulo de alarmas

Ilustración 24. Detalle de alarmas y notificación a la plataforma Web

El registro de alarmas activadas por un vehículo puede visualizarse por medio de un listado ya sea

por el ingreso a una geo cerca o cuando un conductor ha activado el botón de pánico. El detalle del

recorrido de un vehículo al ingresar a una geo cerca se puede visualizar por medio de un mapa y ver

las posiciones en un listado hasta el momento que sale de la geo cerca. Cuando un conductor activa

el botón de pánico o ingresa a una geo cerca el sistema notificará por medio de un mensaje.

8.6. Implementación de la capa lógica de la aplicación de software

En el caso de la implementación de la capa lógica de la aplicación de software se utilizó el estándar

Page 56: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

56

de codificación empleado en IT Process S.A.S. Un estándar que ha permitido a la empresa la

producción de software de calidad a lo largo de su trayectoria.

IT Process en su modelo de negocio utiliza el principio de software como servicio por lo que para el

desarrollo de la capa lógica se empleó la arquitectura multi-tenant. La arquitectura multi-tenant

permite que la aplicación de software FleetBi se ejecute en una instancia y que múltiples clientes

(Usuarios de empresas de transporte que contratan el servicio) interactúen con el mismo recurso

(capa lógica, servidores y base de datos). Ver ilustración 25.

Ilustración 25. Arquitectura Multitenant FleetBi

Los Web Services permiten la interacción de la interfaz gráfica de usuario con la capa lógica. En la

ilustración 25 se observa que la capa lógica accede directamente a los datos que son almacenados

por el gestor de base de datos CouchDB y responde a la petición del Web Services. El Web Services

retorna por medio del formato JSON los datos que han sido solicitados o enviados a procesar desde

la interfaz gráfica de usuario.

En la ilustración 26 se observa un ejemplo de una petición en formato JSON que es solicitada desde

una interfaz gráfica de usuario para obtener la información de los dispositivos GPS creados en el

sistema. Se observa la definición del campo “autenticacion” que permite hacer una validación de la

petición ya sea para ser aceptada o rechazada en el servidor. De igual forma se visualiza el campo

“data” que es utilizado para especificar los datos que se requieren al momento de realizar el

Page 57: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

57

procesamiento en la petición.

Ilustración 26. Petición formato JSON a Web Services

De la petición solicitada como ejemplo en la ilustración 26 el servidor retorna una respuesta como la

presentada en la ilustración 27, donde el campo “success” representa si la petición solicitada fue

procesada con éxito.

Ilustración 27. Resultado petición de ilustración 13 en formato JSON

Con respecto a la transmisión de posiciones de un dispositivo GPS hacia el servidor del sistema, se

utilizó el entorno de ejecución para JavaScript Node.js. Node.js analiza los eventos de todos los

dispositivos GPS que se encuentran registrados en el sistema y notifica a un Web Services las

posiciones de los vehículos para que sean procesados y almacenados en la base de datos.

IT Process plantea como trabajo futuro para el sistema de información FleetBi el desarrollo de

componentes de software que permitan al usuario acceder y gestionar información desde un

dispositivo móvil, por lo que los Web Services desarrollados podrán ser adaptados y reutilizados.

La implementación de consultas, actualizaciones y nuevos registros en un gestor de base de datos

orientado a documentos se realiza de distinta forma a como se hace con una base de datos

Page 58: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

58

relacional. Las consultas se implementan por medio de vistas1 que permiten obtener los datos. A

continuación, se presenta un ejemplo de una consulta para obtener los datos de los dispositivos GPS

según una vista definida en el gestor de base de datos:

Ilustración 28. Llamado a una vista definida en un gestor de base de datos

En la ilustración 28 se realiza el llamado a una vista desde el lenguaje python que emite los

documentos2 y se le asigna el resultado de la consulta a la variable filas. El acceso a la vista se hace

por medio de la variable db que es el objeto que representa la conexión con la base de datos. Lo

anterior se hace con el fin de iterar cada registro y acceder a los datos de la consulta.

db.View permite el llamado de una vista en el gestor de base de datos CouchDB y además la

definición de condiciones para realizar consultas con restricciones.

Cuando se requiere hacer una actualización o eliminación de datos de un registro, se debe obtener el

identificador único de un documento, este identificador es generado cada vez que se almacena un

nuevo registro. Una vez se obtenga ese identificador se procede a utilizar una serie funciones en

python que permiten eliminar o actualizar los documentos.

Las imágenes que son capturadas por el sistema a la cabina de los vehículos, son registradas y

administradas por medio de un sistema que fue desarrollado por el director de tecnología el Ingeniero

Fabio Soto y que es utilizado en los proyectos de software de la empresa IT Process, el cual tiene

como nombre Nisabú

El concepto de Nisabú es el siguiente:

1 Para más información sobre las vistas ver la sección 8.8 Implementación del modelo de datos sobre un gestor de base de

datos NoSQL orientado a documentos. 2 Para más información sobre los documentos ver la sección 8.8 Implementación del modelo de datos sobre un gestor de

base de datos NoSQL orientado a documentos.

Page 59: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

59

“Es el nombre del sistema desarrollado para soportar la administración y distribución de imágenes en los

Web Services. La razón de su creación se debió a que el modelo implementado inicialmente en la empresa

IT Process utilizaba simplemente el sistema de archivos y no se desempeñaba adecuadamente ni permitía

escalarse igual que el resto de la aplicación”. (Soto, Desarrollo de Plataforma de Mercadeo, 2015)

Cada vez que Nisabú registra una imagen genera un identificador único. Con este identificador se

puede acceder a la imagen por medio de un Web Services.

El entorno de ejecución para JavaScript Node.js fue utilizado para la captura de imágenes a la cabina

de un vehículo, donde se definió la forma en que se recibe la petición desde un Web Services y

solicita la captura de la imagen a la cámara del dispositivo GPS del vehículo. Luego de que la cámara

toma las imágenes, Node.js se comunica con otro Web Services para realizar el registro de la imagen

en Nisabú y posteriormente ser accedida desde la plataforma FleetBi.

En el caso de la grabación de audio se debía tener en cuenta que un vehículo puede recibir llamadas

directas desde la plataforma web, llamadas programadas donde se define una duración máxima de

grabación y registro de audio cuando un conductor activa el botón de pánico. Por lo que se diseñaron

e implementaron estrategias para el caso de que un mismo vehículo procesara más de una llamada

al mismo tiempo.

El algoritmo de procesamiento de geoposiciones es considerado por la empresa el “núcleo” del

sistema. Este algoritmo consiste en evaluar si una posición corresponde a una parada, al ingreso a

una geocerca, a una vigilancia personalizada a un vehículo o si se debía capturar imágenes o grabar

audios a la cabina de un vehículo. Se observó en el proceso de desarrollo que fue de gran

importancia el diseño BPMN, donde se definió el flujo y las tareas que sirvieron de guía en la

implementación de los componentes de software para el algoritmo.

8.7. Diseño del modelo datos para un gestor de base de datos NoSQL orientado a documentos

Con respecto al diseño del modelo de datos se desarrolló una reunión con el director de tecnología, la

directora de aplicaciones y el director general de la empresa donde se discutió, se analizó y se

construyó el diseño de modelo de datos. Este diseño de modelo de datos facilita comprender e

Page 60: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

60

identificar los elementos y su relación con respecto al problema que se desea resolver.

En la ilustración 29 se muestra un ejemplo de cómo se utilizó el modelo entidad relación para

diagramar el esquema del modelo de datos orientado a documentos asociados, según la forma en

que lo representa la empresa.

Ilustración 29. Asociación entre dos documentos

La ilustración 29 representa el diseño de la asociación entre dos documentos, donde a un vehículo

se le asigna un dispositivo GPS y un GPS es asociado a un vehículo. Cada documento tiene

asignado un campo _id. Este campo es único en el documento y se comporta como una llave

primaria que lo identifica. Los tipos de datos para los campos del documento se representan de la

siguiente forma: <String> para un campo de texto, <Boolean> para datos Booleanos True o False,

<Date> para fechas y <fk> para referenciar el identificador de otro documento, en este caso el _id del

documento vehículos.

En el caso de que un documento se le asocie uno o muchos identificadores de otro documento se

representa de la siguiente forma:

[fk]: Indica que el campo hace referencia a uno o muchos documentos. Un ejemplo para este caso en

una base de datos orientada a documentos es el siguiente: idVehiculo: [120038843878438rjkfdjjd,

99877873497937879777, 909875477593493993].

En el caso de la ilustración 29 se presenta una relación uno a uno con respecto al documento

vehículo y documento GPS, por lo tanto, expresando un ejemplo con el campo idVehiculo sería de la

forma: idVehiculo = “iom54454455445454”.

Page 61: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

61

El campo activo que es un tipo de dato Booleano (true o false), representa si un registro está

habilitado o no para su consulta. Se comporta como el elemento que permite realizar un borrado

lógico en la base de datos.

Los documentos diseñados de FleetBi para el registro de datos en la base de datos orientado a

documentos son las que se describen en la tabla 7:

Nombre del documento Descripción

tenant Almacena los datos generales de la empresa contratante

del servicio.

adminTenant Registra los usuarios administradores de las empresas

contratantes del servicio

GPS Guarda los datos de los dispositivos GPS

superAdministrador Almacena los datos de los usuarios de la empresa de IT

Process. Encargados de registrar nuevos clientes, usuarios,

vehículos y dispositivos GPS

vehiculos Guarda los datos de los vehículos

conductores Guarda los datos de los conductores

capturaImagenes Almacena el registro de imágenes capturados a los

vehículos directamente desde la plataforma.

capturaAudio Guarda el registro de audios que se solicitan desde la

plataforma

paradaVehiculo Registra el inicio y el fin de la parada de los vehículos

alarmasBotonPanico Guarda las alarmas activadas por el botón de pánico

capturaImagenesBotonPanico Almacena el registro de imágenes capturados cuando un

conductor activa el botón de pánico

Page 62: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

62

capturaAudioBotonPanico Guarda el registro de audios cuando un conductor activa el

botón de pánico

llamadas Registra el estado actual de las grabaciones de audio de los

vehículos

posicionVehiculos Almacena las posiciones que transmiten los dispositivos

GPS

monitoreoZonas Almacena las geo cercas configuradas por un usuario

zonaAlarma Registra el recorrido de un vehículo cuando ingresa a una

geo cerca hasta el momento que sale de la zona alarma

capturaImagenesZonaAlarma Guarda las imágenes capturadas cuando ingresan los

vehículos a una geo cerca

capturaAudioZonaAlarma Almacena el registro de audio grabado cuando los vehículos

ingresan a una geo cerca

programacionVigilancia Guarda las configuraciones de vigilancia personalizada a los

vehículos

imagenesProgramacionVigilancia Almacena el registro de imágenes capturadas de un

vehículo en una vigilancia personalizada

audioProgramacionVigilancia Guarda el registro de audio de un vehículo en una vigilancia

personalizada

Tabla 7. Documentos diseñados para el registro de datos

8.8 Implementación del modelo de datos sobre un gestor de base de datos NoSQL orientado a documentos.

La base de datos en la que ha sido implementado el modelo de datos es CouchDB, dado que es la

utilizada por la empresa en los proyectos de software. Esta base de datos le ha ofrecido a IT Process

a lo largo de su experiencia en el desarrollo de sus proyectos una alta confiabilidad en la integridad

de los datos y una alta velocidad de transferencia de datos, permitiendo que los proyectos de

software desarrollados se comporten de manera adecuada frente a la demanda de cada usuario.

Page 63: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

63

Cabe anotar que, si un cliente requiere la implementación sobre otro gestor de base de datos, IT

Process está en la capacidad de ofrecer esa implementación de acuerdo a los requerimientos

solicitados por un cliente.

CouchDB emplea el formato JSON para almacenar sus datos, y utiliza el lenguaje JavaScript para

realizar las consultas. A continuación, se visualiza una imagen que representa un documento GPS.

Ilustración 30. Documento tipo GPS

En la ilustración 30 el elemento _id es el identificador de un documento en el que se crea el registro

en la base de datos. Este identificador es generado automáticamente por CouchDB.

El segundo elemento _rev, es un identificador de revisión que se actualiza cada vez que se modifica

un documento. Con este identificador de revisión es posible rescatar la información de una versión de

un mismo documento. El elemento tipoDato representa el nombre del documento que fue definido en

el modelo de datos en este caso “GPS”. Los demás elementos definidos en formato JSON de la

ilustración 30 son los campos que han sido definidos en el modelo de datos para ese documento.

Para realizar una consulta en la base de datos de los registros almacenados se debe definir una

estructura especial llamadas vistas. Estas vistas son definidas utilizando el lenguaje de JavaScript en

Page 64: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

64

el atributo map, en la siguiente imagen se muestra el diseño de dos consultas sobre los documentos

tipo GPS.

Ilustración 31. Especificación de vistas en CouchDB

La Ilustración 31 muestra un documento compuesto de dos vistas llamadas GPS y listadoGPS. Este

documento tiene un elemento _id donde se define un nombre general para la composición de una o

varias vistas. Este elemento _id es un campo único y se comporta como un identificador del

documento de vistas, además CouchDB genera automáticamente un identificador de revisión (_rev)

para registrar su versionamiento. En el elemento views se definen las vistas que estarán compuestas

por ese documento, en cada vista se utiliza el atributo map donde se especifica una función en

JavaScript para la emisión de los datos del documento.

Estas vistas se van diseñando e implementando en el gestor de base de datos CouchDB durante el

proceso de desarrollo de los componentes de software, dado que son las consultas de datos que

requerirá el sistema para su funcionamiento. Por ejemplo, para obtener los datos de un documento de

tipo GPS de acuerdo al identificador del vehículo se define una vista utilizando el lenguaje JavaScript

como se observa en la ilustración 32:

Ilustración 32. Función JavaScript vista gpsPorIdVehiculo

Page 65: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

65

Luego de Ejecutar la función en JavaScript definida en la ilustración 32 en la base de datos

CouchDB, todos los documentos de tipo “GPS” y que el campo del documento activo sea igual a

true, se mostrarán en el gestor de base de datos. Ver ilustración 33:

Ilustración 33. Listado de documentos de la vista gpsPorIdVehiculo

Cada documento listado según la definición de la vista gpsPorIdVehiculo, consta del identificador del

vehículo (ver ilustración 34 número 1) y del identificador único _id del documento tipo GPS (ver

ilustración 34 número 2), dando clic a un registro listado se mostrará la información de todos los

datos de ese registro del documento en formato JSON.

Ilustración 34. Listado de un documento por idVehiculo

Las vistas definidas para FleetBi en CouchDB son las que se muestran en las tablas 8, 9, 10, 11, 12:

Módulo cuenta usuario.

Nombre del documento

Cantidad de vistas

Descripción general

autenticaciones 3 La consulta de estas vistas se utiliza para obtener los datos de cuenta de usuario y el tenant del usuario

Page 66: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

66

recuperacionContrasena 3 La consulta de estas vistas se utiliza para obtener los datos de usuario para que se puedan actualizar

Tabla 8. Cantidad de vistas de los documentos del módulo cuenta de usuario

Módulo de administración

Nombre del documento

Cantidad de vistas

Descripción general

Usuarios 3 La consulta de estas vistas se utiliza para obtener la información de los usuarios cliente del sistema

Vehículos 2 La consulta de estas vistas se utiliza para obtener la información de los vehículos del sistema

GPS 6 La consulta de estas vistas se utiliza para obtener la información de los GPS registrados en el sistema

Tabla 9. Cantidad de vistas de los documentos del módulo de administración

Módulo de vehículos

Nombre del documento Cantidad de vistas

Descripción general

posicionVehiculos 11 La consulta de estas vistas se utiliza para obtener el histórico de posiciones y paradas.

vehiculos 2 La consulta de estas vistas se utiliza para obtener los datos de los vehículos

detalleVehiculos 2 La consulta de estas vistas se utiliza para obtener la información detallada de un vehículo

inspeccionImagenGPS 3 La consulta de estas vistas se utiliza para obtener la información de las imágenes solicitadas y registradas por el sistema

posicionVehiculoRangoFecha 4 La consulta de estas vistas se utiliza para consultar las posiciones por rango de fechas y los audios grabados por un usuario desde la plataforma. Se puede validar si una llamada está en curso o no

conductores 2 La consulta de estas vistas se utiliza para obtener la información detallada de un conductor y el vehículo asignado

Tabla 10. Cantidad de vistas de los documentos del módulo de vehículos

Page 67: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

67

Módulo de vigilancia

Nombre del documento

Cantidad de vistas

Descripción general

Vigilancias 13 La consulta de estas vistas se utiliza para obtener la información de las geo cercas creadas de la programación vigilancia y de todos los registros de los vehículos cuando ingresan a la geo cerca o a una vigilancia personalizada (En estos registros se puede obtener las imágenes capturadas y audios grabados en la zona alarma o la vigilancia personalizada)

detalleZona 1 La consulta de estas vistas se utiliza para obtener el detalle de una zona alarma (Posiciones registradas de una geo cerca) creada

Tabla 11. Cantidad de vistas de los documentos del módulo de vigilancia

Módulo alarmas

Nombre del documento

Cantidad de vistas

Descripción general

alarmas 5 La consulta de estas vistas se utiliza para obtener el registro de alarmas ya sea botón de pánico o el ingreso a una zona alarma

usuarios 1 La consulta de estas vistas se utiliza para obtener los datos del cliente para ser notificado por número de teléfono y correo electrónico

llamadas 15 La consulta de estas vistas permite determinar si una llamada está en curso o no ya sea por una zona alarma, programación vigilancia, directamente de la plataforma o por botón de pánico. Es importante conocer si una llamada está en curso, debido a que una llamada a un vehículo utiliza un solo canal de comunicación (Plataforma- dispositivo GPS) por lo tanto si un vehículo tiene una llamada en curso debe relacionarse la llamada existente con la nueva llamada

inspeccionImagenGPS 2 Cada vez que un conductor activa el botón de pánico o ingresa a una zona alarma, o registra una vigilancia programada se utiliza las vistas de este documento para registrar las peticiones de las imágenes al dispositivo GPS.

Tabla 12. Cantidad de vistas de los documentos del módulo de alarmas

8.9. Ejecución de pruebas de caja negra sobre los componentes de software desarrollados

Antes de especificar los casos de prueba el pasante realizó un acompañamiento en la instalación de

un dispositivo GPS a un tracto camión. Este tracto camión hace parte de la flota de una empresa de

transporte que es socio estratégico de IT Process.

La instalación del dispositivo la realizó un técnico eléctrico calificado. Para desempeñar dicho trabajo,

Page 68: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

68

el pasante le suministró información necesaria para que el técnico comprendiera la arquitectura del

dispositivo GPS y así hacer la instalación en la cabina del vehículo. Luego de que este proceso de

instalación se realizara con éxito, el pasante activó desde la plataforma FleetBi el dispositivo GPS a

ese vehículo.

A continuación, en las ilustraciones 35 a la 38 se muestran fotos capturadas del día en el que se

desarrolló el proceso de instalación del dispositivo GPS al tracto camión:

Ilustración 35. Foto del vehículo al que se le realizó la instalación del dispositivo GPS

La ilustración 35 es una foto tomada al tracto camión al que se le realizó la instalación del dispositivo

GPS. Se le agradece a la empresa transportadora por facilitar el vehículo de su flota para hacer la

instalación del dispositivo GPS y así realizar un monitoreo al tracto camión.

Page 69: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

69

Ilustración 36. Foto cabina del vehículo

En la ilustración 36 se visualiza la cabina del vehículo, donde se muestra la parte eléctrica y el lugar

donde se instaló el dispositivo GPS y el micrófono para la grabación de audio.

Ilustración 37. Foto al pasante instalando cámara del dispositivo GPS

La ilustración 37 muestra al pasante instalando la cámara del dispositivo GPS en la cabina del

vehículo. Antes de hacer la instalación definitiva de la cámara se procedió a capturar imágenes desde

la plataforma FleetBi, con el fin de obtener el mejor enfoque de la cabina y así encontrar la mejor

posición para ser instalada.

Page 70: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

70

Ilustración 38. Foto botón de pánico

En la ilustración 38 se visualiza el botón de pánico que será utilizado por el conductor cuando se

encuentre en una situación de riesgo. Este botón se ocultó y quedó instalado de tal forma que se

pueda oprimir con facilidad.

La instalación del dispositivo GPS fue de gran importancia para la realización de las pruebas, dado

que se hizo un seguimiento del vehículo por medio de la plataforma FleetBi. Lo que permitió obtener

resultados sobre los recorridos y paradas que realizó el vehículo desde el momento en el que se hizo

la instalación.

Las pruebas realizadas a los componentes de software desarrollados fueron las de caja negra, debido

a que estas son las pruebas que ha definido la empresa para sus productos de software. Las pruebas

se trabajaron por módulos, donde se definieron unos datos de entrada y se verificaron y comprobaron

las salidas con el resultado esperado.

Los módulos definidos para el desarrollo de las pruebas de caja negra son:

Módulo cuenta de usuario: Cantidad de casos de prueba definidos en el módulo 27

Módulo administración: Cantidad de casos de prueba definidos en el módulo 39

Módulo vehículos: Cantidad de casos de prueba definidos en el módulo 87

Módulo vigilancia: Cantidad de casos de prueba definidos en el módulo 30

Page 71: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

71

Módulo de alarmas: Cantidad de casos de prueba definidos en el módulo 29

Para un total de 212 casos de prueba definidos en la matriz de casos de prueba FleetBi.

A continuación, se visualiza un caso de prueba definido para el módulo de administración en la matriz

de casos de pruebas de FleetBi. Ver ilustración 39.

Ilustración 39. Definición de un caso de prueba módulo administración FleetBi

Luego de realizar la definición de los casos de prueba se procedió a evaluarlos con respecto a los

componentes desarrollados. Los resultados de la primera ejecución de los casos de prueba se

presentan en la Tabla 13:

Número requerimiento

Cantidad casos de prueba definidos

No conformidades Porcentaje casos de prueba correctas

Densidad de No conformidades

R03 6 Una no conformidad de tipo Bloqueante

83% 17%

R06 12 Tres no conformidades de tipo

Funcional

67% 33%

R07 8 Una no conformidad de tipo Funcional

88% 12%

R08 10 Tres no 70% 30%

Page 72: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

72

conformidades de tipo Funcional

R34 3 Una no conformidad de tipo Funcional

67% 33%

Tabla 13. Resultados de la primera ejecución de las pruebas de caja negra

Con respecto a los casos de prueba definidos en los demás requerimientos se presentó una

correctitud del 100%.

Las no conformidades presentadas en la ejecución de los casos de prueba, se registraron y se

describieron en un documento que especifica las incidencias reportadas en cada ejecución.

A partir de los resultados obtenidos en la primera ejecución de casos de prueba, se revisaron las no

conformidades y se corrigieron, con el fin de realizar una segunda ejecución de los casos de prueba

de cada requerimiento.

Para la segunda ejecución se presentó un 100% de correctitud para cada requerimiento. Con el fin de

verificar los resultados obtenidos en la segunda ejecución se procedió a realizar una tercera ejecución

de casos de prueba, obteniendo los mismos resultados de la segunda ejecución.

8.10. Despliegue de la herramienta en el ambiente de producción (Infraestructura Amazon)

Para el despliegue de la herramienta el director de tecnología hizo acompañamiento al pasante en

todo su proceso. Se usó una cuenta de Amazon Web Services que es utilizada para realizar el

despliegue en producción de todos los proyectos de software que se desarrollan en la empresa.

El proceso realizado consistió en hacer una serie de configuraciones en la plataforma de Amazon

para crear una instancia y que pueda ser accedida de forma remota. Amazon proporciona una llave

de acceso para el ingreso a una de sus máquinas. Este acceso se hace por medio del protocolo SSH,

que permite el control de máquinas remotas por medio de la red. Luego de ingresar a la máquina

utilizando el protocolo, se realiza la instalación y configuración de los elementos necesarios para que

la plataforma FleetBi pueda ejecutarse y ser accedida por parte del usuario.

El pasante registró en un documento el proceso de despliegue de la herramienta de software en la

Page 73: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

73

infraestructura de Amazon, describiendo paso a paso la creación de la instancia y la configuración de

la plataforma FleetBi en la máquina asignada por la infraestructura. (Ver anexo Despliegue

herramienta en el ambiente de producción)

8.11. Participación proyecto BioD S.A

El pasante participó en el desarrollo de componentes de software de nuevos requerimientos o

necesidades del cliente en el proyecto de BioD, que consistía en modificar el modelo de datos,

agregar nuevas funcionalidades y modificar los reportes del sistema información de BioD S.A. La

duración de esta participación fue de 40 horas.

Antes de que se diera inicio al desarrollo de los componentes de software, el pasante definió los

nuevos requerimientos implementados junto con la directora comercial de la empresa de BioD S.A. La

empresa BioD S.A es una compañía colombiana de producción de Biodisel a base de palma de aceite

y de glicerol o glicerina que es utilizado como suplemento energético para animales. IT Process ha

desarrollado con anterioridad un sistema de información que gestiona la cadena de suministro de

Biodisel desde el ingreso de la materia prima hasta cubrir cada una de las etapas de transformación y

entrega del producto final.

La directora comercial como representante de la compañía solicitaba el desarrollo de un sistema de

información que permitiera gestionar la cadena de suministro de BioD S.A con respecto al producto

de la glicerina y que los clientes finales se les permitiera radicar sus pedidos y así gestionar la

trazabilidad de cada pedido en cada uno de sus departamentos.

Luego de finalizar las reuniones con el cliente el pasante redactó un informe describiendo lo

solicitado, con lo cual se determinó que lo que necesitaba BioD S.A no era el desarrollo de un nuevo

sistema de información, sino hacer modificaciones e incorporaciones de nuevos requerimientos al

sistema actual que gestiona la cadena de suministro de Biodisel.

Page 74: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

74

9. CONCLUSIONES

El sistema de información para el seguimiento y control de flotas de vehículos (FleetBi) desarrollado

por el pasante, representa uno de los servicios que la empresa IT Process ofrecerá al mercado y en

el cual se tiene unas altas expectativas y proyección hacia el futuro.

La plataforma FleetBi podrá ser personalizada acorde a las necesidades del cliente y gracias a la

arquitectura multitenant con la que fue diseñada y a la tecnología de Cloud Computing, se le podrá

ofrecer a los clientes precios favorables.

Las empresas contratantes del servicio se beneficiarán con el sistema de información ya que podrán

obtener información de la ubicación actual de cada vehículo de la flota. Además, la plataforma

registrará material probatorio cuando se presenten actos delincuenciales hacia la carga, vehículos o a

hacia los conductores, esto permitirá a los clientes tomar medidas frente a futuros actos

delincuenciales.

La especificación clara y detallada de los requerimientos funcionales y la validación de estos

requerimientos por parte del cliente del proyecto, permite el desarrollo adecuado de los servicios que

debe proporcionar el sistema acorde a las necesidades del cliente.

Una buena planeación y definición de tiempo estipulado para el desarrollo de las tareas que se

trabajará en un proyecto es de gran importancia, ya que sirve de ayuda para realizar entregas a

tiempo de los requerimientos establecidos con los clientes.

Con respecto al diseño BPMN realizado, resultó de gran utilidad al momento de construir el modelo

de datos y la implementación de los componentes de software, ya que se especificó con detalle la

lógica del negocio y el algoritmo de procesamiento de geo posiciones que se debía implementar.

Las reuniones periódicas con el equipo de trabajo de IT Process fueron de gran importancia para

evitar las implementaciones erróneas al producto de software, debido a que se hacía un seguimiento

al trabajo realizado y se aclaraban dudas con respecto al desarrollo de nuevas tareas.

La experiencia adquirida durante los 8 meses de pasantía permitió al estudiante adquirir

conocimientos de nuevas tecnologías, habilidades con respecto al trabajo en equipo, comunicación

Page 75: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

75

con el cliente, liderazgo, gestión y planificación de tiempo.

La interacción que mantuvo el pasante con el equipo de desarrollo, con el director general de la

empresa, el director de tecnología y la directora de aplicaciones, permitió al estudiante el aprendizaje

y desarrollo de competencias que resultan ser un complemento importante en la formación

profesional como Ingeniero de Sistemas.

Page 76: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

76

10. TRABAJO FUTURO

Con la base realizada por el pasante en el proyecto, la plataforma FleetBi podrá adaptarse a distintas

necesidades sobre rastreo vehículos, no sólo a los vehículos que hacen recorridos largos como las

tracto mulas, sino a vehículos de servicio público o servicio escolar donde se le podrá establecer una

serie de paradas obligatorias y ser verificadas por medio del sistema, generando notificaciones a los

conductores y a los usuarios administradores cuando no sean cumplidas, además de contabilizar el

tiempo del recorrido de las rutas y así poder gestionar un control a cada flota.

Gracias a la cantidad de datos que se registran en el sistema, se planea definir estrategias de minería

de datos con el fin de determinar las posibles rutas y paradas que un vehículo toma en sus recorridos

y así proveer al cliente herramientas para la oportuna toma de decisiones.

Otro aspecto importante para el sistema de información es hacer un registro del consumo de gasolina

por lo que la empresa está en el proceso de definir la tecnología que se le va a integrar a los

vehículos y así comenzar con su respectivo desarrollo.

Se busca que la herramienta de software sea conocida y así mismo comenzar a incursionar en otros

tipos de mercados y así proveer al cliente una tecnología que permita hacer un seguimiento y control

según la necesidad.

Page 77: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

77

11. REFERENCIAS

Oficina de Coordinación Nacional de Posicionamiento, Navegación, y Cronometría por Satélite. (s.f.). GPS.GOV.

Obtenido de http://www.gps.gov/spanish.php

amazon company. (2017). Amazon web services. Obtenido de https://aws.amazon.com/es/ec2/instance-types/

aner. (15 de Marzo de 2017). Obtenido de http://www.aner.com/que-es-un-erp.html

Ardissone, J. (9 de Febrero de 2011). Obtenido de http://blog.micayael.com/2011/02/09/metodos-get-vs-post-

del-http/

Ayala, J. L. (2012). Phython - DjangoFramework de desarrollo web,» Revista de información, tecnología y

sociedad.

BigCommerce Pty. (2017). Obtenido de https://support.bigcommerce.com/articles/Public/What-is-a-CSV-file-

and-how-do-I-save-my-spreadsheet-as-one

Bizagi Corp. (2017). Bizagi Time to Digital. Obtenido de http://www.bizagi.com/es

Bravo, C. (3 de Marzo de 2015). EstudioKA. Obtenido de http://estudioka.es/que-es-un-mock-up/

Chaves, M. (2005). La ingeniería de requerimientos y su importancia en el desarrollo de proyectos de software.

CIAT Guajira. (Marzo de 2007). CIAT Guajira. Obtenido de

ftp://ftp.ciat.cgiar.org/DAPA/planificacion/GEOMATICA/GPS/GPS_Modulo.pdf

Colombia GPS. (2016). Colombia GPS. Obtenido de http://nueva4.colombiagps.com.co/

Definición ABC. (17 de Mayo de 2017). Obtenido de http://www.definicionabc.com/tecnologia/firewall.php

Detektor Colombia. (2017). Detektor Colombia. Obtenido de http://detektor.com.co/personas/index

EcuRed. (2016). Apache CouchDB. Obtenido de http://www.ecured.cu/CouchDB/

ECURED. (19 de Mayo de 2017). Obtenido de Conocimiento con todos y para todos:

https://www.ecured.cu/Framework

Gómez, O. (2014). Análisis y Aplicabilidad de Proyectos Pmbok. Santiago de Cali: Biblioteca digital usbcali.

Obtenido de

http://bibliotecadigital.usbcali.edu.co/jspui/bitstream/10819/2161/1/Analisis_Aplicabilidad_Proyectos

_Pmbok_Gomez_2014.pdf

Page 78: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

78

Gómez, R. G. (1 de Febrero de 2016). Blog Tecnología para el desarrollo. Obtenido de

https://www.paradigmadigital.com/dev/api-management-que-es-y-para-que-sirve/

gsmspain. (3 de Octubre de 2016). Obtenido de http://www.gsmspain.com/glosario/?palabra=SMS

Informática Hoy. (19 de Abril de 2017). Obtenido de http://www.informatica-hoy.com.ar/aprender-

informatica/Que-es-URL.php

INKSCAPE Draw Freely. (s.f.). Obtenido de https://inkscape.org/es/

INKSCAPE Draw Freely. (2017). Obtenido de https://inkscape.org/es/

In-Tracking. (2017). In-Tracking. Obtenido de http://tusatelital.com/vtrina/

James, M. (20 de Noviembre de 2015). Scrum Methodology. Obtenido de http://scrummethodology.com/

Leopoldo, C. (12 de Agosto de 2006). techtástico. Obtenido de https://techtastico.com/post/que-es-el-ssh/

MOZILLA DEVELOPER NETWORK. (2017). MOZILLA DEVELOPER NETWORK. Obtenido de

https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/JSON

Mutaciones concept hacking lab. (10 de Abril de 2012). Usar Bootstrap para implementar sitios web simples.

Obtenido de http://www.mutaciones.pe/2012/04/10/usar-bootstrap-para-implementar-sitios-web-

simples/

Node Js. (2017). Obtenido de https://nodejs.org/es/docs/

Object Management Group. (11 de Junio de 2016). BPMN. Obtenido de http://www.bpmn.org/

Pérez, D. (3 de Julio de 2007). Maestros del Web. Obtenido de http://www.maestrosdelweb.com/que-es-

javascript/

Revolvy. (2016). Obtenido de https://revolvy.com/main/index.php?s=Document-oriented%20database

Soto, F. (2015). Desarrollo de Plataforma de Mercadeo. Santiago de Cali: Tesis de grado no publicada.

Universidad del Valle, Cali, Colombia.

Soto, F. (2015). Desarrollo de Plataforma de Mercadeo. Santiago de Cali: Tesis de grado obtenido no publicada.

Universidad del Valle.

Sublime Text. (2017). Obtenido de https://www.sublimetext.com/

Tracker GPS. (2012). Tracker GPS. Obtenido de http://www.solucionestracker.com.co/productos/ref/fleet-

tracker-gps

Page 79: DESARROLLO DE UN SISTEMA DE INFORMACIÓN PARA EL ...

79

Trackingcol. (7 de Noviembre de 2016). Obtenido de http://avl.trackingcol.com/

tutorialspoint. (2017). Obtenido de https://www.tutorialspoint.com/webservices/

Universitat Jaume . (2010). Obtenido de http://www.fcaglp.unlp.edu.ar/~observacional/manuales/python-by-

vilar.pdf

Whatls.com. (Agosto de 2014). Obtenido de http://whatis.techtarget.com/definition/multi-tenancy

Yague, A. (2009). Las pruebas en metodologías ágiles y convencionales. System & Software Technology Group.